From 99adad50ea3248bce8d8da0fcf715cacb069a5e1 Mon Sep 17 00:00:00 2001 From: Hans-Kristian Arntzen Date: Thu, 3 Oct 2019 15:06:47 +0200 Subject: [PATCH] Warn if incompatible DSV pipelines are found. --- libs/vkd3d/command.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/libs/vkd3d/command.c b/libs/vkd3d/command.c index 56643ffa..00491a72 100644 --- a/libs/vkd3d/command.c +++ b/libs/vkd3d/command.c @@ -2490,9 +2490,14 @@ static bool d3d12_command_list_update_current_pipeline(struct d3d12_command_list vk_render_pass = list->state->u.graphics.static_render_pass; assert(vk_render_pass); } - else if (!(vk_pipeline = d3d12_pipeline_state_get_or_create_pipeline(list->state, - list->primitive_topology, list->strides, list->dsv_format, &vk_render_pass))) - return false; + else + { + WARN("DSV format 0x%x does not match PipelineState DSV format 0x%x. Looking up pipeline late.\n", + (unsigned)list->dsv_format, (unsigned)list->state->u.graphics.dsv_format); + if (!(vk_pipeline = d3d12_pipeline_state_get_or_create_pipeline(list->state, + list->primitive_topology, list->strides, list->dsv_format, &vk_render_pass))) + return false; + } /* The render pass cache ensures that we use the same Vulkan render pass * object for compatible render passes. */