diff options
Diffstat (limited to 'source')
| -rw-r--r-- | source/slang/core.meta.slang | 10 | ||||
| -rw-r--r-- | source/slang/slang-reflection-api.cpp | 4 |
2 files changed, 14 insertions, 0 deletions
diff --git a/source/slang/core.meta.slang b/source/slang/core.meta.slang index 970ed1fa8..d63311985 100644 --- a/source/slang/core.meta.slang +++ b/source/slang/core.meta.slang @@ -1358,6 +1358,16 @@ for (int tt = 0; tt < kBaseTextureTypeCount; ++tt) sb << "float" << kBaseTextureTypes[tt].coordCount << " gradX, "; sb << "float" << kBaseTextureTypes[tt].coordCount << " gradY, "; sb << "constexpr int" << kBaseTextureTypes[tt].coordCount << " offset);\n"; + + sb << "__glsl_extension(GL_ARB_sparse_texture_clamp)"; + sb << "__target_intrinsic(glsl, \"$ctextureGradOffsetClampARB($p, $2, $3, $4, $5, $6)$z\")\n"; + sb << "T SampleGrad(SamplerState s, "; + sb << "float" << kBaseTextureTypes[tt].coordCount + isArray << " location, "; + sb << "float" << kBaseTextureTypes[tt].coordCount << " gradX, "; + sb << "float" << kBaseTextureTypes[tt].coordCount << " gradY, "; + sb << "constexpr int" << kBaseTextureTypes[tt].coordCount << " offset, "; + sb << "float lodClamp);\n"; + } // `SampleLevel` diff --git a/source/slang/slang-reflection-api.cpp b/source/slang/slang-reflection-api.cpp index 1cfb8fecc..cd141a622 100644 --- a/source/slang/slang-reflection-api.cpp +++ b/source/slang/slang-reflection-api.cpp @@ -1148,6 +1148,10 @@ namespace Slang { return SLANG_BINDING_TYPE_CONSTANT_BUFFER; } + else if( as<SamplerStateType>(type) ) + { + return SLANG_BINDING_TYPE_SAMPLER; + } else { return SLANG_BINDING_TYPE_UNKNOWN; |
