frontend: add renderer toggle option
[pcsx_rearmed.git] / frontend / main.c
index bb6aaa9..7c15cb0 100644 (file)
@@ -130,9 +130,6 @@ static void set_default_paths(void)
        strcpy(Config.Pad1, "builtin_pad");
        strcpy(Config.Pad2, "builtin_pad");
        strcpy(Config.Net, "Disabled");
-#if defined(__arm__) && !defined(__ARM_ARCH_7A__) /* XXX */
-       strcpy(Config.Gpu, "gpu_unai.so");
-#endif
 
        snprintf(Config.PatchesDir, sizeof(Config.PatchesDir), "." PATCHES_DIR);
 }
@@ -146,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 =
@@ -233,6 +232,11 @@ do_state_slot:
                        pl_rearmed_cbs.frameskip == 0 ? "OFF" : "1" );
                plugin_call_rearmed_cbs();
                break;
+       case SACTION_TOGGLE_RENDERER:
+               pl_rearmed_cbs.gpu_neon.enhancement_enable =
+                       !pl_rearmed_cbs.gpu_neon.enhancement_enable;
+               plugin_call_rearmed_cbs();
+               break;
        case SACTION_SCREENSHOT:
                {
                        char buf[MAXPATHLEN];
@@ -258,7 +262,16 @@ do_state_slot:
                plat_step_volume(emu_action == SACTION_VOLUME_UP);
                return;
        case SACTION_MINIMIZE:
+               if (GPU_close != NULL)
+                       GPU_close();
+
                plat_minimize();
+
+               if (GPU_open != NULL) {
+                       ret = GPU_open(&gpuDisp, "PCSX", NULL);
+                       if (ret)
+                               fprintf(stderr, "GPU_open returned %d\n", ret);
+               }
                return;
 #endif
        default: