From: Giovanni Mascellani gmascellani@codeweavers.com
--- tests/d3d12.c | 14 ++++++++++++++ tests/d3d12_crosstest.h | 9 +++++++++ 2 files changed, 23 insertions(+)
diff --git a/tests/d3d12.c b/tests/d3d12.c index 729a971ed..d87ace5a8 100644 --- a/tests/d3d12.c +++ b/tests/d3d12.c @@ -19586,6 +19586,13 @@ static void test_null_srv(void) queue = context.queue; device = context.device;
+ if (is_llvmpipe_device(device)) + { + skip("Test crashes on llvmpipe, skipping.\n"); + destroy_test_context(&context); + return; + } + context.root_signature = create_texture_root_signature(context.device, D3D12_SHADER_VISIBILITY_PIXEL, 4, 0);
@@ -19801,6 +19808,13 @@ static void test_null_uav(void) command_list = context.list; queue = context.queue;
+ if (is_llvmpipe_device(device)) + { + skip("Test crashes on llvmpipe, skipping.\n"); + destroy_test_context(&context); + return; + } + descriptor_ranges[0].RangeType = D3D12_DESCRIPTOR_RANGE_TYPE_UAV; descriptor_ranges[0].NumDescriptors = 1; descriptor_ranges[0].BaseShaderRegister = 1; diff --git a/tests/d3d12_crosstest.h b/tests/d3d12_crosstest.h index 6c0a4ef12..69ec69bf7 100644 --- a/tests/d3d12_crosstest.h +++ b/tests/d3d12_crosstest.h @@ -638,6 +638,7 @@ static inline bool is_mesa_device(ID3D12Device *device)
get_driver_properties(device, &properties); return properties.driverID == VK_DRIVER_ID_MESA_RADV_KHR + || properties.driverID == VK_DRIVER_ID_MESA_LLVMPIPE || properties.driverID == VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR; }
@@ -649,6 +650,14 @@ static inline bool is_mesa_intel_device(ID3D12Device *device) return properties.driverID == VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR; }
+static inline bool is_llvmpipe_device(ID3D12Device *device) +{ + VkPhysicalDeviceDriverPropertiesKHR properties; + + get_driver_properties(device, &properties); + return properties.driverID == VK_DRIVER_ID_MESA_LLVMPIPE; +} + static inline bool is_nvidia_device(ID3D12Device *device) { VkPhysicalDeviceDriverPropertiesKHR properties;