================
@@ -890,6 +890,14 @@ llvm::Type
*CommonSPIRTargetCodeGenInfo::getSPIRVImageTypeFromHLSLResource(
"The element type for a SPIR-V resource must be a scalar integer or "
"floating point type.");
+ // SPIR-V has no 64-bit multi-component image format, so pack a 2-component
+ // 64-bit typed buffer into a 4-component 32-bit image. The backend
+ // reinterprets it with OpBitcast on load and store.
+ if (SampledType->isIntegerTy(64) && NumChannels == 2) {
----------------
farzonl wrote:
what if we got a 64bit type with 3 components or 4? Should we explicitly
reject unsupported 64-bit configurations if we can't handle them like this case
does?
https://github.com/llvm/llvm-project/pull/208626
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits