vtn/opencl: native variants of sin/cos
authorErik Faye-Lund <erik.faye-lund@collabora.com>
Wed, 29 Apr 2020 16:23:11 +0000 (18:23 +0200)
committerMarge Bot <eric+marge@anholt.net>
Mon, 4 May 2020 11:31:29 +0000 (11:31 +0000)
These obviously map directly to nir opcodes.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-By: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4811>

src/compiler/spirv/vtn_opencl.c

index 89fad0bad79cd5b48a64327814a1f894426a3984..a048f3de61935c5f851965afebaa679803db8a01 100644 (file)
@@ -84,8 +84,10 @@ 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_exp2: return nir_op_fexp2;
    case OpenCLstd_Native_log2: return nir_op_flog2;
+   case OpenCLstd_Native_sin: return nir_op_fsin;
    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 +354,10 @@ 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_exp2:
    case OpenCLstd_Native_log2:
+   case OpenCLstd_Native_sin:
    case OpenCLstd_Fmod:
    case OpenCLstd_SMul_hi:
    case OpenCLstd_UMul_hi: