d3d12/tests: Build without -DWINE_NO_LONG_TYPES.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com> Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
ee2ef012f7
commit
636b2d9220
|
@ -1,4 +1,3 @@
|
||||||
EXTRADEFS = -DWINE_NO_LONG_TYPES
|
|
||||||
TESTDLL = d3d12.dll
|
TESTDLL = d3d12.dll
|
||||||
IMPORTS = d3d12 dxgi user32
|
IMPORTS = d3d12 dxgi user32
|
||||||
|
|
||||||
|
|
|
@ -90,7 +90,7 @@ static IDXGIAdapter *create_adapter(void)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
hr = CreateDXGIFactory2(0, &IID_IDXGIFactory4, (void **)&factory);
|
hr = CreateDXGIFactory2(0, &IID_IDXGIFactory4, (void **)&factory);
|
||||||
ok(hr == S_OK, "Failed to create factory, hr %#x.\n", hr);
|
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||||
|
|
||||||
adapter = NULL;
|
adapter = NULL;
|
||||||
if (use_warp_adapter)
|
if (use_warp_adapter)
|
||||||
|
@ -103,7 +103,7 @@ static IDXGIAdapter *create_adapter(void)
|
||||||
}
|
}
|
||||||
IDXGIFactory4_Release(factory);
|
IDXGIFactory4_Release(factory);
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
trace("Failed to get adapter, hr %#x.\n", hr);
|
trace("Failed to get adapter, hr %#lx.\n", hr);
|
||||||
return adapter;
|
return adapter;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -138,16 +138,16 @@ static void print_adapter_info(void)
|
||||||
ID3D12Device_Release(device);
|
ID3D12Device_Release(device);
|
||||||
|
|
||||||
hr = CreateDXGIFactory2(0, &IID_IDXGIFactory4, (void **)&factory);
|
hr = CreateDXGIFactory2(0, &IID_IDXGIFactory4, (void **)&factory);
|
||||||
ok(hr == S_OK, "Failed to create factory, hr %#x.\n", hr);
|
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||||
hr = IDXGIFactory4_EnumAdapterByLuid(factory, luid, &IID_IDXGIAdapter, (void **)&adapter);
|
hr = IDXGIFactory4_EnumAdapterByLuid(factory, luid, &IID_IDXGIAdapter, (void **)&adapter);
|
||||||
ok(hr == S_OK, "Failed to enum adapter by LUID, hr %#x.\n", hr);
|
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||||
IDXGIFactory4_Release(factory);
|
IDXGIFactory4_Release(factory);
|
||||||
|
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
hr = IDXGIAdapter_GetDesc(adapter, &adapter_desc);
|
hr = IDXGIAdapter_GetDesc(adapter, &adapter_desc);
|
||||||
ok(hr == S_OK, "Failed to get adapter desc, hr %#x.\n", hr);
|
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||||
IDXGIAdapter_Release(adapter);
|
IDXGIAdapter_Release(adapter);
|
||||||
|
|
||||||
trace("Adapter: %s, %04x:%04x.\n", wine_dbgstr_w(adapter_desc.Description),
|
trace("Adapter: %s, %04x:%04x.\n", wine_dbgstr_w(adapter_desc.Description),
|
||||||
|
@ -171,7 +171,7 @@ static void check_interface_(unsigned int line, void *iface_ptr, REFIID iid, BOO
|
||||||
expected_hr = supported ? S_OK : E_NOINTERFACE;
|
expected_hr = supported ? S_OK : E_NOINTERFACE;
|
||||||
|
|
||||||
hr = IUnknown_QueryInterface(iface, iid, (void **)&unk);
|
hr = IUnknown_QueryInterface(iface, iid, (void **)&unk);
|
||||||
ok_(__FILE__, line)(hr == expected_hr, "Got hr %#x, expected %#x.\n", hr, expected_hr);
|
ok_(__FILE__, line)(hr == expected_hr, "Got unexpected hr %#lx, expected %#lx.\n", hr, expected_hr);
|
||||||
if (SUCCEEDED(hr))
|
if (SUCCEEDED(hr))
|
||||||
IUnknown_Release(unk);
|
IUnknown_Release(unk);
|
||||||
}
|
}
|
||||||
|
@ -210,7 +210,7 @@ static ID3D12RootSignature *create_default_root_signature(ID3D12Device *device)
|
||||||
root_signature_desc.pStaticSamplers = NULL;
|
root_signature_desc.pStaticSamplers = NULL;
|
||||||
root_signature_desc.Flags = D3D12_ROOT_SIGNATURE_FLAG_NONE;
|
root_signature_desc.Flags = D3D12_ROOT_SIGNATURE_FLAG_NONE;
|
||||||
hr = create_root_signature(device, &root_signature_desc, &root_signature);
|
hr = create_root_signature(device, &root_signature_desc, &root_signature);
|
||||||
ok(hr == S_OK, "Failed to create root signature, hr %#x.\n", hr);
|
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||||
|
|
||||||
return root_signature;
|
return root_signature;
|
||||||
}
|
}
|
||||||
|
@ -282,7 +282,7 @@ static ID3D12PipelineState *create_pipeline_state_(unsigned int line, ID3D12Devi
|
||||||
pipeline_state_desc.SampleDesc.Count = 1;
|
pipeline_state_desc.SampleDesc.Count = 1;
|
||||||
hr = ID3D12Device_CreateGraphicsPipelineState(device, &pipeline_state_desc,
|
hr = ID3D12Device_CreateGraphicsPipelineState(device, &pipeline_state_desc,
|
||||||
&IID_ID3D12PipelineState, (void **)&pipeline_state);
|
&IID_ID3D12PipelineState, (void **)&pipeline_state);
|
||||||
ok_(__FILE__, line)(hr == S_OK, "Failed to create graphics pipeline state, hr %#x.\n", hr);
|
ok_(__FILE__, line)(hr == S_OK, "Failed to create graphics pipeline state, hr %#lx.\n", hr);
|
||||||
|
|
||||||
return pipeline_state;
|
return pipeline_state;
|
||||||
}
|
}
|
||||||
|
@ -301,7 +301,7 @@ static ID3D12CommandQueue *create_command_queue_(unsigned int line,
|
||||||
command_queue_desc.NodeMask = 0;
|
command_queue_desc.NodeMask = 0;
|
||||||
hr = ID3D12Device_CreateCommandQueue(device, &command_queue_desc,
|
hr = ID3D12Device_CreateCommandQueue(device, &command_queue_desc,
|
||||||
&IID_ID3D12CommandQueue, (void **)&queue);
|
&IID_ID3D12CommandQueue, (void **)&queue);
|
||||||
ok_(__FILE__, line)(hr == S_OK, "Failed to create command queue, hr %#x.\n", hr);
|
ok_(__FILE__, line)(hr == S_OK, "Failed to create command queue, hr %#lx.\n", hr);
|
||||||
|
|
||||||
return queue;
|
return queue;
|
||||||
}
|
}
|
||||||
|
@ -342,9 +342,9 @@ static void reset_command_list_(unsigned int line, struct test_context *context,
|
||||||
assert(index < MAX_FRAME_COUNT);
|
assert(index < MAX_FRAME_COUNT);
|
||||||
|
|
||||||
hr = ID3D12CommandAllocator_Reset(context->allocator[index]);
|
hr = ID3D12CommandAllocator_Reset(context->allocator[index]);
|
||||||
ok_(__FILE__, line)(hr == S_OK, "Failed to reset command allocator, hr %#x.\n", hr);
|
ok_(__FILE__, line)(hr == S_OK, "Failed to reset command allocator, hr %#lx.\n", hr);
|
||||||
hr = ID3D12GraphicsCommandList_Reset(context->list[index], context->allocator[index], NULL);
|
hr = ID3D12GraphicsCommandList_Reset(context->list[index], context->allocator[index], NULL);
|
||||||
ok_(__FILE__, line)(hr == S_OK, "Failed to reset command list, hr %#x.\n", hr);
|
ok_(__FILE__, line)(hr == S_OK, "Failed to reset command list, hr %#lx.\n", hr);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void destroy_render_targets(struct test_context *context)
|
static void destroy_render_targets(struct test_context *context)
|
||||||
|
@ -394,7 +394,7 @@ static void create_render_target_(unsigned int line, struct test_context *contex
|
||||||
&heap_properties, D3D12_HEAP_FLAG_NONE, &resource_desc,
|
&heap_properties, D3D12_HEAP_FLAG_NONE, &resource_desc,
|
||||||
D3D12_RESOURCE_STATE_RENDER_TARGET, &clear_value,
|
D3D12_RESOURCE_STATE_RENDER_TARGET, &clear_value,
|
||||||
&IID_ID3D12Resource, (void **)&context->render_target[0]);
|
&IID_ID3D12Resource, (void **)&context->render_target[0]);
|
||||||
ok_(__FILE__, line)(hr == S_OK, "Failed to create texture, hr %#x.\n", hr);
|
ok_(__FILE__, line)(hr == S_OK, "Failed to create texture, hr %#lx.\n", hr);
|
||||||
|
|
||||||
set_viewport(&context->viewport, 0.0f, 0.0f, resource_desc.Width, resource_desc.Height, 0.0f, 1.0f);
|
set_viewport(&context->viewport, 0.0f, 0.0f, resource_desc.Width, resource_desc.Height, 0.0f, 1.0f);
|
||||||
SetRect(&context->scissor_rect, 0, 0, resource_desc.Width, resource_desc.Height);
|
SetRect(&context->scissor_rect, 0, 0, resource_desc.Width, resource_desc.Height);
|
||||||
|
@ -427,14 +427,14 @@ static BOOL init_test_context_(unsigned int line, struct test_context *context,
|
||||||
{
|
{
|
||||||
hr = ID3D12Device_CreateCommandAllocator(device, D3D12_COMMAND_LIST_TYPE_DIRECT,
|
hr = ID3D12Device_CreateCommandAllocator(device, D3D12_COMMAND_LIST_TYPE_DIRECT,
|
||||||
&IID_ID3D12CommandAllocator, (void **)&context->allocator[i]);
|
&IID_ID3D12CommandAllocator, (void **)&context->allocator[i]);
|
||||||
ok_(__FILE__, line)(hr == S_OK, "Failed to create command allocator %u, hr %#x.\n", i, hr);
|
ok_(__FILE__, line)(hr == S_OK, "Failed to create command allocator %u, hr %#lx.\n", i, hr);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_SIZE(context->list); ++i)
|
for (i = 0; i < ARRAY_SIZE(context->list); ++i)
|
||||||
{
|
{
|
||||||
hr = ID3D12Device_CreateCommandList(device, 0, D3D12_COMMAND_LIST_TYPE_DIRECT,
|
hr = ID3D12Device_CreateCommandList(device, 0, D3D12_COMMAND_LIST_TYPE_DIRECT,
|
||||||
context->allocator[i], NULL, &IID_ID3D12GraphicsCommandList, (void **)&context->list[i]);
|
context->allocator[i], NULL, &IID_ID3D12GraphicsCommandList, (void **)&context->list[i]);
|
||||||
ok_(__FILE__, line)(hr == S_OK, "Failed to create command list %u, hr %#x.\n", i, hr);
|
ok_(__FILE__, line)(hr == S_OK, "Failed to create command list %u, hr %#lx.\n", i, hr);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (desc && desc->no_render_target)
|
if (desc && desc->no_render_target)
|
||||||
|
@ -446,7 +446,7 @@ static BOOL init_test_context_(unsigned int line, struct test_context *context,
|
||||||
rtv_heap_desc.NodeMask = 0;
|
rtv_heap_desc.NodeMask = 0;
|
||||||
hr = ID3D12Device_CreateDescriptorHeap(device, &rtv_heap_desc,
|
hr = ID3D12Device_CreateDescriptorHeap(device, &rtv_heap_desc,
|
||||||
&IID_ID3D12DescriptorHeap, (void **)&context->rtv_heap);
|
&IID_ID3D12DescriptorHeap, (void **)&context->rtv_heap);
|
||||||
ok_(__FILE__, line)(hr == S_OK, "Failed to create descriptor heap, hr %#x.\n", hr);
|
ok_(__FILE__, line)(hr == S_OK, "Failed to create descriptor heap, hr %#lx.\n", hr);
|
||||||
|
|
||||||
rtv_size = ID3D12Device_GetDescriptorHandleIncrementSize(device, D3D12_DESCRIPTOR_HEAP_TYPE_RTV);
|
rtv_size = ID3D12Device_GetDescriptorHandleIncrementSize(device, D3D12_DESCRIPTOR_HEAP_TYPE_RTV);
|
||||||
for (i = 0; i < ARRAY_SIZE(context->rtv); ++i)
|
for (i = 0; i < ARRAY_SIZE(context->rtv); ++i)
|
||||||
|
@ -528,12 +528,12 @@ static void wait_queue_idle_(unsigned int line, ID3D12Device *device, ID3D12Comm
|
||||||
|
|
||||||
hr = ID3D12Device_CreateFence(device, 0, D3D12_FENCE_FLAG_NONE,
|
hr = ID3D12Device_CreateFence(device, 0, D3D12_FENCE_FLAG_NONE,
|
||||||
&IID_ID3D12Fence, (void **)&fence);
|
&IID_ID3D12Fence, (void **)&fence);
|
||||||
ok_(__FILE__, line)(hr == S_OK, "Failed to create fence, hr %#x.\n", hr);
|
ok_(__FILE__, line)(hr == S_OK, "Failed to create fence, hr %#lx.\n", hr);
|
||||||
|
|
||||||
hr = ID3D12CommandQueue_Signal(queue, fence, 1);
|
hr = ID3D12CommandQueue_Signal(queue, fence, 1);
|
||||||
ok_(__FILE__, line)(hr == S_OK, "Failed to signal fence, hr %#x.\n", hr);
|
ok_(__FILE__, line)(hr == S_OK, "Failed to signal fence, hr %#lx.\n", hr);
|
||||||
hr = wait_for_fence(fence, 1);
|
hr = wait_for_fence(fence, 1);
|
||||||
ok_(__FILE__, line)(hr == S_OK, "Failed to wait for fence, hr %#x.\n", hr);
|
ok_(__FILE__, line)(hr == S_OK, "Failed to wait for fence, hr %#lx.\n", hr);
|
||||||
|
|
||||||
ID3D12Fence_Release(fence);
|
ID3D12Fence_Release(fence);
|
||||||
}
|
}
|
||||||
|
@ -581,7 +581,7 @@ static ID3D12Resource *create_buffer_(unsigned int line, ID3D12Device *device,
|
||||||
hr = ID3D12Device_CreateCommittedResource(device, &heap_properties,
|
hr = ID3D12Device_CreateCommittedResource(device, &heap_properties,
|
||||||
D3D12_HEAP_FLAG_NONE, &resource_desc, initial_resource_state,
|
D3D12_HEAP_FLAG_NONE, &resource_desc, initial_resource_state,
|
||||||
NULL, &IID_ID3D12Resource, (void **)&buffer);
|
NULL, &IID_ID3D12Resource, (void **)&buffer);
|
||||||
ok_(__FILE__, line)(hr == S_OK, "Failed to create buffer, hr %#x.\n", hr);
|
ok_(__FILE__, line)(hr == S_OK, "Failed to create buffer, hr %#lx.\n", hr);
|
||||||
return buffer;
|
return buffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -614,7 +614,7 @@ static IDXGISwapChain3 *create_swapchain(struct test_context *context, ID3D12Com
|
||||||
destroy_render_targets(context);
|
destroy_render_targets(context);
|
||||||
|
|
||||||
hr = CreateDXGIFactory2(0, &IID_IDXGIFactory4, (void **)&factory);
|
hr = CreateDXGIFactory2(0, &IID_IDXGIFactory4, (void **)&factory);
|
||||||
ok(hr == S_OK, "Failed to create factory, hr %#x.\n", hr);
|
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||||
|
|
||||||
desc.Width = width;
|
desc.Width = width;
|
||||||
desc.Height = height;
|
desc.Height = height;
|
||||||
|
@ -629,12 +629,12 @@ static IDXGISwapChain3 *create_swapchain(struct test_context *context, ID3D12Com
|
||||||
desc.AlphaMode = DXGI_ALPHA_MODE_UNSPECIFIED;
|
desc.AlphaMode = DXGI_ALPHA_MODE_UNSPECIFIED;
|
||||||
desc.Flags = 0;
|
desc.Flags = 0;
|
||||||
hr = IDXGIFactory4_CreateSwapChainForHwnd(factory, (IUnknown *)queue, window, &desc, NULL, NULL, &swapchain1);
|
hr = IDXGIFactory4_CreateSwapChainForHwnd(factory, (IUnknown *)queue, window, &desc, NULL, NULL, &swapchain1);
|
||||||
ok(hr == S_OK, "Failed to create swapchain, hr %#x.\n", hr);
|
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||||
|
|
||||||
IDXGIFactory4_Release(factory);
|
IDXGIFactory4_Release(factory);
|
||||||
|
|
||||||
hr = IDXGISwapChain1_QueryInterface(swapchain1, &IID_IDXGISwapChain3, (void **)&swapchain);
|
hr = IDXGISwapChain1_QueryInterface(swapchain1, &IID_IDXGISwapChain3, (void **)&swapchain);
|
||||||
ok(hr == S_OK, "Failed to query IDXGISwapChain3, hr %#x.\n", hr);
|
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||||
IDXGISwapChain1_Release(swapchain1);
|
IDXGISwapChain1_Release(swapchain1);
|
||||||
|
|
||||||
if (context)
|
if (context)
|
||||||
|
@ -645,7 +645,7 @@ static IDXGISwapChain3 *create_swapchain(struct test_context *context, ID3D12Com
|
||||||
for (i = 0; i < buffer_count; ++i)
|
for (i = 0; i < buffer_count; ++i)
|
||||||
{
|
{
|
||||||
hr = IDXGISwapChain3_GetBuffer(swapchain, i, &IID_ID3D12Resource, (void **)&context->render_target[i]);
|
hr = IDXGISwapChain3_GetBuffer(swapchain, i, &IID_ID3D12Resource, (void **)&context->render_target[i]);
|
||||||
ok(hr == S_OK, "Failed to get swapchain buffer %u, hr %#x.\n", i, hr);
|
ok(hr == S_OK, "Failed to get swapchain buffer %u, hr %#lx.\n", i, hr);
|
||||||
ID3D12Device_CreateRenderTargetView(context->device, context->render_target[i], NULL, context->rtv[i]);
|
ID3D12Device_CreateRenderTargetView(context->device, context->render_target[i], NULL, context->rtv[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -674,7 +674,7 @@ static void get_texture_readback_with_command_list(ID3D12Resource *texture, unsi
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
|
|
||||||
hr = ID3D12Resource_GetDevice(texture, &IID_ID3D12Device, (void **)&device);
|
hr = ID3D12Resource_GetDevice(texture, &IID_ID3D12Device, (void **)&device);
|
||||||
ok(hr == S_OK, "Failed to get device, hr %#x.\n", hr);
|
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||||
|
|
||||||
resource_desc = ID3D12Resource_GetDesc(texture);
|
resource_desc = ID3D12Resource_GetDesc(texture);
|
||||||
ok(resource_desc.Dimension != D3D12_RESOURCE_DIMENSION_BUFFER,
|
ok(resource_desc.Dimension != D3D12_RESOURCE_DIMENSION_BUFFER,
|
||||||
|
@ -707,7 +707,7 @@ static void get_texture_readback_with_command_list(ID3D12Resource *texture, unsi
|
||||||
|
|
||||||
ID3D12GraphicsCommandList_CopyTextureRegion(command_list, &dst_location, 0, 0, 0, &src_location, NULL);
|
ID3D12GraphicsCommandList_CopyTextureRegion(command_list, &dst_location, 0, 0, 0, &src_location, NULL);
|
||||||
hr = ID3D12GraphicsCommandList_Close(command_list);
|
hr = ID3D12GraphicsCommandList_Close(command_list);
|
||||||
ok(hr == S_OK, "Failed to close command list, hr %#x.\n", hr);
|
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||||
|
|
||||||
exec_command_list(queue, command_list);
|
exec_command_list(queue, command_list);
|
||||||
wait_queue_idle(device, queue);
|
wait_queue_idle(device, queue);
|
||||||
|
@ -716,7 +716,7 @@ static void get_texture_readback_with_command_list(ID3D12Resource *texture, unsi
|
||||||
read_range.Begin = 0;
|
read_range.Begin = 0;
|
||||||
read_range.End = resource_desc.Width;
|
read_range.End = resource_desc.Width;
|
||||||
hr = ID3D12Resource_Map(rb->resource, 0, &read_range, &rb->data);
|
hr = ID3D12Resource_Map(rb->resource, 0, &read_range, &rb->data);
|
||||||
ok(hr == S_OK, "Failed to map readback buffer, hr %#x.\n", hr);
|
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void *get_readback_data(struct resource_readback *rb, unsigned int x, unsigned int y,
|
static void *get_readback_data(struct resource_readback *rb, unsigned int x, unsigned int y,
|
||||||
|
@ -825,7 +825,7 @@ static void test_interfaces(void)
|
||||||
desc.Flags = D3D12_COMMAND_QUEUE_FLAG_NONE;
|
desc.Flags = D3D12_COMMAND_QUEUE_FLAG_NONE;
|
||||||
desc.NodeMask = 0;
|
desc.NodeMask = 0;
|
||||||
hr = ID3D12Device_CreateCommandQueue(device, &desc, &IID_ID3D12CommandQueue, (void **)&queue);
|
hr = ID3D12Device_CreateCommandQueue(device, &desc, &IID_ID3D12CommandQueue, (void **)&queue);
|
||||||
ok(hr == S_OK, "Failed to create command queue, hr %#x.\n", hr);
|
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||||
|
|
||||||
check_interface(queue, &IID_ID3D12Object, TRUE);
|
check_interface(queue, &IID_ID3D12Object, TRUE);
|
||||||
check_interface(queue, &IID_ID3D12DeviceChild, TRUE);
|
check_interface(queue, &IID_ID3D12DeviceChild, TRUE);
|
||||||
|
@ -841,9 +841,9 @@ static void test_interfaces(void)
|
||||||
check_interface(queue, &IID_IDXGIDevice4, FALSE);
|
check_interface(queue, &IID_IDXGIDevice4, FALSE);
|
||||||
|
|
||||||
refcount = ID3D12CommandQueue_Release(queue);
|
refcount = ID3D12CommandQueue_Release(queue);
|
||||||
ok(!refcount, "Command queue has %u references left.\n", refcount);
|
ok(!refcount, "Command queue has %lu references left.\n", refcount);
|
||||||
refcount = ID3D12Device_Release(device);
|
refcount = ID3D12Device_Release(device);
|
||||||
ok(!refcount, "Device has %u references left.\n", refcount);
|
ok(!refcount, "Device has %lu references left.\n", refcount);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void test_create_device(void)
|
static void test_create_device(void)
|
||||||
|
@ -868,28 +868,28 @@ static void test_create_device(void)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
refcount = ID3D12Device_Release(device);
|
refcount = ID3D12Device_Release(device);
|
||||||
ok(!refcount, "Device has %u references left.\n", refcount);
|
ok(!refcount, "Device has %lu references left.\n", refcount);
|
||||||
|
|
||||||
hr = CreateDXGIFactory2(0, &IID_IDXGIFactory4, (void **)&factory);
|
hr = CreateDXGIFactory2(0, &IID_IDXGIFactory4, (void **)&factory);
|
||||||
ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
|
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||||
hr = IDXGIFactory4_EnumAdapters(factory, 0, &adapter);
|
hr = IDXGIFactory4_EnumAdapters(factory, 0, &adapter);
|
||||||
ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
|
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||||
IDXGIFactory4_Release(factory);
|
IDXGIFactory4_Release(factory);
|
||||||
|
|
||||||
hr = IDXGIAdapter_GetDesc(adapter, &adapter_desc);
|
hr = IDXGIAdapter_GetDesc(adapter, &adapter_desc);
|
||||||
ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
|
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||||
adapter_luid = adapter_desc.AdapterLuid;
|
adapter_luid = adapter_desc.AdapterLuid;
|
||||||
|
|
||||||
refcount = get_refcount(adapter);
|
refcount = get_refcount(adapter);
|
||||||
ok(refcount == 1, "Got unexpected refcount %u.\n", refcount);
|
ok(refcount == 1, "Got unexpected refcount %lu.\n", refcount);
|
||||||
hr = D3D12CreateDevice((IUnknown *)adapter, D3D_FEATURE_LEVEL_11_0, &IID_ID3D12Device, (void **)&device);
|
hr = D3D12CreateDevice((IUnknown *)adapter, D3D_FEATURE_LEVEL_11_0, &IID_ID3D12Device, (void **)&device);
|
||||||
ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
|
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||||
refcount = IDXGIAdapter_Release(adapter);
|
refcount = IDXGIAdapter_Release(adapter);
|
||||||
ok(refcount >= 1, "Got unexpected refcount %u.\n", refcount);
|
ok(refcount >= 1, "Got unexpected refcount %lu.\n", refcount);
|
||||||
adapter = NULL;
|
adapter = NULL;
|
||||||
|
|
||||||
luid = ID3D12Device_GetAdapterLuid(device);
|
luid = ID3D12Device_GetAdapterLuid(device);
|
||||||
ok(equal_luid(luid, adapter_luid), "Got LUID %08x:%08x, expected %08x:%08x.\n",
|
ok(equal_luid(luid, adapter_luid), "Got unexpected LUID %08lx:%08lx, expected %08lx:%08lx.\n",
|
||||||
luid.HighPart, luid.LowPart, adapter_luid.HighPart, adapter_luid.LowPart);
|
luid.HighPart, luid.LowPart, adapter_luid.HighPart, adapter_luid.LowPart);
|
||||||
|
|
||||||
queue = create_command_queue(device, D3D12_COMMAND_LIST_TYPE_DIRECT);
|
queue = create_command_queue(device, D3D12_COMMAND_LIST_TYPE_DIRECT);
|
||||||
|
@ -901,18 +901,18 @@ static void test_create_device(void)
|
||||||
hr = IDXGISwapChain3_GetContainingOutput(swapchain, &output);
|
hr = IDXGISwapChain3_GetContainingOutput(swapchain, &output);
|
||||||
if (hr != DXGI_ERROR_UNSUPPORTED)
|
if (hr != DXGI_ERROR_UNSUPPORTED)
|
||||||
{
|
{
|
||||||
ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
|
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||||
hr = IDXGIOutput_GetParent(output, &IID_IDXGIAdapter, (void **)&adapter);
|
hr = IDXGIOutput_GetParent(output, &IID_IDXGIAdapter, (void **)&adapter);
|
||||||
ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
|
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||||
IDXGIOutput_Release(output);
|
IDXGIOutput_Release(output);
|
||||||
|
|
||||||
memset(&adapter_desc, 0, sizeof(adapter_desc));
|
memset(&adapter_desc, 0, sizeof(adapter_desc));
|
||||||
hr = IDXGIAdapter_GetDesc(adapter, &adapter_desc);
|
hr = IDXGIAdapter_GetDesc(adapter, &adapter_desc);
|
||||||
ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
|
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||||
IDXGIAdapter_Release(adapter);
|
IDXGIAdapter_Release(adapter);
|
||||||
|
|
||||||
ok(equal_luid(adapter_desc.AdapterLuid, adapter_luid),
|
ok(equal_luid(adapter_desc.AdapterLuid, adapter_luid),
|
||||||
"Got LUID %08x:%08x, expected %08x:%08x.\n",
|
"Got unexpected LUID %08lx:%08lx, expected %08lx:%08lx.\n",
|
||||||
adapter_desc.AdapterLuid.HighPart, adapter_desc.AdapterLuid.LowPart,
|
adapter_desc.AdapterLuid.HighPart, adapter_desc.AdapterLuid.LowPart,
|
||||||
adapter_luid.HighPart, adapter_luid.LowPart);
|
adapter_luid.HighPart, adapter_luid.LowPart);
|
||||||
}
|
}
|
||||||
|
@ -922,12 +922,12 @@ static void test_create_device(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
refcount = IDXGISwapChain3_Release(swapchain);
|
refcount = IDXGISwapChain3_Release(swapchain);
|
||||||
ok(!refcount, "Swapchain has %u references left.\n", refcount);
|
ok(!refcount, "Swapchain has %lu references left.\n", refcount);
|
||||||
DestroyWindow(window);
|
DestroyWindow(window);
|
||||||
ID3D12CommandQueue_Release(queue);
|
ID3D12CommandQueue_Release(queue);
|
||||||
|
|
||||||
refcount = ID3D12Device_Release(device);
|
refcount = ID3D12Device_Release(device);
|
||||||
ok(!refcount, "Device has %u references left.\n", refcount);
|
ok(!refcount, "Device has %lu references left.\n", refcount);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void test_draw(void)
|
static void test_draw(void)
|
||||||
|
@ -1059,17 +1059,17 @@ static void test_swapchain_draw(void)
|
||||||
transition_sub_resource_state(command_list, backbuffer, 0,
|
transition_sub_resource_state(command_list, backbuffer, 0,
|
||||||
D3D12_RESOURCE_STATE_COPY_SOURCE, D3D12_RESOURCE_STATE_PRESENT);
|
D3D12_RESOURCE_STATE_COPY_SOURCE, D3D12_RESOURCE_STATE_PRESENT);
|
||||||
hr = ID3D12GraphicsCommandList_Close(command_list);
|
hr = ID3D12GraphicsCommandList_Close(command_list);
|
||||||
ok(hr == S_OK, "Failed to close command list, hr %#x.\n", hr);
|
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||||
exec_command_list(queue, command_list);
|
exec_command_list(queue, command_list);
|
||||||
|
|
||||||
hr = IDXGISwapChain3_Present(swapchain, 0, 0);
|
hr = IDXGISwapChain3_Present(swapchain, 0, 0);
|
||||||
ok(hr == S_OK, "Failed to present, hr %#x.\n", hr);
|
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||||
|
|
||||||
wait_queue_idle(device, queue);
|
wait_queue_idle(device, queue);
|
||||||
|
|
||||||
destroy_render_targets(&context);
|
destroy_render_targets(&context);
|
||||||
refcount = IDXGISwapChain3_Release(swapchain);
|
refcount = IDXGISwapChain3_Release(swapchain);
|
||||||
ok(!refcount, "Swapchain has %u references left.\n", refcount);
|
ok(!refcount, "Swapchain has %lu references left.\n", refcount);
|
||||||
ID3D12PipelineState_Release(context.pipeline_state);
|
ID3D12PipelineState_Release(context.pipeline_state);
|
||||||
context.pipeline_state = NULL;
|
context.pipeline_state = NULL;
|
||||||
|
|
||||||
|
@ -1107,45 +1107,45 @@ static void test_swapchain_refcount(void)
|
||||||
for (i = 0; i < buffer_count; ++i)
|
for (i = 0; i < buffer_count; ++i)
|
||||||
{
|
{
|
||||||
refcount = get_refcount(swapchain);
|
refcount = get_refcount(swapchain);
|
||||||
todo_wine ok(refcount == 2, "Got refcount %u.\n", refcount);
|
todo_wine ok(refcount == 2, "Got refcount %lu.\n", refcount);
|
||||||
ID3D12Resource_Release(context.render_target[i]);
|
ID3D12Resource_Release(context.render_target[i]);
|
||||||
context.render_target[i] = NULL;
|
context.render_target[i] = NULL;
|
||||||
}
|
}
|
||||||
refcount = get_refcount(swapchain);
|
refcount = get_refcount(swapchain);
|
||||||
ok(refcount == 1, "Got refcount %u.\n", refcount);
|
ok(refcount == 1, "Got refcount %lu.\n", refcount);
|
||||||
|
|
||||||
refcount = IDXGISwapChain3_AddRef(swapchain);
|
refcount = IDXGISwapChain3_AddRef(swapchain);
|
||||||
ok(refcount == 2, "Got refcount %u.\n", refcount);
|
ok(refcount == 2, "Got refcount %lu.\n", refcount);
|
||||||
hr = IDXGISwapChain3_GetBuffer(swapchain, 0, &IID_ID3D12Resource, (void **)&context.render_target[0]);
|
hr = IDXGISwapChain3_GetBuffer(swapchain, 0, &IID_ID3D12Resource, (void **)&context.render_target[0]);
|
||||||
ok(hr == S_OK, "Failed to get swapchain buffer, hr %#x.\n", hr);
|
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||||
refcount = get_refcount(swapchain);
|
refcount = get_refcount(swapchain);
|
||||||
todo_wine ok(refcount == 3, "Got refcount %u.\n", refcount);
|
todo_wine ok(refcount == 3, "Got refcount %lu.\n", refcount);
|
||||||
|
|
||||||
refcount = ID3D12Resource_AddRef(context.render_target[0]);
|
refcount = ID3D12Resource_AddRef(context.render_target[0]);
|
||||||
ok(refcount == 2, "Got refcount %u.\n", refcount);
|
ok(refcount == 2, "Got refcount %lu.\n", refcount);
|
||||||
refcount = get_refcount(swapchain);
|
refcount = get_refcount(swapchain);
|
||||||
todo_wine ok(refcount == 3, "Got refcount %u.\n", refcount);
|
todo_wine ok(refcount == 3, "Got refcount %lu.\n", refcount);
|
||||||
|
|
||||||
hr = IDXGISwapChain3_GetBuffer(swapchain, 1, &IID_ID3D12Resource, (void **)&context.render_target[1]);
|
hr = IDXGISwapChain3_GetBuffer(swapchain, 1, &IID_ID3D12Resource, (void **)&context.render_target[1]);
|
||||||
ok(hr == S_OK, "Failed to get swapchain buffer, hr %#x.\n", hr);
|
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||||
refcount = get_refcount(swapchain);
|
refcount = get_refcount(swapchain);
|
||||||
todo_wine ok(refcount == 3, "Got refcount %u.\n", refcount);
|
todo_wine ok(refcount == 3, "Got refcount %lu.\n", refcount);
|
||||||
|
|
||||||
ID3D12Resource_Release(context.render_target[0]);
|
ID3D12Resource_Release(context.render_target[0]);
|
||||||
ID3D12Resource_Release(context.render_target[0]);
|
ID3D12Resource_Release(context.render_target[0]);
|
||||||
context.render_target[0] = NULL;
|
context.render_target[0] = NULL;
|
||||||
refcount = get_refcount(swapchain);
|
refcount = get_refcount(swapchain);
|
||||||
todo_wine ok(refcount == 3, "Got refcount %u.\n", refcount);
|
todo_wine ok(refcount == 3, "Got refcount %lu.\n", refcount);
|
||||||
|
|
||||||
refcount = IDXGISwapChain3_Release(swapchain);
|
refcount = IDXGISwapChain3_Release(swapchain);
|
||||||
todo_wine ok(refcount == 2, "Got refcount %u.\n", refcount);
|
todo_wine ok(refcount == 2, "Got refcount %lu.\n", refcount);
|
||||||
ID3D12Resource_Release(context.render_target[1]);
|
ID3D12Resource_Release(context.render_target[1]);
|
||||||
context.render_target[1] = NULL;
|
context.render_target[1] = NULL;
|
||||||
refcount = get_refcount(swapchain);
|
refcount = get_refcount(swapchain);
|
||||||
ok(refcount == 1, "Got refcount %u.\n", refcount);
|
ok(refcount == 1, "Got refcount %lu.\n", refcount);
|
||||||
|
|
||||||
refcount = IDXGISwapChain3_Release(swapchain);
|
refcount = IDXGISwapChain3_Release(swapchain);
|
||||||
ok(!refcount, "Swapchain has %u references left.\n", refcount);
|
ok(!refcount, "Swapchain has %lu references left.\n", refcount);
|
||||||
DestroyWindow(window);
|
DestroyWindow(window);
|
||||||
destroy_test_context(&context);
|
destroy_test_context(&context);
|
||||||
}
|
}
|
||||||
|
@ -1196,18 +1196,18 @@ static void test_swapchain_size_mismatch(void)
|
||||||
transition_sub_resource_state(command_list, backbuffer, 0,
|
transition_sub_resource_state(command_list, backbuffer, 0,
|
||||||
D3D12_RESOURCE_STATE_COPY_SOURCE, D3D12_RESOURCE_STATE_PRESENT);
|
D3D12_RESOURCE_STATE_COPY_SOURCE, D3D12_RESOURCE_STATE_PRESENT);
|
||||||
hr = ID3D12GraphicsCommandList_Close(command_list);
|
hr = ID3D12GraphicsCommandList_Close(command_list);
|
||||||
ok(hr == S_OK, "Failed to close command list, hr %#x.\n", hr);
|
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||||
exec_command_list(queue, command_list);
|
exec_command_list(queue, command_list);
|
||||||
|
|
||||||
hr = IDXGISwapChain3_Present(swapchain, 1, 0);
|
hr = IDXGISwapChain3_Present(swapchain, 1, 0);
|
||||||
ok(hr == S_OK, "Failed to present, hr %#x.\n", hr);
|
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||||
|
|
||||||
wait_queue_idle(device, queue);
|
wait_queue_idle(device, queue);
|
||||||
reset_command_list(&context, 0);
|
reset_command_list(&context, 0);
|
||||||
|
|
||||||
destroy_render_targets(&context);
|
destroy_render_targets(&context);
|
||||||
refcount = IDXGISwapChain3_Release(swapchain);
|
refcount = IDXGISwapChain3_Release(swapchain);
|
||||||
ok(!refcount, "Swapchain has %u references left.\n", refcount);
|
ok(!refcount, "Swapchain has %lu references left.\n", refcount);
|
||||||
DestroyWindow(window);
|
DestroyWindow(window);
|
||||||
|
|
||||||
window = create_window(WS_VISIBLE);
|
window = create_window(WS_VISIBLE);
|
||||||
|
@ -1216,12 +1216,12 @@ static void test_swapchain_size_mismatch(void)
|
||||||
swapchain = create_swapchain(&context, queue, window, 4, DXGI_FORMAT_B8G8R8A8_UNORM, rect.right, rect.bottom);
|
swapchain = create_swapchain(&context, queue, window, 4, DXGI_FORMAT_B8G8R8A8_UNORM, rect.right, rect.bottom);
|
||||||
|
|
||||||
hr = ID3D12Device_CreateFence(device, 0, D3D12_FENCE_FLAG_NONE, &IID_ID3D12Fence, (void **)&fence);
|
hr = ID3D12Device_CreateFence(device, 0, D3D12_FENCE_FLAG_NONE, &IID_ID3D12Fence, (void **)&fence);
|
||||||
ok(hr == S_OK, "Failed to create fence, hr %#x.\n", hr);
|
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_SIZE(context.list); ++i)
|
for (i = 0; i < ARRAY_SIZE(context.list); ++i)
|
||||||
{
|
{
|
||||||
hr = ID3D12GraphicsCommandList_Close(context.list[i]);
|
hr = ID3D12GraphicsCommandList_Close(context.list[i]);
|
||||||
ok(hr == S_OK, "Failed to close command list %u, hr %#x.\n", i, hr);
|
ok(hr == S_OK, "Failed to close command list %u, hr %#lx.\n", i, hr);
|
||||||
}
|
}
|
||||||
|
|
||||||
fence_value = 1;
|
fence_value = 1;
|
||||||
|
@ -1230,7 +1230,7 @@ static void test_swapchain_size_mismatch(void)
|
||||||
index = IDXGISwapChain3_GetCurrentBackBufferIndex(swapchain);
|
index = IDXGISwapChain3_GetCurrentBackBufferIndex(swapchain);
|
||||||
|
|
||||||
hr = wait_for_fence(fence, frame_fence_value[index]);
|
hr = wait_for_fence(fence, frame_fence_value[index]);
|
||||||
ok(hr == S_OK, "Failed to wait for fence, hr %#x.\n", hr);
|
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||||
|
|
||||||
reset_command_list(&context, index);
|
reset_command_list(&context, index);
|
||||||
backbuffer = context.render_target[index];
|
backbuffer = context.render_target[index];
|
||||||
|
@ -1243,11 +1243,11 @@ static void test_swapchain_size_mismatch(void)
|
||||||
transition_sub_resource_state(command_list, backbuffer, 0,
|
transition_sub_resource_state(command_list, backbuffer, 0,
|
||||||
D3D12_RESOURCE_STATE_RENDER_TARGET, D3D12_RESOURCE_STATE_PRESENT);
|
D3D12_RESOURCE_STATE_RENDER_TARGET, D3D12_RESOURCE_STATE_PRESENT);
|
||||||
hr = ID3D12GraphicsCommandList_Close(command_list);
|
hr = ID3D12GraphicsCommandList_Close(command_list);
|
||||||
ok(hr == S_OK, "Failed to close command list, hr %#x.\n", hr);
|
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||||
exec_command_list(queue, command_list);
|
exec_command_list(queue, command_list);
|
||||||
|
|
||||||
hr = IDXGISwapChain3_Present(swapchain, 1, 0);
|
hr = IDXGISwapChain3_Present(swapchain, 1, 0);
|
||||||
ok(hr == S_OK, "Failed to present, hr %#x.\n", hr);
|
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||||
|
|
||||||
if (i == 6)
|
if (i == 6)
|
||||||
{
|
{
|
||||||
|
@ -1257,7 +1257,7 @@ static void test_swapchain_size_mismatch(void)
|
||||||
|
|
||||||
frame_fence_value[index] = fence_value;
|
frame_fence_value[index] = fence_value;
|
||||||
hr = ID3D12CommandQueue_Signal(queue, fence, fence_value);
|
hr = ID3D12CommandQueue_Signal(queue, fence, fence_value);
|
||||||
ok(hr == S_OK, "Failed to signal fence, hr %#x.\n", hr);
|
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||||
++fence_value;
|
++fence_value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1266,7 +1266,7 @@ static void test_swapchain_size_mismatch(void)
|
||||||
ID3D12Fence_Release(fence);
|
ID3D12Fence_Release(fence);
|
||||||
destroy_render_targets(&context);
|
destroy_render_targets(&context);
|
||||||
refcount = IDXGISwapChain3_Release(swapchain);
|
refcount = IDXGISwapChain3_Release(swapchain);
|
||||||
ok(!refcount, "Swapchain has %u references left.\n", refcount);
|
ok(!refcount, "Swapchain has %lu references left.\n", refcount);
|
||||||
DestroyWindow(window);
|
DestroyWindow(window);
|
||||||
destroy_test_context(&context);
|
destroy_test_context(&context);
|
||||||
}
|
}
|
||||||
|
@ -1308,12 +1308,12 @@ static void test_swapchain_backbuffer_index(void)
|
||||||
buffer_count, DXGI_FORMAT_B8G8R8A8_UNORM, rect.right, rect.bottom);
|
buffer_count, DXGI_FORMAT_B8G8R8A8_UNORM, rect.right, rect.bottom);
|
||||||
|
|
||||||
hr = ID3D12Device_CreateFence(device, 0, D3D12_FENCE_FLAG_NONE, &IID_ID3D12Fence, (void **)&fence);
|
hr = ID3D12Device_CreateFence(device, 0, D3D12_FENCE_FLAG_NONE, &IID_ID3D12Fence, (void **)&fence);
|
||||||
ok(hr == S_OK, "Failed to create fence, hr %#x.\n", hr);
|
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_SIZE(context.list); ++i)
|
for (i = 0; i < ARRAY_SIZE(context.list); ++i)
|
||||||
{
|
{
|
||||||
hr = ID3D12GraphicsCommandList_Close(context.list[i]);
|
hr = ID3D12GraphicsCommandList_Close(context.list[i]);
|
||||||
ok(hr == S_OK, "Failed to close command list %u, hr %#x.\n", i, hr);
|
ok(hr == S_OK, "Failed to close command list %u, hr %#lx.\n", i, hr);
|
||||||
}
|
}
|
||||||
|
|
||||||
index = 1;
|
index = 1;
|
||||||
|
@ -1325,7 +1325,7 @@ static void test_swapchain_backbuffer_index(void)
|
||||||
ok(index == expected_index, "Test %u: Got index %u, expected %u.\n", i, index, expected_index);
|
ok(index == expected_index, "Test %u: Got index %u, expected %u.\n", i, index, expected_index);
|
||||||
|
|
||||||
hr = wait_for_fence(fence, frame_fence_value[index]);
|
hr = wait_for_fence(fence, frame_fence_value[index]);
|
||||||
ok(hr == S_OK, "Failed to wait for fence, hr %#x.\n", hr);
|
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||||
|
|
||||||
reset_command_list(&context, index);
|
reset_command_list(&context, index);
|
||||||
backbuffer = context.render_target[index];
|
backbuffer = context.render_target[index];
|
||||||
|
@ -1338,7 +1338,7 @@ static void test_swapchain_backbuffer_index(void)
|
||||||
transition_sub_resource_state(command_list, backbuffer, 0,
|
transition_sub_resource_state(command_list, backbuffer, 0,
|
||||||
D3D12_RESOURCE_STATE_RENDER_TARGET, D3D12_RESOURCE_STATE_PRESENT);
|
D3D12_RESOURCE_STATE_RENDER_TARGET, D3D12_RESOURCE_STATE_PRESENT);
|
||||||
hr = ID3D12GraphicsCommandList_Close(command_list);
|
hr = ID3D12GraphicsCommandList_Close(command_list);
|
||||||
ok(hr == S_OK, "Failed to close command list, hr %#x.\n", hr);
|
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||||
exec_command_list(queue, command_list);
|
exec_command_list(queue, command_list);
|
||||||
|
|
||||||
if (i <= 4 || (8 <= i && i <= 14))
|
if (i <= 4 || (8 <= i && i <= 14))
|
||||||
|
@ -1347,11 +1347,11 @@ static void test_swapchain_backbuffer_index(void)
|
||||||
sync_interval = 0;
|
sync_interval = 0;
|
||||||
|
|
||||||
hr = IDXGISwapChain3_Present(swapchain, sync_interval, 0);
|
hr = IDXGISwapChain3_Present(swapchain, sync_interval, 0);
|
||||||
ok(hr == S_OK, "Failed to present, hr %#x.\n", hr);
|
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||||
|
|
||||||
frame_fence_value[index] = fence_value;
|
frame_fence_value[index] = fence_value;
|
||||||
hr = ID3D12CommandQueue_Signal(queue, fence, fence_value);
|
hr = ID3D12CommandQueue_Signal(queue, fence, fence_value);
|
||||||
ok(hr == S_OK, "Failed to signal fence, hr %#x.\n", hr);
|
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||||
++fence_value;
|
++fence_value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1360,7 +1360,7 @@ static void test_swapchain_backbuffer_index(void)
|
||||||
ID3D12Fence_Release(fence);
|
ID3D12Fence_Release(fence);
|
||||||
destroy_render_targets(&context);
|
destroy_render_targets(&context);
|
||||||
refcount = IDXGISwapChain3_Release(swapchain);
|
refcount = IDXGISwapChain3_Release(swapchain);
|
||||||
ok(!refcount, "Swapchain has %u references left.\n", refcount);
|
ok(!refcount, "Swapchain has %lu references left.\n", refcount);
|
||||||
DestroyWindow(window);
|
DestroyWindow(window);
|
||||||
destroy_test_context(&context);
|
destroy_test_context(&context);
|
||||||
}
|
}
|
||||||
|
@ -1389,7 +1389,7 @@ static void test_desktop_window(void)
|
||||||
ok(ret, "Failed to get client rect.\n");
|
ok(ret, "Failed to get client rect.\n");
|
||||||
|
|
||||||
hr = CreateDXGIFactory2(0, &IID_IDXGIFactory4, (void **)&factory);
|
hr = CreateDXGIFactory2(0, &IID_IDXGIFactory4, (void **)&factory);
|
||||||
ok(hr == S_OK, "Failed to create factory, hr %#x.\n", hr);
|
ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr);
|
||||||
|
|
||||||
swapchain_desc.Width = 640;
|
swapchain_desc.Width = 640;
|
||||||
swapchain_desc.Height = 480;
|
swapchain_desc.Height = 480;
|
||||||
|
@ -1404,12 +1404,12 @@ static void test_desktop_window(void)
|
||||||
swapchain_desc.AlphaMode = DXGI_ALPHA_MODE_UNSPECIFIED;
|
swapchain_desc.AlphaMode = DXGI_ALPHA_MODE_UNSPECIFIED;
|
||||||
swapchain_desc.Flags = 0;
|
swapchain_desc.Flags = 0;
|
||||||
hr = IDXGIFactory4_CreateSwapChainForHwnd(factory, queue, window, &swapchain_desc, NULL, NULL, &swapchain);
|
hr = IDXGIFactory4_CreateSwapChainForHwnd(factory, queue, window, &swapchain_desc, NULL, NULL, &swapchain);
|
||||||
ok(hr == E_ACCESSDENIED, "Got unexpected hr %#x.\n", hr);
|
ok(hr == E_ACCESSDENIED, "Got unexpected hr %#lx.\n", hr);
|
||||||
|
|
||||||
swapchain_desc.Width = rect.right;
|
swapchain_desc.Width = rect.right;
|
||||||
swapchain_desc.Height = rect.bottom;
|
swapchain_desc.Height = rect.bottom;
|
||||||
hr = IDXGIFactory4_CreateSwapChainForHwnd(factory, queue, window, &swapchain_desc, NULL, NULL, &swapchain);
|
hr = IDXGIFactory4_CreateSwapChainForHwnd(factory, queue, window, &swapchain_desc, NULL, NULL, &swapchain);
|
||||||
ok(hr == E_ACCESSDENIED, "Got unexpected hr %#x.\n", hr);
|
ok(hr == E_ACCESSDENIED, "Got unexpected hr %#lx.\n", hr);
|
||||||
|
|
||||||
IDXGIFactory4_Release(factory);
|
IDXGIFactory4_Release(factory);
|
||||||
destroy_test_context(&context);
|
destroy_test_context(&context);
|
||||||
|
|
Loading…
Reference in New Issue