mesa/src/intel
Kenneth Graunke e2d9ff8004 intel/brw: Handle scratch address swizzling of constants
Pass in the nir_src and check if it's constant, handling it via CPU-side
arithmetic instead of emitting instructions.  While we can constant fold
these via our optimization passes, we have to do opt_algebraic to fold
the binary operation with constant sources into a MOV of an immediate,
then opt_copy_propagation to put it in the next expression, and so on,
until the entire expression is folded.  This can take several iterations
of the optimization loop, which is inefficient.

For example, gfxbench5/aztec-ruins/normal/7 has load/store_scratch
intrinsics with constant sources, and this patch removes a number of
optimization passes according to INTEL_DEBUG=optimizer.

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29624>
2024-06-08 02:18:54 -07:00
..
blorp intel/blorp: Allow gfx12 fast-clears without CCS surf 2024-06-05 20:08:26 +00:00
ci ci: add farm variable for devices in collabora farm 2024-06-07 14:32:49 +00:00
common intel/isl: Add and use ISL_MAIN_TO_CCS_SIZE_RATIO_XE 2024-06-06 23:57:52 +00:00
compiler intel/brw: Handle scratch address swizzling of constants 2024-06-08 02:18:54 -07:00
decoder intel/decoder: Add intel_print_group_custom_spacing() 2024-04-24 17:07:50 +00:00
dev intel/xe2+: Enable native 64-bit integer arithmetic. 2024-05-31 09:14:01 -07:00
ds u_trace: extend tracepoint end_of_pipe bit into flags 2024-05-30 06:38:04 +00:00
genxml intel/genxml: Add RESOURCE_BARRIER for xe2 2024-06-05 15:22:25 +00:00
isl intel/isl: Allow multi-sample on depth aux usage (xe2) 2024-06-07 21:06:37 +00:00
nullhw-layer docs: replace references to the deprecated VK_INSTANCE_LAYERS with the new VK_LOADER_LAYERS_ENABLE 2024-04-02 18:08:52 +00:00
perf intel/perf: Add intel_perf_stream_read_samples() 2024-05-27 19:34:06 +00:00
shaders meson: use glslang --depfile argument when possible 2024-05-20 17:34:17 +00:00
tools intel/tools: Fix intel_dev_info --hwconfig switch 2024-06-06 00:41:13 +00:00
vulkan anv,driconf: Add fake non device local memory WA for Total War: Warhammer 3 2024-06-07 04:14:10 +00:00
vulkan_hasvk anv,hasvk: Drop anv_get_isl_format_with_usage 2024-06-07 00:58:41 +00:00
meson.build intel: Only build shaders with anv and iris 2024-02-21 20:53:36 +00:00