nir: Support sysval tess levels in SPIR-V to NIR
[mesa.git] / src / compiler / spirv / vtn_opencl.c
index 89fad0bad79cd5b48a64327814a1f894426a3984..e332810302d94f27183c28c7701e3fd79cb71cb6 100644 (file)
@@ -84,8 +84,15 @@ nir_alu_op_for_opencl_opcode(struct vtn_builder *b,
    case OpenCLstd_UMin: return nir_op_umin;
    case OpenCLstd_Fmod: return nir_op_fmod;
    case OpenCLstd_Mix: return nir_op_flrp;
+   case OpenCLstd_Native_cos: return nir_op_fcos;
+   case OpenCLstd_Native_divide: return nir_op_fdiv;
    case OpenCLstd_Native_exp2: return nir_op_fexp2;
    case OpenCLstd_Native_log2: return nir_op_flog2;
+   case OpenCLstd_Native_powr: return nir_op_fpow;
+   case OpenCLstd_Native_recip: return nir_op_frcp;
+   case OpenCLstd_Native_rsqrt: return nir_op_frsq;
+   case OpenCLstd_Native_sin: return nir_op_fsin;
+   case OpenCLstd_Native_sqrt: return nir_op_fsqrt;
    case OpenCLstd_SMul_hi: return nir_op_imul_high;
    case OpenCLstd_UMul_hi: return nir_op_umul_high;
    case OpenCLstd_Popcount: return nir_op_bit_count;
@@ -352,8 +359,15 @@ vtn_handle_opencl_instruction(struct vtn_builder *b, SpvOp ext_opcode,
    case OpenCLstd_SMin:
    case OpenCLstd_UMin:
    case OpenCLstd_Mix:
+   case OpenCLstd_Native_cos:
+   case OpenCLstd_Native_divide:
    case OpenCLstd_Native_exp2:
    case OpenCLstd_Native_log2:
+   case OpenCLstd_Native_powr:
+   case OpenCLstd_Native_recip:
+   case OpenCLstd_Native_rsqrt:
+   case OpenCLstd_Native_sin:
+   case OpenCLstd_Native_sqrt:
    case OpenCLstd_Fmod:
    case OpenCLstd_SMul_hi:
    case OpenCLstd_UMul_hi: