From 6cbe215e58eeb8edc53d71e8f315e2fb55c0eeee Mon Sep 17 00:00:00 2001 From: Yong He Date: Tue, 12 Dec 2023 16:29:51 -0800 Subject: 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 --- source/slang/slang-check-modifier.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'source/slang/slang-check-modifier.cpp') 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(decl) || as(decl); case ASTNodeType::GLSLPrecisionModifier: return as(decl) || as(decl) || as(decl); + case ASTNodeType::HLSLGroupSharedModifier: + // groupshared must be global or static. + if (!as(decl)) + return false; + return isGlobalDecl(decl) || isEffectivelyStatic(decl); default: return true; } -- cgit v1.2.3