Small OpenGL Renderer refactoring (#177)
* Call OpenGL functions directly, remove the pfifo thread, some refactoring * Fix PerformanceStatistics calculating the wrong host fps, remove wait event on PFIFO as this wasn't exactly was causing the freezes (may replace with an exception later) * Organized the Gpu folder a bit more, renamed a few things, address PR feedback * Make PerformanceStatistics thread safe * Remove unused constant * Use unlimited update rate for better pref
This commit is contained in:
parent
69697957e6
commit
e7559f128f
58 changed files with 518 additions and 633 deletions
|
@ -1,4 +1,3 @@
|
|||
using Ryujinx.HLE.OsHle.Utilities;
|
||||
using System;
|
||||
using System.IO;
|
||||
|
||||
|
@ -20,7 +19,7 @@ namespace Ryujinx.HLE.Loaders.Npdm
|
|||
public KernelAccessControl KernelAccessControl;
|
||||
|
||||
public const long ACI0Magic = 'A' << 0 | 'C' << 8 | 'I' << 16 | '0' << 24;
|
||||
|
||||
|
||||
public ACI0(Stream ACI0Stream, int Offset)
|
||||
{
|
||||
ACI0Stream.Seek(Offset, SeekOrigin.Begin);
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
using Ryujinx.HLE.OsHle.Utilities;
|
||||
using System;
|
||||
using System.IO;
|
||||
|
||||
|
@ -24,7 +23,7 @@ namespace Ryujinx.HLE.Loaders.Npdm
|
|||
public FSAccessControl FSAccessControl;
|
||||
public ServiceAccessControl ServiceAccessControl;
|
||||
public KernelAccessControl KernelAccessControl;
|
||||
|
||||
|
||||
public const long ACIDMagic = 'A' << 0 | 'C' << 8 | 'I' << 16 | 'D' << 24;
|
||||
|
||||
public ACID(Stream ACIDStream, int Offset)
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
using Ryujinx.HLE.OsHle.Utilities;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
|
||||
|
@ -29,7 +27,7 @@ namespace Ryujinx.HLE.Loaders.Npdm
|
|||
|
||||
public ACI0 ACI0;
|
||||
public ACID ACID;
|
||||
|
||||
|
||||
public const long NpdmMagic = 'M' << 0 | 'E' << 8 | 'T' << 16 | 'A' << 24;
|
||||
|
||||
public Npdm(Stream NPDMStream)
|
||||
|
@ -61,7 +59,7 @@ namespace Ryujinx.HLE.Loaders.Npdm
|
|||
// ProcessCategory (0: regular title, 1: kernel built-in). Should be 0 here.
|
||||
ProcessCategory = EndianSwap.Swap32(Reader.ReadInt32());
|
||||
|
||||
// Main entrypoint stack size
|
||||
// Main entrypoint stack size
|
||||
// (Should(?) be page-aligned. In non-nspwn scenarios, values of 0 can also rarely break in Horizon.
|
||||
// This might be something auto-adapting or a security feature of some sort ?)
|
||||
MainEntrypointStackSize = Reader.ReadInt32();
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
|
||||
|
@ -25,7 +24,7 @@ namespace Ryujinx.HLE.Loaders.Npdm
|
|||
|
||||
int Length = ((ControlByte & 0x07)) + 1;
|
||||
bool RegisterAllowed = ((ControlByte & 0x80) != 0);
|
||||
|
||||
|
||||
Services.Add((Encoding.ASCII.GetString(Reader.ReadBytes(Length), 0, Length), RegisterAllowed));
|
||||
|
||||
ByteReaded += Length + 1;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue