aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CGHLSLRuntime.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/CodeGen/CGHLSLRuntime.cpp')
-rw-r--r--clang/lib/CodeGen/CGHLSLRuntime.cpp59
1 files changed, 3 insertions, 56 deletions
diff --git a/clang/lib/CodeGen/CGHLSLRuntime.cpp b/clang/lib/CodeGen/CGHLSLRuntime.cpp
index e9fa273f21cc..c239bc17ef26 100644
--- a/clang/lib/CodeGen/CGHLSLRuntime.cpp
+++ b/clang/lib/CodeGen/CGHLSLRuntime.cpp
@@ -223,56 +223,6 @@ void CGHLSLRuntime::addBufferResourceAnnotation(llvm::GlobalVariable *GV,
ResourceMD->addOperand(Res.getMetadata());
}
-static llvm::hlsl::ResourceKind
-castResourceShapeToResourceKind(HLSLResourceAttr::ResourceKind RK) {
- switch (RK) {
- case HLSLResourceAttr::ResourceKind::Texture1D:
- return llvm::hlsl::ResourceKind::Texture1D;
- case HLSLResourceAttr::ResourceKind::Texture2D:
- return llvm::hlsl::ResourceKind::Texture2D;
- case HLSLResourceAttr::ResourceKind::Texture2DMS:
- return llvm::hlsl::ResourceKind::Texture2DMS;
- case HLSLResourceAttr::ResourceKind::Texture3D:
- return llvm::hlsl::ResourceKind::Texture3D;
- case HLSLResourceAttr::ResourceKind::TextureCube:
- return llvm::hlsl::ResourceKind::TextureCube;
- case HLSLResourceAttr::ResourceKind::Texture1DArray:
- return llvm::hlsl::ResourceKind::Texture1DArray;
- case HLSLResourceAttr::ResourceKind::Texture2DArray:
- return llvm::hlsl::ResourceKind::Texture2DArray;
- case HLSLResourceAttr::ResourceKind::Texture2DMSArray:
- return llvm::hlsl::ResourceKind::Texture2DMSArray;
- case HLSLResourceAttr::ResourceKind::TextureCubeArray:
- return llvm::hlsl::ResourceKind::TextureCubeArray;
- case HLSLResourceAttr::ResourceKind::TypedBuffer:
- return llvm::hlsl::ResourceKind::TypedBuffer;
- case HLSLResourceAttr::ResourceKind::RawBuffer:
- return llvm::hlsl::ResourceKind::RawBuffer;
- case HLSLResourceAttr::ResourceKind::StructuredBuffer:
- return llvm::hlsl::ResourceKind::StructuredBuffer;
- case HLSLResourceAttr::ResourceKind::CBufferKind:
- return llvm::hlsl::ResourceKind::CBuffer;
- case HLSLResourceAttr::ResourceKind::SamplerKind:
- return llvm::hlsl::ResourceKind::Sampler;
- case HLSLResourceAttr::ResourceKind::TBuffer:
- return llvm::hlsl::ResourceKind::TBuffer;
- case HLSLResourceAttr::ResourceKind::RTAccelerationStructure:
- return llvm::hlsl::ResourceKind::RTAccelerationStructure;
- case HLSLResourceAttr::ResourceKind::FeedbackTexture2D:
- return llvm::hlsl::ResourceKind::FeedbackTexture2D;
- case HLSLResourceAttr::ResourceKind::FeedbackTexture2DArray:
- return llvm::hlsl::ResourceKind::FeedbackTexture2DArray;
- }
- // Make sure to update HLSLResourceAttr::ResourceKind when add new Kind to
- // hlsl::ResourceKind. Assume FeedbackTexture2DArray is the last enum for
- // HLSLResourceAttr::ResourceKind.
- static_assert(
- static_cast<uint32_t>(
- HLSLResourceAttr::ResourceKind::FeedbackTexture2DArray) ==
- (static_cast<uint32_t>(llvm::hlsl::ResourceKind::NumEntries) - 2));
- llvm_unreachable("all switch cases should be covered");
-}
-
void CGHLSLRuntime::annotateHLSLResource(const VarDecl *D, GlobalVariable *GV) {
const Type *Ty = D->getType()->getPointeeOrArrayElementType();
if (!Ty)
@@ -284,15 +234,12 @@ void CGHLSLRuntime::annotateHLSLResource(const VarDecl *D, GlobalVariable *GV) {
if (!Attr)
return;
- HLSLResourceAttr::ResourceClass RC = Attr->getResourceType();
- llvm::hlsl::ResourceKind RK =
- castResourceShapeToResourceKind(Attr->getResourceShape());
+ llvm::hlsl::ResourceClass RC = Attr->getResourceClass();
+ llvm::hlsl::ResourceKind RK = Attr->getResourceKind();
QualType QT(Ty, 0);
BufferResBinding Binding(D->getAttr<HLSLResourceBindingAttr>());
- addBufferResourceAnnotation(GV, QT.getAsString(),
- static_cast<llvm::hlsl::ResourceClass>(RC), RK,
- Binding);
+ addBufferResourceAnnotation(GV, QT.getAsString(), RC, RK, Binding);
}
CGHLSLRuntime::BufferResBinding::BufferResBinding(