diff options
author | notaz | 2012-08-13 00:02:23 +0300 |
---|---|---|
committer | notaz | 2012-10-12 00:05:07 +0300 |
commit | 0b02eb7712f1272fa7f38b0af41968b53af3b5a8 (patch) | |
tree | 4669cafcabf88f0a5be798bbcca8626937767dc1 /frontend | |
parent | cb88320b4ddbfd8c1714f9a6cba31543a585a8cd (diff) | |
download | pcsx_rearmed-0b02eb7712f1272fa7f38b0af41968b53af3b5a8.tar.gz pcsx_rearmed-0b02eb7712f1272fa7f38b0af41968b53af3b5a8.tar.bz2 pcsx_rearmed-0b02eb7712f1272fa7f38b0af41968b53af3b5a8.zip |
add support for software-enhanced rendering
Diffstat (limited to 'frontend')
-rw-r--r-- | frontend/main.c | 2 | ||||
-rw-r--r-- | frontend/menu.c | 8 | ||||
-rw-r--r-- | frontend/plugin_lib.h | 2 |
3 files changed, 11 insertions, 1 deletions
diff --git a/frontend/main.c b/frontend/main.c index 19e8319..c98e9e0 100644 --- a/frontend/main.c +++ b/frontend/main.c @@ -143,6 +143,8 @@ void emu_set_default_config(void) Config.PsxAuto = 1; pl_rearmed_cbs.gpu_neon.allow_interlace = 2; // auto + pl_rearmed_cbs.gpu_neon.enhancement_enable = + pl_rearmed_cbs.gpu_neon.enhancement_no_main = 0; pl_rearmed_cbs.gpu_peops.iUseDither = 0; pl_rearmed_cbs.gpu_peops.dwActFixes = 1<<7; pl_rearmed_cbs.gpu_unai.abe_hack = diff --git a/frontend/menu.c b/frontend/menu.c index 42a53e1..2fc56ba 100644 --- a/frontend/menu.c +++ b/frontend/menu.c @@ -288,6 +288,8 @@ static const struct { CE_INTVAL_P(gpu_unai.no_light), CE_INTVAL_P(gpu_unai.no_blend), CE_INTVAL_P(gpu_neon.allow_interlace), + CE_INTVAL_P(gpu_neon.enhancement_enable), + CE_INTVAL_P(gpu_neon.enhancement_no_main), CE_INTVAL_P(gpu_peopsgl.bDrawDither), CE_INTVAL_P(gpu_peopsgl.iFilterType), CE_INTVAL_P(gpu_peopsgl.iFrameTexType), @@ -1119,17 +1121,21 @@ void menu_set_filter_list(void *filters) #ifdef __ARM_NEON__ static const char h_gpu_neon[] = "Configure built-in NEON GPU plugin"; +static const char h_gpu_neon_enhanced[] = "Renders in double resolution at the cost of lower performance"; +static const char h_gpu_neon_enhanced_hack[] = "Speed hack for above option (glitches some games)"; static const char *men_gpu_interlace[] = { "Off", "On", "Auto", NULL }; static menu_entry e_menu_plugin_gpu_neon[] = { mee_enum ("Enable interlace mode", 0, pl_rearmed_cbs.gpu_neon.allow_interlace, men_gpu_interlace), + mee_onoff_h ("Enhanced resolution (slow)", 0, pl_rearmed_cbs.gpu_neon.enhancement_enable, 1, h_gpu_neon_enhanced), + mee_onoff_h ("Enhanced res. speed hack", 0, pl_rearmed_cbs.gpu_neon.enhancement_no_main, 1, h_gpu_neon_enhanced_hack), mee_end, }; static int menu_loop_plugin_gpu_neon(int id, int keys) { - int sel = 0; + static int sel = 0; me_loop(e_menu_plugin_gpu_neon, &sel); return 0; } diff --git a/frontend/plugin_lib.h b/frontend/plugin_lib.h index bcf74ac..7687bf8 100644 --- a/frontend/plugin_lib.h +++ b/frontend/plugin_lib.h @@ -60,6 +60,8 @@ struct rearmed_cbs { unsigned int only_16bpp; // platform is 16bpp-only struct { int allow_interlace; // 0 off, 1 on, 2 guess + int enhancement_enable; + int enhancement_no_main; } gpu_neon; struct { int iUseDither; |