Commit graph

77 commits

Author SHA1 Message Date
Erik Faye-Lund
306de6782c pvr: disable has_gs_rta_support for ge7800 as well
The MR adding support for ge7800 (!38211) was submitted while the MR
that disabled has_gs_rta_support (!38024) was under review. It seems
nobody noticed that we missed disabling it here as well.

Let's fix that up, so we don't try to use this when it's not expected to
work.

Fixes: c60232c0c5 ("pvr: temporarily disable gs_rta_support on all cores")
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Alessio Belle <alessio.belle@imgtec.com>
Reviewed-by: Simon Perretta <simon.perretta@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38909>
2025-12-11 18:52:36 +00:00
Erik Faye-Lund
5dd76663a7 pvr: add helpers to query limits based on device-info
These are only implemented for Rogue so far, which is fine because
that's all we currently support. Once we add support for more
generations, these helpers need updating.

Acked-by: Ashish Chauhan <Ashish.Chauhan@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38832>
2025-12-11 15:26:05 +00:00
Ashish Chauhan
0d38d22c02 pvr: move PVR_TEX_FORMAT_COUNT to pvr_limits.h
Signed-off-by: Ashish Chauhan <ashish.chauhan@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38832>
2025-12-11 15:26:05 +00:00
Icenowy Zheng
46b97da60b pvr: fix PVR_DEBUG=info when running w/o KHR_display
When running w/o KHR_display enabled, the display device node won't be
initlaized, and the information dump routine will terminate because of
this.

Fix this by not bailing out and not trying to print display device
compatible strings.

Fixes: 8825c91dcb ("pvr: Make display node optional")
Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38787>
2025-12-04 07:27:55 +00:00
Erik Faye-Lund
ba47e03908 pvr: store has_pbe_stride_align_1pixel in pvr_device_features
This doesn't actually need fixing; there's no Rogue HW with this
feature. Instead, let's start populating this when we fill in new
architectures, which does support this.

Reviewed-by: Ashish Chauhan <ashish.chauhan@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38423>
2025-11-17 16:04:31 +00:00
Ashish Chauhan
8df205d520 pvr: store arch in device-info
Right now all supported devices are Rogue devices. But in the future,
we're going to support multiple architectures. So let's add a way to
query this at run-time.

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38423>
2025-11-17 16:04:30 +00:00
leonperianu
1e548195d2 pvr: feature promotion to core from derived
RGX_FEATURE_USC_ITR_PARALLEL_INSTANCES is no longer a derived feature
for Volcanic, it is a core feature. This improvement is related to the
introduction of Volcanic device information.

Signed-off-by: leonperianu <leon.perianu@imgtec.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38423>
2025-11-17 16:04:30 +00:00
leonperianu
bf1d9d1339 pvr: Change has_fbcdc_algorithm to 1-bit bit-field
This aligns it with the definitions of other device features.

Signed-off-by: leonperianu <leon.perianu@imgtec.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38423>
2025-11-17 16:04:30 +00:00
Alessio Belle
a6ca6bcabf pvr: add device info for GE8300 (22.67.54.30)
Requested by the community [1].

[1] https://gitlab.freedesktop.org/imagination/linux-firmware/-/issues/13

Signed-off-by: Alessio Belle <alessio.belle@imgtec.com>
Reviewed-by: Simon Perretta <simon.perretta@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38211>
2025-11-05 14:47:27 +00:00
Alessio Belle
b83bd94d69 pvr: add device info for GE7800 (15.5.1.64)
Requested by the community [1].

[1] https://gitlab.freedesktop.org/imagination/linux-firmware/-/issues/13

Signed-off-by: Alessio Belle <alessio.belle@imgtec.com>
Reviewed-by: Simon Perretta <simon.perretta@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38211>
2025-11-05 14:47:26 +00:00
Alyssa Rosenzweig
83303aa05d pvr: don't NIH alignment helpers
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38169>
2025-10-31 15:03:58 +00:00
Simon Perretta
c60232c0c5 pvr: temporarily disable gs_rta_support on all cores
The gs_rta_support feature is currently bugged and may cause the
driver to assert; disabling it will instead use a fallback method
which is functional.

Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38024>
2025-10-23 13:18:56 +01:00
Marek Vasut
bbd6c186a4 pvr: fix device info for GX6250 (4.45.2.58)
Synchronize GX6250 (4.45.2.58) device info with GX6250 (4.40.2.51) device info
and fill in the missing entries into GX6250 (4.45.2.58) device info . This is
important due to missing has_unified_store_depth , which leads to mesa warning:

```
MESA: warning: Missing unified_store_depth feature (defaulting to: 0U)
```

Fixes: 4a245d9f57 ("pvr: add device info for GX6250 (4.45.2.58)")
Reviewed-by: Simon Perretta <simon.perretta@imgtec.com>
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37850>
2025-10-13 20:03:40 +00:00
Marek Vasut
fb8f0794ea pvr: fix features pointer on GX6650 (4.46.6.62)
The GX6650 (4.46.6.62) has to point to the matching
pvr_device_features_4_V_6_62 , update the pointer
accordingly.

Fixes: 5914d1146f ("pvr: add device info for GX6650 (4.46.6.62)")
Reviewed-by: Simon Perretta <simon.perretta@imgtec.com>
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37851>
2025-10-13 19:48:05 +00:00
Alessio Belle
1db1038a61 pvr: add device info for BXM-4-64 (36.56.104.183)
Requested by the community [1].

[1] https://gitlab.freedesktop.org/imagination/linux-firmware/-/issues/12

Signed-off-by: Alessio Belle <alessio.belle@imgtec.com>
Reviewed-by: Ashish Chauhan <ashish.chauhan@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37790>
2025-10-11 19:45:10 +00:00
Frank Binns
0dd5db3478 pvr: add device info for GE8300 (22.68.54.30)
Requested by the community [1].

[1] https://gitlab.freedesktop.org/imagination/linux-firmware/-/issues/6

Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Ashish Chauhan <ashish.chauhan@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37790>
2025-10-11 19:45:10 +00:00
Frank Binns
6c42d7eb01 pvr: add device info for GE8300 (22.102.54.38)
Requested by the community [1].

[1] https://gitlab.freedesktop.org/imagination/linux-firmware/-/issues/5

Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Ashish Chauhan <ashish.chauhan@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37790>
2025-10-11 19:45:10 +00:00
Frank Binns
e60e0c96ba pvr: add device info for BXE-2-32 (36.29.52.182)
Requested by the community [1].

[1] https://gitlab.freedesktop.org/imagination/linux-firmware/-/issues/2

Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Ashish Chauhan <ashish.chauhan@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37790>
2025-10-11 19:45:10 +00:00
Frank Binns
2743363a57 pvr: add device info for BXM-4-64 (36.52.104.182)
Requested by the community [1].

[1] https://gitlab.freedesktop.org/imagination/linux-firmware/-/issues/1

Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Ashish Chauhan <ashish.chauhan@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37790>
2025-10-11 19:45:09 +00:00
Frank Binns
5914d1146f pvr: add device info for GX6650 (4.46.6.62)
Requested by the community [1].

[1] https://gitlab.freedesktop.org/mesa/mesa/-/issues/7032

Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Ashish Chauhan <ashish.chauhan@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37790>
2025-10-11 19:45:09 +00:00
Frank Binns
9358c65c3d pvr: add device info for G6110 (5.9.1.46)
Requested by the community [1][2].

[1] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15243#note_1306552
[2] https://gitlab.freedesktop.org/frankbinns/linux-firmware/-/issues/1

Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Ashish Chauhan <ashish.chauhan@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37790>
2025-10-11 19:45:08 +00:00
Frank Binns
4a245d9f57 pvr: add device info for GX6250 (4.45.2.58)
Requested by the community [1].

[1] https://lists.freedesktop.org/archives/dri-devel/2023-June/409639.html

Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Ashish Chauhan <ashish.chauhan@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37790>
2025-10-11 19:45:08 +00:00
Frank Binns
ea28791d40 pvr: add device info for BXE-4-32 (36.50.54.182)
Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Ashish Chauhan <ashish.chauhan@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37790>
2025-10-11 19:45:08 +00:00
Luigi Santivetti
a1002a6673 pvr: add initial driver support for VK_KHR_multiview
Signed-off-by: Luigi Santivetti <luigi.santivetti@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37512>
2025-09-30 12:15:45 +00:00
Simon Perretta
f20c7b92b2 pvr, pco: track and implement workaround for brn74056
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37512>
2025-09-30 12:15:42 +00:00
Simon Perretta
7b7fb811ab pvr, pco: switch to clc load/store sr and idfwdf shaders
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37439>
2025-09-22 14:52:05 +01:00
Simon Perretta
825c4443bf pvr: switch to usc generated spm load shaders
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37439>
2025-09-22 14:52:05 +01:00
Simon Perretta
c2127bf4f7 pvr, pco: switch to usc generated clear attachment shaders
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37439>
2025-09-22 14:52:04 +01:00
Simon Perretta
6dd0a5ee2d pvr, pco: switch to clc query shaders
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37439>
2025-09-22 14:52:04 +01:00
Christian Gmeiner
48be3799b3 imagination: Re-format using clang-format
No manual changes here, this is simply running
$ ninja -C build/ clang-format

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Acked-by: Simon Perretta <simon.perretta@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37222>
2025-09-17 10:05:18 +00:00
Frank Binns
fcef4b74ec pvr: disable gs_rta_support for BXS-4-64 to workaround some conformance failures
Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
2025-09-16 18:26:37 +00:00
Frank Binns
e306abc6e6 pvr: implement KHR_shader_float_controls
Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
2025-09-16 18:26:37 +00:00
Lewis Cooper
3f4803a852 pvr: Implement VK_KHR_maintenance3
Signed-off-by: Lewis Cooper <lewis.cooper@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
2025-09-16 18:26:34 +00:00
Ashish Chauhan
849a331a7d pvr: Feature support TPU_PARALLEL_INSTANCES
Signed-off-by: Ashish Chauhan <Ashish.Chauhan@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
2025-09-16 18:26:10 +00:00
Ashish Chauhan
116e1ecdec pvr: Implement WA BRN_72463
Signed-off-by: Ashish Chauhan <Ashish.Chauhan@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
2025-09-16 18:26:10 +00:00
Ashish Chauhan
3c83b0274d pvr: Implement WA BRN_72168
Signed-off-by: Ashish Chauhan <Ashish.Chauhan@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
2025-09-16 18:26:10 +00:00
Simon Perretta
4d3912abed pvr, pco: usc program (pre-)generation boilerplate
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
2025-09-16 18:26:09 +00:00
Simon Perretta
fd31165c38 pco, pvr: push constants support
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
2025-09-16 18:26:08 +00:00
Icenowy Zheng
d450367ea8 pvr: fix for GCC
Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
2025-09-16 18:26:08 +00:00
Simon Perretta
f18f056d3c pvr: support getting device info from public name
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
2025-09-16 18:26:08 +00:00
Simon Perretta
c386c2f9e8 pvr, pco: point size handling
Clamp point size to limits.
Emit default point size if required but none is provided.

Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33998>
2025-07-08 23:10:57 +00:00
Simon Perretta
ac2460bb3c pvr: commonize limits
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33998>
2025-07-08 23:10:51 +00:00
Simon Perretta
8f1613accf pvr: add device info for additional iterator features
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258>
2024-11-29 15:14:11 +00:00
Simon Perretta
7a32dc673b pvr: add device info and functions for calculating available temps
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258>
2024-11-29 15:14:11 +00:00
Frank Binns
b82793221a pvr: add 36.53.104.796 (BXS-4-64) to the list of supported GPUs
Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Simon Perretta <simon.perretta@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258>
2024-11-29 15:14:10 +00:00
Icenowy Zheng
19bf1b661b pvr: add tpu_dm_global_registers feature
This corresponds to the RGX_FEATURE_TPU_DM_GLOBAL_REGISTERS in the DDK
kernel module source code, and will introduce one more control word to
compute command streams.

Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30552>
2024-08-14 18:07:24 +08:00
David Heidelberg
68215332a8 build: pass licensing information in SPDX form
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Acked-by: Dylan Baker <dylan.c.baker@intel.com>
Acked-by: Eric Engestrom <eric@igalia.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29972>
2024-06-29 12:42:49 -07:00
Frank Binns
500ca5ce7e pvr: split out device info into per GPU headers
There are quite a lot of PowerVR GPUs out there and maintaining the device info
for all of them in the same file will become unwieldy.

Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Luigi Santivetti <luigi.santivetti@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27144>
2024-01-19 12:20:18 +00:00
Frank Binns
09ab2ff925 pvr: fix up some includes
Fix up some system includes to use angle brackets.

Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Luigi Santivetti <luigi.santivetti@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27144>
2024-01-19 12:20:18 +00:00
Matt Coster
22bca4a14f pvr: Force compile error on GNU void pointer arithmetic
This GNU extension caused a bug where a void pointer was modified then
interpreted as uint32_t* (instead of the other way round). Force a
compile error to (hopefully) prevent this from happening again.

Signed-off-by: Matt Coster <matt.coster@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25327>
2023-09-27 15:25:32 +00:00