Merge remote-tracking branch 'mesa-public/master' into vulkan
[mesa.git] / src / glsl / nir / spirv_glsl450_to_nir.c
index 60bd597820c28a1e7117dd5876e72a8c3b901053..ee1fca34c3147f132459bfe1c16825b662def0b8 100644 (file)
@@ -85,8 +85,12 @@ handle_glsl450_alu(struct vtn_builder *b, enum GLSLstd450 entrypoint,
 
    case GLSLstd450Modf:        op = nir_op_fmod;       break;
    case GLSLstd450FMin:        op = nir_op_fmin;       break;
+   case GLSLstd450UMin:        op = nir_op_umin;       break;
+   case GLSLstd450SMin:        op = nir_op_imin;       break;
    case GLSLstd450FMax:        op = nir_op_fmax;       break;
-   case GLSLstd450Mix:         op = nir_op_flrp;       break;
+   case GLSLstd450UMax:        op = nir_op_umax;       break;
+   case GLSLstd450SMax:        op = nir_op_imax;       break;
+   case GLSLstd450FMix:        op = nir_op_flrp;       break;
    case GLSLstd450Step:
       val->ssa->def = nir_sge(&b->nb, src[1], src[0]);
       return;
@@ -116,9 +120,6 @@ handle_glsl450_alu(struct vtn_builder *b, enum GLSLstd450 entrypoint,
       val->ssa->def = nir_fdiv(&b->nb, src[0], build_length(&b->nb, src[0]));
       return;
 
-   case GLSLstd450AddCarry:         op = nir_op_uadd_carry;          break;
-   case GLSLstd450SubBorrow:        op = nir_op_usub_borrow;         break;
-
    case GLSLstd450Exp:
    case GLSLstd450Log:
    case GLSLstd450FClamp:
@@ -142,7 +143,7 @@ handle_glsl450_alu(struct vtn_builder *b, enum GLSLstd450 entrypoint,
    case GLSLstd450FaceForward:
    case GLSLstd450Reflect:
    case GLSLstd450Refract:
-   case GLSLstd450MulExtended:
+   case GLSLstd450IMix:
    default:
       unreachable("Unhandled opcode");
    }