mesa/src/intel/compiler/brw
Sushma Venkatesh Reddy 0ce4e8ba6f
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
brw: Use lookup tables for Gfx12+ 3src type encoding/decoding
The previous Gfx12+ implementation using bit masking is failing for FP8
types, so replacing with explicit lookup tables.
For float types, the encoding now aligns with brw_data_type_float, ensuring
correct behavior for DPAS and other 3-source instructions.

Fixes: d1d4e3d530 ("brw: Add EU assembler support for float8")

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39448>
2026-01-24 01:37:12 +00:00
..
tests brw: Properly set 'desc as register' for SEND in assembler 2025-12-10 19:46:52 +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: Remove global variables from brw_asm parser 2026-01-23 23:13:31 +00:00
brw_asm.h
brw_asm_internal.h brw: Remove global variables from brw_asm parser 2026-01-23 23:13:31 +00:00
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: Remove LINE from brw_builder and brw_generator 2025-12-16 01:34:42 +00:00
brw_cfg.cpp brw: Remove block_list in favor of blocks array 2026-01-24 01:15:52 +00:00
brw_cfg.h brw: Remove block_list in favor of blocks array 2026-01-24 01:15:52 +00:00
brw_compile_bs.cpp
brw_compile_cs.cpp brw: make sure nir_opt_algebraic_late was called after late brw_nir_optimize 2026-01-19 16:11:28 +00:00
brw_compile_fs.cpp brw: use fp64 to compute coarse_z 2026-01-21 16:00:52 +00:00
brw_compile_gs.cpp brw: Move GS URB Read Length limiting to brw_nir_lower_gs_inputs() 2025-12-18 06:39:02 +00:00
brw_compile_mesh.cpp brw: make sure nir_opt_algebraic_late was called after late brw_nir_optimize 2026-01-19 16:11:28 +00:00
brw_compile_tcs.cpp brw: Perform mark_last_urb_write_with_eot optimization after CFG 2025-12-16 17:02:58 +00:00
brw_compile_tes.cpp brw: Pass devinfo to brw_nir_lower_tes_inputs 2025-11-25 22:43:56 +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 nir_shader_compiler_options::has_pixel_coord 2026-01-21 16:00:50 +00:00
brw_compiler.h brw: drop unused color_outputs_valid key 2026-01-12 20:21:48 +00:00
brw_debug_recompile.c brw/iris: remove fs key for coherent_fb_fetch 2025-12-02 12:44:35 +00:00
brw_disasm.c brw: add missing base offset decoding 2026-01-20 21:25:52 +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: Move brw_last_inst macro to assembler 2026-01-23 23:13:31 +00:00
brw_eu_compact.c
brw_eu_defines.h brw: Provide ~ and &= operators for tgl_sbid_mode 2026-01-21 22:29:28 +00:00
brw_eu_emit.c brw: Rework UIP and JIP setting code 2026-01-08 22:01:45 +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: Move LRP related validation 2026-01-08 16:47:02 +00:00
brw_from_nir.cpp brw: move coarse_z computation to NIR 2026-01-21 16:00:52 +00:00
brw_generator.cpp brw: Move brw_last_inst macro to assembler 2026-01-23 23:13:31 +00:00
brw_generator.h brw: Rework UIP and JIP setting code 2026-01-08 22:01:45 +00:00
brw_gram.y brw: Remove global variables from brw_asm parser 2026-01-23 23:13:31 +00:00
brw_inst.cpp intel/brw: Nuke brw_inst::is_volatile() 2026-01-05 14:11:47 +00:00
brw_inst.h intel/brw: Nuke brw_inst::is_volatile() 2026-01-05 14:11:47 +00:00
brw_isa_info.h
brw_lex.l brw: Remove global variables from brw_asm parser 2026-01-23 23:13:31 +00:00
brw_load_reg.cpp
brw_lower.cpp brw: Return the new register from brw_lower_vgrf_to_fixed_grf 2025-11-26 17:20:11 +00:00
brw_lower_dpas.cpp
brw_lower_fill_spill.cpp brw: Add fill and spill opcodes for LSC platforms 2025-11-26 17:20:12 +00:00
brw_lower_integer_multiplication.cpp
brw_lower_logical_sends.cpp brw: apply same workaround to spawn than trace opcode 2026-01-20 21:25:52 +00:00
brw_lower_pack.cpp
brw_lower_regioning.cpp
brw_lower_scoreboard.cpp brw/scoreboard: Support local implicit out-of-order dependencies 2026-01-21 22:29:28 +00:00
brw_lower_simd_width.cpp brw: handle lowering of a couple of opcodes 2026-01-12 12:19:21 +00:00
brw_lower_subgroup_ops.cpp
brw_nir.c brw: use fp64 to compute coarse_z 2026-01-21 16:00:52 +00:00
brw_nir.h brw: use fp64 to compute coarse_z 2026-01-21 16:00:52 +00:00
brw_nir_analyze_ubo_ranges.c brw: add a pass to lower ubo to push constant data 2026-01-09 14:19:49 +00:00
brw_nir_lower_alpha_to_coverage.c
brw_nir_lower_cooperative_matrix.c
brw_nir_lower_cs_intrinsics.c intel: rework push constant handling 2026-01-09 14:19:52 +00:00
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_fs_load_output: unify texture builders 2026-01-14 08:18:15 +00:00
brw_nir_lower_fsign.py
brw_nir_lower_immediate_offsets.c brw: use nir_is_shared_access 2026-01-09 20:51:12 +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 Revert "anv,brw: Allow multiple ray queries without spilling to a shadow stack" 2026-01-23 21:33:55 +00:00
brw_nir_lower_rt_intrinsics.c intel: rework push constant handling 2026-01-09 14:19:52 +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 anv: Mark RootNodeOffset at 256B always 2026-01-22 23:20:04 +00: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: switch buffer/image size intrinsics lowering to NIR 2026-01-14 10:37:32 +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 intel: rework push constant handling 2026-01-09 14:19:52 +00: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 Revert "anv,brw: Allow multiple ray queries without spilling to a shadow stack" 2026-01-23 21:33:55 +00:00
brw_nir_wa_18019110168.c brw: Generalize read_attribute_payload_intel to handle more cases 2025-11-25 22:43:59 +00: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: Propagate to an instruction with same source 2025-12-18 15:15:20 -08: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: Add brw_reg::is_grf 2025-12-18 15:15:20 -08:00
brw_opt_cse.cpp brw: Add fill and spill opcodes for LSC platforms 2025-11-26 17:20:12 +00:00
brw_opt_dead_code_eliminate.cpp brw: Remove foreach_block_safe / reverse_safe 2026-01-24 01:15:52 +00:00
brw_opt_fill_spill.cpp brw: Eliminate duplicate fills 2025-11-26 17:20:13 +00:00
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: Add fill and spill opcodes for LSC platforms 2025-11-26 17:20:12 +00:00
brw_private.h
brw_reg.cpp
brw_reg.h brw: treat inline parameters like UNIFORM 2026-01-20 21:25:53 +00:00
brw_reg_allocate.cpp brw: Eliminate redundant fills and spills 2025-11-26 17:20:13 +00:00
brw_reg_type.c brw: Use lookup tables for Gfx12+ 3src type encoding/decoding 2026-01-24 01:37:12 +00:00
brw_reg_type.h brw: fix derivatives on non 32bit floats 2026-01-12 15:18:46 +00:00
brw_rt.h Revert "anv,brw: Allow multiple ray queries without spilling to a shadow stack" 2026-01-23 21:33:55 +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: treat inline parameters like UNIFORM 2026-01-20 21:25:53 +00:00
brw_shader.h brw: move coarse_z computation to NIR 2026-01-21 16:00:52 +00:00
brw_simd_selection.cpp brw: enable SIMD32 compute shaders with ray queries 2026-01-12 12:19:21 +00:00
brw_thread_payload.cpp anv/brw/iris: get rid of param array on prog_data 2026-01-09 14:19:51 +00:00
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: Flip the TESS_LEVEL_INNER/OUTER vue map slot assignments 2025-11-25 22:43:56 +00:00
brw_workaround.cpp brw: Remove foreach_block_safe / reverse_safe 2026-01-24 01:15:52 +00:00
meson.build brw: enable ray query spilling in SIMD32 2026-01-12 12:19:21 +00:00
test_eu_compact.cpp
test_eu_validate.cpp brw: Add EU assembler support for float8 2025-12-19 00:09:53 +00:00
test_helpers.cpp
test_helpers.h
test_insert_load_reg.cpp
test_lower_scoreboard.cpp brw/scoreboard: Support local implicit out-of-order dependencies 2026-01-21 22:29:28 +00:00
test_opt_algebraic.cpp
test_opt_cmod_propagation.cpp brw/cmod: Propagate to an instruction with same source 2025-12-18 15:15:20 -08: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