Sfoglia il codice sorgente

misc: Expose DirtyHacks on GpuContext

Evan Husted 1 anno fa
parent
commit
42a739d34c
2 ha cambiato i file con 10 aggiunte e 3 eliminazioni
  1. 7 1
      src/Ryujinx.Graphics.Gpu/GpuContext.cs
  2. 3 2
      src/Ryujinx.HLE/Switch.cs

+ 7 - 1
src/Ryujinx.Graphics.Gpu/GpuContext.cs

@@ -1,4 +1,5 @@
 using Ryujinx.Common;
+using Ryujinx.Common.Configuration;
 using Ryujinx.Graphics.Device;
 using Ryujinx.Graphics.GAL;
 using Ryujinx.Graphics.Gpu.Engine.GPFifo;
@@ -90,6 +91,9 @@ namespace Ryujinx.Graphics.Gpu
         /// Support buffer updater.
         /// </summary>
         internal SupportBufferUpdater SupportBufferUpdater { get; }
+        
+        internal DirtyHackCollection DirtyHacks { get; }
+        
 
         /// <summary>
         /// Host hardware capabilities.
@@ -113,7 +117,7 @@ namespace Ryujinx.Graphics.Gpu
         /// Creates a new instance of the GPU emulation context.
         /// </summary>
         /// <param name="renderer">Host renderer</param>
-        public GpuContext(IRenderer renderer)
+        public GpuContext(IRenderer renderer, DirtyHackCollection hackCollection)
         {
             Renderer = renderer;
 
@@ -136,6 +140,8 @@ namespace Ryujinx.Graphics.Gpu
 
             SupportBufferUpdater = new SupportBufferUpdater(renderer);
 
+            DirtyHacks = hackCollection;
+
             _firstTimestamp = ConvertNanosecondsToTicks((ulong)PerformanceCounter.ElapsedNanoseconds);
         }
 

+ 3 - 2
src/Ryujinx.HLE/Switch.cs

@@ -57,9 +57,10 @@ namespace Ryujinx.HLE
                 : MemoryAllocationFlags.Reserve | MemoryAllocationFlags.Mirrorable;
 
 #pragma warning disable IDE0055 // Disable formatting
+            DirtyHacks        = new DirtyHackCollection(Configuration.Hacks);
             AudioDeviceDriver = new CompatLayerHardwareDeviceDriver(Configuration.AudioDeviceDriver);
             Memory            = new MemoryBlock(Configuration.MemoryConfiguration.ToDramSize(), memoryAllocationFlags);
-            Gpu               = new GpuContext(Configuration.GpuRenderer);
+            Gpu               = new GpuContext(Configuration.GpuRenderer, DirtyHacks);
             System            = new HOS.Horizon(this);
             Statistics        = new PerformanceStatistics();
             Hid               = new Hid(this, System.HidStorage);
@@ -77,7 +78,7 @@ namespace Ryujinx.HLE
             System.EnablePtc                        = Configuration.EnablePtc;
             System.FsIntegrityCheckLevel            = Configuration.FsIntegrityCheckLevel;
             System.GlobalAccessLogMode              = Configuration.FsGlobalAccessLogMode;
-            DirtyHacks                              = new DirtyHackCollection(Configuration.Hacks);
+            
             UpdateVSyncInterval();
 #pragma warning restore IDE0055