=?UTF-8?Q?J=C3=B3zef=20Kucia=20?=: tests: Skip "ps_movc" on Windows AMD drivers.
Alexandre Julliard
julliard at winehq.org
Wed Dec 12 13:44:45 CST 2018
Module: vkd3d
Branch: master
Commit: 56f79913f6f2e7e629865b7628cb7ac183561cab
URL: https://source.winehq.org/git/vkd3d.git/?a=commit;h=56f79913f6f2e7e629865b7628cb7ac183561cab
Author: Józef Kucia <jkucia at codeweavers.com>
Date: Tue Dec 11 15:48:01 2018 +0100
tests: Skip "ps_movc" on Windows AMD drivers.
Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
tests/d3d12.c | 6 ++++++
tests/d3d12_crosstest.h | 31 +++++++++++++++++++++++++++++++
2 files changed, 37 insertions(+)
diff --git a/tests/d3d12.c b/tests/d3d12.c
index c127f6b..463e304 100644
--- a/tests/d3d12.c
+++ b/tests/d3d12.c
@@ -7986,6 +7986,12 @@ static void test_shader_instructions(void)
continue;
}
+ if (uint_tests[i].ps == &ps_movc && is_amd_device(context.device))
+ {
+ skip("ps_movc crashes on Windows with AMD GPUs.\n");
+ continue;
+ }
+
if (current_ps != uint_tests[i].ps)
{
if (context.pipeline_state)
diff --git a/tests/d3d12_crosstest.h b/tests/d3d12_crosstest.h
index 00db064..ee12c89 100644
--- a/tests/d3d12_crosstest.h
+++ b/tests/d3d12_crosstest.h
@@ -294,6 +294,32 @@ static void init_adapter_info(void)
IDXGIAdapter_Release(dxgi_adapter);
}
+
+static inline bool is_amd_device(ID3D12Device *device)
+{
+ DXGI_ADAPTER_DESC desc = {0};
+ IDXGIFactory4 *factory;
+ IDXGIAdapter *adapter;
+ HRESULT hr;
+ LUID luid;
+
+ luid = ID3D12Device_GetAdapterLuid(device);
+
+ hr = CreateDXGIFactory1(&IID_IDXGIFactory4, (void **)&factory);
+ ok(hr == S_OK, "Failed to create IDXGIFactory4, hr %#x.\n", hr);
+
+ hr = IDXGIFactory4_EnumAdapterByLuid(factory, luid, &IID_IDXGIAdapter, (void **)&adapter);
+ if (SUCCEEDED(hr))
+ {
+ hr = IDXGIAdapter_GetDesc(adapter, &desc);
+ ok(hr == S_OK, "Failed to get adapter desc, hr %#x.\n", hr);
+ IDXGIAdapter_Release(adapter);
+ }
+
+ IDXGIFactory4_Release(factory);
+
+ return desc.VendorId == 0x1002;
+}
#else
static IUnknown *create_adapter(void)
{
@@ -301,6 +327,11 @@ static IUnknown *create_adapter(void)
}
static void init_adapter_info(void) {}
+
+static inline bool is_amd_device(ID3D12Device *device)
+{
+ return false;
+}
#endif
static ID3D12Device *create_device(void)
More information about the wine-cvs
mailing list