tests: Skip "ps_movc" on Windows AMD drivers.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Józef Kucia 2018-12-11 15:48:01 +01:00 committed by Alexandre Julliard
parent 0be448b4fd
commit 56f79913f6
2 changed files with 37 additions and 0 deletions

View File

@ -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)

View File

@ -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)