From edf8cafe6d3799f58a92ccc83ba70dd41c461f6a Mon Sep 17 00:00:00 2001 From: Tim Foley Date: Sat, 22 Jul 2017 14:05:07 -0700 Subject: 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 --- source/slang/type-layout.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'source/slang/type-layout.h') 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> entryPoints; + + // HACK: binding to use when we have to create + // a dummy sampler just to appease glslang + int bindingForHackSampler = 0; + RefPtr hackSamplerVar; }; struct LayoutRulesFamilyImpl; -- cgit v1.2.3