mesa/src/intel/vulkan
José Roberto de Souza dabb012423 anv: Implement anv_slab_bo and enable memory pool
This is implementing the functions in anv_slab_bo and actually
enabling memory pool.
This is heavily based on Iris memory pool implementation, the main
difference is that the concept of heaps only exist in anv_slab_bo, we
have function that takes the anv_bo_alloc_flags and decides what heap
to place that bo.

Some anv_bo_alloc_flags blocks memory pool, we can relax and remove
some flags from this denied list later.

This feature can be disabled in runtime by setting
ANV_DISABLE_SLAB=true, this can help us to easily check if bugs
are due to this feature or not.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33558>
2025-04-30 12:56:39 +00:00
..
bvh intel/bvh/debug: Adapt instance leaf dumping to support 64-bit RT 2025-04-21 20:10:45 +00:00
grl clc,libcl: Clean up CL includes 2025-04-11 21:27:37 +00:00
i915 anv: Add the base infrastructure to support memory pool 2025-04-30 12:56:39 +00:00
layers anv: reuse object string for RMV token 2024-08-05 21:12:59 +00:00
tests intel/tests: Reduce load from anv_tests 2024-09-09 12:54:34 +00:00
xe anv: Add the base infrastructure to support memory pool 2025-04-30 12:56:39 +00:00
anv_allocator.c anv: Implement anv_slab_bo and enable memory pool 2025-04-30 12:56:39 +00:00
anv_android.c anv: add a is_sparse for image format support checks 2025-02-23 15:16:50 +00:00
anv_android.h anv/android: refactor out u_gralloc tiling query 2024-08-05 20:06:06 +00:00
anv_android_stubs.c anv/android: refactor out u_gralloc tiling query 2024-08-05 20:06:06 +00:00
anv_api_version.h anv: advertise Vulkan 1.4 2024-12-02 21:56:39 +00:00
anv_astc_emu.c
anv_batch_chain.c intel: fixup a few debugging option checks 2025-04-23 18:47:42 +00:00
anv_blorp.c anv: update Wa_22019225126 check 2025-04-30 11:55:24 +00:00
anv_bo_sync.c anv: Add missing ANV_BO_ALLOC_INTERNAL 2024-04-19 13:15:01 +00:00
anv_buffer.c anv: pass down buffer usage for isl_buffer_fill_state 2025-03-26 20:19:07 +00:00
anv_buffer_view.c anv: pass physical device to format helpers 2025-01-29 13:57:26 +00:00
anv_cmd_buffer.c anv: move xfb buffer storage to 64bit address + mocs 2025-03-12 09:37:50 +00:00
anv_descriptor_set.c anv: put parenthesis to the set_sampler_size equation 2025-04-28 04:45:01 +00:00
anv_device.c anv: Add the base infrastructure to support memory pool 2025-04-30 12:56:39 +00:00
anv_event.c anv: split events from anv_device.c 2024-07-22 18:46:05 +00:00
anv_formats.c anv: consolidate environment variables 2025-04-04 15:18:28 +00:00
anv_gem.c
anv_gem_stubs.c anv: make device initialization more asynchronous 2024-06-13 08:29:25 +00:00
anv_genX.h anv: break down Wa_16014912113 in need/apply parts 2025-03-05 17:20:12 +00:00
anv_image.c anv: Add the base infrastructure to support memory pool 2025-04-30 12:56:39 +00:00
anv_image_host_copy.c anv: handle REMAINING_LAYERS in host image copy cases 2025-01-30 19:24:47 +00:00
anv_image_view.c anv: rename compressed format emulation helpers 2025-02-23 15:16:50 +00:00
anv_instance.c anv: Implement anv_slab_bo and enable memory pool 2025-04-30 12:56:39 +00:00
anv_internal_kernels.c nir/peephole_select: add options struct 2025-02-20 21:59:16 +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: switch to use brw's prog_data source_hash 2025-02-22 08:30:22 +00:00
anv_measure.h
anv_mesh_perprim_wa.c anv/Wa_18019110168: copy the primitive count writes 2025-01-24 10:19:28 +00:00
anv_nir.h anv: simplify loading driver internal constants 2024-08-22 19:44:39 +00:00
anv_nir_apply_pipeline_layout.c anv: fix self dependency computation 2025-04-10 13:17:53 +00:00
anv_nir_compute_push_layout.c anv: move reg_mask push constant field to gfx 2025-02-15 18:38:14 +02:00
anv_nir_lower_load_patch_vertices_in.c anv: simplify loading driver internal constants 2024-08-22 19:44:39 +00:00
anv_nir_lower_multiview.c anv: disable replication when we don't have both VS/FS stages 2025-03-25 11:23:45 +00:00
anv_nir_lower_resource_intel.c treewide: use nir_metadata_control_flow 2024-06-17 16:28:14 -04:00
anv_nir_lower_ubo_loads.c Revert in correct commit "fix" 2024-11-26 16:36:06 +02:00
anv_nir_push_descriptor_analysis.c
anv_perf.c anv: Enable perf metrics id set syncronization 2024-11-05 19:25:53 +00:00
anv_physical_device.c anv: enable VK_KHR_shader_bfloat16 2025-04-29 16:29:37 +00:00
anv_pipeline.c intel/compiler: Update MemRay data structure to 64-bit 2025-04-21 20:10:45 +00:00
anv_pipeline_cache.c anv: Add new debug flag to show shader stage 2025-04-22 23:09:26 +00:00
anv_private.h anv: Implement anv_slab_bo and enable memory pool 2025-04-30 12:56:39 +00:00
anv_queue.c intel: fixup a few debugging option checks 2025-04-23 18:47:42 +00:00
anv_rmv.c
anv_rmv.h
anv_sampler.c anv: split sampler from anv_device.c 2024-07-22 18:46:05 +00:00
anv_slab_bo.c anv: Implement anv_slab_bo and enable memory pool 2025-04-30 12:56:39 +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: Implement VK_EXT_device_memory_report 2025-03-04 15:24:39 +00:00
anv_util.c intel: port to u_printf context + singleton 2025-02-05 20:33:15 +00:00
anv_utrace.c intel/ds: rework RT tracepoints 2025-02-24 08:08:02 +00:00
anv_va.c anv: track the first 2MB of unused VA 2025-02-05 09:56:03 +00:00
anv_video.c anv: Add stdSyntaxFlag values for h264/5 encoders 2025-03-25 23:54:32 +00:00
anv_wsi.c anv: support protected surfaces with display platform 2025-02-11 22:03:09 +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 intel: fixup a few debugging option checks 2025-04-23 18:47:42 +00:00
genX_acceleration_structure_grl.c anv: Split GRL code path in separate file 2024-12-04 10:41:44 +00:00
genX_blorp_exec.c anv: move index buffer entry point out of genX code 2025-03-12 09:37:50 +00:00
genX_cmd_buffer.c intel: Fix the MOCS values in XY_FAST_COLOR_BLT for Xe2+ 2025-04-22 20:42:25 +00:00
genX_cmd_compute.c anv: Enable 64bit memory structure mode for RT 2025-04-21 20:10:45 +00:00
genX_cmd_draw.c anv: add shader-hash debug option 2025-04-04 15:18:28 +00:00
genX_cmd_draw_generated_flush.h
genX_cmd_draw_generated_indirect.h anv: Implement VK_EXT_device_memory_report 2025-03-04 15:24:39 +00:00
genX_cmd_draw_helpers.h
genX_cmd_video.c anv: Use vk_video_derive_h265_scaling_list 2025-04-04 07:23:48 +00:00
genX_cmd_video_enc.c anv/genxml: use special genX video pack files 2025-04-01 00:03:56 +03:00
genX_gfx_state.c anv: fix self dependency computation 2025-04-10 13:17:53 +00:00
genX_gpu_memcpy.c anv: move index buffer entry point out of genX code 2025-03-12 09:37:50 +00:00
genX_init_state.c anv: Enable 64bit memory structure mode for RT 2025-04-21 20:10:45 +00:00
genX_internal_kernels.c intel: move internal shader compile to vtn_bindgen2 2025-02-01 07:54:37 +00:00
genX_mi_builder.h anv/genxml: use special genX video pack files 2025-04-01 00:03:56 +03:00
genX_pipeline.c anv: fix self dependency computation 2025-04-10 13:17:53 +00:00
genX_query.c anv: fix end of pipe timestamp query writes 2025-03-25 10:35:19 +00:00
genX_simple_shader.c anv: move index buffer entry point out of genX code 2025-03-12 09:37:50 +00:00
meson.build anv: Add the base infrastructure to support memory pool 2025-04-30 12:56:39 +00:00