From e42f515e11e65a9e7b75ec337d030def9d0b24a2 Mon Sep 17 00:00:00 2001 From: TwinAphex51224 Date: Tue, 25 Sep 2012 03:49:20 +0200 Subject: [PATCH] (PS3) Works on PS3 again --- Makefile.ps3 | 5 +++++ console/griffin/griffin.c | 1 + console/rmenu/rmenu.c | 4 ++-- gfx/context/ps3_ctx.c | 14 +++++++------- gfx/gl.c | 5 +++-- 5 files changed, 18 insertions(+), 11 deletions(-) diff --git a/Makefile.ps3 b/Makefile.ps3 index e2142a2af5..32f8a6dd0e 100644 --- a/Makefile.ps3 +++ b/Makefile.ps3 @@ -10,6 +10,7 @@ DEBUG = 0 DOWNLOAD_SHADERS = 1 STRIPPING_ENABLE = 0 HAVE_RGL = 1 +HAVE_RGL_NEW = 1 HAVE_LOGGER = 0 CONTENT_ID_FULL = UP0001-SSNE10000_00-0000000000000001 @@ -65,6 +66,10 @@ else GL_LIBS := -L$(CELL_SDK)/target/ppu/lib/PSGL/RSX/ultra-opt -lPSGL -lPSGLcgc endif +ifeq ($(HAVE_RGL_NEW), 1) +GL_LIBS += -lcgc_ps3 +endif + ifeq ($(CELL_BUILD_TOOLS), SNC) PPU_CXXLD = $(CELL_SDK)/host-win32/sn/bin/ps3ppuld.exe PPU_CXX = $(CELL_SDK)/host-win32/sn/bin/ps3ppusnc.exe diff --git a/console/griffin/griffin.c b/console/griffin/griffin.c index ab9447d0dd..574d101382 100644 --- a/console/griffin/griffin.c +++ b/console/griffin/griffin.c @@ -86,6 +86,7 @@ VIDEO CONTEXT ============================================================ */ #ifdef HAVE_VID_CONTEXT +#include "../../gfx/gfx_context.c" #if defined(__CELLOS_LV2__) && !defined(__PSL1GHT__) #include "../../gfx/context/ps3_ctx.c" diff --git a/console/rmenu/rmenu.c b/console/rmenu/rmenu.c index cc27024e5d..c88fe7abee 100644 --- a/console/rmenu/rmenu.c +++ b/console/rmenu/rmenu.c @@ -1156,12 +1156,12 @@ static void set_setting_action(menu *current_menu, unsigned switchvalue, uint64_ if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B))) { rarch_settings_change(S_THROTTLE); - gfx_ctx_set_swap_interval(g_console.throttle_enable, true); + gfx_ctx_set_swap_interval(g_console.throttle_enable); } if(input & (1 << RMENU_DEVICE_NAV_START)) { rarch_settings_default(S_DEF_THROTTLE); - gfx_ctx_set_swap_interval(g_console.throttle_enable, true); + gfx_ctx_set_swap_interval(g_console.throttle_enable); } break; case SETTING_TRIPLE_BUFFERING: diff --git a/gfx/context/ps3_ctx.c b/gfx/context/ps3_ctx.c index 7fa4adc2d6..108715f44a 100644 --- a/gfx/context/ps3_ctx.c +++ b/gfx/context/ps3_ctx.c @@ -428,21 +428,21 @@ const gfx_ctx_driver_t gfx_ctx_ps3 = { gfx_ctx_has_focus, gfx_ctx_swap_buffers, gfx_ctx_input_driver, - gfx_ctx_get_proc_address, + NULL, "ps3", // RARCH_CONSOLE stuff. - gfx_set_filtering, - gfx_get_available_resolutions, - gfx_check_resolutions, + gfx_ctx_set_filtering, + gfx_ctx_get_available_resolutions, + gfx_ctx_check_resolution, #ifdef HAVE_CG_MENU - gfx_menu_init, + gfx_ctx_menu_init, #else NULL, #endif - gfx_set_fbo, - gfx_apply_fbo_state_changes, + gfx_ctx_set_fbo, + gfx_ctx_apply_fbo_state_changes, }; diff --git a/gfx/gl.c b/gfx/gl.c index 6ed39fc0c9..530116e8fd 100644 --- a/gfx/gl.c +++ b/gfx/gl.c @@ -1560,8 +1560,9 @@ static void gl_start(void) } driver.video_data = gl_init(&video_info, NULL, NULL); - if (gl->driver->set_fbo) - gl->driver->set_fbo(g_console.fbo_enabled); + gl_t *gl = (gl_t*)driver.video_data; + + gl->driver->set_fbo(g_console.fbo_enabled); gl->driver->get_available_resolutions(); if (gl->driver->menu_init) gl->driver->menu_init();