diff --git a/src/modules/graphics/vulkan/Graphics.cpp b/src/modules/graphics/vulkan/Graphics.cpp index 0292543ea..a486f06b7 100644 --- a/src/modules/graphics/vulkan/Graphics.cpp +++ b/src/modules/graphics/vulkan/Graphics.cpp @@ -125,6 +125,10 @@ namespace love { } void Graphics::present(void* screenshotCallbackdata) { + if (!isActive()) { + return; + } + flushBatchedDraws(); endRecordingGraphicsCommands(); @@ -301,6 +305,11 @@ namespace love { cleanup(); } + void Graphics::setActive(bool enable) { + flushBatchedDraws(); + active = enable; + } + void Graphics::setFrontFaceWinding(Winding winding) { const auto& currentState = states.back(); diff --git a/src/modules/graphics/vulkan/Graphics.h b/src/modules/graphics/vulkan/Graphics.h index 7c896c418..e55c59ef8 100644 --- a/src/modules/graphics/vulkan/Graphics.h +++ b/src/modules/graphics/vulkan/Graphics.h @@ -97,7 +97,7 @@ namespace love { void setViewportSize(int width, int height, int pixelwidth, int pixelheight) override; bool setMode(void* context, int width, int height, int pixelwidth, int pixelheight, bool windowhasstencil, int msaa) override; void unSetMode() override; - void setActive(bool active) override { } + void setActive(bool active) override; int getRequestedBackbufferMSAA() const override { return 0; } int getBackbufferMSAA() const override { return 0; } void setColor(Colorf c) override;