diff --git a/GPU/D3D11/DrawEngineD3D11.h b/GPU/D3D11/DrawEngineD3D11.h index 7c9b46ac5ee6..80e7b606fc2d 100644 --- a/GPU/D3D11/DrawEngineD3D11.h +++ b/GPU/D3D11/DrawEngineD3D11.h @@ -149,7 +149,11 @@ class DrawEngineD3D11 : public DrawEngineCommon { DecodeVerts(decoded); } - void DispatchFlush() override { Flush(); } + void DispatchFlush() override { + if (!numDrawCalls) + return; + Flush(); + } void ClearTrackedVertexArrays() override; diff --git a/GPU/Directx9/DrawEngineDX9.h b/GPU/Directx9/DrawEngineDX9.h index 1cea91376b97..5d7cbf71657d 100644 --- a/GPU/Directx9/DrawEngineDX9.h +++ b/GPU/Directx9/DrawEngineDX9.h @@ -139,7 +139,11 @@ class DrawEngineDX9 : public DrawEngineCommon { DecodeVerts(decoded); } - void DispatchFlush() override { Flush(); } + void DispatchFlush() override { + if (!numDrawCalls) + return; + Flush(); + } protected: // Not currently supported. diff --git a/GPU/GLES/DrawEngineGLES.h b/GPU/GLES/DrawEngineGLES.h index 17f773c0b295..a6c5cc117336 100644 --- a/GPU/GLES/DrawEngineGLES.h +++ b/GPU/GLES/DrawEngineGLES.h @@ -97,7 +97,11 @@ class DrawEngineGLES : public DrawEngineCommon { DoFlush(); } - void DispatchFlush() override { Flush(); } + void DispatchFlush() override { + if (!numDrawCalls) + return; + Flush(); + } GLPushBuffer *GetPushVertexBuffer() { return frameData_[render_->GetCurFrame()].pushVertex; diff --git a/GPU/Vulkan/DrawEngineVulkan.h b/GPU/Vulkan/DrawEngineVulkan.h index c84ae1960231..bf7d6940a387 100644 --- a/GPU/Vulkan/DrawEngineVulkan.h +++ b/GPU/Vulkan/DrawEngineVulkan.h @@ -177,7 +177,11 @@ class DrawEngineVulkan : public DrawEngineCommon { DoFlush(); } - void DispatchFlush() override { Flush(); } + void DispatchFlush() override { + if (!numDrawCalls) + return; + Flush(); + } VkPipelineLayout GetPipelineLayout() const { return pipelineLayout_;