diff --git a/libs/vkd3d/state.c b/libs/vkd3d/state.c index a99ec121..a0a6e6c1 100644 --- a/libs/vkd3d/state.c +++ b/libs/vkd3d/state.c @@ -4157,6 +4157,7 @@ VkPipeline d3d12_pipeline_state_get_or_create_pipeline(struct d3d12_pipeline_sta pipeline_key.dsv_format = dsv_format ? dsv_format->vk_format : VK_FORMAT_UNDEFINED; pipeline_key.rtv_active_mask = state->graphics.rtv_active_mask & rtv_nonnull_mask; + pipeline_key.variant_flags = variant_flags; if ((vk_pipeline = d3d12_pipeline_state_find_compiled_pipeline(state, &pipeline_key, render_pass_compat, dynamic_state_flags))) diff --git a/libs/vkd3d/vkd3d_private.h b/libs/vkd3d/vkd3d_private.h index 1260ca5a..79a5dc0f 100644 --- a/libs/vkd3d/vkd3d_private.h +++ b/libs/vkd3d/vkd3d_private.h @@ -1578,6 +1578,7 @@ struct vkd3d_pipeline_key uint32_t viewport_count; uint32_t strides[D3D12_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT]; uint32_t rtv_active_mask; + uint32_t variant_flags; VkFormat dsv_format; bool dynamic_stride;