From 09f667ce4eaea2bb8c5e6fa8a79553ba9cf2a6aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B3zef=20Kucia?= Date: Wed, 28 Nov 2018 18:51:22 +0100 Subject: [PATCH] vkd3d: Add FIXME() for invalid depth/stencil formats. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Needs more tests. Signed-off-by: Józef Kucia Signed-off-by: Henri Verbeet Signed-off-by: Alexandre Julliard --- libs/vkd3d/state.c | 3 +++ tests/d3d12.c | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/libs/vkd3d/state.c b/libs/vkd3d/state.c index 66da08a9..1fefb614 100644 --- a/libs/vkd3d/state.c +++ b/libs/vkd3d/state.c @@ -1966,6 +1966,9 @@ static HRESULT d3d12_pipeline_state_init_graphics(struct d3d12_pipeline_state *s goto fail; } + if (!(format->vk_aspect_mask & (VK_IMAGE_ASPECT_DEPTH_BIT | VK_IMAGE_ASPECT_STENCIL_BIT))) + FIXME("Format %#x is not depth/stencil format.\n", format->dxgi_format); + if ((ds_desc->DepthEnable && ds_desc->DepthWriteMask) || (ds_desc->StencilEnable && ds_desc->StencilWriteMask)) depth_layout = VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL; diff --git a/tests/d3d12.c b/tests/d3d12.c index f5217663..e5a6249a 100644 --- a/tests/d3d12.c +++ b/tests/d3d12.c @@ -2745,6 +2745,14 @@ static void test_create_graphics_pipeline_state(void) ok(hr == S_OK, "Got unexpected hr %#x.\n", hr); ID3D12PipelineState_Release(pipeline_state); + /* Invalid DSVFormat */ + pso_desc.DSVFormat = DXGI_FORMAT_R8G8B8A8_UNORM; + pso_desc.DepthStencilState.DepthEnable = TRUE; + hr = ID3D12Device_CreateGraphicsPipelineState(device, &pso_desc, + &IID_ID3D12PipelineState, (void **)&pipeline_state); + ok(hr == S_OK, "Got unexpected hr %#x.\n", hr); + ID3D12PipelineState_Release(pipeline_state); + refcount = ID3D12RootSignature_Release(root_signature); ok(!refcount, "ID3D12RootSignature has %u references left.\n", (unsigned int)refcount); refcount = ID3D12Device_Release(device);