Software: Implement GetSurfaceInfo()

Before, it used a fallback where it returned a default object, where the width and height were set to 0. Presenter::Initialize() used GetSurfaceInfo to set the backbuffer size, then used that size when initializing the on-screen UI (even for the software renderer, where the on-screen UI isn't currently present), which meant that ImGui got a window size of 0 and thus resulted in a failed assertion.

Although BindBackbuffer checks for size changes, it doesn't help because ImGui has already been initialized, and the size hasn't actually changed since initialization occured.

Fixes one aspect of https://bugs.dolphin-emu.org/issues/13172.
This commit is contained in:
Pokechu22
2023-02-18 12:35:02 -08:00
parent c5e00b085e
commit 4a2d3c83c7
4 changed files with 11 additions and 1 deletions

View File

@ -49,6 +49,8 @@ public:
void ClearRegion(const MathUtil::Rectangle<int>& target_rc, bool colorEnable, bool alphaEnable,
bool zEnable, u32 color, u32 z) override;
SurfaceInfo GetSurfaceInfo() const override;
private:
std::unique_ptr<SWOGLWindow> m_window;
};