From 88ed44189db42eb320d6bab9ffc2895a2272c868 Mon Sep 17 00:00:00 2001 From: Henrik Rydgard Date: Sun, 10 Jan 2016 14:59:27 +0100 Subject: [PATCH] Remove some unused functionality from the framebuffer managers --- GPU/Common/FramebufferCommon.h | 1 - GPU/Directx9/FramebufferDX9.cpp | 8 ---- GPU/Directx9/FramebufferDX9.h | 1 - GPU/GLES/Framebuffer.cpp | 69 --------------------------------- GPU/GLES/Framebuffer.h | 3 -- 5 files changed, 82 deletions(-) diff --git a/GPU/Common/FramebufferCommon.h b/GPU/Common/FramebufferCommon.h index e2b4d31875..62d9100c11 100644 --- a/GPU/Common/FramebufferCommon.h +++ b/GPU/Common/FramebufferCommon.h @@ -225,7 +225,6 @@ protected: virtual void DisableState() = 0; virtual void ClearBuffer(bool keepState = false) = 0; - virtual void ClearDepthBuffer() = 0; virtual void FlushBeforeCopy() = 0; virtual void DecimateFBOs() = 0; diff --git a/GPU/Directx9/FramebufferDX9.cpp b/GPU/Directx9/FramebufferDX9.cpp index 776fec3930..7af5ab47c9 100644 --- a/GPU/Directx9/FramebufferDX9.cpp +++ b/GPU/Directx9/FramebufferDX9.cpp @@ -68,14 +68,6 @@ namespace DX9 { } } - void FramebufferManagerDX9::ClearDepthBuffer() { - dxstate.scissorTest.disable(); - dxstate.depthWrite.set(TRUE); - dxstate.colorMask.set(false, false, false, false); - dxstate.stencilFunc.set(D3DCMP_NEVER, 0, 0); - pD3Ddevice->Clear(0, NULL, D3DCLEAR_ZBUFFER, D3DCOLOR_ARGB(0, 0, 0, 0), 0, 0); - } - void FramebufferManagerDX9::DisableState() { dxstate.blend.disable(); dxstate.cullMode.set(false, false); diff --git a/GPU/Directx9/FramebufferDX9.h b/GPU/Directx9/FramebufferDX9.h index 4ae60bf156..81c5dfcdd6 100644 --- a/GPU/Directx9/FramebufferDX9.h +++ b/GPU/Directx9/FramebufferDX9.h @@ -96,7 +96,6 @@ public: protected: virtual void DisableState() override; virtual void ClearBuffer(bool keepState = false) override; - virtual void ClearDepthBuffer() override; virtual void FlushBeforeCopy() override; virtual void DecimateFBOs() override; diff --git a/GPU/GLES/Framebuffer.cpp b/GPU/GLES/Framebuffer.cpp index ffabb0791f..0210da833f 100644 --- a/GPU/GLES/Framebuffer.cpp +++ b/GPU/GLES/Framebuffer.cpp @@ -119,17 +119,6 @@ void FramebufferManager::ClearBuffer(bool keepState) { } } -void FramebufferManager::ClearDepthBuffer() { - glstate.scissorTest.disable(); - glstate.depthWrite.set(GL_TRUE); -#ifdef USING_GLES2 - glClearDepthf(0.0f); -#else - glClearDepth(0.0); -#endif - glClear(GL_DEPTH_BUFFER_BIT); -} - void FramebufferManager::DisableState() { glstate.blend.disable(); glstate.cullFace.disable(); @@ -173,14 +162,6 @@ void FramebufferManager::CompileDraw2DProgram() { glUniform1i(draw2dprogram_->sampler0, 0); } - plainColorProgram_ = glsl_create_source(color_vs, color_fs, &errorString); - if (!plainColorProgram_) { - ERROR_LOG_REPORT(G3D, "Failed to compile plainColorProgram! This shouldn't happen.\n%s", errorString.c_str()); - } else { - glsl_bind(plainColorProgram_); - plainColorLoc_ = glsl_uniform_loc(plainColorProgram_, "u_color"); - } - SetNumExtraFBOs(0); const ShaderInfo *shaderInfo = 0; if (g_Config.sPostShaderName != "Off") { @@ -267,10 +248,6 @@ void FramebufferManager::DestroyDraw2DProgram() { glsl_destroy(draw2dprogram_); draw2dprogram_ = nullptr; } - if (plainColorProgram_) { - glsl_destroy(plainColorProgram_); - plainColorProgram_ = nullptr; - } if (postShaderProgram_) { glsl_destroy(postShaderProgram_); postShaderProgram_ = nullptr; @@ -284,7 +261,6 @@ FramebufferManager::FramebufferManager() : draw2dprogram_(nullptr), postShaderProgram_(nullptr), stencilUploadProgram_(nullptr), - plainColorLoc_(-1), timeLoc_(-1), deltaLoc_(-1), pixelDeltaLoc_(-1), @@ -481,51 +457,6 @@ void FramebufferManager::DrawFramebufferToOutput(const u8 *srcPixels, GEBufferFo } } -void FramebufferManager::DrawPlainColor(u32 color) { - // Cannot take advantage of scissor + clear here - this has to be a regular draw so that - // stencil can be used and abused, as that's what we're gonna use this for. - static const float pos[12] = { - -1,-1,-1, - 1,-1,-1, - 1,1,-1, - -1,1,-1 - }; - static const GLubyte indices[4] = {0,1,3,2}; - - GLSLProgram *program = 0; - if (!draw2dprogram_) { - CompileDraw2DProgram(); - } - program = plainColorProgram_; - - const float col[4] = { - ((color & 0xFF)) / 255.0f, - ((color & 0xFF00) >> 8) / 255.0f, - ((color & 0xFF0000) >> 16) / 255.0f, - ((color & 0xFF000000) >> 24) / 255.0f, - }; - - shaderManager_->DirtyLastShader(); - - glsl_bind(program); - glUniform4fv(plainColorLoc_, 1, col); - glEnableVertexAttribArray(program->a_position); - if (gstate_c.Supports(GPU_SUPPORTS_VAO)) { - transformDraw_->BindBuffer(pos, sizeof(pos)); - transformDraw_->BindElementBuffer(indices, sizeof(indices)); - glVertexAttribPointer(program->a_position, 3, GL_FLOAT, GL_FALSE, 12, 0); - glDrawElements(GL_TRIANGLE_STRIP, 4, GL_UNSIGNED_BYTE, 0); - } else { - glstate.arrayBuffer.unbind(); - glstate.elementArrayBuffer.unbind(); - glVertexAttribPointer(program->a_position, 3, GL_FLOAT, GL_FALSE, 12, pos); - glDrawElements(GL_TRIANGLE_STRIP, 4, GL_UNSIGNED_BYTE, indices); - } - glDisableVertexAttribArray(program->a_position); - - glsl_unbind(); -} - // x, y, w, h are relative coordinates against destW/destH, which is not very intuitive. void FramebufferManager::DrawActiveTexture(GLuint texture, float x, float y, float w, float h, float destW, float destH, float u0, float v0, float u1, float v1, GLSLProgram *program, int uvRotation) { float texCoords[8] = { diff --git a/GPU/GLES/Framebuffer.h b/GPU/GLES/Framebuffer.h index 8f9ab96478..48e878be87 100644 --- a/GPU/GLES/Framebuffer.h +++ b/GPU/GLES/Framebuffer.h @@ -83,8 +83,6 @@ public: // x,y,w,h are relative to destW, destH which fill out the target completely. void DrawActiveTexture(GLuint texture, float x, float y, float w, float h, float destW, float destH, float u0, float v0, float u1, float v1, GLSLProgram *program, int uvRotation); - void DrawPlainColor(u32 color); - void DestroyAllFBOs(); virtual void Init() override; @@ -126,7 +124,6 @@ public: protected: virtual void DisableState() override; virtual void ClearBuffer(bool keepState = false) override; - virtual void ClearDepthBuffer() override; virtual void FlushBeforeCopy() override; virtual void DecimateFBOs() override;