From: Jason Ekstrand Date: Fri, 25 Mar 2016 20:58:17 +0000 (-0700) Subject: nir: Add an opcode for stomping a 32-bit value to 16-bit precision X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=de60e250f5095a9237727a3188eb0c092a4e6a05;p=mesa.git nir: Add an opcode for stomping a 32-bit value to 16-bit precision This correlates directly to the SPIR-V opcode OpQuantizeToF16 Reviewed-by: Rob Clark --- diff --git a/src/compiler/nir/nir_opcodes.py b/src/compiler/nir/nir_opcodes.py index 553f924afc5..bc9845036d3 100644 --- a/src/compiler/nir/nir_opcodes.py +++ b/src/compiler/nir/nir_opcodes.py @@ -180,6 +180,7 @@ unop("ffloor", tfloat, "bit_size == 64 ? floor(src0) : floorf(src0)") unop("ffract", tfloat, "src0 - (bit_size == 64 ? floor(src0) : floorf(src0))") unop("fround_even", tfloat, "bit_size == 64 ? _mesa_roundeven(src0) : _mesa_roundevenf(src0)") +unop("fquantize2f16", tfloat, "(fabs(src0) < ldexpf(1.0, -14)) ? copysignf(0.0f, src0) : _mesa_half_to_float(_mesa_float_to_half(src0))") # Trigonometric operations.