From 26ab545b8afd2cb38aaef8bdfe932428fcae8158 Mon Sep 17 00:00:00 2001 From: Sergey Lipskiy Date: Thu, 10 Oct 2013 17:39:50 +0700 Subject: [PATCH] Fix FrameBuffer_RenderBuffer to work on Linux. --- FrameBuffer.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/FrameBuffer.cpp b/FrameBuffer.cpp index 51b7b841..c889bd23 100644 --- a/FrameBuffer.cpp +++ b/FrameBuffer.cpp @@ -349,7 +349,9 @@ void FrameBuffer_RenderBuffer( u32 address ) ogl_glBindFramebuffer(GL_READ_FRAMEBUFFER, current->fbo); ogl_glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0); - glDrawBuffer( GL_FRONT ); + glDrawBuffer( GL_BACK ); + float clearColor[4] = {0.0f, 0.0f, 0.0f, 0.0f}; + OGL_ClearColorBuffer(clearColor); ogl_glBlitFramebuffer( 0, (GLint)(srcY0*OGL.scaleY), OGL.width, (GLint)(srcY1*OGL.scaleY), 0, OGL.heightOffset + (GLint)(dstY0*viScaleY), OGL.width, OGL.heightOffset + (GLint)(dstY1*viScaleY), @@ -371,9 +373,13 @@ void FrameBuffer_RenderBuffer( u32 address ) ); } } - glDrawBuffer( GL_BACK ); ogl_glBindFramebuffer(GL_READ_FRAMEBUFFER, 0); ogl_glBindFramebuffer(GL_DRAW_FRAMEBUFFER, frameBuffer.top->fbo); +#ifndef __LINUX__ + SwapBuffers( OGL.hDC ); +#else + OGL_SwapBuffers(); +#endif } #else