mesa/src/vulkan/runtime
Faith Ekstrand 9308e8d90d vulkan: Add generic graphics and compute VkPipeline implementations
These implementations are built on top of vk_shader.  For the most part,
the driver shouldn't notice a difference between draws consuming
pipelines vs. draws consuming shaders.  The only real difference is
that, when vk_driver_shader_ops::compile() is called for pipelines, a
struct vk_graphics_pipeline_state is provided.  For shader objects, the
state object will be NULL indicating that all state is unknown.  Besides
that, all the rest of the differences between Vulkan 1.0 pipelines,
VK_EXT_graphics_pipeline_library, and VK_EXT_shader_object are handled
by the Vulkan runtime code.

Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27024>
2024-02-27 22:17:09 +00:00
..
rmv vulkan/rmv,radv: Use common trace trigger 2023-06-27 06:25:56 +00:00
meson.build vulkan: Add runtime code for VK_EXT_shader_object 2024-02-27 22:17:09 +00:00
vk_acceleration_structure.c vk/runtime: update symbols that have become aliases for newer ones 2023-12-04 23:27:29 +00:00
vk_acceleration_structure.h
vk_android.c vulkan/android: drop vk_buffer dependency from common AHB impl 2023-09-18 19:25:59 +00:00
vk_android.h mesa/vulkan: use DETECT_OS_ANDROID 2024-01-18 18:45:40 +00:00
vk_blend.c vulkan: Add helpers for blend enum translation 2023-07-13 21:03:32 +00:00
vk_blend.h vulkan: Add helpers for blend enum translation 2023-07-13 21:03:32 +00:00
vk_buffer.c vulkan: Use VkBufferUsageFlags2 in vk_buffer 2023-08-04 16:03:16 +00:00
vk_buffer.h vulkan: Use VkBufferUsageFlags2 in vk_buffer 2023-08-04 16:03:16 +00:00
vk_buffer_view.c vulkan: add init/finish helpers for vk_buffer_view 2023-08-08 10:24:54 +00:00
vk_buffer_view.h vulkan: add init/finish helpers for vk_buffer_view 2023-08-08 10:24:54 +00:00
vk_cmd_copy.c vk/runtime: update symbols that have become aliases for newer ones 2023-12-04 23:27:29 +00:00
vk_cmd_enqueue.c vulkan Add enqueue entrypoint for CmdDispatchGraphAMDX 2023-08-18 16:57:22 +00:00
vk_command_buffer.c vk/cmdbuf: add back deleted maint6 workgraph bits 2024-01-11 15:59:17 +00:00
vk_command_buffer.h vulkan: Add generic graphics and compute VkPipeline implementations 2024-02-27 22:17:09 +00:00
vk_command_pool.c
vk_command_pool.h docs/vulkan: use hawkmoth instead of doxygen 2023-10-26 16:13:26 +00:00
vk_debug_report.c vulkan: use instance allocator for object_name in some objects 2023-11-10 20:57:19 +00:00
vk_debug_report.h
vk_debug_utils.c vulkan/runtime: refactor to use DETECT_OS_ANDROID instead of ANDROID 2024-02-01 19:29:49 +00:00
vk_debug_utils.h
vk_deferred_operation.c
vk_deferred_operation.h
vk_descriptor_set_layout.c
vk_descriptor_set_layout.h vulkan: Add a BLAKE3 hash to vk_descriptor_set_layout 2024-02-27 22:17:09 +00:00
vk_descriptor_update_template.c
vk_descriptor_update_template.h
vk_descriptors.c
vk_descriptors.h
vk_device.c vulkan/runtime: refactor to use DETECT_OS_ANDROID instead of ANDROID 2024-02-01 19:29:49 +00:00
vk_device.h vulkan: Add runtime code for VK_EXT_shader_object 2024-02-27 22:17:09 +00:00
vk_device_memory.c mesa/vulkan: use DETECT_OS_ANDROID 2024-01-18 18:45:40 +00:00
vk_device_memory.h
vk_drm_syncobj.c
vk_drm_syncobj.h
vk_fence.c vulkan: Add CPU tracing for vkWaitForFences. 2023-08-19 23:10:37 +02:00
vk_fence.h
vk_format_info_gen.py util,vulkan,mesa,compiler: Generate source files with utf8 encoding from mako template 2023-12-07 12:41:07 +00:00
vk_framebuffer.c
vk_framebuffer.h
vk_graphics_state.c vulkan: Add a new dynamic state for render pass attachments 2024-02-27 22:17:09 +00:00
vk_graphics_state.h vulkan: Add a new dynamic state for render pass attachments 2024-02-27 22:17:09 +00:00
vk_image.c vk_image.c: #ifndef _WIN32 --> DETECT_OS_LINUX + DETECT_OS_BSD 2024-02-02 23:11:21 +00:00
vk_image.h vk_image.c: #ifndef _WIN32 --> DETECT_OS_LINUX + DETECT_OS_BSD 2024-02-02 23:11:21 +00:00
vk_instance.c vulkan: Use secure_getenv for trigger files 2024-01-31 17:28:11 +00:00
vk_instance.h vulkan: Consolidate common ICD methods 2023-11-03 20:01:14 +00:00
vk_limits.h vulkan: Add generic graphics and compute VkPipeline implementations 2024-02-27 22:17:09 +00:00
vk_log.c
vk_log.h
vk_meta.c vulkan: fix potential memory leak in create_rect_list_pipeline() 2023-11-09 18:22:36 +00:00
vk_meta.h vulkan/meta: Add a get_pipeline_layout helper 2023-08-04 21:32:06 +00:00
vk_meta_blit_resolve.c vulkan/meta: Handle VK_REMAINING_ARRAY_LAYERS in blit and resolve 2024-02-26 16:25:08 +00:00
vk_meta_clear.c nir: Drop "SSA" from NIR language 2023-08-12 16:44:41 -04:00
vk_meta_draw_rects.c nir: Drop "SSA" from NIR language 2023-08-12 16:44:41 -04:00
vk_meta_private.h vulkan/meta: Insert a geometry shader when needed 2023-08-04 21:32:03 +00:00
vk_nir.c vulkan/runtime: add internal parameter to vk_spirv_to_nir 2023-10-09 23:37:51 +00:00
vk_nir.h vulkan/runtime: add internal parameter to vk_spirv_to_nir 2023-10-09 23:37:51 +00:00
vk_nir_convert_ycbcr.c nir: replace use of nir_src_copy() 2023-09-08 03:01:39 +00:00
vk_nir_convert_ycbcr.h nir: Drop "SSA" from NIR language 2023-08-12 16:44:41 -04:00
vk_object.c vulkan/runtime: refactor to use DETECT_OS_ANDROID instead of ANDROID 2024-02-01 19:29:49 +00:00
vk_object.h vulkan/runtime: refactor to use DETECT_OS_ANDROID instead of ANDROID 2024-02-01 19:29:49 +00:00
vk_physical_device.c vulkan/android: Only limit advertised extensions in strict mode 2023-12-13 20:09:37 +00:00
vk_physical_device.h docs/vulkan: use hawkmoth instead of doxygen 2023-10-26 16:13:26 +00:00
vk_pipeline.c vulkan: Add generic graphics and compute VkPipeline implementations 2024-02-27 22:17:09 +00:00
vk_pipeline.h vulkan: Add generic graphics and compute VkPipeline implementations 2024-02-27 22:17:09 +00:00
vk_pipeline_cache.c vulkan: Don't use set_foreach_remove when destroying pipeline caches 2023-11-13 20:09:31 +00:00
vk_pipeline_cache.h vulkan/pipeline_cache: add 'skip_disk_cache' option 2023-07-11 07:36:53 +00:00
vk_pipeline_layout.c vulkan: Add push constant ranges to vk_pipeline_layout 2024-02-27 22:17:09 +00:00
vk_pipeline_layout.h vulkan: Add push constant ranges to vk_pipeline_layout 2024-02-27 22:17:09 +00:00
vk_query_pool.c vulkan: Add init/finish helpers for vk_query_pool 2023-08-01 19:17:05 +00:00
vk_query_pool.h vulkan: Add init/finish helpers for vk_query_pool 2023-08-01 19:17:05 +00:00
vk_queue.c vulkan/runtime: refactor to use DETECT_OS_ANDROID instead of ANDROID 2024-02-01 19:29:49 +00:00
vk_queue.h vulkan/runtime: refactor to use DETECT_OS_ANDROID instead of ANDROID 2024-02-01 19:29:49 +00:00
vk_render_pass.c vulkan/runtime: add helper to query attachment layout 2024-01-26 13:39:01 +00:00
vk_render_pass.h vulkan/runtime: add helper to query attachment layout 2024-01-26 13:39:01 +00:00
vk_sampler.c vulkan: Add a core vk_sampler struct 2023-07-31 17:01:42 +00:00
vk_sampler.h vulkan: Add a core vk_sampler struct 2023-07-31 17:01:42 +00:00
vk_semaphore.c vulkan: Add trace points for more Vulkan waiting functions. 2023-08-29 00:27:33 +00:00
vk_semaphore.h
vk_shader.c vulkan: Add generic graphics and compute VkPipeline implementations 2024-02-27 22:17:09 +00:00
vk_shader.h vulkan: Add generic graphics and compute VkPipeline implementations 2024-02-27 22:17:09 +00:00
vk_shader_module.c vulkan: Migrate shader module hash to BLAKE3. 2023-06-23 09:28:04 +00:00
vk_shader_module.h vulkan: Migrate shader module hash to BLAKE3. 2023-06-23 09:28:04 +00:00
vk_standard_sample_locations.c
vk_standard_sample_locations.h
vk_sync.c
vk_sync.h
vk_sync_binary.c
vk_sync_binary.h
vk_sync_dummy.c
vk_sync_dummy.h
vk_sync_timeline.c
vk_sync_timeline.h
vk_synchronization.c vk/runtime: update symbols that have become aliases for newer ones 2023-12-04 23:27:29 +00:00
vk_synchronization.h vulkan: Add helpers for access flags 2023-12-01 17:59:51 +00:00
vk_texcompress_astc.c vulkan add 3D texture support for compute astc decoder 2023-10-11 19:28:40 +00:00
vk_texcompress_astc.h vulkan/runtime: add compute astc decoder helper functions 2023-10-11 19:28:40 +00:00
vk_texcompress_etc2.c vulkan/runtime: fix a harmless typo for ETC2 emulation 2023-10-06 00:55:18 +00:00
vk_texcompress_etc2.h vulkan/runtime, radv: remove 1D support from ETC2 emulation 2023-10-06 00:55:18 +00:00
vk_video.c vulkan/video: add AV1 decode support to common code 2024-02-02 03:18:52 +00:00
vk_video.h vulkan/video: add AV1 decode support to common code 2024-02-02 03:18:52 +00:00
vk_ycbcr_conversion.c
vk_ycbcr_conversion.h