[PATCH] D129883: [HLSL] Support cbuffer/tbuffer for hlsl.
Xiang Li via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Jul 15 10:47:43 PDT 2022
python3kgae created this revision.
python3kgae added reviewers: svenvh, asavonic, beanz, pow2clk, Anastasia, aaron.ballman.
Herald added a subscriber: mgorny.
Herald added a project: All.
python3kgae requested review of this revision.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.
This is first part for support cbuffer/tbuffer.
The format for cbuffer/tbuffer is
BufferType [Name] [: register(b#)] { VariableDeclaration [: packoffset(c#.xyzw)]; ... };
More details at https://docs.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-constants
New keyword 'cbuffer' and 'tbuffer' are added.
New AST node HLSLBufferDecl is added.
Build AST for simple cbuffer/tbuffer without attribute support.
The special thing is variables declared inside cbuffer is exposed into global scope.
So isTransparentContext should return true for HLSLBuffer.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D129883
Files:
clang/include/clang/AST/Decl.h
clang/include/clang/AST/RecursiveASTVisitor.h
clang/include/clang/AST/TextNodeDumper.h
clang/include/clang/Basic/DeclNodes.td
clang/include/clang/Basic/TokenKinds.def
clang/include/clang/Parse/Parser.h
clang/include/clang/Sema/Sema.h
clang/lib/AST/Decl.cpp
clang/lib/AST/DeclBase.cpp
clang/lib/AST/DeclPrinter.cpp
clang/lib/AST/TextNodeDumper.cpp
clang/lib/Basic/IdentifierTable.cpp
clang/lib/Parse/ParseDecl.cpp
clang/lib/Parse/ParseHLSL.cpp
clang/lib/Parse/Parser.cpp
clang/lib/Sema/CMakeLists.txt
clang/lib/Sema/SemaDecl.cpp
clang/lib/Sema/SemaHLSL.cpp
clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
clang/lib/Serialization/ASTCommon.cpp
clang/test/SemaHLSL/cbuffer_tbuffer.hlsl
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D129883.445057.patch
Type: text/x-patch
Size: 18727 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20220715/f82e0476/attachment-0001.bin>
More information about the cfe-commits
mailing list