mesa/src/imagination/vulkan
Emma Anholt b6661df5f0
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
vulkan: Enable GOOGLE_display_timing on KHR_display across multiple drivers.
This covers some drivers which expose KHR_display and EXT_present_timing.

Based on Emma Anholt's work from 2025, rebased on current Mesa 26.2-devel,
tiny compile fixes and docs/features updates by Mario Kleiner.
See MR 38472 for reference of Emma's work, based on Keith's work.

Tested locally on AMD Polaris for radv, Intel Kabylake for anv, and on
Mesa CI's VK-CTS VK_GOOGLE_display_timing test case for AMD radv,
Intel anv, Qualcomm Adreno tu.

Original code of Emma is
Reviewed-by: Mario Kleiner <mario.kleiner.de@gmail.com>

Update of docs/features.txt + new_features.txt updates is

Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
Reviewed-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41168>
2026-06-05 10:21:51 +00:00
..
pds pvr, pco: add support for spilling shared memory to global memory 2026-05-18 12:43:51 +00:00
rogue pvr: prevent direct access to VkImageSubresourceLayers::layerCount 2026-05-18 16:05:42 +00:00
winsys pvr: de-dup strncmp in pvrsrvkm winsys 2026-04-29 10:47:26 +00:00
meson.build pvr: workaround hardware clamping for YCBCR_IDENTITY conversion 2026-01-28 13:41:28 +00:00
pvr_arch_border.c pvr: use pvr_arch defines in implementations 2026-01-12 19:38:04 +00:00
pvr_arch_cmd_buffer.c pvr: Fix load-op shader when loading from a 2d image view of a 3d image 2026-06-03 11:12:42 +00:00
pvr_arch_cmd_query.c pvr: wait for graphics jobs in CopyQueryPoolResults 2026-04-29 17:41:17 +00:00
pvr_arch_csb.c pvr: use pvr_arch defines in implementations 2026-01-12 19:38:04 +00:00
pvr_arch_descriptor_set.c pvr: handle plane addresses for ycbcr images. 2026-01-28 13:41:27 +00:00
pvr_arch_device.c pvr: move PVR_BUFFER_MEMORY_PADDING_SIZE definition to pvr_buffer.h 2026-03-26 18:12:06 +00:00
pvr_arch_formats.c pvr: fix format table properties duplicate 2026-02-25 11:33:14 +00:00
pvr_arch_framebuffer.c pvr: Fix alloc callbacks usage when freeing frame buffers 2026-02-19 17:35:22 +00:00
pvr_arch_hw_pass.c pvr: Add missing support for preserve attachments 2026-02-24 17:03:20 +00:00
pvr_arch_image.c pvr: implement chroma swap 2026-01-28 13:41:28 +00:00
pvr_arch_job_common.c pvr: use pvr_arch defines in implementations 2026-01-12 19:38:04 +00:00
pvr_arch_job_compute.c pvr: use pvr_arch defines in implementations 2026-01-12 19:38:04 +00:00
pvr_arch_job_context.c pvr: rename PVR_HAS_ERN to PVR_HAS_ENHANCEMENT 2026-02-02 14:25:18 +00:00
pvr_arch_job_render.c pvr: rename PVR_HAS_ERN to PVR_HAS_ENHANCEMENT 2026-02-02 14:25:18 +00:00
pvr_arch_job_transfer.c pvr: fix logic for when to reset fill blit 2026-02-05 16:01:37 +00:00
pvr_arch_mrt.c pvr: Fix load-op shader when loading from a 2d image view of a 3d image 2026-06-03 11:12:42 +00:00
pvr_arch_pass.c pvr: implement GetRenderingAreaGranularity 2026-05-18 16:05:43 +00:00
pvr_arch_pipeline.c pvr, pco: add support for spilling shared memory to global memory 2026-05-18 12:43:51 +00:00
pvr_arch_query_compute.c pvr: use pvr_arch defines in implementations 2026-01-12 19:38:04 +00:00
pvr_arch_queue.c pvr: preserve and pass more data for suspending render passes 2026-05-13 12:57:23 +00:00
pvr_arch_sampler.c pvr: support VK_EXT_non_seamless_cube_map 2026-03-28 11:17:12 +00:00
pvr_arch_spm.c pvr: Add missing support for tile buffers to SPM EOT programs 2026-02-24 17:03:20 +00:00
pvr_arch_tex_state.c pvr, pco: Commonize texture packing code 2026-02-27 09:08:29 +00:00
pvr_blit.h pvr: record deferred RTA clears for secondary cmdbuf subcmds 2026-04-30 08:23:27 +00:00
pvr_bo.c pvr: rename rogue_get_slc_cache_line_size 2025-11-11 10:13:14 +01:00
pvr_bo.h
pvr_border.h pvr: rename PVR_PER_ARCH aliases to pvr_arch_ for clarity 2026-01-12 19:38:03 +00:00
pvr_buffer.h pvr: move PVR_BUFFER_MEMORY_PADDING_SIZE definition to pvr_buffer.h 2026-03-26 18:12:06 +00:00
pvr_clear.h pvr: fix pvr_clear_vdm_state_get_size_in_dw() inverted feature condition 2026-04-08 08:24:16 +00:00
pvr_cmd_buffer.h pvr: setup viewindex if the shader wants it even when multiview disabled 2026-05-07 10:41:37 +00:00
pvr_common.h pvr: factor out pvr_sampler 2025-11-11 10:13:14 +01:00
pvr_csb.c pvr: split pvr_csb.c 2025-12-19 09:52:03 +01:00
pvr_csb.h pvr: rename PVR_PER_ARCH aliases to pvr_arch_ for clarity 2026-01-12 19:38:03 +00:00
pvr_csb_enum_helpers.h pvr: include pvr_common.h instead of pvr_private.h 2025-09-26 08:15:59 +00:00
pvr_descriptor_set.c pvr: suppress VkDescriptorSetLayoutBindingFlagsCreateInfo ignored warn 2026-03-02 15:06:38 +00:00
pvr_descriptor_set.h pvr: build pvr_arch_*.c as a multi-arch sources 2025-12-19 10:35:05 +01:00
pvr_device.c pvr: move PVR_BUFFER_MEMORY_PADDING_SIZE definition to pvr_buffer.h 2026-03-26 18:12:06 +00:00
pvr_device.h Remove mesa-sha1.h 2026-03-23 07:03:27 +00:00
pvr_dump_bo.c
pvr_dump_bo.h
pvr_formats.c pvr: return FORMAT_NOT_SUPPORTED for unknown image types 2026-05-18 16:05:42 +00:00
pvr_formats.h pvr: set SMP component count for TQ frag load shaders 2026-05-08 10:59:56 +00:00
pvr_framebuffer.h pvr: Fix alloc callbacks usage when freeing frame buffers 2026-02-19 17:35:22 +00:00
pvr_free_list.c pvr: break out pvr_free_list into a separate module 2025-12-11 15:26:05 +00:00
pvr_free_list.h pvr: break out pvr_free_list into a separate module 2025-12-11 15:26:05 +00:00
pvr_hw_pass.h pvr: rename PVR_PER_ARCH aliases to pvr_arch_ for clarity 2026-01-12 19:38:03 +00:00
pvr_image.c pvr: implement GetDeviceImageSubresourceLayout 2026-05-18 16:05:43 +00:00
pvr_image.h pvr: refactor image initialization with helper functions 2026-03-02 10:55:45 +00:00
pvr_instance.c pvr: Add heap_memory_percent driconf support 2026-06-01 17:32:50 +00:00
pvr_instance.h pvr: Add heap_memory_percent driconf support 2026-06-01 17:32:50 +00:00
pvr_job_common.h pvr: rename PVR_PER_ARCH aliases to pvr_arch_ for clarity 2026-01-12 19:38:03 +00:00
pvr_job_compute.h pvr: rename PVR_PER_ARCH aliases to pvr_arch_ for clarity 2026-01-12 19:38:03 +00:00
pvr_job_context.h pvr: rename PVR_PER_ARCH aliases to pvr_arch_ for clarity 2026-01-12 19:38:03 +00:00
pvr_job_render.h pvr: rename PVR_PER_ARCH aliases to pvr_arch_ for clarity 2026-01-12 19:38:03 +00:00
pvr_job_transfer.h pvr: rename PVR_PER_ARCH aliases to pvr_arch_ for clarity 2026-01-12 19:38:03 +00:00
pvr_macros.h pvr: drop pvr_assert macro 2026-02-05 09:37:37 +00:00
pvr_mrt.h pvr: Fix load-op shader when loading from a 2d image view of a 3d image 2026-06-03 11:12:42 +00:00
pvr_nir_lower_ycbcr.c pvr: workaround hardware clamping for YCBCR_IDENTITY conversion 2026-01-28 13:41:28 +00:00
pvr_nir_lower_ycbcr.h pvr: workaround hardware clamping for YCBCR_IDENTITY conversion 2026-01-28 13:41:28 +00:00
pvr_pass.h pvr: Add missing support for preserve attachments 2026-02-24 17:03:20 +00:00
pvr_physical_device.c vulkan: Enable GOOGLE_display_timing on KHR_display across multiple drivers. 2026-06-05 10:21:51 +00:00
pvr_physical_device.h pvr: implement GetRenderingAreaGranularity 2026-05-18 16:05:43 +00:00
pvr_pipeline.h pvr: Add support for fragment pass through shader 2026-02-24 17:50:10 +00:00
pvr_query.c pvr: factor out cmdbuf functions from pvr_query.c 2025-12-19 09:52:03 +01:00
pvr_query.h pvr: rename PVR_PER_ARCH aliases to pvr_arch_ for clarity 2026-01-12 19:38:03 +00:00
pvr_queue.h pvr: rename PVR_PER_ARCH aliases to pvr_arch_ for clarity 2026-01-12 19:38:03 +00:00
pvr_robustness.c treewide: Replace calling to function ALIGN with align 2025-11-12 21:58:40 +00:00
pvr_robustness.h
pvr_rt_dataset.c pvr: factor out pvr_rt_dataset to separate module 2025-12-19 09:52:03 +01:00
pvr_rt_dataset.h pvr: factor out pvr_rt_dataset to separate module 2025-12-19 09:52:03 +01:00
pvr_sampler.h pvr: fixup some includes 2025-12-11 15:26:05 +00:00
pvr_spm.c pvr: split pvr_spm.c 2025-12-19 09:52:04 +01:00
pvr_spm.h pvr: rename PVR_PER_ARCH aliases to pvr_arch_ for clarity 2026-01-12 19:38:03 +00:00
pvr_tex_state.h pvr: implement chroma swap 2026-01-28 13:41:28 +00:00
pvr_transfer_frag_store.c pvr: limit hw-defs to rogue 2025-12-19 10:35:05 +01:00
pvr_transfer_frag_store.h pvr: merge legacy uscgen code into pvr_usc 2025-09-22 14:52:05 +01:00
pvr_usc.c pvr: Fix load-op shader when loading from a 2d image view of a 3d image 2026-06-03 11:12:42 +00:00
pvr_usc.h pvr: Add support for fragment pass through shader 2026-02-24 17:50:10 +00:00
pvr_wsi.c pvr: add support for driconf for the Vulkan driver 2026-05-07 15:33:01 +00:00
pvr_wsi.h pvr: break out wsi to separate header 2025-10-02 05:34:09 +00:00