Module: vkd3d Branch: master Commit: e46de1daa28f447aa13c5d0e98f94f226a6ddb52 URL: https://gitlab.winehq.org/wine/vkd3d/-/commit/e46de1daa28f447aa13c5d0e98f94f...
Author: Conor McCarthy cmccarthy@codeweavers.com Date: Tue Apr 9 13:22:06 2024 +1000
tests/d3d12: Test resource flags for multisampled resources.
---
tests/d3d12.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+)
diff --git a/tests/d3d12.c b/tests/d3d12.c index be92cba8..a0d738ac 100644 --- a/tests/d3d12.c +++ b/tests/d3d12.c @@ -1601,7 +1601,25 @@ static void test_create_committed_resource(void) hr = ID3D12Device_CreateCommittedResource(device, &heap_properties, D3D12_HEAP_FLAG_NONE, &resource_desc, D3D12_RESOURCE_STATE_RENDER_TARGET, &clear_value, &IID_ID3D12Resource, (void **)&resource); ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr); + + /* The ALLOW_RENDER_TARGET or ALLOW_DEPTH_STENCIL flag is required for multisampled resources. */ + resource_desc.SampleDesc.Count = 4; + resource_desc.Flags = 0; + hr = ID3D12Device_CreateCommittedResource(device, &heap_properties, D3D12_HEAP_FLAG_NONE, &resource_desc, + D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE, NULL, &IID_ID3D12Resource, (void **)&resource); + todo + ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr); + if (SUCCEEDED(hr)) + ID3D12Resource_Release(resource); + + resource_desc.Format = DXGI_FORMAT_D32_FLOAT; + resource_desc.Flags = D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL; + hr = ID3D12Device_CreateCommittedResource(device, &heap_properties, D3D12_HEAP_FLAG_NONE, &resource_desc, + D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE, NULL, &IID_ID3D12Resource, (void **)&resource); + ok(hr == S_OK, "Failed to create committed resource, hr %#x.\n", hr); + ID3D12Resource_Release(resource); resource_desc.SampleDesc.Count = 1; + resource_desc.Flags = D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET;
resource_desc.Format = DXGI_FORMAT_UNKNOWN; hr = ID3D12Device_CreateCommittedResource(device, &heap_properties, D3D12_HEAP_FLAG_NONE, &resource_desc,