mesa/src/asahi/vulkan
Lionel Landwerlin 173a4c6170 vulkan/runtime: break view mask from renderpass information
The runtime builds a final pipeline state with pointers to structures
coming from the associated pipelines libraries.

So far it has considered that the viewMask was part of a structure
together with the rest of the renderpass information. This information
can be specified in pre-raster, fragment & color-output state groups
and it was assumed would be consistent for all 3. And the runtime
currently takes the pointer to the structure from the last pipeline
library (color output).

Some coming spec/cts will clarify that the viewMask only needs to be
specified for pre-raster & fragment groups, making the value in the
color-output group untrustworthy.

This change creates a new state structure to hold the viewMask on its
own so it is only gather on pre-raster & fragment groups.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> (radv)
Reviewed-by: Aitor Camacho <aitor@lunarg.com> (kosmickrisp)
Reviewed-by: Connor Abbott <cwabbott0@gmail.com> (turnip)
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> (v3dv)
Reviewed-by: Frank Binns <frank.binns@imgtec.com> (powervr)
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com> (panvk)
Royaled-yes-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> (lavapipe)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39940>
2026-03-17 20:13:35 +00:00
..
hk_buffer.c hk,asahi: move scratch BO to common 2025-06-27 15:31:44 +00:00
hk_buffer.h hk: drop soft fault assumption in hk_buffer_addr_range 2025-04-11 20:16:01 +00:00
hk_buffer_view.c hk: embed texture desc in set 2025-07-16 18:27:18 +00:00
hk_buffer_view.h hk: embed texture desc in set 2025-07-16 18:27:18 +00:00
hk_cmd_buffer.c hk: Use pipeline_layout.dynamic_descriptor_offset 2026-01-22 17:04:19 +00:00
hk_cmd_buffer.h poly,asahi: Put the indirect draw directly in the geometry params 2025-11-25 23:20:24 +00:00
hk_cmd_clear.c hk: implement vkCmdClear*Image with fast-clears 2025-06-20 21:38:11 +00:00
hk_cmd_dispatch.c poly: Rename poly_nir_lower_gs.h to poly_nir.h 2025-11-25 23:20:21 +00:00
hk_cmd_draw.c hk: Fix crash in hk_handle_passthrough_gs 2026-02-25 11:18:53 +00:00
hk_cmd_meta.c hk: Use aligned vector fill in hk_CmdFillBuffer if possible 2026-02-18 17:20:48 +00:00
hk_cmd_pool.c hk: clarify command pool types 2025-08-08 10:10:58 +00:00
hk_cmd_pool.h hk: limit the number of free BOs in each cmd pool 2024-10-30 10:14:07 -04:00
hk_descriptor_set.c hk: Use layout->vk.dynamic_descriptor_count 2026-01-22 17:04:19 +00:00
hk_descriptor_set.h hk: reduce storage desc 2025-08-08 10:10:58 +00:00
hk_descriptor_set_layout.c hk: Use layout->vk.dynamic_descriptor_count 2026-01-22 17:04:19 +00:00
hk_descriptor_set_layout.h hk: Use layout->vk.dynamic_descriptor_count 2026-01-22 17:04:19 +00:00
hk_descriptor_table.c asahi,hk: mmap BO on first use 2024-12-02 19:26:46 +00:00
hk_descriptor_table.h
hk_device.c hk: Uses vk_device::mem_cache 2025-12-28 09:41:17 +01:00
hk_device.h hk: Uses vk_device::mem_cache 2025-12-28 09:41:17 +01:00
hk_device_memory.c asahi: clang-format 2025-11-05 18:44:23 +00:00
hk_device_memory.h
hk_event.c hk: pass cmdbuf to perf_debug 2025-02-22 02:24:29 +00:00
hk_event.h
hk_format.c hk: Report the correct plane count in VkDrmFormatModifierProperties2?EXT 2025-11-03 07:09:36 +00:00
hk_image.c asahi: clang-format 2025-12-16 17:42:10 +00:00
hk_image.h hk: implement vkCmdClear*Image with fast-clears 2025-06-20 21:38:11 +00:00
hk_image_view.c vulkan: Drop the driver_internal from vk_image_view_init/create() 2025-09-05 23:34:14 +00:00
hk_image_view.h hk: embed texture desc in set 2025-07-16 18:27:18 +00:00
hk_instance.c ALL: use #define and a copy helper to check and copy build_id 2026-01-07 08:32:33 +00:00
hk_instance.h ALL: use SHA1_DIGEST_LENGTH etc. instead of hardcoding the numbers 2026-01-07 08:32:33 +00:00
hk_nir_lower_descriptors.c hk: Use layout->vk.dynamic_descriptor_count 2026-01-22 17:04:19 +00:00
hk_nir_passthrough_gs.c
hk_physical_device.c hk: enable VK_EXT_present_timing 2026-01-27 11:09:51 +00:00
hk_physical_device.h hk: allow overriding sysmem with an env var 2024-10-30 10:14:07 -04:00
hk_private.h hk: Fix maxVariableDescriptorCount with inline uniform block 2025-10-24 15:44:03 +00:00
hk_query_pool.c treewide: use UTIL_DYNARRAY_INIT 2025-11-04 13:39:48 +00:00
hk_query_pool.h hk: implement timestamps 2024-12-02 19:26:47 +00:00
hk_queue.c asahi: use flat tile size encoding 2025-12-31 10:27:03 -05:00
hk_queue.h hk: Rework queue creation logic 2025-09-16 17:36:58 +00:00
hk_sampler.c build: avoid redefining unreachable() which is standard in C23 2025-07-31 17:49:42 +00:00
hk_sampler.h
hk_shader.c vulkan/runtime: break view mask from renderpass information 2026-03-17 20:13:35 +00:00
hk_shader.h hk: fix hk_passthrough_gs_key size computation 2026-01-29 15:24:32 +00:00
hk_wsi.c hk: override can_present_on_device 2026-01-21 10:48:07 +00:00
hk_wsi.h
meson.build meson: do not reconstruct ICD paths 2025-12-10 14:46:11 +00:00