mesa/src/intel/compiler
Matt Turner e8c74a1e16
intel/compiler: Unset flag reg when FB write is not predicated
In the FS IR we pretend that the instruction is predicated with (+f0.1)
just for flag dependency tracking purposes. Since the instruction
doesn't support predication before Haswell, we unset the predicate so we
should also unset the flag register so that we can round-trip the
disassembly.

Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
2019-05-07 14:33:48 -07:00
..
brw_cfg.cpp intel/cfg: Represent divergent control flow paths caused by non-uniform loop execution. 2017-12-07 18:27:05 -08:00
brw_cfg.h
brw_clip.h i965: Move clip program compilation to the compiler 2017-05-26 07:58:01 -07:00
brw_clip_line.c i965: Move clip program compilation to the compiler 2017-05-26 07:58:01 -07:00
brw_clip_point.c i965: Move clip program compilation to the compiler 2017-05-26 07:58:01 -07:00
brw_clip_tri.c i965: Don't emit MOVs with undefined registers for Gen4 point clipping. 2018-02-28 15:03:51 -08:00
brw_clip_unfilled.c i965: Move clip program compilation to the compiler 2017-05-26 07:58:01 -07:00
brw_clip_util.c i965: Move clip program compilation to the compiler 2017-05-26 07:58:01 -07:00
brw_compile_clip.c intel/common: move gen_debug to intel/dev 2019-04-10 13:15:33 -07:00
brw_compile_sf.c intel/common: move gen_debug to intel/dev 2019-04-10 13:15:33 -07:00
brw_compiler.c intel/compiler: Use the flrp lowering pass for all stages on Gen4 and Gen5 2019-05-06 22:52:29 -07:00
brw_compiler.h i965: Move program key debugging to the compiler. 2019-04-16 09:01:15 -07:00
brw_dead_control_flow.cpp
brw_dead_control_flow.h
brw_debug_recompile.c i965: Move program key debugging to the compiler. 2019-04-16 09:01:15 -07:00
brw_disasm.c intel/disasm: Disassemble immediate value properly for dim 2019-05-07 14:33:48 -07:00
brw_disasm_info.c intel/common: move gen_debug to intel/dev 2019-04-10 13:15:33 -07:00
brw_disasm_info.h i965: Stop including brw_cfg.h in brw_disasm_info.h 2017-11-17 21:51:16 -08:00
brw_eu.c intel/common: move gen_debug to intel/dev 2019-04-10 13:15:33 -07:00
brw_eu.h intel/compiler: Silence many unused parameter warnings in brw_eu.h 2019-03-06 08:35:31 -08:00
brw_eu_compact.c intel/compiler: don't compact 3-src instructions with Src1Type or Src2Type bits 2019-04-18 11:05:18 +02:00
brw_eu_defines.h intel/fs: Add support for bindless image load/store/atomic 2019-04-19 19:56:42 +00:00
brw_eu_emit.c intel/eu: force stride of 2 on NULL register for Byte instructions 2019-04-18 11:05:18 +02:00
brw_eu_util.c
brw_eu_validate.c intel/compiler: validate region restrictions for mixed float mode 2019-04-18 13:22:46 +02:00
brw_fs.cpp intel/compiler: Replicate 16 bit immediate value correctly 2019-05-07 14:33:48 -07:00
brw_fs.h intel/fs: Add a lowering pass for linear interpolation. 2019-04-22 16:54:00 -07:00
brw_fs_bank_conflicts.cpp i965/fs: unspills shoudn't use grf127 as dest since Gen8+ 2018-07-12 18:02:26 +02:00
brw_fs_builder.h intel/compiler: Improve fix_3src_operand() 2019-04-22 16:54:31 -07:00
brw_fs_cmod_propagation.cpp Revert "intel/compiler: split is_partial_write() into two variants" 2019-04-25 09:19:10 +02:00
brw_fs_combine_constants.cpp intel/fs: Fix D to W conversion in opt_combine_constants 2019-04-23 19:48:33 -07:00
brw_fs_copy_propagation.cpp Revert "intel/compiler: split is_partial_write() into two variants" 2019-04-25 09:19:10 +02:00
brw_fs_cse.cpp Revert "intel/compiler: split is_partial_write() into two variants" 2019-04-25 09:19:10 +02:00
brw_fs_dead_code_eliminate.cpp Revert "intel/compiler: split is_partial_write() into two variants" 2019-04-25 09:19:10 +02:00
brw_fs_generator.cpp intel/compiler: Unset flag reg when FB write is not predicated 2019-05-07 14:33:48 -07:00
brw_fs_live_variables.cpp Revert "intel/compiler: split is_partial_write() into two variants" 2019-04-25 09:19:10 +02:00
brw_fs_live_variables.h intel/fs: Restrict live intervals to the subset possibly reachable from any definition. 2017-12-07 18:27:04 -08:00
brw_fs_lower_pack.cpp
brw_fs_lower_regioning.cpp intel/compiler: workaround for SIMD8 half-float MAD in gen8 2019-04-18 11:05:18 +02:00
brw_fs_nir.cpp intel/fs: Assert when brw_fs_nir sees a nir_deref_instr 2019-05-02 23:25:30 -07:00
brw_fs_reg_allocate.cpp Revert "intel/compiler: split is_partial_write() into two variants" 2019-04-25 09:19:10 +02:00
brw_fs_register_coalesce.cpp Revert "intel/compiler: split is_partial_write() into two variants" 2019-04-25 09:19:10 +02:00
brw_fs_saturate_propagation.cpp Revert "intel/compiler: split is_partial_write() into two variants" 2019-04-25 09:19:10 +02:00
brw_fs_sel_peephole.cpp Revert "intel/compiler: split is_partial_write() into two variants" 2019-04-25 09:19:10 +02:00
brw_fs_validate.cpp intel: disable FS IR validation in release mode. 2018-10-15 18:10:27 -07:00
brw_fs_visitor.cpp intel/compiler/fs/icl: Use dummy masked urb write for tess eval 2019-04-25 22:00:43 +03:00
brw_inst.h intel/compiler: add instruction setters for Src1Type and Src2Type. 2019-04-18 11:05:18 +02:00
brw_interpolation_map.c intel/compiler: Silence unused parameter warning in brw_interpolation_map.c 2019-03-06 08:35:36 -08:00
brw_ir_allocator.h intel/ir: Don't allow allocating zero registers 2018-12-11 21:26:23 -06:00
brw_ir_fs.h Revert "intel/compiler: split is_partial_write() into two variants" 2019-04-25 09:19:10 +02:00
brw_ir_vec4.h intel: Don't propagate conditional modifiers if a UD source is negated 2018-10-10 13:13:12 -05:00
brw_nir.c intel/compiler: Don't always require precise lowering of flrp 2019-05-06 22:52:29 -07:00
brw_nir.h anv: Use bindless handles for images 2019-04-19 19:56:42 +00:00
brw_nir_analyze_boolean_resolves.c nir: make nir_const_value scalar 2019-04-14 22:25:56 +02:00
brw_nir_analyze_ubo_ranges.c intel/analyze_ubo_ranges: Use nir_src_is_const and friends 2018-11-08 10:09:25 -06:00
brw_nir_attribute_workarounds.c i965: Drop support for the legacy SNORM -> Float equation. 2018-01-02 16:51:42 -08:00
brw_nir_lower_conversions.c intel/compiler: add a NIR pass to lower conversions 2019-04-18 11:05:18 +02:00
brw_nir_lower_cs_intrinsics.c intel/fs: Don't loop when lowering CS intrinsics 2019-04-08 19:29:33 -07:00
brw_nir_lower_image_load_store.c nir/builder: Add a nir_imm_zero helper 2019-04-14 22:25:56 +02:00
brw_nir_lower_mem_access_bit_sizes.c intel/compiler: use defined size for vector components 2019-04-03 13:59:06 +10:00
brw_nir_opt_peephole_ffma.c intel/peephole_ffma: Fix swizzle propagation 2019-01-11 10:44:08 -06:00
brw_nir_tcs_workarounds.c util: use C99 declaration in the for-loop set_foreach() macro 2018-10-25 12:43:18 +01:00
brw_nir_trig_workarounds.py python: Use the print function 2018-07-06 10:04:22 -07:00
brw_packed_float.c
brw_predicated_break.cpp
brw_reg.h intel/compiler: Expand size of the 'nr' field 2019-01-09 16:42:41 -08:00
brw_reg_type.c intel/compiler: add new half-float register type for 3-src instructions 2019-04-18 11:05:18 +02:00
brw_reg_type.h intel/compiler: add a brw_reg_type_is_integer helper 2019-04-18 11:05:18 +02:00
brw_schedule_instructions.cpp intel/compiler: Re-prefix non-logical surface opcodes with VEC4 2019-02-28 16:58:20 -06:00
brw_shader.cpp anv: Implement VK_KHR_shader_atomic_int64 2019-04-19 19:56:42 +00:00
brw_shader.h intel/nir: Take a nir_tex_instr and src index in brw_texture_offset 2019-04-14 22:25:56 +02:00
brw_vec4.cpp intel/compiler: Do not reswizzle dst if instruction writes to flag register 2019-04-16 09:42:08 +00:00
brw_vec4.h intel/compiler: Prevent warnings in the following patch 2019-01-09 16:42:41 -08:00
brw_vec4_builder.h intel/compiler: Lower flrp32 on Gen11+ 2018-02-28 11:15:47 -08:00
brw_vec4_cmod_propagation.cpp intel/compiler: use correct swizzle for replacement 2019-02-27 20:06:42 +00:00
brw_vec4_copy_propagation.cpp intel/compiler: Re-prefix non-logical surface opcodes with VEC4 2019-02-28 16:58:20 -06:00
brw_vec4_cse.cpp i965/vec4: Allow CSE on subset VF constant loads 2018-03-08 15:26:26 -08:00
brw_vec4_dead_code_eliminate.cpp i965/vec4/dce: Don't narrow the write mask if the flags are used 2018-12-17 13:47:06 -08:00
brw_vec4_generator.cpp intel/compiler: Replicate 16 bit immediate value correctly 2019-05-07 14:33:48 -07:00
brw_vec4_gs_nir.cpp intel/vec4: Use the new nir_src_is_const and friends 2018-11-08 10:09:25 -06:00
brw_vec4_gs_visitor.cpp intel/common: move gen_debug to intel/dev 2019-04-10 13:15:33 -07:00
brw_vec4_gs_visitor.h i965/vec4: Delete the system value infastructure 2017-05-09 15:08:07 -07:00
brw_vec4_live_variables.cpp
brw_vec4_live_variables.h
brw_vec4_nir.cpp nir: make nir_const_value scalar 2019-04-14 22:25:56 +02:00
brw_vec4_reg_allocate.cpp intel/compiler: Prevent warnings in the following patch 2019-01-09 16:42:41 -08:00
brw_vec4_surface_builder.cpp intel/compiler: Re-prefix non-logical surface opcodes with VEC4 2019-02-28 16:58:20 -06: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/common: move gen_debug to intel/dev 2019-04-10 13:15:33 -07:00
brw_vec4_tcs.h i965/vec4: Delete the system value infastructure 2017-05-09 15:08:07 -07:00
brw_vec4_tes.cpp intel/common: move gen_debug to intel/dev 2019-04-10 13:15:33 -07:00
brw_vec4_tes.h i965/vec4: Delete the system value infastructure 2017-05-09 15:08:07 -07:00
brw_vec4_visitor.cpp intel/compiler: fix uninit non-static variable. (v2) 2019-04-25 06:06:57 +10:00
brw_vec4_vs.h i965: Drop support for the legacy SNORM -> Float equation. 2018-01-02 16:51:42 -08:00
brw_vec4_vs_visitor.cpp intel/common: move gen_debug to intel/dev 2019-04-10 13:15:33 -07:00
brw_vue_map.c intel/common: move gen_debug to intel/dev 2019-04-10 13:15:33 -07:00
brw_wm_iz.cpp intel/fs: Extend thread payload layout to SIMD32 2018-06-28 13:19:38 -07:00
gen6_gs_visitor.cpp intel/compiler: Prevent warnings in the following patch 2019-01-09 16:42:41 -08:00
gen6_gs_visitor.h
meson.build intel/compiler: add a NIR pass to lower conversions 2019-04-18 11:05:18 +02:00
test_eu_compact.cpp intel/ir: Fix invalid type aliasing with undefined behavior in test_eu_compact. 2018-02-27 11:42:39 -08:00
test_eu_validate.cpp intel/compiler: validate region restrictions for mixed float mode 2019-04-18 13:22:46 +02:00
test_fs_cmod_propagation.cpp intel/compiler/test: Add unit test for mismatched signedness comparison 2019-02-15 11:11:02 -08:00
test_fs_copy_propagation.cpp
test_fs_saturate_propagation.cpp intel/compiler: Add unit tests for sat prop for different exec sizes 2019-04-22 16:54:21 -07:00
test_vec4_cmod_propagation.cpp i965/vec4: Silence unused parameter warnings in vec4 compiler tests 2018-12-17 13:47:06 -08:00
test_vec4_copy_propagation.cpp i965/vec4: Silence unused parameter warnings in vec4 compiler tests 2018-12-17 13:47:06 -08:00
test_vec4_dead_code_eliminate.cpp i965/vec4/dce: Don't narrow the write mask if the flags are used 2018-12-17 13:47:06 -08:00
test_vec4_register_coalesce.cpp i965/vec4: Silence unused parameter warnings in vec4 compiler tests 2018-12-17 13:47:06 -08:00
test_vf_float_conversions.cpp