diff options
author | Juan A. Suarez Romero <[email protected]> | 2017-06-08 11:50:55 +0000 |
---|---|---|
committer | Juan A. Suarez Romero <[email protected]> | 2017-06-27 12:01:11 +0200 |
commit | 7ee409dd4ee57c53d0ca4ddfcd853460db0b2ac4 (patch) | |
tree | 0608658b96a3bb17e6afc41bb615696c9bc3e887 | |
parent | b5ae17fe59b5f303f2aa42608474ad37ffdf3971 (diff) |
nir: implement GLSL.std.450 NMax, NMIn and NClamp operations
v2: NIR fmax/fmin already handles NaN (Connor).
Reviewed by: Elie Tournier <[email protected]>
-rw-r--r-- | src/compiler/spirv/vtn_glsl450.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/compiler/spirv/vtn_glsl450.c b/src/compiler/spirv/vtn_glsl450.c index 96e3407dee5..1d7e2b8d95b 100644 --- a/src/compiler/spirv/vtn_glsl450.c +++ b/src/compiler/spirv/vtn_glsl450.c @@ -433,9 +433,11 @@ vtn_nir_alu_op_for_spirv_glsl_opcode(enum GLSLstd450 opcode) case GLSLstd450Log2: return nir_op_flog2; case GLSLstd450Sqrt: return nir_op_fsqrt; case GLSLstd450InverseSqrt: return nir_op_frsq; + case GLSLstd450NMin: return nir_op_fmin; case GLSLstd450FMin: return nir_op_fmin; case GLSLstd450UMin: return nir_op_umin; case GLSLstd450SMin: return nir_op_imin; + case GLSLstd450NMax: return nir_op_fmax; case GLSLstd450FMax: return nir_op_fmax; case GLSLstd450UMax: return nir_op_umax; case GLSLstd450SMax: return nir_op_imax; @@ -537,6 +539,7 @@ handle_glsl450_alu(struct vtn_builder *b, enum GLSLstd450 entrypoint, return; case GLSLstd450FClamp: + case GLSLstd450NClamp: val->ssa->def = build_fclamp(nb, src[0], src[1], src[2]); return; case GLSLstd450UClamp: |