Core option: Add neon_enhancement_no_main
authortwinaphex <autechre1024@hotmail.com>
Sun, 26 May 2013 22:31:25 +0000 (00:31 +0200)
committernotaz <notasas@gmail.com>
Tue, 4 Jun 2013 20:35:25 +0000 (23:35 +0300)
frontend/libretro.c

index 413098d..9be52f5 100644 (file)
@@ -244,6 +244,7 @@ void retro_set_environment(retro_environment_t cb)
 #ifdef __ARM_NEON__
       { "neon_interlace_enable", "Enable interlacing mode(s); disabled|enabled" },
       { "neon_enhancement_enable", "Enhanced resolution (slow); disabled|enabled" },
+      { "neon_enhancement_no_main", "Enhanced resolution speed hack; disabled|enabled" },
 #endif
       { NULL, NULL },
    };
@@ -778,6 +779,17 @@ static void update_variables(bool in_flight)
       else if (strcmp(var.value, "enabled") == 0)
          pl_rearmed_cbs.gpu_neon.enhancement_enable = 1;
    }
+
+   var.value = NULL;
+   var.key = "neon_enhancement_no_main";
+
+   if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) || var.value)
+   {
+      if (strcmp(var.value, "disabled") == 0)
+         pl_rearmed_cbs.gpu_neon.enhancement_no_main = 0;
+      else if (strcmp(var.value, "enabled") == 0)
+         pl_rearmed_cbs.gpu_neon.enhancement_no_main = 1;
+   }
 #endif
 
        if (in_flight) {