Simon Perretta
1dca740171
pco: switch to using csbgen and clc helpers for tex/smp state {un,}packing
...
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
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
936cf5fb83
pco/usclib: disable predicate control-flow in generated 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
585cca9b2f
pvr, pco: switch to usc generated zero-init workgroup memory 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
Simon Perretta
3fd3d7ee69
pvr, pco: switch to clc vertex passthrough 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
6100c5287a
pco/usclib: add some preprocessor helper macros
...
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
fd130c5d8b
pvr, pco: switch to clc nop shader
...
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
98814d343d
pvr, pco: switch to clc state update shader
...
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
2b21ec6cd2
pco: move uses_usclib flag into shader data
...
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
61a7a5958d
pco/usclib: switch to common defs
...
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:03 +01:00
Simon Perretta
116d8573d4
pvr/csbgen: use stdint macro for unsigned 64-bit constants
...
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:03 +01:00
Simon Perretta
e8adfa1241
pvr, pco: enable pre-generated header string functions to work with clc
...
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:03 +01:00
Simon Perretta
7855446a51
pco: store additional metadata for precompiled 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:03 +01:00
Icenowy Zheng
44aa7cfb4f
pvr: implement samplerAnisotropy
...
Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36242 >
2025-09-17 15:44:32 +00: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
Simon Perretta
ee1b1e4a60
pco/ra: properly handle non-dced instrs with unused defs
...
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:46 +00:00
Simon Perretta
34993085f4
pco/opt: disable back-propagation of indexed registers
...
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:45 +00:00
Ella Stanforth
719ece42c0
pco: Switch back to util/list
...
Signed-off-by: Ella Stanforth <ella@igalia.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:44 +00:00
Ella Stanforth
28bee9fbdd
pco: Cleanup meson.build files
...
Signed-off-by: Ella Stanforth <ella@igalia.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:44 +00:00
Ella Stanforth
8ea4e35a72
pco: Switch to common alpha to coverage lowering
...
Signed-off-by: Ella Stanforth <ella@igalia.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:43 +00:00
Ella Stanforth
753af683b5
pco: Switch to common alpha_to_coverage intrinsic
...
Signed-off-by: Ella Stanforth <ella@igalia.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:43 +00:00
Ella Stanforth
d917cad061
pvr: Use demote
...
Signed-off-by: Ella Stanforth <ella@igalia.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:42 +00:00
Simon Perretta
38c52b9a0f
pvr: fix missing types in x86 builds
...
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:41 +00:00
Simon Perretta
8e707cf3cc
pco: fix missing csbgen dependency
...
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:41 +00:00
Simon Perretta
6bca263a3b
pco: use nir_cf_{extract,reinsert} instead of inlining compute instance check
...
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:40 +00:00
Alessio Belle
aed7e7add1
pvr: Pass the PM/FW protect flag to the Mlist allocation
...
Macrotile arrays and Mlist were allocated together, but the Mlist BO
requires PVR_BO_ALLOC_FLAG_PM_FW_PROTECT (this is not clarified in the
uAPI documentation yet).
Split the buffers in two separate allocations and use the flag above
for the Mlist BO.
Fixes: 8991e64641 ("pvr: Add a Vulkan driver for Imagination Technologies PowerVR Rogue GPUs")
Signed-off-by: Alessio Belle <alessio.belle@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:40 +00:00
Alessio Belle
a888889407
pvr: Replace check on Mlist size with assert
...
This should slightly simplify a future change.
Signed-off-by: Alessio Belle <alessio.belle@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:39 +00:00
Alessio Belle
bd074a542e
pvr: Fix error value returned by pvr_rt_datas_init
...
Error value is now propagated correctly.
Fixes: 8991e64641 ("pvr: Add a Vulkan driver for Imagination Technologies PowerVR Rogue GPUs")
Signed-off-by: Alessio Belle <alessio.belle@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:39 +00:00
Simon Perretta
f2c1f4009b
pco: lower nir_b2b* ops
...
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:38 +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
leonperianu
6c0e26b002
pvr: Advertise KHR_separate_depth_stencil_layouts
...
No specific driver changes are required.
Signed-off-by: leonperianu <leon.perianu@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:36 +00:00
Vlad Schiller
63844cd531
pvr: Implement EXT_separate_stencil_usage
...
Signed-off-by: Vlad Schiller <vlad-radu.schiller@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:35 +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
Simon Perretta
3faa0c8dd4
pvr: width-based tq depth format selection
...
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:34 +00:00
Luigi Santivetti
87ce4c6ca4
Revert "pvr: treat VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT as not supported"
...
This reverts commit 6619802446 .
From testing, it is safe to revert this now as the driver can now do
dEQP-VK.image.mutable.* and VK_KHR_maintenance2 tests expect the
VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT set.
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/36412 >
2025-09-16 18:26:33 +00:00
Luigi Santivetti
747b232505
pvr: restrict signed A2-10 bits per component formats to vertex only
...
Support for these formats was added as part of the work on Zink with the
PowerVR driver. However has caused a regression in deqp-vk because we can't
fully support A2s for rendering.
As other drivers do, restrict the use of this storage for only vertex
attributes.
Fix for deqp:
dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.color.2d.b4g4r4a4_unorm_pack16.a2b10g10r10_snorm*
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/36412 >
2025-09-16 18:26:33 +00:00
Luigi Santivetti
fdb9d219bb
pvr: add support for U16U16U16 texture state format
...
Add unsigned texture state format for R16G16B16_UINT necessary for some type
of transfer operations, such as point filter and 48 bpp. For instance when
the driver does a CopyBufferToImage and supports R16G16B16_SINT it will use
R16G16B16_UINT for the memory transfer.
Fix for deqp:
dEQP-VK.pipeline.monolithic.sampler.view_type.1d.format.r16g16b16_sint.*
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/36412 >
2025-09-16 18:26:32 +00:00
Frank Binns
5700dd771d
pvr: add some more pixel formats needed by Zink
...
Fixes crashes seen in:
dEQP-GLES3.functional.vertex_array_objects.all_attributes
KHR-GLES31.core.vertex_attrib_binding.basic-inputI-case1
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:32 +00:00
Frank Binns
692893705f
pvr: support VK_FORMAT_R8G8_SSCALED for vertex attribs
...
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:31 +00:00
Frank Binns
e47512ce94
pvr: setup tpu_tag_cdm_ctrl when present (pvrsrvkm)
...
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:31 +00:00
Frank Binns
0dc4bf1683
pvr: add support for VK_FORMAT_D32_SFLOAT_S8_UINT
...
Co-authored-by: Simon Perretta <simon.perretta@imgtec.com>
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
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:30 +00:00
Frank Binns
df5152bda3
pvr: Implement VK_KHR_descriptor_update_template
...
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:29 +00:00
Frank Binns
6b00301c04
pvr: implement VK_EXT_depth_clip_enable
...
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:28 +00:00
Frank Binns
fb1f900537
pvr: advertise VK_EXT_queue_family_foreign
...
This is needed in order for Zink to advertise DRM_PRIME_CAP_IMPORT &
DRM_PRIME_CAP_EXPORT for PIPE_CAP_DMABUF.
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:27 +00:00
Luigi Santivetti
99bb2dd0bd
pvr: drop unused argument from pvr_load_op_shader_generate()
...
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/36412 >
2025-09-16 18:26:26 +00:00
Luigi Santivetti
65bc48c1c7
pvr: rename {init,setup} command buffer helpers
...
In preparation to add more helpers, improve function names consistency.
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/36412 >
2025-09-16 18:26:26 +00:00