summaryrefslogtreecommitdiff
path: root/source/slang/core.meta.slang
diff options
context:
space:
mode:
authorjsmall-nvidia <jsmall@nvidia.com>2021-05-15 11:22:14 -0400
committerGitHub <noreply@github.com>2021-05-15 11:22:14 -0400
commitbfe75618be81566882be8570b8db82ad5a2f8fe4 (patch)
tree1a319bee77f8faa4c09f385287d2dffdc569499e /source/slang/core.meta.slang
parent1027225ac7ec8da0e471b633f358333c8a95b010 (diff)
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.
Diffstat (limited to 'source/slang/core.meta.slang')
-rw-r--r--source/slang/core.meta.slang11
1 files changed, 11 insertions, 0 deletions
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";