From 12b16e754bcc75bda4cb7c2dbafcd70f9bf71962 Mon Sep 17 00:00:00 2001 From: Daniel Nagel Date: Wed, 20 Aug 2014 20:48:39 +0200 Subject: [PATCH] Update to v0.9.9.1 --- Info.plist | 2 +- PPSSPP.xcodeproj/project.pbxproj | 6 ++++++ gfx_es2/fbo.cpp | 26 ++++++++++++++++++++++++++ gfx_es2/fbo.h | 6 ++++++ ppsspp | 2 +- 5 files changed, 40 insertions(+), 2 deletions(-) diff --git a/Info.plist b/Info.plist index f60ccd7..0c528ad 100644 --- a/Info.plist +++ b/Info.plist @@ -19,7 +19,7 @@ CFBundleSignature ???? CFBundleVersion - 0.9.9 + 0.9.9.1 NSPrincipalClass OEGameCoreController OEGameCoreClass diff --git a/PPSSPP.xcodeproj/project.pbxproj b/PPSSPP.xcodeproj/project.pbxproj index cdcd288..2a394c2 100644 --- a/PPSSPP.xcodeproj/project.pbxproj +++ b/PPSSPP.xcodeproj/project.pbxproj @@ -23,6 +23,7 @@ /* Begin PBXBuildFile section */ 3DFCE410186F64170046C035 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DFCE40F186F64170046C035 /* libz.dylib */; }; + 8C064E6519A5237700CB142D /* sceUsbGps.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8C064E6419A5237700CB142D /* sceUsbGps.cpp */; }; 8C1B6E2E1993C70B00ABEB5D /* PSPScreenshotDialog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8C1B6E2C1993C70B00ABEB5D /* PSPScreenshotDialog.cpp */; }; 8C1B6E311993C73100ABEB5D /* HLEHelperThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8C1B6E2F1993C73100ABEB5D /* HLEHelperThread.cpp */; }; 8C1B6E341993C75500ABEB5D /* SimpleAudioDec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8C1B6E321993C75500ABEB5D /* SimpleAudioDec.cpp */; }; @@ -459,6 +460,8 @@ /* Begin PBXFileReference section */ 3DFCE40F186F64170046C035 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; }; + 8C064E6319A5237700CB142D /* sceUsbGps.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sceUsbGps.h; sourceTree = ""; }; + 8C064E6419A5237700CB142D /* sceUsbGps.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sceUsbGps.cpp; sourceTree = ""; }; 8C1B6E2C1993C70B00ABEB5D /* PSPScreenshotDialog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PSPScreenshotDialog.cpp; sourceTree = ""; }; 8C1B6E2D1993C70B00ABEB5D /* PSPScreenshotDialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PSPScreenshotDialog.h; sourceTree = ""; }; 8C1B6E2F1993C73100ABEB5D /* HLEHelperThread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HLEHelperThread.cpp; sourceTree = ""; }; @@ -1851,6 +1854,8 @@ 8CAFA8DE1785B3C200647A96 /* sceUmd.h */, 8CAFA8DF1785B3C200647A96 /* sceUsb.cpp */, 8CAFA8E01785B3C200647A96 /* sceUsb.h */, + 8C064E6419A5237700CB142D /* sceUsbGps.cpp */, + 8C064E6319A5237700CB142D /* sceUsbGps.h */, 8CAFA8E11785B3C200647A96 /* sceUtility.cpp */, 8CAFA8E21785B3C200647A96 /* sceUtility.h */, 8CAFA8E31785B3C200647A96 /* sceVaudio.cpp */, @@ -3429,6 +3434,7 @@ 8CA153F617C412480003002D /* AsyncIOManager.cpp in Sources */, 8CC8067118C27C4000AB1339 /* sceMt19937.cpp in Sources */, 8CA1540F17C415200003002D /* MIPSAsm.cpp in Sources */, + 8C064E6519A5237700CB142D /* sceUsbGps.cpp in Sources */, 8CA1541117C415200003002D /* MIPSAsmTables.cpp in Sources */, 8CA1541317C415280003002D /* MIPSStackWalk.cpp in Sources */, ); diff --git a/gfx_es2/fbo.cpp b/gfx_es2/fbo.cpp index 14292d6..f53cea0 100644 --- a/gfx_es2/fbo.cpp +++ b/gfx_es2/fbo.cpp @@ -41,6 +41,7 @@ struct FBO { int width; int height; FBOColorDepth colorDepth; + bool native_fbo; }; static FBO *g_overriddenBackbuffer; @@ -51,6 +52,7 @@ static FBO *g_overriddenBackbuffer; #ifndef USING_GLES2 FBO *fbo_ext_create(int width, int height, int num_color_textures, bool z_stencil, FBOColorDepth colorDepth) { FBO *fbo = new FBO(); + fbo->native_fbo = false; fbo->width = width; fbo->height = height; fbo->colorDepth = colorDepth; @@ -132,6 +134,7 @@ FBO *fbo_create(int width, int height, int num_color_textures, bool z_stencil, F #endif FBO *fbo = new FBO(); + fbo->native_fbo = false; fbo->width = width; fbo->height = height; fbo->colorDepth = colorDepth; @@ -240,6 +243,24 @@ FBO *fbo_create(int width, int height, int num_color_textures, bool z_stencil, F return fbo; } +FBO *fbo_create_from_native_fbo(GLuint native_fbo, FBO *fbo) +{ + if (!fbo) + fbo = new FBO(); + + fbo->native_fbo = true; + fbo->handle = native_fbo; + fbo->color_texture = 0; + fbo->z_stencil_buffer = 0; + fbo->z_buffer = 0; + fbo->stencil_buffer = 0; + fbo->width = 0; + fbo->height = 0; + fbo->colorDepth = FBO_8888; + + return fbo; +} + void fbo_unbind() { // Bind OE framebuffer for rendering glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, framebuffer); @@ -301,6 +322,11 @@ void fbo_bind_as_render_target(FBO *fbo) { } void fbo_destroy(FBO *fbo) { + if (fbo->native_fbo) { + delete fbo; + return; + } + if (gl_extensions.FBO_ARB) { glBindFramebuffer(GL_FRAMEBUFFER, fbo->handle); glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, 0, 0); diff --git a/gfx_es2/fbo.h b/gfx_es2/fbo.h index a8d34c6..28eb5bf 100644 --- a/gfx_es2/fbo.h +++ b/gfx_es2/fbo.h @@ -6,6 +6,8 @@ extern int framebuffer; // Very C-ish API because that's what I felt like, and it's cool to completely // hide the data from callers... +#include "gfx/gl_common.h" + struct FBO; @@ -26,6 +28,10 @@ enum FBOColorDepth { // On some hardware, you might get a 24-bit depth buffer even though you only wanted a 16-bit one. FBO *fbo_create(int width, int height, int num_color_textures, bool z_stencil, FBOColorDepth colorDepth = FBO_8888); +// Create an opaque FBO from a native GL FBO, optionally reusing an existing FBO structure. +// Useful for overriding the backbuffer FBO that is generated outside of this wrapper. +FBO *fbo_create_from_native_fbo(GLuint native_fbo, FBO *fbo = NULL); + // These functions should be self explanatory. void fbo_bind_as_render_target(FBO *fbo); // color must be 0, for now. diff --git a/ppsspp b/ppsspp index b421e29..bf70979 160000 --- a/ppsspp +++ b/ppsspp @@ -1 +1 @@ -Subproject commit b421e29391b34d997b2c99ce2bdc74a0df5bb472 +Subproject commit bf709790c4fed9cd211f755acaa650ace0f7555a