diff --git a/desmume/src/OGLRender.cpp b/desmume/src/OGLRender.cpp index 8d72744f3..d21d57ad5 100755 --- a/desmume/src/OGLRender.cpp +++ b/desmume/src/OGLRender.cpp @@ -2265,6 +2265,7 @@ Render3DError OpenGLRenderer_1_2::CreatePBOs() glGenBuffersARB(1, &OGLRef.pboRenderDataID); glBindBufferARB(GL_PIXEL_PACK_BUFFER_ARB, OGLRef.pboRenderDataID); glBufferDataARB(GL_PIXEL_PACK_BUFFER_ARB, this->_framebufferColorSizeBytes, NULL, GL_STREAM_READ_ARB); + this->_mappedFramebuffer = (FragmentColor *__restrict)glMapBuffer(GL_PIXEL_PACK_BUFFER_ARB, GL_READ_ONLY_ARB); return OGLERROR_NOERR; } diff --git a/desmume/src/render3D.cpp b/desmume/src/render3D.cpp old mode 100644 new mode 100755 index f4231f769..f00ef1588 --- a/desmume/src/render3D.cpp +++ b/desmume/src/render3D.cpp @@ -209,7 +209,7 @@ Render3D::Render3D() _framebufferHeight = GPU_FRAMEBUFFER_NATIVE_HEIGHT; _framebufferPixCount = _framebufferWidth * _framebufferHeight; _framebufferSIMDPixCount = 0; - _framebufferColorSizeBytes = 0; + _framebufferColorSizeBytes = _framebufferWidth * _framebufferHeight * sizeof(FragmentColor); _framebufferColor = NULL; _internalRenderingFormat = NDSColorFormat_BGR666_Rev;