mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07:00
vkd3d: Avoid freeing the input signature twice on error paths in d3d12_pipeline_state_init_graphics().
This used to be safe enough before commit
b5ac6ac636
, although that was never guaranteed
by the API.
This commit is contained in:
Notes:
Henri Verbeet
2025-02-12 20:09:42 +01:00
Approved-by: Giovanni Mascellani (@giomasce) Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1373
@@ -3595,7 +3595,6 @@ static HRESULT d3d12_pipeline_state_init_graphics(struct d3d12_pipeline_state *s
|
|||||||
mask |= 1u << e->InputSlot;
|
mask |= 1u << e->InputSlot;
|
||||||
}
|
}
|
||||||
graphics->attribute_count = j;
|
graphics->attribute_count = j;
|
||||||
vkd3d_shader_free_shader_signature(&input_signature);
|
|
||||||
|
|
||||||
switch (desc->strip_cut_value)
|
switch (desc->strip_cut_value)
|
||||||
{
|
{
|
||||||
@@ -3661,6 +3660,7 @@ static HRESULT d3d12_pipeline_state_init_graphics(struct d3d12_pipeline_state *s
|
|||||||
if (FAILED(hr = vkd3d_private_store_init(&state->private_store)))
|
if (FAILED(hr = vkd3d_private_store_init(&state->private_store)))
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
|
vkd3d_shader_free_shader_signature(&input_signature);
|
||||||
state->vk_bind_point = VK_PIPELINE_BIND_POINT_GRAPHICS;
|
state->vk_bind_point = VK_PIPELINE_BIND_POINT_GRAPHICS;
|
||||||
state->implicit_root_signature = NULL;
|
state->implicit_root_signature = NULL;
|
||||||
d3d12_device_add_ref(state->device = device);
|
d3d12_device_add_ref(state->device = device);
|
||||||
|
Reference in New Issue
Block a user