diff options
| author | Stenzek <stenzek@gmail.com> | 2016-08-13 22:08:53 +1000 |
|---|---|---|
| committer | Stenzek <stenzek@gmail.com> | 2016-10-01 01:09:12 +1000 |
| commit | 6a99cbd9fc32637b18b1b030ec06ce9c73be04eb (patch) | |
| tree | b52a33a7563cd99c00a0fdbb9d3048c7452897ce /Source/Core/VideoCommon/RenderBase.h | |
| parent | 534607879199e700dbd143317e71218140a58b56 (diff) | |
VideoCommon: Call Renderer::SurfaceChanged on render parent resize
This is needed because for some reason the WSI for NV Vulkan drivers
doesn't return VK_ERROR_OUT_OF_DATE_KHR, so there is no other way to know
that a resize has occured apart from polling, which is a poor solution for
X11 (since it is blocking).
Diffstat (limited to 'Source/Core/VideoCommon/RenderBase.h')
| -rw-r--r-- | Source/Core/VideoCommon/RenderBase.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/Source/Core/VideoCommon/RenderBase.h b/Source/Core/VideoCommon/RenderBase.h index 1ae3121637..44a0b982b7 100644 --- a/Source/Core/VideoCommon/RenderBase.h +++ b/Source/Core/VideoCommon/RenderBase.h @@ -138,9 +138,8 @@ public: static Common::Event s_screenshotCompleted; // Final surface changing - static Common::Flag s_SurfaceNeedsChanged; - static Common::Event s_ChangedSurface; - + // This is called when the surface is resized (WX) or the window changes (Android). + virtual void ChangeSurface(void* new_surface_handle) {} protected: static void CalculateTargetScale(int x, int y, int* scaledX, int* scaledY); bool CalculateTargetSize(unsigned int framebuffer_width, unsigned int framebuffer_height); @@ -178,6 +177,10 @@ protected: static const float GX_MAX_DEPTH; + static Common::Flag s_surface_needs_change; + static Common::Event s_surface_changed; + static void* s_new_surface_handle; + private: static PEControl::PixelFormat prev_efb_format; static unsigned int efb_scale_numeratorX; |
