mesa/src/intel/vulkan
Lionel Landwerlin f69c26fb06
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
anv: fix dynamic buffes again
There were 2 issues in the commit being fixed :

  1. loading from the wrong surface state
  2. not being able to have the optimization passes cleanup the
     nir_vector_extract()

We fix the first issue by reusing the nir_vector_extract() pattern in
the broken places.

We fix the second issue by reworking the internal vec4 format we use
for passing around descriptor information. In particular we put the
set in its own component so that it can be easily optimized and the
vector extraction constant folded.

Fixes: e94cb92cb0 ("anv: use internal surface state on Gfx12.5+ to access descriptor buffers")
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40076>
2026-02-26 16:14:45 +00:00
..
bvh anv: Mark RootNodeOffset at 256B always 2026-01-22 23:20:04 +00:00
i915 anv: Support virtio-gpu native context 2026-02-06 00:15:37 +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/xe: move special WaitIdle optimization to submission path 2026-01-29 16:03:26 +00:00
anv_allocator.c anv: remove old comment related to pre softpin platforms 2026-02-25 10:44:03 +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: advertise Vulkan 1.4 2024-12-02 21:56:39 +00:00
anv_astc_emu.c brw: drop indirection on compiler options 2025-09-18 14:14:08 +00:00
anv_batch_chain.c anv: enable sharing binding table pool programming 2026-02-25 00:17:02 +00:00
anv_blorp.c anv: Fix ASTC emulation sync in CopyImage and CopyBufferToImage 2026-02-25 08:20:57 +00:00
anv_buffer.c anv: Convert DEBUG_SPARSE logging to use mesa_logi 2025-11-15 00:37:53 +00:00
anv_buffer_view.c anv: add support for shaderStorageImageReadWithoutFormat through emulation 2025-06-06 12:28:42 +00:00
anv_cmd_buffer.c anv: optimize binding table flushing 2026-02-25 10:44:05 +00:00
anv_descriptor_set.c anv, brw: Consolidate ex_bso bits to a static devinfo inline 2026-02-16 21:33:47 +00:00
anv_device.c anv: add a drirc to control binding table block size 2026-02-25 00:17:03 +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: disable ccs modifier reporting when ccs modifiers are disabled 2026-02-23 07:37:29 +00:00
anv_gem.c build: avoid redefining unreachable() which is standard in C23 2025-07-31 17:49:42 +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: make a helper for push constant allocation 2026-02-25 10:44:04 +00:00
anv_image.c anv: apply the same ccs disabling for Xe3 than Xe2 2026-02-23 07:37:28 +00:00
anv_image_host_copy.c anv: Implement host_image_copy astc emulation on CPU 2025-11-07 12:14:31 +00:00
anv_image_view.c anv: Use variable default value for some images using CLEAR 2026-01-27 18:46:53 +00:00
anv_instance.c anv: add a debug printout for dirty descriptors 2026-02-25 10:44:04 +00:00
anv_internal_kernels.c intel/brw: Use computed push constants size in brw_assign_urb_setup() 2026-02-19 16:53:03 +00:00
anv_internal_kernels.h anv: implement Wa_16011107343/22018402687 for generated draws 2024-11-12 22:48:39 +00:00
anv_kmd_backend.c
anv_kmd_backend.h anv: make device initialization more asynchronous 2024-06-13 08:29:25 +00:00
anv_measure.c anv: rework gfx state emission (again) 2025-08-11 11:14:53 +00:00
anv_measure.h
anv_nir.h anv: implement inline parameter promotion from push constants 2026-02-25 10:44:09 +00:00
anv_nir_apply_pipeline_layout.c anv: fix dynamic buffes again 2026-02-26 16:14:45 +00:00
anv_nir_compute_push_layout.c anv: implement inline parameter promotion from push constants 2026-02-25 10:44:09 +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: fixup load_ubo lowering 2025-11-17 20:02:00 +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: use internal surface state on Gfx12.5+ to access descriptor buffers 2026-02-12 16:45:26 +00:00
anv_nir_push_descriptor_analysis.c anv: use internal surface state on Gfx12.5+ to access descriptor buffers 2026-02-12 16:45:26 +00:00
anv_perf.c anv: implement VK_KHR_internally_synchronized_queues 2026-01-29 16:03:26 +00:00
anv_physical_device.c brw: Delete use_bindless_sampler_offset flag 2026-02-16 21:33:48 +00:00
anv_pipeline_cache.c anv: enable debug printfs on internal shaders 2026-01-20 12:19:41 +00:00
anv_private.h anv: implement inline parameter promotion from push constants 2026-02-25 10:44:09 +00:00
anv_queue.c anv/xe: move special WaitIdle optimization to submission path 2026-01-29 16:03:26 +00: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: rework embedded sampler hashing 2025-07-07 18:53:53 +00:00
anv_shader.c anv: implement inline parameter promotion from push constants 2026-02-25 10:44:09 +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: implement inline parameter promotion from push constants 2026-02-25 10:44:09 +00:00
anv_shader_heap.c anv: Implement RT shader group handle capture/replay 2026-01-29 08:46:50 +00:00
anv_slab_bo.c anv: fix a memory leak in slab allocator. 2025-12-18 18:25:54 +00: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: shrink image opaque data 2025-11-25 19:38:53 +00:00
anv_util.c anv: add a debug printout for dirty descriptors 2026-02-25 10:44:04 +00:00
anv_utrace.c anv: implement VK_KHR_internally_synchronized_queues 2026-01-29 16:03:26 +00:00
anv_va.c anv: Convert DEBUG_HEAPS logging to use mesa_log 2025-10-31 11:45:47 +00:00
anv_video.c anv/video: remove unsupported feautres for encoders 2026-02-16 10:58:40 +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: Avoid dumping BVH before command buffer is submitted 2026-02-05 18:47:10 +00:00
genX_blorp_exec.c anv: optimize binding table flushing 2026-02-25 10:44:05 +00:00
genX_cmd_buffer.c anv: avoid filling PC reason for timestamp u_trace captures 2026-02-25 10:44:06 +00:00
genX_cmd_compute.c anv: implement inline parameter promotion from push constants 2026-02-25 10:44:09 +00:00
genX_cmd_draw.c anv: implement inline parameter promotion from push constants 2026-02-25 10:44:09 +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: add tracking of involved stages in pipe flushes 2025-12-15 08:25:32 +00:00
genX_cmd_draw_helpers.h anv: store gfx/compute bound shaders on command buffer state 2025-08-01 11:35:08 +00:00
genX_cmd_video.c anv: use workaround framework for Wa_1508208842 2026-02-02 19:40:26 +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: specialize code for Wa_18019110168 2026-02-25 10:44:03 +00:00
genX_gpu_memcpy.c anv: remove use of emit_apply_pipe_flushes() in various helpers 2025-12-15 08:25:31 +00:00
genX_init_state.c anv: program HW to gather push constants at 3DSTATE_CONSTANT parsing time on Gfx9 2026-02-25 10:44:03 +00:00
genX_internal_kernels.c intel: rework push constant handling 2026-01-09 14:19:52 +00:00
genX_mi_builder.h anv: predicate BTP emissions 2026-02-25 00:17:03 +00:00
genX_query.c anv: add tracking of involved stages in pipe flushes 2025-12-15 08:25:32 +00:00
genX_shader.c iris: Move ALT mode handling from brw to iris 2026-02-19 02:51:00 +00:00
genX_simple_shader.c anv: optimize binding table flushing 2026-02-25 10:44:05 +00:00
meson.build anv: use internal surface state on Gfx12.5+ to access descriptor buffers 2026-02-12 16:45:26 +00:00
vp9_tables.h anv: add default vp9 tables from FFMpeg and intel-vaapi-driver 2025-06-13 04:51:51 +00:00