diff options
Diffstat (limited to 'src/mesa/drivers/dri')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_fs_nir.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp b/src/mesa/drivers/dri/i965/brw_fs_nir.cpp index aab74298fae..5d78272e82a 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_nir.cpp @@ -613,6 +613,14 @@ fs_visitor::nir_emit_alu(nir_alu_instr *instr) emit_percomp(FS_OPCODE_DDX_COARSE, result, op[0], instr->dest.write_mask, instr->dest.saturate); break; + case nir_op_fddx_fine: + emit_percomp(FS_OPCODE_DDX_FINE, result, op[0], + instr->dest.write_mask, instr->dest.saturate); + break; + case nir_op_fddx_coarse: + emit_percomp(FS_OPCODE_DDX_COARSE, result, op[0], + instr->dest.write_mask, instr->dest.saturate); + break; case nir_op_fddy: if (fs_key->high_quality_derivatives) emit_percomp(FS_OPCODE_DDY_FINE, result, op[0], @@ -623,6 +631,16 @@ fs_visitor::nir_emit_alu(nir_alu_instr *instr) fs_reg(fs_key->render_to_fbo), instr->dest.write_mask, instr->dest.saturate); break; + case nir_op_fddy_fine: + emit_percomp(FS_OPCODE_DDY_FINE, result, op[0], + fs_reg(fs_key->render_to_fbo), + instr->dest.write_mask, instr->dest.saturate); + break; + case nir_op_fddy_coarse: + emit_percomp(FS_OPCODE_DDY_COARSE, result, op[0], + fs_reg(fs_key->render_to_fbo), + instr->dest.write_mask, instr->dest.saturate); + break; case nir_op_fadd: case nir_op_iadd: { |