Пример #1
0
 public override void run()
 {
     while (!exit_Renamed)
     {
         NativeUtils.setLogLevel();
         Utilities.sleep(100);
     }
 }
Пример #2
0
        public static void startList(PspGeList list)
        {
            if (list == null)
            {
                return;
            }

            lock (drawListQueue)
            {
                if (currentList == null)
                {
                    if (State.captureGeNextFrame)
                    {
                        State.captureGeNextFrame         = false;
                        CaptureManager.captureInProgress = true;
                        NativeUtils.DumpFrames           = true;
                        NativeUtils.DumpTextures         = true;
                        logLevel  = log.Level;
                        log.Level = Level.TRACE;
                    }

                    // Save the context at the beginning of the list processing to the given address (used by sceGu).
                    if (list.hasSaveContextAddr())
                    {
                        saveContext(list.SaveContextAddr);
                    }

                    list.status = sceGe_user.PSP_GE_LIST_DRAWING;
                    NativeUtils.setLogLevel();
                    NativeUtils.CoreSadr = list.StallAddr;
                    NativeUtils.setCoreCtrlActive();
                    lock (screenScaleLock)
                    {
                        // Update the screen scale only at the start of a new list
                        NativeUtils.ScreenScale = ScreenScale;
                    }
                    currentList = list;
                    currentList.sync();
                    CoreThread.Instance.sync();
                }
                else
                {
                    drawListQueue.add(list);
                }
            }
        }
Пример #3
0
        public static void finishList(PspGeList list)
        {
            Modules.sceGe_userModule.hleGeListSyncDone(list);

            lock (drawListQueue)
            {
                if (list == currentList)
                {
                    if (CaptureManager.captureInProgress)
                    {
                        log.Level = logLevel;
                        NativeUtils.DumpFrames   = false;
                        NativeUtils.DumpTextures = false;
                        NativeUtils.setLogLevel();
                        CaptureManager.captureInProgress = false;
                        Emulator.PauseEmu();
                    }

                    // Restore the context to the state at the beginning of the list processing (used by sceGu).
                    if (list.hasSaveContextAddr())
                    {
                        restoreContext(list.SaveContextAddr);
                    }

                    currentList = null;
                }
                else
                {
                    drawListQueue.remove(list);
                }
            }

            if (currentList == null)
            {
                startList(drawListQueue.poll());
            }
        }