vtn/opencl: add native exp/log-support
authorErik Faye-Lund <erik.faye-lund@collabora.com>
Fri, 13 Mar 2020 10:57:52 +0000 (11:57 +0100)
committerMarge Bot <eric+marge@anholt.net>
Thu, 26 Mar 2020 10:14:22 +0000 (10:14 +0000)
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4318>

src/compiler/spirv/vtn_opencl.c

index 003a9914110b661e38918f017076436ffe3c568d..5eeaed4c3b4eb9b08ae33e2b985470740a242db7 100644 (file)
@@ -193,6 +193,10 @@ handle_special(struct vtn_builder *b, enum OpenCLstd_Entrypoints opcode,
    case OpenCLstd_S_Upsample:
    case OpenCLstd_U_Upsample:
       return nir_upsample(nb, srcs[0], srcs[1]);
+   case OpenCLstd_Native_exp:
+      return nir_fexp(nb, srcs[0]);
+   case OpenCLstd_Native_log:
+      return nir_flog(nb, srcs[0]);
    default:
       vtn_fail("No NIR equivalent");
       return NULL;
@@ -391,6 +395,8 @@ vtn_handle_opencl_instruction(struct vtn_builder *b, SpvOp ext_opcode,
    case OpenCLstd_S_Upsample:
    case OpenCLstd_U_Upsample:
    case OpenCLstd_Clz:
+   case OpenCLstd_Native_exp:
+   case OpenCLstd_Native_log:
       handle_instr(b, cl_opcode, w, count, handle_special);
       return true;
    case OpenCLstd_Vloadn: