/// <summary> /// /// </summary> /// <param name="DisplayList"></param> public void EnqueueDisplayListLast(GpuDisplayList DisplayList) { AddedDisplayList(); lock (DisplayListQueue) { DisplayListQueue.AddLast(DisplayList); } DisplayListQueueUpdated.Set(); }
/// <summary> /// /// </summary> /// <param name="GpuDisplayList"></param> public void EnqueueFreeDisplayList(GpuDisplayList GpuDisplayList) { AddedDisplayList(); lock (DisplayListFreeQueue) { this.DisplayListFreeQueue.Enqueue(GpuDisplayList); } DisplayListFreeEvent.Set(); }
/// <summary> /// /// </summary> /// <param name="GpuDisplayList"></param> public void EnqueueFreeDisplayList(GpuDisplayList GpuDisplayList) { //Console.WriteLine("EnqueueFreeDisplayList: {0}", this.DisplayListFreeQueue.Count); lock (DisplayListFreeQueue) { DisplayListFreeQueue.Enqueue(GpuDisplayList); GpuDisplayList.SetFree(); } DisplayListFreeEvent.Set(); }
/// <summary> /// /// </summary> /// <param name="DisplayList"></param> public void EnqueueDisplayListLast(GpuDisplayList DisplayList) { //Console.WriteLine("EnqueueDisplayListLast: {0}", this.DisplayListFreeQueue.Count); AddedDisplayList(); lock (DisplayListQueue) { DisplayListQueue.AddLast(DisplayList); DisplayList.SetQueued(); } DisplayListQueueUpdated.Set(); ListEnqueuedEvent.Set(); }
void IInjectInitialize.Initialize() { DisplayListQueue = new LinkedList <GpuDisplayList>(); DisplayListFreeQueue = new Queue <GpuDisplayList>(); for (int n = 0; n < DisplayListsCount; n++) { var DisplayList = new GpuDisplayList(Memory, this, n); DisplayLists[n] = DisplayList; //this.DisplayListFreeQueue.Enqueue(DisplayLists[n]); EnqueueFreeDisplayList(DisplayLists[n]); } }
/// <summary> /// /// </summary> /// <param name="PspConfig"></param> /// <param name="Memory"></param> public override void InitializeComponent() { if (sizeof(GpuStateStruct) > sizeof(uint) * 512) { throw (new InvalidProgramException("GpuStateStruct too big. Maybe x64? . Size: " + sizeof(GpuStateStruct))); } this.PspConfig = PspEmulatorContext.PspConfig; this.Memory = PspEmulatorContext.GetInstance <PspMemory>(); this.GpuImpl = PspEmulatorContext.GetInstance <GpuImpl>(); this.DisplayListQueue = new LinkedList <GpuDisplayList>(); this.DisplayListFreeQueue = new Queue <GpuDisplayList>(); for (int n = 0; n < DisplayLists.Length; n++) { var DisplayList = new GpuDisplayList(Memory, this, n); this.DisplayLists[n] = DisplayList; //this.DisplayListFreeQueue.Enqueue(DisplayLists[n]); EnqueueFreeDisplayList(DisplayLists[n]); } }
/// <summary> /// /// </summary> public void ProcessStep() { CurrentGpuDisplayList = null; if (DisplayListQueue.GetCountLock() > 0) { UsingGe = true; while (DisplayListQueue.GetCountLock() > 0) { CurrentGpuDisplayList = DisplayListQueue.RemoveFirstAndGet(); CurrentGpuDisplayList.SetDequeued(); LastProcessedGpuDisplayList = CurrentGpuDisplayList; CurrentGpuDisplayList.Process(); EnqueueFreeDisplayList(CurrentGpuDisplayList); } CurrentGpuDisplayList = null; Status2.SetValue(Status2Enum.Completed); } }
public void ProcessInit() { GpuDisplayList.InstructionSwitch = GpuDisplayList.GenerateSwitch(); }
/// <summary> /// /// </summary> /// <param name="PspConfig"></param> /// <param name="Memory"></param> public override void InitializeComponent() { if (sizeof(GpuStateStruct) > sizeof(uint) * 512) { ConsoleUtils.SaveRestoreConsoleColor(ConsoleColor.Red, () => { Console.WriteLine("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); Console.WriteLine("GpuStateStruct too big. Maybe x64? . Size: " + sizeof(GpuStateStruct)); Console.WriteLine("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); }); } this.PspConfig = PspEmulatorContext.PspConfig; this.DisplayListQueue = new LinkedList<GpuDisplayList>(); this.DisplayListFreeQueue = new Queue<GpuDisplayList>(); for (int n = 0; n < DisplayLists.Length; n++) { var DisplayList = new GpuDisplayList(Memory, this, n); this.DisplayLists[n] = DisplayList; //this.DisplayListFreeQueue.Enqueue(DisplayLists[n]); EnqueueFreeDisplayList(DisplayLists[n]); } }
/// <summary> /// /// </summary> /// <param name="GpuDisplayList"></param> public void EnqueueFreeDisplayList(GpuDisplayList GpuDisplayList) { //Console.WriteLine("EnqueueFreeDisplayList: {0}", this.DisplayListFreeQueue.Count); AddedDisplayList(); lock (DisplayListFreeQueue) { this.DisplayListFreeQueue.Enqueue(GpuDisplayList); GpuDisplayList.Freed(); } DisplayListFreeEvent.Set(); }
/// <summary> /// /// </summary> /// <param name="DisplayList"></param> public void EnqueueDisplayListLast(GpuDisplayList DisplayList) { //Console.WriteLine("EnqueueDisplayListLast: {0}", this.DisplayListFreeQueue.Count); AddedDisplayList(); lock (DisplayListQueue) { DisplayListQueue.AddLast(DisplayList); } DisplayListQueueUpdated.Set(); ListEnqueuedEvent.Set(); }
/// <summary> /// /// </summary> /// <param name="PspConfig"></param> /// <param name="Memory"></param> public override void InitializeComponent() { if (sizeof(GpuStateStruct) > sizeof(uint) * 512) { throw (new InvalidProgramException("GpuStateStruct too big. Maybe x64? . Size: " + sizeof(GpuStateStruct))); } this.PspConfig = PspEmulatorContext.PspConfig; this.Memory = PspEmulatorContext.GetInstance<PspMemory>(); this.GpuImpl = PspEmulatorContext.GetInstance<GpuImpl>(); this.DisplayListQueue = new LinkedList<GpuDisplayList>(); this.DisplayListFreeQueue = new Queue<GpuDisplayList>(); for (int n = 0; n < DisplayLists.Length; n++) { var DisplayList = new GpuDisplayList(Memory, this, n); this.DisplayLists[n] = DisplayList; //this.DisplayListFreeQueue.Enqueue(DisplayLists[n]); EnqueueFreeDisplayList(DisplayLists[n]); } }
void IInjectInitialize.Initialize() { this.DisplayListQueue = new LinkedList<GpuDisplayList>(); this.DisplayListFreeQueue = new Queue<GpuDisplayList>(); for (int n = 0; n < DisplayListsCount; n++) { var DisplayList = new GpuDisplayList(Memory, this, n); this.DisplayLists[n] = DisplayList; //this.DisplayListFreeQueue.Enqueue(DisplayLists[n]); EnqueueFreeDisplayList(DisplayLists[n]); } }