summaryrefslogtreecommitdiffstats
path: root/source/slang/slang-check-modifier.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2023-12-12 16:29:51 -0800
committerGitHub <noreply@github.com>2023-12-12 16:29:51 -0800
commit6cbe215e58eeb8edc53d71e8f315e2fb55c0eeee (patch)
treece82de695b51ba7882253dec74fc675dcaf07a9e /source/slang/slang-check-modifier.cpp
parent92f21de580e16a37600f082c0968913111f5ef91 (diff)
Define `Texture::Sample` for float element types only. (#3403)
* Define `Texture::Sample` for float element types only. * Fixes #490. * Fix checking of groupshared. * Add test. * Fix. --------- Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'source/slang/slang-check-modifier.cpp')
-rw-r--r--source/slang/slang-check-modifier.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/source/slang/slang-check-modifier.cpp b/source/slang/slang-check-modifier.cpp
index 53d121b4b..a9a8c19da 100644
--- a/source/slang/slang-check-modifier.cpp
+++ b/source/slang/slang-check-modifier.cpp
@@ -966,9 +966,9 @@ namespace Slang
case ASTNodeType::HLSLColumnMajorLayoutModifier:
case ASTNodeType::GLSLRowMajorLayoutModifier:
case ASTNodeType::HLSLEffectSharedModifier:
- case ASTNodeType::HLSLGroupSharedModifier:
case ASTNodeType::HLSLVolatileModifier:
case ASTNodeType::GLSLPrecisionModifier:
+ case ASTNodeType::HLSLGroupSharedModifier:
return modifierType;
case ASTNodeType::HLSLStaticModifier:
@@ -1081,12 +1081,16 @@ namespace Slang
case ASTNodeType::HLSLColumnMajorLayoutModifier:
case ASTNodeType::GLSLRowMajorLayoutModifier:
case ASTNodeType::HLSLEffectSharedModifier:
- case ASTNodeType::HLSLGroupSharedModifier:
case ASTNodeType::HLSLVolatileModifier:
return as<VarDeclBase>(decl) || as<GLSLInterfaceBlockDecl>(decl);
case ASTNodeType::GLSLPrecisionModifier:
return as<VarDeclBase>(decl) || as<GLSLInterfaceBlockDecl>(decl) || as<CallableDecl>(decl);
+ case ASTNodeType::HLSLGroupSharedModifier:
+ // groupshared must be global or static.
+ if (!as<VarDeclBase>(decl))
+ return false;
+ return isGlobalDecl(decl) || isEffectivelyStatic(decl);
default:
return true;
}