From: Kenneth Graunke Date: Thu, 21 Jan 2016 22:56:34 +0000 (-0800) Subject: nir/spirv: Implement ModfStruct opcode. X-Git-Tag: upstream/17.1.0~11012^2~584 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=824f7763550bf83ade57a45fcce4c5a6ac0c4a85;p=platform%2Fupstream%2Fmesa.git nir/spirv: Implement ModfStruct opcode. --- diff --git a/src/glsl/nir/spirv/vtn_glsl450.c b/src/glsl/nir/spirv/vtn_glsl450.c index afcf8e2..a675aa4 100644 --- a/src/glsl/nir/spirv/vtn_glsl450.c +++ b/src/glsl/nir/spirv/vtn_glsl450.c @@ -424,6 +424,13 @@ handle_glsl450_alu(struct vtn_builder *b, enum GLSLstd450 entrypoint, return; } + case GLSLstd450ModfStruct: { + assert(glsl_type_is_struct(val->ssa->type)); + val->ssa->elems[0]->def = nir_ffract(nb, src[0]); + val->ssa->elems[1]->def = nir_ffloor(nb, src[0]); + return; + } + case GLSLstd450FMin: op = nir_op_fmin; break; case GLSLstd450UMin: op = nir_op_umin; break; case GLSLstd450SMin: op = nir_op_imin; break; @@ -618,7 +625,6 @@ handle_glsl450_alu(struct vtn_builder *b, enum GLSLstd450 entrypoint, return; } - case GLSLstd450ModfStruct: case GLSLstd450PackDouble2x32: case GLSLstd450UnpackDouble2x32: case GLSLstd450IMix: