mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-11-21 16:46:41 -08:00
vkd3d: Fix initial pipeline state.
d3d12_command_list_begin_command_buffer() was using the previous initial pipeline state when called from d3d12_command_list_Reset(). Signed-off-by: Józef Kucia <jkucia@codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
605cb12eca
commit
9fe06825f8
@ -634,8 +634,6 @@ static HRESULT d3d12_command_list_begin_command_buffer(struct d3d12_command_list
|
|||||||
list->is_recording = true;
|
list->is_recording = true;
|
||||||
list->is_valid = true;
|
list->is_valid = true;
|
||||||
|
|
||||||
ID3D12GraphicsCommandList_SetPipelineState(&list->ID3D12GraphicsCommandList_iface, list->pipeline_state);
|
|
||||||
|
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1740,7 +1738,8 @@ static HRESULT STDMETHODCALLTYPE d3d12_command_list_Reset(ID3D12GraphicsCommandL
|
|||||||
if (SUCCEEDED(hr = d3d12_command_allocator_allocate_command_buffer(allocator_impl, list)))
|
if (SUCCEEDED(hr = d3d12_command_allocator_allocate_command_buffer(allocator_impl, list)))
|
||||||
{
|
{
|
||||||
list->allocator = allocator_impl;
|
list->allocator = allocator_impl;
|
||||||
list->pipeline_state = initial_state;
|
|
||||||
|
ID3D12GraphicsCommandList_SetPipelineState(&list->ID3D12GraphicsCommandList_iface, initial_state);
|
||||||
}
|
}
|
||||||
|
|
||||||
memset(list->pipeline_bindings, 0, sizeof(list->pipeline_bindings));
|
memset(list->pipeline_bindings, 0, sizeof(list->pipeline_bindings));
|
||||||
@ -4239,7 +4238,6 @@ static HRESULT d3d12_command_list_init(struct d3d12_command_list *list, struct d
|
|||||||
ID3D12Device_AddRef(&device->ID3D12Device_iface);
|
ID3D12Device_AddRef(&device->ID3D12Device_iface);
|
||||||
|
|
||||||
list->allocator = allocator;
|
list->allocator = allocator;
|
||||||
list->pipeline_state = initial_pipeline_state;
|
|
||||||
|
|
||||||
memset(list->strides, 0, sizeof(list->strides));
|
memset(list->strides, 0, sizeof(list->strides));
|
||||||
list->primitive_topology = VK_PRIMITIVE_TOPOLOGY_POINT_LIST;
|
list->primitive_topology = VK_PRIMITIVE_TOPOLOGY_POINT_LIST;
|
||||||
@ -4262,6 +4260,8 @@ static HRESULT d3d12_command_list_init(struct d3d12_command_list *list, struct d
|
|||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ID3D12GraphicsCommandList_SetPipelineState(&list->ID3D12GraphicsCommandList_iface, initial_pipeline_state);
|
||||||
|
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -614,7 +614,6 @@ struct d3d12_command_list
|
|||||||
LONG refcount;
|
LONG refcount;
|
||||||
|
|
||||||
D3D12_COMMAND_LIST_TYPE type;
|
D3D12_COMMAND_LIST_TYPE type;
|
||||||
ID3D12PipelineState *pipeline_state;
|
|
||||||
|
|
||||||
VkCommandBuffer vk_command_buffer;
|
VkCommandBuffer vk_command_buffer;
|
||||||
bool is_recording;
|
bool is_recording;
|
||||||
|
Loading…
Reference in New Issue
Block a user