diff --git a/include/API/Device.h b/include/API/Device.h index dd2a42e61..ce27b6b8b 100644 --- a/include/API/Device.h +++ b/include/API/Device.h @@ -191,6 +191,8 @@ class Device { std::string Description; std::string DriverName; std::string DriverVersion; + std::string GPUGeneration; + uint16_t FamilyPrefix = 0; public: virtual const Capabilities &getCapabilities() = 0; @@ -247,6 +249,8 @@ class Device { llvm::StringRef getDescription() const { return Description; } llvm::StringRef getDriverName() const { return DriverName; } llvm::StringRef getDriverVersion() const { return DriverVersion; } + llvm::StringRef getGPUGeneration() const { return GPUGeneration; } + uint16_t getFamilyPrefix() const { return FamilyPrefix; } }; llvm::Error diff --git a/lib/API/DX/Device.cpp b/lib/API/DX/Device.cpp index 52fc3ec86..7915aa332 100644 --- a/lib/API/DX/Device.cpp +++ b/lib/API/DX/Device.cpp @@ -1014,6 +1014,26 @@ class DXDevice : public offloadtest::Device { Description = std::move(Desc); DriverVersion = std::move(DriverVer); DriverName = "DirectX"; + + DXCoreHardwareID HardwareID; + if (SUCCEEDED(Adapter->GetProperty(DXCoreAdapterProperty::HardwareID, + &HardwareID))) { + // 0x8086 is the Vendor ID for Intel + if (HardwareID.vendorID == 0x8086) { + FamilyPrefix = static_cast(HardwareID.deviceID) & 0xFF00; + const IntelGpuEra Era = + getIntelGpuEra(static_cast(HardwareID.deviceID)); + if (Era == IntelGpuEra::Gen7_to_10) + GPUGeneration = "Intel Gen7-10"; + else if (Era == IntelGpuEra::Gen11_to_14_and_Xe) + GPUGeneration = "Intel Gen11-14/Xe"; + else + GPUGeneration = "Intel Unknown"; + } else { + // We don't have a need yet to identify other GPU vendors. + GPUGeneration = "Unknown"; + } + } } DXDevice(const DXDevice &) = delete; DXDevice &operator=(const DXDevice &) = delete; diff --git a/lib/API/Util.cpp b/lib/API/Util.cpp index 777f26c6f..3a8bf34d9 100644 --- a/lib/API/Util.cpp +++ b/lib/API/Util.cpp @@ -47,3 +47,27 @@ llvm::Error offloadtest::findAndValidateRenderPassTextureSize( return llvm::Error::success(); } + +offloadtest::IntelGpuEra offloadtest::getIntelGpuEra(uint16_t DeviceId) { + const uint16_t FamilyPrefix = DeviceId & 0xFF00; + switch (FamilyPrefix) { + case 0x5900: // Kaby Lake (7th Gen) + case 0x3E00: // Coffee Lake / Whiskey Lake (8th/9th Gen) + case 0x9B00: // Comet Lake (10th Gen) + case 0x8A00: // Ice Lake (10th Gen) + return IntelGpuEra::Gen7_to_10; + case 0x9A00: // Tiger Lake (11th Gen) + case 0x4C00: // Rocket Lake (11th Gen Desktop) + case 0x4600: // Alder Lake (12th Gen) + case 0xA700: // Raptor Lake (13th Gen) + case 0x7D00: // Meteor Lake (14th Gen Core Ultra) + case 0x5600: // Arc Alchemist (Discrete Xe-HPG) + case 0x4F00: // DG1 (Discrete Xe-LP) + case 0x0B00: // Ponte Vecchio (Xe-HPC / Data Center Max) + case 0xE200: // Battlemage Discrete + case 0x6400: // Lunar Lake Integrated + return IntelGpuEra::Gen11_to_14_and_Xe; + default: + return IntelGpuEra::UnknownOrLegacy; + } +} diff --git a/lib/API/Util.h b/lib/API/Util.h index 66ea28952..78d2a68b3 100644 --- a/lib/API/Util.h +++ b/lib/API/Util.h @@ -25,6 +25,9 @@ llvm::Error findAndValidateRenderPassTextureSize(const RenderPassBeginDesc &, uint32_t *OutWidth, uint32_t *OutHeight); +enum class IntelGpuEra { UnknownOrLegacy, Gen7_to_10, Gen11_to_14_and_Xe }; + +IntelGpuEra getIntelGpuEra(uint16_t deviceId); } // namespace offloadtest -#endif // OFFLOADTEST_API_UTIL_H \ No newline at end of file +#endif // OFFLOADTEST_API_UTIL_H diff --git a/lib/API/VK/Device.cpp b/lib/API/VK/Device.cpp index 253b5091a..47c587344 100644 --- a/lib/API/VK/Device.cpp +++ b/lib/API/VK/Device.cpp @@ -1522,6 +1522,22 @@ class VulkanDevice : public offloadtest::Device { const uint64_t DriverInfoSz = strnlen(DriverProps.driverInfo, VK_MAX_DRIVER_INFO_SIZE); DriverVersion = std::string(DriverProps.driverInfo, DriverInfoSz); + + // 0x8086 is the Vendor ID for Intel + if (Props.vendorID == 0x8086) { + FamilyPrefix = static_cast(Props.deviceID) & 0xFF00; + const IntelGpuEra Era = + getIntelGpuEra(static_cast(Props.deviceID)); + if (Era == IntelGpuEra::Gen7_to_10) + GPUGeneration = "Intel Gen7-10"; + else if (Era == IntelGpuEra::Gen11_to_14_and_Xe) + GPUGeneration = "Intel Gen11-14/Xe"; + else + GPUGeneration = "Intel Unknown"; + } else { + // We don't have a need yet to identify other GPU vendors. + GPUGeneration = "Unknown"; + } #if defined(__APPLE__) && defined(__aarch64__) // Apple silicon Macs may have multiple Vulkan drivers sharing one device // name. Include the driver name in the description to enable @@ -4284,6 +4300,7 @@ llvm::Error offloadtest::initializeVulkanDevices( return Err; for (const auto &PDev : PhysicalDevices) { + auto DeviceOrErr = VulkanDevice::create(VulkanInstanceShPtr, PDev, AvailableInstanceLayers); if (!DeviceOrErr) { diff --git a/test/Basic/Matrix/matrix_const_single_subscript.i2x3.test b/test/Basic/Matrix/matrix_const_single_subscript.i2x3.test index 9cce0661e..832a6714a 100644 --- a/test/Basic/Matrix/matrix_const_single_subscript.i2x3.test +++ b/test/Basic/Matrix/matrix_const_single_subscript.i2x3.test @@ -95,6 +95,9 @@ DescriptorSets: # Bug: https://github.com/llvm/offload-test-suite/issues/660 # XFAIL: Vulkan && Clang +# Bug: https://github.com/llvm/offload-test-suite/issues/696 +# XFAIL:Intel-Gen-Current && DirectX && Clang + # RUN: split-file %s %t # RUN: %dxc_target -T cs_6_0 -Fo %t.o %t/source.hlsl # RUN: %offloader %t/pipeline.yaml %t.o diff --git a/test/Basic/Matrix/matrix_construct_by_sub_mat.test b/test/Basic/Matrix/matrix_construct_by_sub_mat.test index 424f2c719..10afcc9a5 100644 --- a/test/Basic/Matrix/matrix_construct_by_sub_mat.test +++ b/test/Basic/Matrix/matrix_construct_by_sub_mat.test @@ -61,6 +61,9 @@ DescriptorSets: ... #--- end +# Bug: https://github.com/llvm/offload-test-suite/issues/696 +# XFAIL:Intel-Gen-Current && DirectX && Clang + # RUN: split-file %s %t # RUN: %dxc_target -T cs_6_0 -Fo %t.o %t/source.hlsl # RUN: %offloader %t/pipeline.yaml %t.o diff --git a/test/Basic/Matrix/matrix_elementwise_cast.test b/test/Basic/Matrix/matrix_elementwise_cast.test index 233aea244..f64a96415 100644 --- a/test/Basic/Matrix/matrix_elementwise_cast.test +++ b/test/Basic/Matrix/matrix_elementwise_cast.test @@ -98,6 +98,10 @@ DescriptorSets: Binding: 3 ... #--- end + +# Bug: https://github.com/llvm/offload-test-suite/issues/696 +# XFAIL:Intel-Gen-Current && DirectX && Clang + # RUN: split-file %s %t # RUN: %dxc_target -T cs_6_0 -Fo %t.o %t/source.hlsl # RUN: %offloader %t/pipeline.yaml %t.o diff --git a/test/Basic/Matrix/matrix_elementwise_vector_cast.test b/test/Basic/Matrix/matrix_elementwise_vector_cast.test index f6ee2a535..63bd83304 100644 --- a/test/Basic/Matrix/matrix_elementwise_vector_cast.test +++ b/test/Basic/Matrix/matrix_elementwise_vector_cast.test @@ -73,7 +73,10 @@ DescriptorSets: #--- end # Bug https://github.com/llvm/offload-test-suite/issues/599 -# XFAIL: Intel && Vulkan && Clang +# XFAIL: Intel-Gen-10 && Vulkan && Clang + +# Bug: https://github.com/llvm/offload-test-suite/issues/696 +# XFAIL:Intel-Gen-Current && DirectX && Clang # RUN: split-file %s %t # RUN: %dxc_target -T cs_6_0 -Fo %t.o %t/source.hlsl diff --git a/test/Basic/Matrix/matrix_scalar_arithmetic.test b/test/Basic/Matrix/matrix_scalar_arithmetic.test index 5c6a4b256..ddedf1585 100644 --- a/test/Basic/Matrix/matrix_scalar_arithmetic.test +++ b/test/Basic/Matrix/matrix_scalar_arithmetic.test @@ -82,6 +82,9 @@ DescriptorSets: ... #--- end +# Bug: https://github.com/llvm/offload-test-suite/issues/696 +# XFAIL:Intel-Gen-Current && DirectX && Clang + # RUN: split-file %s %t # RUN: %dxc_target -T cs_6_0 -Fo %t.o %t/source.hlsl # RUN: %offloader %t/pipeline.yaml %t.o | FileCheck %s diff --git a/test/Basic/Matrix/matrix_scalar_constructor.test b/test/Basic/Matrix/matrix_scalar_constructor.test index 79396fa88..edbdcd987 100644 --- a/test/Basic/Matrix/matrix_scalar_constructor.test +++ b/test/Basic/Matrix/matrix_scalar_constructor.test @@ -55,6 +55,9 @@ DescriptorSets: ... #--- end +# Bug: https://github.com/llvm/offload-test-suite/issues/696 +# XFAIL:Intel-Gen-Current && DirectX && Clang + # RUN: split-file %s %t # RUN: %dxc_target -T cs_6_0 -Fo %t.o %t/source.hlsl # RUN: %offloader %t/pipeline.yaml %t.o diff --git a/test/Basic/Matrix/matrix_single_subscript_basic.i2x3.test b/test/Basic/Matrix/matrix_single_subscript_basic.i2x3.test index da9327439..8ec08590b 100644 --- a/test/Basic/Matrix/matrix_single_subscript_basic.i2x3.test +++ b/test/Basic/Matrix/matrix_single_subscript_basic.i2x3.test @@ -95,6 +95,9 @@ DescriptorSets: # Bug: https://github.com/llvm/offload-test-suite/issues/660 # XFAIL: Vulkan && Clang +# Bug: https://github.com/llvm/offload-test-suite/issues/696 +# XFAIL:Intel-Gen-Current && DirectX && Clang + # RUN: split-file %s %t # RUN: %dxc_target -T cs_6_0 -Fo %t.o %t/source.hlsl # RUN: %offloader %t/pipeline.yaml %t.o diff --git a/test/Basic/Matrix/matrix_single_subscript_basic.i3x2.test b/test/Basic/Matrix/matrix_single_subscript_basic.i3x2.test index 98a41aa92..f8cddd16c 100644 --- a/test/Basic/Matrix/matrix_single_subscript_basic.i3x2.test +++ b/test/Basic/Matrix/matrix_single_subscript_basic.i3x2.test @@ -99,6 +99,9 @@ DescriptorSets: # Bug: https://github.com/llvm/offload-test-suite/issues/660 # XFAIL: Vulkan && Clang +# Bug: https://github.com/llvm/offload-test-suite/issues/696 +# XFAIL:Intel-Gen-Current && DirectX && Clang + # RUN: split-file %s %t # RUN: %dxc_target -T cs_6_0 -Fo %t.o %t/source.hlsl # RUN: %offloader %t/pipeline.yaml %t.o diff --git a/test/Basic/Matrix/matrix_single_subscript_basic.test b/test/Basic/Matrix/matrix_single_subscript_basic.test index 9680022ba..2ab9c6d62 100644 --- a/test/Basic/Matrix/matrix_single_subscript_basic.test +++ b/test/Basic/Matrix/matrix_single_subscript_basic.test @@ -101,6 +101,9 @@ DescriptorSets: # Bug: https://github.com/llvm/offload-test-suite/issues/660 # XFAIL: Vulkan && Clang +# Bug: https://github.com/llvm/offload-test-suite/issues/696 +# XFAIL:Intel-Gen-Current && DirectX && Clang + # RUN: split-file %s %t # RUN: %dxc_target -T cs_6_0 -Fo %t.o %t/source.hlsl # RUN: %offloader %t/pipeline.yaml %t.o diff --git a/test/Basic/Matrix/matrix_trunc_cast.test b/test/Basic/Matrix/matrix_trunc_cast.test index 4b8b5faaf..74d2795c1 100644 --- a/test/Basic/Matrix/matrix_trunc_cast.test +++ b/test/Basic/Matrix/matrix_trunc_cast.test @@ -56,7 +56,10 @@ DescriptorSets: #--- end # Bug https://github.com/llvm/offload-test-suite/issues/599 -# XFAIL: Intel && Vulkan && Clang +# XFAIL: Intel-Gen-10 && Vulkan && Clang + +# Bug: https://github.com/llvm/offload-test-suite/issues/696 +# XFAIL:Intel-Gen-Current && DirectX && Clang # RUN: split-file %s %t # RUN: %dxc_target -T cs_6_0 -Fo %t.o %t/source.hlsl diff --git a/test/Feature/CBuffer/Matrix/LayoutKeyword/transpose.test b/test/Feature/CBuffer/Matrix/LayoutKeyword/transpose.test index 9a5618157..18bce9196 100644 --- a/test/Feature/CBuffer/Matrix/LayoutKeyword/transpose.test +++ b/test/Feature/CBuffer/Matrix/LayoutKeyword/transpose.test @@ -180,6 +180,9 @@ DescriptorSets: ... #--- end +# Bug https://github.com/microsoft/DirectXShaderCompiler/issues/8473 +# XFAIL: Vulkan && DXC + # Task: https://github.com/llvm/wg-hlsl/issues/305 # XFAIL: Clang diff --git a/test/Feature/CBuffer/Matrix/SingleSubscript/mat_cbuffer_threadgroup.f4x2.test b/test/Feature/CBuffer/Matrix/SingleSubscript/mat_cbuffer_threadgroup.f4x2.test index 78a102ae9..398326d91 100644 --- a/test/Feature/CBuffer/Matrix/SingleSubscript/mat_cbuffer_threadgroup.f4x2.test +++ b/test/Feature/CBuffer/Matrix/SingleSubscript/mat_cbuffer_threadgroup.f4x2.test @@ -96,6 +96,8 @@ DescriptorSets: # Results: [ 1.1, 2.2, 0, 0, 5.5, 6.6, 0, 0 ] # XFAIL: Vulkan && QC && DXC +# Bug: https://github.com/llvm/offload-test-suite/issues/696 +# XFAIL:Intel-Gen-Current && DirectX && Clang # RUN: split-file %s %t # RUN: %dxc_target -T cs_6_0 -Fo %t.o %t/source.hlsl diff --git a/test/Feature/CBuffer/arrays-16bit.test b/test/Feature/CBuffer/arrays-16bit.test index 850da8d23..2636f3500 100644 --- a/test/Feature/CBuffer/arrays-16bit.test +++ b/test/Feature/CBuffer/arrays-16bit.test @@ -82,7 +82,7 @@ DescriptorSets: # REQUIRES: Half, Int16 # Bug: https://github.com/llvm/offload-test-suite/issues/933 -# XFAIL: Intel && DirectX +# XFAIL: Intel-Gen-10 && DirectX # Unimplemented https://github.com/llvm/llvm-project/issues/159602 # XFAIL: Clang && Vulkan diff --git a/test/Feature/CBuffer/scalars-16bit.test b/test/Feature/CBuffer/scalars-16bit.test index 8317d3c57..5fc0eacac 100644 --- a/test/Feature/CBuffer/scalars-16bit.test +++ b/test/Feature/CBuffer/scalars-16bit.test @@ -58,7 +58,7 @@ DescriptorSets: # XFAIL: QC && Vulkan # Bug https://github.com/llvm/offload-test-suite/issues/932 -# XFAIL: Intel && DirectX +# XFAIL: Intel-Gen-10 && DirectX # REQUIRES: Half, Int16 diff --git a/test/Feature/CBuffer/vectors-64bit.test b/test/Feature/CBuffer/vectors-64bit.test index 616a4c394..35b52ff0c 100644 --- a/test/Feature/CBuffer/vectors-64bit.test +++ b/test/Feature/CBuffer/vectors-64bit.test @@ -65,7 +65,7 @@ DescriptorSets: # REQUIRES: Double, Int64 # Bug: https://github.com/llvm/offload-test-suite/issues/471 -# XFAIL: Vulkan && Intel +# XFAIL: Vulkan && Intel-Gen-10 # RUN: split-file %s %t # RUN: %dxc_target -fvk-use-dx-layout -T cs_6_5 -Fo %t.o %t/source.hlsl diff --git a/test/Feature/HLSLLib/any.fp64.test b/test/Feature/HLSLLib/any.fp64.test index 170c86c4e..44dfed959 100644 --- a/test/Feature/HLSLLib/any.fp64.test +++ b/test/Feature/HLSLLib/any.fp64.test @@ -56,7 +56,7 @@ DescriptorSets: #--- end # Bug https://github.com/llvm/offload-test-suite/issues/370 -# XFAIL: DXC && DirectX && Intel +# XFAIL: DXC && DirectX && Intel-Gen-10 # REQUIRES: Double # RUN: split-file %s %t diff --git a/test/Feature/HLSLLib/any.int64.test b/test/Feature/HLSLLib/any.int64.test index ffd327896..d2caa46a2 100644 --- a/test/Feature/HLSLLib/any.int64.test +++ b/test/Feature/HLSLLib/any.int64.test @@ -97,7 +97,7 @@ DescriptorSets: #--- end # Bug https://github.com/llvm/offload-test-suite/issues/370 -# XFAIL: DXC && DirectX && Intel +# XFAIL: DXC && DirectX && Intel-Gen-10 # REQUIRES: Int64 # RUN: split-file %s %t diff --git a/test/Feature/HLSLLib/asin.16.test b/test/Feature/HLSLLib/asin.16.test index 36b6ad167..8f327baef 100644 --- a/test/Feature/HLSLLib/asin.16.test +++ b/test/Feature/HLSLLib/asin.16.test @@ -64,7 +64,7 @@ DescriptorSets: # so we will not investigate this. # only fails with DXC so once Gis spirv support is added to Clang I suspect it will # fail with clang as well. -# XFAIL: Intel && Vulkan && DXC +# XFAIL: Intel-Gen-10 && Vulkan && DXC # Unimplemented: support for the Gis flag generating the # SignedZeroInfNanPreserve capability needs to be added to clang diff --git a/test/Feature/HLSLLib/asin.32.test b/test/Feature/HLSLLib/asin.32.test index d1e855fdf..91044ff42 100644 --- a/test/Feature/HLSLLib/asin.32.test +++ b/test/Feature/HLSLLib/asin.32.test @@ -64,7 +64,7 @@ DescriptorSets: # so we will not investigate this. # only fails with DXC so once Gis spirv support is added to Clang I suspect it will # fail with clang as well. -# XFAIL: Intel && Vulkan && DXC +# XFAIL: Intel-Gen-10 && Vulkan && DXC # Unimplemented: support for the Gis flag generating the # SignedZeroInfNanPreserve capability needs to be added to clang diff --git a/test/Feature/HLSLLib/mul.fp16.test b/test/Feature/HLSLLib/mul.fp16.test index 66dfd630a..30f364b73 100644 --- a/test/Feature/HLSLLib/mul.fp16.test +++ b/test/Feature/HLSLLib/mul.fp16.test @@ -113,7 +113,7 @@ DescriptorSets: #--- end # Bug https://github.com/llvm/offload-test-suite/issues/777 -# XFAIL: Intel && DirectX +# XFAIL: Intel-Gen-10 && DirectX # REQUIRES: Half # RUN: split-file %s %t diff --git a/test/Feature/HLSLLib/mul.int16.test b/test/Feature/HLSLLib/mul.int16.test index 2cb23793c..d50a28a29 100644 --- a/test/Feature/HLSLLib/mul.int16.test +++ b/test/Feature/HLSLLib/mul.int16.test @@ -110,7 +110,7 @@ DescriptorSets: #--- end # Bug https://github.com/llvm/offload-test-suite/issues/777 -# XFAIL: Intel && DirectX +# XFAIL: Intel-Gen-10 && DirectX # REQUIRES: Int16 # RUN: split-file %s %t diff --git a/test/Feature/HLSLLib/transpose.fp16.test b/test/Feature/HLSLLib/transpose.fp16.test index b5baac5c3..cdc1aa9e0 100644 --- a/test/Feature/HLSLLib/transpose.fp16.test +++ b/test/Feature/HLSLLib/transpose.fp16.test @@ -105,7 +105,7 @@ DescriptorSets: #--- end # Bug https://github.com/llvm/offload-test-suite/issues/779 -# XFAIL: Intel && DirectX +# XFAIL: Intel-Gen-10 && DirectX # REQUIRES: Half # RUN: split-file %s %t diff --git a/test/Feature/HLSLLib/transpose.int16.test b/test/Feature/HLSLLib/transpose.int16.test index 4739b4821..0ae6a9099 100644 --- a/test/Feature/HLSLLib/transpose.int16.test +++ b/test/Feature/HLSLLib/transpose.int16.test @@ -102,7 +102,7 @@ DescriptorSets: #--- end # Bug https://github.com/llvm/offload-test-suite/issues/779 -# XFAIL: Intel && DirectX +# XFAIL: Intel-Gen-10 && DirectX # REQUIRES: Int16 # RUN: split-file %s %t diff --git a/test/Feature/PushConstant/types_16bit.test b/test/Feature/PushConstant/types_16bit.test index 5402f9d77..313d8c591 100644 --- a/test/Feature/PushConstant/types_16bit.test +++ b/test/Feature/PushConstant/types_16bit.test @@ -49,6 +49,9 @@ DescriptorSets: #--- end # UNSUPPORTED: Metal || DirectX # +# Bug https://github.com/llvm/offload-test-suite/issues/1294 +# XFAIL: Vulkan && DXC +# # min16 not supported. # XFAIL: Clang diff --git a/test/Feature/ResourcesInStructs/res-of-matrix-in-struct.test b/test/Feature/ResourcesInStructs/res-of-matrix-in-struct.test index fc92f1349..6436d3e61 100644 --- a/test/Feature/ResourcesInStructs/res-of-matrix-in-struct.test +++ b/test/Feature/ResourcesInStructs/res-of-matrix-in-struct.test @@ -62,6 +62,9 @@ DescriptorSets: # Unimplemented https://github.com/microsoft/DirectXShaderCompiler/issues/8302 # XFAIL: Vulkan && DXC +# Bug https://github.com/llvm/llvm-project/issues/202064 +# XFAIL: Vulkan && Clang + # RUN: split-file %s %t # RUN: %dxc_target -T cs_6_0 -Fo %t.o %t/source.hlsl # RUN: %offloader %t/pipeline.yaml %t.o diff --git a/test/Feature/Textures/Texture2D.SRVToUAV.array.test.yaml b/test/Feature/Textures/Texture2D.SRVToUAV.array.test.yaml index 48b0bdefa..a254a9757 100644 --- a/test/Feature/Textures/Texture2D.SRVToUAV.array.test.yaml +++ b/test/Feature/Textures/Texture2D.SRVToUAV.array.test.yaml @@ -90,6 +90,9 @@ DescriptorSets: # Unimplemented https://github.com/llvm/llvm-project/issues/133835 # XFAIL: Clang +# Bug https://github.com/llvm/offload-test-suite/issues/1295 +# XFAIL: DXC && Vulkan && Intel-Gen-Current + # RUN: split-file %s %t # RUN: %dxc_target -T cs_6_0 -Fo %t.o %t/source.hlsl # RUN: %offloader %t/pipeline.yaml %t.o diff --git a/test/Feature/Textures/Texture2D.SRVToUAV.test.yaml b/test/Feature/Textures/Texture2D.SRVToUAV.test.yaml index 175182bbb..e454074fa 100644 --- a/test/Feature/Textures/Texture2D.SRVToUAV.test.yaml +++ b/test/Feature/Textures/Texture2D.SRVToUAV.test.yaml @@ -71,6 +71,10 @@ DescriptorSets: # Unimplemented: https://github.com/llvm/llvm-project/issues/175630 (for SPIRV) # XFAIL: Clang + +# Bug https://github.com/llvm/offload-test-suite/issues/1295 +# XFAIL: DXC && Vulkan && Intel-Gen-Current + # RUN: split-file %s %t # RUN: %dxc_target -T cs_6_0 -Fo %t.o %t/source.hlsl # RUN: %offloader %t/pipeline.yaml %t.o diff --git a/test/Feature/TypedBuffer/64bit-scalar.test b/test/Feature/TypedBuffer/64bit-scalar.test index 945edb0c6..c5927f6b6 100644 --- a/test/Feature/TypedBuffer/64bit-scalar.test +++ b/test/Feature/TypedBuffer/64bit-scalar.test @@ -123,7 +123,7 @@ DescriptorSets: #--- end # Bug https://github.com/llvm/offload-test-suite/issues/1110 -# XFAIL: Intel && Vulkan +# XFAIL: Intel-Gen-10 && Vulkan # REQUIRES: Int64 # RUN: split-file %s %t diff --git a/test/Feature/TypedBuffer/GetDimensions.test b/test/Feature/TypedBuffer/GetDimensions.test index dba1701db..d66d364f1 100644 --- a/test/Feature/TypedBuffer/GetDimensions.test +++ b/test/Feature/TypedBuffer/GetDimensions.test @@ -82,7 +82,7 @@ DescriptorSets: #--- end # Bug https://github.com/llvm/offload-test-suite/issues/469 -# XFAIL: Vulkan && Intel +# XFAIL: Vulkan && Intel-Gen-10 # RUN: split-file %s %t # RUN: %dxc_target -T cs_6_5 -Fo %t.o %t/source.hlsl diff --git a/test/WaveOps/ComponentAccumulationDataRace.test b/test/WaveOps/ComponentAccumulationDataRace.test index 2b0756f36..de955e80f 100644 --- a/test/WaveOps/ComponentAccumulationDataRace.test +++ b/test/WaveOps/ComponentAccumulationDataRace.test @@ -62,7 +62,10 @@ DescriptorSets: # XFAIL: Clang && Vulkan # Bug https://github.com/llvm/offload-test-suite/issues/445 -# XFAIL: DirectX && Intel +# XFAIL: DirectX && Intel-Gen-10 + +# Bug https://github.com/llvm/offload-test-suite/issues/1293 +# XFAIL: DirectX && Clang && Intel-Gen-Current # RUN: split-file %s %t # RUN: %dxc_target -T cs_6_5 -Fo %t.o %t/source.hlsl diff --git a/test/WaveOps/ComponentDataRace.test b/test/WaveOps/ComponentDataRace.test index 43c8384aa..a33d93204 100644 --- a/test/WaveOps/ComponentDataRace.test +++ b/test/WaveOps/ComponentDataRace.test @@ -59,6 +59,9 @@ DescriptorSets: # Bug https://github.com/llvm/llvm-project/issues/172577 # XFAIL: Clang && Vulkan +# Bug https://github.com/llvm/offload-test-suite/issues/1293 +# XFAIL: DirectX && Clang && Intel-Gen-Current + # RUN: split-file %s %t # RUN: %dxc_target -T cs_6_5 -Fo %t.o %t/source.hlsl # RUN: %offloader %t/pipeline.yaml %t.o diff --git a/test/WaveOps/GroupSharedMatrixEltComponentDataRace.test b/test/WaveOps/GroupSharedMatrixEltComponentDataRace.test index 08f0f44be..cd7446e55 100644 --- a/test/WaveOps/GroupSharedMatrixEltComponentDataRace.test +++ b/test/WaveOps/GroupSharedMatrixEltComponentDataRace.test @@ -64,6 +64,9 @@ DescriptorSets: # Bug https://github.com/llvm/llvm-project/issues/172577 # XFAIL: Clang && Vulkan +# Bug https://github.com/llvm/offload-test-suite/issues/696 +# XFAIL: DirectX && Clang && Intel-Gen-Current + # RUN: split-file %s %t # RUN: %dxc_target -T cs_6_0 -Fo %t.o %t/source.hlsl # RUN: %offloader %t/pipeline.yaml %t.o diff --git a/test/WaveOps/GroupSharedMatrixRowComponentDataRace.test b/test/WaveOps/GroupSharedMatrixRowComponentDataRace.test index 703951945..3828891f0 100644 --- a/test/WaveOps/GroupSharedMatrixRowComponentDataRace.test +++ b/test/WaveOps/GroupSharedMatrixRowComponentDataRace.test @@ -66,6 +66,9 @@ DescriptorSets: # Bug https://github.com/llvm/llvm-project/issues/172577 # XFAIL: Clang && Vulkan +# Bug https://github.com/llvm/offload-test-suite/issues/696 +# XFAIL: DirectX && Clang && Intel-Gen-Current + # RUN: split-file %s %t # RUN: %dxc_target -T cs_6_0 -Fo %t.o %t/source.hlsl # RUN: %offloader %t/pipeline.yaml %t.o diff --git a/test/WaveOps/WaveActiveAllEqual.fp64.test b/test/WaveOps/WaveActiveAllEqual.fp64.test index 1c532a1a4..229e33f26 100644 --- a/test/WaveOps/WaveActiveAllEqual.fp64.test +++ b/test/WaveOps/WaveActiveAllEqual.fp64.test @@ -150,7 +150,7 @@ DescriptorSets: # XFAIL: WARP && (x64 || x86) && !AVX512 # Bug: https://github.com/llvm/offload-test-suite/issues/944 -# XFAIL: Intel && DirectX +# XFAIL: Intel-Gen-10 && DirectX # Bug: https://github.com/llvm/offload-test-suite/issues/981 # XFAIL: Clang diff --git a/test/WaveOps/WaveActiveAllEqual.int64.test b/test/WaveOps/WaveActiveAllEqual.int64.test index 715a98a37..4fa340284 100644 --- a/test/WaveOps/WaveActiveAllEqual.int64.test +++ b/test/WaveOps/WaveActiveAllEqual.int64.test @@ -250,7 +250,7 @@ DescriptorSets: #--- end # Bug: https://github.com/llvm/offload-test-suite/issues/944 -# XFAIL: Intel && DirectX +# XFAIL: Intel-Gen-10 && DirectX # Bug: https://github.com/llvm/offload-test-suite/issues/981 # XFAIL: Clang diff --git a/test/WaveOps/WaveActiveSum.fp16.test b/test/WaveOps/WaveActiveSum.fp16.test index af9f23ece..8d092b444 100644 --- a/test/WaveOps/WaveActiveSum.fp16.test +++ b/test/WaveOps/WaveActiveSum.fp16.test @@ -173,6 +173,9 @@ DescriptorSets: # Bug https://github.com/llvm/offload-test-suite/issues/525 # XFAIL: NV && Clang && DirectX +# Bug https://github.com/llvm/offload-test-suite/issues/1293 +# XFAIL: Intel-Gen-Current && Clang && DirectX + # Bug https://github.com/llvm/offload-test-suite/issues/393 # XFAIL: Metal diff --git a/test/WaveOps/WaveActiveSum.fp32.test b/test/WaveOps/WaveActiveSum.fp32.test index d60ea26a5..9c0bf8255 100644 --- a/test/WaveOps/WaveActiveSum.fp32.test +++ b/test/WaveOps/WaveActiveSum.fp32.test @@ -173,6 +173,9 @@ DescriptorSets: # Bug https://github.com/llvm/offload-test-suite/issues/525 # XFAIL: NV && Clang && DirectX +# Bug https://github.com/llvm/offload-test-suite/issues/1293 +# XFAIL: Intel-Gen-Current && Clang && DirectX + # Bug https://github.com/llvm/offload-test-suite/issues/526 # XFAIL: Metal && Clang diff --git a/test/WaveOps/WaveActiveSum.fp64.test b/test/WaveOps/WaveActiveSum.fp64.test index 0d8c97654..9972a6250 100644 --- a/test/WaveOps/WaveActiveSum.fp64.test +++ b/test/WaveOps/WaveActiveSum.fp64.test @@ -173,6 +173,9 @@ DescriptorSets: # Bug https://github.com/llvm/offload-test-suite/issues/525 # XFAIL: NV && Clang && DirectX +# Bug https://github.com/llvm/offload-test-suite/issues/1293 +# XFAIL: Intel-Gen-Current && Clang && DirectX + # REQUIRES: Double # RUN: split-file %s %t diff --git a/test/WaveOps/WaveActiveSum.int16.test b/test/WaveOps/WaveActiveSum.int16.test index 24aa60ad3..186d1a90a 100644 --- a/test/WaveOps/WaveActiveSum.int16.test +++ b/test/WaveOps/WaveActiveSum.int16.test @@ -327,6 +327,9 @@ DescriptorSets: # Bug https://github.com/llvm/offload-test-suite/issues/525 # XFAIL: NV && Clang && DirectX +# Bug https://github.com/llvm/offload-test-suite/issues/1293 +# XFAIL: Intel-Gen-Current && Clang && DirectX + # Bug https://github.com/llvm/offload-test-suite/issues/393 # XFAIL: (Vulkan && MoltenVK) diff --git a/test/WaveOps/WaveActiveSum.int32.test b/test/WaveOps/WaveActiveSum.int32.test index 56d9d301b..044f8e346 100644 --- a/test/WaveOps/WaveActiveSum.int32.test +++ b/test/WaveOps/WaveActiveSum.int32.test @@ -324,6 +324,9 @@ DescriptorSets: # Bug https://github.com/llvm/offload-test-suite/issues/525 # XFAIL: NV && Clang && DirectX +# Bug https://github.com/llvm/offload-test-suite/issues/1293 +# XFAIL: Intel-Gen-Current && Clang && DirectX + # RUN: split-file %s %t # RUN: %dxc_target -T cs_6_5 -Fo %t.o %t/source.hlsl # RUN: %offloader %t/pipeline.yaml %t.o diff --git a/test/WaveOps/WaveActiveSum.int64.test b/test/WaveOps/WaveActiveSum.int64.test index f553484ad..a8e94e81e 100644 --- a/test/WaveOps/WaveActiveSum.int64.test +++ b/test/WaveOps/WaveActiveSum.int64.test @@ -327,6 +327,9 @@ DescriptorSets: # Bug https://github.com/llvm/offload-test-suite/issues/525 # XFAIL: NV && Clang && DirectX +# Bug https://github.com/llvm/offload-test-suite/issues/1293 +# XFAIL: Intel-Gen-Current && Clang && DirectX + # Bug https://github.com/llvm/offload-test-suite/issues/355 # XFAIL: Metal || (Vulkan && MoltenVK) diff --git a/test/WaveOps/WavePrefixProduct.32.test b/test/WaveOps/WavePrefixProduct.32.test index 7f3eab201..5e07e8204 100644 --- a/test/WaveOps/WavePrefixProduct.32.test +++ b/test/WaveOps/WavePrefixProduct.32.test @@ -476,6 +476,9 @@ DescriptorSets: # Bug: https://github.com/llvm/offload-test-suite/issues/1084 # XFAIL: NV && Clang && DirectX +# Bug https://github.com/llvm/offload-test-suite/issues/1293 +# XFAIL: Intel-Gen-Current && Clang && DirectX + # RUN: split-file %s %t # RUN: %dxc_target -T cs_6_5 -Fo %t.o %t/source.hlsl # RUN: %offloader %t/pipeline.yaml %t.o diff --git a/test/WaveOps/WavePrefixProduct.fp16.test b/test/WaveOps/WavePrefixProduct.fp16.test index f7390d73f..26d09b885 100644 --- a/test/WaveOps/WavePrefixProduct.fp16.test +++ b/test/WaveOps/WavePrefixProduct.fp16.test @@ -178,6 +178,9 @@ DescriptorSets: # Bug: https://github.com/llvm/offload-test-suite/issues/1084 # XFAIL: NV && Clang && DirectX +# Bug https://github.com/llvm/offload-test-suite/issues/1293 +# XFAIL: Intel-Gen-Current && Clang && DirectX + # Bug: https://github.com/llvm/offload-test-suite/issues/1102 # XFAIL: AMD && DirectX diff --git a/test/WaveOps/WavePrefixProduct.fp64.test b/test/WaveOps/WavePrefixProduct.fp64.test index c03b3eabb..f534c3e60 100644 --- a/test/WaveOps/WavePrefixProduct.fp64.test +++ b/test/WaveOps/WavePrefixProduct.fp64.test @@ -177,6 +177,9 @@ DescriptorSets: # Bug: https://github.com/llvm/offload-test-suite/issues/1084 # XFAIL: NV && Clang && DirectX +# Bug https://github.com/llvm/offload-test-suite/issues/1293 +# XFAIL: Intel-Gen-Current && Clang && DirectX + # Bug: https://github.com/llvm/offload-test-suite/issues/1102 # XFAIL: AMD && DirectX diff --git a/test/WaveOps/WavePrefixProduct.int16.test b/test/WaveOps/WavePrefixProduct.int16.test index dff630e63..5012278ab 100644 --- a/test/WaveOps/WavePrefixProduct.int16.test +++ b/test/WaveOps/WavePrefixProduct.int16.test @@ -323,6 +323,9 @@ DescriptorSets: # Bug: https://github.com/llvm/offload-test-suite/issues/961 # XFAIL: NV && Clang && DirectX +# Bug https://github.com/llvm/offload-test-suite/issues/1293 +# XFAIL: Intel-Gen-Current && Clang && DirectX + # RUN: split-file %s %t # RUN: %dxc_target -enable-16bit-types -T cs_6_5 -Fo %t.o %t/source.hlsl # RUN: %offloader %t/pipeline.yaml %t.o diff --git a/test/WaveOps/WavePrefixProduct.int64.test b/test/WaveOps/WavePrefixProduct.int64.test index 3b2773695..cbbd5dd36 100644 --- a/test/WaveOps/WavePrefixProduct.int64.test +++ b/test/WaveOps/WavePrefixProduct.int64.test @@ -326,6 +326,9 @@ DescriptorSets: # Bug: https://github.com/llvm/offload-test-suite/issues/1084 # XFAIL: NV && Clang && DirectX +# Bug https://github.com/llvm/offload-test-suite/issues/1293 +# XFAIL: Intel-Gen-Current && Clang && DirectX + # RUN: split-file %s %t # RUN: %dxc_target -T cs_6_5 -Fo %t.o %t/source.hlsl # RUN: %offloader %t/pipeline.yaml %t.o diff --git a/test/WaveOps/WavePrefixSum.32.test b/test/WaveOps/WavePrefixSum.32.test index 2af0b7b2b..4d539202a 100644 --- a/test/WaveOps/WavePrefixSum.32.test +++ b/test/WaveOps/WavePrefixSum.32.test @@ -474,6 +474,9 @@ DescriptorSets: # Bug: https://github.com/llvm/offload-test-suite/issues/961 # XFAIL: NV && Clang && DirectX +# Bug https://github.com/llvm/offload-test-suite/issues/1293 +# XFAIL: Intel-Gen-Current && Clang && DirectX + # RUN: split-file %s %t # RUN: %dxc_target -T cs_6_5 -Fo %t.o %t/source.hlsl # RUN: %offloader %t/pipeline.yaml %t.o diff --git a/test/WaveOps/WavePrefixSum.fp16.test b/test/WaveOps/WavePrefixSum.fp16.test index 515ca316c..a0069c392 100644 --- a/test/WaveOps/WavePrefixSum.fp16.test +++ b/test/WaveOps/WavePrefixSum.fp16.test @@ -175,6 +175,9 @@ DescriptorSets: # Bug: https://github.com/llvm/offload-test-suite/issues/961 # XFAIL: NV && Clang && DirectX +# Bug https://github.com/llvm/offload-test-suite/issues/1293 +# XFAIL: Intel-Gen-Current && Clang && DirectX + # RUN: split-file %s %t # RUN: %dxc_target -enable-16bit-types -T cs_6_5 -Fo %t.o %t/source.hlsl # RUN: %offloader %t/pipeline.yaml %t.o diff --git a/test/WaveOps/WavePrefixSum.fp64.test b/test/WaveOps/WavePrefixSum.fp64.test index f5aa6f988..968084643 100644 --- a/test/WaveOps/WavePrefixSum.fp64.test +++ b/test/WaveOps/WavePrefixSum.fp64.test @@ -172,6 +172,9 @@ DescriptorSets: # Bug: https://github.com/llvm/offload-test-suite/issues/961 # XFAIL: NV && Clang && DirectX +# Bug https://github.com/llvm/offload-test-suite/issues/1293 +# XFAIL: Intel-Gen-Current && Clang && DirectX + # RUN: split-file %s %t # RUN: %dxc_target -T cs_6_5 -Fo %t.o %t/source.hlsl # RUN: %offloader %t/pipeline.yaml %t.o diff --git a/test/WaveOps/WavePrefixSum.int16.test b/test/WaveOps/WavePrefixSum.int16.test index 22c0d6dee..ce213081d 100644 --- a/test/WaveOps/WavePrefixSum.int16.test +++ b/test/WaveOps/WavePrefixSum.int16.test @@ -323,6 +323,9 @@ DescriptorSets: # Bug: https://github.com/llvm/offload-test-suite/issues/961 # XFAIL: NV && Clang && DirectX +# Bug https://github.com/llvm/offload-test-suite/issues/1293 +# XFAIL: Intel-Gen-Current && Clang && DirectX + # RUN: split-file %s %t # RUN: %dxc_target -enable-16bit-types -T cs_6_5 -Fo %t.o %t/source.hlsl # RUN: %offloader %t/pipeline.yaml %t.o diff --git a/test/WaveOps/WavePrefixSum.int64.test b/test/WaveOps/WavePrefixSum.int64.test index bf676a239..6c5549e2c 100644 --- a/test/WaveOps/WavePrefixSum.int64.test +++ b/test/WaveOps/WavePrefixSum.int64.test @@ -326,6 +326,9 @@ DescriptorSets: # Bug: https://github.com/llvm/offload-test-suite/issues/961 # XFAIL: NV && Clang && DirectX +# Bug https://github.com/llvm/offload-test-suite/issues/1293 +# XFAIL: Intel-Gen-Current && Clang && DirectX + # RUN: split-file %s %t # RUN: %dxc_target -T cs_6_5 -Fo %t.o %t/source.hlsl # RUN: %offloader %t/pipeline.yaml %t.o diff --git a/test/lit.cfg.py b/test/lit.cfg.py index a2d757c41..986e5b107 100644 --- a/test/lit.cfg.py +++ b/test/lit.cfg.py @@ -113,6 +113,10 @@ def setDeviceFeatures(config, device, compiler): config.available_features.add(config.warp_arch) if "Intel" in device["Description"]: + if device["GPUGeneration"] == "Intel Gen11-14/Xe": + config.available_features.add("Intel-Gen-Current") + if device["GPUGeneration"] == "Intel Gen7-10": + config.available_features.add("Intel-Gen-10") config.available_features.add("Intel") if "UHD Graphics" in device["Description"] and API == "DirectX": # When Intel resolves the driver issue and tests XFAILing on the diff --git a/tools/api-query/api-query.cpp b/tools/api-query/api-query.cpp index 837419412..da4e94b67 100644 --- a/tools/api-query/api-query.cpp +++ b/tools/api-query/api-query.cpp @@ -14,6 +14,7 @@ #include "llvm/Support/CommandLine.h" #include "llvm/Support/Debug.h" #include "llvm/Support/Error.h" +#include "llvm/Support/Format.h" #include "llvm/Support/InitLLVM.h" using namespace llvm; @@ -50,6 +51,8 @@ int main(int ArgC, char **ArgV) { outs() << C; } outs() << "\"\n"; + outs() << " GPUGeneration: " << D->getGPUGeneration() << "\n"; + outs() << " FamilyPrefix: " << format_hex(D->getFamilyPrefix(), 6) << "\n"; outs() << " Features: \n"; for (const auto &C : D->getCapabilities()) { outs() << " ";