Mike Blumenkrantz
db07a6e850
mesa/st: mark internal buffer map call as UNSYNCHRONIZED
...
these are new buffers with empty contents which are immediately
unmapped after a memcpy, so there's no reason to force
the driver (or tc) to sync
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36634 >
2025-09-16 21:09:51 +00:00
Mike Blumenkrantz
25b97a3a96
mesa/st: mark internal texture map calls as UNSYNCHRONIZED
...
these are new textures with empty contents which are immediately
unmapped after a strided memcpy, so there's no reason to force
the driver (or tc) to sync
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36634 >
2025-09-16 21:09:50 +00:00
Mike Blumenkrantz
fe499db5b5
mesa/st: add a flags param to st_texture_create()
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36634 >
2025-09-16 21:09:50 +00:00
Mike Blumenkrantz
e4e806503f
tc: don't sync on internal UNSYNCHRONIZED texture_map calls
...
this can be used for expert-mode optimizations in the frontend
when textures are explicitly created for this usage
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36634 >
2025-09-16 21:09:50 +00:00
Yiwei Zhang
1a4bfb1fcd
panvk: fix broken clock sync after using CLOCK_MONOTONIC_RAW
...
Use sequence-scoped clock (64 <= ID < 128) for GPU clock because there's
no central daemon emitting consistent snapshots for synchronization
between CPU and GPU clocks on behalf of renderstages and counters
producers.
When CPU clock is the same with the authoritative trace clock (normally
default to CLOCK_BOOTTIME), perfetto drops the non-monotonic snapshots
to ensure validity of the global source clock in the resolution graph.
When they are different, the clocks are marked invalid and the rest of
the clock syncs will fail during trace processing.
Now that PanVK has switched to use CLOCK_MONOTONIC_RAW CPU clock, here
we make the GPU clock sequence-scoped so that clock sync for all the
trace packets emitted with the same trusted_packet_sequence_id will be
done in an isolated manner (basically perfetto makes each scoped GPU
clock globally unique).
Meanwhile, since the clock is now sequence-scoped (unique per producer +
writer pair within the tracing session), we can simply pick 64 to start
with, and later extend to support multi-gpu (offset with primary minor).
Fixes: e278a89fdd ("panvk/perfetto: improve clock synchronization using CLOCK_MONOTONIC_RAW")
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Reviewed-by: Chia-I Wu <olvaffe@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37355 >
2025-09-16 20:52:04 +00:00
Konstantin Seurer
ea51a67996
vulkan/bvh: Enable glsl extensions in meson
...
Having a list of all enabled/used extensions in meson allows us to get
rid of a lot of boilerplate in every bvh build shader.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35326 >
2025-09-16 20:18:01 +00:00
Dylan Baker
68ee8965b7
mailmap: Update for Dylan Baker
...
My Intel email hasn't had an `x` in it for many years, and I have no
idea if that even forwards to me anymore.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37418 >
2025-09-16 19:45:15 +00:00
Eric Engestrom
03ff586c18
doc/features.txt: add missing supported v3dv extensions
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37403 >
2025-09-16 19:23:00 +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
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