From ed1d7fa58f513b88637ed8181c0511f529ae3168 Mon Sep 17 00:00:00 2001 From: dborth Date: Sun, 20 Jun 2010 00:26:54 +0000 Subject: [PATCH] static xfb to reduce mem frag --- source/gcvideo.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/source/gcvideo.cpp b/source/gcvideo.cpp index 0a42309..a49c654 100644 --- a/source/gcvideo.cpp +++ b/source/gcvideo.cpp @@ -563,12 +563,6 @@ static void SetupVideoMode(GXRModeObj * mode) VIDEO_Configure (mode); VIDEO_Flush(); - // Allocate the video buffers - if(xfb[0]) free(MEM_K1_TO_K0(xfb[0])); - if(xfb[1]) free(MEM_K1_TO_K0(xfb[1])); - xfb[0] = (u32 *) MEM_K0_TO_K1 (SYS_AllocateFramebuffer (mode)); - xfb[1] = (u32 *) MEM_K0_TO_K1 (SYS_AllocateFramebuffer (mode)); - // Clear framebuffers etc. VIDEO_ClearFrameBuffer (mode, xfb[0], COLOR_BLACK); VIDEO_ClearFrameBuffer (mode, xfb[1], COLOR_BLACK); @@ -598,6 +592,11 @@ void InitGCVideo () { VIDEO_Init(); + + // Allocate the video buffers + xfb[0] = (u32 *) MEM_K0_TO_K1 (memalign(32, 640*574*2)); + xfb[1] = (u32 *) MEM_K0_TO_K1 (memalign(32, 640*574*2)); + GXRModeObj *rmode = FindVideoMode(); SetupVideoMode(rmode); LWP_CreateThread (&vbthread, vbgetback, NULL, vbstack, TSTACK, 68);