diff --git a/libs/vkd3d/command.c b/libs/vkd3d/command.c index 4c54dda9..50578620 100644 --- a/libs/vkd3d/command.c +++ b/libs/vkd3d/command.c @@ -514,8 +514,7 @@ static HRESULT vkd3d_begin_command_buffer(struct d3d12_command_list *list) list->is_recording = TRUE; - if (list->pipeline_state) - ID3D12GraphicsCommandList_SetPipelineState(&list->ID3D12GraphicsCommandList_iface, list->pipeline_state); + ID3D12GraphicsCommandList_SetPipelineState(&list->ID3D12GraphicsCommandList_iface, list->pipeline_state); return S_OK; } @@ -1292,6 +1291,12 @@ static void STDMETHODCALLTYPE d3d12_command_list_DrawInstanced(ID3D12GraphicsCom iface, vertex_count_per_instance, instance_count, start_vertex_location, start_instance_location); + if (!list->state) + { + WARN("Pipeline state is NULL. Ignoring draw call.\n"); + return; + } + vk_procs = &list->device->vk_procs; if (!d3d12_command_list_update_current_framebuffer(list, vk_procs))