mirror of
https://github.com/libretro/RetroArch
synced 2025-03-29 13:20:30 +00:00
Merge branch 'master' of github.com:Themaister/SSNES
This commit is contained in:
commit
ec5612a12b
12
ps3/main.c
12
ps3/main.c
@ -225,6 +225,8 @@ static void ingame_menu(void)
|
||||
uint32_t menuitem_colors[MENU_ITEM_LAST];
|
||||
char comment[256], msg_temp[256];
|
||||
|
||||
ps3_block_swap();
|
||||
|
||||
do
|
||||
{
|
||||
uint64_t state = cell_pad_input_poll_device(0);
|
||||
@ -481,9 +483,10 @@ static void ingame_menu(void)
|
||||
old_state = state;
|
||||
cellSysutilCheckCallback();
|
||||
}while(g_console.in_game_menu);
|
||||
|
||||
ps3_unblock_swap();
|
||||
}
|
||||
|
||||
// Temporary, a more sane implementation should go here.
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
// Initialize 6 SPUs but reserve 1 SPU as a raw SPU for PSGL
|
||||
@ -492,9 +495,10 @@ int main(int argc, char *argv[])
|
||||
cellSysmoduleLoadModule(CELL_SYSMODULE_FS);
|
||||
cellSysmoduleLoadModule(CELL_SYSMODULE_SYSUTIL_GAME);
|
||||
|
||||
memset(&g_extern, 0, sizeof(g_extern));
|
||||
memset(&g_settings, 0, sizeof(g_settings));
|
||||
memset(&g_console, 0, sizeof(g_console));
|
||||
ssnes_main_clear_state();
|
||||
|
||||
g_console.block_config_read = true;
|
||||
config_set_defaults();
|
||||
|
||||
SSNES_LOG("Registering Callback\n");
|
||||
cellSysutilRegisterCallback(0, callback_sysutil_exit, NULL);
|
||||
|
@ -93,6 +93,7 @@ typedef struct gl
|
||||
PSGLdevice* gl_device;
|
||||
PSGLcontext* gl_context;
|
||||
bool vsync;
|
||||
bool block_swap;
|
||||
GLuint texture[TEXTURES];
|
||||
unsigned tex_index; // For use with PREV.
|
||||
struct gl_tex_info prev_info[TEXTURES];
|
||||
@ -723,7 +724,8 @@ static bool gl_frame(void *data, const void *frame, unsigned width, unsigned hei
|
||||
cellDbgFontDraw();
|
||||
}
|
||||
|
||||
psglSwap();
|
||||
if(!gl->block_swap)
|
||||
psglSwap();
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -1094,6 +1096,20 @@ const char * ps3_get_resolution_label(uint32_t resolution)
|
||||
}
|
||||
}
|
||||
|
||||
void ps3_block_swap (void)
|
||||
{
|
||||
gl_t *gl = g_gl;
|
||||
gl->block_swap = true;
|
||||
SSNES_LOG("Swap is set to blocked\n");
|
||||
}
|
||||
|
||||
void ps3_unblock_swap (void)
|
||||
{
|
||||
gl_t *gl = g_gl;
|
||||
gl->block_swap = false;
|
||||
SSNES_LOG("Swap is set to non-blocked\n");
|
||||
}
|
||||
|
||||
// PS3 needs a working graphics stack before SSNES even starts.
|
||||
// To deal with this main.c,
|
||||
// the top level module owns the instance, and is created beforehand.
|
||||
|
@ -31,6 +31,8 @@ void ps3_next_resolution (void);
|
||||
void ps3_previous_resolution (void);
|
||||
const char * ps3_get_resolution_label(uint32_t resolution);
|
||||
int ps3_check_resolution(uint32_t resolution_id);
|
||||
void ps3_block_swap (void);
|
||||
void ps3_unblock_swap (void);
|
||||
|
||||
extern void *g_gl;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user