vkd3d: Do not store root signature in graphics pipeline state.

We only need to know the pipeline layout for pipeline variant
creation. We are not holding a strong reference to the root
signature anyway, which may be problematic, but this should
not introduce a regression.

Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
This commit is contained in:
Philip Rebohle 2020-11-05 14:25:14 +01:00 committed by Hans-Kristian Arntzen
parent a1198f2af8
commit 1d823f8659
2 changed files with 3 additions and 4 deletions

View File

@ -2797,8 +2797,8 @@ static HRESULT d3d12_pipeline_state_init_graphics(struct d3d12_pipeline_state *s
(desc->primitive_topology_type != D3D12_PRIMITIVE_TOPOLOGY_TYPE_PATCH || graphics->patch_vertex_count != 0) &&
desc->primitive_topology_type != D3D12_PRIMITIVE_TOPOLOGY_TYPE_UNDEFINED;
graphics->pipeline_layout = root_signature->vk_pipeline_layout;
graphics->pipeline = VK_NULL_HANDLE;
graphics->root_signature = root_signature;
state->device = device;
if (supports_extended_dynamic_state)
@ -3154,7 +3154,7 @@ VkPipeline d3d12_pipeline_state_create_pipeline_variant(struct d3d12_pipeline_st
pipeline_desc.pDepthStencilState = &graphics->ds_desc;
pipeline_desc.pColorBlendState = &graphics->blend_desc;
pipeline_desc.pDynamicState = &dynamic_create_info;
pipeline_desc.layout = graphics->root_signature->vk_pipeline_layout;
pipeline_desc.layout = graphics->pipeline_layout;
pipeline_desc.subpass = 0;
pipeline_desc.basePipelineHandle = VK_NULL_HANDLE;
pipeline_desc.basePipelineIndex = -1;

View File

@ -958,8 +958,7 @@ struct d3d12_graphics_pipeline_state
uint32_t dynamic_state_flags; /* vkd3d_dynamic_state_flag */
const struct d3d12_root_signature *root_signature;
VkPipelineLayout pipeline_layout;
VkPipeline pipeline;
struct list compiled_fallback_pipelines;