mesa/src/intel/vulkan
Christoph Neuhauser 7eba054c5b
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
anv: Add compute only divergent atomics fusion optimization for Blender
Blender uses atomic operations as part of its virtual shadow mapping
implementation. Virtual shadow mapping page tagging in compute shaders
benefits from divergent atomics fusion, while fragment shaders doing the
atomic raster step in general have worse performance with this
optimization turned on.
Thus, an option is added to only apply divergent atomics fusion to compute
shaders in ANV, and this option is enabled for Blender.

Initial support for divergent atomics fusion optimization in ANV was added
in https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40631.

Signed-off-by: Christoph Neuhauser <christoph.neuhauser@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41706>
2026-05-20 19:29:15 +00:00
..
bvh anv/rt: Copy 16bytes at once instead of copying 8bytes 2026-04-16 02:52:03 +00:00
i915 anv: stop using queue priority KHR aliases 2026-04-30 09:04:01 +00:00
layers anv: add furmark workaround layer 2025-11-28 09:26:41 +00:00
tests anv/tests: Add a slab test to cover the memory leak issue. 2026-01-08 14:21:24 +00:00
xe anv: Disable scratch page by default on Xe KMD 2026-05-01 19:51:41 +00:00
anv_allocator.c anv: add an option to disable allocation over subscription 2026-05-14 10:39:25 +00:00
anv_android.c anv: Enable compression on importing Android buffers (xe2) 2025-12-09 14:16:43 -08:00
anv_android.h anv: And a new function to consolidate import paths 2025-12-09 14:16:42 -08:00
anv_android_stubs.c anv: And a new function to consolidate import paths 2025-12-09 14:16:42 -08:00
anv_api_version.h anv: Enable Vulkan 1.4 for SDK 37+ 2026-03-24 21:15:45 +00:00
anv_astc_emu.c anv: remove a bunch of KHR alias uses 2026-04-30 09:04:01 +00:00
anv_batch_chain.c anv: rework debug flag 2026-04-20 21:53:35 +03:00
anv_blorp.c anv: only load fp64 software shader when needed 2026-05-11 08:27:14 +00:00
anv_buffer.c anv: handle preprocess buffer creation on <= Gfx12.0 2026-05-06 09:49:48 +00:00
anv_buffer_view.c anv: don't silently convert view ranges from u64 to u32 then u64 2026-04-30 21:32:23 +00:00
anv_cmd_buffer.c anv: remove old entrypoints 2026-05-07 15:49:20 +00:00
anv_descriptor_set.c anv: implement EXT_descriptor_heap entry points 2026-05-05 18:21:17 +00:00
anv_device.c anv: only reprogram line-stipple if enabled 2026-05-19 16:53:38 +00:00
anv_dgc_layout.c anv: add Gfx9 support VK_EXT_device_generated_commands 2026-05-06 09:49:52 +00:00
anv_dgc_set.c anv: add Gfx9 support VK_EXT_device_generated_commands 2026-05-06 09:49:52 +00:00
anv_embedded_sampler.c anv: extract embedded samplers from pipeline_cache 2025-08-01 11:35:04 +00:00
anv_event.c anv: switch events to use 0/!0 values for unsignaled/signaled 2025-12-15 08:25:38 +00:00
anv_formats.c anv: implement missing device image property compression filtering 2026-05-08 13:24:28 +03:00
anv_gem.c anv: Fix placed address mmap with slab bo 2026-03-30 13:59:27 +00:00
anv_gem_stubs.c build: avoid redefining unreachable() which is standard in C23 2025-07-31 17:49:42 +00:00
anv_genX.h anv: use INTEL_NEEDS_WA_14025112257 define for workaround 2026-05-07 16:20:29 +00:00
anv_image.c anv: Add transfer_src usage for ANDROID_external_format_resolve 2026-05-19 15:41:52 +00:00
anv_image_host_copy.c anv: allocate tile sized temporary copy instead of whole size 2026-05-13 22:14:20 +00:00
anv_image_view.c intel/isl: Replace mc_format with aux_format 2026-03-11 00:36:15 +00:00
anv_instance.c anv: Add compute only divergent atomics fusion optimization for Blender 2026-05-20 19:29:15 +00:00
anv_internal_kernels.c anv: add a device generated command debug option 2026-05-06 09:49:52 +00:00
anv_internal_kernels.h anv: add a device generated command debug option 2026-05-06 09:49:52 +00:00
anv_kmd_backend.c
anv_kmd_backend.h
anv_measure.c anv: rework gfx state emission (again) 2025-08-11 11:14:53 +00:00
anv_measure.h
anv_nir.h anv: add apply_layout support for device bindable shaders/pipelines 2026-05-06 09:49:44 +00:00
anv_nir_apply_pipeline_layout.c anv: add apply_layout support for device bindable shaders/pipelines 2026-05-06 09:49:44 +00:00
anv_nir_clear_shader_analysis.c anv: add an analysis pass to detect compute shaders clearing data 2026-03-04 20:40:59 +00:00
anv_nir_compute_push_layout.c anv/brw/nir: fix wa_18019110168 2026-05-06 09:49:41 +00:00
anv_nir_lower_descriptor_heap.c anv: add lowering of descriptor heap intrinsics 2026-05-05 18:21:16 +00:00
anv_nir_lower_driver_values.c anv: implement inline parameter promotion from push constants 2026-02-25 10:44:09 +00:00
anv_nir_lower_multiview.c treewide: add & use parent instr helpers 2025-11-12 21:22:13 +00:00
anv_nir_lower_resource_intel.c anv, brw: Consolidate ex_bso bits to a static devinfo inline 2026-02-16 21:33:47 +00:00
anv_nir_lower_ubo_loads.c anv: Make sure robust UBO access does not fault 2026-05-01 19:51:41 +00:00
anv_nir_lower_unaligned_dispatch.c anv: implement inline parameter promotion from push constants 2026-02-25 10:44:09 +00:00
anv_nir_push_constants_analysis.c anv: promote push constant pointers to push buffers 2026-04-21 16:29:14 +00:00
anv_nir_push_descriptor_analysis.c anv: remove a bunch of KHR alias uses 2026-04-30 09:04:01 +00:00
anv_nir_realign_cbv.c anv: add a pass to realign global loads on DX CBV resources 2026-04-21 16:29:14 +00:00
anv_perf.c Rename sha1_* and sha_* names to blake3_* 2026-03-23 07:03:28 +00:00
anv_physical_device.c anv: bump max compute workgroup count 2026-05-19 11:23:52 +00:00
anv_pipeline_cache.c anv: only load fp64 software shader when needed 2026-05-11 08:27:14 +00:00
anv_private.h anv: Add compute only divergent atomics fusion optimization for Blender 2026-05-20 19:29:15 +00:00
anv_queue.c anv: switch from INTEL_DEBUG to ANV_DEBUG for shader-print 2026-04-20 21:53:35 +03:00
anv_rmv.c anv: shrink image opaque data 2025-11-25 19:38:53 +00:00
anv_rmv.h anv: remove unused gfx/compute pipeline code 2025-09-05 07:46:20 +00:00
anv_sampler.c anv: implement EXT_descriptor_heap entry points 2026-05-05 18:21:17 +00:00
anv_shader.c anv: add apply_layout support for device bindable shaders/pipelines 2026-05-06 09:49:44 +00:00
anv_shader.h anv: fix broken ray tracing dynamic descriptors 2025-12-02 13:25:20 +00:00
anv_shader_compile.c anv: Add compute only divergent atomics fusion optimization for Blender 2026-05-20 19:29:15 +00:00
anv_shader_heap.c anv: Add padding to the shader heap to manage EU prefetch 2026-05-01 19:51:40 +00:00
anv_slab_bo.c anv: rework debug flag 2026-04-20 21:53:35 +03:00
anv_slab_bo.h anv: Add the base infrastructure to support memory pool 2025-04-30 12:56:39 +00:00
anv_sparse.c anv/sparse: bring back our (limited) support for depth/stencil 2026-05-07 23:47:52 +00:00
anv_types.h anv: add Gfx9 support VK_EXT_device_generated_commands 2026-05-06 09:49:52 +00:00
anv_util.c anv: only load fp64 software shader when needed 2026-05-11 08:27:14 +00:00
anv_utrace.c util/u_trace: Rework resource management 2026-05-19 20:27:59 +00:00
anv_va.c anv: Store batch buffers in a null-initialized VMA heap 2026-05-01 19:51:40 +00:00
anv_video.c anv/video: fix up H.264/H.265 encode session parameters to match advertised caps 2026-05-11 07:12:33 +00:00
anv_wsi.c vulkan/wsi/wayland: Correctly map 24bpp format types 2026-02-17 19:25:19 +00:00
av1_tables.h anv: add default av1 tables from media-driver 2025-01-10 21:45:04 +00:00
genX_acceleration_structure.c anv: remove old entrypoints 2026-05-07 15:49:20 +00:00
genX_blorp_exec.c anv: further optimize dirty state after secondary emission 2026-05-19 16:53:38 +00:00
genX_cmd_buffer.c anv, iris: fix MOCS Index setting of EXECUTE_INDIRECT_* commands 2026-05-19 22:41:53 +00:00
genX_cmd_compute.c anv, iris: fix MOCS Index setting of EXECUTE_INDIRECT_* commands 2026-05-19 22:41:53 +00:00
genX_cmd_dgc.c anv: add Gfx9 support VK_EXT_device_generated_commands 2026-05-06 09:49:52 +00:00
genX_cmd_draw.c anv, iris: fix MOCS Index setting of EXECUTE_INDIRECT_* commands 2026-05-19 22:41:53 +00:00
genX_cmd_draw_generated_flush.h anv: remove use of emit_apply_pipe_flushes() in various helpers 2025-12-15 08:25:31 +00:00
genX_cmd_draw_generated_indirect.h anv: expose non binding-table/push-pointer flushing 2026-05-06 09:49:42 +00:00
genX_cmd_draw_helpers.h anv: fixup null address check 2026-05-07 15:49:19 +00:00
genX_cmd_video.c anv/video: fix to set the upper bound of the bitstream of h265. 2026-05-13 18:02:11 +00:00
genX_cmd_video_enc.c anv/video: set Sad Qp Lambda values properly for H265 encoder. 2026-02-16 10:58:40 +00:00
genX_gfx_state.c anv: only reprogram line-stipple if enabled 2026-05-19 16:53:38 +00:00
genX_gpu_memcpy.c anv: further optimize dirty state after secondary emission 2026-05-19 16:53:38 +00:00
genX_init_state.c anv: add an option to disable push constant space reallocation 2026-05-06 22:12:39 +00:00
genX_internal_kernels.c anv: add Gfx9 support VK_EXT_device_generated_commands 2026-05-06 09:49:52 +00:00
genX_mi_builder.h anv: predicate BTP emissions 2026-02-25 00:17:03 +00:00
genX_query.c anv: implement VK_KHR_device_address_commands 2026-05-07 15:49:20 +00:00
genX_shader.c anv: add support for indirect execution set 2026-05-06 09:49:45 +00:00
genX_simple_shader.c anv: further optimize dirty state after secondary emission 2026-05-19 16:53:38 +00:00
meson.build Revert "intel/decoder: make libvulkan_intel to depend on stub decoder when buildtyle=release." 2026-05-13 10:21:08 +00:00
vp9_tables.h anv: add default vp9 tables from FFMpeg and intel-vaapi-driver 2025-06-13 04:51:51 +00:00