From 42c0379cbb5930ee987464732ed36fe8ddab1fa0 Mon Sep 17 00:00:00 2001 From: rogerman Date: Sun, 4 Mar 2018 17:20:21 -0800 Subject: [PATCH] OpenGL Renderer: Fix one more possible crash that may occur if the 3D framebuffer is read before the 3D renderer has a chance to render at least once. (Related to commit f8bbbec.) --- desmume/src/OGLRender.cpp | 1 + desmume/src/render3D.cpp | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) mode change 100644 => 100755 desmume/src/render3D.cpp 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;