mesa/src/intel/compiler/elk
Ian Romanick da1fd9786b
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
elk/cmod: Don't propagate from CMP to ADD if there is a write between
If either source of the CMP is modified before an appropriate ADD is
found, the ADD and the CMP will not have the same result.

No shader-db changes on any ELK platform. I suspect the problematic
cases only occur after scheduling has rearranged instructions. This is
likely the reason BRW didn't experience this problem until 09450faf.

Fixes: 020b0055e7 ("i965/fs: Propagate conditional modifiers from compares to adds")
Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39967>
2026-02-19 21:28:55 +00:00
..
tests intel/compiler tests: fix path-to-string conversion 2025-06-23 08:26:29 +00:00
elk_asm.h intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_asm_tool.c intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_cfg.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_cfg.h intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_clip.h intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_clip_line.c intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_clip_point.c intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_clip_tri.c intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_clip_unfilled.c intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_clip_util.c intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_compile_clip.c intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_compile_ff_gs.c intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_compile_sf.c intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_compiler.c intel/elk, hasvk: Drop indirect_ubos_use_sampler option and DP code 2026-02-16 21:33:42 +00:00
elk_compiler.h intel/elk, hasvk: Drop indirect_ubos_use_sampler option and DP code 2026-02-16 21:33:42 +00:00
elk_dead_control_flow.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_dead_control_flow.h intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_debug_recompile.c intel: Rename wm_prog_key to fs_prog_key 2026-02-06 20:52:01 -08:00
elk_disasm.c intel: fork exec_node/list -> brw_exec_node/list as a private Intel utility 2025-07-31 20:23:02 +00:00
elk_disasm.h intel/compiler: Use #pragma once instead of header guards 2024-12-11 19:47:44 +00:00
elk_disasm_info.c intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_disasm_info.h intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_disasm_tool.c intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_eu.c intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_eu.h intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_eu_compact.c intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_eu_defines.h intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_eu_emit.c intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_eu_opcodes.h intel/compiler: Use #pragma once instead of header guards 2024-12-11 19:47:44 +00:00
elk_eu_util.c intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_eu_validate.c intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_fs.cpp elk: Delete mesh shader remnants 2026-02-09 21:56:05 +00:00
elk_fs.h elk: Delete mesh shader remnants 2026-02-09 21:56:05 +00:00
elk_fs_bank_conflicts.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_fs_builder.h intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_fs_cmod_propagation.cpp elk/cmod: Don't propagate from CMP to ADD if there is a write between 2026-02-19 21:28:55 +00:00
elk_fs_combine_constants.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_fs_copy_propagation.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_fs_cse.cpp elk/cse: use copies in operands_match instead of in-place modification 2026-02-11 18:43:03 +00:00
elk_fs_dead_code_eliminate.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_fs_generator.cpp intel: Rename wm_prog_data to fs_prog_data 2026-02-06 20:51:59 -08:00
elk_fs_live_variables.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_fs_live_variables.h intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_fs_lower_pack.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_fs_lower_regioning.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_fs_nir.cpp elk: Use F16TO32 for nir_op_f2f32 of float16 source 2026-02-14 02:06:59 +00:00
elk_fs_reg_allocate.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_fs_register_coalesce.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_fs_saturate_propagation.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_fs_sel_peephole.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_fs_thread_payload.cpp intel: Rename wm_prog_key to fs_prog_key 2026-02-06 20:52:01 -08:00
elk_fs_validate.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_fs_visitor.cpp elk: Delete mesh shader remnants 2026-02-09 21:56:05 +00:00
elk_gfx6_gs_visitor.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_gfx6_gs_visitor.h intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_gram.y intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_inst.h intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_interpolation_map.c intel: Rename wm_prog_data to fs_prog_data 2026-02-06 20:51:59 -08:00
elk_ir.h intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_ir_allocator.h intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_ir_analysis.h intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_ir_fs.h intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_ir_performance.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_ir_performance.h intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_ir_vec4.h intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_isa_info.h intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_lex.l intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_lower_logical_sends.cpp intel/elk, hasvk: Drop indirect_ubos_use_sampler option and DP code 2026-02-16 21:33:42 +00:00
elk_nir.c elk: Call nir_opt_algebraic_late in elk_postprocess_nir 2026-02-14 02:06:59 +00:00
elk_nir.h intel: Rename wm_prog_key to fs_prog_key 2026-02-06 20:52:01 -08:00
elk_nir_analyze_boolean_resolves.c intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_nir_analyze_ubo_ranges.c intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_nir_attribute_workarounds.c intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_nir_lower_alpha_to_coverage.c intel: Rename wm_prog_key to fs_prog_key 2026-02-06 20:52:01 -08:00
elk_nir_lower_cs_intrinsics.c elk: Delete mesh shader remnants 2026-02-09 21:56:05 +00:00
elk_nir_lower_storage_image.c elk/lower_storage_image: use f2f32 instead of unpack_half 2026-02-06 06:12:36 +00:00
elk_nir_options.c nir/uub: Use an optional max_samples from drivers for sample counts. 2025-12-11 14:26:11 +00:00
elk_nir_options.h intel/compiler: Use #pragma once instead of header guards 2024-12-11 19:47:44 +00:00
elk_nir_private.h intel/compiler: Use #pragma once instead of header guards 2024-12-11 19:47:44 +00:00
elk_nir_trig_workarounds.py intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_packed_float.c intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_predicated_break.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_private.h intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_reg.h intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_reg_type.c intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_reg_type.h intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_schedule_instructions.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_shader.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_shader.h intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_simd_selection.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_test_eu_compact.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_test_eu_validate.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_test_fs_cmod_propagation.cpp intel: Rename wm_prog_data to fs_prog_data 2026-02-06 20:51:59 -08:00
elk_test_fs_combine_constants.cpp intel: Rename wm_prog_data to fs_prog_data 2026-02-06 20:51:59 -08:00
elk_test_fs_copy_propagation.cpp intel: Rename wm_prog_data to fs_prog_data 2026-02-06 20:51:59 -08:00
elk_test_fs_saturate_propagation.cpp intel: Rename wm_prog_data to fs_prog_data 2026-02-06 20:51:59 -08:00
elk_test_predicated_break.cpp intel: Rename wm_prog_data to fs_prog_data 2026-02-06 20:51:59 -08:00
elk_test_simd_selection.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_test_vec4_cmod_propagation.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_test_vec4_copy_propagation.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_test_vec4_dead_code_eliminate.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_test_vec4_register_coalesce.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_test_vf_float_conversions.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_vec4.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_vec4.h intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_vec4_builder.h intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_vec4_cmod_propagation.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_vec4_copy_propagation.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_vec4_cse.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_vec4_dead_code_eliminate.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_vec4_generator.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_vec4_gs_nir.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_vec4_gs_visitor.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_vec4_gs_visitor.h intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_vec4_live_variables.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_vec4_live_variables.h intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_vec4_nir.cpp elk: Delete mesh shader remnants 2026-02-09 21:56:05 +00:00
elk_vec4_reg_allocate.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_vec4_surface_builder.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_vec4_surface_builder.h intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_vec4_tcs.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_vec4_tcs.h intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_vec4_tes.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_vec4_tes.h intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_vec4_visitor.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_vec4_vs.h intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_vec4_vs_visitor.cpp intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
elk_vue_map.c intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
meson.build brw,elk: drop unused spirv->nir routines 2025-11-06 17:47:41 +00:00