[clang] [HLSL] Implement Texture2D default template (PR #184207)
Steven Perron via cfe-commits
cfe-commits at lists.llvm.org
Fri Mar 6 07:05:00 PST 2026
================
@@ -5548,3 +5548,46 @@ bool SemaHLSL::handleInitialization(VarDecl *VDecl, Expr *&Init) {
Init = C;
return true;
}
+
+QualType SemaHLSL::ActOnTemplateShorthand(TemplateDecl *Template,
+ SourceLocation NameLoc) {
+ if (!Template)
+ return QualType();
+
+ DeclContext *DC = Template->getDeclContext();
+ if (!DC->isNamespace() || !cast<NamespaceDecl>(DC)->getIdentifier() ||
+ cast<NamespaceDecl>(DC)->getName() != "hlsl")
+ return QualType();
+
+ TemplateParameterList *Params = Template->getTemplateParameters();
+ if (!Params || Params->size() != 1)
+ return QualType();
+
+ if (Template->getName() != "Texture2D")
+ return QualType();
----------------
s-perron wrote:
That seems to work. I also add test to make sure that [RW]Buffer and [RW]StructuredBuffer must have explicit templates.
https://github.com/llvm/llvm-project/pull/184207
More information about the cfe-commits
mailing list