From d53c88456a94c3f3aa8d5b3f482713a39af97677 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Wed, 18 Oct 2017 12:49:15 +0200 Subject: [PATCH] Unify GetFramebufferList() (trivial) --- GPU/Common/FramebufferCommon.cpp | 19 +++++++++++++++++++ GPU/Common/FramebufferCommon.h | 2 ++ GPU/D3D11/FramebufferManagerD3D11.cpp | 19 ------------------- GPU/D3D11/FramebufferManagerD3D11.h | 2 -- GPU/D3D11/GPU_D3D11.cpp | 4 ---- GPU/D3D11/GPU_D3D11.h | 1 - GPU/Directx9/FramebufferDX9.cpp | 19 ------------------- GPU/Directx9/FramebufferDX9.h | 2 -- GPU/Directx9/GPU_DX9.cpp | 4 ---- GPU/Directx9/GPU_DX9.h | 1 - GPU/GLES/GPU_GLES.cpp | 4 ---- GPU/GLES/GPU_GLES.h | 1 - GPU/GPUCommon.cpp | 5 +++++ GPU/GPUCommon.h | 4 +--- GPU/Vulkan/FramebufferVulkan.cpp | 19 ------------------- GPU/Vulkan/FramebufferVulkan.h | 2 -- GPU/Vulkan/GPU_Vulkan.cpp | 4 ---- GPU/Vulkan/GPU_Vulkan.h | 1 - 18 files changed, 27 insertions(+), 86 deletions(-) diff --git a/GPU/Common/FramebufferCommon.cpp b/GPU/Common/FramebufferCommon.cpp index 4c834a732..99f2632ba 100644 --- a/GPU/Common/FramebufferCommon.cpp +++ b/GPU/Common/FramebufferCommon.cpp @@ -2044,3 +2044,22 @@ void FramebufferManagerCommon::DownloadFramebufferForClut(u32 fb_address, u32 lo } } } + +std::vector FramebufferManagerCommon::GetFramebufferList() { + std::vector list; + + for (size_t i = 0; i < vfbs_.size(); ++i) { + VirtualFramebuffer *vfb = vfbs_[i]; + + FramebufferInfo info; + info.fb_address = vfb->fb_address; + info.z_address = vfb->z_address; + info.format = vfb->format; + info.width = vfb->width; + info.height = vfb->height; + info.fbo = vfb->fbo; + list.push_back(info); + } + + return list; +} diff --git a/GPU/Common/FramebufferCommon.h b/GPU/Common/FramebufferCommon.h index c108d5fd2..2fd39d9a0 100644 --- a/GPU/Common/FramebufferCommon.h +++ b/GPU/Common/FramebufferCommon.h @@ -25,6 +25,7 @@ #include "Core/MemMap.h" #include "GPU/GPU.h" #include "GPU/ge_constants.h" +#include "GPU/GPUInterface.h" #include "thin3d/thin3d.h" enum { @@ -212,6 +213,7 @@ public: } } virtual void RebindFramebuffer() = 0; + std::vector GetFramebufferList(); void CopyDisplayToOutput(); diff --git a/GPU/D3D11/FramebufferManagerD3D11.cpp b/GPU/D3D11/FramebufferManagerD3D11.cpp index 8d0ed9423..399ac8750 100644 --- a/GPU/D3D11/FramebufferManagerD3D11.cpp +++ b/GPU/D3D11/FramebufferManagerD3D11.cpp @@ -718,25 +718,6 @@ void FramebufferManagerD3D11::DeviceLost() { DestroyAllFBOs(); } -std::vector FramebufferManagerD3D11::GetFramebufferList() { - std::vector list; - - for (size_t i = 0; i < vfbs_.size(); ++i) { - VirtualFramebuffer *vfb = vfbs_[i]; - - FramebufferInfo info; - info.fb_address = vfb->fb_address; - info.z_address = vfb->z_address; - info.format = vfb->format; - info.width = vfb->width; - info.height = vfb->height; - info.fbo = vfb->fbo; - list.push_back(info); - } - - return list; -} - void FramebufferManagerD3D11::DestroyAllFBOs() { currentRenderVfb_ = 0; displayFramebuf_ = 0; diff --git a/GPU/D3D11/FramebufferManagerD3D11.h b/GPU/D3D11/FramebufferManagerD3D11.h index ec5a0fb83..508e995e5 100644 --- a/GPU/D3D11/FramebufferManagerD3D11.h +++ b/GPU/D3D11/FramebufferManagerD3D11.h @@ -57,8 +57,6 @@ public: void BindFramebufferAsColorTexture(int stage, VirtualFramebuffer *framebuffer, int flags); - std::vector GetFramebufferList(); - virtual bool NotifyStencilUpload(u32 addr, int size, bool skipZero = false) override; virtual void RebindFramebuffer() override; diff --git a/GPU/D3D11/GPU_D3D11.cpp b/GPU/D3D11/GPU_D3D11.cpp index 6874d4375..1b29b1ce4 100644 --- a/GPU/D3D11/GPU_D3D11.cpp +++ b/GPU/D3D11/GPU_D3D11.cpp @@ -755,10 +755,6 @@ void GPU_D3D11::ClearShaderCache() { shaderManagerD3D11_->ClearShaders(); } -std::vector GPU_D3D11::GetFramebufferList() { - return framebufferManagerD3D11_->GetFramebufferList(); -} - void GPU_D3D11::DoState(PointerWrap &p) { GPUCommon::DoState(p); diff --git a/GPU/D3D11/GPU_D3D11.h b/GPU/D3D11/GPU_D3D11.h index 6785693bf..aa94cd13e 100644 --- a/GPU/D3D11/GPU_D3D11.h +++ b/GPU/D3D11/GPU_D3D11.h @@ -60,7 +60,6 @@ public: primaryInfo = reportingPrimaryInfo_; fullInfo = reportingFullInfo_; } - std::vector GetFramebufferList() override; bool GetCurrentTexture(GPUDebugBuffer &buffer, int level) override; bool GetCurrentClut(GPUDebugBuffer &buffer) override; diff --git a/GPU/Directx9/FramebufferDX9.cpp b/GPU/Directx9/FramebufferDX9.cpp index a5796552d..c5b319d95 100644 --- a/GPU/Directx9/FramebufferDX9.cpp +++ b/GPU/Directx9/FramebufferDX9.cpp @@ -693,25 +693,6 @@ static const D3DVERTEXELEMENT9 g_FramebufferVertexElements[] = { DestroyAllFBOs(); } - std::vector FramebufferManagerDX9::GetFramebufferList() { - std::vector list; - - for (size_t i = 0; i < vfbs_.size(); ++i) { - VirtualFramebuffer *vfb = vfbs_[i]; - - FramebufferInfo info; - info.fb_address = vfb->fb_address; - info.z_address = vfb->z_address; - info.format = vfb->format; - info.width = vfb->width; - info.height = vfb->height; - info.fbo = vfb->fbo; - list.push_back(info); - } - - return list; - } - void FramebufferManagerDX9::DecimateFBOs() { FramebufferManagerCommon::DecimateFBOs(); for (auto it = offscreenSurfaces_.begin(); it != offscreenSurfaces_.end(); ) { diff --git a/GPU/Directx9/FramebufferDX9.h b/GPU/Directx9/FramebufferDX9.h index a8e476838..544438ed3 100644 --- a/GPU/Directx9/FramebufferDX9.h +++ b/GPU/Directx9/FramebufferDX9.h @@ -59,8 +59,6 @@ public: void BindFramebufferAsColorTexture(int stage, VirtualFramebuffer *framebuffer, int flags); - std::vector GetFramebufferList(); - virtual bool NotifyStencilUpload(u32 addr, int size, bool skipZero = false) override; bool GetFramebuffer(u32 fb_address, int fb_stride, GEBufferFormat format, GPUDebugBuffer &buffer, int maxRes); diff --git a/GPU/Directx9/GPU_DX9.cpp b/GPU/Directx9/GPU_DX9.cpp index 48c51cfe9..ac2f7930a 100644 --- a/GPU/Directx9/GPU_DX9.cpp +++ b/GPU/Directx9/GPU_DX9.cpp @@ -688,10 +688,6 @@ void GPU_DX9::ClearShaderCache() { shaderManagerDX9_->ClearCache(true); } -std::vector GPU_DX9::GetFramebufferList() { - return framebufferManagerDX9_->GetFramebufferList(); -} - void GPU_DX9::DoState(PointerWrap &p) { GPUCommon::DoState(p); diff --git a/GPU/Directx9/GPU_DX9.h b/GPU/Directx9/GPU_DX9.h index 261e21f70..79c287dc4 100644 --- a/GPU/Directx9/GPU_DX9.h +++ b/GPU/Directx9/GPU_DX9.h @@ -61,7 +61,6 @@ public: primaryInfo = reportingPrimaryInfo_; fullInfo = reportingFullInfo_; } - std::vector GetFramebufferList() override; bool GetCurrentTexture(GPUDebugBuffer &buffer, int level) override; bool GetCurrentClut(GPUDebugBuffer &buffer) override; diff --git a/GPU/GLES/GPU_GLES.cpp b/GPU/GLES/GPU_GLES.cpp index a36450a49..fc045c3c8 100644 --- a/GPU/GLES/GPU_GLES.cpp +++ b/GPU/GLES/GPU_GLES.cpp @@ -929,10 +929,6 @@ void GPU_GLES::CleanupBeforeUI() { glstate.elementArrayBuffer.bind(0); } -std::vector GPU_GLES::GetFramebufferList() { - return framebufferManagerGL_->GetFramebufferList(); -} - void GPU_GLES::DoState(PointerWrap &p) { GPUCommon::DoState(p); diff --git a/GPU/GLES/GPU_GLES.h b/GPU/GLES/GPU_GLES.h index 8919bd055..deed29b11 100644 --- a/GPU/GLES/GPU_GLES.h +++ b/GPU/GLES/GPU_GLES.h @@ -63,7 +63,6 @@ public: primaryInfo = reportingPrimaryInfo_; fullInfo = reportingFullInfo_; } - std::vector GetFramebufferList() override; bool GetCurrentTexture(GPUDebugBuffer &buffer, int level) override; bool GetCurrentClut(GPUDebugBuffer &buffer) override; diff --git a/GPU/GPUCommon.cpp b/GPU/GPUCommon.cpp index 36dded656..0f7bd0cc1 100644 --- a/GPU/GPUCommon.cpp +++ b/GPU/GPUCommon.cpp @@ -2506,3 +2506,8 @@ bool GPUCommon::GetOutputFramebuffer(GPUDebugBuffer &buffer) { bool GPUCommon::GetCurrentTexture(GPUDebugBuffer &buffer, int level) { return textureCache_->GetCurrentTextureDebug(buffer, level); } + +std::vector GPUCommon::GetFramebufferList() { + return framebufferManager_->GetFramebufferList(); +} + diff --git a/GPU/GPUCommon.h b/GPU/GPUCommon.h index 56c3068cc..db77acea0 100644 --- a/GPU/GPUCommon.h +++ b/GPU/GPUCommon.h @@ -223,9 +223,7 @@ public: bool DecodeTexture(u8* dest, const GPUgstate &state) override { return false; } - std::vector GetFramebufferList() override { - return std::vector(); - } + std::vector GetFramebufferList(); void ClearShaderCache() override {} void CleanupBeforeUI() override {} diff --git a/GPU/Vulkan/FramebufferVulkan.cpp b/GPU/Vulkan/FramebufferVulkan.cpp index 57bab8361..335edcf44 100644 --- a/GPU/Vulkan/FramebufferVulkan.cpp +++ b/GPU/Vulkan/FramebufferVulkan.cpp @@ -687,25 +687,6 @@ void FramebufferManagerVulkan::DeviceRestore(VulkanContext *vulkan) { InitDeviceObjects(); } -std::vector FramebufferManagerVulkan::GetFramebufferList() { - std::vector list; - - for (size_t i = 0; i < vfbs_.size(); ++i) { - VirtualFramebuffer *vfb = vfbs_[i]; - - FramebufferInfo info; - info.fb_address = vfb->fb_address; - info.z_address = vfb->z_address; - info.format = vfb->format; - info.width = vfb->width; - info.height = vfb->height; - info.fbo = vfb->fbo; - list.push_back(info); - } - - return list; -} - void FramebufferManagerVulkan::DestroyAllFBOs() { currentRenderVfb_ = 0; displayFramebuf_ = 0; diff --git a/GPU/Vulkan/FramebufferVulkan.h b/GPU/Vulkan/FramebufferVulkan.h index ee78b5cfd..46b76e49d 100644 --- a/GPU/Vulkan/FramebufferVulkan.h +++ b/GPU/Vulkan/FramebufferVulkan.h @@ -71,8 +71,6 @@ public: void BlitFramebufferDepth(VirtualFramebuffer *src, VirtualFramebuffer *dst) override; - std::vector GetFramebufferList(); - bool NotifyStencilUpload(u32 addr, int size, bool skipZero = false) override; virtual void RebindFramebuffer() override; diff --git a/GPU/Vulkan/GPU_Vulkan.cpp b/GPU/Vulkan/GPU_Vulkan.cpp index 2e6a8b151..741eeb485 100644 --- a/GPU/Vulkan/GPU_Vulkan.cpp +++ b/GPU/Vulkan/GPU_Vulkan.cpp @@ -839,10 +839,6 @@ void GPU_Vulkan::ClearShaderCache() { // TODO } -std::vector GPU_Vulkan::GetFramebufferList() { - return framebufferManagerVulkan_->GetFramebufferList(); -} - void GPU_Vulkan::DoState(PointerWrap &p) { GPUCommon::DoState(p); diff --git a/GPU/Vulkan/GPU_Vulkan.h b/GPU/Vulkan/GPU_Vulkan.h index dfb3d5e81..1c9998c77 100644 --- a/GPU/Vulkan/GPU_Vulkan.h +++ b/GPU/Vulkan/GPU_Vulkan.h @@ -84,7 +84,6 @@ public: // Using string because it's generic - makes no assumptions on the size of the shader IDs of this backend. std::vector DebugGetShaderIDs(DebugShaderType shader) override; std::string DebugGetShaderString(std::string id, DebugShaderType shader, DebugShaderStringType stringType) override; - std::vector GetFramebufferList() override; bool GetCurrentSimpleVertices(int count, std::vector &vertices, std::vector &indices) override; bool DescribeCodePtr(const u8 *ptr, std::string &name) override;