diff --git a/libmupen64plus/mupen64plus-video-glide64/src/wrapper/main.cpp b/libmupen64plus/mupen64plus-video-glide64/src/wrapper/main.cpp
index 7e10d24d8e..3790bbc460 100644
--- a/libmupen64plus/mupen64plus-video-glide64/src/wrapper/main.cpp
+++ b/libmupen64plus/mupen64plus-video-glide64/src/wrapper/main.cpp
@@ -212,10 +212,10 @@ static int texbuf_i;
static SDL_Surface *m_pScreen;
-// unsigned short * frameBuffer = NULL;
-// unsigned short * depthBuffer = NULL;
-unsigned short frameBuffer[2048*2048];
-unsigned short depthBuffer[2048*2048];
+unsigned short *frameBuffer = NULL;
+unsigned short *depthBuffer = NULL;
+// unsigned short frameBuffer[2048*2048];
+// unsigned short depthBuffer[2048*2048];
//#define VOODOO1
@@ -550,6 +550,8 @@ grSstWinOpen(
// frameBuffer = (unsigned short *) calloc(2048, 2048*sizeof(unsigned short));
// depthBuffer = (unsigned short *) calloc(2048, 2048*sizeof(unsigned short));
+ frameBuffer = (unsigned short *)_aligned_malloc(height*width*4, 256);
+ depthBuffer = (unsigned short *)_aligned_malloc(height*width*2, 256);
screen_width = width;
screen_height = height;
@@ -605,15 +607,15 @@ grSstWinClose( GrContext_t context )
invtex[i] = 0;
}
-// if (frameBuffer)
-// free(frameBuffer);
-// if (depthBuffer)
-// free(depthBuffer);
-// frameBuffer = depthBuffer = NULL;
+ if (frameBuffer)
+ _aligned_free(frameBuffer);
+ if (depthBuffer)
+ _aligned_free(depthBuffer);
+ frameBuffer = depthBuffer = NULL;
- free_combiners();
- if (use_fbo)
- glBindFramebufferEXT( GL_FRAMEBUFFER_EXT, 0 );
+ free_combiners();
+ if (use_fbo)
+ glBindFramebufferEXT( GL_FRAMEBUFFER_EXT, 0 );
if (clear_texbuff)
{
diff --git a/libmupen64plus/mupen64plus-video-glide64mk2/projects/msvc10/mupen64plus-video-glide64mk2.vcxproj b/libmupen64plus/mupen64plus-video-glide64mk2/projects/msvc10/mupen64plus-video-glide64mk2.vcxproj
index 6f47e20e5b..62bc3b1acd 100644
--- a/libmupen64plus/mupen64plus-video-glide64mk2/projects/msvc10/mupen64plus-video-glide64mk2.vcxproj
+++ b/libmupen64plus/mupen64plus-video-glide64mk2/projects/msvc10/mupen64plus-video-glide64mk2.vcxproj
@@ -42,10 +42,10 @@
<_ProjectFileVersion>10.0.40219.1
- $(SolutionDir)$(Configuration)\
+ $(SolutionDir)..\..\..\..\output\dll\
$(Configuration)\
true
- $(SolutionDir)$(Configuration)\
+ $(SolutionDir)..\..\..\..\output\dll\
$(Configuration)\
false
true
@@ -89,7 +89,7 @@
..\lib;..\..\..\mupen64plus-win32-deps\boost-1.53.0\boost\libs;%(AdditionalLibraryDirectories)
false
true
- .\Debug/Glide64.pdb
+ $(TargetDir)$(TargetName).pdb
.\Debug/Glide64.lib
MachineX86
diff --git a/libmupen64plus/mupen64plus-video-glide64mk2/src/Glitch64/glitchmain.cpp b/libmupen64plus/mupen64plus-video-glide64mk2/src/Glitch64/glitchmain.cpp
index da75486c89..fbfa65faf8 100644
--- a/libmupen64plus/mupen64plus-video-glide64mk2/src/Glitch64/glitchmain.cpp
+++ b/libmupen64plus/mupen64plus-video-glide64mk2/src/Glitch64/glitchmain.cpp
@@ -199,8 +199,8 @@ struct texbuf_t {
static texbuf_t texbufs[NB_TEXBUFS];
static int texbuf_i;
-unsigned short frameBuffer[2048*2048];
-unsigned short depthBuffer[2048*2048];
+unsigned short *frameBuffer = NULL;
+unsigned short *depthBuffer = NULL;
//#define VOODOO1
@@ -497,6 +497,9 @@ grSstWinOpen(
// ZIGGY viewport_offset is WIN32 specific, with SDL just set it to zero
viewport_offset = 0; //-10 //-20;
+ frameBuffer = (unsigned short *)_aligned_malloc(height*width*4, 256);
+ depthBuffer = (unsigned short *)_aligned_malloc(height*width*2, 256);
+
// ZIGGY not sure, but it might be better to let the system choose
CoreVideo_GL_SetAttribute(M64P_GL_DOUBLEBUFFER, 1);
CoreVideo_GL_SetAttribute(M64P_GL_SWAP_CONTROL, vsync);
@@ -743,6 +746,12 @@ grSstWinClose( GrContext_t context )
invtex[i] = 0;
}
+ if (frameBuffer)
+ _aligned_free(frameBuffer);
+ if (depthBuffer)
+ _aligned_free(depthBuffer);
+ frameBuffer = depthBuffer = NULL;
+
free_combiners();
#ifndef WIN32
try // I don't know why, but opengl can be killed before this function call when emulator is closed (Gonetz).
diff --git a/output/dll/mupen64plus-video-glide64mk2.dll b/output/dll/mupen64plus-video-glide64mk2.dll
index 9eb12fed5a..a8ce1755e2 100644
Binary files a/output/dll/mupen64plus-video-glide64mk2.dll and b/output/dll/mupen64plus-video-glide64mk2.dll differ