mesa/src/intel/compiler/brw
Lionel Landwerlin e290f9641d brw: Implement load/store URB intrinsics
These work the same regardless of stage.

v2 (Ken): Rebase, move from mesh to all stages, add reorderable load
          variant, allow channel masks to be non-constant even on Xe2.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38482>
2025-11-25 22:43:55 +00:00
..
tests brw: Don't set destination of branch instructions 2025-10-30 17:18:15 +00:00
brw_analysis.cpp
brw_analysis.h
brw_analysis_def.cpp
brw_analysis_liveness.cpp
brw_analysis_performance.cpp brw: account for disabled SEND fused message in cycle computation 2025-10-16 18:55:06 +00:00
brw_asm.c brw: Set relevant immediate bits for Gfx9-11 in JIP and UIP helpers 2025-10-30 17:18:15 +00:00
brw_asm.h
brw_asm_internal.h
brw_asm_tool.c treewide: don't check before free 2025-10-15 23:01:33 +00:00
brw_builder.cpp
brw_builder.h brw/builder: Add BFN 2025-10-10 17:25:10 +00:00
brw_cfg.cpp
brw_cfg.h
brw_compile_bs.cpp
brw_compile_cs.cpp
brw_compile_fs.cpp brw: switch to load_(pixel_coord|frag_coord_z|frag_coord_w) intrinsics 2025-11-25 15:50:48 +00:00
brw_compile_gs.cpp treewide: Replace calling to function ALIGN with align 2025-11-12 21:58:40 +00:00
brw_compile_mesh.cpp treewide: Replace calling to function ALIGN with align 2025-11-12 21:58:40 +00:00
brw_compile_tcs.cpp treewide: Replace calling to function ALIGN with align 2025-11-12 21:58:40 +00:00
brw_compile_tes.cpp treewide: Replace calling to function ALIGN with align 2025-11-12 21:58:40 +00:00
brw_compile_vs.cpp nir/validate: expand IO intrinsic validation with nir_io_semantics 2025-11-02 02:21:46 +00:00
brw_compiler.c brw: Set extended_bindless_surface_offset to true for Gfx12.5+ 2025-11-25 08:21:30 +00:00
brw_compiler.h brw: Delete input_slots_valid from brw_wm_prog_key 2025-11-20 14:10:39 -08:00
brw_debug_recompile.c brw: Delete input_slots_valid from brw_wm_prog_key 2025-11-20 14:10:39 -08:00
brw_disasm.c brw: new Xe2 sampler opcodes 2025-10-16 12:08:16 +00:00
brw_disasm.h
brw_disasm_info.cpp brw/disasm: Pretty print the BFN equation as an annotation 2025-10-10 17:25:09 +00:00
brw_disasm_info.h
brw_disasm_tool.c util/dynarray: infer type in append 2025-10-24 18:32:07 +00:00
brw_eu.c brw: Initial bits of BFN support 2025-10-10 17:25:09 +00:00
brw_eu.h brw: Initial bits of BFN support 2025-10-10 17:25:09 +00:00
brw_eu_compact.c
brw_eu_defines.h brw: handling dynamic programmable offsets pre-Xe2 2025-10-21 06:13:10 +00:00
brw_eu_emit.c treewide: Replace calling to function ALIGN with align 2025-11-12 21:58:40 +00:00
brw_eu_inst.h brw: Remove 3src_exec_size from the field macros 2025-11-14 18:46:58 +00:00
brw_eu_validate.c brw: Fix EU validation of VxH and Vx1 region 2025-10-30 16:06:42 +00:00
brw_from_nir.cpp brw: Implement load/store URB intrinsics 2025-11-25 22:43:55 +00:00
brw_generator.cpp brw: fixup immediate bindless surface handling 2025-11-14 00:24:55 +00:00
brw_generator.h brw: fixup immediate bindless surface handling 2025-11-14 00:24:55 +00:00
brw_gram.y brw: Don't set destination of branch instructions 2025-10-30 17:18:15 +00:00
brw_inst.cpp brw: get rid of GET_BUFFER_SIZE opcode 2025-10-16 12:08:16 +00:00
brw_inst.h brw: fixup immediate bindless surface handling 2025-11-14 00:24:55 +00:00
brw_isa_info.h
brw_lex.l
brw_load_reg.cpp
brw_lower.cpp treewide: Replace calling to function ALIGN with align 2025-11-12 21:58:40 +00:00
brw_lower_dpas.cpp
brw_lower_integer_multiplication.cpp
brw_lower_logical_sends.cpp brw: fix SS surfaces usage 2025-11-24 16:12:27 +00:00
brw_lower_pack.cpp
brw_lower_regioning.cpp
brw_lower_scoreboard.cpp
brw_lower_simd_width.cpp brw: fix SIMD lowering of fp16 sampler message data with multiple components 2025-11-17 12:38:14 +00:00
brw_lower_subgroup_ops.cpp
brw_nir.c nir: rename nir_lower_indirect_derefs -> nir_lower_indirect_derefs_to_if_else_trees 2025-11-20 05:42:11 +00:00
brw_nir.h treewide: add & use parent instr helpers 2025-11-12 21:22:13 +00:00
brw_nir_analyze_ubo_ranges.c treewide: Replace calling to function ALIGN with align 2025-11-12 21:58:40 +00:00
brw_nir_lower_alpha_to_coverage.c
brw_nir_lower_cooperative_matrix.c
brw_nir_lower_cs_intrinsics.c
brw_nir_lower_fs_barycentrics.c brw/nir_lower_fs_barycentrics: avoid nir_def_rewrite_uses_after 2025-10-09 09:50:19 -04:00
brw_nir_lower_fs_load_output.c
brw_nir_lower_fsign.py
brw_nir_lower_immediate_offsets.c treewide: add & use parent instr helpers 2025-11-12 21:22:13 +00:00
brw_nir_lower_intersection_shader.c nir: remove manual nir_store_global 2025-10-21 12:37:58 +02:00
brw_nir_lower_ray_queries.c brw/rt: fix ray_object_(direction|origin) for closest-hit shaders 2025-10-27 01:42:22 +00:00
brw_nir_lower_rt_intrinsics.c brw/rt: Move nir_build_vec3_mat_mult_col_major helper to header 2025-10-27 01:42:22 +00:00
brw_nir_lower_rt_intrinsics_pre_trace.c
brw_nir_lower_sample_index_in_coord.c brw/nir_lower_sample_index_in_coord: use helpers 2025-10-09 09:50:20 -04:00
brw_nir_lower_shader_calls.c brw/nir_lower_shader_calls: use helpers 2025-10-09 09:50:20 -04:00
brw_nir_lower_storage_image.c treewide: add & use parent instr helpers 2025-11-12 21:22:13 +00:00
brw_nir_lower_texel_address.c brw: fixup 64bit atomics emulation on 2D array images 2025-11-14 00:01:50 +00:00
brw_nir_lower_texture.c brw: handling dynamic programmable offsets pre-Xe2 2025-10-21 06:13:10 +00:00
brw_nir_opt_fsat.c treewide: add & use parent instr helpers 2025-11-12 21:22:13 +00:00
brw_nir_rt.c nir: remove manual nir_load_global_constant 2025-10-21 12:39:53 +02:00
brw_nir_rt.h brw/rt: Move nir_build_vec3_mat_mult_col_major helper to header 2025-10-27 01:42:22 +00:00
brw_nir_rt_builder.h treewide: use nir_store_global alias of nir_build_store_global 2025-10-21 12:37:58 +02:00
brw_nir_wa_18019110168.c nir: remove manual nir_load_global_constant 2025-10-21 12:39:53 +02:00
brw_nir_workarounds.py
brw_opt.cpp intel/compiler/brw: fix potential unsigned overflow 2025-10-24 07:52:09 -07:00
brw_opt_address_reg_load.cpp
brw_opt_algebraic.cpp
brw_opt_bank_conflicts.cpp
brw_opt_cmod_propagation.cpp brw/cmod: Enable limited cmod propagation for BFN 2025-10-10 17:25:11 +00:00
brw_opt_combine_constants.cpp treewide: Replace calling to function ALIGN with align 2025-11-12 21:58:40 +00:00
brw_opt_copy_propagation.cpp brw: compute final copy propagation resulting source 2025-11-24 10:14:32 +00:00
brw_opt_cse.cpp brw: get rid of GET_BUFFER_SIZE opcode 2025-10-16 12:08:16 +00:00
brw_opt_dead_code_eliminate.cpp
brw_opt_register_coalesce.cpp
brw_opt_saturate_propagation.cpp
brw_opt_txf_combiner.cpp brw: switch to new sampler payload description scheme 2025-10-16 12:08:15 +00:00
brw_opt_virtual_grfs.cpp
brw_packed_float.c
brw_print.cpp brw: handling dynamic programmable offsets pre-Xe2 2025-10-21 06:13:10 +00:00
brw_private.h
brw_reg.cpp
brw_reg.h intel: use util_is_aligned more 2025-10-31 15:03:58 +00:00
brw_reg_allocate.cpp treewide: Replace calling to function ALIGN with align 2025-11-12 21:58:40 +00:00
brw_reg_type.c
brw_reg_type.h
brw_rt.h treewide: Replace calling to function ALIGN with align 2025-11-12 21:58:40 +00:00
brw_sampler.c brw: handling dynamic programmable offsets pre-Xe2 2025-10-21 06:13:10 +00:00
brw_sampler.h brw: new Xe2 sampler opcodes 2025-10-16 12:08:16 +00:00
brw_schedule_instructions.cpp brw: fix ballot() type operations in shaders with HALT instructions 2025-10-21 05:55:04 +00:00
brw_shader.cpp brw: Store brw_urb_inst::offset in bytes on Xe2 2025-11-11 10:55:44 +00:00
brw_shader.h brw: switch to load_(pixel_coord|frag_coord_z|frag_coord_w) intrinsics 2025-11-25 15:50:48 +00:00
brw_simd_selection.cpp
brw_thread_payload.cpp
brw_thread_payload.h
brw_validate.cpp brw: get rid of GET_BUFFER_SIZE opcode 2025-10-16 12:08:16 +00:00
brw_vue_map.c
brw_workaround.cpp brw: fix workaround fence rlen field 2025-11-17 17:08:30 +00:00
meson.build brw,elk: drop unused spirv->nir routines 2025-11-06 17:47:41 +00:00
test_eu_compact.cpp
test_eu_validate.cpp brw: Remove 3src_exec_size from the field macros 2025-11-14 18:46:58 +00:00
test_helpers.cpp
test_helpers.h
test_insert_load_reg.cpp
test_lower_scoreboard.cpp
test_opt_algebraic.cpp
test_opt_cmod_propagation.cpp brw: switch to new sampler payload description scheme 2025-10-16 12:08:15 +00:00
test_opt_combine_constants.cpp
test_opt_copy_propagation.cpp
test_opt_cse.cpp
test_opt_register_coalesce.cpp
test_opt_saturate_propagation.cpp brw: switch to new sampler payload description scheme 2025-10-16 12:08:15 +00:00
test_simd_selection.cpp
test_vf_float_conversions.cpp