diff --git a/lib/API/VK/Device.cpp b/lib/API/VK/Device.cpp index f13dc8eac..45f766869 100644 --- a/lib/API/VK/Device.cpp +++ b/lib/API/VK/Device.cpp @@ -55,8 +55,12 @@ static VkFormat getVKFormat(DataFormat Format, int Channels) { case DataFormat::Float32: VKFormats(SFLOAT, 32) break; case DataFormat::Int64: + if (Channels == 2) + return VK_FORMAT_R32G32B32A32_SINT; VKFormats(SINT, 64) break; case DataFormat::UInt64: + if (Channels == 2) + return VK_FORMAT_R32G32B32A32_UINT; VKFormats(UINT, 64) break; case DataFormat::Float64: VKFormats(SFLOAT, 64) break; diff --git a/test/Feature/TypedBuffer/64bit-vector.test b/test/Feature/TypedBuffer/64bit-vector.test index 1d0a83d8d..449ac04e1 100644 --- a/test/Feature/TypedBuffer/64bit-vector.test +++ b/test/Feature/TypedBuffer/64bit-vector.test @@ -122,10 +122,8 @@ DescriptorSets: ... #--- end -# This test is failing on Vulkan due to two separate issues. -# Bug https://github.com/llvm/offload-test-suite/issues/1030 -# Bug https://github.com/llvm/offload-test-suite/issues/1037 -# XFAIL: Vulkan +# Bug https://github.com/microsoft/DirectXShaderCompiler/issues/8615 +# XFAIL: DXC && Vulkan # REQUIRES: Int64 # RUN: split-file %s %t