From 47392bc72b826b4ad427b703391a77e697735a65 Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Tue, 21 Jan 2020 09:38:10 -0500 Subject: CUDA support improvements (#1168) * Add test result for compile-to-cuda * Add RAII for some CUDA types to simplify usage. * First pass handling of some instrinsics on CUDA (for example transcendentals) * CUDA working with built in intrinsics. * Add missing CUDA prelude intrinsics. * CUDA matches CPU output on simple-cross-compile.slang * First pass at hlsl-scalar-float-intrinsic.slang test. * Fix smoothstep impl on CUDA and CPU. * Fixed step intrinsic on CUDA/CPU. * Added operator[] to Matrix for C++, to allow row access. Needs a fix for CUDA. * Fixed warning on clang build. --- prelude/slang-cpp-types.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'prelude/slang-cpp-types.h') diff --git a/prelude/slang-cpp-types.h b/prelude/slang-cpp-types.h index 67db607f6..a7ecf5991 100644 --- a/prelude/slang-cpp-types.h +++ b/prelude/slang-cpp-types.h @@ -82,6 +82,9 @@ typedef Vector uint4; template struct Matrix { + Vector& operator[](int i) { SLANG_PRELUDE_ASSERT(i >= 0 && i < ROWS); return rows[i]; } + const Vector& operator[](int i) const { SLANG_PRELUDE_ASSERT(i >= 0 && i < ROWS); return rows[i]; } + Vector rows[ROWS]; }; -- cgit v1.2.3