From 18916bf0e205f9d05f741a737fca495a1da6c687 Mon Sep 17 00:00:00 2001 From: Rudy Richter Date: Fri, 21 Jul 2017 23:33:39 -0400 Subject: [PATCH] Enable direct-rendering --- O2EM.xcodeproj/project.pbxproj | 1 + OdysseyGameCore.m | 22 ++++++++++++++-------- src/vdc.c | 2 +- 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/O2EM.xcodeproj/project.pbxproj b/O2EM.xcodeproj/project.pbxproj index 51d93fa..6492fc9 100644 --- a/O2EM.xcodeproj/project.pbxproj +++ b/O2EM.xcodeproj/project.pbxproj @@ -158,6 +158,7 @@ ); name = VisualBoyAdvance; sourceTree = ""; + usesTabs = 0; }; 089C1671FE841209C02AAC07 /* Frameworks and Libraries */ = { isa = PBXGroup; diff --git a/OdysseyGameCore.m b/OdysseyGameCore.m index f84c0c6..7cd59a7 100644 --- a/OdysseyGameCore.m +++ b/OdysseyGameCore.m @@ -57,7 +57,7 @@ //uint16_t mbmp[EMUWIDTH * EMUHEIGHT]; //unsigned short int mbmp[TEX_WIDTH * TEX_HEIGHT]; -uint16_t mbmp[TEX_WIDTH * TEX_HEIGHT]; +uint16_t *mbmp; //short signed int SNDBUF[1024*2]; uint8_t soundBuffer[1056]; int SND; @@ -394,7 +394,6 @@ OdysseyGameCore *current; - (BOOL)loadFileAtPath:(NSString *)path { - memset(mbmp, 0, sizeof(mbmp)); RLOOP=1; static char file[MAXC], attr[MAXC], val[MAXC], *p, *binver; @@ -522,8 +521,20 @@ OdysseyGameCore *current; return OEIntSizeMake(TEX_WIDTH, TEX_HEIGHT); } -- (const void *)videoBuffer +- (const void *)getVideoBufferWithHint:(void *)hint { + if(!hint) + { + if(!mbmp) + { + hint = mbmp = (uint16_t*)malloc(TEX_WIDTH * TEX_HEIGHT * sizeof(uint16_t)); + } + } + else + { + mbmp = hint; + } + return mbmp; } @@ -537,11 +548,6 @@ OdysseyGameCore *current; return GL_UNSIGNED_SHORT_5_6_5; } -- (GLenum)internalPixelFormat -{ - return GL_RGB5; -} - - (NSTimeInterval)frameInterval { return 60; diff --git a/src/vdc.c b/src/vdc.c index 63db617..b1acb57 100755 --- a/src/vdc.c +++ b/src/vdc.c @@ -340,7 +340,7 @@ static void draw_grid(void){ #ifdef __LIBRETRO__ //extern unsigned short int mbmp[TEX_WIDTH * TEX_HEIGHT]; -extern uint16_t mbmp[TEX_WIDTH * TEX_HEIGHT]; +extern uint16_t *mbmp; void retro_blit(){