summaryrefslogtreecommitdiffstats
path: root/source/slang/slang-type-system-shared.cpp
diff options
context:
space:
mode:
authorjsmall-nvidia <jsmall@nvidia.com>2020-08-03 15:46:16 -0400
committerGitHub <noreply@github.com>2020-08-03 15:46:16 -0400
commit79ba9279becf480c9d92bb2faaede0e241f0b029 (patch)
tree5e904295c6b0731fdfba0d17ab03ba54d5f92565 /source/slang/slang-type-system-shared.cpp
parent9ac5c51ae1f0664a9dcb31392894e4f76bdbcf98 (diff)
First pass support for Sampler Feedback (#1470)
* Add the Feedback texture types. Depreciate SLANG_RESOURCE_EXT_SHAPE_MASK. * Starting point to test sampler feedback. * WIP on FeedbackSampler. * Use __target_intrinsic to override the output of sampler feedback types. * Use newer generic syntax for FeedbackTexture. * Reflects Feedback type. * SLANG_TYPE_KIND_TEXTURE_FEEDBACK -> SLANG_TYPE_KIND_FEEDBACK * Added reflection test. * Reneable issue with generics in sampler-feedback-basic.slang * Add methods to FeedbackTexture2D/Array. Make test cover test cases. * Sampler feedback produces DXC code. * Disabled Sampler feedback test - as requires newer version of DXC. * Fix bug in reflection tool output. * Fix problem with direct-spirv-emit.slang.expected due to update to glslang. * Fix direct-spirv-emit.slang * Use SLANG_RESOURCE_EXT_SHAPE_MASK again * Make Feedback be emitted as a textue type prefix. Co-authored-by: Tim Foley <tfoleyNV@users.noreply.github.com>
Diffstat (limited to 'source/slang/slang-type-system-shared.cpp')
-rw-r--r--source/slang/slang-type-system-shared.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/source/slang/slang-type-system-shared.cpp b/source/slang/slang-type-system-shared.cpp
index 7ccde5bcd..a8265de20 100644
--- a/source/slang/slang-type-system-shared.cpp
+++ b/source/slang/slang-type-system-shared.cpp
@@ -1,5 +1,7 @@
#include "slang-type-system-shared.h"
+#include "../core/slang-common.h"
+
namespace Slang
{
TextureFlavor TextureFlavor::create(SlangResourceShape shape, SlangResourceAccess access)
@@ -8,4 +10,12 @@ namespace Slang
rs.flavor = uint16_t(shape | (access << 8));
return rs;
}
+
+ TextureFlavor TextureFlavor::create(SlangResourceShape shape, SlangResourceAccess access, int flags)
+ {
+ SLANG_ASSERT((flags & ~int(SLANG_RESOURCE_EXT_SHAPE_MASK)) == 0);
+ TextureFlavor rs;
+ rs.flavor = uint16_t(shape | (access << 8) | flags);
+ return rs;
+ }
}