mesa/src/intel/vulkan_hasvk
Kenneth Graunke c831355d64 anv, hasvk: Save the original instance ID
Currently, build_view_index and build_instance_id emit load_instance_id
intrinsics, which want the instance ID coming into the program, which is
the true instance ID multiplied by the view count.

The loop also remaps any load_instance_id in the original program back
to the true instance ID, which is the one coming in divided by the view
count.  Because we call build_view_index and build_instance_id as part
of the loop, and emit the new load_instance_id instructions earlier in
the shader, we successfully avoid seeing those.

However, this is a bit fragile as it means you can't call
build_view_index or build_instance_id prior to the loop without
accidentally remapping things we don't intend to.  To fix this
fragility, we save off the original instance ID (including the view
count) and directly reference that.

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28067>
2024-03-27 04:52:17 +00:00
..
layers hasvk: Add layer with work-around for Doom 64 texture corruption 2023-01-02 15:05:06 +00:00
tests hasvk/tests: Propagate failures to gtest 2023-08-25 12:08:29 -07:00
anv_allocator.c anv,hasvk: migrate to align64 from util 2023-01-06 17:22:16 +00:00
anv_android.c hasvk/android: remove numFds check 2023-08-24 11:07:12 +00:00
anv_android.h hasvk: refactor to use DETECT_OS_ANDROID instead of ANDROID 2024-02-01 19:29:49 +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 hasvk: Support builiding on non-Intel 2023-10-26 19:48:19 +00:00
anv_blorp.c hasvk: Use ELK compiler 2024-02-24 00:24:31 +00:00
anv_bo_sync.c
anv_cmd_buffer.c hasvk: Use ELK compiler 2024-02-24 00:24:31 +00:00
anv_descriptor_set.c anv, hasvk: pMutableDescriptorTypeLists can be out of range on pool creation 2024-03-07 18:56:57 +00:00
anv_device.c hasvk: Use ELK compiler 2024-02-24 00:24:31 +00:00
anv_formats.c vulkan/format: Use correct swizzle for 1-plane YCbCr formats 2023-08-14 23:44:19 +00:00
anv_gem.c intel: Move intel_define.h to i915/intel_define.h 2024-02-21 18:10:54 +00:00
anv_gem_stubs.c hasvk: Remove remaining bits of anv_i915_query() 2023-02-09 02:57:32 +00:00
anv_genX.h hasvk: remove cmd_buffer_ray_query_globals function decl 2024-01-12 14:01:08 +00:00
anv_image.c treewide: Replace usage of macro DEBUG with MESA_DEBUG when possible 2024-03-22 18:22:34 +00:00
anv_measure.c hasvk: Emit CS stall on INTEL_MEASURE timestamp 2023-01-04 22:43:36 +00:00
anv_measure.h
anv_nir.h hasvk: Use ELK compiler 2024-02-24 00:24:31 +00:00
anv_nir_apply_pipeline_layout.c hasvk: Use ELK compiler 2024-02-24 00:24:31 +00:00
anv_nir_compute_push_layout.c hasvk: Use ELK compiler 2024-02-24 00:24:31 +00:00
anv_nir_lower_multiview.c anv, hasvk: Save the original instance ID 2024-03-27 04:52:17 +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_lower_ycbcr_textures.c nir: replace use of nir_src_copy() 2023-09-08 03:01:39 +00:00
anv_perf.c hasvk: Drop more DG2 code 2022-12-02 09:18:17 +00:00
anv_pipeline.c anv/hasvk: default image_read_without_format to true 2024-03-13 19:29:04 +00:00
anv_pipeline_cache.c treewide: Remove vulkan/runtime vulkan/util prefix in include path 2024-03-05 19:05:00 +00:00
anv_private.h treewide: Replace usage of macro DEBUG with MESA_DEBUG when possible 2024-03-22 18:22:34 +00:00
anv_queue.c hasvk: Nuke anv_queue:index_in_family 2023-01-25 17:43:57 +00:00
anv_util.c
anv_utrace.c intel/ds: lock submissions to u_trace_context 2023-09-25 13:05:45 +00:00
anv_wsi.c hasvk: Support builiding on non-Intel 2023-10-26 19:48:19 +00:00
genX_blorp_exec.c intel: Use _brw suffix for genX headers that rely on brw 2024-02-24 00:24:32 +00:00
genX_cmd_buffer.c intel/ds: add pipe control reasons to perfetto flushes 2024-03-08 07:52:20 +00:00
genX_gpu_memcpy.c anv,iris,hasvk: Use ISL_SURF_USAGE_STREAM_OUT_BIT for setting stream-out MOCS 2023-07-12 23:47:25 -07:00
genX_pipeline.c hasvk: Use ELK compiler 2024-02-24 00:24:31 +00:00
genX_query.c hasvk: remove gfx9 specific cs stall from emit_ps_depth_count 2024-01-12 14:01:08 +00:00
genX_state.c hasvk: remove gfx9 specific code from emit_sample_pattern 2024-01-12 14:01:08 +00:00
gfx7_cmd_buffer.c hasvk: add restrictions for 3DSTATE_RASTER::AntiAliasingEnable 2023-01-20 12:50:04 +00:00
gfx8_cmd_buffer.c hasvk: Use ELK compiler 2024-02-24 00:24:31 +00:00
meson.build intel/meson: Add dependencies for brw and elk 2024-02-29 23:08:16 +00:00