From bfe75618be81566882be8570b8db82ad5a2f8fe4 Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Sat, 15 May 2021 11:22:14 -0400 Subject: Surface access on CUDA is byte addressed in X (#1841) * #include an absolute path didn't work - because paths were taken to always be relative. * Fix for writing to RWTexture with half types on CUDA. * CUDA half functionality doc updates. * First pass support for sust.p RWTexture format conversion on write. * Tidy up implementation of $C. Made clamping mode #define able. * A simple test for RWTexture CUDA format conversion. * Use $E to fix byte addressing in X in CUDA. * Do not scale when accessing via _convert versions of surface functions. --- source/slang/core.meta.slang | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'source/slang/core.meta.slang') diff --git a/source/slang/core.meta.slang b/source/slang/core.meta.slang index c268c2a58..9e5cf80c8 100644 --- a/source/slang/core.meta.slang +++ b/source/slang/core.meta.slang @@ -1091,6 +1091,11 @@ for (int tt = 0; tt < kBaseTextureTypeCount; ++tt) if (vecCount > 1) { sb << '.' << char(i + 'x'); + // Surface access is *byte* addressed in x in CUDA + if (i == 0) + { + sb << " * $E"; + } } } @@ -1140,6 +1145,12 @@ for (int tt = 0; tt < kBaseTextureTypeCount; ++tt) { sb << '.' << char(i + 'x'); } + + // Surface access is *byte* addressed in x in CUDA + if (i == 0) + { + sb << " * $E"; + } } sb << ", SLANG_CUDA_BOUNDARY_MODE)\")\n"; -- cgit v1.2.3