mirror of
https://github.com/libretro/RetroArch
synced 2025-03-29 04:20:28 +00:00
(PS3) Rewrite resolution context code
This commit is contained in:
parent
552180f276
commit
fcebaca85e
@ -136,8 +136,12 @@ static void set_setting_label(menu * current_menu, item *items, unsigned current
|
||||
{
|
||||
#ifdef __CELLOS_LV2__
|
||||
case SETTING_CHANGE_RESOLUTION:
|
||||
set_setting_label_color(items,g_console.initial_resolution_id == g_console.supported_resolutions[g_console.current_resolution_index], currentsetting);
|
||||
snprintf(items[currentsetting].setting_text, sizeof(items[currentsetting].setting_text), ps3_get_resolution_label(g_console.supported_resolutions[g_console.current_resolution_index]));
|
||||
{
|
||||
unsigned width = gfx_ctx_get_resolution_width(g_console.supported_resolutions[g_console.current_resolution_index]);
|
||||
unsigned height = gfx_ctx_get_resolution_height(g_console.supported_resolutions[g_console.current_resolution_index]);
|
||||
set_setting_label_color(items,g_console.initial_resolution_id == g_console.supported_resolutions[g_console.current_resolution_index], currentsetting);
|
||||
snprintf(items[currentsetting].setting_text, sizeof(items[currentsetting].setting_text), "%dx%d", width, height);
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
#if defined(HAVE_CG) || defined(HAVE_HLSL) || defined(HAVE_GLSL)
|
||||
@ -604,9 +608,6 @@ static void menu_stack_push(item *items, unsigned menu_id)
|
||||
menu_stack_refresh(items, current_menu);
|
||||
}
|
||||
|
||||
//forward decls
|
||||
extern const char *ps3_get_resolution_label(unsigned resolution);
|
||||
|
||||
static void display_menubar(menu *current_menu)
|
||||
{
|
||||
DEVICE_CAST device_ptr = (DEVICE_CAST)driver.video_data;
|
||||
|
@ -257,10 +257,14 @@ void gfx_ctx_get_available_resolutions (void)
|
||||
defaultresolution = true;
|
||||
|
||||
uint32_t videomode[] = {
|
||||
CELL_VIDEO_OUT_RESOLUTION_480, CELL_VIDEO_OUT_RESOLUTION_576,
|
||||
CELL_VIDEO_OUT_RESOLUTION_960x1080, CELL_VIDEO_OUT_RESOLUTION_720,
|
||||
CELL_VIDEO_OUT_RESOLUTION_1280x1080, CELL_VIDEO_OUT_RESOLUTION_1440x1080,
|
||||
CELL_VIDEO_OUT_RESOLUTION_1600x1080, CELL_VIDEO_OUT_RESOLUTION_1080
|
||||
CELL_VIDEO_OUT_RESOLUTION_480,
|
||||
CELL_VIDEO_OUT_RESOLUTION_576,
|
||||
CELL_VIDEO_OUT_RESOLUTION_960x1080,
|
||||
CELL_VIDEO_OUT_RESOLUTION_720,
|
||||
CELL_VIDEO_OUT_RESOLUTION_1280x1080,
|
||||
CELL_VIDEO_OUT_RESOLUTION_1440x1080,
|
||||
CELL_VIDEO_OUT_RESOLUTION_1600x1080,
|
||||
CELL_VIDEO_OUT_RESOLUTION_1080
|
||||
};
|
||||
|
||||
num_videomodes = sizeof(videomode) / sizeof(uint32_t);
|
||||
@ -303,29 +307,20 @@ int gfx_ctx_check_resolution(unsigned resolution_id)
|
||||
return cellVideoOutGetResolutionAvailability(CELL_VIDEO_OUT_PRIMARY, resolution_id, CELL_VIDEO_OUT_ASPECT_AUTO, 0);
|
||||
}
|
||||
|
||||
const char *ps3_get_resolution_label(uint32_t resolution)
|
||||
unsigned gfx_ctx_get_resolution_width(unsigned resolution_id)
|
||||
{
|
||||
switch (resolution)
|
||||
{
|
||||
case CELL_VIDEO_OUT_RESOLUTION_480:
|
||||
return "720x480";
|
||||
case CELL_VIDEO_OUT_RESOLUTION_576:
|
||||
return "720x576";
|
||||
case CELL_VIDEO_OUT_RESOLUTION_720:
|
||||
return "1280x720";
|
||||
case CELL_VIDEO_OUT_RESOLUTION_960x1080:
|
||||
return "960x1080";
|
||||
case CELL_VIDEO_OUT_RESOLUTION_1280x1080:
|
||||
return "1280x1080";
|
||||
case CELL_VIDEO_OUT_RESOLUTION_1440x1080:
|
||||
return "1440x1080";
|
||||
case CELL_VIDEO_OUT_RESOLUTION_1600x1080:
|
||||
return "1600x1080";
|
||||
case CELL_VIDEO_OUT_RESOLUTION_1080:
|
||||
return "1920x1080";
|
||||
default:
|
||||
return "Unknown";
|
||||
}
|
||||
CellVideoOutResolution resolution;
|
||||
cellVideoOutGetResolution(resolution_id, &resolution);
|
||||
|
||||
return resolution.width;
|
||||
}
|
||||
|
||||
unsigned gfx_ctx_get_resolution_height(unsigned resolution_id)
|
||||
{
|
||||
CellVideoOutResolution resolution;
|
||||
cellVideoOutGetResolution(resolution_id, &resolution);
|
||||
|
||||
return resolution.height;
|
||||
}
|
||||
|
||||
void gfx_ctx_set_projection(gl_t *gl, const struct gl_ortho *ortho, bool allow_rotate)
|
||||
|
@ -19,7 +19,8 @@
|
||||
|
||||
void gfx_ctx_get_available_resolutions (void);
|
||||
int gfx_ctx_check_resolution(unsigned resolution_id);
|
||||
const char *ps3_get_resolution_label(uint32_t resolution);
|
||||
unsigned gfx_ctx_get_resolution_width(unsigned resolution_id);
|
||||
unsigned gfx_ctx_get_resolution_height(unsigned resolution_id);
|
||||
void gfx_ctx_set_projection(gl_t *gl, const struct gl_ortho *ortho, bool allow_rotate);
|
||||
void gfx_ctx_set_aspect_ratio(void *data, unsigned aspectratio_index);
|
||||
void gfx_ctx_set_overscan(void);
|
||||
|
Loading…
x
Reference in New Issue
Block a user