Forráskód Böngészése

n3ds: Don't put audio thread in system core on Old 3DS systems

(cherry picked from commit 149abe8f85f24859b5c3542d7b59d9f53b45e147)
NateXS 2 hete
szülő
commit
8973dfd9cc
1 módosított fájl, 7 hozzáadás és 4 törlés
  1. 7 4
      src/thread/n3ds/SDL_systhread.c

+ 7 - 4
src/thread/n3ds/SDL_systhread.c

@@ -42,7 +42,6 @@ static void ThreadEntry(void *arg)
     threadExit(0);
 }
 
-
 bool SDL_SYS_CreateThread(SDL_Thread *thread,
                           SDL_FunctionPointer pfnBeginThread,
                           SDL_FunctionPointer pfnEndThread)
@@ -53,9 +52,13 @@ bool SDL_SYS_CreateThread(SDL_Thread *thread,
 
     svcGetThreadPriority(&priority, CUR_THREAD_HANDLE);
 
-    // prefer putting audio thread on system core
-    if (thread->name && (SDL_strncmp(thread->name, "SDLAudioP", 9) == 0) && R_SUCCEEDED(APT_SetAppCpuTimeLimit(30))) {
-        cpu = 1;
+    // on New 3DS, prefer putting audio thread on system core
+    if (thread->name && (SDL_strncmp(thread->name, "SDLAudioP", 9) == 0)) {
+        bool new3ds = false;
+        APT_CheckNew3DS(&new3ds);
+        if (new3ds && R_SUCCEEDED(APT_SetAppCpuTimeLimit(30))) {
+            cpu = 1;
+        }
     }
 
     thread->handle = threadCreate(ThreadEntry,