mesa/src/intel/compiler
Lionel Landwerlin 8b6d22109f intel/fs/vec4: add missing dependency in write-on-write fixed GRFs
If we load constant data using pull constant SENDS, and we later load
that register with some other data, we can end up in a situation where
we don't track the initial fixed register write and therefore end up
using uninitialized registers.

This tracks write-on-write of fixed GRFs like we do for normal virtual
GRFs.

v2: Fix post_alloc_reg case (Jason)

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: <mesa-stable@lists.freedesktop.org>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9667>
2021-03-17 23:25:02 +00:00
..
brw_cfg.cpp intel/ir: Remove scheduling-based cycle count estimates. 2020-04-28 23:01:27 -07:00
brw_cfg.h intel/ir: Remove scheduling-based cycle count estimates. 2020-04-28 23:01:27 -07:00
brw_clip.h
brw_clip_line.c
brw_clip_point.c
brw_clip_tri.c
brw_clip_unfilled.c
brw_clip_util.c
brw_compile_clip.c intel: drop likely/unlikely around INTEL_DEBUG 2020-10-06 18:43:07 +00:00
brw_compile_sf.c intel: drop likely/unlikely around INTEL_DEBUG 2020-10-06 18:43:07 +00:00
brw_compiler.c nir: add has_txs flag 2021-02-23 14:04:30 +00:00
brw_compiler.h intel/compiler: Use gl_varying_slot_name_for_stage() 2021-02-13 00:44:53 +00:00
brw_dead_control_flow.cpp intel/compiler: Pass detailed dependency classes to invalidate_analysis() 2020-03-06 10:20:39 -08:00
brw_dead_control_flow.h
brw_debug_recompile.c intel/compiler: Add a "base class" for program keys 2019-07-10 19:35:55 +00:00
brw_disasm.c intel/disasm: Don't rely on FALLTHROUGHTs to print unsupported SFID 2020-11-25 16:46:16 +00:00
brw_disasm_info.c intel/disasm: Label support in shader disassembly for UIP/JIP 2020-09-02 10:33:29 +00:00
brw_disasm_info.h intel/disasm: Label support in shader disassembly for UIP/JIP 2020-09-02 10:33:29 +00:00
brw_eu.cpp intel/eu: Add a mechanism for emitting relocatable constant MOVs 2020-09-02 19:48:44 +00:00
brw_eu.h intel/compiler: Silence unused parameter warnings in files that include brw_eu.h 2021-02-23 15:11:37 -08:00
brw_eu_compact.c intel: remove dead code 2020-11-02 19:58:56 +00:00
brw_eu_defines.h intel/fs: Emit code for Gen12-HP indirect compute data 2021-01-13 13:10:28 -08:00
brw_eu_emit.c intel/compiler: Enable the ability to emit CMPN instructions 2021-02-17 19:52:24 +00:00
brw_eu_util.c
brw_eu_validate.c intel/eu/validate: Add some checks for CMP and CMPN 2021-02-17 19:52:24 +00:00
brw_fs.cpp intel/fs: Use INTEL_MASK for pushish constant address masking 2021-03-10 22:17:41 +00:00
brw_fs.h intel/fs: Use BRW_OPCODE_HALT for discards 2020-12-01 16:19:08 -06:00
brw_fs_bank_conflicts.cpp intel/fs: Replace fs_visitor::bank_conflict_cycles() with stand-alone function. 2020-04-28 23:00:29 -07:00
brw_fs_builder.h intel/compiler: Make the CMPN builder work like the CMP builder 2021-02-17 19:52:24 +00:00
brw_fs_cmod_propagation.cpp intel/compiler: don't propagate cmp to add if add is saturated 2020-07-11 00:25:48 +00:00
brw_fs_combine_constants.cpp intel/compiler: Move idom tree calculation and related logic into analysis object 2020-03-06 10:21:03 -08:00
brw_fs_copy_propagation.cpp intel/compiler: Relax some conditions in try_copy_propagate 2021-02-23 15:11:37 -08:00
brw_fs_cse.cpp intel/fs: Use BRW_OPCODE_HALT for discards 2020-12-01 16:19:08 -06:00
brw_fs_dead_code_eliminate.cpp intel/compiler/fs: Switch liveness analysis to IR analysis framework 2020-03-06 10:20:57 -08:00
brw_fs_generator.cpp intel/compiler: Enable the ability to emit CMPN instructions 2021-02-17 19:52:24 +00:00
brw_fs_live_variables.cpp intel/compiler: Silence unused parameter warning in fs_live_variables::setup_one_read 2020-04-17 08:21:40 -07:00
brw_fs_live_variables.h intel/compiler: Silence unused parameter warning in fs_live_variables::setup_one_read 2020-04-17 08:21:40 -07:00
brw_fs_lower_pack.cpp intel/compiler: Pass detailed dependency classes to invalidate_analysis() 2020-03-06 10:20:39 -08:00
brw_fs_lower_regioning.cpp intel/fs: Assert if lower_source_modifiers converts 32x16 to 32x32 multiplication 2020-08-10 13:29:56 -07:00
brw_fs_nir.cpp intel/fs,rt: Add a predicate to load_global_const_block 2021-03-17 17:49:58 +00:00
brw_fs_reg_allocate.cpp intel/fs: Handle payload node interference in destinations 2021-03-10 22:17:41 +00:00
brw_fs_register_coalesce.cpp intel/fs: Don't delete coalesced MOVs if they have a cmod 2020-04-29 16:45:51 +00:00
brw_fs_saturate_propagation.cpp intel/compiler/fs: Switch liveness analysis to IR analysis framework 2020-03-06 10:20:57 -08:00
brw_fs_scoreboard.cpp intel/fs: Rename PLACEHOLDER_HALT to HALT_TARGET 2020-12-01 16:18:50 -06:00
brw_fs_sel_peephole.cpp intel/compiler: Don't create 64-bit src1 immediates in opt_peephole_sel 2020-04-23 00:53:14 +00:00
brw_fs_validate.cpp
brw_fs_visitor.cpp intel/compiler: Add support for bindless shaders 2020-11-25 05:37:09 +00:00
brw_gen_enum.h intel: Use devinfo genx10 field 2021-03-01 22:00:08 -08:00
brw_inst.h intel/compiler: Use assume() instead of assert() for array bounds. 2021-03-17 03:47:23 +00:00
brw_interpolation_map.c intel/compiler: mark debug constant as const 2020-09-02 15:08:01 +00:00
brw_ir.h intel/compiler: Relax some conditions in try_copy_propagate 2021-02-23 15:11:37 -08:00
brw_ir_allocator.h
brw_ir_analysis.h intel/compiler: use C++ template instead of preprocessor 2020-11-03 10:42:29 +00:00
brw_ir_fs.h intel/reg,fs: Handle immediates properly in subscript() 2021-01-22 18:38:37 +00:00
brw_ir_performance.cpp intel/fs: Use BRW_OPCODE_HALT for discards 2020-12-01 16:19:08 -06:00
brw_ir_performance.h intel/ir: Import shader performance analysis pass. 2020-04-28 23:01:03 -07:00
brw_ir_vec4.h intel/vec4: Fix constness of vec4_instruction::reads_flag() and ::writes_flag(). 2020-04-28 23:00:29 -07:00
brw_nir.c nir: Make nir_ssa_def_rewrite_uses take an SSA value 2021-03-08 16:59:55 +00:00
brw_nir.h brw/vec4: Don't convert tex dest type to glsl_type 2021-01-25 11:21:42 +01:00
brw_nir_analyze_boolean_resolves.c intel/fs: Mark source 0 of bcsel as needing Boolean resolve 2019-06-11 12:12:07 -07:00
brw_nir_analyze_ubo_ranges.c intel/compiler: Do not qsort zero sized array 2020-02-19 12:07:24 +02:00
brw_nir_attribute_workarounds.c nir: Make nir_ssa_def_rewrite_uses_after take an SSA value 2021-03-08 16:59:55 +00:00
brw_nir_clamp_image_1d_2d_array_sizes.c nir: Make nir_ssa_def_rewrite_uses_after take an SSA value 2021-03-08 16:59:55 +00:00
brw_nir_lower_alpha_to_coverage.c intel/nir: Clean up lower_alpha_to_coverage a bit 2020-08-29 16:41:05 +00:00
brw_nir_lower_conversions.c nir: Make nir_ssa_def_rewrite_uses take an SSA value 2021-03-08 16:59:55 +00:00
brw_nir_lower_cs_intrinsics.c nir: Make nir_ssa_def_rewrite_uses_after take an SSA value 2021-03-08 16:59:55 +00:00
brw_nir_lower_image_load_store.c nir: Make nir_ssa_def_rewrite_uses take an SSA value 2021-03-08 16:59:55 +00:00
brw_nir_lower_intersection_shader.c nir: Make nir_ssa_def_rewrite_uses take an SSA value 2021-03-08 16:59:55 +00:00
brw_nir_lower_mem_access_bit_sizes.c nir: Make nir_ssa_def_rewrite_uses take an SSA value 2021-03-08 16:59:55 +00:00
brw_nir_lower_rt_intrinsics.c intel/fs,rt: Add a predicate to load_global_const_block 2021-03-17 17:49:58 +00:00
brw_nir_lower_scoped_barriers.c intel/compiler: use intrinsic builders 2021-01-06 14:34:41 +00:00
brw_nir_lower_shader_calls.c nir: Make nir_ssa_def_rewrite_uses take an SSA value 2021-03-08 16:59:55 +00:00
brw_nir_opt_peephole_ffma.c nir: Make nir_ssa_def_rewrite_uses take an SSA value 2021-03-08 16:59:55 +00:00
brw_nir_rt.c nir: Make nir_ssa_def_rewrite_uses take an SSA value 2021-03-08 16:59:55 +00:00
brw_nir_rt.h intel/rt: Add a helper to create the raygen trampoline shader 2020-11-25 05:37:10 +00:00
brw_nir_rt_builder.h intel/fs,rt: Add a predicate to load_global_const_block 2021-03-17 17:49:58 +00:00
brw_nir_tcs_workarounds.c intel/compiler: use intrinsic builders 2021-01-06 14:34:41 +00:00
brw_nir_trig_workarounds.py intel/nir: do not apply the fsin and fcos trig workarounds for consts 2019-09-17 23:39:18 +03:00
brw_packed_float.c intel/compiler: Cast to target type before shifting left 2019-10-24 16:19:23 +02:00
brw_predicated_break.cpp intel/compiler: Pass detailed dependency classes to invalidate_analysis() 2020-03-06 10:20:39 -08:00
brw_reg.h intel/reg,fs: Handle immediates properly in subscript() 2021-01-22 18:38:37 +00:00
brw_reg_type.c intel/compiler: Handle invalid inputs to brw_reg_type_to_*() 2020-01-22 00:19:21 +00:00
brw_reg_type.h intel/compiler: Move brw_reg_type_for_bit_size to brw_reg_type.h 2021-01-22 18:38:37 +00:00
brw_rt.h intel/rt: Implement push constants as global memory reads 2020-11-25 05:37:10 +00:00
brw_schedule_instructions.cpp intel/fs/vec4: add missing dependency in write-on-write fixed GRFs 2021-03-17 23:25:02 +00:00
brw_shader.cpp intel/compiler: Relax some conditions in try_copy_propagate 2021-02-23 15:11:37 -08:00
brw_shader.h intel/compiler: use C++ template instead of preprocessor 2020-11-03 10:42:29 +00:00
brw_vec4.cpp intel/compiler: Use CMPN for min / max on Gen4 and Gen5 2021-02-17 19:52:24 +00:00
brw_vec4.h brw/vec4: Don't convert tex dest type to glsl_type 2021-01-25 11:21:42 +01:00
brw_vec4_builder.h intel/compiler: Make the CMPN builder work like the CMP builder 2021-02-17 19:52:24 +00:00
brw_vec4_cmod_propagation.cpp intel/compiler: Pass detailed dependency classes to invalidate_analysis() 2020-03-06 10:20:39 -08:00
brw_vec4_copy_propagation.cpp intel/compiler: Relax some conditions in try_copy_propagate 2021-02-23 15:11:37 -08:00
brw_vec4_cse.cpp i965/vec4: Ignore swizzle of VGRF for use by var_range_end() 2020-05-20 20:19:18 +00:00
brw_vec4_dead_code_eliminate.cpp intel/compiler/vec4: Switch liveness analysis to IR analysis framework 2020-03-06 10:20:59 -08:00
brw_vec4_generator.cpp intel/compiler: Enable the ability to emit CMPN instructions 2021-02-17 19:52:24 +00:00
brw_vec4_gs_nir.cpp nir: Add ability to count emitted GS primitives. 2020-10-09 15:26:14 +02:00
brw_vec4_gs_visitor.cpp intel/compiler: Use gl_varying_slot_name_for_stage() 2021-02-13 00:44:53 +00:00
brw_vec4_gs_visitor.h
brw_vec4_live_variables.cpp intel/compiler: Drop invalidate_live_intervals() 2020-03-06 10:21:01 -08:00
brw_vec4_live_variables.h intel/compiler/vec4: Switch liveness analysis to IR analysis framework 2020-03-06 10:20:59 -08:00
brw_vec4_nir.cpp brw/vec4: Don't convert tex dest type to glsl_type 2021-01-25 11:21:42 +01:00
brw_vec4_reg_allocate.cpp intel/compiler/vec4: Switch liveness analysis to IR analysis framework 2020-03-06 10:20:59 -08:00
brw_vec4_surface_builder.cpp intel/vec4: Remove all support for Gen8+ [v2] 2020-09-28 11:43:10 -07:00
brw_vec4_surface_builder.h intel/vec4: Drop dead code for handling typed surface messages 2019-02-28 16:58:20 -06:00
brw_vec4_tcs.cpp intel/compiler: Use gl_varying_slot_name_for_stage() 2021-02-13 00:44:53 +00:00
brw_vec4_tcs.h intel/compiler: Silence unused parameter warnings in vec4_tcs_visitor 2020-04-17 08:21:37 -07:00
brw_vec4_tes.cpp intel/vec4: Drop all of the 64-bit varying code 2019-07-31 18:14:09 -05:00
brw_vec4_tes.h
brw_vec4_visitor.cpp brw/vec4: Don't convert tex dest type to glsl_type 2021-01-25 11:21:42 +01:00
brw_vec4_vs.h i965: Use NIR to lower legacy userclipping. 2019-07-24 18:00:13 +00:00
brw_vec4_vs_visitor.cpp i965: Use NIR to lower legacy userclipping. 2019-07-24 18:00:13 +00:00
brw_vue_map.c intel/compiler: Use gl_varying_slot_name_for_stage() 2021-02-13 00:44:53 +00:00
brw_wm_iz.cpp intel/fs: Move more prog_data setup into populate_wm_prog_data 2020-06-23 17:43:53 +00:00
gen6_gs_visitor.cpp
gen6_gs_visitor.h
meson.build intel/rt: Add lowering for combined intersection/any-hit shaders 2020-11-25 05:37:10 +00:00
test_eu_compact.cpp intel: Use devinfo genx10 field 2021-03-01 22:00:08 -08:00
test_eu_validate.cpp intel/compiler: Remove Gen10-specific code 2020-10-15 09:29:53 -07:00
test_fs_cmod_propagation.cpp intel: Use devinfo genx10 field 2021-03-01 22:00:08 -08:00
test_fs_copy_propagation.cpp intel: Use devinfo genx10 field 2021-03-01 22:00:08 -08:00
test_fs_saturate_propagation.cpp intel: Use devinfo genx10 field 2021-03-01 22:00:08 -08:00
test_fs_scoreboard.cpp intel: Use devinfo genx10 field 2021-03-01 22:00:08 -08:00
test_vec4_cmod_propagation.cpp intel: Use devinfo genx10 field 2021-03-01 22:00:08 -08:00
test_vec4_copy_propagation.cpp intel: Use devinfo genx10 field 2021-03-01 22:00:08 -08:00
test_vec4_dead_code_eliminate.cpp intel: Use devinfo genx10 field 2021-03-01 22:00:08 -08:00
test_vec4_register_coalesce.cpp intel: Use devinfo genx10 field 2021-03-01 22:00:08 -08:00
test_vf_float_conversions.cpp