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
Luigi Santivetti
a94a73bb3d
pvr: rename job field holding pds PR background objects
...
Make the naming consistent with the pbe partial render field and
with the pds pixel event partial render field.
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:25 +00:00
Luigi Santivetti
a10895010e
pvr: unify the creation of load_op objects and shaders
...
Do not split the creation of a load_op object and related shader, this
helps to prevent bugs especially in the clean up path.
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:25 +00:00
Vlad Schiller
03f02a4655
pvr: Implement VK_KHR_imageless_framebuffer
...
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:24 +00:00
Ashish Chauhan
e6ebf937e8
pvr: Enable shaderStorageImageExtendedFormats
...
Just enabling the flag, all code changes are in place.
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:23 +00:00
Vlad Schiller
a7e9e61873
pvr: Enable KHR_swapchain_mutable_format
...
Because this extension is fully implemented, all that needs to be
done is to enable it.
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:23 +00:00
Matt Coster
bf9c84991f
pvr: Add support for custom border colors
...
This includes EXT_custom_border_color and EXT_border_color_swizzle.
Test coverage is:
- dEQP-VK.pipeline.*.sampler.border_swizzle.*
- dEQP-VK.pipeline.*.sampler.view_type.*.format.*.address_modes
.*_clamp_to_border_custom_*
Co-authored-by: Luigi Santivetti <luigi.santivetti@imgtec.com >
Signed-off-by: Matt Coster <matt.coster@imgtec.com >
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:23 +00:00
Luigi Santivetti
fdc641c154
pvr: add support for VK_KHR_maintenance2
...
Make the required driver changes to support and advertise this extension.
The rest of the required changes are already handled by the Vulkan
runtime.
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:23 +00:00
Simon Perretta
f5588439fa
pco: handle remaining loadop depth formats
...
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:21 +00:00
Simon Perretta
18ab2d2cbb
pvr: enable VK_EXT_extended_dynamic_state
...
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:20 +00:00
Iliyan Dinev
82a4c66635
pvr: re-emit ppp state update when ds depth bits are set
...
The driver needs to check for dynamic state depth writes and comparison flags,
as so to not miss re-emitting the ppp update from a dirty state.
Signed-off-by: Iliyan Dinev <iliyan.dinev@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:19 +00:00
Vlad Schiller
1d46696887
pvr: implement dynamically set vertex buffer strides
...
Co-Authored-by: Frank Binns <frank.binns@imgtec.com >
Signed-off-by: Frank Binns <frank.binns@imgtec.com >
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:19 +00:00
Simon Perretta
58e4408b33
pvr: add a2b10g10r10 formats
...
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:19 +00:00
Simon Perretta
6edb72d28b
pco: replace {un,}packing alu ops with intrinsics
...
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:19 +00:00
Simon Perretta
8104ef4e01
pco: support 1010102 snorm, [us]scaled formats
...
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:19 +00:00
Simon Perretta
eb9069c314
pvr, pco: basic write without format 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:19 +00:00
Simon Perretta
fc651f3a8c
pvr, pco: implement VK_EXT_color_write_enable
...
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:19 +00:00
Vlad Schiller
14b74d1119
pvr: Enable VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT flag
...
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:19 +00:00
Vlad Schiller
bfb0e1ae62
pvr: Enable VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT flag
...
This is needed for the VK_EXT_extended_dynamic_state tests to pass.
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:18 +00:00
Simon Perretta
b77ebcf69c
pvr, pco: implement alphaToOne feature
...
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:18 +00:00
Frank Binns
88027da710
pvr: implement VK_(EXT|KHR)_vertex_attribute_divisor
...
Signed-off-by: Frank Binns <frank.binns@imgtec.com >
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com >
Co-authored-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:17 +00:00
Simon Perretta
92c5945060
pvr, pco: implement VK_EXT_depth_clamp_zero_one
...
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:16 +00:00
Simon Perretta
33620688a7
pvr: add support for VK_EXT_provoking_vertex
...
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:16 +00:00
Simon Perretta
1adf4e9afc
pvr, pco: add VK_EXT_image_2d_view_of_3d sampled image 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:14 +00:00
Simon Perretta
7b28b6c43d
pvr, pco: implement VK_EXT_image_2d_view_of_3d
...
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:14 +00:00
Luigi Santivetti
b461335f64
pvr: add support for VK_KHR_maintenance1
...
VK_KHR_maintenance1 is a collection of several tweaks and additions to the 1.0
version of the Vulkan spec, promoted to core in more recent versions.
This change exposes the extension and only adds what was missing from our
implementation, however the driver largely already had support for what is
required by this extension.
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:13 +00:00
Simon Perretta
f27ff49e2b
pvr, pco: temporary initial scratch memory 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:12 +00:00
Simon Perretta
5b4be5b78e
pco: temporary spilling workarounds
...
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:12 +00:00
Simon Perretta
e18e867efb
pvr, pco: experimental temp spilling
...
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:12 +00:00
Simon Perretta
fd4204b37b
pco: spilling enablement - track barrier usage
...
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:12 +00:00
Simon Perretta
117e7222cb
pvr: spilling enablement - allow empty uploads
...
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:12 +00:00
Simon Perretta
728bd3ad79
pco: ensure srcs/dests interfere for instructions with repeat > 1
...
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:12 +00:00
Simon Perretta
f1b7374bbc
pvr: fix valgrind warnings for 64-bit unaligned access
...
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:12 +00:00
Luigi Santivetti
d905d0fca7
pvr: take zonlyrender into account when setting up ZLS control
...
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:12 +00:00