summaryrefslogtreecommitdiff
path: root/source/slang/type-layout.h
diff options
context:
space:
mode:
authorTim Foley <tfoley@nvidia.com>2017-07-22 14:05:07 -0700
committerTim Foley <tfoley@nvidia.com>2017-07-22 14:05:07 -0700
commitedf8cafe6d3799f58a92ccc83ba70dd41c461f6a (patch)
treeebf5575829ef9bedc9d43821cd556fe596bf2724 /source/slang/type-layout.h
parent30fbf640cd4cd6936e177fdfadb76e8814cffffc (diff)
Make the "hack" sampler explicit for now
- We use this to work around the fact that, e.g., `Texture2D.Load` doesn't take a sampler, but the equivalent GLSL operation `texelFetch` requires one - Previously we tried to hide the sampler from the user, hoping that glslang would drop it and we could just ignore it, but that doesn't work - For now we'll go ahead and explicitly show the sampler in the reflection info so that an app can react appropriately - We also generate a unique binding for the sampler, instead of the old behavior that fixed it with `binding = 0` - We still fix it with `set = 0`, so it might still surprise users
Diffstat (limited to 'source/slang/type-layout.h')
-rw-r--r--source/slang/type-layout.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/source/slang/type-layout.h b/source/slang/type-layout.h
index 81ca1350c..7be1c595f 100644
--- a/source/slang/type-layout.h
+++ b/source/slang/type-layout.h
@@ -383,6 +383,11 @@ public:
// and any entry-point-specific parameter data
// will (eventually) belong there...
List<RefPtr<EntryPointLayout>> entryPoints;
+
+ // HACK: binding to use when we have to create
+ // a dummy sampler just to appease glslang
+ int bindingForHackSampler = 0;
+ RefPtr<VarDeclBase> hackSamplerVar;
};
struct LayoutRulesFamilyImpl;