(PS3) Bootup regressions fixed
This commit is contained in:
parent
f6b8ddc912
commit
3aaf7b8368
|
@ -15,7 +15,6 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "../../driver.h"
|
#include "../../driver.h"
|
||||||
#include "../../retroarch.h"
|
|
||||||
#include "../../ps3/sdk_defines.h"
|
#include "../../ps3/sdk_defines.h"
|
||||||
|
|
||||||
#ifdef HAVE_LIBDBGFONT
|
#ifdef HAVE_LIBDBGFONT
|
||||||
|
@ -48,6 +47,22 @@ typedef struct gfx_ctx_ps3_data
|
||||||
#endif
|
#endif
|
||||||
} gfx_ctx_ps3_data_t;
|
} gfx_ctx_ps3_data_t;
|
||||||
|
|
||||||
|
static unsigned gfx_ctx_ps3_get_resolution_width(unsigned resolution_id)
|
||||||
|
{
|
||||||
|
CellVideoOutResolution resolution;
|
||||||
|
cellVideoOutGetResolution(resolution_id, &resolution);
|
||||||
|
|
||||||
|
return resolution.width;
|
||||||
|
}
|
||||||
|
|
||||||
|
static unsigned gfx_ctx_ps3_get_resolution_height(unsigned resolution_id)
|
||||||
|
{
|
||||||
|
CellVideoOutResolution resolution;
|
||||||
|
cellVideoOutGetResolution(resolution_id, &resolution);
|
||||||
|
|
||||||
|
return resolution.height;
|
||||||
|
}
|
||||||
|
|
||||||
static float gfx_ctx_ps3_get_aspect_ratio(void *data)
|
static float gfx_ctx_ps3_get_aspect_ratio(void *data)
|
||||||
{
|
{
|
||||||
CellVideoOutState videoState;
|
CellVideoOutState videoState;
|
||||||
|
@ -225,43 +240,6 @@ static void gfx_ctx_ps3_get_video_size(void *data,
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static void gfx_ctx_ps3_get_video_output_size(void *data,
|
|
||||||
unsigned *width, unsigned *height)
|
|
||||||
{
|
|
||||||
unsigned ident = g_extern.console.screen.resolutions.current.id;
|
|
||||||
if (!width || !height)
|
|
||||||
return;
|
|
||||||
|
|
||||||
CellVideoOutResolution resolution;
|
|
||||||
cellVideoOutGetResolution(ident, &resolution);
|
|
||||||
|
|
||||||
*width = resolution.width;
|
|
||||||
*height = resolution.height;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void gfx_ctx_ps3_get_video_output_prev(void *data)
|
|
||||||
{
|
|
||||||
if (g_extern.console.screen.resolutions.current.idx)
|
|
||||||
{
|
|
||||||
g_extern.console.screen.resolutions.current.idx--;
|
|
||||||
g_extern.console.screen.resolutions.current.id =
|
|
||||||
g_extern.console.screen.resolutions.list
|
|
||||||
[g_extern.console.screen.resolutions.current.idx];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void gfx_ctx_ps3_get_video_output_next(void *data)
|
|
||||||
{
|
|
||||||
if (g_extern.console.screen.resolutions.current.idx + 1 <
|
|
||||||
g_extern.console.screen.resolutions.count)
|
|
||||||
{
|
|
||||||
g_extern.console.screen.resolutions.current.idx++;
|
|
||||||
g_extern.console.screen.resolutions.current.id =
|
|
||||||
g_extern.console.screen.resolutions.list
|
|
||||||
[g_extern.console.screen.resolutions.current.idx];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static bool gfx_ctx_ps3_init(void *data)
|
static bool gfx_ctx_ps3_init(void *data)
|
||||||
{
|
{
|
||||||
gfx_ctx_ps3_data_t *ps3 = (gfx_ctx_ps3_data_t*)
|
gfx_ctx_ps3_data_t *ps3 = (gfx_ctx_ps3_data_t*)
|
||||||
|
@ -295,8 +273,8 @@ static bool gfx_ctx_ps3_init(void *data)
|
||||||
if (g_extern.console.screen.resolutions.current.id)
|
if (g_extern.console.screen.resolutions.current.id)
|
||||||
{
|
{
|
||||||
params.enable |= PSGL_DEVICE_PARAMETERS_WIDTH_HEIGHT;
|
params.enable |= PSGL_DEVICE_PARAMETERS_WIDTH_HEIGHT;
|
||||||
|
params.width = gfx_ctx_ps3_get_resolution_width(g_extern.console.screen.resolutions.current.id);
|
||||||
gfx_ctx_ps3_get_video_output_size(data, ¶ms.width, ¶ms.height);
|
params.height = gfx_ctx_ps3_get_resolution_height(g_extern.console.screen.resolutions.current.id);
|
||||||
g_extern.console.screen.pal_enable = false;
|
g_extern.console.screen.pal_enable = false;
|
||||||
|
|
||||||
if (params.width == 720 && params.height == 576)
|
if (params.width == 720 && params.height == 576)
|
||||||
|
@ -339,21 +317,6 @@ static bool gfx_ctx_ps3_set_video_mode(void *data,
|
||||||
bool fullscreen)
|
bool fullscreen)
|
||||||
{
|
{
|
||||||
(void)data;
|
(void)data;
|
||||||
|
|
||||||
if (g_extern.console.screen.resolutions.list[
|
|
||||||
g_extern.console.screen.resolutions.current.idx] ==
|
|
||||||
CELL_VIDEO_OUT_RESOLUTION_576)
|
|
||||||
{
|
|
||||||
if (g_extern.console.screen.pal_enable)
|
|
||||||
g_extern.console.screen.pal60_enable = true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
g_extern.console.screen.pal_enable = false;
|
|
||||||
g_extern.console.screen.pal60_enable = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
rarch_main_command(RARCH_CMD_REINIT);
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -416,10 +379,10 @@ const gfx_ctx_driver_t gfx_ctx_ps3 = {
|
||||||
gfx_ctx_ps3_set_swap_interval,
|
gfx_ctx_ps3_set_swap_interval,
|
||||||
gfx_ctx_ps3_set_video_mode,
|
gfx_ctx_ps3_set_video_mode,
|
||||||
gfx_ctx_ps3_get_video_size,
|
gfx_ctx_ps3_get_video_size,
|
||||||
gfx_ctx_ps3_get_video_output_size,
|
NULL, /* get_video_output_size */
|
||||||
gfx_ctx_ps3_get_video_output_prev,
|
NULL, /* get_video_output_prev */
|
||||||
gfx_ctx_ps3_get_video_output_next,
|
NULL, /* get_video_output_next */
|
||||||
NULL, /* translate_aspect */
|
NULL,
|
||||||
gfx_ctx_ps3_update_window_title,
|
gfx_ctx_ps3_update_window_title,
|
||||||
gfx_ctx_ps3_check_window,
|
gfx_ctx_ps3_check_window,
|
||||||
gfx_ctx_ps3_set_resize,
|
gfx_ctx_ps3_set_resize,
|
||||||
|
|
|
@ -249,11 +249,29 @@ static int action_ok_video_filter(const char *path,
|
||||||
if (!menu)
|
if (!menu)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
|
#ifdef __CELLOS_LV2__
|
||||||
|
if (g_extern.console.screen.resolutions.list[
|
||||||
|
g_extern.console.screen.resolutions.current.idx] ==
|
||||||
|
CELL_VIDEO_OUT_RESOLUTION_576)
|
||||||
|
{
|
||||||
|
if (g_extern.console.screen.pal_enable)
|
||||||
|
g_extern.console.screen.pal60_enable = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
g_extern.console.screen.pal_enable = false;
|
||||||
|
g_extern.console.screen.pal60_enable = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
rarch_main_command(RARCH_CMD_REINIT);
|
||||||
|
return 0;
|
||||||
|
#else
|
||||||
return menu_list_push_stack_refresh(
|
return menu_list_push_stack_refresh(
|
||||||
menu->menu_list,
|
menu->menu_list,
|
||||||
g_settings.video.filter_dir,
|
g_settings.video.filter_dir,
|
||||||
"deferred_video_filter",
|
"deferred_video_filter",
|
||||||
0, idx);
|
0, idx);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static int action_ok_core_updater_list(const char *path,
|
static int action_ok_core_updater_list(const char *path,
|
||||||
|
|
|
@ -396,6 +396,30 @@ static int action_toggle_shader_num_passes(unsigned type, const char *label,
|
||||||
static int action_toggle_video_resolution(unsigned type, const char *label,
|
static int action_toggle_video_resolution(unsigned type, const char *label,
|
||||||
unsigned action)
|
unsigned action)
|
||||||
{
|
{
|
||||||
|
#if defined(__CELLOS_LV2__)
|
||||||
|
switch (action)
|
||||||
|
{
|
||||||
|
case MENU_ACTION_LEFT:
|
||||||
|
if (g_extern.console.screen.resolutions.current.idx)
|
||||||
|
{
|
||||||
|
g_extern.console.screen.resolutions.current.idx--;
|
||||||
|
g_extern.console.screen.resolutions.current.id =
|
||||||
|
g_extern.console.screen.resolutions.list
|
||||||
|
[g_extern.console.screen.resolutions.current.idx];
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case MENU_ACTION_RIGHT:
|
||||||
|
if (g_extern.console.screen.resolutions.current.idx + 1 <
|
||||||
|
g_extern.console.screen.resolutions.count)
|
||||||
|
{
|
||||||
|
g_extern.console.screen.resolutions.current.idx++;
|
||||||
|
g_extern.console.screen.resolutions.current.id =
|
||||||
|
g_extern.console.screen.resolutions.list
|
||||||
|
[g_extern.console.screen.resolutions.current.idx];
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#else
|
||||||
switch (action)
|
switch (action)
|
||||||
{
|
{
|
||||||
case MENU_ACTION_LEFT:
|
case MENU_ACTION_LEFT:
|
||||||
|
@ -409,6 +433,7 @@ static int action_toggle_video_resolution(unsigned type, const char *label,
|
||||||
driver.video_poke->get_video_output_next(driver.video_data);
|
driver.video_poke->get_video_output_next(driver.video_data);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue