Esempio n. 1
0
 public void GeDrawSync(SyncTypeEnum SyncType, Action SyncCallback)
 {
     if (SyncType != SyncTypeEnum.ListDone)
     {
         throw new NotImplementedException();
     }
     Status.CallbackOnStateOnce(StatusEnum.Completed, () =>
     {
         //Console.WriteLine("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
         SyncCallback();
     });
 }
Esempio n. 2
0
        //[HlePspNotImplemented]
        public DisplayListStatusEnum sceGeDrawSync(SyncTypeEnum SyncType)
        {
            //Thread.Sleep(40);
            switch (SyncType)
            {
            case SyncTypeEnum.WaitForCompletion:
                ThreadManager.Current.SetWaitAndPrepareWakeUp(HleThread.WaitType.GraphicEngine, "sceGeDrawSync",
                                                              GpuProcessor, (WakeUp) => { GpuProcessor.GeDrawSync(WakeUp); });
                return(0);

            case SyncTypeEnum.Peek:
                return(GpuProcessor.PeekStatus());

            default:
                throw (new SceKernelException(SceKernelErrors.ERROR_INVALID_MODE));
            }
        }
Esempio n. 3
0
        public DisplayListStatusEnum sceGeListSync(int DisplayListId, SyncTypeEnum SyncType)
        {
            var DisplayList = GetDisplayListFromId(DisplayListId);

            switch (SyncType)
            {
            case SyncTypeEnum.WaitForCompletion:
                ThreadManager.Current.SetWaitAndPrepareWakeUp(HleThread.WaitType.GraphicEngine, "sceGeListSync",
                                                              DisplayList, (WakeUp) => { DisplayList.GeListSync(WakeUp); });
                return(0);

            case SyncTypeEnum.Peek:
                return(DisplayList.PeekStatus());

            default:
                throw (new SceKernelException(SceKernelErrors.ERROR_INVALID_MODE));
            }
        }
Esempio n. 4
0
        public void GeDrawSync(SyncTypeEnum SyncType, Action SyncCallback)
        {
            //Console.Error.WriteLine("-- GeDrawSync --------------------------------");
            if (SyncType != SyncTypeEnum.ListDone) throw new NotImplementedException();

            if (DisplayListQueue.GetCountLock() == 0)
            {
                CompletedDrawingEvent.Reset();
                CapturingWaypoint();
                SyncCallback();
            }
            else
            {
                CompletedDrawingEvent.CallbackOnSet(() =>
                {
                    //Console.Error.WriteLine("-- GeDrawSync Completed --------------------------------");
                    CompletedDrawingEvent.Reset();
                    CapturingWaypoint();
                    SyncCallback();
                });
            }
        }
        public DisplayListStatusEnum sceGeListSync(int DisplayListId, SyncTypeEnum SyncType)
        {
            var DisplayList = GetDisplayListFromId(DisplayListId);

            switch (SyncType)
            {
                case SyncTypeEnum.WaitForCompletion:
                    ThreadManager.Current.SetWaitAndPrepareWakeUp(HleThread.WaitType.GraphicEngine, "sceGeListSync", DisplayList, (WakeUp) =>
                    {
                        DisplayList.GeListSync(WakeUp);
                    });
                    return 0;
                case SyncTypeEnum.Peek:
                    return DisplayList.PeekStatus();
                default:
                    throw (new SceKernelException(SceKernelErrors.ERROR_INVALID_MODE));
            }
        }
 public DisplayListStatusEnum sceGeDrawSync(SyncTypeEnum SyncType)
 {
     //Thread.Sleep(40);
     switch (SyncType)
     {
         case SyncTypeEnum.WaitForCompletion:
             ThreadManager.Current.SetWaitAndPrepareWakeUp(HleThread.WaitType.GraphicEngine, "sceGeDrawSync", GpuProcessor, (WakeUp) =>
             {
                 GpuProcessor.GeDrawSync(WakeUp);
             });
             return 0;
         case SyncTypeEnum.Peek:
             return GpuProcessor.PeekStatus();
         default:
             throw (new SceKernelException(SceKernelErrors.ERROR_INVALID_MODE));
     }
 }
Esempio n. 7
0
 public void GeDrawSync(SyncTypeEnum SyncType, Action SyncCallback)
 {
     if (SyncType != SyncTypeEnum.ListDone) throw new NotImplementedException();
     Status.CallbackOnStateOnce(StatusEnum.Completed, () =>
     {
         //Console.WriteLine("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
         SyncCallback();
     });
 }