According to the PRMs:

"The frc instruction computes, component-wise, the
truncate-to-minus-infinity fractional values of src0 and stores the
results in dst. The results, in the range of [0.0, 1.0], are the
fractional portion of the source data. The result is in the range
[0.0, 1.0] irrespective of the rounding mode."

Signed-off-by: Samuel Iglesias Gonsálvez <sigles...@igalia.com>
---
 src/intel/compiler/brw_fs_nir.cpp | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/intel/compiler/brw_fs_nir.cpp 
b/src/intel/compiler/brw_fs_nir.cpp
index ac5067f7ecc..ef1ed9b7f0a 100644
--- a/src/intel/compiler/brw_fs_nir.cpp
+++ b/src/intel/compiler/brw_fs_nir.cpp
@@ -1301,6 +1301,8 @@ fs_visitor::nir_emit_alu(const fs_builder &bld, 
nir_alu_instr *instr)
       inst = bld.RNDD(result, op[0]);
       inst->saturate = instr->dest.saturate;
       break;
+   case nir_op_ffract_rtne:
+   case nir_op_ffract_rtz:
    case nir_op_ffract:
       inst = bld.FRC(result, op[0]);
       inst->saturate = instr->dest.saturate;
-- 
2.19.1

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to