VideoBackends:Vulkan: Don't try to present if swapchain acquire failed

This commit is contained in:
TellowKrinkle
2024-09-30 18:29:38 -05:00
parent c7cbac538a
commit 7e1a9490c0
18 changed files with 64 additions and 31 deletions

View File

@ -55,15 +55,16 @@ SWGfx::CreateFramebuffer(AbstractTexture* color_attachment, AbstractTexture* dep
std::move(additional_color_attachments));
}
void SWGfx::BindBackbuffer(const ClearColor& clear_color)
bool SWGfx::BindBackbuffer(const ClearColor& clear_color)
{
// Look for framebuffer resizes
if (!g_presenter->SurfaceResizedTestAndClear())
return;
return true;
GLContext* context = m_window->GetContext();
context->Update();
g_presenter->SetBackbuffer(context->GetBackBufferWidth(), context->GetBackBufferHeight());
return true;
}
class SWShader final : public AbstractShader

View File

@ -26,7 +26,7 @@ public:
CreateFramebuffer(AbstractTexture* color_attachment, AbstractTexture* depth_attachment,
std::vector<AbstractTexture*> additional_color_attachments) override;
void BindBackbuffer(const ClearColor& clear_color = {}) override;
bool BindBackbuffer(const ClearColor& clear_color = {}) override;
std::unique_ptr<AbstractShader> CreateShaderFromSource(ShaderStage stage, std::string_view source,
std::string_view name) override;