mesa/src/intel/vulkan
Lionel Landwerlin 50f6903bd9 anv: add new low level emission & dirty state tracking
A single Vulkan state can map to multiple fields in different GPU
instructions. This change introduces the bottom half of a simplified
emission mechanism where we do the following :
          Vulkan runtime state
                   |
                   V
        Intermediate driver state
                   |
                   V
         Instruction programming

This way we can detect that the intermediate state didn't change and
avoid HW instruction emission.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24536>
2023-09-06 20:07:02 +00:00
..
grl intel: Allow using intel_clc from the system 2023-09-01 21:36:02 +00:00
i915 anvil,hasvk: Rename need_clflush to need_flush 2023-09-06 01:39:53 +00:00
layers anv: handle missing astc for gfx125 in CreateImageView 2023-05-12 06:59:34 +00:00
shaders anv: add shaders for copying query results 2023-06-14 09:43:57 +03:00
tests anv/tests: Propagate failures to gtest 2023-08-25 12:08:26 -07:00
xe anvil,hasvk: Rename need_clflush to need_flush 2023-09-06 01:39:53 +00:00
anv_allocator.c anv: Align memory VA to support for Ys, Tile64 tiled images 2023-09-01 23:22:18 +00:00
anv_android.c anv/android: Enable shared presentable image support 2023-09-05 10:02:24 +00:00
anv_android.h anv: Use the new vk_device_memory base struct 2023-03-31 14:57:03 +00:00
anv_android_stubs.c anv,hasvk: android ahb is not always exportable 2023-05-11 22:18:03 +00:00
anv_batch_chain.c anv: split pipeline programming into instructions 2023-09-06 20:07:02 +00:00
anv_blorp.c anv: enable INTEL_DEBUG=nofc 2023-08-07 12:02:57 +03:00
anv_bo_sync.c anv: Add a tracepoint for the fallback implicit sync wait path. 2023-01-12 20:21:03 +00:00
anv_cmd_buffer.c anv: add new low level emission & dirty state tracking 2023-09-06 20:07:02 +00:00
anv_descriptor_set.c anv: Use vk_buffer_view 2023-08-01 19:17:05 +00:00
anv_device.c anv: add new low level emission & dirty state tracking 2023-09-06 20:07:02 +00:00
anv_formats.c anv: add maintenance5 A8_UNORM/A1B5G5R5_UNORM support 2023-08-31 16:02:52 +03:00
anv_gem.c anv: Add gem_create_userptr() to KMD backend 2023-07-19 22:20:24 +00:00
anv_gem_stubs.c anv: Replace handle by anv_bo in the gem_close() 2023-07-19 22:20:24 +00:00
anv_genX.h anv: add new low level emission & dirty state tracking 2023-09-06 20:07:02 +00:00
anv_image.c anv: enable standard Y tiles 2023-09-01 23:22:18 +00:00
anv_internal_kernels.c treewide: Use nir_shader_intrinsic_pass sometimes 2023-08-24 15:48:02 +00:00
anv_internal_kernels.h anv: do not explode on 32 bit builds 2023-06-16 22:22:07 +00:00
anv_kmd_backend.c anv: Add gem VM bind and unbind to backend 2023-03-11 17:56:01 +00:00
anv_kmd_backend.h anv: Replace handle by anv_bo in the gem_close() 2023-07-19 22:20:24 +00:00
anv_measure.c intel/measure: track batch buffer sizes 2023-09-05 11:50:02 +00:00
anv_measure.h anv: add a custom AcquireNextImage2KHR func 2022-02-17 22:15:23 +00:00
anv_mesh_perprim_wa.c treewide: Use nir_before/after_impl in easy cases 2023-08-30 19:30:58 +00:00
anv_nir.h anv/hasvk: track robustness per pipeline stage 2023-08-09 09:00:12 +03:00
anv_nir_apply_pipeline_layout.c nir: Drop most uses if nir_instr_rewrite_src() 2023-08-18 01:00:15 +00:00
anv_nir_compute_push_layout.c nir: Drop nir_dest 2023-08-14 21:22:53 +00:00
anv_nir_lower_load_patch_vertices_in.c treewide: Use nir_shader_intrinsic_pass sometimes 2023-08-24 15:48:02 +00:00
anv_nir_lower_multiview.c treewide: Use nir_before/after_impl for more elaborate cases 2023-08-30 19:30:58 +00:00
anv_nir_lower_resource_intel.c treewide: Use nir_shader_intrinsic_pass sometimes 2023-08-24 15:48:02 +00:00
anv_nir_lower_ubo_loads.c treewide: Use nir_shader_intrinsic_pass sometimes 2023-08-24 15:48:02 +00:00
anv_nir_push_descriptor_analysis.c nir: Drop nir_dest 2023-08-14 21:22:53 +00:00
anv_perf.c anv/iris: report counter symbols with debug option 2023-03-08 12:45:43 +00:00
anv_pipeline.c anv: deal with new pipeline flags 2023-08-31 16:02:52 +03:00
anv_pipeline_cache.c anv: reduce push constant size for descriptor sets 2023-05-30 06:36:38 +00:00
anv_private.h anv: add new low level emission & dirty state tracking 2023-09-06 20:07:02 +00:00
anv_queue.c anv: hide exec_flags selection inside the i915 backend 2023-07-13 17:12:26 +00:00
anv_util.c anv: add new low level emission & dirty state tracking 2023-09-06 20:07:02 +00:00
anv_utrace.c anvil,hasvk: Replace intel_clflush_range with intel_flush_range 2023-09-06 01:39:53 +00:00
anv_va.c anv: create a pool for indirect descriptors 2023-05-30 06:36:38 +00:00
anv_video.c anv/video: use correct enum value for max level IDC 2023-09-06 05:10:33 +00:00
anv_wsi.c anvil,hasvk: Replace intel_clflush_range with intel_flush_range 2023-09-06 01:39:53 +00:00
genX_acceleration_structure.c anv: Drop unnecessary intel_canonical_address() call around anv_address_physical() 2023-07-04 15:24:04 +00:00
genX_blorp_exec.c anv: add new low level emission & dirty state tracking 2023-09-06 20:07:02 +00:00
genX_cmd_buffer.c anv: add new low level emission & dirty state tracking 2023-09-06 20:07:02 +00:00
genX_cmd_draw_generated_indirect.h anv: change the way we clear pending query bits 2023-06-20 02:34:51 +00:00
genX_cmd_draw_helpers.h anv: Drop dead code that sets the L3BypassDisable field 2023-04-04 17:39:20 +00:00
genX_gfx_state.c anv: add new low level emission & dirty state tracking 2023-09-06 20:07:02 +00:00
genX_gpu_memcpy.c anv: add new low level emission & dirty state tracking 2023-09-06 20:07:02 +00:00
genX_init_state.c anv: rename files to represent their usage 2023-09-06 20:07:01 +00:00
genX_pipeline.c anv: split pipeline programming into instructions 2023-09-06 20:07:02 +00:00
genX_query.c anv: add a flag tracking occlusion query count change 2023-09-06 20:07:02 +00:00
genX_simple_shader.h anv: add new low level emission & dirty state tracking 2023-09-06 20:07:02 +00:00
genX_video.c anv/video: send h264 scaling list in raster order 2023-08-25 03:08:13 +00:00
meson.build anv: rename files to represent their usage 2023-09-06 20:07:01 +00:00