Vulkan: Correct logic for handling target and window size changes

Should fix a possible reference to deleted framebuffers, as well as fixing
the issues with the render area being correct if the game's source area
changes, or auto-scaling is enabled.
This commit is contained in:
Stenzek
2016-10-02 21:37:24 +10:00
parent 7d14b9b48b
commit b193282830
3 changed files with 69 additions and 59 deletions

View File

@ -25,13 +25,13 @@ class RasterFont;
class Renderer : public ::Renderer
{
public:
Renderer();
Renderer(std::unique_ptr<SwapChain> swap_chain);
~Renderer();
SwapChain* GetSwapChain() const { return m_swap_chain.get(); }
StateTracker* GetStateTracker() const { return m_state_tracker.get(); }
BoundingBox* GetBoundingBox() const { return m_bounding_box.get(); }
bool Initialize(FramebufferManager* framebuffer_mgr, void* window_handle, VkSurfaceKHR surface);
bool Initialize(FramebufferManager* framebuffer_mgr);
void RenderText(const std::string& pstr, int left, int top, u32 color) override;
u32 AccessEFB(EFBAccessType type, u32 x, u32 y, u32 poke_data) override;