diff options
| author | Tim Foley <tfoley@nvidia.com> | 2017-07-22 14:05:07 -0700 |
|---|---|---|
| committer | Tim Foley <tfoley@nvidia.com> | 2017-07-22 14:05:07 -0700 |
| commit | edf8cafe6d3799f58a92ccc83ba70dd41c461f6a (patch) | |
| tree | ebf5575829ef9bedc9d43821cd556fe596bf2724 /source/slang/type-layout.h | |
| parent | 30fbf640cd4cd6936e177fdfadb76e8814cffffc (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.h | 5 |
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; |
