vtn/opencl: add rint-support
authorBoris Brezillon <boris.brezillon@collabora.com>
Tue, 17 Mar 2020 13:38:44 +0000 (13:38 +0000)
committerMarge Bot <eric+marge@anholt.net>
Thu, 26 Mar 2020 10:14:22 +0000 (10:14 +0000)
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4318>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4318>

src/compiler/spirv/vtn_opencl.c

index 0dc95a19f6b86f7301e4fdea0c710ab6f1463bbd..da191f2b80a58230f377043928e5dca9c1212bca 100644 (file)
@@ -100,6 +100,7 @@ nir_alu_op_for_opencl_opcode(struct vtn_builder *b,
    case OpenCLstd_SSub_sat: return nir_op_isub_sat;
    case OpenCLstd_USub_sat: return nir_op_usub_sat;
    case OpenCLstd_Trunc: return nir_op_ftrunc;
+   case OpenCLstd_Rint: return nir_op_fround_even;
    /* uhm... */
    case OpenCLstd_UAbs: return nir_op_mov;
    default:
@@ -366,6 +367,7 @@ vtn_handle_opencl_instruction(struct vtn_builder *b, SpvOp ext_opcode,
    case OpenCLstd_SSub_sat:
    case OpenCLstd_USub_sat:
    case OpenCLstd_Trunc:
+   case OpenCLstd_Rint:
       handle_instr(b, cl_opcode, w, count, handle_alu);
       return true;
    case OpenCLstd_SAbs_diff: