diff --git a/src/intel/compiler/brw_fs.cpp b/src/intel/compiler/brw_fs.cpp index b6a0109e2b3..1917f94a645 100644 --- a/src/intel/compiler/brw_fs.cpp +++ b/src/intel/compiler/brw_fs.cpp @@ -1500,7 +1500,7 @@ fs_visitor::emit_shading_rate_setup() } fs_reg -fs_visitor::resolve_source_modifiers(const fs_reg &src) +fs_visitor::resolve_source_modifiers(const fs_builder &bld, const fs_reg &src) { if (!src.abs && !src.negate) return src; diff --git a/src/intel/compiler/brw_fs.h b/src/intel/compiler/brw_fs.h index 0bdebed3bd8..155e563211c 100644 --- a/src/intel/compiler/brw_fs.h +++ b/src/intel/compiler/brw_fs.h @@ -303,7 +303,7 @@ public: fs_reg emit_mcs_fetch(const fs_reg &coordinate, unsigned components, const fs_reg &texture, const fs_reg &texture_handle); - fs_reg resolve_source_modifiers(const fs_reg &src); + fs_reg resolve_source_modifiers(const brw::fs_builder &bld, const fs_reg &src); void emit_fsign(const class brw::fs_builder &, const nir_alu_instr *instr, fs_reg result, fs_reg *op, unsigned fsign_src); void emit_shader_float_controls_execution_mode(); diff --git a/src/intel/compiler/brw_fs_nir.cpp b/src/intel/compiler/brw_fs_nir.cpp index 8ecb261de52..4f666ccb4c0 100644 --- a/src/intel/compiler/brw_fs_nir.cpp +++ b/src/intel/compiler/brw_fs_nir.cpp @@ -757,7 +757,7 @@ fs_visitor::resolve_inot_sources(const fs_builder &bld, nir_alu_instr *instr, assert(!op[i].negate); op[i].negate = true; } else { - op[i] = resolve_source_modifiers(op[i]); + op[i] = resolve_source_modifiers(bld, op[i]); } } } @@ -1273,8 +1273,8 @@ fs_visitor::nir_emit_alu(const fs_builder &bld, nir_alu_instr *instr, fs_reg tmp = bld.vgrf(result.type); if (devinfo->ver >= 8) { - op[0] = resolve_source_modifiers(op[0]); - op[1] = resolve_source_modifiers(op[1]); + op[0] = resolve_source_modifiers(bld, op[0]); + op[1] = resolve_source_modifiers(bld, op[1]); } /* AVG(x, y) - ((x ^ y) & 1) */ @@ -1522,7 +1522,7 @@ fs_visitor::nir_emit_alu(const fs_builder &bld, nir_alu_instr *instr, unreachable("impossible opcode"); } } - op[0] = resolve_source_modifiers(op[0]); + op[0] = resolve_source_modifiers(bld, op[0]); } bld.NOT(result, op[0]); break;