Giovanni Mascellani (@giomasce) commented about libs/vkd3d/command.c:
- if (list->allocator)
+static HRESULT STDMETHODCALLTYPE d3d12_command_list_Close(ID3D12GraphicsCommandList3 *iface) +{
- struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList3(iface);
- TRACE("iface %p.\n", iface);
- if (!list->is_recording) {
d3d12_command_allocator_remove_command_list(list->allocator, list);
list->allocator = NULL;
WARN("Command list is not in the recording state.\n");
return E_FAIL;
}
if (list->allocator)
You already check for `list->allocator` to be valid inside `d3d12_command_allocatore_remove_command_list()`.
OTOH, you don't set `list->allocator = NULL` any more. Is that intended?