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/VideoBackends/Vulkan/FramebufferManager.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'Source/Core/VideoBackends/Vulkan/FramebufferManager.cpp') diff --git a/Source/Core/VideoBackends/Vulkan/FramebufferManager.cpp b/Source/Core/VideoBackends/Vulkan/FramebufferManager.cpp index 2d7fd15418..57b6183e77 100644 --- a/Source/Core/VideoBackends/Vulkan/FramebufferManager.cpp +++ b/Source/Core/VideoBackends/Vulkan/FramebufferManager.cpp @@ -115,10 +115,9 @@ bool FramebufferManager::Initialize() return true; } -void FramebufferManager::GetTargetSize(unsigned int* width, unsigned int* height) +std::pair FramebufferManager::GetTargetSize() const { - *width = m_efb_width; - *height = m_efb_height; + return std::make_pair(m_efb_width, m_efb_height); } bool FramebufferManager::CreateEFBRenderPass() -- cgit v1.2.3