From c85e0a2586029f1093539c68d84f7c2599d3a75e Mon Sep 17 00:00:00 2001 From: Lioncash Date: Fri, 3 Feb 2017 12:31:20 -0500 Subject: FramebufferManagerBase: Return a std::pair from GetTargetSize Keeps associated data together. It also eliminates the possibility of out parameters not being initialized properly. For example, consider the following example: -- some FramebufferManager implementation -- void FBMgrImpl::GetTargetSize(u32* width, u32* height) override { // Do nothing } -- somewhere else where the function is used -- u32 width, height; framebuffer_manager_instance->GetTargetSize(&width, &height); if (texture_width != width) <-- Uninitialized variable usage { ... } It makes it much more obvious to spot any initialization issues, because it requires something to be returned, as opposed to allowing an implementation to just not do anything. --- Source/Core/VideoCommon/FramebufferManagerBase.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'Source/Core/VideoCommon/FramebufferManagerBase.h') diff --git a/Source/Core/VideoCommon/FramebufferManagerBase.h b/Source/Core/VideoCommon/FramebufferManagerBase.h index bfbac5cc77..47426b2e01 100644 --- a/Source/Core/VideoCommon/FramebufferManagerBase.h +++ b/Source/Core/VideoCommon/FramebufferManagerBase.h @@ -7,6 +7,7 @@ #include #include #include +#include #include "Common/CommonTypes.h" #include "VideoCommon/VideoCommon.h" @@ -60,7 +61,7 @@ public: static int ScaleToVirtualXfbHeight(int y); static unsigned int GetEFBLayers() { return m_EFBLayers; } - virtual void GetTargetSize(unsigned int* width, unsigned int* height) = 0; + virtual std::pair GetTargetSize() const = 0; protected: struct VirtualXFB -- cgit v1.2.3