================
@@ -861,8 +861,23 @@ llvm::Type 
*CommonSPIRTargetCodeGenInfo::getSPIRVImageTypeFromHLSLResource(
       Ty->isSignedIntegerType() ? "spirv.SignedImage" : "spirv.Image";
 
   // Dim
-  // For now we assume everything is a buffer.
-  IntParams[0] = 5;
+  switch (attributes.ResourceDimension) {
+  case llvm::dxil::ResourceDimension::Dimension1D:
+    IntParams[0] = 0;
+    break;
+  case llvm::dxil::ResourceDimension::Dimension2D:
+    IntParams[0] = 1;
+    break;
+  case llvm::dxil::ResourceDimension::Dimension3D:
+    IntParams[0] = 2;
+    break;
+  case llvm::dxil::ResourceDimension::DimensionCube:
+    IntParams[0] = 3;
+    break;
+  case llvm::dxil::ResourceDimension::DimensionUnknown:
+    IntParams[0] = 5;
----------------
Keenuts wrote:

Ah right, always forget we don't have those in the FE...

https://github.com/llvm/llvm-project/pull/177240
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to