tests: Fix test failures in conditional rendering tests.

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 2019-06-18 10:07:48 +02:00 committed by Alexandre Julliard
parent 8d03148e11
commit 18991337b7
2 changed files with 31 additions and 5 deletions

View File

@ -30932,6 +30932,13 @@ static void test_conditional_rendering(void)
command_list = context.list;
queue = context.queue;
if (is_intel_windows_device(context.device))
{
skip("Predicated rendering is broken on Intel.\n");
destroy_test_context(&context);
return;
}
conditions = create_default_buffer(context.device, sizeof(predicate_args),
D3D12_RESOURCE_FLAG_NONE, D3D12_RESOURCE_STATE_COPY_DEST);
upload_buffer_data(conditions, 0, sizeof(predicate_args), &predicate_args, queue, command_list);
@ -30950,7 +30957,7 @@ static void test_conditional_rendering(void)
transition_resource_state(command_list, context.render_target,
D3D12_RESOURCE_STATE_RENDER_TARGET, D3D12_RESOURCE_STATE_COPY_SOURCE);
check_sub_resource_uint(context.render_target, 0, queue, command_list, 0xffffffff, 0);
todo check_sub_resource_uint(context.render_target, 0, queue, command_list, 0x00000000, 0);
reset_command_list(command_list, context.allocator);
transition_resource_state(command_list, context.render_target,

View File

@ -323,14 +323,15 @@ static void init_adapter_info(void)
IDXGIAdapter_Release(dxgi_adapter);
}
static inline bool is_amd_windows_device(ID3D12Device *device)
static inline bool get_adapter_desc(ID3D12Device *device, DXGI_ADAPTER_DESC *desc)
{
DXGI_ADAPTER_DESC desc = {0};
IDXGIFactory4 *factory;
IDXGIAdapter *adapter;
HRESULT hr;
LUID luid;
memset(desc, 0, sizeof(*desc));
if (!vkd3d_test_platform_is_windows())
return false;
@ -342,14 +343,27 @@ static inline bool is_amd_windows_device(ID3D12Device *device)
hr = IDXGIFactory4_EnumAdapterByLuid(factory, luid, &IID_IDXGIAdapter, (void **)&adapter);
if (SUCCEEDED(hr))
{
hr = IDXGIAdapter_GetDesc(adapter, &desc);
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 SUCCEEDED(hr);
}
return desc.VendorId == 0x1002;
static inline bool is_amd_windows_device(ID3D12Device *device)
{
DXGI_ADAPTER_DESC desc;
return get_adapter_desc(device, &desc) && desc.VendorId == 0x1002;
}
static inline bool is_intel_windows_device(ID3D12Device *device)
{
DXGI_ADAPTER_DESC desc;
return get_adapter_desc(device, &desc) && desc.VendorId == 0x8086;
}
static inline bool is_mesa_device(ID3D12Device *device)
@ -566,6 +580,11 @@ static inline bool is_amd_windows_device(ID3D12Device *device)
return false;
}
static inline bool is_intel_windows_device(ID3D12Device *device)
{
return false;
}
static inline bool is_mesa_device(ID3D12Device *device)
{
VkPhysicalDeviceDriverPropertiesKHR properties;