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
5ab606ccda
nir: assert when we do not have a sample count when not using 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:42 +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
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