From 830cbf91bb8766e6347291bdff765a8a4e8c95b8 Mon Sep 17 00:00:00 2001 From: gdkchan Date: Sat, 11 Jun 2022 14:31:17 -0300 Subject: [PATCH 001/179] Ignore ClipControl on draw texture fallback (#3388) --- Ryujinx.Graphics.OpenGL/Pipeline.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Ryujinx.Graphics.OpenGL/Pipeline.cs b/Ryujinx.Graphics.OpenGL/Pipeline.cs index ced41d48f..637e4606e 100644 --- a/Ryujinx.Graphics.OpenGL/Pipeline.cs +++ b/Ryujinx.Graphics.OpenGL/Pipeline.cs @@ -597,6 +597,8 @@ namespace Ryujinx.Graphics.OpenGL GL.EndTransformFeedback(); } + GL.ClipControl(ClipOrigin.UpperLeft, ClipDepthMode.NegativeOneToOne); + _drawTexture.Draw( view, samp, @@ -627,6 +629,8 @@ namespace Ryujinx.Graphics.OpenGL { GL.BeginTransformFeedback(_tfTopology); } + + RestoreClipControl(); } } } From 70895bdb04c51e92b4d84946c66c122f9d54a73f Mon Sep 17 00:00:00 2001 From: gdkchan Date: Sat, 11 Jun 2022 14:58:30 -0300 Subject: [PATCH 002/179] Allow concurrent BSD EventFd read/write (#3385) --- Ryujinx.HLE/HOS/Horizon.cs | 2 +- Ryujinx.HLE/HOS/Kernel/Process/KProcess.cs | 5 ++- .../HOS/Kernel/SupervisorCall/Syscall.cs | 15 +++++++- Ryujinx.HLE/HOS/Services/ServerBase.cs | 38 +++++++++++++++++-- .../Sockets/Bsd/Impl/EventFileDescriptor.cs | 9 ++--- 5 files changed, 55 insertions(+), 14 deletions(-) diff --git a/Ryujinx.HLE/HOS/Horizon.cs b/Ryujinx.HLE/HOS/Horizon.cs index b93ebc032..2e64542e5 100644 --- a/Ryujinx.HLE/HOS/Horizon.cs +++ b/Ryujinx.HLE/HOS/Horizon.cs @@ -309,7 +309,7 @@ namespace Ryujinx.HLE.HOS // only then doing connections to SM is safe. SmServer.InitDone.WaitOne(); - BsdServer = new ServerBase(KernelContext, "BsdServer"); + BsdServer = new ServerBase(KernelContext, "BsdServer", null, 2); AudRenServer = new ServerBase(KernelContext, "AudioRendererServer"); AudOutServer = new ServerBase(KernelContext, "AudioOutServer"); FsServer = new ServerBase(KernelContext, "FsServer"); diff --git a/Ryujinx.HLE/HOS/Kernel/Process/KProcess.cs b/Ryujinx.HLE/HOS/Kernel/Process/KProcess.cs index 0caeacade..d01c3e3b2 100644 --- a/Ryujinx.HLE/HOS/Kernel/Process/KProcess.cs +++ b/Ryujinx.HLE/HOS/Kernel/Process/KProcess.cs @@ -735,11 +735,12 @@ namespace Ryujinx.HLE.HOS.Kernel.Process ulong argsPtr, ulong stackTop, int priority, - int cpuCore) + int cpuCore, + ThreadStart customThreadStart = null) { lock (_processLock) { - return thread.Initialize(entrypoint, argsPtr, stackTop, priority, cpuCore, this, ThreadType.User, null); + return thread.Initialize(entrypoint, argsPtr, stackTop, priority, cpuCore, this, ThreadType.User, customThreadStart); } } diff --git a/Ryujinx.HLE/HOS/Kernel/SupervisorCall/Syscall.cs b/Ryujinx.HLE/HOS/Kernel/SupervisorCall/Syscall.cs index 179c7d4b2..189e4a3ea 100644 --- a/Ryujinx.HLE/HOS/Kernel/SupervisorCall/Syscall.cs +++ b/Ryujinx.HLE/HOS/Kernel/SupervisorCall/Syscall.cs @@ -2350,6 +2350,18 @@ namespace Ryujinx.HLE.HOS.Kernel.SupervisorCall [PointerSized] ulong stackTop, int priority, int cpuCore) + { + return CreateThread(out handle, entrypoint, argsPtr, stackTop, priority, cpuCore, null); + } + + public KernelResult CreateThread( + out int handle, + ulong entrypoint, + ulong argsPtr, + ulong stackTop, + int priority, + int cpuCore, + ThreadStart customThreadStart) { handle = 0; @@ -2386,7 +2398,8 @@ namespace Ryujinx.HLE.HOS.Kernel.SupervisorCall argsPtr, stackTop, priority, - cpuCore); + cpuCore, + customThreadStart); if (result == KernelResult.Success) { diff --git a/Ryujinx.HLE/HOS/Services/ServerBase.cs b/Ryujinx.HLE/HOS/Services/ServerBase.cs index 907833441..2aead42e3 100644 --- a/Ryujinx.HLE/HOS/Services/ServerBase.cs +++ b/Ryujinx.HLE/HOS/Services/ServerBase.cs @@ -1,3 +1,4 @@ +using Ryujinx.Common.Logging; using Ryujinx.HLE.HOS.Ipc; using Ryujinx.HLE.HOS.Kernel; using Ryujinx.HLE.HOS.Kernel.Common; @@ -38,15 +39,18 @@ namespace Ryujinx.HLE.HOS.Services private readonly Dictionary> _ports = new Dictionary>(); public ManualResetEvent InitDone { get; } - public Func SmObjectFactory { get; } public string Name { get; } + public Func SmObjectFactory { get; } - public ServerBase(KernelContext context, string name, Func smObjectFactory = null) + private int _threadCount; + + public ServerBase(KernelContext context, string name, Func smObjectFactory = null, int threadCount = 1) { InitDone = new ManualResetEvent(false); + _context = context; Name = name; SmObjectFactory = smObjectFactory; - _context = context; + _threadCount = threadCount; const ProcessCreationFlags flags = ProcessCreationFlags.EnableAslr | @@ -56,7 +60,7 @@ namespace Ryujinx.HLE.HOS.Services ProcessCreationInfo creationInfo = new ProcessCreationInfo("Service", 1, 0, 0x8000000, 1, flags, 0, 0); - KernelStatic.StartInitialProcess(context, creationInfo, DefaultCapabilities, 44, ServerLoop); + KernelStatic.StartInitialProcess(context, creationInfo, DefaultCapabilities, 44, Main); } private void AddPort(int serverPortHandle, Func objectFactory) @@ -80,6 +84,32 @@ namespace Ryujinx.HLE.HOS.Services _sessions.Add(serverSessionHandle, obj); } + private void Main() + { + for (int i = 1; i < _threadCount; i++) + { + KernelResult result = _context.Syscall.CreateThread(out int threadHandle, 0UL, 0UL, 0UL, 44, 3, ServerLoop); + + if (result == KernelResult.Success) + { + result = _context.Syscall.StartThread(threadHandle); + + if (result != KernelResult.Success) + { + Logger.Error?.Print(LogClass.Service, $"Failed to start thread on {Name}: {result}"); + } + + _context.Syscall.CloseHandle(threadHandle); + } + else + { + Logger.Error?.Print(LogClass.Service, $"Failed to create thread on {Name}: {result}"); + } + } + + ServerLoop(); + } + private void ServerLoop() { _selfProcess = KernelStatic.GetCurrentProcess(); diff --git a/Ryujinx.HLE/HOS/Services/Sockets/Bsd/Impl/EventFileDescriptor.cs b/Ryujinx.HLE/HOS/Services/Sockets/Bsd/Impl/EventFileDescriptor.cs index e92b42ef0..ea63e8425 100644 --- a/Ryujinx.HLE/HOS/Services/Sockets/Bsd/Impl/EventFileDescriptor.cs +++ b/Ryujinx.HLE/HOS/Services/Sockets/Bsd/Impl/EventFileDescriptor.cs @@ -8,7 +8,6 @@ namespace Ryujinx.HLE.HOS.Services.Sockets.Bsd { private ulong _value; private readonly EventFdFlags _flags; - private AutoResetEvent _event; private object _lock = new object(); @@ -21,7 +20,6 @@ namespace Ryujinx.HLE.HOS.Services.Sockets.Bsd { _value = value; _flags = flags; - _event = new AutoResetEvent(false); WriteEvent = new ManualResetEvent(true); ReadEvent = new ManualResetEvent(true); @@ -31,7 +29,6 @@ namespace Ryujinx.HLE.HOS.Services.Sockets.Bsd public void Dispose() { - _event.Dispose(); WriteEvent.Dispose(); ReadEvent.Dispose(); } @@ -57,7 +54,7 @@ namespace Ryujinx.HLE.HOS.Services.Sockets.Bsd { while (_value == 0) { - _event.WaitOne(); + Monitor.Wait(_lock); } } else @@ -106,7 +103,7 @@ namespace Ryujinx.HLE.HOS.Services.Sockets.Bsd { if (Blocking) { - _event.WaitOne(); + Monitor.Wait(_lock); } else { @@ -119,7 +116,7 @@ namespace Ryujinx.HLE.HOS.Services.Sockets.Bsd writeSize = sizeof(ulong); _value += count; - _event.Set(); + Monitor.Pulse(_lock); WriteEvent.Set(); From b1bd6a50b5341f444ceb31bbb0fb64f685828d75 Mon Sep 17 00:00:00 2001 From: gdkchan Date: Sun, 12 Jun 2022 04:29:12 -0300 Subject: [PATCH 003/179] Less invasive fix for EventFd blocking operations (#3394) --- Ryujinx.HLE/HOS/Horizon.cs | 2 +- Ryujinx.HLE/HOS/Services/ServerBase.cs | 26 +------------------ .../Sockets/Bsd/Impl/EventFileDescriptor.cs | 5 ++++ 3 files changed, 7 insertions(+), 26 deletions(-) diff --git a/Ryujinx.HLE/HOS/Horizon.cs b/Ryujinx.HLE/HOS/Horizon.cs index 2e64542e5..b93ebc032 100644 --- a/Ryujinx.HLE/HOS/Horizon.cs +++ b/Ryujinx.HLE/HOS/Horizon.cs @@ -309,7 +309,7 @@ namespace Ryujinx.HLE.HOS // only then doing connections to SM is safe. SmServer.InitDone.WaitOne(); - BsdServer = new ServerBase(KernelContext, "BsdServer", null, 2); + BsdServer = new ServerBase(KernelContext, "BsdServer"); AudRenServer = new ServerBase(KernelContext, "AudioRendererServer"); AudOutServer = new ServerBase(KernelContext, "AudioOutServer"); FsServer = new ServerBase(KernelContext, "FsServer"); diff --git a/Ryujinx.HLE/HOS/Services/ServerBase.cs b/Ryujinx.HLE/HOS/Services/ServerBase.cs index 2aead42e3..c13ee1863 100644 --- a/Ryujinx.HLE/HOS/Services/ServerBase.cs +++ b/Ryujinx.HLE/HOS/Services/ServerBase.cs @@ -42,15 +42,12 @@ namespace Ryujinx.HLE.HOS.Services public string Name { get; } public Func SmObjectFactory { get; } - private int _threadCount; - - public ServerBase(KernelContext context, string name, Func smObjectFactory = null, int threadCount = 1) + public ServerBase(KernelContext context, string name, Func smObjectFactory = null) { InitDone = new ManualResetEvent(false); _context = context; Name = name; SmObjectFactory = smObjectFactory; - _threadCount = threadCount; const ProcessCreationFlags flags = ProcessCreationFlags.EnableAslr | @@ -86,27 +83,6 @@ namespace Ryujinx.HLE.HOS.Services private void Main() { - for (int i = 1; i < _threadCount; i++) - { - KernelResult result = _context.Syscall.CreateThread(out int threadHandle, 0UL, 0UL, 0UL, 44, 3, ServerLoop); - - if (result == KernelResult.Success) - { - result = _context.Syscall.StartThread(threadHandle); - - if (result != KernelResult.Success) - { - Logger.Error?.Print(LogClass.Service, $"Failed to start thread on {Name}: {result}"); - } - - _context.Syscall.CloseHandle(threadHandle); - } - else - { - Logger.Error?.Print(LogClass.Service, $"Failed to create thread on {Name}: {result}"); - } - } - ServerLoop(); } diff --git a/Ryujinx.HLE/HOS/Services/Sockets/Bsd/Impl/EventFileDescriptor.cs b/Ryujinx.HLE/HOS/Services/Sockets/Bsd/Impl/EventFileDescriptor.cs index ea63e8425..239e2434c 100644 --- a/Ryujinx.HLE/HOS/Services/Sockets/Bsd/Impl/EventFileDescriptor.cs +++ b/Ryujinx.HLE/HOS/Services/Sockets/Bsd/Impl/EventFileDescriptor.cs @@ -18,6 +18,11 @@ namespace Ryujinx.HLE.HOS.Services.Sockets.Bsd public EventFileDescriptor(ulong value, EventFdFlags flags) { + // FIXME: We should support blocking operations. + // Right now they can't be supported because it would cause the + // service to lock up as we only have one thread processing requests. + flags |= EventFdFlags.NonBlocking; + _value = value; _flags = flags; From 851f56b08a0c3b420f91143b6c6c007b429174a8 Mon Sep 17 00:00:00 2001 From: gdkchan Date: Tue, 14 Jun 2022 13:30:39 -0300 Subject: [PATCH 004/179] Support Array/3D depth-stencil render target, and single layer clears (#3400) * Support Array/3D depth-stencil render target, and single layer clears * Alignment --- Ryujinx.Graphics.GAL/IPipeline.cs | 3 +- .../Commands/ClearRenderTargetColorCommand.cs | 6 +- .../ClearRenderTargetDepthStencilCommand.cs | 6 +- .../Multithreading/ThreadedPipeline.cs | 8 +- .../Engine/Threed/DrawManager.cs | 6 +- .../Engine/Threed/StateUpdater.cs | 6 +- .../Engine/Threed/ThreedClass.cs | 5 +- Ryujinx.Graphics.Gpu/Image/TextureCache.cs | 23 +++- Ryujinx.Graphics.OpenGL/Framebuffer.cs | 116 +++++++++++++++--- Ryujinx.Graphics.OpenGL/Pipeline.cs | 12 +- 10 files changed, 157 insertions(+), 34 deletions(-) diff --git a/Ryujinx.Graphics.GAL/IPipeline.cs b/Ryujinx.Graphics.GAL/IPipeline.cs index aec096e72..83afcaa3a 100644 --- a/Ryujinx.Graphics.GAL/IPipeline.cs +++ b/Ryujinx.Graphics.GAL/IPipeline.cs @@ -10,9 +10,10 @@ namespace Ryujinx.Graphics.GAL void ClearBuffer(BufferHandle destination, int offset, int size, uint value); - void ClearRenderTargetColor(int index, uint componentMask, ColorF color); + void ClearRenderTargetColor(int index, int layer, uint componentMask, ColorF color); void ClearRenderTargetDepthStencil( + int layer, float depthValue, bool depthMask, int stencilValue, diff --git a/Ryujinx.Graphics.GAL/Multithreading/Commands/ClearRenderTargetColorCommand.cs b/Ryujinx.Graphics.GAL/Multithreading/Commands/ClearRenderTargetColorCommand.cs index 57509f1c0..cde69e7bb 100644 --- a/Ryujinx.Graphics.GAL/Multithreading/Commands/ClearRenderTargetColorCommand.cs +++ b/Ryujinx.Graphics.GAL/Multithreading/Commands/ClearRenderTargetColorCommand.cs @@ -4,19 +4,21 @@ { public CommandType CommandType => CommandType.ClearRenderTargetColor; private int _index; + private int _layer; private uint _componentMask; private ColorF _color; - public void Set(int index, uint componentMask, ColorF color) + public void Set(int index, int layer, uint componentMask, ColorF color) { _index = index; + _layer = layer; _componentMask = componentMask; _color = color; } public static void Run(ref ClearRenderTargetColorCommand command, ThreadedRenderer threaded, IRenderer renderer) { - renderer.Pipeline.ClearRenderTargetColor(command._index, command._componentMask, command._color); + renderer.Pipeline.ClearRenderTargetColor(command._index, command._layer, command._componentMask, command._color); } } } diff --git a/Ryujinx.Graphics.GAL/Multithreading/Commands/ClearRenderTargetDepthStencilCommand.cs b/Ryujinx.Graphics.GAL/Multithreading/Commands/ClearRenderTargetDepthStencilCommand.cs index 3692cd37b..c5c76539e 100644 --- a/Ryujinx.Graphics.GAL/Multithreading/Commands/ClearRenderTargetDepthStencilCommand.cs +++ b/Ryujinx.Graphics.GAL/Multithreading/Commands/ClearRenderTargetDepthStencilCommand.cs @@ -3,13 +3,15 @@ struct ClearRenderTargetDepthStencilCommand : IGALCommand { public CommandType CommandType => CommandType.ClearRenderTargetDepthStencil; + private int _layer; private float _depthValue; private bool _depthMask; private int _stencilValue; private int _stencilMask; - public void Set(float depthValue, bool depthMask, int stencilValue, int stencilMask) + public void Set(int layer, float depthValue, bool depthMask, int stencilValue, int stencilMask) { + _layer = layer; _depthValue = depthValue; _depthMask = depthMask; _stencilValue = stencilValue; @@ -18,7 +20,7 @@ public static void Run(ref ClearRenderTargetDepthStencilCommand command, ThreadedRenderer threaded, IRenderer renderer) { - renderer.Pipeline.ClearRenderTargetDepthStencil(command._depthValue, command._depthMask, command._stencilValue, command._stencilMask); + renderer.Pipeline.ClearRenderTargetDepthStencil(command._layer, command._depthValue, command._depthMask, command._stencilValue, command._stencilMask); } } } diff --git a/Ryujinx.Graphics.GAL/Multithreading/ThreadedPipeline.cs b/Ryujinx.Graphics.GAL/Multithreading/ThreadedPipeline.cs index 010ee7e65..2a1f474a9 100644 --- a/Ryujinx.Graphics.GAL/Multithreading/ThreadedPipeline.cs +++ b/Ryujinx.Graphics.GAL/Multithreading/ThreadedPipeline.cs @@ -40,15 +40,15 @@ namespace Ryujinx.Graphics.GAL.Multithreading _renderer.QueueCommand(); } - public void ClearRenderTargetColor(int index, uint componentMask, ColorF color) + public void ClearRenderTargetColor(int index, int layer, uint componentMask, ColorF color) { - _renderer.New().Set(index, componentMask, color); + _renderer.New().Set(index, layer, componentMask, color); _renderer.QueueCommand(); } - public void ClearRenderTargetDepthStencil(float depthValue, bool depthMask, int stencilValue, int stencilMask) + public void ClearRenderTargetDepthStencil(int layer, float depthValue, bool depthMask, int stencilValue, int stencilMask) { - _renderer.New().Set(depthValue, depthMask, stencilValue, stencilMask); + _renderer.New().Set(layer, depthValue, depthMask, stencilValue, stencilMask); _renderer.QueueCommand(); } diff --git a/Ryujinx.Graphics.Gpu/Engine/Threed/DrawManager.cs b/Ryujinx.Graphics.Gpu/Engine/Threed/DrawManager.cs index ab3713141..f90baf99e 100644 --- a/Ryujinx.Graphics.Gpu/Engine/Threed/DrawManager.cs +++ b/Ryujinx.Graphics.Gpu/Engine/Threed/DrawManager.cs @@ -505,8 +505,9 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed } int index = (argument >> 6) & 0xf; + int layer = (argument >> 10) & 0x3ff; - engine.UpdateRenderTargetState(useControl: false, singleUse: index); + engine.UpdateRenderTargetState(useControl: false, layered: layer != 0, singleUse: index); // If there is a mismatch on the host clip region and the one explicitly defined by the guest // on the screen scissor state, then we need to force only one texture to be bound to avoid @@ -581,7 +582,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed ColorF color = new ColorF(clearColor.Red, clearColor.Green, clearColor.Blue, clearColor.Alpha); - _context.Renderer.Pipeline.ClearRenderTargetColor(index, componentMask, color); + _context.Renderer.Pipeline.ClearRenderTargetColor(index, layer, componentMask, color); } if (clearDepth || clearStencil) @@ -602,6 +603,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed } _context.Renderer.Pipeline.ClearRenderTargetDepthStencil( + layer, depthValue, clearDepth, stencilValue, diff --git a/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs b/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs index d0c3bc5ae..f648479b6 100644 --- a/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs +++ b/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs @@ -362,8 +362,9 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed /// Updates render targets (color and depth-stencil buffers) based on current render target state. /// /// Use draw buffers information from render target control register + /// Indicates if the texture is layered /// If this is not -1, it indicates that only the given indexed target will be used. - public void UpdateRenderTargetState(bool useControl, int singleUse = -1) + public void UpdateRenderTargetState(bool useControl, bool layered = false, int singleUse = -1) { var memoryManager = _channel.MemoryManager; var rtControl = _state.State.RtControl; @@ -399,7 +400,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed Image.Texture color = memoryManager.Physical.TextureCache.FindOrCreateTexture( memoryManager, colorState, - _vtgWritesRtLayer, + _vtgWritesRtLayer || layered, samplesInX, samplesInY, sizeHint); @@ -433,6 +434,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed memoryManager, dsState, dsSize, + _vtgWritesRtLayer || layered, samplesInX, samplesInY, sizeHint); diff --git a/Ryujinx.Graphics.Gpu/Engine/Threed/ThreedClass.cs b/Ryujinx.Graphics.Gpu/Engine/Threed/ThreedClass.cs index a2e8c64c1..764ba2394 100644 --- a/Ryujinx.Graphics.Gpu/Engine/Threed/ThreedClass.cs +++ b/Ryujinx.Graphics.Gpu/Engine/Threed/ThreedClass.cs @@ -131,10 +131,11 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed /// Updates render targets (color and depth-stencil buffers) based on current render target state. /// /// Use draw buffers information from render target control register + /// Indicates if the texture is layered /// If this is not -1, it indicates that only the given indexed target will be used. - public void UpdateRenderTargetState(bool useControl, int singleUse = -1) + public void UpdateRenderTargetState(bool useControl, bool layered = false, int singleUse = -1) { - _stateUpdater.UpdateRenderTargetState(useControl, singleUse); + _stateUpdater.UpdateRenderTargetState(useControl, layered, singleUse); } /// diff --git a/Ryujinx.Graphics.Gpu/Image/TextureCache.cs b/Ryujinx.Graphics.Gpu/Image/TextureCache.cs index 045410571..ba863a1e1 100644 --- a/Ryujinx.Graphics.Gpu/Image/TextureCache.cs +++ b/Ryujinx.Graphics.Gpu/Image/TextureCache.cs @@ -349,6 +349,7 @@ namespace Ryujinx.Graphics.Gpu.Image /// GPU memory manager where the texture is mapped /// Depth-stencil buffer texture to find or create /// Size of the depth-stencil texture + /// Indicates if the texture might be accessed with a non-zero layer index /// Number of samples in the X direction, for MSAA /// Number of samples in the Y direction, for MSAA /// A hint indicating the minimum used size for the texture @@ -357,6 +358,7 @@ namespace Ryujinx.Graphics.Gpu.Image MemoryManager memoryManager, RtDepthStencilState dsState, Size3D size, + bool layered, int samplesInX, int samplesInY, Size sizeHint) @@ -364,9 +366,24 @@ namespace Ryujinx.Graphics.Gpu.Image int gobBlocksInY = dsState.MemoryLayout.UnpackGobBlocksInY(); int gobBlocksInZ = dsState.MemoryLayout.UnpackGobBlocksInZ(); - Target target = (samplesInX | samplesInY) != 1 - ? Target.Texture2DMultisample - : Target.Texture2D; + Target target; + + if (dsState.MemoryLayout.UnpackIsTarget3D()) + { + target = Target.Texture3D; + } + else if ((samplesInX | samplesInY) != 1) + { + target = size.Depth > 1 && layered + ? Target.Texture2DMultisampleArray + : Target.Texture2DMultisample; + } + else + { + target = size.Depth > 1 && layered + ? Target.Texture2DArray + : Target.Texture2D; + } FormatInfo formatInfo = dsState.Format.Convert(); diff --git a/Ryujinx.Graphics.OpenGL/Framebuffer.cs b/Ryujinx.Graphics.OpenGL/Framebuffer.cs index da928b4c8..dafa76723 100644 --- a/Ryujinx.Graphics.OpenGL/Framebuffer.cs +++ b/Ryujinx.Graphics.OpenGL/Framebuffer.cs @@ -9,10 +9,13 @@ namespace Ryujinx.Graphics.OpenGL class Framebuffer : IDisposable { public int Handle { get; private set; } + private int _clearFbHandle; + private bool _clearFbInitialized; private FramebufferAttachment _lastDsAttachment; private readonly TextureView[] _colors; + private TextureView _depthStencil; private int _colorsCount; private bool _dualSourceBlend; @@ -20,6 +23,7 @@ namespace Ryujinx.Graphics.OpenGL public Framebuffer() { Handle = GL.GenFramebuffer(); + _clearFbHandle = GL.GenFramebuffer(); _colors = new TextureView[8]; } @@ -55,20 +59,7 @@ namespace Ryujinx.Graphics.OpenGL if (depthStencil != null) { - FramebufferAttachment attachment; - - if (IsPackedDepthStencilFormat(depthStencil.Format)) - { - attachment = FramebufferAttachment.DepthStencilAttachment; - } - else if (IsDepthOnlyFormat(depthStencil.Format)) - { - attachment = FramebufferAttachment.DepthAttachment; - } - else - { - attachment = FramebufferAttachment.StencilAttachment; - } + FramebufferAttachment attachment = GetAttachment(depthStencil.Format); GL.FramebufferTexture( FramebufferTarget.Framebuffer, @@ -82,6 +73,8 @@ namespace Ryujinx.Graphics.OpenGL { _lastDsAttachment = 0; } + + _depthStencil = depthStencil; } public void SetDualSourceBlend(bool enable) @@ -124,6 +117,22 @@ namespace Ryujinx.Graphics.OpenGL GL.DrawBuffers(colorsCount, drawBuffers); } + private static FramebufferAttachment GetAttachment(Format format) + { + if (IsPackedDepthStencilFormat(format)) + { + return FramebufferAttachment.DepthStencilAttachment; + } + else if (IsDepthOnlyFormat(format)) + { + return FramebufferAttachment.DepthAttachment; + } + else + { + return FramebufferAttachment.StencilAttachment; + } + } + private static bool IsPackedDepthStencilFormat(Format format) { return format == Format.D24UnormS8Uint || @@ -136,6 +145,78 @@ namespace Ryujinx.Graphics.OpenGL return format == Format.D16Unorm || format == Format.D32Float; } + public void AttachColorLayerForClear(int index, int layer) + { + TextureView color = _colors[index]; + + if (!IsLayered(color)) + { + return; + } + + BindClearFb(); + GL.FramebufferTextureLayer(FramebufferTarget.Framebuffer, FramebufferAttachment.ColorAttachment0 + index, color.Handle, 0, layer); + } + + public void DetachColorLayerForClear(int index) + { + TextureView color = _colors[index]; + + if (!IsLayered(color)) + { + return; + } + + GL.FramebufferTexture(FramebufferTarget.Framebuffer, FramebufferAttachment.ColorAttachment0 + index, 0, 0); + Bind(); + } + + public void AttachDepthStencilLayerForClear(int layer) + { + TextureView depthStencil = _depthStencil; + + if (!IsLayered(depthStencil)) + { + return; + } + + BindClearFb(); + GL.FramebufferTextureLayer(FramebufferTarget.Framebuffer, GetAttachment(depthStencil.Format), depthStencil.Handle, 0, layer); + } + + public void DetachDepthStencilLayerForClear() + { + TextureView depthStencil = _depthStencil; + + if (!IsLayered(depthStencil)) + { + return; + } + + GL.FramebufferTexture(FramebufferTarget.Framebuffer, GetAttachment(depthStencil.Format), 0, 0); + Bind(); + } + + private void BindClearFb() + { + GL.BindFramebuffer(FramebufferTarget.Framebuffer, _clearFbHandle); + + if (!_clearFbInitialized) + { + SetDrawBuffersImpl(Constants.MaxRenderTargets); + _clearFbInitialized = true; + } + } + + private static bool IsLayered(TextureView view) + { + return view != null && + view.Target != Target.Texture1D && + view.Target != Target.Texture2D && + view.Target != Target.Texture2DMultisample && + view.Target != Target.TextureBuffer; + } + public void Dispose() { if (Handle != 0) @@ -144,6 +225,13 @@ namespace Ryujinx.Graphics.OpenGL Handle = 0; } + + if (_clearFbHandle != 0) + { + GL.DeleteFramebuffer(_clearFbHandle); + + _clearFbHandle = 0; + } } } } diff --git a/Ryujinx.Graphics.OpenGL/Pipeline.cs b/Ryujinx.Graphics.OpenGL/Pipeline.cs index 637e4606e..62d4dee90 100644 --- a/Ryujinx.Graphics.OpenGL/Pipeline.cs +++ b/Ryujinx.Graphics.OpenGL/Pipeline.cs @@ -110,7 +110,7 @@ namespace Ryujinx.Graphics.OpenGL Buffer.Clear(destination, offset, size, value); } - public void ClearRenderTargetColor(int index, uint componentMask, ColorF color) + public void ClearRenderTargetColor(int index, int layer, uint componentMask, ColorF color) { GL.ColorMask( index, @@ -119,14 +119,18 @@ namespace Ryujinx.Graphics.OpenGL (componentMask & 4) != 0, (componentMask & 8) != 0); + _framebuffer.AttachColorLayerForClear(index, layer); + float[] colors = new float[] { color.Red, color.Green, color.Blue, color.Alpha }; GL.ClearBuffer(OpenTK.Graphics.OpenGL.ClearBuffer.Color, index, colors); + _framebuffer.DetachColorLayerForClear(index); + RestoreComponentMask(index); } - public void ClearRenderTargetDepthStencil(float depthValue, bool depthMask, int stencilValue, int stencilMask) + public void ClearRenderTargetDepthStencil(int layer, float depthValue, bool depthMask, int stencilValue, int stencilMask) { bool stencilMaskChanged = stencilMask != 0 && @@ -144,6 +148,8 @@ namespace Ryujinx.Graphics.OpenGL GL.DepthMask(depthMask); } + _framebuffer.AttachDepthStencilLayerForClear(layer); + if (depthMask && stencilMask != 0) { GL.ClearBuffer(ClearBufferCombined.DepthStencil, 0, depthValue, stencilValue); @@ -157,6 +163,8 @@ namespace Ryujinx.Graphics.OpenGL GL.ClearBuffer(OpenTK.Graphics.OpenGL.ClearBuffer.Stencil, 0, ref stencilValue); } + _framebuffer.DetachDepthStencilLayerForClear(); + if (stencilMaskChanged) { GL.StencilMaskSeparate(StencilFace.Front, _stencilFrontMask); From d987cacfb720f2f4bc18958fc26ac0893903c090 Mon Sep 17 00:00:00 2001 From: gdkchan Date: Fri, 17 Jun 2022 12:01:52 -0300 Subject: [PATCH 005/179] Fix VIC out of bounds copy (#3386) * Fix VIC out of bounds copy * Update the assert --- Ryujinx.Graphics.Vic/Blender.cs | 23 ++++++++++++++--------- Ryujinx.Graphics.Vic/Rectangle.cs | 18 ++++++++++++++++++ Ryujinx.Graphics.Vic/VicDevice.cs | 15 ++++++++++++++- 3 files changed, 46 insertions(+), 10 deletions(-) create mode 100644 Ryujinx.Graphics.Vic/Rectangle.cs diff --git a/Ryujinx.Graphics.Vic/Blender.cs b/Ryujinx.Graphics.Vic/Blender.cs index 92b641d63..b6ca35ae8 100644 --- a/Ryujinx.Graphics.Vic/Blender.cs +++ b/Ryujinx.Graphics.Vic/Blender.cs @@ -10,17 +10,22 @@ namespace Ryujinx.Graphics.Vic { static class Blender { - public static void BlendOne(Surface dst, Surface src, ref SlotStruct slot) + public static void BlendOne(Surface dst, Surface src, ref SlotStruct slot, Rectangle targetRect) { - if (Sse41.IsSupported && (dst.Width & 3) == 0) + int x1 = targetRect.X; + int y1 = targetRect.Y; + int x2 = Math.Min(src.Width, x1 + targetRect.Width); + int y2 = Math.Min(src.Height, y1 + targetRect.Height); + + if (Sse41.IsSupported && ((x1 | x2) & 3) == 0) { - BlendOneSse41(dst, src, ref slot); + BlendOneSse41(dst, src, ref slot, x1, y1, x2, y2); return; } - for (int y = 0; y < dst.Height; y++) + for (int y = y1; y < y2; y++) { - for (int x = 0; x < dst.Width; x++) + for (int x = x1; x < x2; x++) { int inR = src.GetR(x, y); int inG = src.GetG(x, y); @@ -40,9 +45,9 @@ namespace Ryujinx.Graphics.Vic } } - private unsafe static void BlendOneSse41(Surface dst, Surface src, ref SlotStruct slot) + private unsafe static void BlendOneSse41(Surface dst, Surface src, ref SlotStruct slot, int x1, int y1, int x2, int y2) { - Debug.Assert((dst.Width & 3) == 0); + Debug.Assert(((x1 | x2) & 3) == 0); ref MatrixStruct mtx = ref slot.ColorMatrixStruct; @@ -62,9 +67,9 @@ namespace Ryujinx.Graphics.Vic Pixel* ip = srcPtr; Pixel* op = dstPtr; - for (int y = 0; y < dst.Height; y++, ip += src.Width, op += dst.Width) + for (int y = y1; y < y2; y++, ip += src.Width, op += dst.Width) { - for (int x = 0; x < dst.Width; x += 4) + for (int x = x1; x < x2; x += 4) { Vector128 pixel1 = Sse41.ConvertToVector128Int32((ushort*)(ip + (uint)x)); Vector128 pixel2 = Sse41.ConvertToVector128Int32((ushort*)(ip + (uint)x + 1)); diff --git a/Ryujinx.Graphics.Vic/Rectangle.cs b/Ryujinx.Graphics.Vic/Rectangle.cs new file mode 100644 index 000000000..2a13b95c7 --- /dev/null +++ b/Ryujinx.Graphics.Vic/Rectangle.cs @@ -0,0 +1,18 @@ +namespace Ryujinx.Graphics.Vic +{ + struct Rectangle + { + public readonly int X; + public readonly int Y; + public readonly int Width; + public readonly int Height; + + public Rectangle(int x, int y, int width, int height) + { + X = x; + Y = y; + Width = width; + Height = height; + } + } +} \ No newline at end of file diff --git a/Ryujinx.Graphics.Vic/VicDevice.cs b/Ryujinx.Graphics.Vic/VicDevice.cs index 537b8ba47..8b66727df 100644 --- a/Ryujinx.Graphics.Vic/VicDevice.cs +++ b/Ryujinx.Graphics.Vic/VicDevice.cs @@ -2,6 +2,7 @@ using Ryujinx.Graphics.Gpu.Memory; using Ryujinx.Graphics.Vic.Image; using Ryujinx.Graphics.Vic.Types; +using System; using System.Collections.Generic; namespace Ryujinx.Graphics.Vic @@ -47,7 +48,19 @@ namespace Ryujinx.Graphics.Vic using Surface src = SurfaceReader.Read(_rm, ref slot.SlotConfig, ref slot.SlotSurfaceConfig, ref offsets); - Blender.BlendOne(output, src, ref slot); + int x1 = config.OutputConfig.TargetRectLeft; + int y1 = config.OutputConfig.TargetRectTop; + int x2 = config.OutputConfig.TargetRectRight + 1; + int y2 = config.OutputConfig.TargetRectBottom + 1; + + int targetX = Math.Min(x1, x2); + int targetY = Math.Min(y1, y2); + int targetW = Math.Min(output.Width - targetX, Math.Abs(x2 - x1)); + int targetH = Math.Min(output.Height - targetY, Math.Abs(y2 - y1)); + + Rectangle targetRect = new Rectangle(targetX, targetY, targetW, targetH); + + Blender.BlendOne(output, src, ref slot, targetRect); } SurfaceWriter.Write(_rm, output, ref config.OutputSurfaceConfig, ref _state.State.SetOutputSurface); From 99ffc061d30c92f224c6b839290e181b6179893d Mon Sep 17 00:00:00 2001 From: riperiperi Date: Fri, 17 Jun 2022 17:09:14 +0100 Subject: [PATCH 006/179] Optimize Texture Binding and Shader Specialization Checks (#3399) * Changes 1 * Changes 2 * Better ModifiedSequence handling This should handle PreciseEvents properly, and simplifies a few things. * Minor changes, remove debug log * Handle stage.Info being null Hopefully fixes Catherine crash * Fix shader specialization fast texture lookup * Fix some things. * Address Feedback Part 1 * Make method static. --- .../Engine/Compute/ComputeClass.cs | 19 +- .../Engine/Threed/StateUpdater.cs | 24 +- Ryujinx.Graphics.Gpu/Image/Pool.cs | 42 +++ Ryujinx.Graphics.Gpu/Image/Sampler.cs | 7 + Ryujinx.Graphics.Gpu/Image/SamplerPool.cs | 35 +++ Ryujinx.Graphics.Gpu/Image/Texture.cs | 8 + .../Image/TextureBindingsManager.cs | 292 +++++++++++++----- Ryujinx.Graphics.Gpu/Image/TextureManager.cs | 56 +++- Ryujinx.Graphics.Gpu/Image/TexturePool.cs | 144 ++++++--- Ryujinx.Graphics.Gpu/Memory/BufferManager.cs | 19 ++ .../Shader/CachedShaderProgram.cs | 2 + Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs | 4 +- .../Shader/ShaderSpecializationList.cs | 4 +- .../Shader/ShaderSpecializationState.cs | 231 +++++++++++--- Ryujinx.Graphics.Shader/TextureHandle.cs | 59 ++++ 15 files changed, 766 insertions(+), 180 deletions(-) diff --git a/Ryujinx.Graphics.Gpu/Engine/Compute/ComputeClass.cs b/Ryujinx.Graphics.Gpu/Engine/Compute/ComputeClass.cs index 87c14da8f..a1a9b481f 100644 --- a/Ryujinx.Graphics.Gpu/Engine/Compute/ComputeClass.cs +++ b/Ryujinx.Graphics.Gpu/Engine/Compute/ComputeClass.cs @@ -188,6 +188,9 @@ namespace Ryujinx.Graphics.Gpu.Engine.Compute _channel.BufferManager.SetComputeStorageBufferBindings(info.SBuffers); _channel.BufferManager.SetComputeUniformBufferBindings(info.CBuffers); + int maxTextureBinding = -1; + int maxImageBinding = -1; + TextureBindingInfo[] textureBindings = _channel.TextureManager.RentComputeTextureBindings(info.Textures.Count); for (int index = 0; index < info.Textures.Count; index++) @@ -202,6 +205,11 @@ namespace Ryujinx.Graphics.Gpu.Engine.Compute descriptor.CbufSlot, descriptor.HandleIndex, descriptor.Flags); + + if (descriptor.Binding > maxTextureBinding) + { + maxTextureBinding = descriptor.Binding; + } } TextureBindingInfo[] imageBindings = _channel.TextureManager.RentComputeImageBindings(info.Images.Count); @@ -220,9 +228,18 @@ namespace Ryujinx.Graphics.Gpu.Engine.Compute descriptor.CbufSlot, descriptor.HandleIndex, descriptor.Flags); + + if (descriptor.Binding > maxImageBinding) + { + maxImageBinding = descriptor.Binding; + } } - _channel.TextureManager.CommitComputeBindings(); + _channel.TextureManager.SetComputeMaxBindings(maxTextureBinding, maxImageBinding); + + // Should never return false for mismatching spec state, since the shader was fetched above. + _channel.TextureManager.CommitComputeBindings(cs.SpecializationState); + _channel.BufferManager.CommitComputeBindings(); _context.Renderer.Pipeline.DispatchCompute(qmd.CtaRasterWidth, qmd.CtaRasterHeight, qmd.CtaRasterDepth); diff --git a/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs b/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs index f648479b6..c64c760ae 100644 --- a/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs +++ b/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs @@ -201,7 +201,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed // of the shader for the new state. if (_shaderSpecState != null) { - if (!_shaderSpecState.MatchesGraphics(_channel, GetPoolState(), GetGraphicsState())) + if (!_shaderSpecState.MatchesGraphics(_channel, GetPoolState(), GetGraphicsState(), false)) { ForceShaderUpdate(); } @@ -275,7 +275,12 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed { UpdateStorageBuffers(); - _channel.TextureManager.CommitGraphicsBindings(); + if (!_channel.TextureManager.CommitGraphicsBindings(_shaderSpecState)) + { + // Shader must be reloaded. + UpdateShaderState(); + } + _channel.BufferManager.CommitGraphicsBindings(); } @@ -1150,6 +1155,9 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed return; } + int maxTextureBinding = -1; + int maxImageBinding = -1; + Span textureBindings = _channel.TextureManager.RentGraphicsTextureBindings(stage, info.Textures.Count); if (info.UsesRtLayer) @@ -1169,6 +1177,11 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed descriptor.CbufSlot, descriptor.HandleIndex, descriptor.Flags); + + if (descriptor.Binding > maxTextureBinding) + { + maxTextureBinding = descriptor.Binding; + } } TextureBindingInfo[] imageBindings = _channel.TextureManager.RentGraphicsImageBindings(stage, info.Images.Count); @@ -1187,8 +1200,15 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed descriptor.CbufSlot, descriptor.HandleIndex, descriptor.Flags); + + if (descriptor.Binding > maxImageBinding) + { + maxImageBinding = descriptor.Binding; + } } + _channel.TextureManager.SetGraphicsMaxBindings(maxTextureBinding, maxImageBinding); + _channel.BufferManager.SetGraphicsStorageBufferBindings(stage, info.SBuffers); _channel.BufferManager.SetGraphicsUniformBufferBindings(stage, info.CBuffers); } diff --git a/Ryujinx.Graphics.Gpu/Image/Pool.cs b/Ryujinx.Graphics.Gpu/Image/Pool.cs index f54ce1d70..8e2105134 100644 --- a/Ryujinx.Graphics.Gpu/Image/Pool.cs +++ b/Ryujinx.Graphics.Gpu/Image/Pool.cs @@ -1,6 +1,7 @@ using Ryujinx.Cpu.Tracking; using Ryujinx.Graphics.Gpu.Memory; using System; +using System.Runtime.InteropServices; namespace Ryujinx.Graphics.Gpu.Image { @@ -16,6 +17,7 @@ namespace Ryujinx.Graphics.Gpu.Image protected GpuContext Context; protected PhysicalMemory PhysicalMemory; protected int SequenceNumber; + protected int ModifiedSequenceNumber; protected T1[] Items; protected T2[] DescriptorCache; @@ -41,6 +43,9 @@ namespace Ryujinx.Graphics.Gpu.Image private readonly CpuMultiRegionHandle _memoryTracking; private readonly Action _modifiedDelegate; + private int _modifiedSequenceOffset; + private bool _modified; + /// /// Creates a new instance of the GPU resource pool. /// @@ -79,6 +84,16 @@ namespace Ryujinx.Graphics.Gpu.Image return PhysicalMemory.Read(Address + (ulong)id * DescriptorSize); } + /// + /// Gets a reference to the descriptor for a given ID. + /// + /// ID of the descriptor. This is effectively a zero-based index + /// A reference to the descriptor + public ref readonly T2 GetDescriptorRef(int id) + { + return ref MemoryMarshal.Cast(PhysicalMemory.GetSpan(Address + (ulong)id * DescriptorSize, DescriptorSize))[0]; + } + /// /// Gets the GPU resource with the given ID. /// @@ -93,7 +108,13 @@ namespace Ryujinx.Graphics.Gpu.Image /// public void SynchronizeMemory() { + _modified = false; _memoryTracking.QueryModified(_modifiedDelegate); + + if (_modified) + { + UpdateModifiedSequence(); + } } /// @@ -103,6 +124,8 @@ namespace Ryujinx.Graphics.Gpu.Image /// Size of the modified region private void RegionModified(ulong mAddress, ulong mSize) { + _modified = true; + if (mAddress < Address) { mAddress = Address; @@ -118,6 +141,15 @@ namespace Ryujinx.Graphics.Gpu.Image InvalidateRangeImpl(mAddress, mSize); } + /// + /// Updates the modified sequence number using the current sequence number and offset, + /// indicating that it has been modified. + /// + protected void UpdateModifiedSequence() + { + ModifiedSequenceNumber = SequenceNumber + _modifiedSequenceOffset; + } + /// /// An action to be performed when a precise memory access occurs to this resource. /// Makes sure that the dirty flags are checked. @@ -129,6 +161,16 @@ namespace Ryujinx.Graphics.Gpu.Image { if (write && Context.SequenceNumber == SequenceNumber) { + if (ModifiedSequenceNumber == SequenceNumber + _modifiedSequenceOffset) + { + // The modified sequence number is offset when PreciseActions occur so that + // users checking it will see an increment and know the pool has changed since + // their last look, even though the main SequenceNumber has not been changed. + + _modifiedSequenceOffset++; + } + + // Force the pool to be checked again the next time it is used. SequenceNumber--; } diff --git a/Ryujinx.Graphics.Gpu/Image/Sampler.cs b/Ryujinx.Graphics.Gpu/Image/Sampler.cs index f8923d349..b70ac9eb9 100644 --- a/Ryujinx.Graphics.Gpu/Image/Sampler.cs +++ b/Ryujinx.Graphics.Gpu/Image/Sampler.cs @@ -8,6 +8,11 @@ namespace Ryujinx.Graphics.Gpu.Image /// class Sampler : IDisposable { + /// + /// True if the sampler is disposed, false otherwise. + /// + public bool IsDisposed { get; private set; } + /// /// Host sampler object. /// @@ -101,6 +106,8 @@ namespace Ryujinx.Graphics.Gpu.Image /// public void Dispose() { + IsDisposed = true; + _hostSampler.Dispose(); _anisoSampler?.Dispose(); } diff --git a/Ryujinx.Graphics.Gpu/Image/SamplerPool.cs b/Ryujinx.Graphics.Gpu/Image/SamplerPool.cs index e205ec487..e95800ada 100644 --- a/Ryujinx.Graphics.Gpu/Image/SamplerPool.cs +++ b/Ryujinx.Graphics.Gpu/Image/SamplerPool.cs @@ -48,6 +48,8 @@ namespace Ryujinx.Graphics.Gpu.Image Items[i] = null; } } + + UpdateModifiedSequence(); } SequenceNumber = Context.SequenceNumber; @@ -71,6 +73,39 @@ namespace Ryujinx.Graphics.Gpu.Image return sampler; } + /// + /// Checks if the pool was modified, and returns the last sequence number where a modification was detected. + /// + /// A number that increments each time a modification is detected + public int CheckModified() + { + if (SequenceNumber != Context.SequenceNumber) + { + SequenceNumber = Context.SequenceNumber; + + if (_forcedAnisotropy != GraphicsConfig.MaxAnisotropy) + { + _forcedAnisotropy = GraphicsConfig.MaxAnisotropy; + + for (int i = 0; i < Items.Length; i++) + { + if (Items[i] != null) + { + Items[i].Dispose(); + + Items[i] = null; + } + } + + UpdateModifiedSequence(); + } + + SynchronizeMemory(); + } + + return ModifiedSequenceNumber; + } + /// /// Implementation of the sampler pool range invalidation. /// diff --git a/Ryujinx.Graphics.Gpu/Image/Texture.cs b/Ryujinx.Graphics.Gpu/Image/Texture.cs index aadb4260b..cb10f456b 100644 --- a/Ryujinx.Graphics.Gpu/Image/Texture.cs +++ b/Ryujinx.Graphics.Gpu/Image/Texture.cs @@ -100,6 +100,11 @@ namespace Ryujinx.Graphics.Gpu.Image /// public bool AlwaysFlushOnOverlap { get; private set; } + /// + /// Increments when the host texture is swapped, or when the texture is removed from all pools. + /// + public int InvalidatedSequence { get; private set; } + private int _depth; private int _layers; public int FirstLayer { get; private set; } @@ -1407,6 +1412,7 @@ namespace Ryujinx.Graphics.Gpu.Image DisposeTextures(); HostTexture = hostTexture; + InvalidatedSequence++; } /// @@ -1535,6 +1541,8 @@ namespace Ryujinx.Graphics.Gpu.Image _poolOwners.Clear(); } + + InvalidatedSequence++; } /// diff --git a/Ryujinx.Graphics.Gpu/Image/TextureBindingsManager.cs b/Ryujinx.Graphics.Gpu/Image/TextureBindingsManager.cs index 7ac4e12e2..f15f88850 100644 --- a/Ryujinx.Graphics.Gpu/Image/TextureBindingsManager.cs +++ b/Ryujinx.Graphics.Gpu/Image/TextureBindingsManager.cs @@ -1,8 +1,12 @@ using Ryujinx.Common.Logging; using Ryujinx.Graphics.GAL; using Ryujinx.Graphics.Gpu.Engine.Types; +using Ryujinx.Graphics.Gpu.Memory; +using Ryujinx.Graphics.Gpu.Shader; using Ryujinx.Graphics.Shader; using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; namespace Ryujinx.Graphics.Gpu.Image { @@ -35,17 +39,24 @@ namespace Ryujinx.Graphics.Gpu.Image { public ITexture Texture; public ISampler Sampler; + + public int TextureHandle; + public int SamplerHandle; + public int InvalidatedSequence; + public Texture CachedTexture; + public Sampler CachedSampler; } - private readonly TextureStatePerStage[][] _textureState; - private readonly TextureStatePerStage[][] _imageState; + private TextureStatePerStage[] _textureState; + private TextureStatePerStage[] _imageState; private int[] _textureBindingsCount; private int[] _imageBindingsCount; - private int _textureBufferIndex; + private int _texturePoolSequence; + private int _samplerPoolSequence; - private bool _rebind; + private int _textureBufferIndex; private readonly float[] _scales; private bool _scaleChanged; @@ -72,8 +83,8 @@ namespace Ryujinx.Graphics.Gpu.Image _textureBindings = new TextureBindingInfo[stages][]; _imageBindings = new TextureBindingInfo[stages][]; - _textureState = new TextureStatePerStage[stages][]; - _imageState = new TextureStatePerStage[stages][]; + _textureState = new TextureStatePerStage[InitialTextureStateSize]; + _imageState = new TextureStatePerStage[InitialImageStateSize]; _textureBindingsCount = new int[stages]; _imageBindingsCount = new int[stages]; @@ -82,9 +93,6 @@ namespace Ryujinx.Graphics.Gpu.Image { _textureBindings[stage] = new TextureBindingInfo[InitialTextureStateSize]; _imageBindings[stage] = new TextureBindingInfo[InitialImageStateSize]; - - _textureState[stage] = new TextureStatePerStage[InitialTextureStateSize]; - _imageState[stage] = new TextureStatePerStage[InitialImageStateSize]; } } @@ -99,15 +107,6 @@ namespace Ryujinx.Graphics.Gpu.Image if (count > _textureBindings[stage].Length) { Array.Resize(ref _textureBindings[stage], count); - Array.Resize(ref _textureState[stage], count); - } - - int toClear = Math.Max(_textureBindingsCount[stage], count); - TextureStatePerStage[] state = _textureState[stage]; - - for (int i = 0; i < toClear; i++) - { - state[i] = new TextureStatePerStage(); } _textureBindingsCount[stage] = count; @@ -126,15 +125,6 @@ namespace Ryujinx.Graphics.Gpu.Image if (count > _imageBindings[stage].Length) { Array.Resize(ref _imageBindings[stage], count); - Array.Resize(ref _imageState[stage], count); - } - - int toClear = Math.Max(_imageBindingsCount[stage], count); - TextureStatePerStage[] state = _imageState[stage]; - - for (int i = 0; i < toClear; i++) - { - state[i] = new TextureStatePerStage(); } _imageBindingsCount[stage] = count; @@ -142,6 +132,24 @@ namespace Ryujinx.Graphics.Gpu.Image return _imageBindings[stage]; } + /// + /// Sets the max binding indexes for textures and images. + /// + /// The maximum texture binding + /// The maximum image binding + public void SetMaxBindings(int maxTextureBinding, int maxImageBinding) + { + if (maxTextureBinding >= _textureState.Length) + { + Array.Resize(ref _textureState, maxTextureBinding + 1); + } + + if (maxImageBinding >= _imageState.Length) + { + Array.Resize(ref _imageState, maxImageBinding + 1); + } + } + /// /// Sets the textures constant buffer index. /// The constant buffer specified holds the texture handles. @@ -323,7 +331,9 @@ namespace Ryujinx.Graphics.Gpu.Image /// Ensures that the bindings are visible to the host GPU. /// Note: this actually performs the binding using the host graphics API. /// - public void CommitBindings() + /// Specialization state for the bound shader + /// True if all bound textures match the current shader specialiation state, false otherwise + public bool CommitBindings(ShaderSpecializationState specState) { ulong texturePoolAddress = _texturePoolAddress; @@ -331,10 +341,38 @@ namespace Ryujinx.Graphics.Gpu.Image ? _texturePoolCache.FindOrCreate(_channel, texturePoolAddress, _texturePoolMaximumId) : null; + // Check if the texture pool has been modified since bindings were last committed. + // If it wasn't, then it's possible to avoid looking up textures again when the handle remains the same. + bool poolModified = false; + + if (texturePool != null) + { + int texturePoolSequence = texturePool.CheckModified(); + + if (_texturePoolSequence != texturePoolSequence) + { + poolModified = true; + _texturePoolSequence = texturePoolSequence; + } + } + + if (_samplerPool != null) + { + int samplerPoolSequence = _samplerPool.CheckModified(); + + if (_samplerPoolSequence != samplerPoolSequence) + { + poolModified = true; + _samplerPoolSequence = samplerPoolSequence; + } + } + + bool specStateMatches = true; + if (_isCompute) { - CommitTextureBindings(texturePool, ShaderStage.Compute, 0); - CommitImageBindings (texturePool, ShaderStage.Compute, 0); + specStateMatches &= CommitTextureBindings(texturePool, ShaderStage.Compute, 0, poolModified, specState); + specStateMatches &= CommitImageBindings(texturePool, ShaderStage.Compute, 0, poolModified, specState); } else { @@ -342,14 +380,57 @@ namespace Ryujinx.Graphics.Gpu.Image { int stageIndex = (int)stage - 1; - CommitTextureBindings(texturePool, stage, stageIndex); - CommitImageBindings (texturePool, stage, stageIndex); + specStateMatches &= CommitTextureBindings(texturePool, stage, stageIndex, poolModified, specState); + specStateMatches &= CommitImageBindings(texturePool, stage, stageIndex, poolModified, specState); } } CommitRenderScale(); - _rebind = false; + return specStateMatches; + } + + /// + /// Fetch the constant buffers used for a texture to cache. + /// + /// Stage index of the constant buffer + /// The currently cached texture buffer index + /// The currently cached sampler buffer index + /// The currently cached texture buffer data + /// The currently cached sampler buffer data + /// The new texture buffer index + /// The new sampler buffer index + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private void UpdateCachedBuffer( + int stageIndex, + ref int cachedTextureBufferIndex, + ref int cachedSamplerBufferIndex, + ref ReadOnlySpan cachedTextureBuffer, + ref ReadOnlySpan cachedSamplerBuffer, + int textureBufferIndex, + int samplerBufferIndex) + { + if (textureBufferIndex != cachedTextureBufferIndex) + { + ref BufferBounds bounds = ref _channel.BufferManager.GetUniformBufferBounds(_isCompute, stageIndex, textureBufferIndex); + + cachedTextureBuffer = MemoryMarshal.Cast(_channel.MemoryManager.Physical.GetSpan(bounds.Address, (int)bounds.Size)); + cachedTextureBufferIndex = textureBufferIndex; + + if (samplerBufferIndex == textureBufferIndex) + { + cachedSamplerBuffer = cachedTextureBuffer; + cachedSamplerBufferIndex = samplerBufferIndex; + } + } + + if (samplerBufferIndex != cachedSamplerBufferIndex) + { + ref BufferBounds bounds = ref _channel.BufferManager.GetUniformBufferBounds(_isCompute, stageIndex, samplerBufferIndex); + + cachedSamplerBuffer = MemoryMarshal.Cast(_channel.MemoryManager.Physical.GetSpan(bounds.Address, (int)bounds.Size)); + cachedSamplerBufferIndex = samplerBufferIndex; + } } /// @@ -358,13 +439,16 @@ namespace Ryujinx.Graphics.Gpu.Image /// /// The current texture pool /// The shader stage using the textures to be bound - /// The stage number of the specified shader stage - private void CommitTextureBindings(TexturePool pool, ShaderStage stage, int stageIndex) + /// The stage number of the specified shader stageTrue if either the texture or sampler pool was modified, false otherwise + /// Specialization state for the bound shader + /// True if all bound textures match the current shader specialiation state, false otherwise + private bool CommitTextureBindings(TexturePool pool, ShaderStage stage, int stageIndex, bool poolModified, ShaderSpecializationState specState) { int textureCount = _textureBindingsCount[stageIndex]; if (textureCount == 0) { - return; + return true; } var samplerPool = _samplerPool; @@ -372,17 +456,26 @@ namespace Ryujinx.Graphics.Gpu.Image if (pool == null) { Logger.Error?.Print(LogClass.Gpu, $"Shader stage \"{stage}\" uses textures, but texture pool was not set."); - return; + return true; } + bool specStateMatches = true; + + int cachedTextureBufferIndex = -1; + int cachedSamplerBufferIndex = -1; + ReadOnlySpan cachedTextureBuffer = Span.Empty; + ReadOnlySpan cachedSamplerBuffer = Span.Empty; + for (int index = 0; index < textureCount; index++) { TextureBindingInfo bindingInfo = _textureBindings[stageIndex][index]; (int textureBufferIndex, int samplerBufferIndex) = TextureHandle.UnpackSlots(bindingInfo.CbufSlot, _textureBufferIndex); - int packedId = ReadPackedId(stageIndex, bindingInfo.Handle, textureBufferIndex, samplerBufferIndex); - int textureId = UnpackTextureId(packedId); + UpdateCachedBuffer(stageIndex, ref cachedTextureBufferIndex, ref cachedSamplerBufferIndex, ref cachedTextureBuffer, ref cachedSamplerBuffer, textureBufferIndex, samplerBufferIndex); + + int packedId = TextureHandle.ReadPackedId(bindingInfo.Handle, cachedTextureBuffer, cachedSamplerBuffer); + int textureId = TextureHandle.UnpackTextureId(packedId); int samplerId; if (_samplerIndex == SamplerIndex.ViaHeaderIndex) @@ -391,10 +484,30 @@ namespace Ryujinx.Graphics.Gpu.Image } else { - samplerId = UnpackSamplerId(packedId); + samplerId = TextureHandle.UnpackSamplerId(packedId); } - Texture texture = pool.Get(textureId); + ref TextureStatePerStage state = ref _textureState[bindingInfo.Binding]; + + if (!poolModified && + state.TextureHandle == textureId && + state.SamplerHandle == samplerId && + state.CachedTexture != null && + state.CachedTexture.InvalidatedSequence == state.InvalidatedSequence && + state.CachedSampler?.IsDisposed != true) + { + // The texture is already bound. + state.CachedTexture.SynchronizeMemory(); + + continue; + } + + state.TextureHandle = textureId; + state.SamplerHandle = samplerId; + + ref readonly TextureDescriptor descriptor = ref pool.GetForBinding(textureId, out Texture texture); + + specStateMatches &= specState.MatchesTexture(stage, index, descriptor); ITexture hostTexture = texture?.GetTargetTexture(bindingInfo.Target); @@ -407,30 +520,36 @@ namespace Ryujinx.Graphics.Gpu.Image } else { - if (_textureState[stageIndex][index].Texture != hostTexture || _rebind) + if (state.Texture != hostTexture) { if (UpdateScale(texture, bindingInfo, index, stage)) { hostTexture = texture?.GetTargetTexture(bindingInfo.Target); } - _textureState[stageIndex][index].Texture = hostTexture; + state.Texture = hostTexture; _context.Renderer.Pipeline.SetTexture(bindingInfo.Binding, hostTexture); } Sampler sampler = samplerPool?.Get(samplerId); + state.CachedSampler = sampler; ISampler hostSampler = sampler?.GetHostSampler(texture); - if (_textureState[stageIndex][index].Sampler != hostSampler || _rebind) + if (state.Sampler != hostSampler) { - _textureState[stageIndex][index].Sampler = hostSampler; + state.Sampler = hostSampler; _context.Renderer.Pipeline.SetSampler(bindingInfo.Binding, hostSampler); } + + state.CachedTexture = texture; + state.InvalidatedSequence = texture?.InvalidatedSequence ?? 0; } } + + return specStateMatches; } /// @@ -440,38 +559,72 @@ namespace Ryujinx.Graphics.Gpu.Image /// The current texture pool /// The shader stage using the textures to be bound /// The stage number of the specified shader stage - private void CommitImageBindings(TexturePool pool, ShaderStage stage, int stageIndex) + /// True if either the texture or sampler pool was modified, false otherwise + /// Specialization state for the bound shader + /// True if all bound images match the current shader specialiation state, false otherwise + private bool CommitImageBindings(TexturePool pool, ShaderStage stage, int stageIndex, bool poolModified, ShaderSpecializationState specState) { int imageCount = _imageBindingsCount[stageIndex]; if (imageCount == 0) { - return; + return true; } if (pool == null) { Logger.Error?.Print(LogClass.Gpu, $"Shader stage \"{stage}\" uses images, but texture pool was not set."); - return; + return true; } // Scales for images appear after the texture ones. int baseScaleIndex = _textureBindingsCount[stageIndex]; + int cachedTextureBufferIndex = -1; + int cachedSamplerBufferIndex = -1; + ReadOnlySpan cachedTextureBuffer = Span.Empty; + ReadOnlySpan cachedSamplerBuffer = Span.Empty; + + bool specStateMatches = true; + for (int index = 0; index < imageCount; index++) { TextureBindingInfo bindingInfo = _imageBindings[stageIndex][index]; (int textureBufferIndex, int samplerBufferIndex) = TextureHandle.UnpackSlots(bindingInfo.CbufSlot, _textureBufferIndex); - int packedId = ReadPackedId(stageIndex, bindingInfo.Handle, textureBufferIndex, samplerBufferIndex); - int textureId = UnpackTextureId(packedId); + UpdateCachedBuffer(stageIndex, ref cachedTextureBufferIndex, ref cachedSamplerBufferIndex, ref cachedTextureBuffer, ref cachedSamplerBuffer, textureBufferIndex, samplerBufferIndex); - Texture texture = pool.Get(textureId); + int packedId = TextureHandle.ReadPackedId(bindingInfo.Handle, cachedTextureBuffer, cachedSamplerBuffer); + int textureId = TextureHandle.UnpackTextureId(packedId); - ITexture hostTexture = texture?.GetTargetTexture(bindingInfo.Target); + ref TextureStatePerStage state = ref _imageState[bindingInfo.Binding]; bool isStore = bindingInfo.Flags.HasFlag(TextureUsageFlags.ImageStore); + if (!poolModified && + state.TextureHandle == textureId && + state.CachedTexture != null && + state.CachedTexture.InvalidatedSequence == state.InvalidatedSequence) + { + // The texture is already bound. + state.CachedTexture.SynchronizeMemory(); + + if (isStore) + { + state.CachedTexture?.SignalModified(); + } + + continue; + } + + state.TextureHandle = textureId; + + ref readonly TextureDescriptor descriptor = ref pool.GetForBinding(textureId, out Texture texture); + + specStateMatches &= specState.MatchesImage(stage, index, descriptor); + + ITexture hostTexture = texture?.GetTargetTexture(bindingInfo.Target); + if (hostTexture != null && texture.Target == Target.TextureBuffer) { // Ensure that the buffer texture is using the correct buffer as storage. @@ -494,14 +647,14 @@ namespace Ryujinx.Graphics.Gpu.Image texture?.SignalModified(); } - if (_imageState[stageIndex][index].Texture != hostTexture || _rebind) + if (state.Texture != hostTexture) { if (UpdateScale(texture, bindingInfo, baseScaleIndex + index, stage)) { hostTexture = texture?.GetTargetTexture(bindingInfo.Target); } - _imageState[stageIndex][index].Texture = hostTexture; + state.Texture = hostTexture; Format format = bindingInfo.Format; @@ -512,8 +665,13 @@ namespace Ryujinx.Graphics.Gpu.Image _context.Renderer.Pipeline.SetImage(bindingInfo.Binding, hostTexture, format); } + + state.CachedTexture = texture; + state.InvalidatedSequence = texture?.InvalidatedSequence ?? 0; } } + + return specStateMatches; } /// @@ -537,7 +695,7 @@ namespace Ryujinx.Graphics.Gpu.Image (int textureBufferIndex, int samplerBufferIndex) = TextureHandle.UnpackSlots(cbufSlot, bufferIndex); int packedId = ReadPackedId(stageIndex, handle, textureBufferIndex, samplerBufferIndex); - int textureId = UnpackTextureId(packedId); + int textureId = TextureHandle.UnpackTextureId(packedId); ulong poolAddress = _channel.MemoryManager.Translate(poolGpuVa); @@ -555,6 +713,7 @@ namespace Ryujinx.Graphics.Gpu.Image /// Index of the constant buffer holding the texture handles /// Index of the constant buffer holding the sampler handles /// The packed texture and sampler ID (the real texture handle) + [MethodImpl(MethodImplOptions.AggressiveInlining)] private int ReadPackedId(int stageIndex, int wordOffset, int textureBufferIndex, int samplerBufferIndex) { (int textureWordOffset, int samplerWordOffset, TextureHandleType handleType) = TextureHandle.UnpackOffsets(wordOffset); @@ -590,32 +749,13 @@ namespace Ryujinx.Graphics.Gpu.Image return handle; } - /// - /// Unpacks the texture ID from the real texture handle. - /// - /// The real texture handle - /// The texture ID - private static int UnpackTextureId(int packedId) - { - return (packedId >> 0) & 0xfffff; - } - - /// - /// Unpacks the sampler ID from the real texture handle. - /// - /// The real texture handle - /// The sampler ID - private static int UnpackSamplerId(int packedId) - { - return (packedId >> 20) & 0xfff; - } - /// /// Force all bound textures and images to be rebound the next time CommitBindings is called. /// public void Rebind() { - _rebind = true; + Array.Clear(_textureState); + Array.Clear(_imageState); } /// diff --git a/Ryujinx.Graphics.Gpu/Image/TextureManager.cs b/Ryujinx.Graphics.Gpu/Image/TextureManager.cs index a1c292912..628c31596 100644 --- a/Ryujinx.Graphics.Gpu/Image/TextureManager.cs +++ b/Ryujinx.Graphics.Gpu/Image/TextureManager.cs @@ -1,5 +1,6 @@ using Ryujinx.Graphics.GAL; using Ryujinx.Graphics.Gpu.Engine.Types; +using Ryujinx.Graphics.Gpu.Shader; using System; namespace Ryujinx.Graphics.Gpu.Image @@ -10,9 +11,11 @@ namespace Ryujinx.Graphics.Gpu.Image class TextureManager : IDisposable { private readonly GpuContext _context; + private readonly GpuChannel _channel; private readonly TextureBindingsManager _cpBindingsManager; private readonly TextureBindingsManager _gpBindingsManager; + private readonly TexturePoolCache _texturePoolCache; private readonly Texture[] _rtColors; private readonly ITexture[] _rtHostColors; @@ -35,6 +38,7 @@ namespace Ryujinx.Graphics.Gpu.Image public TextureManager(GpuContext context, GpuChannel channel) { _context = context; + _channel = channel; TexturePoolCache texturePoolCache = new TexturePoolCache(context); @@ -43,6 +47,7 @@ namespace Ryujinx.Graphics.Gpu.Image _cpBindingsManager = new TextureBindingsManager(context, channel, texturePoolCache, scales, isCompute: true); _gpBindingsManager = new TextureBindingsManager(context, channel, texturePoolCache, scales, isCompute: false); + _texturePoolCache = texturePoolCache; _rtColors = new Texture[Constants.TotalRenderTargets]; _rtHostColors = new ITexture[Constants.TotalRenderTargets]; @@ -99,6 +104,16 @@ namespace Ryujinx.Graphics.Gpu.Image _cpBindingsManager.SetTextureBufferIndex(index); } + /// + /// Sets the max binding indexes on the compute pipeline. + /// + /// The maximum texture binding + /// The maximum image binding + public void SetComputeMaxBindings(int maxTextureBinding, int maxImageBinding) + { + _cpBindingsManager.SetMaxBindings(maxTextureBinding, maxImageBinding); + } + /// /// Sets the texture constant buffer index on the graphics pipeline. /// @@ -108,6 +123,16 @@ namespace Ryujinx.Graphics.Gpu.Image _gpBindingsManager.SetTextureBufferIndex(index); } + /// + /// Sets the max binding indexes on the graphics pipeline. + /// + /// The maximum texture binding + /// The maximum image binding + public void SetGraphicsMaxBindings(int maxTextureBinding, int maxImageBinding) + { + _gpBindingsManager.SetMaxBindings(maxTextureBinding, maxImageBinding); + } + /// /// Sets the current sampler pool on the compute pipeline. /// @@ -335,25 +360,48 @@ namespace Ryujinx.Graphics.Gpu.Image /// /// Commits bindings on the compute pipeline. /// - public void CommitComputeBindings() + /// Specialization state for the bound shader + /// True if all bound textures match the current shader specialization state, false otherwise + public bool CommitComputeBindings(ShaderSpecializationState specState) { // Every time we switch between graphics and compute work, // we must rebind everything. // Since compute work happens less often, we always do that // before and after the compute dispatch. _cpBindingsManager.Rebind(); - _cpBindingsManager.CommitBindings(); + bool result = _cpBindingsManager.CommitBindings(specState); _gpBindingsManager.Rebind(); + + return result; } /// /// Commits bindings on the graphics pipeline. /// - public void CommitGraphicsBindings() + /// Specialization state for the bound shader + /// True if all bound textures match the current shader specialization state, false otherwise + public bool CommitGraphicsBindings(ShaderSpecializationState specState) { - _gpBindingsManager.CommitBindings(); + bool result = _gpBindingsManager.CommitBindings(specState); UpdateRenderTargets(); + + return result; + } + + /// + /// Returns a texture pool from the cache, with the given address and maximum id. + /// + /// GPU virtual address of the texture pool + /// Maximum ID of the texture pool + /// The texture pool + public TexturePool GetTexturePool(ulong poolGpuVa, int maximumId) + { + ulong poolAddress = _channel.MemoryManager.Translate(poolGpuVa); + + TexturePool texturePool = _texturePoolCache.FindOrCreate(_channel, poolAddress, maximumId); + + return texturePool; } /// diff --git a/Ryujinx.Graphics.Gpu/Image/TexturePool.cs b/Ryujinx.Graphics.Gpu/Image/TexturePool.cs index 10a6ff82a..75974c43b 100644 --- a/Ryujinx.Graphics.Gpu/Image/TexturePool.cs +++ b/Ryujinx.Graphics.Gpu/Image/TexturePool.cs @@ -14,6 +14,7 @@ namespace Ryujinx.Graphics.Gpu.Image { private readonly GpuChannel _channel; private readonly ConcurrentQueue _dereferenceQueue = new ConcurrentQueue(); + private TextureDescriptor _defaultDescriptor; /// /// Intrusive linked list node used on the texture pool cache. @@ -32,6 +33,62 @@ namespace Ryujinx.Graphics.Gpu.Image _channel = channel; } + /// + /// Gets the texture descripor and texture with the given ID with no bounds check or synchronization. + /// + /// ID of the texture. This is effectively a zero-based index + /// The texture with the given ID + /// The texture descriptor with the given ID + private ref readonly TextureDescriptor GetInternal(int id, out Texture texture) + { + texture = Items[id]; + + ref readonly TextureDescriptor descriptor = ref GetDescriptorRef(id); + + if (texture == null) + { + TextureInfo info = GetInfo(descriptor, out int layerSize); + + ProcessDereferenceQueue(); + + texture = PhysicalMemory.TextureCache.FindOrCreateTexture(_channel.MemoryManager, TextureSearchFlags.ForSampler, info, layerSize); + + // If this happens, then the texture address is invalid, we can't add it to the cache. + if (texture == null) + { + return ref descriptor; + } + + texture.IncrementReferenceCount(this, id); + + Items[id] = texture; + + DescriptorCache[id] = descriptor; + } + else + { + if (texture.ChangedSize) + { + // Texture changed size at one point - it may be a different size than the sampler expects. + // This can be triggered when the size is changed by a size hint on copy or draw, but the texture has been sampled before. + + int baseLevel = descriptor.UnpackBaseLevel(); + int width = Math.Max(1, descriptor.UnpackWidth() >> baseLevel); + int height = Math.Max(1, descriptor.UnpackHeight() >> baseLevel); + + if (texture.Info.Width != width || texture.Info.Height != height) + { + texture.ChangeSize(width, height, texture.Info.DepthOrLayers); + } + } + + // Memory is automatically synchronized on texture creation. + texture.SynchronizeMemory(); + } + + return ref descriptor; + } + /// /// Gets the texture with the given ID. /// @@ -51,56 +108,49 @@ namespace Ryujinx.Graphics.Gpu.Image SynchronizeMemory(); } - Texture texture = Items[id]; - - if (texture == null) - { - TextureDescriptor descriptor = GetDescriptor(id); - - TextureInfo info = GetInfo(descriptor, out int layerSize); - - ProcessDereferenceQueue(); - - texture = PhysicalMemory.TextureCache.FindOrCreateTexture(_channel.MemoryManager, TextureSearchFlags.ForSampler, info, layerSize); - - // If this happens, then the texture address is invalid, we can't add it to the cache. - if (texture == null) - { - return null; - } - - texture.IncrementReferenceCount(this, id); - - Items[id] = texture; - - DescriptorCache[id] = descriptor; - } - else - { - if (texture.ChangedSize) - { - // Texture changed size at one point - it may be a different size than the sampler expects. - // This can be triggered when the size is changed by a size hint on copy or draw, but the texture has been sampled before. - - TextureDescriptor descriptor = GetDescriptor(id); - - int baseLevel = descriptor.UnpackBaseLevel(); - int width = Math.Max(1, descriptor.UnpackWidth() >> baseLevel); - int height = Math.Max(1, descriptor.UnpackHeight() >> baseLevel); - - if (texture.Info.Width != width || texture.Info.Height != height) - { - texture.ChangeSize(width, height, texture.Info.DepthOrLayers); - } - } - - // Memory is automatically synchronized on texture creation. - texture.SynchronizeMemory(); - } + GetInternal(id, out Texture texture); return texture; } + /// + /// Gets the texture descriptor and texture with the given ID. + /// + /// + /// This method assumes that the pool has been manually synchronized before doing binding. + /// + /// ID of the texture. This is effectively a zero-based index + /// The texture with the given ID + /// The texture descriptor with the given ID + public ref readonly TextureDescriptor GetForBinding(int id, out Texture texture) + { + if ((uint)id >= Items.Length) + { + texture = null; + return ref _defaultDescriptor; + } + + // When getting for binding, assume the pool has already been synchronized. + + return ref GetInternal(id, out texture); + } + + /// + /// Checks if the pool was modified, and returns the last sequence number where a modification was detected. + /// + /// A number that increments each time a modification is detected + public int CheckModified() + { + if (SequenceNumber != Context.SequenceNumber) + { + SequenceNumber = Context.SequenceNumber; + + SynchronizeMemory(); + } + + return ModifiedSequenceNumber; + } + /// /// Forcibly remove a texture from this pool's items. /// If deferred, the dereference will be queued to occur on the render thread. @@ -175,7 +225,7 @@ namespace Ryujinx.Graphics.Gpu.Image /// The texture descriptor /// Layer size for textures using a sub-range of mipmap levels, otherwise 0 /// The texture information - private TextureInfo GetInfo(TextureDescriptor descriptor, out int layerSize) + private TextureInfo GetInfo(in TextureDescriptor descriptor, out int layerSize) { int depthOrLayers = descriptor.UnpackDepth(); int levels = descriptor.UnpackLevels(); diff --git a/Ryujinx.Graphics.Gpu/Memory/BufferManager.cs b/Ryujinx.Graphics.Gpu/Memory/BufferManager.cs index 71f202aed..9f5f39a92 100644 --- a/Ryujinx.Graphics.Gpu/Memory/BufferManager.cs +++ b/Ryujinx.Graphics.Gpu/Memory/BufferManager.cs @@ -378,6 +378,25 @@ namespace Ryujinx.Graphics.Gpu.Memory return _gpUniformBuffers[stage].Buffers[index].Address; } + /// + /// Gets the bounds of the uniform buffer currently bound at the given index. + /// + /// Indicates whenever the uniform is requested by the 3D or compute engine + /// Index of the shader stage, if the uniform is for the 3D engine + /// Index of the uniform buffer binding + /// The uniform buffer bounds, or an undefined value if the buffer is not currently bound + public ref BufferBounds GetUniformBufferBounds(bool isCompute, int stage, int index) + { + if (isCompute) + { + return ref _cpUniformBuffers.Buffers[index]; + } + else + { + return ref _gpUniformBuffers[stage].Buffers[index]; + } + } + /// /// Ensures that the compute engine bindings are visible to the host GPU. /// Note: this actually performs the binding using the host graphics API. diff --git a/Ryujinx.Graphics.Gpu/Shader/CachedShaderProgram.cs b/Ryujinx.Graphics.Gpu/Shader/CachedShaderProgram.cs index 3b4c65f3d..69fcb2780 100644 --- a/Ryujinx.Graphics.Gpu/Shader/CachedShaderProgram.cs +++ b/Ryujinx.Graphics.Gpu/Shader/CachedShaderProgram.cs @@ -35,6 +35,8 @@ namespace Ryujinx.Graphics.Gpu.Shader HostProgram = hostProgram; SpecializationState = specializationState; Shaders = shaders; + + SpecializationState.Prepare(shaders); } /// diff --git a/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs b/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs index df4b9d128..0779bf2ce 100644 --- a/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs +++ b/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs @@ -418,7 +418,7 @@ namespace Ryujinx.Graphics.Gpu.Shader { if (IsShaderEqual(channel.MemoryManager, cpShader.Shaders[0], gpuVa)) { - return cpShader.SpecializationState.MatchesCompute(channel, poolState); + return cpShader.SpecializationState.MatchesCompute(channel, poolState, true); } return false; @@ -454,7 +454,7 @@ namespace Ryujinx.Graphics.Gpu.Shader } } - return gpShaders.SpecializationState.MatchesGraphics(channel, poolState, graphicsState); + return gpShaders.SpecializationState.MatchesGraphics(channel, poolState, graphicsState, true); } /// diff --git a/Ryujinx.Graphics.Gpu/Shader/ShaderSpecializationList.cs b/Ryujinx.Graphics.Gpu/Shader/ShaderSpecializationList.cs index e3e57d745..43ccd892c 100644 --- a/Ryujinx.Graphics.Gpu/Shader/ShaderSpecializationList.cs +++ b/Ryujinx.Graphics.Gpu/Shader/ShaderSpecializationList.cs @@ -35,7 +35,7 @@ namespace Ryujinx.Graphics.Gpu.Shader { foreach (var entry in _entries) { - if (entry.SpecializationState.MatchesGraphics(channel, poolState, graphicsState)) + if (entry.SpecializationState.MatchesGraphics(channel, poolState, graphicsState, true)) { program = entry; return true; @@ -57,7 +57,7 @@ namespace Ryujinx.Graphics.Gpu.Shader { foreach (var entry in _entries) { - if (entry.SpecializationState.MatchesCompute(channel, poolState)) + if (entry.SpecializationState.MatchesCompute(channel, poolState, true)) { program = entry; return true; diff --git a/Ryujinx.Graphics.Gpu/Shader/ShaderSpecializationState.cs b/Ryujinx.Graphics.Gpu/Shader/ShaderSpecializationState.cs index 418c7b1a7..44ffd687d 100644 --- a/Ryujinx.Graphics.Gpu/Shader/ShaderSpecializationState.cs +++ b/Ryujinx.Graphics.Gpu/Shader/ShaderSpecializationState.cs @@ -1,9 +1,14 @@ using Ryujinx.Common.Memory; +using Ryujinx.Graphics.Gpu.Image; +using Ryujinx.Graphics.Gpu.Memory; using Ryujinx.Graphics.Gpu.Shader.DiskCache; using Ryujinx.Graphics.Shader; using System; using System.Collections.Generic; +using System.Linq; using System.Numerics; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; namespace Ryujinx.Graphics.Gpu.Shader { @@ -158,6 +163,9 @@ namespace Ryujinx.Graphics.Gpu.Shader } private readonly Dictionary> _textureSpecialization; + private KeyValuePair>[] _allTextures; + private Box[][] _textureByBinding; + private Box[][] _imageByBinding; /// /// Creates a new instance of the shader specialization state. @@ -194,6 +202,48 @@ namespace Ryujinx.Graphics.Gpu.Shader } } + /// + /// Prepare the shader specialization state for quick binding lookups. + /// + /// The shader stages + public void Prepare(CachedShaderStage[] stages) + { + _allTextures = _textureSpecialization.ToArray(); + + _textureByBinding = new Box[stages.Length][]; + _imageByBinding = new Box[stages.Length][]; + + for (int i = 0; i < stages.Length; i++) + { + CachedShaderStage stage = stages[i]; + if (stage?.Info != null) + { + var textures = stage.Info.Textures; + var images = stage.Info.Images; + + var texBindings = new Box[textures.Count]; + var imageBindings = new Box[images.Count]; + + int stageIndex = Math.Max(i - 1, 0); // Don't count VertexA for looking up spec state. No-Op for compute. + + for (int j = 0; j < textures.Count; j++) + { + var texture = textures[j]; + texBindings[j] = GetTextureSpecState(stageIndex, texture.HandleIndex, texture.CbufSlot); + } + + for (int j = 0; j < images.Count; j++) + { + var image = images[j]; + imageBindings[j] = GetTextureSpecState(stageIndex, image.HandleIndex, image.CbufSlot); + } + + _textureByBinding[i] = texBindings; + _imageByBinding[i] = imageBindings; + } + } + } + /// /// Indicates that the shader accesses the early Z force state. /// @@ -396,15 +446,16 @@ namespace Ryujinx.Graphics.Gpu.Shader /// GPU channel /// Texture pool state /// Graphics state + /// Indicates whether texture descriptors should be checked /// True if the state matches, false otherwise - public bool MatchesGraphics(GpuChannel channel, GpuChannelPoolState poolState, GpuChannelGraphicsState graphicsState) + public bool MatchesGraphics(GpuChannel channel, GpuChannelPoolState poolState, GpuChannelGraphicsState graphicsState, bool checkTextures) { if (graphicsState.ViewportTransformDisable != GraphicsState.ViewportTransformDisable) { return false; } - return Matches(channel, poolState, isCompute: false); + return Matches(channel, poolState, checkTextures, isCompute: false); } /// @@ -412,10 +463,64 @@ namespace Ryujinx.Graphics.Gpu.Shader /// /// GPU channel /// Texture pool state + /// Indicates whether texture descriptors should be checked /// True if the state matches, false otherwise - public bool MatchesCompute(GpuChannel channel, GpuChannelPoolState poolState) + public bool MatchesCompute(GpuChannel channel, GpuChannelPoolState poolState, bool checkTextures) { - return Matches(channel, poolState, isCompute: true); + return Matches(channel, poolState, checkTextures, isCompute: true); + } + + /// + /// Fetch the constant buffers used for a texture to cache. + /// + /// GPU channel + /// Indicates whenever the check is requested by the 3D or compute engine + /// The currently cached texture buffer index + /// The currently cached sampler buffer index + /// The currently cached texture buffer data + /// The currently cached sampler buffer data + /// The currently cached stage + /// The new texture buffer index + /// The new sampler buffer index + /// Stage index of the constant buffer + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private static void UpdateCachedBuffer( + GpuChannel channel, + bool isCompute, + ref int cachedTextureBufferIndex, + ref int cachedSamplerBufferIndex, + ref ReadOnlySpan cachedTextureBuffer, + ref ReadOnlySpan cachedSamplerBuffer, + ref int cachedStageIndex, + int textureBufferIndex, + int samplerBufferIndex, + int stageIndex) + { + bool stageChange = stageIndex != cachedStageIndex; + + if (stageChange || textureBufferIndex != cachedTextureBufferIndex) + { + ref BufferBounds bounds = ref channel.BufferManager.GetUniformBufferBounds(isCompute, stageIndex, textureBufferIndex); + + cachedTextureBuffer = MemoryMarshal.Cast(channel.MemoryManager.Physical.GetSpan(bounds.Address, (int)bounds.Size)); + cachedTextureBufferIndex = textureBufferIndex; + + if (samplerBufferIndex == textureBufferIndex) + { + cachedSamplerBuffer = cachedTextureBuffer; + cachedSamplerBufferIndex = samplerBufferIndex; + } + } + + if (stageChange || samplerBufferIndex != cachedSamplerBufferIndex) + { + ref BufferBounds bounds = ref channel.BufferManager.GetUniformBufferBounds(isCompute, stageIndex, samplerBufferIndex); + + cachedSamplerBuffer = MemoryMarshal.Cast(channel.MemoryManager.Physical.GetSpan(bounds.Address, (int)bounds.Size)); + cachedSamplerBufferIndex = samplerBufferIndex; + } + + cachedStageIndex = stageIndex; } /// @@ -423,9 +528,10 @@ namespace Ryujinx.Graphics.Gpu.Shader /// /// GPU channel /// Texture pool state + /// Indicates whether texture descriptors should be checked /// Indicates whenever the check is requested by the 3D or compute engine /// True if the state matches, false otherwise - private bool Matches(GpuChannel channel, GpuChannelPoolState poolState, bool isCompute) + private bool Matches(GpuChannel channel, GpuChannelPoolState poolState, bool checkTextures, bool isCompute) { int constantBufferUsePerStageMask = _constantBufferUsePerStage; @@ -445,55 +551,60 @@ namespace Ryujinx.Graphics.Gpu.Shader constantBufferUsePerStageMask &= ~(1 << index); } - foreach (var kv in _textureSpecialization) + if (checkTextures) { - TextureKey textureKey = kv.Key; + TexturePool pool = channel.TextureManager.GetTexturePool(poolState.TexturePoolGpuVa, poolState.TexturePoolMaximumId); - (int textureBufferIndex, int samplerBufferIndex) = TextureHandle.UnpackSlots(textureKey.CbufSlot, poolState.TextureBufferIndex); + int cachedTextureBufferIndex = -1; + int cachedSamplerBufferIndex = -1; + int cachedStageIndex = -1; + ReadOnlySpan cachedTextureBuffer = Span.Empty; + ReadOnlySpan cachedSamplerBuffer = Span.Empty; - ulong textureCbAddress; - ulong samplerCbAddress; - - if (isCompute) + foreach (var kv in _allTextures) { - textureCbAddress = channel.BufferManager.GetComputeUniformBufferAddress(textureBufferIndex); - samplerCbAddress = channel.BufferManager.GetComputeUniformBufferAddress(samplerBufferIndex); - } - else - { - textureCbAddress = channel.BufferManager.GetGraphicsUniformBufferAddress(textureKey.StageIndex, textureBufferIndex); - samplerCbAddress = channel.BufferManager.GetGraphicsUniformBufferAddress(textureKey.StageIndex, samplerBufferIndex); - } + TextureKey textureKey = kv.Key; - if (!channel.MemoryManager.Physical.IsMapped(textureCbAddress) || !channel.MemoryManager.Physical.IsMapped(samplerCbAddress)) - { - continue; + (int textureBufferIndex, int samplerBufferIndex) = TextureHandle.UnpackSlots(textureKey.CbufSlot, poolState.TextureBufferIndex); + + UpdateCachedBuffer(channel, + isCompute, + ref cachedTextureBufferIndex, + ref cachedSamplerBufferIndex, + ref cachedTextureBuffer, + ref cachedSamplerBuffer, + ref cachedStageIndex, + textureBufferIndex, + samplerBufferIndex, + textureKey.StageIndex); + + int packedId = TextureHandle.ReadPackedId(textureKey.Handle, cachedTextureBuffer, cachedSamplerBuffer); + + int textureId = TextureHandle.UnpackTextureId(packedId); + + ref readonly Image.TextureDescriptor descriptor = ref pool.GetDescriptorRef(textureId); + + if (!MatchesTexture(kv.Value, descriptor)) + { + return false; + } } + } - Image.TextureDescriptor descriptor; - - if (isCompute) - { - descriptor = channel.TextureManager.GetComputeTextureDescriptor( - poolState.TexturePoolGpuVa, - poolState.TextureBufferIndex, - poolState.TexturePoolMaximumId, - textureKey.Handle, - textureKey.CbufSlot); - } - else - { - descriptor = channel.TextureManager.GetGraphicsTextureDescriptor( - poolState.TexturePoolGpuVa, - poolState.TextureBufferIndex, - poolState.TexturePoolMaximumId, - textureKey.StageIndex, - textureKey.Handle, - textureKey.CbufSlot); - } - - Box specializationState = kv.Value; + return true; + } + /// + /// Checks if the recorded texture state matches the given texture descriptor. + /// + /// Texture specialization state + /// Texture descriptor + /// True if the state matches, false otherwise + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private bool MatchesTexture(Box specializationState, in Image.TextureDescriptor descriptor) + { + if (specializationState != null) + { if (specializationState.Value.QueriedFlags.HasFlag(QueriedTextureStateFlags.CoordNormalized) && specializationState.Value.CoordNormalized != descriptor.UnpackTextureCoordNormalized()) { @@ -504,6 +615,34 @@ namespace Ryujinx.Graphics.Gpu.Shader return true; } + /// + /// Checks if the recorded texture state for a given texture binding matches a texture descriptor. + /// + /// The shader stage + /// The texture index + /// Texture descriptor + /// True if the state matches, false otherwise + public bool MatchesTexture(ShaderStage stage, int index, in Image.TextureDescriptor descriptor) + { + Box specializationState = _textureByBinding[(int)stage][index]; + + return MatchesTexture(specializationState, descriptor); + } + + /// + /// Checks if the recorded texture state for a given image binding matches a texture descriptor. + /// + /// The shader stage + /// The texture index + /// Texture descriptor + /// True if the state matches, false otherwise + public bool MatchesImage(ShaderStage stage, int index, in Image.TextureDescriptor descriptor) + { + Box specializationState = _imageByBinding[(int)stage][index]; + + return MatchesTexture(specializationState, descriptor); + } + /// /// Reads shader specialization state that has been serialized. /// diff --git a/Ryujinx.Graphics.Shader/TextureHandle.cs b/Ryujinx.Graphics.Shader/TextureHandle.cs index b3712e6bf..d468188b8 100644 --- a/Ryujinx.Graphics.Shader/TextureHandle.cs +++ b/Ryujinx.Graphics.Shader/TextureHandle.cs @@ -1,3 +1,4 @@ +using System; using System.Runtime.CompilerServices; namespace Ryujinx.Graphics.Shader @@ -50,5 +51,63 @@ namespace Ryujinx.Graphics.Shader { return (handle & 0x3fff, (handle >> 14) & 0x3fff, (TextureHandleType)((uint)handle >> 28)); } + + /// + /// Unpacks the texture ID from the real texture handle. + /// + /// The real texture handle + /// The texture ID + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static int UnpackTextureId(int packedId) + { + return (packedId >> 0) & 0xfffff; + } + + /// + /// Unpacks the sampler ID from the real texture handle. + /// + /// The real texture handle + /// The sampler ID + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static int UnpackSamplerId(int packedId) + { + return (packedId >> 20) & 0xfff; + } + + /// + /// Reads a packed texture and sampler ID (basically, the real texture handle) + /// from a given texture/sampler constant buffer. + /// + /// A word offset of the handle on the buffer (the "fake" shader handle) + /// The constant buffer to fetch texture IDs from + /// The constant buffer to fetch sampler IDs from + /// The packed texture and sampler ID (the real texture handle) + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static int ReadPackedId(int wordOffset, ReadOnlySpan cachedTextureBuffer, ReadOnlySpan cachedSamplerBuffer) + { + (int textureWordOffset, int samplerWordOffset, TextureHandleType handleType) = UnpackOffsets(wordOffset); + + int handle = cachedTextureBuffer[textureWordOffset]; + + // The "wordOffset" (which is really the immediate value used on texture instructions on the shader) + // is a 13-bit value. However, in order to also support separate samplers and textures (which uses + // bindless textures on the shader), we extend it with another value on the higher 16 bits with + // another offset for the sampler. + // The shader translator has code to detect separate texture and sampler uses with a bindless texture, + // turn that into a regular texture access and produce those special handles with values on the higher 16 bits. + if (handleType != TextureHandleType.CombinedSampler) + { + int samplerHandle = cachedSamplerBuffer[samplerWordOffset]; + + if (handleType == TextureHandleType.SeparateSamplerId) + { + samplerHandle <<= 20; + } + + handle |= samplerHandle; + } + + return handle; + } } } From 68f909187045c9e5a6c1ecaf3b8160399238f8c5 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Fri, 17 Jun 2022 21:41:38 +0100 Subject: [PATCH 007/179] Account for res scale changes when updating bindings (#3403) Fixes a regression introduced by the texture bindings PR. Also renames TextureStatePerStage, as it's no longer per stage. --- .../Image/TextureBindingsManager.cs | 67 ++++++++++++++----- 1 file changed, 52 insertions(+), 15 deletions(-) diff --git a/Ryujinx.Graphics.Gpu/Image/TextureBindingsManager.cs b/Ryujinx.Graphics.Gpu/Image/TextureBindingsManager.cs index f15f88850..91cadde3e 100644 --- a/Ryujinx.Graphics.Gpu/Image/TextureBindingsManager.cs +++ b/Ryujinx.Graphics.Gpu/Image/TextureBindingsManager.cs @@ -35,7 +35,7 @@ namespace Ryujinx.Graphics.Gpu.Image private readonly TextureBindingInfo[][] _textureBindings; private readonly TextureBindingInfo[][] _imageBindings; - private struct TextureStatePerStage + private struct TextureState { public ITexture Texture; public ISampler Sampler; @@ -45,10 +45,12 @@ namespace Ryujinx.Graphics.Gpu.Image public int InvalidatedSequence; public Texture CachedTexture; public Sampler CachedSampler; + public int ScaleIndex; + public TextureUsageFlags UsageFlags; } - private TextureStatePerStage[] _textureState; - private TextureStatePerStage[] _imageState; + private TextureState[] _textureState; + private TextureState[] _imageState; private int[] _textureBindingsCount; private int[] _imageBindingsCount; @@ -83,8 +85,8 @@ namespace Ryujinx.Graphics.Gpu.Image _textureBindings = new TextureBindingInfo[stages][]; _imageBindings = new TextureBindingInfo[stages][]; - _textureState = new TextureStatePerStage[InitialTextureStateSize]; - _imageState = new TextureStatePerStage[InitialImageStateSize]; + _textureState = new TextureState[InitialTextureStateSize]; + _imageState = new TextureState[InitialImageStateSize]; _textureBindingsCount = new int[stages]; _imageBindingsCount = new int[stages]; @@ -230,18 +232,18 @@ namespace Ryujinx.Graphics.Gpu.Image /// Updates the texture scale for a given texture or image. /// /// Start GPU virtual address of the pool - /// The related texture binding + /// The related texture usage flags /// The texture/image binding index /// The active shader stage /// True if the given texture has become blacklisted, indicating that its host texture may have changed. - private bool UpdateScale(Texture texture, TextureBindingInfo binding, int index, ShaderStage stage) + private bool UpdateScale(Texture texture, TextureUsageFlags usageFlags, int index, ShaderStage stage) { float result = 1f; bool changed = false; - if ((binding.Flags & TextureUsageFlags.NeedsScaleValue) != 0 && texture != null) + if ((usageFlags & TextureUsageFlags.NeedsScaleValue) != 0 && texture != null) { - if ((binding.Flags & TextureUsageFlags.ResScaleUnsupported) != 0) + if ((usageFlags & TextureUsageFlags.ResScaleUnsupported) != 0) { changed = texture.ScaleMode != TextureScaleMode.Blacklisted; texture.BlacklistScale(); @@ -469,6 +471,7 @@ namespace Ryujinx.Graphics.Gpu.Image for (int index = 0; index < textureCount; index++) { TextureBindingInfo bindingInfo = _textureBindings[stageIndex][index]; + TextureUsageFlags usageFlags = bindingInfo.Flags; (int textureBufferIndex, int samplerBufferIndex) = TextureHandle.UnpackSlots(bindingInfo.CbufSlot, _textureBufferIndex); @@ -487,7 +490,7 @@ namespace Ryujinx.Graphics.Gpu.Image samplerId = TextureHandle.UnpackSamplerId(packedId); } - ref TextureStatePerStage state = ref _textureState[bindingInfo.Binding]; + ref TextureState state = ref _textureState[bindingInfo.Binding]; if (!poolModified && state.TextureHandle == textureId && @@ -499,6 +502,18 @@ namespace Ryujinx.Graphics.Gpu.Image // The texture is already bound. state.CachedTexture.SynchronizeMemory(); + if ((state.ScaleIndex != index || state.UsageFlags != usageFlags) && + UpdateScale(state.CachedTexture, usageFlags, index, stage)) + { + ITexture hostTextureRebind = state.CachedTexture.GetTargetTexture(bindingInfo.Target); + + state.Texture = hostTextureRebind; + state.ScaleIndex = index; + state.UsageFlags = usageFlags; + + _context.Renderer.Pipeline.SetTexture(bindingInfo.Binding, hostTextureRebind); + } + continue; } @@ -522,12 +537,14 @@ namespace Ryujinx.Graphics.Gpu.Image { if (state.Texture != hostTexture) { - if (UpdateScale(texture, bindingInfo, index, stage)) + if (UpdateScale(texture, usageFlags, index, stage)) { hostTexture = texture?.GetTargetTexture(bindingInfo.Target); } state.Texture = hostTexture; + state.ScaleIndex = index; + state.UsageFlags = usageFlags; _context.Renderer.Pipeline.SetTexture(bindingInfo.Binding, hostTexture); } @@ -589,6 +606,8 @@ namespace Ryujinx.Graphics.Gpu.Image for (int index = 0; index < imageCount; index++) { TextureBindingInfo bindingInfo = _imageBindings[stageIndex][index]; + TextureUsageFlags usageFlags = bindingInfo.Flags; + int scaleIndex = baseScaleIndex + index; (int textureBufferIndex, int samplerBufferIndex) = TextureHandle.UnpackSlots(bindingInfo.CbufSlot, _textureBufferIndex); @@ -597,7 +616,7 @@ namespace Ryujinx.Graphics.Gpu.Image int packedId = TextureHandle.ReadPackedId(bindingInfo.Handle, cachedTextureBuffer, cachedSamplerBuffer); int textureId = TextureHandle.UnpackTextureId(packedId); - ref TextureStatePerStage state = ref _imageState[bindingInfo.Binding]; + ref TextureState state = ref _imageState[bindingInfo.Binding]; bool isStore = bindingInfo.Flags.HasFlag(TextureUsageFlags.ImageStore); @@ -606,12 +625,28 @@ namespace Ryujinx.Graphics.Gpu.Image state.CachedTexture != null && state.CachedTexture.InvalidatedSequence == state.InvalidatedSequence) { + Texture cachedTexture = state.CachedTexture; + // The texture is already bound. - state.CachedTexture.SynchronizeMemory(); + cachedTexture.SynchronizeMemory(); if (isStore) { - state.CachedTexture?.SignalModified(); + cachedTexture?.SignalModified(); + } + + if ((state.ScaleIndex != index || state.UsageFlags != usageFlags) && + UpdateScale(state.CachedTexture, usageFlags, scaleIndex, stage)) + { + ITexture hostTextureRebind = state.CachedTexture.GetTargetTexture(bindingInfo.Target); + + Format format = bindingInfo.Format == 0 ? cachedTexture.Format : bindingInfo.Format; + + state.Texture = hostTextureRebind; + state.ScaleIndex = scaleIndex; + state.UsageFlags = usageFlags; + + _context.Renderer.Pipeline.SetImage(bindingInfo.Binding, hostTextureRebind, format); } continue; @@ -649,12 +684,14 @@ namespace Ryujinx.Graphics.Gpu.Image if (state.Texture != hostTexture) { - if (UpdateScale(texture, bindingInfo, baseScaleIndex + index, stage)) + if (UpdateScale(texture, usageFlags, scaleIndex, stage)) { hostTexture = texture?.GetTargetTexture(bindingInfo.Target); } state.Texture = hostTexture; + state.ScaleIndex = scaleIndex; + state.UsageFlags = usageFlags; Format format = bindingInfo.Format; From 4513e8b226d39bdb707c428b870c60ce16318a96 Mon Sep 17 00:00:00 2001 From: gdkchan Date: Thu, 12 Aug 2021 03:09:56 -0300 Subject: [PATCH 008/179] WIP Vulkan implementation --- Ryujinx.Ava/entryStorage | Bin 0 -> 32768 bytes Ryujinx.Ava/nodeStorage | Bin 0 -> 16384 bytes .../Configuration/GraphicsBackend.cs | 8 + Ryujinx.Graphics.GAL/Format.cs | 114 + Ryujinx.Graphics.GAL/HardwareInfo.cs | 18 + Ryujinx.Graphics.GAL/IPipeline.cs | 6 +- Ryujinx.Graphics.GAL/IRenderer.cs | 1 + .../Multithreading/CommandHelper.cs | 8 +- .../Multithreading/CommandType.cs | 3 +- .../Commands/SetSamplerCommand.cs | 23 - .../Commands/SetScissorCommand.cs | 28 - .../Commands/SetScissorsCommand.cs | 22 + .../Commands/SetTextureAndSamplerCommand.cs | 25 + .../Commands/SetTextureCommand.cs | 23 - .../Multithreading/ThreadedPipeline.cs | 14 +- .../Multithreading/ThreadedRenderer.cs | 5 + Ryujinx.Graphics.GAL/Rectangle.cs | 18 + Ryujinx.Graphics.GAL/ShaderBindings.cs | 30 + Ryujinx.Graphics.GAL/ShaderSource.cs | 8 +- Ryujinx.Graphics.GAL/Viewport.cs | 16 +- Ryujinx.Graphics.Gpu/Constants.cs | 16 + .../Engine/Threed/DrawManager.cs | 5 +- .../Engine/Threed/StateUpdater.cs | 47 +- .../Engine/Threed/ThreedClassState.cs | 9 + Ryujinx.Graphics.Gpu/GraphicsConfig.cs | 5 + .../Image/TextureBindingsManager.cs | 39 +- Ryujinx.Graphics.Gpu/Memory/BufferManager.cs | 2 +- Ryujinx.Graphics.Gpu/Memory/MemoryManager.cs | 5 + .../Shader/Cache/Migration.cs | 5 +- .../Shader/DiskCache/DiskCacheGpuAccessor.cs | 26 +- .../DiskCache/ParallelDiskCacheLoader.cs | 8 +- Ryujinx.Graphics.Gpu/Shader/GpuAccessor.cs | 55 +- .../Shader/GpuAccessorBase.cs | 75 +- .../Shader/GpuChannelGraphicsState.cs | 30 +- Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs | 70 +- .../BackgroundContextWorker.cs | 2 +- Ryujinx.Graphics.OpenGL/FormatTable.cs | 74 +- Ryujinx.Graphics.OpenGL/Pipeline.cs | 68 +- .../Queries/CounterQueueEvent.cs | 1 - Ryujinx.Graphics.OpenGL/Renderer.cs | 5 + Ryujinx.Graphics.OpenGL/Window.cs | 2 - Ryujinx.Graphics.Shader/AttributeType.cs | 36 + .../CodeGen/Glsl/Declarations.cs | 36 +- .../CodeGen/Glsl/GlslGenerator.cs | 2 +- .../Glsl/Instructions/InstGenHelper.cs | 10 +- .../CodeGen/Glsl/OperandManager.cs | 30 +- .../CodeGen/Spirv/CodeGenContext.cs | 351 ++ .../CodeGen/Spirv/Declarations.cs | 474 ++ .../CodeGen/Spirv/EnumConversion.cs | 38 + .../CodeGen/Spirv/Instructions.cs | 1867 ++++++ .../CodeGen/Spirv/OperationResult.cs | 19 + .../CodeGen/Spirv/SpirvGenerator.cs | 275 + .../CodeGen/Spirv/TextureMeta.cs | 35 + Ryujinx.Graphics.Shader/IGpuAccessor.cs | 20 + .../IntermediateRepresentation/BasicBlock.cs | 29 + .../Ryujinx.Graphics.Shader.csproj | 1 + Ryujinx.Graphics.Shader/SamplerType.cs | 55 +- Ryujinx.Graphics.Shader/ShaderProgram.cs | 1 + .../StructuredIr/AstBlock.cs | 1 + .../StructuredIr/AstOptimizer.cs | 2 +- .../StructuredIr/PhiFunctions.cs | 33 +- .../StructuredIr/StructuredProgramContext.cs | 10 + .../StructuredIr/StructuredProgramInfo.cs | 6 + .../Translation/AggregateType.cs | 18 + .../Translation/AttributeConsts.cs | 1 + .../Translation/AttributeInfo.cs | 99 + .../Translation/EmitterContext.cs | 35 +- .../Translation/Translator.cs | 9 +- Ryujinx.Graphics.Vulkan/Auto.cs | 141 + Ryujinx.Graphics.Vulkan/BitMap.cs | 42 + Ryujinx.Graphics.Vulkan/BufferHolder.cs | 365 ++ Ryujinx.Graphics.Vulkan/BufferManager.cs | 202 + Ryujinx.Graphics.Vulkan/BufferRangeList.cs | 147 + Ryujinx.Graphics.Vulkan/BufferState.cs | 69 + Ryujinx.Graphics.Vulkan/CacheByRange.cs | 54 + Ryujinx.Graphics.Vulkan/CommandBufferPool.cs | 291 + .../CommandBufferScoped.cs | 44 + Ryujinx.Graphics.Vulkan/Constants.cs | 20 + .../DescriptorSetCollection.cs | 247 + .../DescriptorSetManager.cs | 201 + .../DescriptorSetUpdater.cs | 489 ++ Ryujinx.Graphics.Vulkan/DisposableBuffer.cs | 24 + .../DisposableBufferView.cs | 24 + .../DisposableFramebuffer.cs | 25 + Ryujinx.Graphics.Vulkan/DisposableImage.cs | 25 + .../DisposableImageView.cs | 25 + Ryujinx.Graphics.Vulkan/DisposableMemory.cs | 24 + Ryujinx.Graphics.Vulkan/DisposablePipeline.cs | 25 + .../DisposableRenderPass.cs | 25 + Ryujinx.Graphics.Vulkan/DisposableSampler.cs | 25 + Ryujinx.Graphics.Vulkan/EnumConversion.cs | 489 ++ Ryujinx.Graphics.Vulkan/FenceHelper.cs | 30 + Ryujinx.Graphics.Vulkan/FenceHolder.cs | 73 + Ryujinx.Graphics.Vulkan/FormatCapabilities.cs | 75 + Ryujinx.Graphics.Vulkan/FormatConverter.cs | 49 + Ryujinx.Graphics.Vulkan/FormatTable.cs | 181 + Ryujinx.Graphics.Vulkan/FramebufferParams.cs | 153 + .../HardwareCapabilities.cs | 16 + Ryujinx.Graphics.Vulkan/HashTableSlim.cs | 117 + Ryujinx.Graphics.Vulkan/HelperShader.cs | 261 + Ryujinx.Graphics.Vulkan/MemoryAllocation.cs | 37 + Ryujinx.Graphics.Vulkan/MemoryAllocator.cs | 84 + .../MemoryAllocatorBlockList.cs | 280 + Ryujinx.Graphics.Vulkan/MultiFenceHolder.cs | 203 + .../Native/shaderc/libs/shaderc_shared.dll | Bin 0 -> 12564480 bytes Ryujinx.Graphics.Vulkan/NativeArray.cs | 45 + Ryujinx.Graphics.Vulkan/PipelineBase.cs | 1171 ++++ Ryujinx.Graphics.Vulkan/PipelineBlit.cs | 103 + .../PipelineDynamicState.cs | 133 + Ryujinx.Graphics.Vulkan/PipelineFull.cs | 295 + .../PipelineLayoutCache.cs | 40 + .../PipelineLayoutCacheEntry.cs | 108 + .../PipelineLayoutFactory.cs | 150 + Ryujinx.Graphics.Vulkan/PipelineState.cs | 526 ++ Ryujinx.Graphics.Vulkan/PipelineUid.cs | 145 + .../Queries/BufferedQuery.cs | 132 + .../Queries/CounterQueue.cs | 232 + .../Queries/CounterQueueEvent.cs | 163 + Ryujinx.Graphics.Vulkan/Queries/Counters.cs | 58 + .../Ryujinx.Graphics.Vulkan.csproj | 38 + Ryujinx.Graphics.Vulkan/SamplerHolder.cs | 108 + Ryujinx.Graphics.Vulkan/SemaphoreHolder.cs | 60 + Ryujinx.Graphics.Vulkan/Shader.cs | 157 + Ryujinx.Graphics.Vulkan/ShaderCollection.cs | 185 + Ryujinx.Graphics.Vulkan/StagingBuffer.cs | 112 + Ryujinx.Graphics.Vulkan/SyncManager.cs | 122 + Ryujinx.Graphics.Vulkan/TextureBuffer.cs | 115 + Ryujinx.Graphics.Vulkan/TextureCopy.cs | 275 + Ryujinx.Graphics.Vulkan/TextureStorage.cs | 282 + Ryujinx.Graphics.Vulkan/TextureView.cs | 747 +++ Ryujinx.Graphics.Vulkan/Vendor.cs | 10 + .../VulkanConfiguration.cs | 11 + Ryujinx.Graphics.Vulkan/VulkanException.cs | 40 + .../VulkanGraphicsDevice.cs | 454 ++ .../VulkanInitialization.cs | 425 ++ Ryujinx.Graphics.Vulkan/Window.cs | 431 ++ Ryujinx.HLE/HOS/Services/Nv/Types/NvFence.cs | 2 +- Ryujinx.Headless.SDL2/OpenGL/OpenGLWindow.cs | 11 +- Ryujinx.Headless.SDL2/Options.cs | 3 + Ryujinx.Headless.SDL2/Program.cs | 35 +- .../Ryujinx.Headless.SDL2.csproj | 1 + Ryujinx.Headless.SDL2/Vulkan/VulkanWindow.cs | 91 + Ryujinx.Headless.SDL2/WindowBase.cs | 17 +- .../Configuration/ConfigurationFileFormat.cs | 5 + .../Configuration/ConfigurationState.cs | 10 + Ryujinx.sln | 12 + Ryujinx/Ryujinx.csproj | 1 + Ryujinx/Ui/GLRenderer.cs | 4 +- Ryujinx/Ui/MainWindow.cs | 16 +- Ryujinx/Ui/MainWindow.glade | 25 + Ryujinx/Ui/RendererWidgetBase.cs | 14 +- Ryujinx/Ui/StatusUpdatedEventArgs.cs | 4 +- Ryujinx/Ui/VKRenderer.cs | 4 +- Ryujinx/Ui/Windows/SettingsWindow.cs | 3 + Ryujinx/Ui/Windows/SettingsWindow.glade | 51 +- SpvGen/Autogenerated/CoreGrammar.cs | 5075 +++++++++++++++++ SpvGen/Autogenerated/spirv.cs | 1548 +++++ SpvGen/Instruction.cs | 211 + SpvGen/LICENSE | 23 + SpvGen/LiteralInteger.cs | 81 + SpvGen/LiteralString.cs | 51 + SpvGen/Module.cs | 321 ++ SpvGen/Operand.cs | 14 + SpvGen/OperandType.cs | 10 + SpvGen/Spv.Generator.csproj | 12 + 165 files changed, 23123 insertions(+), 399 deletions(-) create mode 100644 Ryujinx.Ava/entryStorage create mode 100644 Ryujinx.Ava/nodeStorage create mode 100644 Ryujinx.Common/Configuration/GraphicsBackend.cs create mode 100644 Ryujinx.Graphics.GAL/HardwareInfo.cs delete mode 100644 Ryujinx.Graphics.GAL/Multithreading/Commands/SetSamplerCommand.cs delete mode 100644 Ryujinx.Graphics.GAL/Multithreading/Commands/SetScissorCommand.cs create mode 100644 Ryujinx.Graphics.GAL/Multithreading/Commands/SetScissorsCommand.cs create mode 100644 Ryujinx.Graphics.GAL/Multithreading/Commands/SetTextureAndSamplerCommand.cs delete mode 100644 Ryujinx.Graphics.GAL/Multithreading/Commands/SetTextureCommand.cs create mode 100644 Ryujinx.Graphics.GAL/Rectangle.cs create mode 100644 Ryujinx.Graphics.GAL/ShaderBindings.cs create mode 100644 Ryujinx.Graphics.Shader/AttributeType.cs create mode 100644 Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs create mode 100644 Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs create mode 100644 Ryujinx.Graphics.Shader/CodeGen/Spirv/EnumConversion.cs create mode 100644 Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs create mode 100644 Ryujinx.Graphics.Shader/CodeGen/Spirv/OperationResult.cs create mode 100644 Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs create mode 100644 Ryujinx.Graphics.Shader/CodeGen/Spirv/TextureMeta.cs create mode 100644 Ryujinx.Graphics.Shader/Translation/AggregateType.cs create mode 100644 Ryujinx.Graphics.Shader/Translation/AttributeInfo.cs create mode 100644 Ryujinx.Graphics.Vulkan/Auto.cs create mode 100644 Ryujinx.Graphics.Vulkan/BitMap.cs create mode 100644 Ryujinx.Graphics.Vulkan/BufferHolder.cs create mode 100644 Ryujinx.Graphics.Vulkan/BufferManager.cs create mode 100644 Ryujinx.Graphics.Vulkan/BufferRangeList.cs create mode 100644 Ryujinx.Graphics.Vulkan/BufferState.cs create mode 100644 Ryujinx.Graphics.Vulkan/CacheByRange.cs create mode 100644 Ryujinx.Graphics.Vulkan/CommandBufferPool.cs create mode 100644 Ryujinx.Graphics.Vulkan/CommandBufferScoped.cs create mode 100644 Ryujinx.Graphics.Vulkan/Constants.cs create mode 100644 Ryujinx.Graphics.Vulkan/DescriptorSetCollection.cs create mode 100644 Ryujinx.Graphics.Vulkan/DescriptorSetManager.cs create mode 100644 Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs create mode 100644 Ryujinx.Graphics.Vulkan/DisposableBuffer.cs create mode 100644 Ryujinx.Graphics.Vulkan/DisposableBufferView.cs create mode 100644 Ryujinx.Graphics.Vulkan/DisposableFramebuffer.cs create mode 100644 Ryujinx.Graphics.Vulkan/DisposableImage.cs create mode 100644 Ryujinx.Graphics.Vulkan/DisposableImageView.cs create mode 100644 Ryujinx.Graphics.Vulkan/DisposableMemory.cs create mode 100644 Ryujinx.Graphics.Vulkan/DisposablePipeline.cs create mode 100644 Ryujinx.Graphics.Vulkan/DisposableRenderPass.cs create mode 100644 Ryujinx.Graphics.Vulkan/DisposableSampler.cs create mode 100644 Ryujinx.Graphics.Vulkan/EnumConversion.cs create mode 100644 Ryujinx.Graphics.Vulkan/FenceHelper.cs create mode 100644 Ryujinx.Graphics.Vulkan/FenceHolder.cs create mode 100644 Ryujinx.Graphics.Vulkan/FormatCapabilities.cs create mode 100644 Ryujinx.Graphics.Vulkan/FormatConverter.cs create mode 100644 Ryujinx.Graphics.Vulkan/FormatTable.cs create mode 100644 Ryujinx.Graphics.Vulkan/FramebufferParams.cs create mode 100644 Ryujinx.Graphics.Vulkan/HardwareCapabilities.cs create mode 100644 Ryujinx.Graphics.Vulkan/HashTableSlim.cs create mode 100644 Ryujinx.Graphics.Vulkan/HelperShader.cs create mode 100644 Ryujinx.Graphics.Vulkan/MemoryAllocation.cs create mode 100644 Ryujinx.Graphics.Vulkan/MemoryAllocator.cs create mode 100644 Ryujinx.Graphics.Vulkan/MemoryAllocatorBlockList.cs create mode 100644 Ryujinx.Graphics.Vulkan/MultiFenceHolder.cs create mode 100644 Ryujinx.Graphics.Vulkan/Native/shaderc/libs/shaderc_shared.dll create mode 100644 Ryujinx.Graphics.Vulkan/NativeArray.cs create mode 100644 Ryujinx.Graphics.Vulkan/PipelineBase.cs create mode 100644 Ryujinx.Graphics.Vulkan/PipelineBlit.cs create mode 100644 Ryujinx.Graphics.Vulkan/PipelineDynamicState.cs create mode 100644 Ryujinx.Graphics.Vulkan/PipelineFull.cs create mode 100644 Ryujinx.Graphics.Vulkan/PipelineLayoutCache.cs create mode 100644 Ryujinx.Graphics.Vulkan/PipelineLayoutCacheEntry.cs create mode 100644 Ryujinx.Graphics.Vulkan/PipelineLayoutFactory.cs create mode 100644 Ryujinx.Graphics.Vulkan/PipelineState.cs create mode 100644 Ryujinx.Graphics.Vulkan/PipelineUid.cs create mode 100644 Ryujinx.Graphics.Vulkan/Queries/BufferedQuery.cs create mode 100644 Ryujinx.Graphics.Vulkan/Queries/CounterQueue.cs create mode 100644 Ryujinx.Graphics.Vulkan/Queries/CounterQueueEvent.cs create mode 100644 Ryujinx.Graphics.Vulkan/Queries/Counters.cs create mode 100644 Ryujinx.Graphics.Vulkan/Ryujinx.Graphics.Vulkan.csproj create mode 100644 Ryujinx.Graphics.Vulkan/SamplerHolder.cs create mode 100644 Ryujinx.Graphics.Vulkan/SemaphoreHolder.cs create mode 100644 Ryujinx.Graphics.Vulkan/Shader.cs create mode 100644 Ryujinx.Graphics.Vulkan/ShaderCollection.cs create mode 100644 Ryujinx.Graphics.Vulkan/StagingBuffer.cs create mode 100644 Ryujinx.Graphics.Vulkan/SyncManager.cs create mode 100644 Ryujinx.Graphics.Vulkan/TextureBuffer.cs create mode 100644 Ryujinx.Graphics.Vulkan/TextureCopy.cs create mode 100644 Ryujinx.Graphics.Vulkan/TextureStorage.cs create mode 100644 Ryujinx.Graphics.Vulkan/TextureView.cs create mode 100644 Ryujinx.Graphics.Vulkan/Vendor.cs create mode 100644 Ryujinx.Graphics.Vulkan/VulkanConfiguration.cs create mode 100644 Ryujinx.Graphics.Vulkan/VulkanException.cs create mode 100644 Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs create mode 100644 Ryujinx.Graphics.Vulkan/VulkanInitialization.cs create mode 100644 Ryujinx.Graphics.Vulkan/Window.cs create mode 100644 Ryujinx.Headless.SDL2/Vulkan/VulkanWindow.cs create mode 100644 SpvGen/Autogenerated/CoreGrammar.cs create mode 100644 SpvGen/Autogenerated/spirv.cs create mode 100644 SpvGen/Instruction.cs create mode 100644 SpvGen/LICENSE create mode 100644 SpvGen/LiteralInteger.cs create mode 100644 SpvGen/LiteralString.cs create mode 100644 SpvGen/Module.cs create mode 100644 SpvGen/Operand.cs create mode 100644 SpvGen/OperandType.cs create mode 100644 SpvGen/Spv.Generator.csproj diff --git a/Ryujinx.Ava/entryStorage b/Ryujinx.Ava/entryStorage new file mode 100644 index 0000000000000000000000000000000000000000..899e3c0bcdcd3b6731ddab276c02f5490bdbafca GIT binary patch literal 32768 zcmeI*XSfqp7ccPP(0inVr~`+3XaQa+0un)~DnSvXh@n?8pj1HuSm+E*R0M<4YiJ4x z61qqWMF>aG0#-6O0ocT>7|Q`>jJpj(hC+4*9GwQrB9Pxrsx91htV57F0KpU`HX%^`jVmx z;9fyLB3(++1#o>w{|E890Iq}dzC|Qn8f96|ANa$PQEe|xNht`3-=hyie+vQpm>d@3 zd)taq3d3XN^gNP0{iL=jvJ=blHKlJu{iSo3Fr0qiukgK_l~Ep zl%YyV(|P96H=$qU;E`4IF_?$t;l9oEJ!oeIxceCW82VdL=l_i^L+2#42QJd9G!(Cd z_;4kun4UkI)zown`oIdjK)goJD>Dg@Y`taBVdPn&4aBpUP9#CDi znj`-U@K7mwe$>AKJW_{#L#=O4LQNvIMH_)OkkGYr$WFM`qERW8S_Dcdw(r1aAfp9HQUGy!C4TlfFc) zGftwp&XZoBC#7y*t98#wyaJEqqo-5HuakHc9=GYk)OpQGw1E4|{$Gx|y{6+U(9_gT zoJ32wU73Cdb!(-)D!n%HybkwOr(aU1E+^3%?rlOJisQEpJko`J4|Qm(eKCG@dyTC&^>DMq`U9}gWU&Z>Ltv5U}gWd@KmX2Rc*LCir^KYatM4jK( z@q6j*aa{Z1fn)T#s2Tzf7NkdDtKB z%BqU4HW{zQw&WQgUs~a^^c`4N2g033^r=_}2EpB3=$YVy;hqt6y?zdX`)AXSVqJX? z?%hb=iupejZvRBzg!9fYc?7cjEA&)#iRmOp z!mSMYx?Aej9_#rixG$BSsf5IT0QWbfcT5%k5FYDEFIimtBe-hujNTVM74G?p-p`i( zPSf#Q>6KCE>2T{jeI)!7xRY5OoNALgw8nVNz}N9K`XU@hpTdI;=nGNj&*0uR^gF1- z=h}Vr+9}e`nQ*5gUC-MubpB5COKM6wiCH?nH@yYMeKtJ)5xphm&zErTLi#}*cR{#& zCw(w{4m@;@ejoGvEA8pk;-WUG&wlLpYkVDel0FK@%UrmtD*YnbKM!uzrq9hF{hALC zdFW?Rp9Sz>efnz5w}o)u3-o62MLJIdx~}J9c(@_GJ?8%sxZRR&qrXexp8oVfsOK`B z=M#Eu9FNQ4)>?Wh*25KW_d$9L=kXBSb&(!I-B#-S_vrfgT?O~Ma^g>^e;LfT)%ZG? zN-uzQat%COmA+R^c_*fef@h{MIJ=ej54d@rq{`ES(ExoQS z``rMKyhmSxdVU8F%%YbqF7X@Tq0RJRh~ETvpQZb4iT@rROs57_ZBn0ssQ+esZ9hrR zfq5H-yKB(*VO+Mrt!DJDIFE0I`(@IoP4deno|D*yufv_`zoKs2;h}DHJ#Tlw{XOVE zp#D4Io<8)RsOK)7XC(bL+W&+0S@dsk{O;EIzoWm1I{XL^AES4M?}59o(?7=gwpYjJ zR-IQH`ipgYAHH^#p$|km_rsmq^hs)noWudR-Gu(CIt4k22t4pAeJtvEQ0H$$-;Mel zg2&p^JD|>o;oc7PJ*u%z;t1UCLSKaa{sfQoq0d)ccM?b8fnoG_aD9FZZq1+%eh%>=6B5_zCR^`XBJ0;SrZQXw@clP7gncuVWSIBhj8yaDO9utvu5H)9_Fm z`dA$AXW*VL^bI&4#o$&i`iH3VS-A5yeGsk(eu29N(&b*LlQ;*rKcu&OO#D}P;1hZ; zwDUYXzL1_BegSTMM{kSu?Kik@KYbPE+eNs2jy^ZP?DrBpa*I9~`G1Fdv#Z9bP3oK< z^YagU?Jq<>fx7((_omXH#QE#8jxR@Vg?alIJW`q72KBrGcUPnDQB89aak$lxUKYn! zLdU;Je+VD1DEb@=oFo+*6*ORb65@iMw!bb^1Ki^B&xKmfjro{0Hu< zM^BG-{tNfNPCsZ%{`+vROaiq@JJU*tTj}KMz$|(Pcsh7|3%yIK#OpT?(Ik)R8aC~hDQd|=VJb3fd|IYyW=>` z3Xe~w_fX;_vcY{*=?>!MY_9J2eojxrJjnsK*U(Frlsq}%-sAL)WyEvo{OQ!esWz#@ zWANPYKw0{jQWEciyS(&%$p0AJ=})hOamfP@e@4H9amlNF6MeKT`SZcOr|J1|9OZ}m zZ_(ex{44;EWLA?~ZPNa8m~RDj{v33D{ZmNC%T3Z`{9w%I!fMzbM?(k3PA$_!IEhH2V9f&y#T9diqAx=P9^-iar5(YN@^DeLuVg++SQxj%0nx7nA%ob$osL zZsdPP$9JL^g4cpOBk2j$t+w`A^u?%K9k^!={XFXSEZn`Fo`&nax^Uk<`fk+6qvH?K z^*nq|=RZXM9P_yzJa(Ku7}v@5b^aUld6*~9!(DijPtTu2rKLVEz~dgZC?xCF81tk-V^aH;MN`bs&W$l8a!N54W8Q6RIprW;`)u*NHcnScq_!ahtSue zov*{=bLj73Tw25ZJL%7({%!Pr&(kZS{%v)hd-S`QZ|$^aP!|WucIx^02HcXHtx4~S zUzDB!?RgU(@X&{0Udg*cYU@T{fqr#>hbGc{q7EJ5_Imnc)Uy*j{44!T1*vCe zcrcH8v7|Psb6Jd67kI=&?~eGca8DolR*YjexN9c8E!xu^?%zSrf#XQ7cGP_Pon95^ zsh;rg9s072(#~EwkEKq=YLj-(!g%$DyKMS!)aNa@(~$lo+S3Of>PugQ_RA`5S-#oy ze-ZE3zMH-V@qOX;P5KOYKX|yfYMk1noe}suaHko)KkE4|+%=3|1@-R__sXJ>%%hKs z0XqH|-B(QNGZ5~-ML(5Ie2~tQ-ZptYgb#+ta?|{AHD~7TGQvCUqj)Z zkLWhqKMd|$L(d0)A0GIHUKVv24iDunX2~XXD+CX~Bem(zAx$?))R^jh#KI!`{es3q$*3H6)`cPi7LOp*N4;GwGY1=+=? z!+mw>pJILZMCbR?cjG)b10Lx}uaE1fPvQ1J`bqd_I?s4|4vgdHaMzdg+Q>f>?p;Z5 zfa~5b;K8l*%ZQ%^cYdPRL;l(D*hP94_?PhbU3v%P3BrB3)S{WJ=f^mY&(ZM(=~vbF z?dVt93(>oE68~D~8A@-OQG6~uG=l!WOycu&o{#Cp;q&44M0zjy0=P4c{x*Ce+?q+R zm{IaCg1dwCyzs?v?>xFZ!eB?2z~hVQ2jENL;SfDHd>K5lmVR5!H#@pq`#SnzC3bWL zJhXxCgNNX*jr7&({*oPC36E^2JL=NXj;@0HPSG2wQ-mE|4G-O=Us6l89bE$tK3>X< z?`d_4wxes|fg1E}>e9oGegpT)iz2n9SO1smTRZwKJn}X@m%5~~qwC-?c`=`ie;dAD z=b20YO})glqZ{C!4fJJdp4-vy;PE|lx!-F?H^RdadM?!{JGu!TIZWTF#EyOs5B@~& zjQpG7uHWc~)w*Fv!|-?pwU{Q`@2Dlvj&6YmO4I8W6W&!WE( zxILQw7v|4Fxa(_rb=2Vy+`Ey!5bcqpOl?2Wd#QELjvj&gFVfHD5dR78yFt&Z&I@+* zC_G@5MLMb5l}zHtbe_!gxf#Wya62d6g?b)`yIu4vh(Dp@3(yasUq8d+mFVxFo+sh{ zX7pm1pQqr#zVtNI^E5m%k=_Hx?-{sfF?~Ji9D`ds=!ejrv+&qyx*v7^1@8TuUR%9> zv7_hUPA+wkp*E@8G5D`=e<}LM>bzq|&%>>nbb0-5M=!wRjp)x|Tz-RlTF}pBllY5p z_nUM-`gI8&987-#_4yqh{)9dR{)f)LhCUtr{SzMBOD~7~m*KA8=xxy7zuS8PDTh!|{I~vz{D$qZ}yiLGE9{POL=PKOir8ma>yr$z@(&he-9lZ{B z+Rz8#Jaq%^dV_uu>&8vE^)|f=>hm|;Kc0RY>)0*rOX!PGpWASIC;hIvF0!L{wEs+R zg#O;udH$l?@OyA4ox1o-)~zZ0A9ySuy#@SVxTg%gF6P^Pc;FfOn>nOC`jY{%2J~8} zTRK%G_5CJvc{JFL>Ib4@FVcIe%yu+A;=M1^egxrw>mR&j^o=qvujfksZwh zkFTa*Ql~6Cnpwx6pkG#(a&|NeJaV6Y75TGjPgNJ?YExaZJc!Q*cQv99FD7}i!<`=V zudxo~fO|&KxOxVN}^5t6J!eszgtNAv4E4e5^|PXV2$7rh(e3&O3*^q$CH zNay*M-T?K~56Fk3^m|xOiXc9md`?`(cwQTo$aznJBz{tE_xNz?FpSH zFFj3(9hFx->V2I2borc%9eoNOdx|c%(CnxU4?IK9kMl(_cuL4;%U z5vZF~Nxl9%L9YQX2alYhcfxU99_~3q--&)zfV*zcW9kyjj>=Q(s{TdQi(9qH_;ypL z0y|m>?rTWDqYha+>el`)T~3vDv@+b8O_xg^J6Z+q-9=B2d8j{N;k!(~fO-2r9iO+d zY0sPRr{SR*^c$G})wI7szk_*OUHbs~S=6ltJUE0dE4dx5seLFtJNy})XBhoy%&S`P z_$Tx!IF97$I5l4D=)=+eI&jx%dMnibS-3xA71Q5bh_4F|q|t8_mv(xzzeL}R>#pbE zp10`oQ5-v35AGdH&xGT*KHL|i7sUDKd7XbX{dNw?^Mdv;Jr9oe2Jqky^o~mGXhXPb z5B+!s@ka3Y0eU;Mr!m}nfqn|>XA`(PV^ve1GwM>#j_MEMxGK>bVjjMTcwcM!W_60T zqc6ej59uzGW@ zTjF2Ud1}$?VBM3a*VN~&UZ9u9ynPMsYee6L_?9~U6?$u1^0$IJ{ph>Yp>IcD*Ll98 zA6I|1qpjhdWAx!Q#M{8bxt})uva5-=g~wi?-&Us%JK9eByY$+~{|4M%M4yHH?REaM z^ij`9o;Ts%qH1SqQzfvvAdgSSd+C4Sc#)^7EGsmCKC6J_k=dx;51l~Q_d`0teN*W7 zFfN_7e?>2gPNaySq6gIi_j?J#fOf%_`c<@s$p`Yt?BgI+MBcz<}X4*eR| zlL6Z6(bHkS1L2_;>7%fY$*T!wV6;B~_kBpOgLQZWJUD^g0zMLMeM0{V zJ_;V1O+SNi`2g-Lq|5tIcJxDdWF0*(j+c+%@m=&0Xy?c9z!7>q)N{1XbBvyfI*fr^ zr|3_k4rAe-v-J1jNaNqCr3Fz+xc>F4TRUzruM0hBBO_>%rPWRz@auPgH zntl`aAsy|{)AQjxH5nf4NS_Fw0(Xy~KZWCZD%?Apz8*de?%GIy5_zWUJSXT|5&sF? zx<$`|>*N_aPad_HCi~SckM#FbxW5GbEsWP^@R*yPDU-y14v$x(FU=)B6CQkl{x9nG zh4v2gn#Co47Ca`4d$K)p%gv6?hP#*2%i%o!CERzEUJ>WR=hbqu7 z!M}nB+t8QcJoPo)JBEG^`<)B-tf7Z&$v+PsKSGyBFzo1jc;qsD9oC-(aOW2NUA1ng z|5>@zcdifLs#ZJs`Gtsc-CKJi6xPp;Y$hIuKEDA>`(@IV>*mzW1j;C2K0?~hCT zQk}meJzi9N8QdC9KY)3*93GiPZ(&RP3b^}w`q5(IA)P-)|Eak6N_ae_j%k1QRPj}C zUnzPgvuQu2QX_gl}J{$9cL{YJR24802CH^GB1(X+z8hll#n{qW6j z`&0Vj60+YgJhG8~q`3GNo#za_#be@I;jZN8j@6QERZ(I`x52&F7~dM}=60RuF8vVd zwgc`ItZVvPpt$7OspD(X*W$Wo7u@fo%dKEL`U5;ZhJFLSTl;EyK^*@-!d++R7qE`( zfm>NTraigUtrhitfR2BfJ{`Uf9_mPc8onPMpF}T*`X7MXYw5kQZbsnF7J6}99~^{- zx6Y4WJhyM%@)u#`{eow;PZ_$g`(%(~X?*w{I ztedCdz8Q4=I{XaW|0(_3{E{aIcQ2J1BL3Fe$~MF z;8%FK9(^i~>+^75PkIdXya4xnLbu_+>G&;ld7eYP9{>;hMel?9UxLSrJa5{w7kPe% zha1qdqQ8H@Bc16kTu=WAkM*Lb%P9N3tn>TnO^S;D1@}y#=fV8H0{5+=%X3BQ{Q#Z+ zIQn1?sv@n7gi z5&t(l;%Z>pBe#z2=q2H3Fdv+b~rgwtpfV&*Het3-@%Vhw=IJiLOwsEp((4EIOryU?#9aL;}EEv%D|Yfo!p z>LAZws`mrnp%(P6sQ(jiJ3!x5R^p$8#}?7&WBxw{cMj0Uqy4tdbA|pduJ?**&(zek zXJ1yyUmPCKO_wJU)cXPO@MH8cINnR>`26%waNS=L?o^~7NtHaM;Qm+WCrgW$hI@z5 z+m{e80}sun%cE9yw5*QbMz@ehe(Q&tZ@<%5p+4o{F4v2uzZHs09=Us{=5rN#I@GO# z&eNPe5U(#P!Xv%tgK!3 zovaFXhv;X}{{O*Uhv~nfK2O7~Tl5j|YH+9MOR^grkB3p8>TrKO`X;!%o1*TwcBg-o zD($QZ509gdLfxK$dza9+qW$tNtopfK^bNS)t__bx>Ag{hIy%o;x{Q<^eHI@0m9DRU z>cXA#^p-fTJ@EJ~`YNn@&%r~bUzTQ}4zE|0{BjpYJv-i(K2_avx1;rS`~>=K+%JA! z`zHFT$`Y@C0hIp={j>7o4RrpZ&15&&Z>XYpLwL9e{V2QiqzCI6qx}Ka?GP8E%!L=fON|2Dcm0m!q9t zcw{jBKJHUD*S?(oC;Sz7_#Azmy7jHz4}b>>H#hBE<`$QCoz?toLhp(^ufc=w(+{d! z&~~(?&a;-D2YFiQ`1ABRI9^_dd$YY__FEgrduzD!B)wNg$=?QUm7s5jw}nT_(w7&L z_;&C>Q+h$nlQ-bOf%M9lpY7qX#dNtvrrrp77Xodh-er-wW>9MsJ9A_J%t*=q=!H!Q-W0GwokpS@QIOhg#G7 zV}8C3cTb{65$}h)w$QsHe_wdu8ht+IVLzRxL`$>ZlW6}tI?pTgD!ATw7w#QIFP~T1 z*#dq%?D^XV5eOP*11dpW%^>iGfOzk*&#^~8NodobzJIr+V%{$W!PA9Hsx{XKa_ zy$%^R6&|*`8js!;p9T*W?Pk2eTJ`?jH_zZY#Zx7>> z{uTce?%&hXc=xN~pXvBby^OcLA^thsv%0tO=kJKmggeXLGJf%z_!scNoIb`MyDmNp z9-RKR@p6BQ&xS|F`;E6m{FiX|h`z?ZzbElQczjqt<2jLM4&3Vhj`7U5CH^b8tIxZ} zv!eZ9!|m?x6ki{YMnLyeC{f0w``HHR7h2>F-7egAvkc&l4dhh^|^`QgT&!1ykQ z$BG4v&qVwRc%aA#HrQ$eYrhZ{U$j9~*Cm_IwMs&yF_U7rqW2jE*txM|;-8T?fY+ zFNpSUfV+2&Gd>#Q@*O<9dA#wLFn>1cJR2t%zmNQzw6C3LT=(~TxOc@Q1B&2aYu z$M`SUZy0XRnQS~A@^8`cpG`5I9(lIHJ({j5o#jZio9POgH`kdt!#P8F2UYu=w9^&`I0Ni>uXuJa26Vdsr&oSN_ zc@DyzieDK&i1qhCMkJSUeJe;n;R2@f4! zYJ3IudkXH`yUh4E*zak$y=}Sij>vOH=ijixcpBnk@Ng((ya?jY!ea|o8h;$^`~_~! zS!H|y#`hdNG;_7_Lulu(aA(>Yy0-?p5NhCw++Vs#5(f_Jl^R$LWUJx-JK>Je=ANca1@#^sO@bHX7#yg??8Q|_IhmHS<_GE)9I4%)AOVRgv+v++)d&#Ch_IcahxPPtw z+@Hit{@|s5lD_AG{J~4bGs@5U*XqwDN&IcZ%Ts0I`g2M0cNwqXrD{pfkRm4W7ZG0_ z?pvD?F5i>*c>Y)6p|iG$?+}yEE3|;yTZ=su-!bWxO#D`rKc2r6Jif*KQ2fxOH#YJ8 z5kCy>-_peROX`#!&;LF={7zHjE!8DPJpXXGUF^jN@;fKww?(M=cz%e9zpnB-CzdDu zJ>xszE8x!gp%3Lbo%AIp{wCtjBz@^a@v)@q=ZvJzP1MrjoHz@QZPU*gN!z5(&WQ|} zgOgT{yp`7f6Xj# z-?ZfO6v|}3{+ij7uAh&P_&X}Uzh;i4>*pgBC*#wSuHR>t_^XI7mvsF;GvmuAUBAyP z@rygCcF)xAx~cuY_)tUr3*Mct^!v{e-}#DquDM}F8Ek`8?_) zwQd~N?i4Bjm+wh`-F;rx?O9#K#7|S}w!2R=ohS6TaaqUQeZ274ilPtYX_xdeCcebK z68{F=wY;qHv5zYst39}zj{S~pk9g0{G!u{gj(roZK9Bd{e#iDodUX?DO7=UpH{83u zhVkzUt2)fp?mA6>KZ`2HGVRU<`T{jGBdfG~{-n>!td5@z+GE$~N7afH->f}+i~dv& zb$;2KjL%Thv`5C#yZ0^K&g?R#?f;_yC)mHhpZsCw1;xg*Q$7zwG{2~=cCIwx~ygJSo*;a z^vh-ako0M0zcP;DaoYW3wf|R#P})Ak`^tW1;-#LUwEb|a)aS-qs(Oaf4(RxjGauM* zDDCH@>-%u>&ED#`2&J8bM^YD>JVR~eO|^TUr(?fOPa!_;S!Cj|-=?SGUeDqO_uKUM zq<>@LkIR0W{sDK_{nofV=V0~FZnvZFSI1+#ul9In`WjV#dx-W>Z@P@5YovDXyYyw* z)bTrByEUBNTE#olwEI4y%Q!mI{zN+?{ntIvFK1e2^;0Tee|_IVzA5AAv9rK^_q0ol ztgDe#IpFb$QPW?kXJnQB2P2$u#~;WaSycq_&N%&gTE2Nh)h)8>aqVOE>uK>`wz~c~ ztle5dm;AxQMG+rdaPfis!NX;fu3tyWH}9$Z!NY0V=j+#z;?-4t&voswo%AkQRh|FU z?v2pDQ|`%94tZQB=rS&Dm-f(Ey8ND?V1DiK3-pp|ygascJ3*Im@!0ww&TwLXKhQ5v z@*mD{V)}K4d{f3HzC{0n8g@7RIzutW#rOJ)Xs44`U++u2)Xn$$OK`WVFs>^Z-zMp$ z;1XY7*0I;y!UMTW8(&{Z&CfB~J$31l-yWm?A&*!sd5T1DGEeL=J&-3>OFrG8&)3yd zetS$$xLvE7@%t6je%B?v2Yr${UR+zWhx*b#P&3)}gLcm#`j0B!eNek=1iikBj~vtP z`Rm##yg`UCw6p8Y84ubB4BxOm_C81Bma>I3ny%j4j|k6W2| zsax#wc(~_-*Nw}0BzAcMJT$8HLwP<+dKVL)g80wj;gMa9%SZg2)R}PqH+0#rllleR zwYr;$$9XeVX0`ggY^%CIuwN&2QPSTv@#)lloz%r}XJvom8!D@xZ>8OPj-EZc8kbJm zeSgvaR>wuCPttGGYpTqi0osGs0F(c=`di?=q-UfbRpT2TsXdTGyYxlop?AdhXs0W? z{)ePwo@ahq&7XbRZ4Z6wbLx87wHfi@5p=J*zvp*_b)Et8^u3#-*{W%GDx(O!FX1AKRU9`t5)A8^8Nh2O@k1Ft} l0*@;2r~;2F@TdZhD)6WRk1Ft}0*@;2r~;2F@c+32{|6QsPTv3k literal 0 HcmV?d00001 diff --git a/Ryujinx.Ava/nodeStorage b/Ryujinx.Ava/nodeStorage new file mode 100644 index 0000000000000000000000000000000000000000..98a03f761ff788b2220917dc5b3718ca18007871 GIT binary patch literal 16384 zcmeIuF%1A95Cgyu3pQ|y9dw`qAqe1Ekic|JnkF4DBBEq>pEc*Dt#NN5K!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 P2oNAZfB*pk1U?8H5h?@W literal 0 HcmV?d00001 diff --git a/Ryujinx.Common/Configuration/GraphicsBackend.cs b/Ryujinx.Common/Configuration/GraphicsBackend.cs new file mode 100644 index 000000000..26e4a28a9 --- /dev/null +++ b/Ryujinx.Common/Configuration/GraphicsBackend.cs @@ -0,0 +1,8 @@ +namespace Ryujinx.Common.Configuration +{ + public enum GraphicsBackend + { + Vulkan, + OpenGl + } +} diff --git a/Ryujinx.Graphics.GAL/Format.cs b/Ryujinx.Graphics.GAL/Format.cs index 50cc6d40c..db944844f 100644 --- a/Ryujinx.Graphics.GAL/Format.cs +++ b/Ryujinx.Graphics.GAL/Format.cs @@ -165,6 +165,120 @@ namespace Ryujinx.Graphics.GAL public static class FormatExtensions { + /// + /// Checks if the texture format is valid to use as image format. + /// + /// Texture format + /// True if the texture can be used as image, false otherwise + public static bool IsImageCompatible(this Format format) + { + switch (format) + { + case Format.R8Unorm: + case Format.R8Snorm: + case Format.R8Uint: + case Format.R8Sint: + case Format.R16Float: + case Format.R16Unorm: + case Format.R16Snorm: + case Format.R16Uint: + case Format.R16Sint: + case Format.R32Float: + case Format.R32Uint: + case Format.R32Sint: + case Format.R8G8Unorm: + case Format.R8G8Snorm: + case Format.R8G8Uint: + case Format.R8G8Sint: + case Format.R16G16Float: + case Format.R16G16Unorm: + case Format.R16G16Snorm: + case Format.R16G16Uint: + case Format.R16G16Sint: + case Format.R32G32Float: + case Format.R32G32Uint: + case Format.R32G32Sint: + case Format.R8G8B8A8Unorm: + case Format.R8G8B8A8Snorm: + case Format.R8G8B8A8Uint: + case Format.R8G8B8A8Sint: + case Format.R16G16B16A16Float: + case Format.R16G16B16A16Unorm: + case Format.R16G16B16A16Snorm: + case Format.R16G16B16A16Uint: + case Format.R16G16B16A16Sint: + case Format.R32G32B32A32Float: + case Format.R32G32B32A32Uint: + case Format.R32G32B32A32Sint: + case Format.R10G10B10A2Unorm: + case Format.R10G10B10A2Uint: + case Format.R11G11B10Float: + return true; + } + + return false; + } + + /// + /// Checks if the texture format is valid to use as render target color format. + /// + /// Texture format + /// True if the texture can be used as render target, false otherwise + public static bool IsRtColorCompatible(this Format format) + { + switch (format) + { + case Format.R32G32B32A32Float: + case Format.R32G32B32A32Sint: + case Format.R32G32B32A32Uint: + case Format.R16G16B16A16Unorm: + case Format.R16G16B16A16Snorm: + case Format.R16G16B16A16Sint: + case Format.R16G16B16A16Uint: + case Format.R16G16B16A16Float: + case Format.R32G32Float: + case Format.R32G32Sint: + case Format.R32G32Uint: + case Format.B8G8R8A8Unorm: + case Format.B8G8R8A8Srgb: + case Format.R10G10B10A2Unorm: + case Format.R10G10B10A2Uint: + case Format.R8G8B8A8Unorm: + case Format.R8G8B8A8Srgb: + case Format.R8G8B8A8Snorm: + case Format.R8G8B8A8Sint: + case Format.R8G8B8A8Uint: + case Format.R16G16Unorm: + case Format.R16G16Snorm: + case Format.R16G16Sint: + case Format.R16G16Uint: + case Format.R16G16Float: + case Format.R11G11B10Float: + case Format.R32Sint: + case Format.R32Uint: + case Format.R32Float: + case Format.B5G6R5Unorm: + case Format.B5G5R5A1Unorm: + case Format.R8G8Unorm: + case Format.R8G8Snorm: + case Format.R8G8Sint: + case Format.R8G8Uint: + case Format.R16Unorm: + case Format.R16Snorm: + case Format.R16Sint: + case Format.R16Uint: + case Format.R16Float: + case Format.R8Unorm: + case Format.R8Snorm: + case Format.R8Sint: + case Format.R8Uint: + case Format.B5G5R5X1Unorm: + return true; + } + + return false; + } + /// /// Checks if the texture format is an ASTC format. /// diff --git a/Ryujinx.Graphics.GAL/HardwareInfo.cs b/Ryujinx.Graphics.GAL/HardwareInfo.cs new file mode 100644 index 000000000..0c247074a --- /dev/null +++ b/Ryujinx.Graphics.GAL/HardwareInfo.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Ryujinx.Graphics.GAL +{ + public struct HardwareInfo + { + public string GpuVendor { get; } + public string GpuModel { get; } + + public HardwareInfo(string gpuVendor, string gpuModel) + { + GpuVendor = gpuVendor; + GpuModel = gpuModel; + } + } +} diff --git a/Ryujinx.Graphics.GAL/IPipeline.cs b/Ryujinx.Graphics.GAL/IPipeline.cs index 83afcaa3a..c88cc7017 100644 --- a/Ryujinx.Graphics.GAL/IPipeline.cs +++ b/Ryujinx.Graphics.GAL/IPipeline.cs @@ -77,15 +77,13 @@ namespace Ryujinx.Graphics.GAL void SetRenderTargetColorMasks(ReadOnlySpan componentMask); void SetRenderTargets(ITexture[] colors, ITexture depthStencil); - void SetSampler(int binding, ISampler sampler); - - void SetScissor(int index, bool enable, int x, int y, int width, int height); + void SetScissors(ReadOnlySpan> regions); void SetStencilTest(StencilTestDescriptor stencilTest); void SetStorageBuffers(int first, ReadOnlySpan buffers); - void SetTexture(int binding, ITexture texture); + void SetTextureAndSampler(int binding, ITexture texture, ISampler sampler); void SetTransformFeedbackBuffers(ReadOnlySpan buffers); void SetUniformBuffers(int first, ReadOnlySpan buffers); diff --git a/Ryujinx.Graphics.GAL/IRenderer.cs b/Ryujinx.Graphics.GAL/IRenderer.cs index b051e9dc8..8e48738db 100644 --- a/Ryujinx.Graphics.GAL/IRenderer.cs +++ b/Ryujinx.Graphics.GAL/IRenderer.cs @@ -30,6 +30,7 @@ namespace Ryujinx.Graphics.GAL ReadOnlySpan GetBufferData(BufferHandle buffer, int offset, int size); Capabilities GetCapabilities(); + HardwareInfo GetHardwareInfo(); IProgram LoadProgramBinary(byte[] programBinary, bool hasFragmentShader, ShaderInfo info); diff --git a/Ryujinx.Graphics.GAL/Multithreading/CommandHelper.cs b/Ryujinx.Graphics.GAL/Multithreading/CommandHelper.cs index 442a90459..08c766df8 100644 --- a/Ryujinx.Graphics.GAL/Multithreading/CommandHelper.cs +++ b/Ryujinx.Graphics.GAL/Multithreading/CommandHelper.cs @@ -199,14 +199,12 @@ namespace Ryujinx.Graphics.GAL.Multithreading SetRenderTargetScaleCommand.Run(ref GetCommand(memory), threaded, renderer); _lookup[(int)CommandType.SetRenderTargets] = (Span memory, ThreadedRenderer threaded, IRenderer renderer) => SetRenderTargetsCommand.Run(ref GetCommand(memory), threaded, renderer); - _lookup[(int)CommandType.SetSampler] = (Span memory, ThreadedRenderer threaded, IRenderer renderer) => - SetSamplerCommand.Run(ref GetCommand(memory), threaded, renderer); _lookup[(int)CommandType.SetScissor] = (Span memory, ThreadedRenderer threaded, IRenderer renderer) => - SetScissorCommand.Run(ref GetCommand(memory), threaded, renderer); + SetScissorsCommand.Run(ref GetCommand(memory), threaded, renderer); _lookup[(int)CommandType.SetStencilTest] = (Span memory, ThreadedRenderer threaded, IRenderer renderer) => SetStencilTestCommand.Run(ref GetCommand(memory), threaded, renderer); - _lookup[(int)CommandType.SetTexture] = (Span memory, ThreadedRenderer threaded, IRenderer renderer) => - SetTextureCommand.Run(ref GetCommand(memory), threaded, renderer); + _lookup[(int)CommandType.SetTextureAndSampler] = (Span memory, ThreadedRenderer threaded, IRenderer renderer) => + SetTextureAndSamplerCommand.Run(ref GetCommand(memory), threaded, renderer); _lookup[(int)CommandType.SetUserClipDistance] = (Span memory, ThreadedRenderer threaded, IRenderer renderer) => SetUserClipDistanceCommand.Run(ref GetCommand(memory), threaded, renderer); _lookup[(int)CommandType.SetVertexAttribs] = (Span memory, ThreadedRenderer threaded, IRenderer renderer) => diff --git a/Ryujinx.Graphics.GAL/Multithreading/CommandType.cs b/Ryujinx.Graphics.GAL/Multithreading/CommandType.cs index 5c42abd12..69cda90c6 100644 --- a/Ryujinx.Graphics.GAL/Multithreading/CommandType.cs +++ b/Ryujinx.Graphics.GAL/Multithreading/CommandType.cs @@ -81,10 +81,9 @@ SetRenderTargetColorMasks, SetRenderTargetScale, SetRenderTargets, - SetSampler, SetScissor, SetStencilTest, - SetTexture, + SetTextureAndSampler, SetUserClipDistance, SetVertexAttribs, SetVertexBuffers, diff --git a/Ryujinx.Graphics.GAL/Multithreading/Commands/SetSamplerCommand.cs b/Ryujinx.Graphics.GAL/Multithreading/Commands/SetSamplerCommand.cs deleted file mode 100644 index f3be24dbf..000000000 --- a/Ryujinx.Graphics.GAL/Multithreading/Commands/SetSamplerCommand.cs +++ /dev/null @@ -1,23 +0,0 @@ -using Ryujinx.Graphics.GAL.Multithreading.Model; -using Ryujinx.Graphics.GAL.Multithreading.Resources; - -namespace Ryujinx.Graphics.GAL.Multithreading.Commands -{ - struct SetSamplerCommand : IGALCommand - { - public CommandType CommandType => CommandType.SetSampler; - private int _index; - private TableRef _sampler; - - public void Set(int index, TableRef sampler) - { - _index = index; - _sampler = sampler; - } - - public static void Run(ref SetSamplerCommand command, ThreadedRenderer threaded, IRenderer renderer) - { - renderer.Pipeline.SetSampler(command._index, command._sampler.GetAs(threaded)?.Base); - } - } -} diff --git a/Ryujinx.Graphics.GAL/Multithreading/Commands/SetScissorCommand.cs b/Ryujinx.Graphics.GAL/Multithreading/Commands/SetScissorCommand.cs deleted file mode 100644 index 6c95d0969..000000000 --- a/Ryujinx.Graphics.GAL/Multithreading/Commands/SetScissorCommand.cs +++ /dev/null @@ -1,28 +0,0 @@ -namespace Ryujinx.Graphics.GAL.Multithreading.Commands -{ - struct SetScissorCommand : IGALCommand - { - public CommandType CommandType => CommandType.SetScissor; - private int _index; - private bool _enable; - private int _x; - private int _y; - private int _width; - private int _height; - - public void Set(int index, bool enable, int x, int y, int width, int height) - { - _index = index; - _enable = enable; - _x = x; - _y = y; - _width = width; - _height = height; - } - - public static void Run(ref SetScissorCommand command, ThreadedRenderer threaded, IRenderer renderer) - { - renderer.Pipeline.SetScissor(command._index, command._enable, command._x, command._y, command._width, command._height); - } - } -} diff --git a/Ryujinx.Graphics.GAL/Multithreading/Commands/SetScissorsCommand.cs b/Ryujinx.Graphics.GAL/Multithreading/Commands/SetScissorsCommand.cs new file mode 100644 index 000000000..6966df6d5 --- /dev/null +++ b/Ryujinx.Graphics.GAL/Multithreading/Commands/SetScissorsCommand.cs @@ -0,0 +1,22 @@ +using Ryujinx.Graphics.GAL.Multithreading.Model; + +namespace Ryujinx.Graphics.GAL.Multithreading.Commands +{ + struct SetScissorsCommand : IGALCommand + { + public CommandType CommandType => CommandType.SetScissor; + private SpanRef> _scissors; + + public void Set(SpanRef> scissors) + { + _scissors = scissors; + } + + public static void Run(ref SetScissorsCommand command, ThreadedRenderer threaded, IRenderer renderer) + { + renderer.Pipeline.SetScissors(command._scissors.Get(threaded)); + + command._scissors.Dispose(threaded); + } + } +} diff --git a/Ryujinx.Graphics.GAL/Multithreading/Commands/SetTextureAndSamplerCommand.cs b/Ryujinx.Graphics.GAL/Multithreading/Commands/SetTextureAndSamplerCommand.cs new file mode 100644 index 000000000..27700278b --- /dev/null +++ b/Ryujinx.Graphics.GAL/Multithreading/Commands/SetTextureAndSamplerCommand.cs @@ -0,0 +1,25 @@ +using Ryujinx.Graphics.GAL.Multithreading.Model; +using Ryujinx.Graphics.GAL.Multithreading.Resources; + +namespace Ryujinx.Graphics.GAL.Multithreading.Commands +{ + struct SetTextureAndSamplerCommand : IGALCommand + { + public CommandType CommandType => CommandType.SetTextureAndSampler; + private int _binding; + private TableRef _texture; + private TableRef _sampler; + + public void Set(int binding, TableRef texture, TableRef sampler) + { + _binding = binding; + _texture = texture; + _sampler = sampler; + } + + public static void Run(ref SetTextureAndSamplerCommand command, ThreadedRenderer threaded, IRenderer renderer) + { + renderer.Pipeline.SetTextureAndSampler(command._binding, command._texture.GetAs(threaded)?.Base, command._sampler.GetAs(threaded)?.Base); + } + } +} diff --git a/Ryujinx.Graphics.GAL/Multithreading/Commands/SetTextureCommand.cs b/Ryujinx.Graphics.GAL/Multithreading/Commands/SetTextureCommand.cs deleted file mode 100644 index e86f512be..000000000 --- a/Ryujinx.Graphics.GAL/Multithreading/Commands/SetTextureCommand.cs +++ /dev/null @@ -1,23 +0,0 @@ -using Ryujinx.Graphics.GAL.Multithreading.Model; -using Ryujinx.Graphics.GAL.Multithreading.Resources; - -namespace Ryujinx.Graphics.GAL.Multithreading.Commands -{ - struct SetTextureCommand : IGALCommand - { - public CommandType CommandType => CommandType.SetTexture; - private int _binding; - private TableRef _texture; - - public void Set(int binding, TableRef texture) - { - _binding = binding; - _texture = texture; - } - - public static void Run(ref SetTextureCommand command, ThreadedRenderer threaded, IRenderer renderer) - { - renderer.Pipeline.SetTexture(command._binding, command._texture.GetAs(threaded)?.Base); - } - } -} diff --git a/Ryujinx.Graphics.GAL/Multithreading/ThreadedPipeline.cs b/Ryujinx.Graphics.GAL/Multithreading/ThreadedPipeline.cs index 2a1f474a9..a9f7c8e9d 100644 --- a/Ryujinx.Graphics.GAL/Multithreading/ThreadedPipeline.cs +++ b/Ryujinx.Graphics.GAL/Multithreading/ThreadedPipeline.cs @@ -244,15 +244,9 @@ namespace Ryujinx.Graphics.GAL.Multithreading _renderer.QueueCommand(); } - public void SetSampler(int binding, ISampler sampler) + public void SetScissors(ReadOnlySpan> scissors) { - _renderer.New().Set(binding, Ref(sampler)); - _renderer.QueueCommand(); - } - - public void SetScissor(int index, bool enable, int x, int y, int width, int height) - { - _renderer.New().Set(index, enable, x, y, width, height); + _renderer.New().Set(_renderer.CopySpan(scissors)); _renderer.QueueCommand(); } @@ -268,9 +262,9 @@ namespace Ryujinx.Graphics.GAL.Multithreading _renderer.QueueCommand(); } - public void SetTexture(int binding, ITexture texture) + public void SetTextureAndSampler(int binding, ITexture texture, ISampler sampler) { - _renderer.New().Set(binding, Ref(texture)); + _renderer.New().Set(binding, Ref(texture), Ref(sampler)); _renderer.QueueCommand(); } diff --git a/Ryujinx.Graphics.GAL/Multithreading/ThreadedRenderer.cs b/Ryujinx.Graphics.GAL/Multithreading/ThreadedRenderer.cs index 63b668bac..6a123108a 100644 --- a/Ryujinx.Graphics.GAL/Multithreading/ThreadedRenderer.cs +++ b/Ryujinx.Graphics.GAL/Multithreading/ThreadedRenderer.cs @@ -337,6 +337,11 @@ namespace Ryujinx.Graphics.GAL.Multithreading return box.Result; } + public HardwareInfo GetHardwareInfo() + { + return _baseRenderer.GetHardwareInfo(); + } + /// /// Initialize the base renderer. Must be called on the render thread. /// diff --git a/Ryujinx.Graphics.GAL/Rectangle.cs b/Ryujinx.Graphics.GAL/Rectangle.cs new file mode 100644 index 000000000..375472da3 --- /dev/null +++ b/Ryujinx.Graphics.GAL/Rectangle.cs @@ -0,0 +1,18 @@ +namespace Ryujinx.Graphics.GAL +{ + public struct Rectangle where T : unmanaged + { + public T X { get; } + public T Y { get; } + public T Width { get; } + public T Height { get; } + + public Rectangle(T x, T y, T width, T height) + { + X = x; + Y = y; + Width = width; + Height = height; + } + } +} diff --git a/Ryujinx.Graphics.GAL/ShaderBindings.cs b/Ryujinx.Graphics.GAL/ShaderBindings.cs new file mode 100644 index 000000000..dc6099fe5 --- /dev/null +++ b/Ryujinx.Graphics.GAL/ShaderBindings.cs @@ -0,0 +1,30 @@ +using System.Collections.Generic; + +namespace Ryujinx.Graphics.GAL +{ + public struct ShaderBindings + { + public IReadOnlyCollection UniformBufferBindings { get; } + public IReadOnlyCollection StorageBufferBindings { get; } + public IReadOnlyCollection TextureBindings { get; } + public IReadOnlyCollection ImageBindings { get; } + public IReadOnlyCollection BufferTextureBindings { get; } + public IReadOnlyCollection BufferImageBindings { get; } + + public ShaderBindings( + IReadOnlyCollection uniformBufferBindings, + IReadOnlyCollection storageBufferBindings, + IReadOnlyCollection textureBindings, + IReadOnlyCollection imageBindings, + IReadOnlyCollection bufferTextureBindings, + IReadOnlyCollection bufferImageBindings) + { + UniformBufferBindings = uniformBufferBindings; + StorageBufferBindings = storageBufferBindings; + TextureBindings = textureBindings; + ImageBindings = imageBindings; + BufferTextureBindings = bufferTextureBindings; + BufferImageBindings = bufferImageBindings; + } + } +} diff --git a/Ryujinx.Graphics.GAL/ShaderSource.cs b/Ryujinx.Graphics.GAL/ShaderSource.cs index 13b92f20a..c68ba80d6 100644 --- a/Ryujinx.Graphics.GAL/ShaderSource.cs +++ b/Ryujinx.Graphics.GAL/ShaderSource.cs @@ -7,22 +7,24 @@ namespace Ryujinx.Graphics.GAL { public string Code { get; } public byte[] BinaryCode { get; } + public ShaderBindings Bindings { get; } public ShaderStage Stage { get; } public TargetLanguage Language { get; } - public ShaderSource(string code, byte[] binaryCode, ShaderStage stage, TargetLanguage language) + public ShaderSource(string code, byte[] binaryCode, ShaderBindings bindings, ShaderStage stage, TargetLanguage language) { Code = code; BinaryCode = binaryCode; + Bindings = bindings; Stage = stage; Language = language; } - public ShaderSource(string code, ShaderStage stage, TargetLanguage language) : this(code, null, stage, language) + public ShaderSource(string code, ShaderBindings bindings, ShaderStage stage, TargetLanguage language) : this(code, null, bindings, stage, language) { } - public ShaderSource(byte[] binaryCode, ShaderStage stage, TargetLanguage language) : this(null, binaryCode, stage, language) + public ShaderSource(byte[] binaryCode, ShaderBindings bindings, ShaderStage stage, TargetLanguage language) : this(null, binaryCode, bindings, stage, language) { } } diff --git a/Ryujinx.Graphics.GAL/Viewport.cs b/Ryujinx.Graphics.GAL/Viewport.cs index d9d6e20a4..58135db2c 100644 --- a/Ryujinx.Graphics.GAL/Viewport.cs +++ b/Ryujinx.Graphics.GAL/Viewport.cs @@ -2,7 +2,7 @@ namespace Ryujinx.Graphics.GAL { public struct Viewport { - public RectangleF Region { get; } + public Rectangle Region { get; } public ViewportSwizzle SwizzleX { get; } public ViewportSwizzle SwizzleY { get; } @@ -13,13 +13,13 @@ namespace Ryujinx.Graphics.GAL public float DepthFar { get; } public Viewport( - RectangleF region, - ViewportSwizzle swizzleX, - ViewportSwizzle swizzleY, - ViewportSwizzle swizzleZ, - ViewportSwizzle swizzleW, - float depthNear, - float depthFar) + Rectangle region, + ViewportSwizzle swizzleX, + ViewportSwizzle swizzleY, + ViewportSwizzle swizzleZ, + ViewportSwizzle swizzleW, + float depthNear, + float depthFar) { Region = region; SwizzleX = swizzleX; diff --git a/Ryujinx.Graphics.Gpu/Constants.cs b/Ryujinx.Graphics.Gpu/Constants.cs index 026d12a92..455029f54 100644 --- a/Ryujinx.Graphics.Gpu/Constants.cs +++ b/Ryujinx.Graphics.Gpu/Constants.cs @@ -40,6 +40,22 @@ namespace Ryujinx.Graphics.Gpu /// public const int TotalTransformFeedbackBuffers = 4; + /// + /// Maximum number of textures on a single shader stage. + /// + /// + /// The maximum number of textures is API limited, the hardware supports a unlimited amount. + /// + public const int TotalTextures = 32; + + /// + /// Maximum number of images on a single shader stage. + /// + /// + /// The maximum number of images is API limited, the hardware supports a unlimited amount. + /// + public const int TotalImages = 8; + /// /// Maximum number of render target color buffers. /// diff --git a/Ryujinx.Graphics.Gpu/Engine/Threed/DrawManager.cs b/Ryujinx.Graphics.Gpu/Engine/Threed/DrawManager.cs index f90baf99e..6dc5dca5b 100644 --- a/Ryujinx.Graphics.Gpu/Engine/Threed/DrawManager.cs +++ b/Ryujinx.Graphics.Gpu/Engine/Threed/DrawManager.cs @@ -559,7 +559,10 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed scissorH = (int)MathF.Ceiling(scissorH * scale); } - _context.Renderer.Pipeline.SetScissor(0, true, scissorX, scissorY, scissorW, scissorH); + Span> scissors = stackalloc Rectangle[1]; + scissors[0] = new Rectangle(scissorX, scissorY, scissorW, scissorH); + + _context.Renderer.Pipeline.SetScissors(scissors); } if (clipMismatch) diff --git a/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs b/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs index c64c760ae..dbb5327ed 100644 --- a/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs +++ b/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs @@ -493,11 +493,21 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed /// public void UpdateScissorState() { + const int MinX = 0; + const int MinY = 0; + const int MaxW = 0xffff; + const int MaxH = 0xffff; + + Span> regions = stackalloc Rectangle[Constants.TotalViewports]; + for (int index = 0; index < Constants.TotalViewports; index++) { ScissorState scissor = _state.State.ScissorState[index]; - bool enable = scissor.Enable && (scissor.X1 != 0 || scissor.Y1 != 0 || scissor.X2 != 0xffff || scissor.Y2 != 0xffff); + bool enable = scissor.Enable && (scissor.X1 != MinX || + scissor.Y1 != MinY || + scissor.X2 != MaxW || + scissor.Y2 != MaxH); if (enable) { @@ -527,13 +537,15 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed height = (int)MathF.Ceiling(height * scale); } - _context.Renderer.Pipeline.SetScissor(index, true, x, y, width, height); + regions[index] = new Rectangle(x, y, width, height); } else { - _context.Renderer.Pipeline.SetScissor(index, false, 0, 0, 0, 0); + regions[index] = new Rectangle(MinX, MinY, MaxW, MaxH); } } + + _context.Renderer.Pipeline.SetScissors(regions); } /// @@ -592,7 +604,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed ref var scissor = ref _state.State.ScreenScissorState; float rScale = _channel.TextureManager.RenderTargetScale; - var scissorRect = new RectangleF(0, 0, (scissor.X + scissor.Width) * rScale, (scissor.Y + scissor.Height) * rScale); + var scissorRect = new Rectangle(0, 0, (scissor.X + scissor.Width) * rScale, (scissor.Y + scissor.Height) * rScale); viewports[index] = new Viewport(scissorRect, ViewportSwizzle.PositiveX, ViewportSwizzle.PositiveY, ViewportSwizzle.PositiveZ, ViewportSwizzle.PositiveW, 0, 1); continue; @@ -629,7 +641,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed height *= scale; } - RectangleF region = new RectangleF(x, y, width, height); + Rectangle region = new Rectangle(x, y, width, height); ViewportSwizzle swizzleX = transform.UnpackSwizzleX(); ViewportSwizzle swizzleY = transform.UnpackSwizzleY(); @@ -649,6 +661,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed viewports[index] = new Viewport(region, swizzleX, swizzleY, swizzleZ, swizzleW, depthNear, depthFar); } + _context.Renderer.Pipeline.SetDepthMode(GetDepthMode()); _context.Renderer.Pipeline.SetViewports(0, viewports, disableTransform); } @@ -1231,7 +1244,29 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed _state.State.EarlyZForce, _drawState.Topology, _state.State.TessMode, - _state.State.ViewportTransformEnable == 0); + _state.State.ViewportTransformEnable == 0, + GetDepthMode() == DepthMode.MinusOneToOne, + _state.State.VertexProgramPointSize, + _state.State.PointSize); + } + + private DepthMode GetDepthMode() + { + ref var transform = ref _state.State.ViewportTransform[0]; + ref var extents = ref _state.State.ViewportExtents[0]; + + // Try to guess the depth mode being used on the high level API + // based on current transform. + // It is setup like so by said APIs: + // If depth mode is ZeroToOne: + // TranslateZ = Near + // ScaleZ = Far - Near + // If depth mode is MinusOneToOne: + // TranslateZ = (Near + Far) / 2 + // ScaleZ = (Far - Near) / 2 + // DepthNear/Far are sorted such as that Near is always less than Far. + return extents.DepthNear != transform.TranslateZ && + extents.DepthFar != transform.TranslateZ ? DepthMode.MinusOneToOne : DepthMode.ZeroToOne; } /// diff --git a/Ryujinx.Graphics.Gpu/Engine/Threed/ThreedClassState.cs b/Ryujinx.Graphics.Gpu/Engine/Threed/ThreedClassState.cs index 81a228315..172e8c370 100644 --- a/Ryujinx.Graphics.Gpu/Engine/Threed/ThreedClassState.cs +++ b/Ryujinx.Graphics.Gpu/Engine/Threed/ThreedClassState.cs @@ -311,6 +311,15 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed { return Attribute & 0x3fe00000; } + + /// + /// Unpacks the Maxwell attribute component type. + /// + /// Attribute component type + public uint UnpackType() + { + return (Attribute >> 27) & 7; + } } /// diff --git a/Ryujinx.Graphics.Gpu/GraphicsConfig.cs b/Ryujinx.Graphics.Gpu/GraphicsConfig.cs index 493dbd7bd..9f9de50f6 100644 --- a/Ryujinx.Graphics.Gpu/GraphicsConfig.cs +++ b/Ryujinx.Graphics.Gpu/GraphicsConfig.cs @@ -56,5 +56,10 @@ namespace Ryujinx.Graphics.Gpu /// Enables or disables the shader cache. /// public static bool EnableShaderCache; + + /// + /// Enables or disables shader SPIR-V compilation. + /// + public static bool EnableSpirvCompilation; } } \ No newline at end of file diff --git a/Ryujinx.Graphics.Gpu/Image/TextureBindingsManager.cs b/Ryujinx.Graphics.Gpu/Image/TextureBindingsManager.cs index 91cadde3e..6c932442b 100644 --- a/Ryujinx.Graphics.Gpu/Image/TextureBindingsManager.cs +++ b/Ryujinx.Graphics.Gpu/Image/TextureBindingsManager.cs @@ -435,6 +435,25 @@ namespace Ryujinx.Graphics.Gpu.Image } } + /// + /// Counts the total number of texture bindings used by all shader stages. + /// + /// The total amount of textures used + private int GetTextureBindingsCount() + { + int count = 0; + + for (int i = 0; i < _textureBindings.Length; i++) + { + if (_textureBindings[i] != null) + { + count += _textureBindings[i].Length; + } + } + + return count; + } + /// /// Ensures that the texture bindings are visible to the host GPU. /// Note: this actually performs the binding using the host graphics API. @@ -511,7 +530,7 @@ namespace Ryujinx.Graphics.Gpu.Image state.ScaleIndex = index; state.UsageFlags = usageFlags; - _context.Renderer.Pipeline.SetTexture(bindingInfo.Binding, hostTextureRebind); + _context.Renderer.Pipeline.SetTextureAndSampler(bindingInfo.Binding, hostTextureRebind, state.Sampler); } continue; @@ -524,7 +543,10 @@ namespace Ryujinx.Graphics.Gpu.Image specStateMatches &= specState.MatchesTexture(stage, index, descriptor); + Sampler sampler = _samplerPool?.Get(samplerId); + ITexture hostTexture = texture?.GetTargetTexture(bindingInfo.Target); + ISampler hostSampler = sampler?.GetHostSampler(texture); if (hostTexture != null && texture.Target == Target.TextureBuffer) { @@ -535,7 +557,7 @@ namespace Ryujinx.Graphics.Gpu.Image } else { - if (state.Texture != hostTexture) + if (state.Texture != hostTexture || state.Sampler != hostSampler) { if (UpdateScale(texture, usageFlags, index, stage)) { @@ -546,22 +568,13 @@ namespace Ryujinx.Graphics.Gpu.Image state.ScaleIndex = index; state.UsageFlags = usageFlags; - _context.Renderer.Pipeline.SetTexture(bindingInfo.Binding, hostTexture); - } - - Sampler sampler = samplerPool?.Get(samplerId); - state.CachedSampler = sampler; - - ISampler hostSampler = sampler?.GetHostSampler(texture); - - if (state.Sampler != hostSampler) - { state.Sampler = hostSampler; - _context.Renderer.Pipeline.SetSampler(bindingInfo.Binding, hostSampler); + _context.Renderer.Pipeline.SetTextureAndSampler(bindingInfo.Binding, hostTexture, hostSampler); } state.CachedTexture = texture; + state.CachedSampler = sampler; state.InvalidatedSequence = texture?.InvalidatedSequence ?? 0; } } diff --git a/Ryujinx.Graphics.Gpu/Memory/BufferManager.cs b/Ryujinx.Graphics.Gpu/Memory/BufferManager.cs index 9f5f39a92..7615d60d6 100644 --- a/Ryujinx.Graphics.Gpu/Memory/BufferManager.cs +++ b/Ryujinx.Graphics.Gpu/Memory/BufferManager.cs @@ -435,7 +435,7 @@ namespace Ryujinx.Graphics.Gpu.Memory } else { - _context.Renderer.Pipeline.SetTexture(binding.BindingInfo.Binding, binding.Texture); + _context.Renderer.Pipeline.SetTextureAndSampler(binding.BindingInfo.Binding, binding.Texture, null); } } diff --git a/Ryujinx.Graphics.Gpu/Memory/MemoryManager.cs b/Ryujinx.Graphics.Gpu/Memory/MemoryManager.cs index 0ac6160d9..9d246b5cb 100644 --- a/Ryujinx.Graphics.Gpu/Memory/MemoryManager.cs +++ b/Ryujinx.Graphics.Gpu/Memory/MemoryManager.cs @@ -252,6 +252,11 @@ namespace Ryujinx.Graphics.Gpu.Memory Write(va, MemoryMarshal.Cast(MemoryMarshal.CreateSpan(ref value, 1))); } + public void WriteUntracked(ulong va, T value) where T : unmanaged + { + WriteUntracked(va, MemoryMarshal.Cast(MemoryMarshal.CreateSpan(ref value, 1))); + } + /// /// Writes data to GPU mapped memory. /// diff --git a/Ryujinx.Graphics.Gpu/Shader/Cache/Migration.cs b/Ryujinx.Graphics.Gpu/Shader/Cache/Migration.cs index 4de6eff91..73c35ae50 100644 --- a/Ryujinx.Graphics.Gpu/Shader/Cache/Migration.cs +++ b/Ryujinx.Graphics.Gpu/Shader/Cache/Migration.cs @@ -167,7 +167,10 @@ namespace Ryujinx.Graphics.Gpu.Shader.Cache accessorHeader.StateFlags.HasFlag(GuestGpuStateFlags.EarlyZForce), topology, tessMode, - false); + false, + false, + false, + 1f); TransformFeedbackDescriptor[] tfdNew = null; diff --git a/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheGpuAccessor.cs b/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheGpuAccessor.cs index bc63f714d..1ab9e8655 100644 --- a/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheGpuAccessor.cs +++ b/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheGpuAccessor.cs @@ -34,7 +34,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache ShaderSpecializationState oldSpecState, ShaderSpecializationState newSpecState, ResourceCounts counts, - int stageIndex) : base(context) + int stageIndex) : base(context, counts, stageIndex) { _data = data; _cb1Data = cb1Data; @@ -67,30 +67,6 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache return MemoryMarshal.Cast(_data.Span.Slice((int)address)); } - /// - public int QueryBindingConstantBuffer(int index) - { - return _resourceCounts.UniformBuffersCount++; - } - - /// - public int QueryBindingStorageBuffer(int index) - { - return _resourceCounts.StorageBuffersCount++; - } - - /// - public int QueryBindingTexture(int index) - { - return _resourceCounts.TexturesCount++; - } - - /// - public int QueryBindingImage(int index) - { - return _resourceCounts.ImagesCount++; - } - /// public int QueryComputeLocalSizeX() => _oldSpecState.ComputeState.LocalSizeX; diff --git a/Ryujinx.Graphics.Gpu/Shader/DiskCache/ParallelDiskCacheLoader.cs b/Ryujinx.Graphics.Gpu/Shader/DiskCache/ParallelDiskCacheLoader.cs index af7579d5d..803b06766 100644 --- a/Ryujinx.Graphics.Gpu/Shader/DiskCache/ParallelDiskCacheLoader.cs +++ b/Ryujinx.Graphics.Gpu/Shader/DiskCache/ParallelDiskCacheLoader.cs @@ -567,6 +567,8 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache TranslatorContext[] translatorContexts = new TranslatorContext[Constants.ShaderStages + 1]; TranslatorContext nextStage = null; + TargetApi api = _context.Capabilities.Api; + for (int stageIndex = Constants.ShaderStages - 1; stageIndex >= 0; stageIndex--) { CachedShaderStage shader = shaders[stageIndex + 1]; @@ -577,7 +579,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache byte[] cb1Data = shader.Cb1Data; DiskCacheGpuAccessor gpuAccessor = new DiskCacheGpuAccessor(_context, guestCode, cb1Data, specState, newSpecState, counts, stageIndex); - TranslatorContext currentStage = DecodeGraphicsShader(gpuAccessor, DefaultFlags, 0); + TranslatorContext currentStage = DecodeGraphicsShader(gpuAccessor, api, DefaultFlags, 0); if (nextStage != null) { @@ -590,7 +592,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache byte[] cb1DataA = shaders[0].Cb1Data; DiskCacheGpuAccessor gpuAccessorA = new DiskCacheGpuAccessor(_context, guestCodeA, cb1DataA, specState, newSpecState, counts, 0); - translatorContexts[0] = DecodeGraphicsShader(gpuAccessorA, DefaultFlags | TranslationFlags.VertexA, 0); + translatorContexts[0] = DecodeGraphicsShader(gpuAccessorA, api, DefaultFlags | TranslationFlags.VertexA, 0); } translatorContexts[stageIndex + 1] = currentStage; @@ -651,7 +653,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache ShaderSpecializationState newSpecState = new ShaderSpecializationState(specState.ComputeState); DiskCacheGpuAccessor gpuAccessor = new DiskCacheGpuAccessor(_context, shader.Code, shader.Cb1Data, specState, newSpecState, counts, 0); - TranslatorContext translatorContext = DecodeComputeShader(gpuAccessor, 0); + TranslatorContext translatorContext = DecodeComputeShader(gpuAccessor, _context.Capabilities.Api, 0); ShaderProgram program = translatorContext.Translate(); diff --git a/Ryujinx.Graphics.Gpu/Shader/GpuAccessor.cs b/Ryujinx.Graphics.Gpu/Shader/GpuAccessor.cs index 5cd966af7..4f8af41df 100644 --- a/Ryujinx.Graphics.Gpu/Shader/GpuAccessor.cs +++ b/Ryujinx.Graphics.Gpu/Shader/GpuAccessor.cs @@ -13,6 +13,7 @@ namespace Ryujinx.Graphics.Gpu.Shader { private readonly GpuChannel _channel; private readonly GpuAccessorState _state; + private readonly AttributeType[] _attributeTypes; private readonly int _stageIndex; private readonly bool _compute; @@ -22,11 +23,18 @@ namespace Ryujinx.Graphics.Gpu.Shader /// GPU context /// GPU channel /// Current GPU state + /// Type of the vertex attributes consumed by the shader /// Graphics shader stage index (0 = Vertex, 4 = Fragment) - public GpuAccessor(GpuContext context, GpuChannel channel, GpuAccessorState state, int stageIndex) : base(context) + public GpuAccessor( + GpuContext context, + GpuChannel channel, + GpuAccessorState state, + AttributeType[] attributeTypes, + int stageIndex) : base(context, state.ResourceCounts, stageIndex) { _channel = channel; _state = state; + _attributeTypes = attributeTypes; _stageIndex = stageIndex; } @@ -36,7 +44,7 @@ namespace Ryujinx.Graphics.Gpu.Shader /// GPU context /// GPU channel /// Current GPU state - public GpuAccessor(GpuContext context, GpuChannel channel, GpuAccessorState state) : base(context) + public GpuAccessor(GpuContext context, GpuChannel channel, GpuAccessorState state) : base(context, state.ResourceCounts, 0) { _channel = channel; _state = state; @@ -67,27 +75,14 @@ namespace Ryujinx.Graphics.Gpu.Shader } /// - public int QueryBindingConstantBuffer(int index) + public AttributeType QueryAttributeType(int location) { - return _state.ResourceCounts.UniformBuffersCount++; - } + if (_attributeTypes != null) + { + return _attributeTypes[location]; + } - /// - public int QueryBindingStorageBuffer(int index) - { - return _state.ResourceCounts.StorageBuffersCount++; - } - - /// - public int QueryBindingTexture(int index) - { - return _state.ResourceCounts.TexturesCount++; - } - - /// - public int QueryBindingImage(int index) - { - return _state.ResourceCounts.ImagesCount++; + return AttributeType.Float; } /// @@ -123,6 +118,18 @@ namespace Ryujinx.Graphics.Gpu.Shader return ConvertToInputTopology(_state.GraphicsState.Topology, _state.GraphicsState.TessellationMode); } + /// + public bool QueryProgramPointSize() + { + return _state.GraphicsState.ProgramPointSizeEnable; + } + + /// + public float QueryPointSize() + { + return _state.GraphicsState.PointSize; + } + /// public bool QueryTessCw() { @@ -192,6 +199,12 @@ namespace Ryujinx.Graphics.Gpu.Shader } } + /// + public bool QueryTransformDepthMinusOneToOne() + { + return _state.GraphicsState.DepthMode; + } + /// public bool QueryTransformFeedbackEnabled() { diff --git a/Ryujinx.Graphics.Gpu/Shader/GpuAccessorBase.cs b/Ryujinx.Graphics.Gpu/Shader/GpuAccessorBase.cs index 5f9dd5880..3da678fe3 100644 --- a/Ryujinx.Graphics.Gpu/Shader/GpuAccessorBase.cs +++ b/Ryujinx.Graphics.Gpu/Shader/GpuAccessorBase.cs @@ -2,6 +2,7 @@ using Ryujinx.Graphics.GAL; using Ryujinx.Graphics.Gpu.Engine.Threed; using Ryujinx.Graphics.Gpu.Image; using Ryujinx.Graphics.Shader; +using Ryujinx.Graphics.Shader.Translation; namespace Ryujinx.Graphics.Gpu.Shader { @@ -11,14 +12,86 @@ namespace Ryujinx.Graphics.Gpu.Shader class GpuAccessorBase { private readonly GpuContext _context; + private readonly ResourceCounts _resourceCounts; + private readonly int _stageIndex; /// /// Creates a new GPU accessor. /// /// GPU context - public GpuAccessorBase(GpuContext context) + public GpuAccessorBase(GpuContext context, ResourceCounts resourceCounts, int stageIndex) { _context = context; + _resourceCounts = resourceCounts; + _stageIndex = stageIndex; + } + + /// + public int QueryBindingConstantBuffer(int index) + { + if (_context.Capabilities.Api == TargetApi.Vulkan) + { + return 1 + GetStageIndex() * 18 + index; + } + else + { + return _resourceCounts.UniformBuffersCount++; + } + } + + /// + public int QueryBindingStorageBuffer(int index) + { + if (_context.Capabilities.Api == TargetApi.Vulkan) + { + return GetStageIndex() * 16 + index; + } + else + { + return _resourceCounts.StorageBuffersCount++; + } + } + + /// + public int QueryBindingTexture(int index) + { + if (_context.Capabilities.Api == TargetApi.Vulkan) + { + return GetStageIndex() * 32 + index; + } + else + { + return _resourceCounts.TexturesCount++; + } + } + + /// + public int QueryBindingImage(int index) + { + if (_context.Capabilities.Api == TargetApi.Vulkan) + { + return GetStageIndex() * 8 + index; + } + else + { + return _resourceCounts.ImagesCount++; + } + } + + private int GetStageIndex() + { + // This is just a simple remapping to ensure that most frequently used shader stages + // have the lowest binding numbers. + // This is useful because if we need to run on a system with a low limit on the bindings, + // then we can still get most games working as the most common shaders will have low binding numbers. + return _stageIndex switch + { + 4 => 1, // Fragment + 3 => 2, // Geometry + 1 => 3, // Tessellation control + 2 => 4, // Tessellation evaluation + _ => 0 // Vertex/Compute + }; } /// diff --git a/Ryujinx.Graphics.Gpu/Shader/GpuChannelGraphicsState.cs b/Ryujinx.Graphics.Gpu/Shader/GpuChannelGraphicsState.cs index 92ec117f3..fba67851d 100644 --- a/Ryujinx.Graphics.Gpu/Shader/GpuChannelGraphicsState.cs +++ b/Ryujinx.Graphics.Gpu/Shader/GpuChannelGraphicsState.cs @@ -30,6 +30,21 @@ namespace Ryujinx.Graphics.Gpu.Shader /// public readonly bool ViewportTransformDisable; + /// + /// Depth mode zero to one or minus one to one. + /// + public readonly bool DepthMode; + + /// + /// Indicates if the point size is set on the shader or is fixed. + /// + public readonly bool ProgramPointSizeEnable; + + /// + /// Point size if not set from shader. + /// + public readonly float PointSize; + /// /// Creates a new GPU graphics state. /// @@ -37,12 +52,25 @@ namespace Ryujinx.Graphics.Gpu.Shader /// Primitive topology /// Tessellation mode /// Indicates whenever the viewport transform is disabled - public GpuChannelGraphicsState(bool earlyZForce, PrimitiveTopology topology, TessMode tessellationMode, bool viewportTransformDisable) + /// Depth mode zero to one or minus one to one + /// Indicates if the point size is set on the shader or is fixed + /// Point size if not set from shader + public GpuChannelGraphicsState( + bool earlyZForce, + PrimitiveTopology topology, + TessMode tessellationMode, + bool viewportTransformDisable, + bool depthMode, + bool programPointSizeEnable, + float pointSize) { EarlyZForce = earlyZForce; Topology = topology; TessellationMode = tessellationMode; ViewportTransformDisable = viewportTransformDisable; + DepthMode = depthMode; + ProgramPointSizeEnable = programPointSizeEnable; + PointSize = pointSize; } } } \ No newline at end of file diff --git a/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs b/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs index 0779bf2ce..9ffece6a2 100644 --- a/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs +++ b/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs @@ -8,6 +8,7 @@ using Ryujinx.Graphics.Shader; using Ryujinx.Graphics.Shader.Translation; using System; using System.Collections.Generic; +using System.Linq; using System.Threading; namespace Ryujinx.Graphics.Gpu.Shader @@ -214,7 +215,7 @@ namespace Ryujinx.Graphics.Gpu.Shader GpuAccessorState gpuAccessorState = new GpuAccessorState(poolState, computeState, default, specState); GpuAccessor gpuAccessor = new GpuAccessor(_context, channel, gpuAccessorState); - TranslatorContext translatorContext = DecodeComputeShader(gpuAccessor, gpuVa); + TranslatorContext translatorContext = DecodeComputeShader(gpuAccessor, _context.Capabilities.Api, gpuVa); TranslatedShader translatedShader = TranslateShader(_dumper, channel, translatorContext, cachedGuestCode); @@ -260,6 +261,18 @@ namespace Ryujinx.Graphics.Gpu.Shader return gpShaders; } + AttributeType[] attributeTypes = new AttributeType[Constants.TotalVertexAttribs]; + + for (int location = 0; location < attributeTypes.Length; location++) + { + attributeTypes[location] = state.VertexAttribState[location].UnpackType() switch + { + 3 => AttributeType.Sint, + 4 => AttributeType.Uint, + _ => AttributeType.Float + }; + } + TransformFeedbackDescriptor[] transformFeedbackDescriptors = GetTransformFeedbackDescriptors(ref state); ShaderSpecializationState specState = new ShaderSpecializationState(graphicsState, transformFeedbackDescriptors); @@ -270,14 +283,16 @@ namespace Ryujinx.Graphics.Gpu.Shader TranslatorContext[] translatorContexts = new TranslatorContext[Constants.ShaderStages + 1]; TranslatorContext nextStage = null; + TargetApi api = _context.Capabilities.Api; + for (int stageIndex = Constants.ShaderStages - 1; stageIndex >= 0; stageIndex--) { ulong gpuVa = addressesSpan[stageIndex + 1]; if (gpuVa != 0) { - GpuAccessor gpuAccessor = new GpuAccessor(_context, channel, gpuAccessorState, stageIndex); - TranslatorContext currentStage = DecodeGraphicsShader(gpuAccessor, DefaultFlags, gpuVa); + GpuAccessor gpuAccessor = new GpuAccessor(_context, channel, gpuAccessorState, attributeTypes, stageIndex); + TranslatorContext currentStage = DecodeGraphicsShader(gpuAccessor, api, DefaultFlags, gpuVa); if (nextStage != null) { @@ -286,7 +301,7 @@ namespace Ryujinx.Graphics.Gpu.Shader if (stageIndex == 0 && addresses.VertexA != 0) { - translatorContexts[0] = DecodeGraphicsShader(gpuAccessor, DefaultFlags | TranslationFlags.VertexA, addresses.VertexA); + translatorContexts[0] = DecodeGraphicsShader(gpuAccessor, api, DefaultFlags | TranslationFlags.VertexA, addresses.VertexA); } translatorContexts[stageIndex + 1] = currentStage; @@ -355,7 +370,7 @@ namespace Ryujinx.Graphics.Gpu.Shader /// Shader source public static ShaderSource CreateShaderSource(ShaderProgram program) { - return new ShaderSource(program.Code, program.BinaryCode, program.Info.Stage, program.Language); + return new ShaderSource(program.Code, program.BinaryCode, GetBindings(program.Info), program.Info.Stage, program.Language); } /// @@ -480,11 +495,12 @@ namespace Ryujinx.Graphics.Gpu.Shader /// Decode the binary Maxwell shader code to a translator context. /// /// GPU state accessor + /// Graphics API that will be used with the shader /// GPU virtual address of the binary shader code /// The generated translator context - public static TranslatorContext DecodeComputeShader(IGpuAccessor gpuAccessor, ulong gpuVa) + public static TranslatorContext DecodeComputeShader(IGpuAccessor gpuAccessor, TargetApi api, ulong gpuVa) { - var options = new TranslationOptions(TargetLanguage.Glsl, TargetApi.OpenGL, DefaultFlags | TranslationFlags.Compute); + var options = CreateTranslationOptions(api, DefaultFlags | TranslationFlags.Compute); return Translator.CreateContext(gpuVa, gpuAccessor, options); } @@ -495,12 +511,13 @@ namespace Ryujinx.Graphics.Gpu.Shader /// This will combine the "Vertex A" and "Vertex B" shader stages, if specified, into one shader. /// /// GPU state accessor + /// Graphics API that will be used with the shader /// Flags that controls shader translation /// GPU virtual address of the shader code /// The generated translator context - public static TranslatorContext DecodeGraphicsShader(IGpuAccessor gpuAccessor, TranslationFlags flags, ulong gpuVa) + public static TranslatorContext DecodeGraphicsShader(IGpuAccessor gpuAccessor, TargetApi api, TranslationFlags flags, ulong gpuVa) { - var options = new TranslationOptions(TargetLanguage.Glsl, TargetApi.OpenGL, flags); + var options = CreateTranslationOptions(api, flags); return Translator.CreateContext(gpuVa, gpuAccessor, options); } @@ -595,6 +612,41 @@ namespace Ryujinx.Graphics.Gpu.Shader }; } + private static ShaderBindings GetBindings(ShaderProgramInfo info) + { + static bool IsBuffer(TextureDescriptor descriptor) + { + return (descriptor.Type & SamplerType.Mask) == SamplerType.TextureBuffer; + } + + static bool IsNotBuffer(TextureDescriptor descriptor) + { + return !IsBuffer(descriptor); + } + + var uniformBufferBindings = info.CBuffers.Select(x => x.Binding).ToArray(); + var storageBufferBindings = info.SBuffers.Select(x => x.Binding).ToArray(); + var textureBindings = info.Textures.Where(IsNotBuffer).Select(x => x.Binding).ToArray(); + var imageBindings = info.Images.Where(IsNotBuffer).Select(x => x.Binding).ToArray(); + var bufferTextureBindings = info.Textures.Where(IsBuffer).Select(x => x.Binding).ToArray(); + var bufferImageBindings = info.Images.Where(IsBuffer).Select(x => x.Binding).ToArray(); + + return new ShaderBindings( + uniformBufferBindings, + storageBufferBindings, + textureBindings, + imageBindings, + bufferTextureBindings, + bufferImageBindings); + } + + private static TranslationOptions CreateTranslationOptions(TargetApi api, TranslationFlags flags) + { + TargetLanguage lang = GraphicsConfig.EnableSpirvCompilation ? TargetLanguage.Spirv : TargetLanguage.Glsl; + + return new TranslationOptions(lang, api, flags); + } + /// /// Disposes the shader cache, deleting all the cached shaders. /// It's an error to use the shader cache after disposal. diff --git a/Ryujinx.Graphics.OpenGL/BackgroundContextWorker.cs b/Ryujinx.Graphics.OpenGL/BackgroundContextWorker.cs index 3f1c055bf..764ea7159 100644 --- a/Ryujinx.Graphics.OpenGL/BackgroundContextWorker.cs +++ b/Ryujinx.Graphics.OpenGL/BackgroundContextWorker.cs @@ -1,4 +1,4 @@ -using Ryujinx.Common; +using Ryujinx.Common; using System; using System.Collections.Generic; using System.Threading; diff --git a/Ryujinx.Graphics.OpenGL/FormatTable.cs b/Ryujinx.Graphics.OpenGL/FormatTable.cs index 1a739b5ce..ea710b42c 100644 --- a/Ryujinx.Graphics.OpenGL/FormatTable.cs +++ b/Ryujinx.Graphics.OpenGL/FormatTable.cs @@ -88,16 +88,14 @@ namespace Ryujinx.Graphics.OpenGL Add(Format.Bc3Srgb, new FormatInfo(4, false, false, All.CompressedSrgbAlphaS3tcDxt5Ext)); Add(Format.Bc4Unorm, new FormatInfo(1, true, false, All.CompressedRedRgtc1)); Add(Format.Bc4Snorm, new FormatInfo(1, true, false, All.CompressedSignedRedRgtc1)); - Add(Format.Bc5Unorm, new FormatInfo(2, true, false, All.CompressedRgRgtc2)); - Add(Format.Bc5Snorm, new FormatInfo(2, true, false, All.CompressedSignedRgRgtc2)); - Add(Format.Bc7Unorm, new FormatInfo(4, true, false, All.CompressedRgbaBptcUnorm)); - Add(Format.Bc7Srgb, new FormatInfo(4, false, false, All.CompressedSrgbAlphaBptcUnorm)); - Add(Format.Bc6HSfloat, new FormatInfo(4, false, false, All.CompressedRgbBptcSignedFloat)); - Add(Format.Bc6HUfloat, new FormatInfo(4, false, false, All.CompressedRgbBptcUnsignedFloat)); - Add(Format.Etc2RgbUnorm, new FormatInfo(3, false, false, All.CompressedRgb8Etc2)); - Add(Format.Etc2RgbaUnorm, new FormatInfo(4, false, false, All.CompressedRgba8Etc2Eac)); - Add(Format.Etc2RgbSrgb, new FormatInfo(3, false, false, All.CompressedSrgb8Etc2)); - Add(Format.Etc2RgbaSrgb, new FormatInfo(4, false, false, All.CompressedSrgb8Alpha8Etc2Eac)); + Add(Format.Bc5Unorm, new FormatInfo(1, true, false, All.CompressedRgRgtc2)); + Add(Format.Bc5Snorm, new FormatInfo(1, true, false, All.CompressedSignedRgRgtc2)); + Add(Format.Bc7Unorm, new FormatInfo(1, true, false, All.CompressedRgbaBptcUnorm)); + Add(Format.Bc7Srgb, new FormatInfo(1, false, false, All.CompressedSrgbAlphaBptcUnorm)); + Add(Format.Bc6HSfloat, new FormatInfo(1, false, false, All.CompressedRgbBptcSignedFloat)); + Add(Format.Bc6HUfloat, new FormatInfo(1, false, false, All.CompressedRgbBptcUnsignedFloat)); + Add(Format.Etc2RgbaUnorm, new FormatInfo(1, false, false, All.CompressedRgba8Etc2Eac)); + Add(Format.Etc2RgbaSrgb, new FormatInfo(1, false, false, All.CompressedSrgb8Alpha8Etc2Eac)); Add(Format.R8Uscaled, new FormatInfo(1, false, true, All.R8ui, PixelFormat.RedInteger, PixelType.UnsignedByte)); Add(Format.R8Sscaled, new FormatInfo(1, false, true, All.R8i, PixelFormat.RedInteger, PixelType.Byte)); Add(Format.R16Uscaled, new FormatInfo(1, false, true, All.R16ui, PixelFormat.RedInteger, PixelType.UnsignedShort)); @@ -138,34 +136,34 @@ namespace Ryujinx.Graphics.OpenGL Add(Format.R32G32B32X32Float, new FormatInfo(4, false, false, All.Rgb32f, PixelFormat.Rgba, PixelType.Float)); Add(Format.R32G32B32X32Uint, new FormatInfo(4, false, false, All.Rgb32ui, PixelFormat.RgbaInteger, PixelType.UnsignedInt)); Add(Format.R32G32B32X32Sint, new FormatInfo(4, false, false, All.Rgb32i, PixelFormat.RgbaInteger, PixelType.Int)); - Add(Format.Astc4x4Unorm, new FormatInfo(4, true, false, All.CompressedRgbaAstc4X4Khr)); - Add(Format.Astc5x4Unorm, new FormatInfo(4, true, false, All.CompressedRgbaAstc5X4Khr)); - Add(Format.Astc5x5Unorm, new FormatInfo(4, true, false, All.CompressedRgbaAstc5X5Khr)); - Add(Format.Astc6x5Unorm, new FormatInfo(4, true, false, All.CompressedRgbaAstc6X5Khr)); - Add(Format.Astc6x6Unorm, new FormatInfo(4, true, false, All.CompressedRgbaAstc6X6Khr)); - Add(Format.Astc8x5Unorm, new FormatInfo(4, true, false, All.CompressedRgbaAstc8X5Khr)); - Add(Format.Astc8x6Unorm, new FormatInfo(4, true, false, All.CompressedRgbaAstc8X6Khr)); - Add(Format.Astc8x8Unorm, new FormatInfo(4, true, false, All.CompressedRgbaAstc8X8Khr)); - Add(Format.Astc10x5Unorm, new FormatInfo(4, true, false, All.CompressedRgbaAstc10X5Khr)); - Add(Format.Astc10x6Unorm, new FormatInfo(4, true, false, All.CompressedRgbaAstc10X6Khr)); - Add(Format.Astc10x8Unorm, new FormatInfo(4, true, false, All.CompressedRgbaAstc10X8Khr)); - Add(Format.Astc10x10Unorm, new FormatInfo(4, true, false, All.CompressedRgbaAstc10X10Khr)); - Add(Format.Astc12x10Unorm, new FormatInfo(4, true, false, All.CompressedRgbaAstc12X10Khr)); - Add(Format.Astc12x12Unorm, new FormatInfo(4, true, false, All.CompressedRgbaAstc12X12Khr)); - Add(Format.Astc4x4Srgb, new FormatInfo(4, false, false, All.CompressedSrgb8Alpha8Astc4X4Khr)); - Add(Format.Astc5x4Srgb, new FormatInfo(4, false, false, All.CompressedSrgb8Alpha8Astc5X4Khr)); - Add(Format.Astc5x5Srgb, new FormatInfo(4, false, false, All.CompressedSrgb8Alpha8Astc5X5Khr)); - Add(Format.Astc6x5Srgb, new FormatInfo(4, false, false, All.CompressedSrgb8Alpha8Astc6X5Khr)); - Add(Format.Astc6x6Srgb, new FormatInfo(4, false, false, All.CompressedSrgb8Alpha8Astc6X6Khr)); - Add(Format.Astc8x5Srgb, new FormatInfo(4, false, false, All.CompressedSrgb8Alpha8Astc8X5Khr)); - Add(Format.Astc8x6Srgb, new FormatInfo(4, false, false, All.CompressedSrgb8Alpha8Astc8X6Khr)); - Add(Format.Astc8x8Srgb, new FormatInfo(4, false, false, All.CompressedSrgb8Alpha8Astc8X8Khr)); - Add(Format.Astc10x5Srgb, new FormatInfo(4, false, false, All.CompressedSrgb8Alpha8Astc10X5Khr)); - Add(Format.Astc10x6Srgb, new FormatInfo(4, false, false, All.CompressedSrgb8Alpha8Astc10X6Khr)); - Add(Format.Astc10x8Srgb, new FormatInfo(4, false, false, All.CompressedSrgb8Alpha8Astc10X8Khr)); - Add(Format.Astc10x10Srgb, new FormatInfo(4, false, false, All.CompressedSrgb8Alpha8Astc10X10Khr)); - Add(Format.Astc12x10Srgb, new FormatInfo(4, false, false, All.CompressedSrgb8Alpha8Astc12X10Khr)); - Add(Format.Astc12x12Srgb, new FormatInfo(4, false, false, All.CompressedSrgb8Alpha8Astc12X12Khr)); + Add(Format.Astc4x4Unorm, new FormatInfo(1, true, false, All.CompressedRgbaAstc4X4Khr)); + Add(Format.Astc5x4Unorm, new FormatInfo(1, true, false, All.CompressedRgbaAstc5X4Khr)); + Add(Format.Astc5x5Unorm, new FormatInfo(1, true, false, All.CompressedRgbaAstc5X5Khr)); + Add(Format.Astc6x5Unorm, new FormatInfo(1, true, false, All.CompressedRgbaAstc6X5Khr)); + Add(Format.Astc6x6Unorm, new FormatInfo(1, true, false, All.CompressedRgbaAstc6X6Khr)); + Add(Format.Astc8x5Unorm, new FormatInfo(1, true, false, All.CompressedRgbaAstc8X5Khr)); + Add(Format.Astc8x6Unorm, new FormatInfo(1, true, false, All.CompressedRgbaAstc8X6Khr)); + Add(Format.Astc8x8Unorm, new FormatInfo(1, true, false, All.CompressedRgbaAstc8X8Khr)); + Add(Format.Astc10x5Unorm, new FormatInfo(1, true, false, All.CompressedRgbaAstc10X5Khr)); + Add(Format.Astc10x6Unorm, new FormatInfo(1, true, false, All.CompressedRgbaAstc10X6Khr)); + Add(Format.Astc10x8Unorm, new FormatInfo(1, true, false, All.CompressedRgbaAstc10X8Khr)); + Add(Format.Astc10x10Unorm, new FormatInfo(1, true, false, All.CompressedRgbaAstc10X10Khr)); + Add(Format.Astc12x10Unorm, new FormatInfo(1, true, false, All.CompressedRgbaAstc12X10Khr)); + Add(Format.Astc12x12Unorm, new FormatInfo(1, true, false, All.CompressedRgbaAstc12X12Khr)); + Add(Format.Astc4x4Srgb, new FormatInfo(1, false, false, All.CompressedSrgb8Alpha8Astc4X4Khr)); + Add(Format.Astc5x4Srgb, new FormatInfo(1, false, false, All.CompressedSrgb8Alpha8Astc5X4Khr)); + Add(Format.Astc5x5Srgb, new FormatInfo(1, false, false, All.CompressedSrgb8Alpha8Astc5X5Khr)); + Add(Format.Astc6x5Srgb, new FormatInfo(1, false, false, All.CompressedSrgb8Alpha8Astc6X5Khr)); + Add(Format.Astc6x6Srgb, new FormatInfo(1, false, false, All.CompressedSrgb8Alpha8Astc6X6Khr)); + Add(Format.Astc8x5Srgb, new FormatInfo(1, false, false, All.CompressedSrgb8Alpha8Astc8X5Khr)); + Add(Format.Astc8x6Srgb, new FormatInfo(1, false, false, All.CompressedSrgb8Alpha8Astc8X6Khr)); + Add(Format.Astc8x8Srgb, new FormatInfo(1, false, false, All.CompressedSrgb8Alpha8Astc8X8Khr)); + Add(Format.Astc10x5Srgb, new FormatInfo(1, false, false, All.CompressedSrgb8Alpha8Astc10X5Khr)); + Add(Format.Astc10x6Srgb, new FormatInfo(1, false, false, All.CompressedSrgb8Alpha8Astc10X6Khr)); + Add(Format.Astc10x8Srgb, new FormatInfo(1, false, false, All.CompressedSrgb8Alpha8Astc10X8Khr)); + Add(Format.Astc10x10Srgb, new FormatInfo(1, false, false, All.CompressedSrgb8Alpha8Astc10X10Khr)); + Add(Format.Astc12x10Srgb, new FormatInfo(1, false, false, All.CompressedSrgb8Alpha8Astc12X10Khr)); + Add(Format.Astc12x12Srgb, new FormatInfo(1, false, false, All.CompressedSrgb8Alpha8Astc12X12Khr)); Add(Format.B5G6R5Unorm, new FormatInfo(3, true, false, All.Rgb565, PixelFormat.Rgb, PixelType.UnsignedShort565Reversed)); Add(Format.B5G5R5X1Unorm, new FormatInfo(4, true, false, All.Rgb5, PixelFormat.Rgba, PixelType.UnsignedShort1555Reversed)); Add(Format.B5G5R5A1Unorm, new FormatInfo(4, true, false, All.Rgb5A1, PixelFormat.Rgba, PixelType.UnsignedShort1555Reversed)); diff --git a/Ryujinx.Graphics.OpenGL/Pipeline.cs b/Ryujinx.Graphics.OpenGL/Pipeline.cs index 62d4dee90..fb6713360 100644 --- a/Ryujinx.Graphics.OpenGL/Pipeline.cs +++ b/Ryujinx.Graphics.OpenGL/Pipeline.cs @@ -1106,45 +1106,25 @@ namespace Ryujinx.Graphics.OpenGL _framebuffer.SetDrawBuffers(colors.Length); } - public void SetSampler(int binding, ISampler sampler) + public unsafe void SetScissors(ReadOnlySpan> regions) { - if (sampler == null) + int count = Math.Min(regions.Length, Constants.MaxViewports); + + int* v = stackalloc int[count * 4]; + + for (int index = 0; index < count; index++) { - return; - } + int vIndex = index * 4; - Sampler samp = (Sampler)sampler; + v[vIndex] = regions[index].X; + v[vIndex + 1] = regions[index].Y; + v[vIndex + 2] = regions[index].Width; + v[vIndex + 3] = regions[index].Height; - if (binding == 0) - { - _unit0Sampler = samp; - } - - samp.Bind(binding); - } - - public void SetScissor(int index, bool enable, int x, int y, int width, int height) - { - uint mask = 1u << index; - - if (!enable) - { - if ((_scissorEnables & mask) != 0) - { - _scissorEnables &= ~mask; - GL.Disable(IndexedEnableCap.ScissorTest, index); - } - - return; - } - - if ((_scissorEnables & mask) == 0) - { - _scissorEnables |= mask; GL.Enable(IndexedEnableCap.ScissorTest, index); } - GL.ScissorIndexed(index, x, y, width, height); + GL.ScissorArray(0, count, v); } public void SetStencilTest(StencilTestDescriptor stencilTest) @@ -1195,23 +1175,25 @@ namespace Ryujinx.Graphics.OpenGL SetBuffers(first, buffers, isStorage: true); } - public void SetTexture(int binding, ITexture texture) + public void SetTextureAndSampler(int binding, ITexture texture, ISampler sampler) { - if (texture == null) + if (texture != null && sampler != null) { - return; - } + if (binding == 0) + { + _unit0Texture = (TextureBase)texture; + _unit0Sampler = (Sampler)sampler; + } + else + { + ((TextureBase)texture).Bind(binding); + } - if (binding == 0) - { - _unit0Texture = (TextureBase)texture; - } - else - { - ((TextureBase)texture).Bind(binding); + ((Sampler)sampler).Bind(binding); } } + public void SetTransformFeedbackBuffers(ReadOnlySpan buffers) { if (_tfEnabled) diff --git a/Ryujinx.Graphics.OpenGL/Queries/CounterQueueEvent.cs b/Ryujinx.Graphics.OpenGL/Queries/CounterQueueEvent.cs index 8b0ae30ea..81451389c 100644 --- a/Ryujinx.Graphics.OpenGL/Queries/CounterQueueEvent.cs +++ b/Ryujinx.Graphics.OpenGL/Queries/CounterQueueEvent.cs @@ -1,5 +1,4 @@ using OpenTK.Graphics.OpenGL; -using Ryujinx.Common.Logging; using Ryujinx.Graphics.GAL; using System; using System.Threading; diff --git a/Ryujinx.Graphics.OpenGL/Renderer.cs b/Ryujinx.Graphics.OpenGL/Renderer.cs index 2a9ab4223..d7ed6d004 100644 --- a/Ryujinx.Graphics.OpenGL/Renderer.cs +++ b/Ryujinx.Graphics.OpenGL/Renderer.cs @@ -87,6 +87,11 @@ namespace Ryujinx.Graphics.OpenGL Buffer.Delete(buffer); } + public HardwareInfo GetHardwareInfo() + { + return new HardwareInfo(GpuVendor, GpuRenderer); + } + public ReadOnlySpan GetBufferData(BufferHandle buffer, int offset, int size) { return Buffer.GetData(this, buffer, offset, size); diff --git a/Ryujinx.Graphics.OpenGL/Window.cs b/Ryujinx.Graphics.OpenGL/Window.cs index ae74558e9..cd8efd129 100644 --- a/Ryujinx.Graphics.OpenGL/Window.cs +++ b/Ryujinx.Graphics.OpenGL/Window.cs @@ -106,8 +106,6 @@ namespace Ryujinx.Graphics.OpenGL GL.Disable(EnableCap.RasterizerDiscard); GL.Disable(IndexedEnableCap.ScissorTest, 0); - GL.Clear(ClearBufferMask.ColorBufferBit); - int srcX0, srcX1, srcY0, srcY1; float scale = view.ScaleFactor; diff --git a/Ryujinx.Graphics.Shader/AttributeType.cs b/Ryujinx.Graphics.Shader/AttributeType.cs new file mode 100644 index 000000000..11112f682 --- /dev/null +++ b/Ryujinx.Graphics.Shader/AttributeType.cs @@ -0,0 +1,36 @@ +using System; + +namespace Ryujinx.Graphics.Shader +{ + public enum AttributeType + { + Float, + Sint, + Uint + } + + static class AttributeTypeExtensions + { + public static string GetScalarType(this AttributeType type) + { + return type switch + { + AttributeType.Float => "float", + AttributeType.Sint => "int", + AttributeType.Uint => "uint", + _ => throw new ArgumentException($"Invalid attribute type \"{type}\".") + }; + } + + public static string GetVec4Type(this AttributeType type) + { + return type switch + { + AttributeType.Float => "vec4", + AttributeType.Sint => "ivec4", + AttributeType.Uint => "uvec4", + _ => throw new ArgumentException($"Invalid attribute type \"{type}\".") + }; + } + } +} \ No newline at end of file diff --git a/Ryujinx.Graphics.Shader/CodeGen/Glsl/Declarations.cs b/Ryujinx.Graphics.Shader/CodeGen/Glsl/Declarations.cs index 59a7ccdca..b5fe0973a 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Glsl/Declarations.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Glsl/Declarations.cs @@ -11,7 +11,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl { public static void Declare(CodeGenContext context, StructuredProgramInfo info) { - context.AppendLine("#version 450 core"); + context.AppendLine(context.Config.Options.TargetApi == TargetApi.Vulkan ? "#version 460 core" : "#version 450 core"); context.AppendLine("#extension GL_ARB_gpu_shader_int64 : enable"); if (context.Config.GpuAccessor.QueryHostSupportsShaderBallot()) @@ -326,11 +326,11 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl switch (type) { case VariableType.Bool: return "bool"; - case VariableType.F32: return "precise float"; - case VariableType.F64: return "double"; + case VariableType.F32: return "precise float"; + case VariableType.F64: return "double"; case VariableType.None: return "void"; - case VariableType.S32: return "int"; - case VariableType.U32: return "uint"; + case VariableType.S32: return "int"; + case VariableType.U32: return "uint"; } throw new ArgumentException($"Invalid variable type \"{type}\"."); @@ -530,16 +530,38 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl if (context.Config.TransformFeedbackEnabled && context.Config.Stage != ShaderStage.Vertex) { + string type; + + if (context.Config.Stage == ShaderStage.Vertex) + { + type = context.Config.GpuAccessor.QueryAttributeType(attr).GetScalarType(); + } + else + { + type = AttributeType.Float.GetScalarType(); + } + for (int c = 0; c < 4; c++) { char swzMask = "xyzw"[c]; - context.AppendLine($"layout ({pass}location = {attr}, component = {c}) {iq}in float {name}_{swzMask}{suffix};"); + context.AppendLine($"layout ({pass}location = {attr}, component = {c}) {iq}in {type} {name}_{swzMask}{suffix};"); } } else { - context.AppendLine($"layout ({pass}location = {attr}) {iq}in vec4 {name}{suffix};"); + string type; + + if (context.Config.Stage == ShaderStage.Vertex) + { + type = context.Config.GpuAccessor.QueryAttributeType(attr).GetVec4Type(); + } + else + { + type = AttributeType.Float.GetVec4Type(); + } + + context.AppendLine($"layout ({pass}location = {attr}) {iq}in {type} {name}{suffix};"); } } diff --git a/Ryujinx.Graphics.Shader/CodeGen/Glsl/GlslGenerator.cs b/Ryujinx.Graphics.Shader/CodeGen/Glsl/GlslGenerator.cs index 3af120f88..e9dbdd2d3 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Glsl/GlslGenerator.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Glsl/GlslGenerator.cs @@ -127,7 +127,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl else if (node is AstAssignment assignment) { VariableType srcType = OperandManager.GetNodeDestType(context, assignment.Source); - VariableType dstType = OperandManager.GetNodeDestType(context, assignment.Destination); + VariableType dstType = OperandManager.GetNodeDestType(context, assignment.Destination, isAsgDest: true); string dest; diff --git a/Ryujinx.Graphics.Shader/CodeGen/Glsl/Instructions/InstGenHelper.cs b/Ryujinx.Graphics.Shader/CodeGen/Glsl/Instructions/InstGenHelper.cs index 69214a355..c40f96f11 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Glsl/Instructions/InstGenHelper.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Glsl/Instructions/InstGenHelper.cs @@ -7,11 +7,11 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl.Instructions { static class InstGenHelper { - private static InstInfo[] _infoTbl; + private static readonly InstInfo[] InfoTable; static InstGenHelper() { - _infoTbl = new InstInfo[(int)Instruction.Count]; + InfoTable = new InstInfo[(int)Instruction.Count]; Add(Instruction.AtomicAdd, InstType.AtomicBinary, "atomicAdd"); Add(Instruction.AtomicAnd, InstType.AtomicBinary, "atomicAnd"); @@ -139,12 +139,12 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl.Instructions private static void Add(Instruction inst, InstType flags, string opName = null, int precedence = 0) { - _infoTbl[(int)inst] = new InstInfo(flags, opName, precedence); + InfoTable[(int)inst] = new InstInfo(flags, opName, precedence); } public static InstInfo GetInstructionInfo(Instruction inst) { - return _infoTbl[(int)(inst & Instruction.Mask)]; + return InfoTable[(int)(inst & Instruction.Mask)]; } public static string GetSoureExpr(CodeGenContext context, IAstNode node, VariableType dstType) @@ -191,7 +191,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl.Instructions return false; } - InstInfo info = _infoTbl[(int)(operation.Inst & Instruction.Mask)]; + InstInfo info = InfoTable[(int)(operation.Inst & Instruction.Mask)]; if ((info.Type & (InstType.Call | InstType.Special)) != 0) { diff --git a/Ryujinx.Graphics.Shader/CodeGen/Glsl/OperandManager.cs b/Ryujinx.Graphics.Shader/CodeGen/Glsl/OperandManager.cs index 334c744d7..c5d60ee16 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Glsl/OperandManager.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Glsl/OperandManager.cs @@ -11,7 +11,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl { class OperandManager { - private static string[] _stagePrefixes = new string[] { "cp", "vp", "tcp", "tep", "gp", "fp" }; + private static readonly string[] StagePrefixes = new string[] { "cp", "vp", "tcp", "tep", "gp", "fp" }; private struct BuiltInAttribute { @@ -26,8 +26,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl } } - private static Dictionary _builtInAttributes = - new Dictionary() + private static Dictionary _builtInAttributes = new Dictionary() { { AttributeConsts.TessLevelOuter0, new BuiltInAttribute("gl_TessLevelOuter[0]", VariableType.F32) }, { AttributeConsts.TessLevelOuter1, new BuiltInAttribute("gl_TessLevelOuter[1]", VariableType.F32) }, @@ -391,12 +390,12 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl { int index = (int)stage; - if ((uint)index >= _stagePrefixes.Length) + if ((uint)index >= StagePrefixes.Length) { return "invalid"; } - return _stagePrefixes[index]; + return StagePrefixes[index]; } private static char GetSwizzleMask(int value) @@ -409,7 +408,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl return $"{DefaultNames.ArgumentNamePrefix}{argIndex}"; } - public static VariableType GetNodeDestType(CodeGenContext context, IAstNode node) + public static VariableType GetNodeDestType(CodeGenContext context, IAstNode node, bool isAsgDest = false) { if (node is AstOperation operation) { @@ -455,7 +454,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl return context.CurrentFunction.GetArgumentType(argIndex); } - return GetOperandVarType(operand); + return GetOperandVarType(context, operand, isAsgDest); } else { @@ -463,7 +462,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl } } - private static VariableType GetOperandVarType(AstOperand operand) + private static VariableType GetOperandVarType(CodeGenContext context, AstOperand operand, bool isAsgDest = false) { if (operand.Type == OperandType.Attribute) { @@ -471,6 +470,21 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl { return builtInAttr.Type; } + else if (context.Config.Stage == ShaderStage.Vertex && !isAsgDest && + operand.Value >= AttributeConsts.UserAttributeBase && + operand.Value < AttributeConsts.UserAttributeEnd) + { + int location = (operand.Value - AttributeConsts.UserAttributeBase) / 16; + + AttributeType type = context.Config.GpuAccessor.QueryAttributeType(location); + + return type switch + { + AttributeType.Sint => VariableType.S32, + AttributeType.Uint => VariableType.U32, + _ => VariableType.F32 + }; + } } return OperandInfo.GetVarType(operand); diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs new file mode 100644 index 000000000..a30b33934 --- /dev/null +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs @@ -0,0 +1,351 @@ +using Ryujinx.Graphics.Shader.StructuredIr; +using Ryujinx.Graphics.Shader.Translation; +using Spv.Generator; +using System; +using System.Collections.Generic; +using System.Linq; +using static Spv.Specification; + +namespace Ryujinx.Graphics.Shader.CodeGen.Spirv +{ + using IrConsts = IntermediateRepresentation.IrConsts; + using IrOperandType = IntermediateRepresentation.OperandType; + + partial class CodeGenContext : Module + { + public ShaderConfig Config { get; } + + public Instruction ExtSet { get; } + + public Dictionary UniformBuffers { get; } = new Dictionary(); + public Instruction StorageBuffersArray { get; set; } + public Instruction LocalMemory { get; set; } + public Instruction SharedMemory { get; set; } + public Dictionary Samplers { get; } = new Dictionary(); + public Dictionary Images { get; } = new Dictionary(); + public Dictionary Inputs { get; } = new Dictionary(); + public Dictionary Outputs { get; } = new Dictionary(); + + private readonly Dictionary _locals = new Dictionary(); + private readonly Dictionary _localForArgs = new Dictionary(); + private readonly Dictionary _funcArgs = new Dictionary(); + private readonly Dictionary _functions = new Dictionary(); + + private class BlockState + { + private int _entryCount; + private readonly List _labels = new List(); + + public Instruction GetNextLabel(CodeGenContext context) + { + return GetLabel(context, _entryCount); + } + + public Instruction GetNextLabelAutoIncrement(CodeGenContext context) + { + return GetLabel(context, _entryCount++); + } + + public Instruction GetLabel(CodeGenContext context, int index) + { + while (index >= _labels.Count) + { + _labels.Add(context.Label()); + } + + return _labels[index]; + } + } + + private readonly Dictionary _labels = new Dictionary(); + + public AstBlock CurrentBlock { get; private set; } + + public CodeGenContext(ShaderConfig config) : base(0x00010300) + { + Config = config; + + AddCapability(Capability.Shader); + AddCapability(Capability.Float64); + + ExtSet = AddExtInstImport("GLSL.std.450"); + + SetMemoryModel(AddressingModel.Logical, MemoryModel.GLSL450); + } + + public void StartFunction() + { + _locals.Clear(); + _localForArgs.Clear(); + _funcArgs.Clear(); + } + + public void EnterBlock(AstBlock block) + { + CurrentBlock = block; + AddLabel(GetBlockStateLazy(block).GetNextLabelAutoIncrement(this)); + } + + public Instruction GetFirstLabel(AstBlock block) + { + return GetBlockStateLazy(block).GetLabel(this, 0); + } + + public Instruction GetNextLabel(AstBlock block) + { + return GetBlockStateLazy(block).GetNextLabel(this); + } + + private BlockState GetBlockStateLazy(AstBlock block) + { + if (!_labels.TryGetValue(block, out var blockState)) + { + blockState = new BlockState(); + + _labels.Add(block, blockState); + } + + return blockState; + } + + public Instruction NewBlock() + { + var label = Label(); + Branch(label); + AddLabel(label); + return label; + } + + public Instruction[] GetMainInterface() + { + return Inputs.Values.Concat(Outputs.Values).ToArray(); + } + + public void DeclareLocal(AstOperand local, Instruction spvLocal) + { + _locals.Add(local, spvLocal); + } + + public void DeclareLocalForArgs(int funcIndex, Instruction[] spvLocals) + { + _localForArgs.Add(funcIndex, spvLocals); + } + + public void DeclareArgument(int argIndex, Instruction spvLocal) + { + _funcArgs.Add(argIndex, spvLocal); + } + + public void DeclareFunction(int funcIndex, StructuredFunction function, Instruction spvFunc) + { + _functions.Add(funcIndex, (function, spvFunc)); + } + + public Instruction GetFP32(IAstNode node) + { + return Get(AggregateType.FP32, node); + } + + public Instruction GetFP64(IAstNode node) + { + return Get(AggregateType.FP64, node); + } + + public Instruction GetS32(IAstNode node) + { + return Get(AggregateType.S32, node); + } + + public Instruction GetU32(IAstNode node) + { + return Get(AggregateType.U32, node); + } + + public Instruction Get(AggregateType type, IAstNode node) + { + if (node is AstOperation operation) + { + var opResult = Instructions.Generate(this, operation); + return BitcastIfNeeded(type, opResult.Type, opResult.Value); + } + else if (node is AstOperand operand) + { + return operand.Type switch + { + IrOperandType.Argument => GetArgument(type, operand), + IrOperandType.Attribute => GetAttribute(type, operand, false), + IrOperandType.Constant => GetConstant(type, operand), + IrOperandType.ConstantBuffer => GetConstantBuffer(type, operand), + IrOperandType.LocalVariable => GetLocal(type, operand), + IrOperandType.Undefined => Undef(GetType(type)), + _ => throw new ArgumentException($"Invalid operand type \"{operand.Type}\".") + }; + } + + throw new NotImplementedException(node.GetType().Name); + } + + public Instruction GetAttributeVectorPointer(AstOperand operand, bool isOutAttr) + { + var attrInfo = AttributeInfo.From(Config, operand.Value); + + return isOutAttr ? Outputs[attrInfo.BaseValue] : Inputs[attrInfo.BaseValue]; + } + + public Instruction GetAttributeElemPointer(AstOperand operand, bool isOutAttr, out AggregateType elemType) + { + var attrInfo = AttributeInfo.From(Config, operand.Value); + if (attrInfo.BaseValue == AttributeConsts.PositionX && Config.Stage != ShaderStage.Fragment) + { + isOutAttr = true; + } + + elemType = attrInfo.Type & AggregateType.ElementTypeMask; + + var ioVariable = isOutAttr ? Outputs[attrInfo.BaseValue] : Inputs[attrInfo.BaseValue]; + + if ((attrInfo.Type & (AggregateType.Array | AggregateType.Vector)) == 0) + { + return ioVariable; + } + + var storageClass = isOutAttr ? StorageClass.Output : StorageClass.Input; + + var elemIndex = Constant(TypeU32(), attrInfo.GetInnermostIndex()); + return AccessChain(TypePointer(storageClass, GetType(elemType)), ioVariable, elemIndex); + } + + public Instruction GetAttribute(AggregateType type, AstOperand operand, bool isOutAttr) + { + var elemPointer = GetAttributeElemPointer(operand, isOutAttr, out var elemType); + return BitcastIfNeeded(type, elemType, Load(GetType(elemType), elemPointer)); + } + + public Instruction GetConstant(AggregateType type, AstOperand operand) + { + return type switch + { + AggregateType.Bool => operand.Value != 0 ? ConstantTrue(TypeBool()) : ConstantFalse(TypeBool()), + AggregateType.FP32 => Constant(TypeFP32(), BitConverter.Int32BitsToSingle(operand.Value)), + AggregateType.FP64 => Constant(TypeFP64(), (double)BitConverter.Int32BitsToSingle(operand.Value)), + AggregateType.S32 => Constant(TypeS32(), operand.Value), + AggregateType.U32 => Constant(TypeU32(), (uint)operand.Value), + _ => throw new ArgumentException($"Invalid type \"{type}\".") + }; + } + + public Instruction GetConstantBuffer(AggregateType type, AstOperand operand) + { + var ubVariable = UniformBuffers[operand.CbufSlot]; + var i0 = Constant(TypeS32(), 0); + var i1 = Constant(TypeS32(), operand.CbufOffset >> 2); + var i2 = Constant(TypeU32(), operand.CbufOffset & 3); + + var elemPointer = AccessChain(TypePointer(StorageClass.Uniform, TypeFP32()), ubVariable, i0, i1, i2); + return BitcastIfNeeded(type, AggregateType.FP32, Load(TypeFP32(), elemPointer)); + } + + public Instruction GetLocalPointer(AstOperand local) + { + return _locals[local]; + } + + public Instruction[] GetLocalForArgsPointers(int funcIndex) + { + return _localForArgs[funcIndex]; + } + + public Instruction GetArgumentPointer(AstOperand funcArg) + { + return _funcArgs[funcArg.Value]; + } + + public Instruction GetLocal(AggregateType dstType, AstOperand local) + { + var srcType = local.VarType.Convert(); + return BitcastIfNeeded(dstType, srcType, Load(GetType(srcType), GetLocalPointer(local))); + } + + public Instruction GetArgument(AggregateType dstType, AstOperand funcArg) + { + var srcType = funcArg.VarType.Convert(); + return BitcastIfNeeded(dstType, srcType, Load(GetType(srcType), GetArgumentPointer(funcArg))); + } + + public (StructuredFunction, Instruction) GetFunction(int funcIndex) + { + return _functions[funcIndex]; + } + + protected override void Construct() + { + } + + public Instruction GetType(AggregateType type, int length = 1) + { + if (type.HasFlag(AggregateType.Array)) + { + return TypeArray(GetType(type & ~AggregateType.Array), Constant(TypeU32(), length)); + } + else if (type.HasFlag(AggregateType.Vector)) + { + return TypeVector(GetType(type & ~AggregateType.Vector), length); + } + + return type switch + { + AggregateType.Void => TypeVoid(), + AggregateType.Bool => TypeBool(), + AggregateType.FP32 => TypeFP32(), + AggregateType.FP64 => TypeFP64(), + AggregateType.S32 => TypeS32(), + AggregateType.U32 => TypeU32(), + _ => throw new ArgumentException($"Invalid attribute type \"{type}\".") + }; + } + + public Instruction BitcastIfNeeded(AggregateType dstType, AggregateType srcType, Instruction value) + { + if (dstType == srcType) + { + return value; + } + + if (dstType == AggregateType.Bool) + { + return INotEqual(TypeBool(), BitcastIfNeeded(AggregateType.S32, srcType, value), Constant(TypeS32(), 0)); + } + else if (srcType == AggregateType.Bool) + { + var intTrue = Constant(TypeS32(), IrConsts.True); + var intFalse = Constant(TypeS32(), IrConsts.False); + + return BitcastIfNeeded(dstType, AggregateType.S32, Select(TypeS32(), value, intTrue, intFalse)); + } + else + { + return Bitcast(GetType(dstType, 1), value); + } + } + + public Instruction TypeS32() + { + return TypeInt(32, true); + } + + public Instruction TypeU32() + { + return TypeInt(32, false); + } + + public Instruction TypeFP32() + { + return TypeFloat(32); + } + + public Instruction TypeFP64() + { + return TypeFloat(64); + } + } +} diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs new file mode 100644 index 000000000..ce8e2dd13 --- /dev/null +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs @@ -0,0 +1,474 @@ +using Ryujinx.Common; +using Ryujinx.Graphics.Shader.StructuredIr; +using Ryujinx.Graphics.Shader.Translation; +using Spv.Generator; +using System; +using System.Collections.Generic; +using System.Linq; +using static Spv.Specification; + +namespace Ryujinx.Graphics.Shader.CodeGen.Spirv +{ + using SpvInstruction = Spv.Generator.Instruction; + + static class Declarations + { + // At least 16 attributes are guaranteed by the spec. + public const int MaxAttributes = 16; + + private static readonly string[] StagePrefixes = new string[] { "cp", "vp", "tcp", "tep", "gp", "fp" }; + + public static void DeclareParameters(CodeGenContext context, StructuredFunction function) + { + DeclareParameters(context, function.InArguments, 0); + DeclareParameters(context, function.OutArguments, function.InArguments.Length); + } + + private static void DeclareParameters(CodeGenContext context, IEnumerable argTypes, int argIndex) + { + foreach (var argType in argTypes) + { + var argPointerType = context.TypePointer(StorageClass.Function, context.GetType(argType.Convert())); + var spvArg = context.FunctionParameter(argPointerType); + + context.DeclareArgument(argIndex++, spvArg); + } + } + + public static void DeclareLocals(CodeGenContext context, StructuredFunction function) + { + foreach (AstOperand local in function.Locals) + { + var localPointerType = context.TypePointer(StorageClass.Function, context.GetType(local.VarType.Convert())); + var spvLocal = context.Variable(localPointerType, StorageClass.Function); + + context.AddLocalVariable(spvLocal); + context.DeclareLocal(local, spvLocal); + } + } + + public static void DeclareLocalForArgs(CodeGenContext context, List functions) + { + for (int funcIndex = 0; funcIndex < functions.Count; funcIndex++) + { + StructuredFunction function = functions[funcIndex]; + SpvInstruction[] locals = new SpvInstruction[function.InArguments.Length]; + + for (int i = 0; i < function.InArguments.Length; i++) + { + var type = function.GetArgumentType(i).Convert(); + var localPointerType = context.TypePointer(StorageClass.Function, context.GetType(type)); + var spvLocal = context.Variable(localPointerType, StorageClass.Function); + + context.AddLocalVariable(spvLocal); + + locals[i] = spvLocal; + } + + context.DeclareLocalForArgs(funcIndex, locals); + } + } + + public static void DeclareAll(CodeGenContext context, StructuredProgramInfo info) + { + if (context.Config.Stage == ShaderStage.Compute) + { + int localMemorySize = BitUtils.DivRoundUp(context.Config.GpuAccessor.QueryComputeLocalMemorySize(), 4); + + if (localMemorySize != 0) + { + DeclareLocalMemory(context, localMemorySize); + } + + int sharedMemorySize = BitUtils.DivRoundUp(context.Config.GpuAccessor.QueryComputeSharedMemorySize(), 4); + + if (sharedMemorySize != 0) + { + DeclareSharedMemory(context, sharedMemorySize); + } + } + else if (context.Config.LocalMemorySize != 0) + { + int localMemorySize = BitUtils.DivRoundUp(context.Config.LocalMemorySize, 4); + DeclareLocalMemory(context, localMemorySize); + } + + DeclareUniformBuffers(context, context.Config.GetConstantBufferDescriptors()); + DeclareStorageBuffers(context, context.Config.GetStorageBufferDescriptors()); + DeclareSamplers(context, context.Config.GetTextureDescriptors()); + DeclareImages(context, context.Config.GetImageDescriptors()); + DeclareInputAttributes(context, info); + DeclareOutputAttributes(context, info); + } + + private static void DeclareLocalMemory(CodeGenContext context, int size) + { + context.LocalMemory = DeclareMemory(context, StorageClass.Private, size); + } + + private static void DeclareSharedMemory(CodeGenContext context, int size) + { + context.SharedMemory = DeclareMemory(context, StorageClass.Workgroup, size); + } + + private static SpvInstruction DeclareMemory(CodeGenContext context, StorageClass storage, int size) + { + var arrayType = context.TypeArray(context.TypeU32(), context.Constant(context.TypeU32(), size)); + var pointerType = context.TypePointer(storage, arrayType); + var variable = context.Variable(pointerType, storage); + + context.AddGlobalVariable(variable); + + return variable; + } + + private static void DeclareUniformBuffers(CodeGenContext context, BufferDescriptor[] descriptors) + { + uint ubSize = Constants.ConstantBufferSize / 16; + + var ubArrayType = context.TypeArray(context.TypeVector(context.TypeFP32(), 4), context.Constant(context.TypeU32(), ubSize), true); + context.Decorate(ubArrayType, Decoration.ArrayStride, (LiteralInteger)16); + var ubStructType = context.TypeStruct(true, ubArrayType); + context.Decorate(ubStructType, Decoration.Block); + context.MemberDecorate(ubStructType, 0, Decoration.Offset, (LiteralInteger)0); + var ubPointerType = context.TypePointer(StorageClass.Uniform, ubStructType); + + foreach (var descriptor in descriptors) + { + var ubVariable = context.Variable(ubPointerType, StorageClass.Uniform); + + context.Name(ubVariable, $"{GetStagePrefix(context.Config.Stage)}_c{descriptor.Slot}"); + context.Decorate(ubVariable, Decoration.DescriptorSet, (LiteralInteger)0); + context.Decorate(ubVariable, Decoration.Binding, (LiteralInteger)descriptor.Binding); + context.AddGlobalVariable(ubVariable); + context.UniformBuffers.Add(descriptor.Slot, ubVariable); + } + } + + private static void DeclareStorageBuffers(CodeGenContext context, BufferDescriptor[] descriptors) + { + if (descriptors.Length == 0) + { + return; + } + + int setIndex = context.Config.Options.TargetApi == TargetApi.Vulkan ? 1 : 0; + int count = descriptors.Max(x => x.Binding) + 1; + + var sbArrayType = context.TypeRuntimeArray(context.TypeU32()); + context.Decorate(sbArrayType, Decoration.ArrayStride, (LiteralInteger)4); + var sbStructType = context.TypeStruct(true, sbArrayType); + context.Decorate(sbStructType, Decoration.BufferBlock); + context.MemberDecorate(sbStructType, 0, Decoration.Offset, (LiteralInteger)0); + var sbStructArrayType = context.TypeArray(sbStructType, context.Constant(context.TypeU32(), count)); + var sbPointerType = context.TypePointer(StorageClass.Uniform, sbStructArrayType); + var sbVariable = context.Variable(sbPointerType, StorageClass.Uniform); + + context.Name(sbVariable, $"{GetStagePrefix(context.Config.Stage)}_s"); + context.Decorate(sbVariable, Decoration.DescriptorSet, (LiteralInteger)setIndex); + context.Decorate(sbVariable, Decoration.Binding, (LiteralInteger)descriptors[0].Binding); + context.AddGlobalVariable(sbVariable); + + context.StorageBuffersArray = sbVariable; + } + + private static void DeclareSamplers(CodeGenContext context, TextureDescriptor[] descriptors) + { + foreach (var descriptor in descriptors) + { + var meta = new TextureMeta(descriptor.CbufSlot, descriptor.HandleIndex, descriptor.Format, descriptor.Type); + + if (context.Samplers.ContainsKey(meta)) + { + continue; + } + + bool isBuffer = (descriptor.Type & SamplerType.Mask) == SamplerType.TextureBuffer; + int setIndex = context.Config.Options.TargetApi == TargetApi.Vulkan ? (isBuffer ? 4 : 2) : 0; + + var dim = (meta.Type & SamplerType.Mask) switch + { + SamplerType.Texture1D => Dim.Dim1D, + SamplerType.Texture2D => Dim.Dim2D, + SamplerType.Texture3D => Dim.Dim3D, + SamplerType.TextureCube => Dim.Cube, + SamplerType.TextureBuffer => Dim.Buffer, + _ => throw new InvalidOperationException($"Invalid sampler type \"{meta.Type & SamplerType.Mask}\".") + }; + + var imageType = context.TypeImage( + context.TypeFP32(), + dim, + meta.Type.HasFlag(SamplerType.Shadow), + meta.Type.HasFlag(SamplerType.Array), + meta.Type.HasFlag(SamplerType.Multisample), + 1, + ImageFormat.Unknown); + + var nameSuffix = meta.CbufSlot < 0 ? $"_tcb_{meta.Handle:X}" : $"_cb{meta.CbufSlot}_{meta.Handle:X}"; + + var sampledImageType = context.TypeSampledImage(imageType); + var sampledImagePointerType = context.TypePointer(StorageClass.UniformConstant, sampledImageType); + var sampledImageVariable = context.Variable(sampledImagePointerType, StorageClass.UniformConstant); + + context.Samplers.Add(meta, (imageType, sampledImageType, sampledImageVariable)); + + context.Name(sampledImageVariable, $"{GetStagePrefix(context.Config.Stage)}_tex{nameSuffix}"); + context.Decorate(sampledImageVariable, Decoration.DescriptorSet, (LiteralInteger)setIndex); + context.Decorate(sampledImageVariable, Decoration.Binding, (LiteralInteger)descriptor.Binding); + context.AddGlobalVariable(sampledImageVariable); + } + } + + private static void DeclareImages(CodeGenContext context, TextureDescriptor[] descriptors) + { + foreach (var descriptor in descriptors) + { + var meta = new TextureMeta(descriptor.CbufSlot, descriptor.HandleIndex, descriptor.Format, descriptor.Type); + + if (context.Images.ContainsKey(meta)) + { + continue; + } + + bool isBuffer = (descriptor.Type & SamplerType.Mask) == SamplerType.TextureBuffer; + int setIndex = context.Config.Options.TargetApi == TargetApi.Vulkan ? (isBuffer ? 5 : 3) : 0; + + var dim = GetDim(meta.Type); + + var imageType = context.TypeImage( + context.GetType(meta.Format.GetComponentType().Convert()), + dim, + meta.Type.HasFlag(SamplerType.Shadow), + meta.Type.HasFlag(SamplerType.Array), + meta.Type.HasFlag(SamplerType.Multisample), + 2, + GetImageFormat(meta.Format)); + + var nameSuffix = meta.CbufSlot < 0 ? + $"_tcb_{meta.Handle:X}_{meta.Format.ToGlslFormat()}" : + $"_cb{meta.CbufSlot}_{meta.Handle:X}_{meta.Format.ToGlslFormat()}"; + + var imagePointerType = context.TypePointer(StorageClass.UniformConstant, imageType); + var imageVariable = context.Variable(imagePointerType, StorageClass.UniformConstant); + + context.Images.Add(meta, (imageType, imageVariable)); + + context.Name(imageVariable, $"{GetStagePrefix(context.Config.Stage)}_img{nameSuffix}"); + context.Decorate(imageVariable, Decoration.DescriptorSet, (LiteralInteger)setIndex); + context.Decorate(imageVariable, Decoration.Binding, (LiteralInteger)descriptor.Binding); + context.AddGlobalVariable(imageVariable); + } + } + + private static Dim GetDim(SamplerType type) + { + return (type & SamplerType.Mask) switch + { + SamplerType.Texture1D => Dim.Dim1D, + SamplerType.Texture2D => Dim.Dim2D, + SamplerType.Texture3D => Dim.Dim3D, + SamplerType.TextureCube => Dim.Cube, + SamplerType.TextureBuffer => Dim.Buffer, + _ => throw new ArgumentException($"Invalid sampler type \"{type & SamplerType.Mask}\".") + }; + } + + private static ImageFormat GetImageFormat(TextureFormat format) + { + return format switch + { + TextureFormat.Unknown => ImageFormat.Unknown, + TextureFormat.R8Unorm => ImageFormat.R8, + TextureFormat.R8Snorm => ImageFormat.R8Snorm, + TextureFormat.R8Uint => ImageFormat.R8ui, + TextureFormat.R8Sint => ImageFormat.R8i, + TextureFormat.R16Float => ImageFormat.R16f, + TextureFormat.R16Unorm => ImageFormat.R16, + TextureFormat.R16Snorm => ImageFormat.R16Snorm, + TextureFormat.R16Uint => ImageFormat.R16ui, + TextureFormat.R16Sint => ImageFormat.R16i, + TextureFormat.R32Float => ImageFormat.R32f, + TextureFormat.R32Uint => ImageFormat.R32ui, + TextureFormat.R32Sint => ImageFormat.R32i, + TextureFormat.R8G8Unorm => ImageFormat.Rg8, + TextureFormat.R8G8Snorm => ImageFormat.Rg8Snorm, + TextureFormat.R8G8Uint => ImageFormat.Rg8ui, + TextureFormat.R8G8Sint => ImageFormat.Rg8i, + TextureFormat.R16G16Float => ImageFormat.Rg16f, + TextureFormat.R16G16Unorm => ImageFormat.Rg16, + TextureFormat.R16G16Snorm => ImageFormat.Rg16Snorm, + TextureFormat.R16G16Uint => ImageFormat.Rg16ui, + TextureFormat.R16G16Sint => ImageFormat.Rg16i, + TextureFormat.R32G32Float => ImageFormat.Rg32f, + TextureFormat.R32G32Uint => ImageFormat.Rg32ui, + TextureFormat.R32G32Sint => ImageFormat.Rg32i, + TextureFormat.R8G8B8A8Unorm => ImageFormat.Rgba8, + TextureFormat.R8G8B8A8Snorm => ImageFormat.Rgba8Snorm, + TextureFormat.R8G8B8A8Uint => ImageFormat.Rgba8ui, + TextureFormat.R8G8B8A8Sint => ImageFormat.Rgba8i, + TextureFormat.R16G16B16A16Float => ImageFormat.Rgba16f, + TextureFormat.R16G16B16A16Unorm => ImageFormat.Rgba16, + TextureFormat.R16G16B16A16Snorm => ImageFormat.Rgba16Snorm, + TextureFormat.R16G16B16A16Uint => ImageFormat.Rgba16ui, + TextureFormat.R16G16B16A16Sint => ImageFormat.Rgba16i, + TextureFormat.R32G32B32A32Float => ImageFormat.Rgba32f, + TextureFormat.R32G32B32A32Uint => ImageFormat.Rgba32ui, + TextureFormat.R32G32B32A32Sint => ImageFormat.Rgba32i, + TextureFormat.R10G10B10A2Unorm => ImageFormat.Rgb10A2, + TextureFormat.R10G10B10A2Uint => ImageFormat.Rgb10a2ui, + TextureFormat.R11G11B10Float => ImageFormat.R11fG11fB10f, + _ => throw new ArgumentException($"Invalid texture format \"{format}\".") + }; + } + + private static void DeclareInputAttributes(CodeGenContext context, StructuredProgramInfo info) + { + foreach (int attr in info.Inputs) + { + PixelImap iq = PixelImap.Unused; + + if (context.Config.Stage == ShaderStage.Fragment && + attr >= AttributeConsts.UserAttributeBase && + attr < AttributeConsts.UserAttributeEnd) + { + iq = context.Config.ImapTypes[(attr - AttributeConsts.UserAttributeBase) / 16].GetFirstUsedType(); + } + + if (context.Config.TransformFeedbackEnabled) + { + throw new NotImplementedException(); + } + else + { + DeclareInputOrOutput(context, attr, false, iq); + } + } + } + + private static void DeclareOutputAttributes(CodeGenContext context, StructuredProgramInfo info) + { + foreach (int attr in info.Outputs) + { + DeclareOutputAttribute(context, attr); + } + + if (context.Config.Stage != ShaderStage.Compute && + context.Config.Stage != ShaderStage.Fragment && + !context.Config.GpPassthrough) + { + for (int attr = 0; attr < MaxAttributes; attr++) + { + DeclareOutputAttribute(context, AttributeConsts.UserAttributeBase + attr * 16); + } + + if (context.Config.Stage == ShaderStage.Vertex) + { + DeclareOutputAttribute(context, AttributeConsts.PositionX); + } + } + } + + private static void DeclareOutputAttribute(CodeGenContext context, int attr) + { + if (context.Config.TransformFeedbackEnabled) + { + throw new NotImplementedException(); + } + else + { + DeclareInputOrOutput(context, attr, true); + } + } + + public static void DeclareInvocationId(CodeGenContext context) + { + DeclareInputOrOutput(context, AttributeConsts.LaneId, false); + } + + private static void DeclareInputOrOutput(CodeGenContext context, int attr, bool isOutAttr, PixelImap iq = PixelImap.Unused) + { + var dict = isOutAttr ? context.Outputs : context.Inputs; + var attrInfo = AttributeInfo.From(context.Config, attr); + + if (attrInfo.BaseValue == AttributeConsts.PositionX && context.Config.Stage != ShaderStage.Fragment) + { + isOutAttr = true; + dict = context.Outputs; + } + + if (dict.ContainsKey(attrInfo.BaseValue)) + { + return; + } + + var storageClass = isOutAttr ? StorageClass.Output : StorageClass.Input; + var spvType = context.TypePointer(storageClass, context.GetType(attrInfo.Type, attrInfo.Length)); + var spvVar = context.Variable(spvType, storageClass); + + if (attrInfo.IsBuiltin) + { + context.Decorate(spvVar, Decoration.BuiltIn, (LiteralInteger)GetBuiltIn(context, attrInfo.BaseValue)); + } + else if (attr >= AttributeConsts.UserAttributeBase && attr < AttributeConsts.UserAttributeEnd) + { + int location = (attr - AttributeConsts.UserAttributeBase) / 16; + context.Decorate(spvVar, Decoration.Location, (LiteralInteger)location); + + if (!isOutAttr) + { + switch (iq) + { + case PixelImap.Constant: + context.Decorate(spvVar, Decoration.Flat); + break; + case PixelImap.ScreenLinear: + context.Decorate(spvVar, Decoration.NoPerspective); + break; + } + } + } + else if (attr >= AttributeConsts.FragmentOutputColorBase && attr < AttributeConsts.FragmentOutputColorEnd) + { + int location = (attr - AttributeConsts.FragmentOutputColorBase) / 16; + context.Decorate(spvVar, Decoration.Location, (LiteralInteger)location); + } + + context.AddGlobalVariable(spvVar); + dict.Add(attrInfo.BaseValue, spvVar); + } + + private static BuiltIn GetBuiltIn(CodeGenContext context, int attr) + { + return attr switch + { + AttributeConsts.Layer => BuiltIn.Layer, + AttributeConsts.ViewportIndex => BuiltIn.ViewportIndex, + AttributeConsts.PointSize => BuiltIn.PointSize, + AttributeConsts.PositionX => context.Config.Stage == ShaderStage.Fragment ? BuiltIn.FragCoord : BuiltIn.Position, + AttributeConsts.ClipDistance0 => BuiltIn.ClipDistance, + AttributeConsts.PointCoordX => BuiltIn.PointCoord, + AttributeConsts.TessCoordX => BuiltIn.TessCoord, + AttributeConsts.InstanceId => BuiltIn.InstanceId, + AttributeConsts.VertexId => BuiltIn.VertexId, + AttributeConsts.FrontFacing => BuiltIn.FrontFacing, + AttributeConsts.FragmentOutputDepth => BuiltIn.FragDepth, + AttributeConsts.ThreadKill => BuiltIn.HelperInvocation, + AttributeConsts.ThreadIdX => BuiltIn.LocalInvocationId, + AttributeConsts.CtaIdX => BuiltIn.WorkgroupId, + AttributeConsts.LaneId => BuiltIn.SubgroupLocalInvocationId, + AttributeConsts.EqMask => BuiltIn.SubgroupEqMask, + AttributeConsts.GeMask => BuiltIn.SubgroupGeMask, + AttributeConsts.GtMask => BuiltIn.SubgroupGtMask, + AttributeConsts.LeMask => BuiltIn.SubgroupLeMask, + AttributeConsts.LtMask => BuiltIn.SubgroupLtMask, + _ => throw new ArgumentException($"Invalid attribute number 0x{attr:X}.") + }; + } + + private static string GetStagePrefix(ShaderStage stage) + { + return StagePrefixes[(int)stage]; + } + } +} diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/EnumConversion.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/EnumConversion.cs new file mode 100644 index 000000000..0ddb42640 --- /dev/null +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/EnumConversion.cs @@ -0,0 +1,38 @@ +using Ryujinx.Graphics.Shader.StructuredIr; +using Ryujinx.Graphics.Shader.Translation; +using System; +using static Spv.Specification; + +namespace Ryujinx.Graphics.Shader.CodeGen.Spirv +{ + static class EnumConversion + { + public static AggregateType Convert(this VariableType type) + { + return type switch + { + VariableType.None => AggregateType.Void, + VariableType.Bool => AggregateType.Bool, + VariableType.F32 => AggregateType.FP32, + VariableType.F64 => AggregateType.FP64, + VariableType.S32 => AggregateType.S32, + VariableType.U32 => AggregateType.U32, + _ => throw new ArgumentException($"Invalid variable type \"{type}\".") + }; + } + + public static ExecutionModel Convert(this ShaderStage stage) + { + return stage switch + { + ShaderStage.Compute => ExecutionModel.GLCompute, + ShaderStage.Vertex => ExecutionModel.Vertex, + ShaderStage.TessellationControl => ExecutionModel.TessellationControl, + ShaderStage.TessellationEvaluation => ExecutionModel.TessellationEvaluation, + ShaderStage.Geometry => ExecutionModel.Geometry, + ShaderStage.Fragment => ExecutionModel.Fragment, + _ => throw new ArgumentException($"Invalid shader stage \"{stage}\".") + }; + } + } +} diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs new file mode 100644 index 000000000..e2baf5428 --- /dev/null +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs @@ -0,0 +1,1867 @@ +using Ryujinx.Graphics.Shader.IntermediateRepresentation; +using Ryujinx.Graphics.Shader.StructuredIr; +using Ryujinx.Graphics.Shader.Translation; +using System; +using System.Collections.Generic; +using System.Diagnostics; +using static Spv.Specification; + +namespace Ryujinx.Graphics.Shader.CodeGen.Spirv +{ + using SpvInstruction = Spv.Generator.Instruction; + using SpvLiteralInteger = Spv.Generator.LiteralInteger; + + static class Instructions + { + private static readonly Func[] InstTable; + + static Instructions() + { + InstTable = new Func[(int)Instruction.Count]; + + Add(Instruction.Absolute, GenerateAbsolute); + Add(Instruction.Add, GenerateAdd); + Add(Instruction.AtomicAdd, GenerateAtomicAdd); + Add(Instruction.AtomicAnd, GenerateAtomicAnd); + Add(Instruction.AtomicCompareAndSwap, GenerateAtomicCompareAndSwap); + Add(Instruction.AtomicMinS32, GenerateAtomicMinS32); + Add(Instruction.AtomicMinU32, GenerateAtomicMinU32); + Add(Instruction.AtomicMaxS32, GenerateAtomicMaxS32); + Add(Instruction.AtomicMaxU32, GenerateAtomicMaxU32); + Add(Instruction.AtomicOr, GenerateAtomicOr); + Add(Instruction.AtomicSwap, GenerateAtomicSwap); + Add(Instruction.AtomicXor, GenerateAtomicXor); + Add(Instruction.Ballot, GenerateBallot); + Add(Instruction.Barrier, GenerateBarrier); + Add(Instruction.BitCount, GenerateBitCount); + Add(Instruction.BitfieldExtractS32, GenerateBitfieldExtractS32); + Add(Instruction.BitfieldExtractU32, GenerateBitfieldExtractU32); + Add(Instruction.BitfieldInsert, GenerateBitfieldInsert); + Add(Instruction.BitfieldReverse, GenerateBitfieldReverse); + Add(Instruction.BitwiseAnd, GenerateBitwiseAnd); + Add(Instruction.BitwiseExclusiveOr, GenerateBitwiseExclusiveOr); + Add(Instruction.BitwiseNot, GenerateBitwiseNot); + Add(Instruction.BitwiseOr, GenerateBitwiseOr); + Add(Instruction.Call, GenerateCall); + Add(Instruction.Ceiling, GenerateCeiling); + Add(Instruction.Clamp, GenerateClamp); + Add(Instruction.ClampU32, GenerateClampU32); + Add(Instruction.Comment, GenerateComment); + Add(Instruction.CompareEqual, GenerateCompareEqual); + Add(Instruction.CompareGreater, GenerateCompareGreater); + Add(Instruction.CompareGreaterOrEqual, GenerateCompareGreaterOrEqual); + Add(Instruction.CompareGreaterOrEqualU32, GenerateCompareGreaterOrEqualU32); + Add(Instruction.CompareGreaterU32, GenerateCompareGreaterU32); + Add(Instruction.CompareLess, GenerateCompareLess); + Add(Instruction.CompareLessOrEqual, GenerateCompareLessOrEqual); + Add(Instruction.CompareLessOrEqualU32, GenerateCompareLessOrEqualU32); + Add(Instruction.CompareLessU32, GenerateCompareLessU32); + Add(Instruction.CompareNotEqual, GenerateCompareNotEqual); + Add(Instruction.ConditionalSelect, GenerateConditionalSelect); + Add(Instruction.ConvertFP32ToFP64, GenerateConvertFP32ToFP64); + Add(Instruction.ConvertFP64ToFP32, GenerateConvertFP64ToFP32); + Add(Instruction.ConvertFP32ToS32, GenerateConvertFPToS32); + Add(Instruction.ConvertFP32ToU32, GenerateConvertFPToU32); + Add(Instruction.ConvertS32ToFP32, GenerateConvertS32ToFP); + Add(Instruction.ConvertU32ToFP32, GenerateConvertU32ToFP); + Add(Instruction.Cosine, GenerateCosine); + Add(Instruction.Ddx, GenerateDdx); + Add(Instruction.Ddy, GenerateDdy); + Add(Instruction.Discard, GenerateDiscard); + Add(Instruction.Divide, GenerateDivide); + Add(Instruction.ExponentB2, GenerateExponentB2); + Add(Instruction.FindMSBS32, GenerateFindMSBS32); + Add(Instruction.FindMSBU32, GenerateFindMSBU32); + Add(Instruction.Floor, GenerateFloor); + Add(Instruction.FusedMultiplyAdd, GenerateFusedMultiplyAdd); + Add(Instruction.GroupMemoryBarrier, GenerateGroupMemoryBarrier); + Add(Instruction.ImageLoad, GenerateImageLoad); + Add(Instruction.ImageStore, GenerateImageStore); + Add(Instruction.IsNan, GenerateIsNan); + Add(Instruction.LoadAttribute, GenerateLoadAttribute); + Add(Instruction.LoadConstant, GenerateLoadConstant); + Add(Instruction.LoadLocal, GenerateLoadLocal); + Add(Instruction.LoadShared, GenerateLoadShared); + Add(Instruction.LoadStorage, GenerateLoadStorage); + Add(Instruction.Lod, GenerateLod); + Add(Instruction.LogarithmB2, GenerateLogarithmB2); + Add(Instruction.LogicalAnd, GenerateLogicalAnd); + Add(Instruction.LogicalNot, GenerateLogicalNot); + Add(Instruction.LogicalOr, GenerateLogicalOr); + Add(Instruction.LoopBreak, GenerateLoopBreak); + Add(Instruction.Maximum, GenerateMaximum); + Add(Instruction.MaximumU32, GenerateMaximumU32); + Add(Instruction.MemoryBarrier, GenerateMemoryBarrier); + Add(Instruction.Minimum, GenerateMinimum); + Add(Instruction.MinimumU32, GenerateMinimumU32); + Add(Instruction.Multiply, GenerateMultiply); + Add(Instruction.Negate, GenerateNegate); + Add(Instruction.PackHalf2x16, GeneratePackHalf2x16); + Add(Instruction.ReciprocalSquareRoot, GenerateReciprocalSquareRoot); + Add(Instruction.Return, GenerateReturn); + Add(Instruction.Round, GenerateRound); + Add(Instruction.ShiftLeft, GenerateShiftLeft); + Add(Instruction.ShiftRightS32, GenerateShiftRightS32); + Add(Instruction.ShiftRightU32, GenerateShiftRightU32); + Add(Instruction.Shuffle, GenerateShuffle); + Add(Instruction.ShuffleDown, GenerateShuffleDown); + Add(Instruction.ShuffleUp, GenerateShuffleUp); + Add(Instruction.ShuffleXor, GenerateShuffleXor); + Add(Instruction.Sine, GenerateSine); + Add(Instruction.SquareRoot, GenerateSquareRoot); + Add(Instruction.StoreLocal, GenerateStoreLocal); + Add(Instruction.StoreShared, GenerateStoreShared); + Add(Instruction.StoreStorage, GenerateStoreStorage); + Add(Instruction.Subtract, GenerateSubtract); + Add(Instruction.TextureSample, GenerateTextureSample); + Add(Instruction.TextureSize, GenerateTextureSize); + Add(Instruction.Truncate, GenerateTruncate); + Add(Instruction.UnpackHalf2x16, GenerateUnpackHalf2x16); + Add(Instruction.VoteAll, GenerateVoteAll); + Add(Instruction.VoteAllEqual, GenerateVoteAllEqual); + Add(Instruction.VoteAny, GenerateVoteAny); + } + + private static void Add(Instruction inst, Func handler) + { + InstTable[(int)(inst & Instruction.Mask)] = handler; + } + + public static OperationResult Generate(CodeGenContext context, AstOperation operation) + { + var handler = InstTable[(int)(operation.Inst & Instruction.Mask)]; + if (handler != null) + { + return handler(context, operation); + } + else + { + throw new NotImplementedException(operation.Inst.ToString()); + } + } + + private static OperationResult GenerateAbsolute(CodeGenContext context, AstOperation operation) + { + return GenerateUnaryExtInst(context, operation, 4, 5); + } + + private static OperationResult GenerateAdd(CodeGenContext context, AstOperation operation) + { + return GenerateBinary(context, operation, context.FAdd, context.IAdd); + } + + private static OperationResult GenerateAtomicAdd(CodeGenContext context, AstOperation operation) + { + return GenerateAtomicMemoryBinary(context, operation, context.AtomicIAdd); + } + + private static OperationResult GenerateAtomicAnd(CodeGenContext context, AstOperation operation) + { + return GenerateAtomicMemoryBinary(context, operation, context.AtomicAnd); + } + + private static OperationResult GenerateAtomicCompareAndSwap(CodeGenContext context, AstOperation operation) + { + return GenerateAtomicMemoryCas(context, operation); + } + + private static OperationResult GenerateAtomicMinS32(CodeGenContext context, AstOperation operation) + { + return GenerateAtomicMemoryBinary(context, operation, context.AtomicSMin); + } + + private static OperationResult GenerateAtomicMinU32(CodeGenContext context, AstOperation operation) + { + return GenerateAtomicMemoryBinary(context, operation, context.AtomicUMin); + } + + private static OperationResult GenerateAtomicMaxS32(CodeGenContext context, AstOperation operation) + { + return GenerateAtomicMemoryBinary(context, operation, context.AtomicSMax); + } + + private static OperationResult GenerateAtomicMaxU32(CodeGenContext context, AstOperation operation) + { + return GenerateAtomicMemoryBinary(context, operation, context.AtomicUMax); + } + + private static OperationResult GenerateAtomicOr(CodeGenContext context, AstOperation operation) + { + return GenerateAtomicMemoryBinary(context, operation, context.AtomicOr); + } + + private static OperationResult GenerateAtomicSwap(CodeGenContext context, AstOperation operation) + { + return GenerateAtomicMemoryBinary(context, operation, context.AtomicExchange); + } + + private static OperationResult GenerateAtomicXor(CodeGenContext context, AstOperation operation) + { + return GenerateAtomicMemoryBinary(context, operation, context.AtomicXor); + } + + private static OperationResult GenerateBallot(CodeGenContext context, AstOperation operation) + { + var source = operation.GetSource(0); + + var uvec4Type = context.TypeVector(context.TypeU32(), 4); + var execution = context.Constant(context.TypeU32(), 3); // Subgroup + + var maskVector = context.GroupNonUniformBallot(uvec4Type, execution, context.Get(AggregateType.Bool, source)); + var mask = context.CompositeExtract(context.TypeU32(), maskVector, (SpvLiteralInteger)0); + + return new OperationResult(AggregateType.U32, mask); + } + + private static OperationResult GenerateBarrier(CodeGenContext context, AstOperation operation) + { + context.ControlBarrier( + context.Constant(context.TypeU32(), 2), + context.Constant(context.TypeU32(), 2), + context.Constant(context.TypeU32(), 264)); + + return OperationResult.Invalid; + } + + private static OperationResult GenerateBitCount(CodeGenContext context, AstOperation operation) + { + return GenerateUnaryS32(context, operation, context.BitCount); + } + + private static OperationResult GenerateBitfieldExtractS32(CodeGenContext context, AstOperation operation) + { + return GenerateTernaryS32(context, operation, context.BitFieldSExtract); + } + + private static OperationResult GenerateBitfieldExtractU32(CodeGenContext context, AstOperation operation) + { + return GenerateTernaryS32(context, operation, context.BitFieldUExtract); + } + + private static OperationResult GenerateBitfieldInsert(CodeGenContext context, AstOperation operation) + { + return GenerateQuaternaryS32(context, operation, context.BitFieldInsert); + } + + private static OperationResult GenerateBitfieldReverse(CodeGenContext context, AstOperation operation) + { + return GenerateUnaryS32(context, operation, context.BitReverse); + } + + private static OperationResult GenerateBitwiseAnd(CodeGenContext context, AstOperation operation) + { + return GenerateBinaryS32(context, operation, context.BitwiseAnd); + } + + private static OperationResult GenerateBitwiseExclusiveOr(CodeGenContext context, AstOperation operation) + { + return GenerateBinaryS32(context, operation, context.BitwiseXor); + } + + private static OperationResult GenerateBitwiseNot(CodeGenContext context, AstOperation operation) + { + return GenerateUnaryS32(context, operation, context.Not); + } + + private static OperationResult GenerateBitwiseOr(CodeGenContext context, AstOperation operation) + { + return GenerateBinaryS32(context, operation, context.BitwiseOr); + } + + private static OperationResult GenerateCall(CodeGenContext context, AstOperation operation) + { + AstOperand funcId = (AstOperand)operation.GetSource(0); + + Debug.Assert(funcId.Type == OperandType.Constant); + + (var function, var spvFunc) = context.GetFunction(funcId.Value); + + var args = new SpvInstruction[operation.SourcesCount - 1]; + var spvLocals = context.GetLocalForArgsPointers(funcId.Value); + + for (int i = 0; i < args.Length; i++) + { + var operand = (AstOperand)operation.GetSource(i + 1); + if (i >= function.InArguments.Length) + { + args[i] = context.GetLocalPointer(operand); + } + else + { + var type = function.GetArgumentType(i).Convert(); + var value = context.Get(type, operand); + var spvLocal = spvLocals[i]; + + context.Store(spvLocal, value); + + args[i] = spvLocal; + } + } + + var retType = function.ReturnType.Convert(); + var result = context.FunctionCall(context.GetType(retType), spvFunc, args); + return new OperationResult(retType, result); + } + + private static OperationResult GenerateCeiling(CodeGenContext context, AstOperation operation) + { + return GenerateUnaryExtInst(context, operation, 9); + } + + private static OperationResult GenerateClamp(CodeGenContext context, AstOperation operation) + { + return GenerateTernaryExtInst(context, operation, 43, 45); + } + + private static OperationResult GenerateClampU32(CodeGenContext context, AstOperation operation) + { + return GenerateTernaryExtInstU32(context, operation, 44); + } + + private static OperationResult GenerateComment(CodeGenContext context, AstOperation operation) + { + return OperationResult.Invalid; + } + + private static OperationResult GenerateCompareEqual(CodeGenContext context, AstOperation operation) + { + return GenerateCompare(context, operation, context.FOrdEqual, context.IEqual); + } + + private static OperationResult GenerateCompareGreater(CodeGenContext context, AstOperation operation) + { + return GenerateCompare(context, operation, context.FOrdGreaterThan, context.SGreaterThan); + } + + private static OperationResult GenerateCompareGreaterOrEqual(CodeGenContext context, AstOperation operation) + { + return GenerateCompare(context, operation, context.FOrdGreaterThanEqual, context.SGreaterThanEqual); + } + + private static OperationResult GenerateCompareGreaterOrEqualU32(CodeGenContext context, AstOperation operation) + { + return GenerateCompareU32(context, operation, context.UGreaterThanEqual); + } + + private static OperationResult GenerateCompareGreaterU32(CodeGenContext context, AstOperation operation) + { + return GenerateCompareU32(context, operation, context.UGreaterThan); + } + + private static OperationResult GenerateCompareLess(CodeGenContext context, AstOperation operation) + { + return GenerateCompare(context, operation, context.FOrdLessThan, context.SLessThan); + } + + private static OperationResult GenerateCompareLessOrEqual(CodeGenContext context, AstOperation operation) + { + return GenerateCompare(context, operation, context.FOrdLessThanEqual, context.SLessThanEqual); + } + + private static OperationResult GenerateCompareLessOrEqualU32(CodeGenContext context, AstOperation operation) + { + return GenerateCompareU32(context, operation, context.ULessThanEqual); + } + + private static OperationResult GenerateCompareLessU32(CodeGenContext context, AstOperation operation) + { + return GenerateCompareU32(context, operation, context.ULessThan); + } + + private static OperationResult GenerateCompareNotEqual(CodeGenContext context, AstOperation operation) + { + return GenerateCompare(context, operation, context.FOrdNotEqual, context.INotEqual); + } + + private static OperationResult GenerateConditionalSelect(CodeGenContext context, AstOperation operation) + { + var src1 = operation.GetSource(0); + var src2 = operation.GetSource(1); + var src3 = operation.GetSource(2); + + var cond = context.Get(AggregateType.Bool, src1); + + if (operation.Inst.HasFlag(Instruction.FP64)) + { + return new OperationResult(AggregateType.FP64, context.Select(context.TypeFP64(), cond, context.GetFP64(src2), context.GetFP64(src3))); + } + else if (operation.Inst.HasFlag(Instruction.FP32)) + { + return new OperationResult(AggregateType.FP32, context.Select(context.TypeFP32(), cond, context.GetFP32(src2), context.GetFP32(src3))); + } + else + { + return new OperationResult(AggregateType.S32, context.Select(context.TypeS32(), cond, context.GetS32(src2), context.GetS32(src3))); + } + } + + private static OperationResult GenerateConvertFP32ToFP64(CodeGenContext context, AstOperation operation) + { + var source = operation.GetSource(0); + + return new OperationResult(AggregateType.FP64, context.FConvert(context.TypeFP64(), context.GetFP32(source))); + } + + private static OperationResult GenerateConvertFP64ToFP32(CodeGenContext context, AstOperation operation) + { + var source = operation.GetSource(0); + + return new OperationResult(AggregateType.FP32, context.FConvert(context.TypeFP32(), context.GetFP64(source))); + } + + private static OperationResult GenerateConvertFPToS32(CodeGenContext context, AstOperation operation) + { + var source = operation.GetSource(0); + + if (operation.Inst.HasFlag(Instruction.FP64)) + { + return new OperationResult(AggregateType.S32, context.ConvertFToS(context.TypeS32(), context.GetFP64(source))); + } + else + { + return new OperationResult(AggregateType.S32, context.ConvertFToS(context.TypeS32(), context.GetFP32(source))); + } + } + + private static OperationResult GenerateConvertFPToU32(CodeGenContext context, AstOperation operation) + { + var source = operation.GetSource(0); + + if (operation.Inst.HasFlag(Instruction.FP64)) + { + return new OperationResult(AggregateType.U32, context.ConvertFToU(context.TypeU32(), context.GetFP64(source))); + } + else + { + return new OperationResult(AggregateType.U32, context.ConvertFToU(context.TypeU32(), context.GetFP32(source))); + } + } + + private static OperationResult GenerateConvertS32ToFP(CodeGenContext context, AstOperation operation) + { + var source = operation.GetSource(0); + + if (operation.Inst.HasFlag(Instruction.FP64)) + { + return new OperationResult(AggregateType.FP64, context.ConvertSToF(context.TypeFP64(), context.GetS32(source))); + } + else + { + return new OperationResult(AggregateType.FP32, context.ConvertSToF(context.TypeFP32(), context.GetS32(source))); + } + } + + private static OperationResult GenerateConvertU32ToFP(CodeGenContext context, AstOperation operation) + { + var source = operation.GetSource(0); + + if (operation.Inst.HasFlag(Instruction.FP64)) + { + return new OperationResult(AggregateType.FP64, context.ConvertUToF(context.TypeFP64(), context.GetU32(source))); + } + else + { + return new OperationResult(AggregateType.FP32, context.ConvertUToF(context.TypeFP32(), context.GetU32(source))); + } + } + + private static OperationResult GenerateCosine(CodeGenContext context, AstOperation operation) + { + return GenerateUnaryExtInst(context, operation, 14); + } + + private static OperationResult GenerateDdx(CodeGenContext context, AstOperation operation) + { + return GenerateUnaryFP32(context, operation, context.DPdx); + } + + private static OperationResult GenerateDdy(CodeGenContext context, AstOperation operation) + { + return GenerateUnaryFP32(context, operation, context.DPdy); + } + + private static OperationResult GenerateDiscard(CodeGenContext context, AstOperation operation) + { + context.Kill(); + return OperationResult.Invalid; + } + + private static OperationResult GenerateDivide(CodeGenContext context, AstOperation operation) + { + return GenerateBinary(context, operation, context.FDiv, context.SDiv); + } + + private static OperationResult GenerateExponentB2(CodeGenContext context, AstOperation operation) + { + return GenerateUnaryExtInst(context, operation, 29); + } + + private static OperationResult GenerateFindMSBS32(CodeGenContext context, AstOperation operation) + { + var source = context.GetS32(operation.GetSource(0)); + return new OperationResult(AggregateType.U32, context.ExtInst(context.TypeU32(), context.ExtSet, 74, source)); + } + + private static OperationResult GenerateFindMSBU32(CodeGenContext context, AstOperation operation) + { + var source = context.GetU32(operation.GetSource(0)); + return new OperationResult(AggregateType.U32, context.ExtInst(context.TypeU32(), context.ExtSet, 75, source)); + } + + private static OperationResult GenerateFloor(CodeGenContext context, AstOperation operation) + { + return GenerateUnaryExtInst(context, operation, 8); + } + + private static OperationResult GenerateFusedMultiplyAdd(CodeGenContext context, AstOperation operation) + { + return GenerateTernaryExtInst(context, operation, 50); + } + + private static OperationResult GenerateGroupMemoryBarrier(CodeGenContext context, AstOperation operation) + { + context.MemoryBarrier(context.Constant(context.TypeU32(), 2), context.Constant(context.TypeU32(), 3400)); + return OperationResult.Invalid; + } + + private static OperationResult GenerateImageLoad(CodeGenContext context, AstOperation operation) + { + AstTextureOperation texOp = (AstTextureOperation)operation; + + bool isBindless = (texOp.Flags & TextureFlags.Bindless) != 0; + + var componentType = texOp.Format.GetComponentType(); + + // TODO: Bindless texture support. For now we just return 0/do nothing. + if (isBindless) + { + var zero = componentType switch + { + VariableType.S32 => context.Constant(context.TypeS32(), 0), + VariableType.U32 => context.Constant(context.TypeU32(), 0u), + _ => context.Constant(context.TypeFP32(), 0f), + }; + + return new OperationResult(componentType.Convert(), zero); + } + + bool isArray = (texOp.Type & SamplerType.Array) != 0; + bool isIndexed = (texOp.Type & SamplerType.Indexed) != 0; + + int srcIndex = isBindless ? 1 : 0; + + SpvInstruction Src(AggregateType type) + { + return context.Get(type, texOp.GetSource(srcIndex++)); + } + + SpvInstruction index = null; + + if (isIndexed) + { + index = Src(AggregateType.S32); + } + + int coordsCount = texOp.Type.GetDimensions(); + + int pCount = coordsCount + (isArray ? 1 : 0); + + SpvInstruction pCoords; + + if (pCount > 1) + { + SpvInstruction[] elems = new SpvInstruction[pCount]; + + for (int i = 0; i < pCount; i++) + { + elems[i] = Src(AggregateType.S32); + } + + var vectorType = context.TypeVector(context.TypeS32(), pCount); + pCoords = context.CompositeConstruct(vectorType, elems); + } + else + { + pCoords = Src(AggregateType.S32); + } + + (var imageType, var imageVariable) = context.Images[new TextureMeta(texOp.CbufSlot, texOp.Handle, texOp.Format, texOp.Type)]; + + var image = context.Load(imageType, imageVariable); + + var texel = context.ImageRead(context.TypeVector(context.GetType(componentType.Convert()), 4), image, pCoords); + var result = context.CompositeExtract(context.TypeFP32(), texel, (SpvLiteralInteger)texOp.Index); + + return new OperationResult(componentType.Convert(), result); + } + + private static OperationResult GenerateImageStore(CodeGenContext context, AstOperation operation) + { + AstTextureOperation texOp = (AstTextureOperation)operation; + + bool isBindless = (texOp.Flags & TextureFlags.Bindless) != 0; + + // TODO: Bindless texture support. For now we just return 0/do nothing. + if (isBindless) + { + return OperationResult.Invalid; + } + + bool isArray = (texOp.Type & SamplerType.Array) != 0; + bool isIndexed = (texOp.Type & SamplerType.Indexed) != 0; + + int srcIndex = isBindless ? 1 : 0; + + SpvInstruction Src(AggregateType type) + { + return context.Get(type, texOp.GetSource(srcIndex++)); + } + + SpvInstruction index = null; + + if (isIndexed) + { + index = Src(AggregateType.S32); + } + + int coordsCount = texOp.Type.GetDimensions(); + + int pCount = coordsCount + (isArray ? 1 : 0); + + SpvInstruction pCoords; + + if (pCount > 1) + { + SpvInstruction[] elems = new SpvInstruction[pCount]; + + for (int i = 0; i < pCount; i++) + { + elems[i] = Src(AggregateType.S32); + } + + var vectorType = context.TypeVector(context.TypeS32(), pCount); + pCoords = context.CompositeConstruct(vectorType, elems); + } + else + { + pCoords = Src(AggregateType.S32); + } + + var componentType = texOp.Format.GetComponentType(); + + const int ComponentsCount = 4; + + SpvInstruction[] cElems = new SpvInstruction[ComponentsCount]; + + for (int i = 0; i < ComponentsCount; i++) + { + if (srcIndex < texOp.SourcesCount) + { + cElems[i] = Src(componentType.Convert()); + } + else + { + cElems[i] = componentType switch + { + VariableType.S32 => context.Constant(context.TypeS32(), 0), + VariableType.U32 => context.Constant(context.TypeU32(), 0u), + _ => context.Constant(context.TypeFP32(), 0f), + }; + } + } + + var texel = context.CompositeConstruct(context.TypeVector(context.GetType(componentType.Convert()), ComponentsCount), cElems); + + (var imageType, var imageVariable) = context.Images[new TextureMeta(texOp.CbufSlot, texOp.Handle, texOp.Format, texOp.Type)]; + + var image = context.Load(imageType, imageVariable); + + context.ImageWrite(image, pCoords, texel); + + return OperationResult.Invalid; + } + + private static OperationResult GenerateIsNan(CodeGenContext context, AstOperation operation) + { + var source = operation.GetSource(0); + + SpvInstruction result; + + if (operation.Inst.HasFlag(Instruction.FP64)) + { + result = context.IsNan(context.TypeBool(), context.GetFP64(source)); + } + else + { + result = context.IsNan(context.TypeBool(), context.GetFP32(source)); + } + + return new OperationResult(AggregateType.Bool, result); + } + + private static OperationResult GenerateLoadAttribute(CodeGenContext context, AstOperation operation) + { + var src1 = operation.GetSource(0); + var src2 = operation.GetSource(1); + + if (src1 is not AstOperand oper || oper.Type != OperandType.Attribute) + { + throw new InvalidOperationException("First source of LoadAttribute must be a attribute."); + } + + return new OperationResult(AggregateType.FP32, context.GetAttribute(AggregateType.FP32, oper, false)); + } + + private static OperationResult GenerateLoadConstant(CodeGenContext context, AstOperation operation) + { + var src1 = operation.GetSource(0); + var src2 = context.Get(AggregateType.S32, operation.GetSource(1)); + + var ubVariable = context.UniformBuffers[((AstOperand)src1).Value]; + var i0 = context.Constant(context.TypeS32(), 0); + var i1 = context.ShiftRightArithmetic(context.TypeS32(), src2, context.Constant(context.TypeS32(), 2)); + var i2 = context.BitwiseAnd(context.TypeS32(), src2, context.Constant(context.TypeS32(), 3)); + + var elemPointer = context.AccessChain(context.TypePointer(StorageClass.Uniform, context.TypeFP32()), ubVariable, i0, i1, i2); + var value = context.Load(context.TypeFP32(), elemPointer); + + return new OperationResult(AggregateType.FP32, value); + } + + private static OperationResult GenerateLoadLocal(CodeGenContext context, AstOperation operation) + { + return GenerateLoadLocalOrShared(context, operation, StorageClass.Private, context.LocalMemory); + } + + private static OperationResult GenerateLoadShared(CodeGenContext context, AstOperation operation) + { + return GenerateLoadLocalOrShared(context, operation, StorageClass.Workgroup, context.SharedMemory); + } + + private static OperationResult GenerateLoadLocalOrShared( + CodeGenContext context, + AstOperation operation, + StorageClass storageClass, + SpvInstruction memory) + { + var offset = context.Get(AggregateType.S32, operation.GetSource(0)); + + var elemPointer = context.AccessChain(context.TypePointer(storageClass, context.TypeU32()), memory, offset); + var value = context.Load(context.TypeU32(), elemPointer); + + return new OperationResult(AggregateType.U32, value); + } + + private static OperationResult GenerateLoadStorage(CodeGenContext context, AstOperation operation) + { + var elemPointer = GetStorageElemPointer(context, operation); + var value = context.Load(context.TypeU32(), elemPointer); + + return new OperationResult(AggregateType.U32, value); + } + + private static OperationResult GenerateLod(CodeGenContext context, AstOperation operation) + { + AstTextureOperation texOp = (AstTextureOperation)operation; + + bool isBindless = (texOp.Flags & TextureFlags.Bindless) != 0; + + bool isIndexed = (texOp.Type & SamplerType.Indexed) != 0; + + // TODO: Bindless texture support. For now we just return 0. + if (isBindless) + { + return new OperationResult(AggregateType.S32, context.Constant(context.TypeS32(), 0)); + } + + int srcIndex = 0; + + SpvInstruction Src(AggregateType type) + { + return context.Get(type, texOp.GetSource(srcIndex++)); + } + + SpvInstruction index = null; + + if (isIndexed) + { + index = Src(AggregateType.S32); + } + + int pCount = texOp.Type.GetDimensions(); + + SpvInstruction pCoords; + + if (pCount > 1) + { + SpvInstruction[] elems = new SpvInstruction[pCount]; + + for (int i = 0; i < pCount; i++) + { + elems[i] = Src(AggregateType.FP32); + } + + var vectorType = context.TypeVector(context.TypeFP32(), pCount); + pCoords = context.CompositeConstruct(vectorType, elems); + } + else + { + pCoords = Src(AggregateType.FP32); + } + + var meta = new TextureMeta(texOp.CbufSlot, texOp.Handle, texOp.Format, texOp.Type); + + (_, var sampledImageType, var sampledImageVariable) = context.Samplers[meta]; + + var image = context.Load(sampledImageType, sampledImageVariable); + + var resultType = context.TypeVector(context.TypeFP32(), 2); + var packed = context.ImageQueryLod(resultType, image, pCoords); + var result = context.CompositeExtract(context.TypeFP32(), packed, (SpvLiteralInteger)texOp.Index); + + return new OperationResult(AggregateType.FP32, result); + } + + private static OperationResult GenerateLogarithmB2(CodeGenContext context, AstOperation operation) + { + return GenerateUnaryExtInst(context, operation, 30); + } + + private static OperationResult GenerateLogicalAnd(CodeGenContext context, AstOperation operation) + { + return GenerateBinaryBool(context, operation, context.LogicalAnd); + } + + private static OperationResult GenerateLogicalNot(CodeGenContext context, AstOperation operation) + { + return GenerateUnaryBool(context, operation, context.LogicalNot); + } + + private static OperationResult GenerateLogicalOr(CodeGenContext context, AstOperation operation) + { + return GenerateBinaryBool(context, operation, context.LogicalOr); + } + + private static OperationResult GenerateLoopBreak(CodeGenContext context, AstOperation operation) + { + AstBlock loopBlock = context.CurrentBlock; + while (loopBlock.Type != AstBlockType.DoWhile) + { + loopBlock = loopBlock.Parent; + } + + context.Branch(context.GetNextLabel(loopBlock.Parent)); + + return OperationResult.Invalid; + } + + private static OperationResult GenerateMaximum(CodeGenContext context, AstOperation operation) + { + return GenerateBinaryExtInst(context, operation, 40, 42); + } + + private static OperationResult GenerateMaximumU32(CodeGenContext context, AstOperation operation) + { + return GenerateBinaryExtInstU32(context, operation, 41); + } + + private static OperationResult GenerateMemoryBarrier(CodeGenContext context, AstOperation operation) + { + context.MemoryBarrier(context.Constant(context.TypeU32(), 1), context.Constant(context.TypeU32(), 3400)); + return OperationResult.Invalid; + } + + private static OperationResult GenerateMinimum(CodeGenContext context, AstOperation operation) + { + return GenerateBinaryExtInst(context, operation, 37, 39); + } + + private static OperationResult GenerateMinimumU32(CodeGenContext context, AstOperation operation) + { + return GenerateBinaryExtInstU32(context, operation, 38); + } + + private static OperationResult GenerateMultiply(CodeGenContext context, AstOperation operation) + { + return GenerateBinary(context, operation, context.FMul, context.IMul); + } + + private static OperationResult GenerateNegate(CodeGenContext context, AstOperation operation) + { + return GenerateUnary(context, operation, context.FNegate, context.SNegate); + } + + private static OperationResult GeneratePackHalf2x16(CodeGenContext context, AstOperation operation) + { + var value0 = context.GetFP32(operation.GetSource(0)); + var value1 = context.GetFP32(operation.GetSource(1)); + var vector = context.CompositeConstruct(context.TypeVector(context.TypeFP32(), 2), value0, value1); + var result = context.ExtInst(context.TypeU32(), context.ExtSet, 58, vector); + + return new OperationResult(AggregateType.U32, result); + } + + private static OperationResult GenerateReciprocalSquareRoot(CodeGenContext context, AstOperation operation) + { + return GenerateUnaryExtInst(context, operation, 32); + } + + private static OperationResult GenerateReturn(CodeGenContext context, AstOperation operation) + { + context.Return(); + return OperationResult.Invalid; + } + + private static OperationResult GenerateRound(CodeGenContext context, AstOperation operation) + { + return GenerateUnaryExtInst(context, operation, 2); + } + + private static OperationResult GenerateShiftLeft(CodeGenContext context, AstOperation operation) + { + return GenerateBinaryS32(context, operation, context.ShiftLeftLogical); + } + + private static OperationResult GenerateShiftRightS32(CodeGenContext context, AstOperation operation) + { + return GenerateBinaryS32(context, operation, context.ShiftRightArithmetic); + } + + private static OperationResult GenerateShiftRightU32(CodeGenContext context, AstOperation operation) + { + return GenerateBinaryS32(context, operation, context.ShiftRightLogical); + } + + private static OperationResult GenerateShuffle(CodeGenContext context, AstOperation operation) + { + var x = context.GetFP32(operation.GetSource(0)); + var index = context.GetU32(operation.GetSource(1)); + var mask = context.GetU32(operation.GetSource(2)); + + var const31 = context.Constant(context.TypeU32(), 31); + var const8 = context.Constant(context.TypeU32(), 8); + + var clamp = context.BitwiseAnd(context.TypeU32(), mask, const31); + var segMask = context.BitwiseAnd(context.TypeU32(), context.ShiftRightLogical(context.TypeU32(), mask, const8), const31); + var notSegMask = context.Not(context.TypeU32(), segMask); + var clampNotSegMask = context.BitwiseAnd(context.TypeU32(), clamp, notSegMask); + var indexNotSegMask = context.BitwiseAnd(context.TypeU32(), index, notSegMask); + + var threadId = context.GetAttribute(AggregateType.U32, new AstOperand(OperandType.Attribute, AttributeConsts.LaneId), false); + + var minThreadId = context.BitwiseAnd(context.TypeU32(), threadId, segMask); + var maxThreadId = context.BitwiseOr(context.TypeU32(), minThreadId, clampNotSegMask); + var srcThreadId = context.BitwiseOr(context.TypeU32(), indexNotSegMask, minThreadId); + var valid = context.ULessThanEqual(context.TypeBool(), srcThreadId, maxThreadId); + var value = context.SubgroupReadInvocationKHR(context.TypeFP32(), x, srcThreadId); + var result = context.Select(context.TypeFP32(), valid, value, x); + + var validLocal = (AstOperand)operation.GetSource(3); + + context.Store(context.GetLocalPointer(validLocal), context.BitcastIfNeeded(validLocal.VarType.Convert(), AggregateType.Bool, valid)); + + return new OperationResult(AggregateType.FP32, result); + } + + private static OperationResult GenerateShuffleDown(CodeGenContext context, AstOperation operation) + { + var x = context.GetFP32(operation.GetSource(0)); + var index = context.GetU32(operation.GetSource(1)); + var mask = context.GetU32(operation.GetSource(2)); + + var const31 = context.Constant(context.TypeU32(), 31); + var const8 = context.Constant(context.TypeU32(), 8); + + var clamp = context.BitwiseAnd(context.TypeU32(), mask, const31); + var segMask = context.BitwiseAnd(context.TypeU32(), context.ShiftRightLogical(context.TypeU32(), mask, const8), const31); + var notSegMask = context.Not(context.TypeU32(), segMask); + var clampNotSegMask = context.BitwiseAnd(context.TypeU32(), clamp, notSegMask); + var indexNotSegMask = context.BitwiseAnd(context.TypeU32(), index, notSegMask); + + var threadId = context.GetAttribute(AggregateType.U32, new AstOperand(OperandType.Attribute, AttributeConsts.LaneId), false); + + var minThreadId = context.BitwiseAnd(context.TypeU32(), threadId, segMask); + var maxThreadId = context.BitwiseOr(context.TypeU32(), minThreadId, clampNotSegMask); + var srcThreadId = context.IAdd(context.TypeU32(), threadId, index); + var valid = context.ULessThanEqual(context.TypeBool(), srcThreadId, maxThreadId); + var value = context.SubgroupReadInvocationKHR(context.TypeFP32(), x, srcThreadId); + var result = context.Select(context.TypeFP32(), valid, value, x); + + var validLocal = (AstOperand)operation.GetSource(3); + + context.Store(context.GetLocalPointer(validLocal), context.BitcastIfNeeded(validLocal.VarType.Convert(), AggregateType.Bool, valid)); + + return new OperationResult(AggregateType.FP32, result); + } + + private static OperationResult GenerateShuffleUp(CodeGenContext context, AstOperation operation) + { + var x = context.GetFP32(operation.GetSource(0)); + var index = context.GetU32(operation.GetSource(1)); + var mask = context.GetU32(operation.GetSource(2)); + + var const31 = context.Constant(context.TypeU32(), 31); + var const8 = context.Constant(context.TypeU32(), 8); + + var clamp = context.BitwiseAnd(context.TypeU32(), mask, const31); + var segMask = context.BitwiseAnd(context.TypeU32(), context.ShiftRightLogical(context.TypeU32(), mask, const8), const31); + var notSegMask = context.Not(context.TypeU32(), segMask); + var clampNotSegMask = context.BitwiseAnd(context.TypeU32(), clamp, notSegMask); + var indexNotSegMask = context.BitwiseAnd(context.TypeU32(), index, notSegMask); + + var threadId = context.GetAttribute(AggregateType.U32, new AstOperand(OperandType.Attribute, AttributeConsts.LaneId), false); + + var minThreadId = context.BitwiseAnd(context.TypeU32(), threadId, segMask); + var srcThreadId = context.ISub(context.TypeU32(), threadId, index); + var valid = context.UGreaterThanEqual(context.TypeBool(), srcThreadId, minThreadId); + var value = context.SubgroupReadInvocationKHR(context.TypeFP32(), x, srcThreadId); + var result = context.Select(context.TypeFP32(), valid, value, x); + + var validLocal = (AstOperand)operation.GetSource(3); + + context.Store(context.GetLocalPointer(validLocal), context.BitcastIfNeeded(validLocal.VarType.Convert(), AggregateType.Bool, valid)); + + return new OperationResult(AggregateType.FP32, result); + } + + private static OperationResult GenerateShuffleXor(CodeGenContext context, AstOperation operation) + { + var x = context.GetFP32(operation.GetSource(0)); + var index = context.GetU32(operation.GetSource(1)); + var mask = context.GetU32(operation.GetSource(2)); + + var const31 = context.Constant(context.TypeU32(), 31); + var const8 = context.Constant(context.TypeU32(), 8); + + var clamp = context.BitwiseAnd(context.TypeU32(), mask, const31); + var segMask = context.BitwiseAnd(context.TypeU32(), context.ShiftRightLogical(context.TypeU32(), mask, const8), const31); + var notSegMask = context.Not(context.TypeU32(), segMask); + var clampNotSegMask = context.BitwiseAnd(context.TypeU32(), clamp, notSegMask); + var indexNotSegMask = context.BitwiseAnd(context.TypeU32(), index, notSegMask); + + var threadId = context.GetAttribute(AggregateType.U32, new AstOperand(OperandType.Attribute, AttributeConsts.LaneId), false); + + var minThreadId = context.BitwiseAnd(context.TypeU32(), threadId, segMask); + var maxThreadId = context.BitwiseOr(context.TypeU32(), minThreadId, clampNotSegMask); + var srcThreadId = context.BitwiseXor(context.TypeU32(), threadId, index); + var valid = context.ULessThanEqual(context.TypeBool(), srcThreadId, maxThreadId); + var value = context.SubgroupReadInvocationKHR(context.TypeFP32(), x, srcThreadId); + var result = context.Select(context.TypeFP32(), valid, value, x); + + var validLocal = (AstOperand)operation.GetSource(3); + + context.Store(context.GetLocalPointer(validLocal), context.BitcastIfNeeded(validLocal.VarType.Convert(), AggregateType.Bool, valid)); + + return new OperationResult(AggregateType.FP32, result); + } + + private static OperationResult GenerateSine(CodeGenContext context, AstOperation operation) + { + return GenerateUnaryExtInst(context, operation, 13); + } + + private static OperationResult GenerateSquareRoot(CodeGenContext context, AstOperation operation) + { + return GenerateUnaryExtInst(context, operation, 31); + } + + private static OperationResult GenerateStoreLocal(CodeGenContext context, AstOperation operation) + { + return GenerateStoreLocalOrShared(context, operation, StorageClass.Private, context.LocalMemory); + } + + private static OperationResult GenerateStoreShared(CodeGenContext context, AstOperation operation) + { + return GenerateStoreLocalOrShared(context, operation, StorageClass.Workgroup, context.SharedMemory); + } + + private static OperationResult GenerateStoreLocalOrShared( + CodeGenContext context, + AstOperation operation, + StorageClass storageClass, + SpvInstruction memory) + { + var offset = context.Get(AggregateType.S32, operation.GetSource(0)); + var value = context.Get(AggregateType.U32, operation.GetSource(1)); + + var elemPointer = context.AccessChain(context.TypePointer(storageClass, context.TypeU32()), memory, offset); + context.Store(elemPointer, value); + + return OperationResult.Invalid; + } + + private static OperationResult GenerateStoreStorage(CodeGenContext context, AstOperation operation) + { + var elemPointer = GetStorageElemPointer(context, operation); + context.Store(elemPointer, context.Get(AggregateType.U32, operation.GetSource(2))); + + return OperationResult.Invalid; + } + + private static OperationResult GenerateSubtract(CodeGenContext context, AstOperation operation) + { + return GenerateBinary(context, operation, context.FSub, context.ISub); + } + + private static OperationResult GenerateTextureSample(CodeGenContext context, AstOperation operation) + { + AstTextureOperation texOp = (AstTextureOperation)operation; + + bool isBindless = (texOp.Flags & TextureFlags.Bindless) != 0; + bool isGather = (texOp.Flags & TextureFlags.Gather) != 0; + bool hasDerivatives = (texOp.Flags & TextureFlags.Derivatives) != 0; + bool intCoords = (texOp.Flags & TextureFlags.IntCoords) != 0; + bool hasLodBias = (texOp.Flags & TextureFlags.LodBias) != 0; + bool hasLodLevel = (texOp.Flags & TextureFlags.LodLevel) != 0; + bool hasOffset = (texOp.Flags & TextureFlags.Offset) != 0; + bool hasOffsets = (texOp.Flags & TextureFlags.Offsets) != 0; + + bool isArray = (texOp.Type & SamplerType.Array) != 0; + bool isIndexed = (texOp.Type & SamplerType.Indexed) != 0; + bool isMultisample = (texOp.Type & SamplerType.Multisample) != 0; + bool isShadow = (texOp.Type & SamplerType.Shadow) != 0; + + // TODO: Bindless texture support. For now we just return 0. + if (isBindless) + { + return new OperationResult(AggregateType.FP32, context.Constant(context.TypeFP32(), 0f)); + } + + // This combination is valid, but not available on GLSL. + // For now, ignore the LOD level and do a normal sample. + // TODO: How to implement it properly? + if (hasLodLevel && isArray && isShadow) + { + hasLodLevel = false; + } + + int srcIndex = isBindless ? 1 : 0; + + SpvInstruction Src(AggregateType type) + { + return context.Get(type, texOp.GetSource(srcIndex++)); + } + + SpvInstruction index = null; + + if (isIndexed) + { + index = Src(AggregateType.S32); + } + + int coordsCount = texOp.Type.GetDimensions(); + + int pCount = coordsCount; + + int arrayIndexElem = -1; + + if (isArray) + { + arrayIndexElem = pCount++; + } + + AggregateType coordType = intCoords ? AggregateType.S32 : AggregateType.FP32; + + SpvInstruction AssemblePVector(int count) + { + if (count > 1) + { + SpvInstruction[] elems = new SpvInstruction[count]; + + for (int index = 0; index < count; index++) + { + if (arrayIndexElem == index) + { + elems[index] = Src(AggregateType.S32); + + if (!intCoords) + { + elems[index] = context.ConvertSToF(context.TypeFP32(), elems[index]); + } + } + else + { + elems[index] = Src(coordType); + } + } + + var vectorType = context.TypeVector(intCoords ? context.TypeS32() : context.TypeFP32(), count); + return context.CompositeConstruct(vectorType, elems); + } + else + { + return Src(coordType); + } + } + + SpvInstruction pCoords = AssemblePVector(pCount); + + SpvInstruction AssembleDerivativesVector(int count) + { + if (count > 1) + { + SpvInstruction[] elems = new SpvInstruction[count]; + + for (int index = 0; index < count; index++) + { + elems[index] = Src(AggregateType.FP32); + } + + var vectorType = context.TypeVector(context.TypeFP32(), count); + return context.CompositeConstruct(vectorType, elems); + } + else + { + return Src(AggregateType.FP32); + } + } + + SpvInstruction dRef = null; + + if (isShadow) + { + dRef = Src(AggregateType.FP32); + } + + SpvInstruction[] derivatives = null; + + if (hasDerivatives) + { + derivatives = new[] + { + AssembleDerivativesVector(coordsCount), // dPdx + AssembleDerivativesVector(coordsCount) // dPdy + }; + } + + SpvInstruction sample = null; + SpvInstruction lod = null; + + if (isMultisample) + { + sample = Src(AggregateType.S32); + } + else if (hasLodLevel) + { + lod = Src(coordType); + } + + SpvInstruction AssembleOffsetVector(int count) + { + if (count > 1) + { + SpvInstruction[] elems = new SpvInstruction[count]; + + for (int index = 0; index < count; index++) + { + elems[index] = Src(AggregateType.S32); + } + + var vectorType = context.TypeVector(context.TypeS32(), count); + return context.CompositeConstruct(vectorType, elems); + } + else + { + return Src(AggregateType.S32); + } + } + + SpvInstruction[] offsets = null; + + if (hasOffset) + { + offsets = new[] { AssembleOffsetVector(coordsCount) }; + } + else if (hasOffsets) + { + offsets = new[] + { + AssembleOffsetVector(coordsCount), + AssembleOffsetVector(coordsCount), + AssembleOffsetVector(coordsCount), + AssembleOffsetVector(coordsCount) + }; + } + + SpvInstruction lodBias = null; + + if (hasLodBias) + { + lodBias = Src(AggregateType.FP32); + } + + SpvInstruction compIdx = null; + + // textureGather* optional extra component index, + // not needed for shadow samplers. + if (isGather && !isShadow) + { + compIdx = Src(AggregateType.S32); + } + + var operandsList = new List(); + var operandsMask = ImageOperandsMask.MaskNone; + + if (hasLodBias) + { + operandsMask |= ImageOperandsMask.Bias; + operandsList.Add(lodBias); + } + + if (hasLodLevel) + { + operandsMask |= ImageOperandsMask.Lod; + operandsList.Add(lod); + } + + if (hasDerivatives) + { + operandsMask |= ImageOperandsMask.Grad; + operandsList.Add(derivatives[0]); + operandsList.Add(derivatives[1]); + } + + if (hasOffset) + { + operandsMask |= ImageOperandsMask.ConstOffset; + operandsList.Add(offsets[0]); + } + else if (hasOffsets) + { + operandsMask |= ImageOperandsMask.ConstOffsets; + operandsList.Add(offsets[0]); + operandsList.Add(offsets[1]); + operandsList.Add(offsets[2]); + operandsList.Add(offsets[3]); + } + + if (isMultisample) + { + operandsMask |= ImageOperandsMask.Sample; + operandsList.Add(sample); + } + + bool colorIsVector = isGather || !isShadow; + var resultType = colorIsVector ? context.TypeVector(context.TypeFP32(), 4) : context.TypeFP32(); + + var meta = new TextureMeta(texOp.CbufSlot, texOp.Handle, texOp.Format, texOp.Type); + + (var imageType, var sampledImageType, var sampledImageVariable) = context.Samplers[meta]; + + var image = context.Load(sampledImageType, sampledImageVariable); + + if (intCoords) + { + image = context.Image(imageType, image); + } + + var operands = operandsList.ToArray(); + + SpvInstruction result; + + if (intCoords) + { + result = context.ImageFetch(resultType, image, pCoords, operandsMask, operands); + } + else if (isGather) + { + if (isShadow) + { + result = context.ImageDrefGather(resultType, image, pCoords, dRef, operandsMask, operands); + } + else + { + result = context.ImageGather(resultType, image, pCoords, compIdx, operandsMask, operands); + } + } + else if (isShadow) + { + if (hasLodLevel) + { + result = context.ImageSampleDrefExplicitLod(resultType, image, pCoords, dRef, operandsMask, operands); + } + else + { + result = context.ImageSampleDrefImplicitLod(resultType, image, pCoords, dRef, operandsMask, operands); + } + } + else if (hasDerivatives || hasLodLevel) + { + result = context.ImageSampleExplicitLod(resultType, image, pCoords, operandsMask, operands); + } + else + { + result = context.ImageSampleImplicitLod(resultType, image, pCoords, operandsMask, operands); + } + + if (colorIsVector) + { + result = context.CompositeExtract(context.TypeFP32(), result, (SpvLiteralInteger)texOp.Index); + } + + return new OperationResult(AggregateType.FP32, result); + } + + private static OperationResult GenerateTextureSize(CodeGenContext context, AstOperation operation) + { + AstTextureOperation texOp = (AstTextureOperation)operation; + + bool isBindless = (texOp.Flags & TextureFlags.Bindless) != 0; + + // TODO: Bindless texture support. For now we just return 0. + if (isBindless) + { + return new OperationResult(AggregateType.S32, context.Constant(context.TypeS32(), 0)); + } + + bool isIndexed = (texOp.Type & SamplerType.Indexed) != 0; + + SpvInstruction index = null; + + if (isIndexed) + { + index = context.GetS32(texOp.GetSource(0)); + } + + int lodSrcIndex = isBindless || isIndexed ? 1 : 0; + + var lod = context.GetS32(operation.GetSource(lodSrcIndex)); + + var meta = new TextureMeta(texOp.CbufSlot, texOp.Handle, texOp.Format, texOp.Type); + + (_, var sampledImageType, var sampledImageVariable) = context.Samplers[meta]; + + var image = context.Load(sampledImageType, sampledImageVariable); + + if (texOp.Index == 3) + { + return new OperationResult(AggregateType.S32, context.ImageQueryLevels(context.TypeS32(), image)); + } + else + { + int components = (texOp.Type & SamplerType.Mask) == SamplerType.TextureCube ? 2 : texOp.Type.GetDimensions(); + var resultType = components == 1 ? context.TypeS32() : context.TypeVector(context.TypeS32(), components); + var result = context.ImageQuerySizeLod(resultType, image, lod); + + if (components != 1) + { + result = context.CompositeExtract(context.TypeS32(), result, (SpvLiteralInteger)texOp.Index); + } + + return new OperationResult(AggregateType.S32, result); + } + } + + private static OperationResult GenerateTruncate(CodeGenContext context, AstOperation operation) + { + return GenerateUnaryExtInst(context, operation, 3); + } + + private static OperationResult GenerateUnpackHalf2x16(CodeGenContext context, AstOperation operation) + { + var value = context.GetU32(operation.GetSource(0)); + var vector = context.ExtInst(context.TypeVector(context.TypeFP32(), 2), context.ExtSet, 62, value); + var result = context.CompositeExtract(context.TypeFP32(), vector, operation.Index); + + return new OperationResult(AggregateType.FP32, result); + } + + private static OperationResult GenerateVoteAll(CodeGenContext context, AstOperation operation) + { + var result = context.SubgroupAllKHR(context.TypeBool(), context.Get(AggregateType.Bool, operation.GetSource(0))); + return new OperationResult(AggregateType.Bool, result); + } + + private static OperationResult GenerateVoteAllEqual(CodeGenContext context, AstOperation operation) + { + var result = context.SubgroupAllEqualKHR(context.TypeBool(), context.Get(AggregateType.Bool, operation.GetSource(0))); + return new OperationResult(AggregateType.Bool, result); + } + + private static OperationResult GenerateVoteAny(CodeGenContext context, AstOperation operation) + { + var result = context.SubgroupAnyKHR(context.TypeBool(), context.Get(AggregateType.Bool, operation.GetSource(0))); + return new OperationResult(AggregateType.Bool, result); + } + + private static OperationResult GenerateCompare( + CodeGenContext context, + AstOperation operation, + Func emitF, + Func emitI) + { + var src1 = operation.GetSource(0); + var src2 = operation.GetSource(1); + + SpvInstruction result; + + if (operation.Inst.HasFlag(Instruction.FP64)) + { + result = emitF(context.TypeBool(), context.GetFP64(src1), context.GetFP64(src2)); + } + else if (operation.Inst.HasFlag(Instruction.FP32)) + { + result = emitF(context.TypeBool(), context.GetFP32(src1), context.GetFP32(src2)); + } + else + { + result = emitI(context.TypeBool(), context.GetS32(src1), context.GetS32(src2)); + } + + return new OperationResult(AggregateType.Bool, result); + } + + private static OperationResult GenerateCompareU32( + CodeGenContext context, + AstOperation operation, + Func emitU) + { + var src1 = operation.GetSource(0); + var src2 = operation.GetSource(1); + + var result = emitU(context.TypeBool(), context.GetU32(src1), context.GetU32(src2)); + + return new OperationResult(AggregateType.Bool, result); + } + + private static OperationResult GenerateAtomicMemoryBinary( + CodeGenContext context, + AstOperation operation, + Func emitU) + { + var value = context.GetU32(operation.GetSource(2)); + + SpvInstruction elemPointer; + Instruction mr = operation.Inst & Instruction.MrMask; + + if (mr == Instruction.MrStorage) + { + elemPointer = GetStorageElemPointer(context, operation); + } + else if (mr == Instruction.MrShared) + { + var offset = context.GetU32(operation.GetSource(0)); + elemPointer = context.AccessChain(context.TypePointer(StorageClass.Workgroup, context.TypeU32()), context.SharedMemory, offset); + } + else + { + throw new InvalidOperationException($"Invalid storage class \"{mr}\"."); + } + + var one = context.Constant(context.TypeU32(), 1); + var zero = context.Constant(context.TypeU32(), 0); + + return new OperationResult(AggregateType.U32, emitU(context.TypeU32(), elemPointer, one, zero, value)); + } + + private static OperationResult GenerateAtomicMemoryCas(CodeGenContext context, AstOperation operation) + { + var value0 = context.GetU32(operation.GetSource(2)); + var value1 = context.GetU32(operation.GetSource(3)); + + SpvInstruction elemPointer; + Instruction mr = operation.Inst & Instruction.MrMask; + + if (mr == Instruction.MrStorage) + { + elemPointer = GetStorageElemPointer(context, operation); + } + else if (mr == Instruction.MrShared) + { + var offset = context.GetU32(operation.GetSource(0)); + elemPointer = context.AccessChain(context.TypePointer(StorageClass.Workgroup, context.TypeU32()), context.SharedMemory, offset); + } + else + { + throw new InvalidOperationException($"Invalid storage class \"{mr}\"."); + } + + var one = context.Constant(context.TypeU32(), 1); + var zero = context.Constant(context.TypeU32(), 0); + + return new OperationResult(AggregateType.U32, context.AtomicCompareExchange(context.TypeU32(), elemPointer, one, zero, zero, value1, value0)); + } + + private static SpvInstruction GetStorageElemPointer(CodeGenContext context, AstOperation operation) + { + var sbVariable = context.StorageBuffersArray; + var i0 = context.Get(AggregateType.S32, operation.GetSource(0)); + var i1 = context.Constant(context.TypeS32(), 0); + var i2 = context.Get(AggregateType.S32, operation.GetSource(1)); + + return context.AccessChain(context.TypePointer(StorageClass.Uniform, context.TypeU32()), sbVariable, i0, i1, i2); + } + + private static OperationResult GenerateUnary( + CodeGenContext context, + AstOperation operation, + Func emitF, + Func emitI) + { + var source = operation.GetSource(0); + + if (operation.Inst.HasFlag(Instruction.FP64)) + { + return new OperationResult(AggregateType.FP64, emitF(context.TypeFP64(), context.GetFP64(source))); + } + else if (operation.Inst.HasFlag(Instruction.FP32)) + { + return new OperationResult(AggregateType.FP32, emitF(context.TypeFP32(), context.GetFP32(source))); + } + else + { + return new OperationResult(AggregateType.S32, emitI(context.TypeS32(), context.GetS32(source))); + } + } + + private static OperationResult GenerateUnaryBool( + CodeGenContext context, + AstOperation operation, + Func emitB) + { + var source = operation.GetSource(0); + return new OperationResult(AggregateType.Bool, emitB(context.TypeBool(), context.Get(AggregateType.Bool, source))); + } + + private static OperationResult GenerateUnaryFP32( + CodeGenContext context, + AstOperation operation, + Func emit) + { + var source = operation.GetSource(0); + return new OperationResult(AggregateType.FP32, emit(context.TypeFP32(), context.GetFP32(source))); + } + + private static OperationResult GenerateUnaryS32( + CodeGenContext context, + AstOperation operation, + Func emitS) + { + var source = operation.GetSource(0); + return new OperationResult(AggregateType.S32, emitS(context.TypeS32(), context.GetS32(source))); + } + + private static OperationResult GenerateUnaryExtInst(CodeGenContext context, AstOperation operation, int instruction) + { + var source = operation.GetSource(0); + + if (operation.Inst.HasFlag(Instruction.FP64)) + { + return new OperationResult(AggregateType.FP64, context.ExtInst(context.TypeFP64(), context.ExtSet, instruction, context.GetFP64(source))); + } + else + { + return new OperationResult(AggregateType.FP32, context.ExtInst(context.TypeFP32(), context.ExtSet, instruction, context.GetFP32(source))); + } + } + + private static OperationResult GenerateUnaryExtInst(CodeGenContext context, AstOperation operation, int instF, int instS) + { + var source = operation.GetSource(0); + + if (operation.Inst.HasFlag(Instruction.FP64)) + { + return new OperationResult(AggregateType.FP64, context.ExtInst(context.TypeFP64(), context.ExtSet, instF, context.GetFP64(source))); + } + else if (operation.Inst.HasFlag(Instruction.FP32)) + { + return new OperationResult(AggregateType.FP32, context.ExtInst(context.TypeFP32(), context.ExtSet, instF, context.GetFP32(source))); + } + else + { + return new OperationResult(AggregateType.S32, context.ExtInst(context.TypeS32(), context.ExtSet, instS, context.GetS32(source))); + } + } + + private static OperationResult GenerateBinary( + CodeGenContext context, + AstOperation operation, + Func emitF, + Func emitI) + { + var src1 = operation.GetSource(0); + var src2 = operation.GetSource(1); + + if (operation.Inst.HasFlag(Instruction.FP64)) + { + var result = emitF(context.TypeFP64(), context.GetFP64(src1), context.GetFP64(src2)); + context.Decorate(result, Decoration.NoContraction); + return new OperationResult(AggregateType.FP64, result); + } + else if (operation.Inst.HasFlag(Instruction.FP32)) + { + var result = emitF(context.TypeFP32(), context.GetFP32(src1), context.GetFP32(src2)); + context.Decorate(result, Decoration.NoContraction); + return new OperationResult(AggregateType.FP32, result); + } + else + { + return new OperationResult(AggregateType.S32, emitI(context.TypeS32(), context.GetS32(src1), context.GetS32(src2))); + } + } + + private static OperationResult GenerateBinaryBool( + CodeGenContext context, + AstOperation operation, + Func emitB) + { + var src1 = operation.GetSource(0); + var src2 = operation.GetSource(1); + + return new OperationResult(AggregateType.Bool, emitB(context.TypeBool(), context.Get(AggregateType.Bool, src1), context.Get(AggregateType.Bool, src2))); + } + + private static OperationResult GenerateBinaryS32( + CodeGenContext context, + AstOperation operation, + Func emitS) + { + var src1 = operation.GetSource(0); + var src2 = operation.GetSource(1); + + return new OperationResult(AggregateType.S32, emitS(context.TypeS32(), context.GetS32(src1), context.GetS32(src2))); + } + + private static OperationResult GenerateBinaryExtInst(CodeGenContext context, AstOperation operation, int instF, int instS) + { + var src1 = operation.GetSource(0); + var src2 = operation.GetSource(1); + + if (operation.Inst.HasFlag(Instruction.FP64)) + { + return new OperationResult(AggregateType.FP64, context.ExtInst(context.TypeFP64(), context.ExtSet, instF, context.GetFP64(src1), context.GetFP64(src2))); + } + else if (operation.Inst.HasFlag(Instruction.FP32)) + { + return new OperationResult(AggregateType.FP32, context.ExtInst(context.TypeFP32(), context.ExtSet, instF, context.GetFP32(src1), context.GetFP32(src2))); + } + else + { + return new OperationResult(AggregateType.S32, context.ExtInst(context.TypeS32(), context.ExtSet, instS, context.GetS32(src1), context.GetS32(src2))); + } + } + + private static OperationResult GenerateBinaryExtInstU32(CodeGenContext context, AstOperation operation, int instU) + { + var src1 = operation.GetSource(0); + var src2 = operation.GetSource(1); + + return new OperationResult(AggregateType.U32, context.ExtInst(context.TypeU32(), context.ExtSet, instU, context.GetU32(src1), context.GetU32(src2))); + } + + private static OperationResult GenerateTernaryS32( + CodeGenContext context, + AstOperation operation, + Func emitS) + { + var src1 = operation.GetSource(0); + var src2 = operation.GetSource(1); + var src3 = operation.GetSource(2); + + return new OperationResult(AggregateType.S32, emitS( + context.TypeS32(), + context.GetS32(src1), + context.GetS32(src2), + context.GetS32(src3))); + } + + private static OperationResult GenerateTernaryExtInst(CodeGenContext context, AstOperation operation, int instF) + { + var src1 = operation.GetSource(0); + var src2 = operation.GetSource(1); + var src3 = operation.GetSource(2); + + if (operation.Inst.HasFlag(Instruction.FP64)) + { + return new OperationResult(AggregateType.FP64, context.ExtInst( + context.TypeFP64(), + context.ExtSet, + instF, + context.GetFP64(src1), + context.GetFP64(src2), + context.GetFP64(src3))); + } + else + { + return new OperationResult(AggregateType.FP32, context.ExtInst( + context.TypeFP32(), + context.ExtSet, + instF, + context.GetFP32(src1), + context.GetFP32(src2), + context.GetFP32(src3))); + } + } + + private static OperationResult GenerateTernaryExtInst(CodeGenContext context, AstOperation operation, int instF, int instS) + { + var src1 = operation.GetSource(0); + var src2 = operation.GetSource(1); + var src3 = operation.GetSource(2); + + if (operation.Inst.HasFlag(Instruction.FP64)) + { + return new OperationResult(AggregateType.FP64, context.ExtInst( + context.TypeFP64(), + context.ExtSet, + instF, + context.GetFP64(src1), + context.GetFP64(src2), + context.GetFP64(src3))); + } + else if (operation.Inst.HasFlag(Instruction.FP32)) + { + return new OperationResult(AggregateType.FP32, context.ExtInst( + context.TypeFP32(), + context.ExtSet, + instF, + context.GetFP32(src1), + context.GetFP32(src2), + context.GetFP32(src3))); + } + else + { + return new OperationResult(AggregateType.S32, context.ExtInst( + context.TypeS32(), + context.ExtSet, + instS, + context.GetS32(src1), + context.GetS32(src2), + context.GetS32(src3))); + } + } + + private static OperationResult GenerateTernaryExtInstU32(CodeGenContext context, AstOperation operation, int instU) + { + var src1 = operation.GetSource(0); + var src2 = operation.GetSource(1); + var src3 = operation.GetSource(2); + + return new OperationResult(AggregateType.U32, context.ExtInst( + context.TypeU32(), + context.ExtSet, + instU, + context.GetU32(src1), + context.GetU32(src2), + context.GetU32(src3))); + } + + private static OperationResult GenerateQuaternaryS32( + CodeGenContext context, + AstOperation operation, + Func emitS) + { + var src1 = operation.GetSource(0); + var src2 = operation.GetSource(1); + var src3 = operation.GetSource(2); + var src4 = operation.GetSource(3); + + return new OperationResult(AggregateType.S32, emitS( + context.TypeS32(), + context.GetS32(src1), + context.GetS32(src2), + context.GetS32(src3), + context.GetS32(src4))); + } + } +} diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/OperationResult.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/OperationResult.cs new file mode 100644 index 000000000..f432f1c41 --- /dev/null +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/OperationResult.cs @@ -0,0 +1,19 @@ +using Ryujinx.Graphics.Shader.Translation; +using Spv.Generator; + +namespace Ryujinx.Graphics.Shader.CodeGen.Spirv +{ + struct OperationResult + { + public static OperationResult Invalid => new OperationResult(AggregateType.Invalid, null); + + public AggregateType Type { get; } + public Instruction Value { get; } + + public OperationResult(AggregateType type, Instruction value) + { + Type = type; + Value = value; + } + } +} diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs new file mode 100644 index 000000000..786db8b1e --- /dev/null +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs @@ -0,0 +1,275 @@ +using Ryujinx.Graphics.Shader.IntermediateRepresentation; +using Ryujinx.Graphics.Shader.StructuredIr; +using Ryujinx.Graphics.Shader.Translation; +using System; +using System.Collections.Generic; +using static Spv.Specification; + +namespace Ryujinx.Graphics.Shader.CodeGen.Spirv +{ + using SpvInstruction = Spv.Generator.Instruction; + using SpvLiteralInteger = Spv.Generator.LiteralInteger; + + static class SpirvGenerator + { + private const HelperFunctionsMask NeedsInvocationIdMask = + HelperFunctionsMask.Shuffle | + HelperFunctionsMask.ShuffleDown | + HelperFunctionsMask.ShuffleUp | + HelperFunctionsMask.ShuffleXor | + HelperFunctionsMask.SwizzleAdd; + + public static byte[] Generate(StructuredProgramInfo info, ShaderConfig config) + { + CodeGenContext context = new CodeGenContext(config); + + context.AddCapability(Capability.GroupNonUniformBallot); + context.AddCapability(Capability.ImageBuffer); + context.AddCapability(Capability.SampledBuffer); + context.AddCapability(Capability.SubgroupBallotKHR); + context.AddCapability(Capability.SubgroupVoteKHR); + context.AddExtension("SPV_KHR_shader_ballot"); + context.AddExtension("SPV_KHR_subgroup_vote"); + + Declarations.DeclareAll(context, info); + + if ((info.HelperFunctionsMask & NeedsInvocationIdMask) != 0) + { + Declarations.DeclareInvocationId(context); + } + + for (int funcIndex = 0; funcIndex < info.Functions.Count; funcIndex++) + { + var function = info.Functions[funcIndex]; + var retType = context.GetType(function.ReturnType.Convert()); + + var funcArgs = new SpvInstruction[function.InArguments.Length + function.OutArguments.Length]; + + for (int argIndex = 0; argIndex < funcArgs.Length; argIndex++) + { + var argType = context.GetType(function.GetArgumentType(argIndex).Convert()); + var argPointerType = context.TypePointer(StorageClass.Function, argType); + funcArgs[argIndex] = argPointerType; + } + + var funcType = context.TypeFunction(retType, false, funcArgs); + var spvFunc = context.Function(retType, FunctionControlMask.MaskNone, funcType); + + context.DeclareFunction(funcIndex, function, spvFunc); + } + + for (int funcIndex = 0; funcIndex < info.Functions.Count; funcIndex++) + { + Generate(context, info, funcIndex); + } + + return context.Generate(); + } + + private static void Generate(CodeGenContext context, StructuredProgramInfo info, int funcIndex) + { + var function = info.Functions[funcIndex]; + + (_, var spvFunc) = context.GetFunction(funcIndex); + + context.AddFunction(spvFunc); + context.StartFunction(); + + Declarations.DeclareParameters(context, function); + + context.EnterBlock(function.MainBlock); + + Declarations.DeclareLocals(context, function); + Declarations.DeclareLocalForArgs(context, info.Functions); + + if (funcIndex == 0) + { + var v4Type = context.TypeVector(context.TypeFP32(), 4); + var zero = context.Constant(context.TypeFP32(), 0f); + var one = context.Constant(context.TypeFP32(), 1f); + + // Some games will leave some elements of gl_Position uninitialized, + // in those cases, the elements will contain undefined values according + // to the spec, but on NVIDIA they seems to be always initialized to (0, 0, 0, 1), + // so we do explicit initialization to avoid UB on non-NVIDIA gpus. + if (context.Config.Stage == ShaderStage.Vertex) + { + var elemPointer = context.GetAttributeVectorPointer(new AstOperand(OperandType.Attribute, AttributeConsts.PositionX), true); + context.Store(elemPointer, context.CompositeConstruct(v4Type, zero, zero, zero, one)); + } + + // Ensure that unused attributes are set, otherwise the downstream + // compiler may eliminate them. + // (Not needed for fragment shader as it is the last stage). + if (context.Config.Stage != ShaderStage.Compute && + context.Config.Stage != ShaderStage.Fragment && + !context.Config.GpPassthrough) + { + for (int attr = 0; attr < Declarations.MaxAttributes; attr++) + { + if (context.Config.TransformFeedbackEnabled) + { + throw new NotImplementedException(); + } + else + { + int currAttr = AttributeConsts.UserAttributeBase + attr * 16; + var elemPointer = context.GetAttributeVectorPointer(new AstOperand(OperandType.Attribute, currAttr), true); + context.Store(elemPointer, context.CompositeConstruct(v4Type, zero, zero, zero, one)); + } + } + } + } + + Generate(context, function.MainBlock); + + context.FunctionEnd(); + + if (funcIndex == 0) + { + context.AddEntryPoint(context.Config.Stage.Convert(), spvFunc, "main", context.GetMainInterface()); + + if (context.Config.Stage == ShaderStage.Fragment) + { + context.AddExecutionMode(spvFunc, context.Config.Options.TargetApi == TargetApi.Vulkan + ? ExecutionMode.OriginUpperLeft + : ExecutionMode.OriginLowerLeft); + } + else if (context.Config.Stage == ShaderStage.Compute) + { + var localSizeX = (SpvLiteralInteger)context.Config.GpuAccessor.QueryComputeLocalSizeX(); + var localSizeY = (SpvLiteralInteger)context.Config.GpuAccessor.QueryComputeLocalSizeY(); + var localSizeZ = (SpvLiteralInteger)context.Config.GpuAccessor.QueryComputeLocalSizeZ(); + + context.AddExecutionMode( + spvFunc, + ExecutionMode.LocalSize, + localSizeX, + localSizeY, + localSizeZ); + } + } + } + + private static void Generate(CodeGenContext context, AstBlock block) + { + AstBlockVisitor visitor = new AstBlockVisitor(block); + + var loopTargets = new Dictionary(); + + visitor.BlockEntered += (sender, e) => + { + AstBlock mergeBlock = e.Block.Parent; + + if (e.Block.Type == AstBlockType.If) + { + AstBlock ifTrueBlock = e.Block; + AstBlock ifFalseBlock; + + if (AstHelper.Next(e.Block) is AstBlock nextBlock && nextBlock.Type == AstBlockType.Else) + { + ifFalseBlock = nextBlock; + } + else + { + ifFalseBlock = mergeBlock; + } + + var condition = context.Get(AggregateType.Bool, e.Block.Condition); + + context.SelectionMerge(context.GetNextLabel(mergeBlock), SelectionControlMask.MaskNone); + context.BranchConditional(condition, context.GetNextLabel(ifTrueBlock), context.GetNextLabel(ifFalseBlock)); + } + else if (e.Block.Type == AstBlockType.DoWhile) + { + var continueTarget = context.Label(); + + loopTargets.Add(e.Block, (context.NewBlock(), continueTarget)); + + context.LoopMerge(context.GetNextLabel(mergeBlock), continueTarget, LoopControlMask.MaskNone); + context.Branch(context.GetFirstLabel(e.Block)); + } + + context.EnterBlock(e.Block); + }; + + visitor.BlockLeft += (sender, e) => + { + if (e.Block.Parent != null) + { + if (e.Block.Type == AstBlockType.DoWhile) + { + // This is a loop, we need to jump back to the loop header + // if the condition is true. + AstBlock mergeBlock = e.Block.Parent; + + (var loopTarget, var continueTarget) = loopTargets[e.Block]; + + context.Branch(continueTarget); + context.AddLabel(continueTarget); + + var condition = context.Get(AggregateType.Bool, e.Block.Condition); + + context.BranchConditional(condition, loopTarget, context.GetNextLabel(mergeBlock)); + } + else + { + // We only need a branch if the last instruction didn't + // already cause the program to exit or jump elsewhere. + bool lastIsCf = e.Block.Last is AstOperation lastOp && + (lastOp.Inst == Instruction.Discard || + lastOp.Inst == Instruction.LoopBreak || + lastOp.Inst == Instruction.Return); + + if (!lastIsCf) + { + context.Branch(context.GetNextLabel(e.Block.Parent)); + } + } + + bool hasElse = AstHelper.Next(e.Block) is AstBlock nextBlock && + (nextBlock.Type == AstBlockType.Else || + nextBlock.Type == AstBlockType.ElseIf); + + // Re-enter the parent block. + if (e.Block.Parent != null && !hasElse) + { + context.EnterBlock(e.Block.Parent); + } + } + }; + + foreach (IAstNode node in visitor.Visit()) + { + if (node is AstAssignment assignment) + { + var dest = (AstOperand)assignment.Destination; + + if (dest.Type == OperandType.LocalVariable) + { + var source = context.Get(dest.VarType.Convert(), assignment.Source); + context.Store(context.GetLocalPointer(dest), source); + } + else if (dest.Type == OperandType.Attribute) + { + var elemPointer = context.GetAttributeElemPointer(dest, true, out var elemType); + context.Store(elemPointer, context.Get(elemType, assignment.Source)); + } + else if (dest.Type == OperandType.Argument) + { + var source = context.Get(dest.VarType.Convert(), assignment.Source); + context.Store(context.GetArgumentPointer(dest), source); + } + else + { + throw new NotImplementedException(dest.Type.ToString()); + } + } + else if (node is AstOperation operation) + { + Instructions.Generate(context, operation); + } + } + } + } +} diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/TextureMeta.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/TextureMeta.cs new file mode 100644 index 000000000..7d4aaa436 --- /dev/null +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/TextureMeta.cs @@ -0,0 +1,35 @@ +using System; + +namespace Ryujinx.Graphics.Shader.CodeGen.Spirv +{ + struct TextureMeta : IEquatable + { + public int CbufSlot { get; } + public int Handle { get; } + public TextureFormat Format { get; } + public SamplerType Type { get; } + + public TextureMeta(int cbufSlot, int handle, TextureFormat format, SamplerType type) + { + CbufSlot = cbufSlot; + Handle = handle; + Format = format; + Type = type; + } + + public override bool Equals(object obj) + { + return obj is TextureMeta other && Equals(other); + } + + public bool Equals(TextureMeta other) + { + return Handle == other.Handle && Type == other.Type; + } + + public override int GetHashCode() + { + return HashCode.Combine(Handle, Type); + } + } +} \ No newline at end of file diff --git a/Ryujinx.Graphics.Shader/IGpuAccessor.cs b/Ryujinx.Graphics.Shader/IGpuAccessor.cs index 180fc1874..29795cdff 100644 --- a/Ryujinx.Graphics.Shader/IGpuAccessor.cs +++ b/Ryujinx.Graphics.Shader/IGpuAccessor.cs @@ -34,6 +34,11 @@ namespace Ryujinx.Graphics.Shader /// Span of the memory location ReadOnlySpan GetCode(ulong address, int minimumSize); + AttributeType QueryAttributeType(int location) + { + return AttributeType.Float; + } + /// /// Queries the binding number of a constant buffer. /// @@ -218,6 +223,16 @@ namespace Ryujinx.Graphics.Shader return true; } + float QueryPointSize() + { + return 1f; + } + + bool QueryProgramPointSize() + { + return true; + } + /// /// Queries sampler type information. /// @@ -291,6 +306,11 @@ namespace Ryujinx.Graphics.Shader return TextureFormat.R8G8B8A8Unorm; } + bool QueryTransformDepthMinusOneToOne() + { + return false; + } + /// /// Queries transform feedback enable state. /// diff --git a/Ryujinx.Graphics.Shader/IntermediateRepresentation/BasicBlock.cs b/Ryujinx.Graphics.Shader/IntermediateRepresentation/BasicBlock.cs index 1f7d2b25e..2aca118b7 100644 --- a/Ryujinx.Graphics.Shader/IntermediateRepresentation/BasicBlock.cs +++ b/Ryujinx.Graphics.Shader/IntermediateRepresentation/BasicBlock.cs @@ -58,5 +58,34 @@ namespace Ryujinx.Graphics.Shader.IntermediateRepresentation { return Operations.Last?.Value; } + + public void Append(INode node) + { + INode lastOp = GetLastOp(); + + if (lastOp is Operation operation && IsControlFlowInst(operation.Inst)) + { + Operations.AddBefore(Operations.Last, node); + } + else + { + Operations.AddLast(node); + } + } + + private static bool IsControlFlowInst(Instruction inst) + { + switch (inst) + { + case Instruction.Branch: + case Instruction.BranchIfFalse: + case Instruction.BranchIfTrue: + case Instruction.Discard: + case Instruction.Return: + return true; + } + + return false; + } } } \ No newline at end of file diff --git a/Ryujinx.Graphics.Shader/Ryujinx.Graphics.Shader.csproj b/Ryujinx.Graphics.Shader/Ryujinx.Graphics.Shader.csproj index 81cc0caf3..7f71f6ae7 100644 --- a/Ryujinx.Graphics.Shader/Ryujinx.Graphics.Shader.csproj +++ b/Ryujinx.Graphics.Shader/Ryujinx.Graphics.Shader.csproj @@ -10,6 +10,7 @@ + diff --git a/Ryujinx.Graphics.Shader/SamplerType.cs b/Ryujinx.Graphics.Shader/SamplerType.cs index 286ae9d5d..d04b16b38 100644 --- a/Ryujinx.Graphics.Shader/SamplerType.cs +++ b/Ryujinx.Graphics.Shader/SamplerType.cs @@ -25,32 +25,28 @@ namespace Ryujinx.Graphics.Shader { public static int GetDimensions(this SamplerType type) { - switch (type & SamplerType.Mask) + return (type & SamplerType.Mask) switch { - case SamplerType.Texture1D: return 1; - case SamplerType.TextureBuffer: return 1; - case SamplerType.Texture2D: return 2; - case SamplerType.Texture3D: return 3; - case SamplerType.TextureCube: return 3; - } - - throw new ArgumentException($"Invalid sampler type \"{type}\"."); + SamplerType.Texture1D => 1, + SamplerType.TextureBuffer => 1, + SamplerType.Texture2D => 2, + SamplerType.Texture3D => 3, + SamplerType.TextureCube => 3, + _ => throw new ArgumentException($"Invalid sampler type \"{type}\".") + }; } public static string ToGlslSamplerType(this SamplerType type) { - string typeName; - - switch (type & SamplerType.Mask) + string typeName = (type & SamplerType.Mask) switch { - case SamplerType.Texture1D: typeName = "sampler1D"; break; - case SamplerType.TextureBuffer: typeName = "samplerBuffer"; break; - case SamplerType.Texture2D: typeName = "sampler2D"; break; - case SamplerType.Texture3D: typeName = "sampler3D"; break; - case SamplerType.TextureCube: typeName = "samplerCube"; break; - - default: throw new ArgumentException($"Invalid sampler type \"{type}\"."); - } + SamplerType.Texture1D => "sampler1D", + SamplerType.TextureBuffer => "samplerBuffer", + SamplerType.Texture2D => "sampler2D", + SamplerType.Texture3D => "sampler3D", + SamplerType.TextureCube => "samplerCube", + _ => throw new ArgumentException($"Invalid sampler type \"{type}\".") + }; if ((type & SamplerType.Multisample) != 0) { @@ -72,18 +68,15 @@ namespace Ryujinx.Graphics.Shader public static string ToGlslImageType(this SamplerType type, VariableType componentType) { - string typeName; - - switch (type & SamplerType.Mask) + string typeName = (type & SamplerType.Mask) switch { - case SamplerType.Texture1D: typeName = "image1D"; break; - case SamplerType.TextureBuffer: typeName = "imageBuffer"; break; - case SamplerType.Texture2D: typeName = "image2D"; break; - case SamplerType.Texture3D: typeName = "image3D"; break; - case SamplerType.TextureCube: typeName = "imageCube"; break; - - default: throw new ArgumentException($"Invalid sampler type \"{type}\"."); - } + SamplerType.Texture1D => "image1D", + SamplerType.TextureBuffer => "imageBuffer", + SamplerType.Texture2D => "image2D", + SamplerType.Texture3D => "image3D", + SamplerType.TextureCube => "imageCube", + _ => throw new ArgumentException($"Invalid sampler type \"{type}\".") + }; if ((type & SamplerType.Multisample) != 0) { diff --git a/Ryujinx.Graphics.Shader/ShaderProgram.cs b/Ryujinx.Graphics.Shader/ShaderProgram.cs index 29fff21e6..d790c831c 100644 --- a/Ryujinx.Graphics.Shader/ShaderProgram.cs +++ b/Ryujinx.Graphics.Shader/ShaderProgram.cs @@ -29,6 +29,7 @@ namespace Ryujinx.Graphics.Shader public void Prepend(string line) { + System.Console.WriteLine("prepend " + line); Code = line + Environment.NewLine + Code; } } diff --git a/Ryujinx.Graphics.Shader/StructuredIr/AstBlock.cs b/Ryujinx.Graphics.Shader/StructuredIr/AstBlock.cs index fdef87de5..2f34bee83 100644 --- a/Ryujinx.Graphics.Shader/StructuredIr/AstBlock.cs +++ b/Ryujinx.Graphics.Shader/StructuredIr/AstBlock.cs @@ -32,6 +32,7 @@ namespace Ryujinx.Graphics.Shader.StructuredIr private LinkedList _nodes; public IAstNode First => _nodes.First?.Value; + public IAstNode Last => _nodes.Last?.Value; public int Count => _nodes.Count; diff --git a/Ryujinx.Graphics.Shader/StructuredIr/AstOptimizer.cs b/Ryujinx.Graphics.Shader/StructuredIr/AstOptimizer.cs index c4d8370c2..b71ae2c41 100644 --- a/Ryujinx.Graphics.Shader/StructuredIr/AstOptimizer.cs +++ b/Ryujinx.Graphics.Shader/StructuredIr/AstOptimizer.cs @@ -15,7 +15,7 @@ namespace Ryujinx.Graphics.Shader.StructuredIr // When debug mode is enabled, we disable expression propagation // (this makes comparison with the disassembly easier). - if ((context.Config.Options.Flags & TranslationFlags.DebugMode) == 0) + if (!context.Config.Options.Flags.HasFlag(TranslationFlags.DebugMode)) { AstBlockVisitor visitor = new AstBlockVisitor(mainBlock); diff --git a/Ryujinx.Graphics.Shader/StructuredIr/PhiFunctions.cs b/Ryujinx.Graphics.Shader/StructuredIr/PhiFunctions.cs index 53391b626..541ca298e 100644 --- a/Ryujinx.Graphics.Shader/StructuredIr/PhiFunctions.cs +++ b/Ryujinx.Graphics.Shader/StructuredIr/PhiFunctions.cs @@ -17,7 +17,7 @@ namespace Ryujinx.Graphics.Shader.StructuredIr { LinkedListNode nextNode = node.Next; - if (!(node.Value is PhiNode phi)) + if (node.Value is not PhiNode phi) { node = nextNode; @@ -32,7 +32,7 @@ namespace Ryujinx.Graphics.Shader.StructuredIr Operation copyOp = new Operation(Instruction.Copy, phi.Dest, src); - AddBeforeBranch(srcBlock, copyOp); + srcBlock.Append(copyOp); } block.Operations.Remove(node); @@ -41,34 +41,5 @@ namespace Ryujinx.Graphics.Shader.StructuredIr } } } - - private static void AddBeforeBranch(BasicBlock block, INode node) - { - INode lastOp = block.GetLastOp(); - - if (lastOp is Operation operation && IsControlFlowInst(operation.Inst)) - { - block.Operations.AddBefore(block.Operations.Last, node); - } - else - { - block.Operations.AddLast(node); - } - } - - private static bool IsControlFlowInst(Instruction inst) - { - switch (inst) - { - case Instruction.Branch: - case Instruction.BranchIfFalse: - case Instruction.BranchIfTrue: - case Instruction.Discard: - case Instruction.Return: - return true; - } - - return false; - } } } \ No newline at end of file diff --git a/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgramContext.cs b/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgramContext.cs index 2a39d0210..4e3f3e28a 100644 --- a/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgramContext.cs +++ b/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgramContext.cs @@ -277,6 +277,11 @@ namespace Ryujinx.Graphics.Shader.StructuredIr public AstOperand GetOperandDef(Operand operand) { + if (operand.Type == OperandType.Attribute) + { + Info.Outputs.Add(operand.Value); + } + return GetOperand(operand); } @@ -288,6 +293,11 @@ namespace Ryujinx.Graphics.Shader.StructuredIr return GetOperandDef(operand); } + if (operand.Type == OperandType.Attribute) + { + Info.Inputs.Add(operand.Value); + } + return GetOperand(operand); } diff --git a/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgramInfo.cs b/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgramInfo.cs index 2dc239643..650349b6f 100644 --- a/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgramInfo.cs +++ b/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgramInfo.cs @@ -22,6 +22,9 @@ namespace Ryujinx.Graphics.Shader.StructuredIr { public List Functions { get; } + public HashSet Inputs { get; } + public HashSet Outputs { get; } + public HelperFunctionsMask HelperFunctionsMask { get; set; } public TransformFeedbackOutput[] TransformFeedbackOutputs { get; } @@ -30,6 +33,9 @@ namespace Ryujinx.Graphics.Shader.StructuredIr { Functions = new List(); + Inputs = new HashSet(); + Outputs = new HashSet(); + TransformFeedbackOutputs = new TransformFeedbackOutput[0xc0]; } } diff --git a/Ryujinx.Graphics.Shader/Translation/AggregateType.cs b/Ryujinx.Graphics.Shader/Translation/AggregateType.cs new file mode 100644 index 000000000..dcd1e0bd4 --- /dev/null +++ b/Ryujinx.Graphics.Shader/Translation/AggregateType.cs @@ -0,0 +1,18 @@ +namespace Ryujinx.Graphics.Shader.Translation +{ + enum AggregateType + { + Invalid, + Void, + Bool, + FP32, + FP64, + S32, + U32, + + ElementTypeMask = 0xff, + + Vector = 1 << 8, + Array = 1 << 9 + } +} diff --git a/Ryujinx.Graphics.Shader/Translation/AttributeConsts.cs b/Ryujinx.Graphics.Shader/Translation/AttributeConsts.cs index ada60ab97..0c3ab08e2 100644 --- a/Ryujinx.Graphics.Shader/Translation/AttributeConsts.cs +++ b/Ryujinx.Graphics.Shader/Translation/AttributeConsts.cs @@ -9,6 +9,7 @@ namespace Ryujinx.Graphics.Shader.Translation public const int TessLevelInner0 = 0x010; public const int TessLevelInner1 = 0x014; public const int Layer = 0x064; + public const int ViewportIndex = 0x068; public const int PointSize = 0x06c; public const int PositionX = 0x070; public const int PositionY = 0x074; diff --git a/Ryujinx.Graphics.Shader/Translation/AttributeInfo.cs b/Ryujinx.Graphics.Shader/Translation/AttributeInfo.cs new file mode 100644 index 000000000..676e49593 --- /dev/null +++ b/Ryujinx.Graphics.Shader/Translation/AttributeInfo.cs @@ -0,0 +1,99 @@ +using Ryujinx.Common; +using System.Collections.Generic; + +namespace Ryujinx.Graphics.Shader.Translation +{ + struct AttributeInfo + { + private static readonly Dictionary BuiltInAttributes = new Dictionary() + { + { AttributeConsts.Layer, new AttributeInfo(AttributeConsts.Layer, 1, AggregateType.S32) }, + { AttributeConsts.ViewportIndex, new AttributeInfo(AttributeConsts.ViewportIndex, 1, AggregateType.S32) }, + { AttributeConsts.PointSize, new AttributeInfo(AttributeConsts.PointSize, 1, AggregateType.FP32) }, + { AttributeConsts.PositionX, new AttributeInfo(AttributeConsts.PositionX, 4, AggregateType.Vector | AggregateType.FP32) }, + { AttributeConsts.PositionY, new AttributeInfo(AttributeConsts.PositionY, 4, AggregateType.Vector | AggregateType.FP32) }, + { AttributeConsts.PositionZ, new AttributeInfo(AttributeConsts.PositionZ, 4, AggregateType.Vector | AggregateType.FP32) }, + { AttributeConsts.PositionW, new AttributeInfo(AttributeConsts.PositionW, 4, AggregateType.Vector | AggregateType.FP32) }, + { AttributeConsts.ClipDistance0, new AttributeInfo(AttributeConsts.ClipDistance0, 8, AggregateType.Array | AggregateType.FP32) }, + { AttributeConsts.ClipDistance1, new AttributeInfo(AttributeConsts.ClipDistance1, 8, AggregateType.Array | AggregateType.FP32) }, + { AttributeConsts.ClipDistance2, new AttributeInfo(AttributeConsts.ClipDistance2, 8, AggregateType.Array | AggregateType.FP32) }, + { AttributeConsts.ClipDistance3, new AttributeInfo(AttributeConsts.ClipDistance3, 8, AggregateType.Array | AggregateType.FP32) }, + { AttributeConsts.ClipDistance4, new AttributeInfo(AttributeConsts.ClipDistance4, 8, AggregateType.Array | AggregateType.FP32) }, + { AttributeConsts.ClipDistance5, new AttributeInfo(AttributeConsts.ClipDistance5, 8, AggregateType.Array | AggregateType.FP32) }, + { AttributeConsts.ClipDistance6, new AttributeInfo(AttributeConsts.ClipDistance6, 8, AggregateType.Array | AggregateType.FP32) }, + { AttributeConsts.ClipDistance7, new AttributeInfo(AttributeConsts.ClipDistance7, 8, AggregateType.Array | AggregateType.FP32) }, + { AttributeConsts.PointCoordX, new AttributeInfo(AttributeConsts.PointCoordX, 2, AggregateType.Vector | AggregateType.FP32) }, + { AttributeConsts.PointCoordY, new AttributeInfo(AttributeConsts.PointCoordY, 2, AggregateType.Vector | AggregateType.FP32) }, + { AttributeConsts.TessCoordX, new AttributeInfo(AttributeConsts.TessCoordX, 2, AggregateType.Vector | AggregateType.FP32) }, + { AttributeConsts.TessCoordY, new AttributeInfo(AttributeConsts.TessCoordY, 2, AggregateType.Vector | AggregateType.FP32) }, + { AttributeConsts.InstanceId, new AttributeInfo(AttributeConsts.InstanceId, 1, AggregateType.S32) }, + { AttributeConsts.VertexId, new AttributeInfo(AttributeConsts.VertexId, 1, AggregateType.S32) }, + { AttributeConsts.FrontFacing, new AttributeInfo(AttributeConsts.FrontFacing, 1, AggregateType.Bool) }, + + // Special. + { AttributeConsts.FragmentOutputDepth, new AttributeInfo(AttributeConsts.FragmentOutputDepth, 1, AggregateType.FP32) }, + { AttributeConsts.ThreadKill, new AttributeInfo(AttributeConsts.ThreadKill, 1, AggregateType.Bool) }, + { AttributeConsts.ThreadIdX, new AttributeInfo(AttributeConsts.ThreadIdX, 3, AggregateType.Vector | AggregateType.U32) }, + { AttributeConsts.ThreadIdY, new AttributeInfo(AttributeConsts.ThreadIdY, 3, AggregateType.Vector | AggregateType.U32) }, + { AttributeConsts.ThreadIdZ, new AttributeInfo(AttributeConsts.ThreadIdZ, 3, AggregateType.Vector | AggregateType.U32) }, + { AttributeConsts.CtaIdX, new AttributeInfo(AttributeConsts.CtaIdX, 3, AggregateType.Vector | AggregateType.U32) }, + { AttributeConsts.CtaIdY, new AttributeInfo(AttributeConsts.CtaIdY, 3, AggregateType.Vector | AggregateType.U32) }, + { AttributeConsts.CtaIdZ, new AttributeInfo(AttributeConsts.CtaIdZ, 3, AggregateType.Vector | AggregateType.U32) }, + { AttributeConsts.LaneId, new AttributeInfo(AttributeConsts.LaneId, 1, AggregateType.U32) }, + { AttributeConsts.EqMask, new AttributeInfo(AttributeConsts.EqMask, 1, AggregateType.U32) }, + { AttributeConsts.GeMask, new AttributeInfo(AttributeConsts.GeMask, 1, AggregateType.U32) }, + { AttributeConsts.GtMask, new AttributeInfo(AttributeConsts.GtMask, 1, AggregateType.U32) }, + { AttributeConsts.LeMask, new AttributeInfo(AttributeConsts.LeMask, 1, AggregateType.U32) }, + { AttributeConsts.LtMask, new AttributeInfo(AttributeConsts.LtMask, 1, AggregateType.U32) }, + }; + + public int BaseValue { get; } + public int Value { get; } + public int Length { get; } + public AggregateType Type { get; } + public bool IsBuiltin { get; } + public bool IsValid => Type != AggregateType.Invalid; + + public AttributeInfo(int value, int length, AggregateType type, bool isBuiltin = true) + { + BaseValue = value & ~(BitUtils.Pow2RoundUp(length) * 4 - 1); + Value = value; + Length = length; + Type = type; + IsBuiltin = isBuiltin; + } + + public int GetInnermostIndex() + { + return (Value - BaseValue) / 4; + } + + public static AttributeInfo From(ShaderConfig config, int value) + { + value &= ~3; + + if (value >= AttributeConsts.UserAttributeBase && value < AttributeConsts.UserAttributeEnd) + { + int location = (value - AttributeConsts.UserAttributeBase) / 16; + var elemType = config.GpuAccessor.QueryAttributeType(location) switch + { + AttributeType.Sint => AggregateType.S32, + AttributeType.Uint => AggregateType.U32, + _ => AggregateType.FP32 + }; + + return new AttributeInfo(value, 4, AggregateType.Vector | elemType, false); + } + else if (value >= AttributeConsts.FragmentOutputColorBase && value < AttributeConsts.FragmentOutputColorEnd) + { + return new AttributeInfo(value, 4, AggregateType.Vector | AggregateType.FP32, false); + } + else if (BuiltInAttributes.TryGetValue(value, out AttributeInfo info)) + { + return info; + } + + return new AttributeInfo(value, 0, AggregateType.Invalid); + } + } +} diff --git a/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs b/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs index ba3b551d9..d99389727 100644 --- a/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs +++ b/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs @@ -30,6 +30,19 @@ namespace Ryujinx.Graphics.Shader.Translation IsNonMain = isNonMain; _operations = new List(); _labels = new Dictionary(); + + EmitStart(); + } + + private void EmitStart() + { + if (Config.Stage == ShaderStage.Vertex && + Config.Options.TargetApi == TargetApi.Vulkan && + (Config.Options.Flags & TranslationFlags.VertexA) == 0) + { + // Vulkan requires the point size to be always written on the shader if the primitive topology is points. + this.Copy(Attribute(AttributeConsts.PointSize), ConstF(Config.GpuAccessor.QueryPointSize())); + } } public T GetOp() where T : unmanaged @@ -43,7 +56,7 @@ namespace Ryujinx.Graphics.Shader.Translation { Operation operation = new Operation(inst, dest, sources); - Add(operation); + _operations.Add(operation); return dest; } @@ -167,6 +180,15 @@ namespace Ryujinx.Graphics.Shader.Translation this.Copy(Attribute(AttributeConsts.PositionX), this.FPFusedMultiplyAdd(x, xScale, negativeOne)); this.Copy(Attribute(AttributeConsts.PositionY), this.FPFusedMultiplyAdd(y, yScale, negativeOne)); } + + if (Config.GpuAccessor.QueryTransformDepthMinusOneToOne()) + { + Operand z = Attribute(AttributeConsts.PositionZ); + Operand w = Attribute(AttributeConsts.PositionW); + Operand halfW = this.FPMultiply(w, ConstF(0.5f)); + + this.Copy(Attribute(AttributeConsts.PositionZ), this.FPFusedMultiplyAdd(z, ConstF(0.5f), halfW)); + } } public void PrepareForVertexReturn(out Operand oldXLocal, out Operand oldYLocal, out Operand oldZLocal) @@ -184,8 +206,15 @@ namespace Ryujinx.Graphics.Shader.Translation oldYLocal = null; } - // Will be used by Vulkan backend for depth mode emulation. - oldZLocal = null; + if (Config.GpuAccessor.QueryTransformDepthMinusOneToOne()) + { + oldZLocal = Local(); + this.Copy(oldYLocal, Attribute(AttributeConsts.PositionZ | AttributeConsts.LoadOutputMask)); + } + else + { + oldZLocal = null; + } PrepareForVertexReturn(); } diff --git a/Ryujinx.Graphics.Shader/Translation/Translator.cs b/Ryujinx.Graphics.Shader/Translation/Translator.cs index e1614e660..7bddf4590 100644 --- a/Ryujinx.Graphics.Shader/Translation/Translator.cs +++ b/Ryujinx.Graphics.Shader/Translation/Translator.cs @@ -1,4 +1,5 @@ using Ryujinx.Graphics.Shader.CodeGen.Glsl; +using Ryujinx.Graphics.Shader.CodeGen.Spirv; using Ryujinx.Graphics.Shader.Decoders; using Ryujinx.Graphics.Shader.IntermediateRepresentation; using Ryujinx.Graphics.Shader.StructuredIr; @@ -72,16 +73,15 @@ namespace Ryujinx.Graphics.Shader.Translation Ssa.Rename(cfg.Blocks); Optimizer.RunPass(cfg.Blocks, config); - Rewriter.RunPass(cfg.Blocks, config); } funcs[i] = new Function(cfg.Blocks, $"fun{i}", false, inArgumentsCount, outArgumentsCount); } - StructuredProgramInfo sInfo = StructuredProgram.MakeStructuredProgram(funcs, config); + var sInfo = StructuredProgram.MakeStructuredProgram(funcs, config); - ShaderProgramInfo info = new ShaderProgramInfo( + var info = new ShaderProgramInfo( config.GetConstantBufferDescriptors(), config.GetStorageBufferDescriptors(), config.GetTextureDescriptors(), @@ -95,6 +95,7 @@ namespace Ryujinx.Graphics.Shader.Translation return config.Options.TargetLanguage switch { TargetLanguage.Glsl => new ShaderProgram(info, TargetLanguage.Glsl, GlslGenerator.Generate(sInfo, config)), + TargetLanguage.Spirv => new ShaderProgram(info, TargetLanguage.Spirv, SpirvGenerator.Generate(sInfo, config)), _ => throw new NotImplementedException(config.Options.TargetLanguage.ToString()) }; } @@ -105,7 +106,7 @@ namespace Ryujinx.Graphics.Shader.Translation DecodedProgram program; ulong maxEndAddress = 0; - if ((options.Flags & TranslationFlags.Compute) != 0) + if (options.Flags.HasFlag(TranslationFlags.Compute)) { config = new ShaderConfig(gpuAccessor, options); diff --git a/Ryujinx.Graphics.Vulkan/Auto.cs b/Ryujinx.Graphics.Vulkan/Auto.cs new file mode 100644 index 000000000..d6b1aaab4 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/Auto.cs @@ -0,0 +1,141 @@ +using System; +using System.Diagnostics; + +namespace Ryujinx.Graphics.Vulkan +{ + interface IAuto + { + void IncrementReferenceCount(); + void DecrementReferenceCount(int cbIndex); + void DecrementReferenceCount(); + } + + interface IAutoPrivate : IAuto + { + void AddCommandBufferDependencies(CommandBufferScoped cbs); + } + + class Auto : IAutoPrivate, IDisposable where T : IDisposable + { + private int _referenceCount; + private T _value; + + private readonly BitMap _cbOwnership; + private readonly MultiFenceHolder _waitable; + private readonly IAutoPrivate[] _referencedObjs; + + private bool _disposed; + private bool _destroyed; + + public Auto(T value) + { + _referenceCount = 1; + _value = value; + _cbOwnership = new BitMap(CommandBufferPool.MaxCommandBuffers); + } + + public Auto(T value, MultiFenceHolder waitable, params IAutoPrivate[] referencedObjs) : this(value) + { + _waitable = waitable; + _referencedObjs = referencedObjs; + + for (int i = 0; i < referencedObjs.Length; i++) + { + referencedObjs[i].IncrementReferenceCount(); + } + } + + public T Get(CommandBufferScoped cbs, int offset, int size) + { + _waitable?.AddBufferUse(cbs.CommandBufferIndex, offset, size); + return Get(cbs); + } + + public T GetUnsafe() + { + return _value; + } + + public T Get(CommandBufferScoped cbs) + { + if (!_destroyed) + { + AddCommandBufferDependencies(cbs); + } + + return _value; + } + + public void AddCommandBufferDependencies(CommandBufferScoped cbs) + { + // We don't want to add a reference to this object to the command buffer + // more than once, so if we detect that the command buffer already has ownership + // of this object, then we can just return without doing anything else. + if (_cbOwnership.Set(cbs.CommandBufferIndex)) + { + if (_waitable != null) + { + cbs.AddWaitable(_waitable); + } + + cbs.AddDependant(this); + + // We need to add a dependency on the command buffer to all objects this object + // references aswell. + if (_referencedObjs != null) + { + for (int i = 0; i < _referencedObjs.Length; i++) + { + _referencedObjs[i].AddCommandBufferDependencies(cbs); + } + } + } + } + + public void IncrementReferenceCount() + { + if (_referenceCount == 0) + { + throw new Exception("Attempted to inc ref of dead object."); + } + _referenceCount++; + } + + public void DecrementReferenceCount(int cbIndex) + { + _cbOwnership.Clear(cbIndex); + DecrementReferenceCount(); + } + + public void DecrementReferenceCount() + { + if (--_referenceCount == 0) + { + _value.Dispose(); + _value = default; + _destroyed = true; + + // Value is no longer in use by the GPU, dispose all other + // resources that it references. + if (_referencedObjs != null) + { + for (int i = 0; i < _referencedObjs.Length; i++) + { + _referencedObjs[i].DecrementReferenceCount(); + } + } + } + + Debug.Assert(_referenceCount >= 0); + } + + public void Dispose() + { + if (!_disposed) + { + DecrementReferenceCount(); + _disposed = true; + } + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/BitMap.cs b/Ryujinx.Graphics.Vulkan/BitMap.cs new file mode 100644 index 000000000..181d6636e --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/BitMap.cs @@ -0,0 +1,42 @@ +namespace Ryujinx.Graphics.Vulkan +{ + struct BitMap + { + private const int IntSize = 64; + private const int IntMask = IntSize - 1; + + private readonly long[] _masks; + + public BitMap(int count) + { + _masks = new long[(count + IntMask) / IntSize]; + } + + public bool Set(int bit) + { + int wordIndex = bit / IntSize; + int wordBit = bit & IntMask; + + long wordMask = 1L << wordBit; + + if ((_masks[wordIndex] & wordMask) != 0) + { + return false; + } + + _masks[wordIndex] |= wordMask; + + return true; + } + + public void Clear(int bit) + { + int wordIndex = bit / IntSize; + int wordBit = bit & IntMask; + + long wordMask = 1L << wordBit; + + _masks[wordIndex] &= ~wordMask; + } + } +} \ No newline at end of file diff --git a/Ryujinx.Graphics.Vulkan/BufferHolder.cs b/Ryujinx.Graphics.Vulkan/BufferHolder.cs new file mode 100644 index 000000000..77ec623e2 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/BufferHolder.cs @@ -0,0 +1,365 @@ +using Ryujinx.Graphics.GAL; +using Silk.NET.Vulkan; +using System; +using System.Runtime.CompilerServices; +using VkBuffer = Silk.NET.Vulkan.Buffer; +using VkFormat = Silk.NET.Vulkan.Format; + +namespace Ryujinx.Graphics.Vulkan +{ + class BufferHolder : IDisposable + { + private const int MaxUpdateBufferSize = 0x10000; + + public const AccessFlags DefaultAccessFlags = + AccessFlags.AccessShaderReadBit | + AccessFlags.AccessShaderWriteBit | + AccessFlags.AccessTransferReadBit | + AccessFlags.AccessTransferWriteBit | + AccessFlags.AccessUniformReadBit | + AccessFlags.AccessShaderReadBit | + AccessFlags.AccessShaderWriteBit; + + private readonly VulkanGraphicsDevice _gd; + private readonly Device _device; + private readonly MemoryAllocation _allocation; + private readonly Auto _buffer; + private readonly Auto _allocationAuto; + private readonly ulong _bufferHandle; + + private CacheByRange _cachedConvertedIndexBuffers; + + public int Size { get; } + + private IntPtr _map; + + private readonly MultiFenceHolder _waitable; + + private bool _lastAccessIsWrite; + + public BufferHolder(VulkanGraphicsDevice gd, Device device, VkBuffer buffer, MemoryAllocation allocation, int size) + { + _gd = gd; + _device = device; + _allocation = allocation; + _allocationAuto = new Auto(allocation); + _waitable = new MultiFenceHolder(); + _buffer = new Auto(new DisposableBuffer(gd.Api, device, buffer), _waitable, _allocationAuto); + _bufferHandle = buffer.Handle; + Size = size; + _map = allocation.HostPointer; + } + + public unsafe Auto CreateView(VkFormat format, int offset, int size) + { + var bufferViewCreateInfo = new BufferViewCreateInfo() + { + SType = StructureType.BufferViewCreateInfo, + Buffer = new VkBuffer(_bufferHandle), + Format = format, + Offset = (uint)offset, + Range = (uint)size + }; + + _gd.Api.CreateBufferView(_device, bufferViewCreateInfo, null, out var bufferView).ThrowOnError(); + + return new Auto(new DisposableBufferView(_gd.Api, _device, bufferView), _waitable, _buffer); + } + + public unsafe void InsertBarrier(CommandBuffer commandBuffer, bool isWrite) + { + // If the last access is write, we always need a barrier to be sure we will read or modify + // the correct data. + // If the last access is read, and current one is a write, we need to wait until the + // read finishes to avoid overwriting data still in use. + // Otherwise, if the last access is a read and the current one too, we don't need barriers. + bool needsBarrier = isWrite || _lastAccessIsWrite; + + _lastAccessIsWrite = isWrite; + + if (needsBarrier) + { + MemoryBarrier memoryBarrier = new MemoryBarrier() + { + SType = StructureType.MemoryBarrier, + SrcAccessMask = DefaultAccessFlags, + DstAccessMask = DefaultAccessFlags + }; + + _gd.Api.CmdPipelineBarrier( + commandBuffer, + PipelineStageFlags.PipelineStageAllCommandsBit, + PipelineStageFlags.PipelineStageAllCommandsBit, + DependencyFlags.DependencyDeviceGroupBit, + 1, + memoryBarrier, + 0, + null, + 0, + null); + } + } + + public Auto GetBuffer() + { + return _buffer; + } + + public Auto GetBuffer(CommandBuffer commandBuffer, bool isWrite = false) + { + if (isWrite) + { + _cachedConvertedIndexBuffers.Clear(); + } + + // InsertBarrier(commandBuffer, isWrite); + return _buffer; + } + + public BufferHandle GetHandle() + { + var handle = _bufferHandle; + return Unsafe.As(ref handle); + } + + public unsafe IntPtr Map(int offset, int mappingSize) + { + return _map; + } + + public unsafe ReadOnlySpan GetData(int offset, int size) + { + return GetDataStorage(offset, size); + } + + public unsafe Span GetDataStorage(int offset, int size) + { + int mappingSize = Math.Min(size, Size - offset); + + if (_map != IntPtr.Zero) + { + return new Span((void*)(_map + offset), mappingSize); + } + + throw new InvalidOperationException("The buffer is not host mapped."); + } + + public unsafe void SetData(int offset, ReadOnlySpan data, CommandBufferScoped? cbs = null, Action endRenderPass = null) + { + int dataSize = Math.Min(data.Length, Size - offset); + if (dataSize == 0) + { + return; + } + + bool needsFlush = _gd.CommandBufferPool.HasWaitableOnRentedCommandBuffer(_waitable, offset, dataSize); + bool needsWait = needsFlush || MayWait(offset, dataSize); + + if (cbs == null || + !needsWait || + !VulkanConfiguration.UseFastBufferUpdates || + !TryPushData(cbs.Value, endRenderPass, offset, data)) + { + // Some pending command might access the buffer, + // so we need to ensure they are all submited to the GPU before waiting. + // The flush below forces the submission of all pending commands. + if (needsFlush) + { + _gd.FlushAllCommands(); + } + + WaitForFences(offset, dataSize); + + if (_map != IntPtr.Zero) + { + data.Slice(0, dataSize).CopyTo(new Span((void*)(_map + offset), dataSize)); + } + } + } + + public unsafe void SetDataUnchecked(int offset, ReadOnlySpan data) + { + int dataSize = Math.Min(data.Length, Size - offset); + if (dataSize == 0) + { + return; + } + + if (_map != IntPtr.Zero) + { + data.Slice(0, dataSize).CopyTo(new Span((void*)(_map + offset), dataSize)); + } + } + + public void SetDataInline(CommandBufferScoped cbs, Action endRenderPass, int dstOffset, ReadOnlySpan data) + { + if (!TryPushData(cbs, endRenderPass, dstOffset, data)) + { + throw new ArgumentException($"Invalid offset 0x{dstOffset:X} or data size 0x{data.Length:X}."); + } + } + + private unsafe bool TryPushData(CommandBufferScoped cbs, Action endRenderPass, int dstOffset, ReadOnlySpan data) + { + if ((dstOffset & 3) != 0 || (data.Length & 3) != 0) + { + return false; + } + + endRenderPass(); + + var dstBuffer = GetBuffer(cbs.CommandBuffer, true).Get(cbs, dstOffset, data.Length).Value; + + InsertBufferBarrier( + _gd, + cbs.CommandBuffer, + dstBuffer, + BufferHolder.DefaultAccessFlags, + AccessFlags.AccessTransferWriteBit, + PipelineStageFlags.PipelineStageAllCommandsBit, + PipelineStageFlags.PipelineStageTransferBit, + dstOffset, + data.Length); + + fixed (byte* pData = data) + { + for (ulong offset = 0; offset < (ulong)data.Length;) + { + ulong size = Math.Min(MaxUpdateBufferSize, (ulong)data.Length - offset); + _gd.Api.CmdUpdateBuffer(cbs.CommandBuffer, dstBuffer, (ulong)dstOffset + offset, size, pData + offset); + offset += size; + } + } + + InsertBufferBarrier( + _gd, + cbs.CommandBuffer, + dstBuffer, + AccessFlags.AccessTransferWriteBit, + BufferHolder.DefaultAccessFlags, + PipelineStageFlags.PipelineStageTransferBit, + PipelineStageFlags.PipelineStageAllCommandsBit, + dstOffset, + data.Length); + + // Not flushing commands here causes glitches on Intel (driver bug?) + if (_gd.Vendor == Vendor.Intel) + { + _gd.FlushAllCommands(); + } + + return true; + } + + public static unsafe void Copy( + VulkanGraphicsDevice gd, + CommandBufferScoped cbs, + Auto src, + Auto dst, + int srcOffset, + int dstOffset, + int size) + { + var srcBuffer = src.Get(cbs, srcOffset, size).Value; + var dstBuffer = dst.Get(cbs, dstOffset, size).Value; + + InsertBufferBarrier( + gd, + cbs.CommandBuffer, + dstBuffer, + BufferHolder.DefaultAccessFlags, + AccessFlags.AccessTransferWriteBit, + PipelineStageFlags.PipelineStageAllCommandsBit, + PipelineStageFlags.PipelineStageTransferBit, + dstOffset, + size); + + var region = new BufferCopy((ulong)srcOffset, (ulong)dstOffset, (ulong)size); + + gd.Api.CmdCopyBuffer(cbs.CommandBuffer, srcBuffer, dstBuffer, 1, ®ion); + + InsertBufferBarrier( + gd, + cbs.CommandBuffer, + dstBuffer, + AccessFlags.AccessTransferWriteBit, + BufferHolder.DefaultAccessFlags, + PipelineStageFlags.PipelineStageTransferBit, + PipelineStageFlags.PipelineStageAllCommandsBit, + dstOffset, + size); + } + + public static unsafe void InsertBufferBarrier( + VulkanGraphicsDevice gd, + CommandBuffer commandBuffer, + VkBuffer buffer, + AccessFlags srcAccessMask, + AccessFlags dstAccessMask, + PipelineStageFlags srcStageMask, + PipelineStageFlags dstStageMask, + int offset, + int size) + { + BufferMemoryBarrier memoryBarrier = new BufferMemoryBarrier() + { + SType = StructureType.BufferMemoryBarrier, + SrcAccessMask = srcAccessMask, + DstAccessMask = dstAccessMask, + SrcQueueFamilyIndex = Vk.QueueFamilyIgnored, + DstQueueFamilyIndex = Vk.QueueFamilyIgnored, + Buffer = buffer, + Offset = (ulong)offset, + Size = (ulong)size + }; + + gd.Api.CmdPipelineBarrier( + commandBuffer, + srcStageMask, + dstStageMask, + 0, + 0, + null, + 1, + memoryBarrier, + 0, + null); + } + + public void WaitForFences() + { + _waitable.WaitForFences(_gd.Api, _device); + } + + public void WaitForFences(int offset, int size) + { + _waitable.WaitForFences(_gd.Api, _device, offset, size); + } + + public bool MayWait(int offset, int size) + { + return _waitable.MayWait(_gd.Api, _device, offset, size); + } + + public Auto GetBufferI8ToI16(CommandBufferScoped cbs, int offset, int size) + { + if (!_cachedConvertedIndexBuffers.TryGetValue(offset, size, out var holder)) + { + holder = _gd.BufferManager.Create(_gd, (size * 2 + 3) & ~3); + + _gd.HelperShader.ConvertI8ToI16(_gd, cbs, this, holder, offset, size); + + _cachedConvertedIndexBuffers.Add(offset, size, holder); + } + + return holder.GetBuffer(); + } + + public void Dispose() + { + _buffer.Dispose(); + _allocationAuto.Dispose(); + _cachedConvertedIndexBuffers.Dispose(); + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/BufferManager.cs b/Ryujinx.Graphics.Vulkan/BufferManager.cs new file mode 100644 index 000000000..cf7a90456 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/BufferManager.cs @@ -0,0 +1,202 @@ +using Ryujinx.Graphics.GAL; +using Silk.NET.Vulkan; +using System; +using System.Collections.Generic; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using VkFormat = Silk.NET.Vulkan.Format; + +namespace Ryujinx.Graphics.Vulkan +{ + class BufferManager : IDisposable + { + private const MemoryPropertyFlags DefaultBufferMemoryFlags = + MemoryPropertyFlags.MemoryPropertyHostVisibleBit | + MemoryPropertyFlags.MemoryPropertyHostCoherentBit | + MemoryPropertyFlags.MemoryPropertyHostCachedBit; + + private const BufferUsageFlags DefaultBufferUsageFlags = + BufferUsageFlags.BufferUsageTransferSrcBit | + BufferUsageFlags.BufferUsageTransferDstBit | + BufferUsageFlags.BufferUsageUniformTexelBufferBit | + BufferUsageFlags.BufferUsageStorageTexelBufferBit | + BufferUsageFlags.BufferUsageUniformBufferBit | + BufferUsageFlags.BufferUsageStorageBufferBit | + BufferUsageFlags.BufferUsageIndexBufferBit | + BufferUsageFlags.BufferUsageVertexBufferBit | + BufferUsageFlags.BufferUsageTransformFeedbackBufferBitExt; + + private readonly PhysicalDevice _physicalDevice; + private readonly Device _device; + + private readonly List _buffers; + + public StagingBuffer StagingBuffer { get; } + + public BufferManager(VulkanGraphicsDevice gd, PhysicalDevice physicalDevice, Device device) + { + _physicalDevice = physicalDevice; + _device = device; + _buffers = new List(); + StagingBuffer = new StagingBuffer(gd, this); + } + + public BufferHandle CreateWithHandle(VulkanGraphicsDevice gd, int size) + { + var holder = Create(gd, size); + if (holder == null) + { + return BufferHandle.Null; + } + + ulong handle64 = (ulong)_buffers.Count + 1; + + var handle = Unsafe.As(ref handle64); + + _buffers.Add(holder); + + return handle; + } + + public unsafe BufferHolder Create(VulkanGraphicsDevice gd, int size, bool forConditionalRendering = false) + { + var usage = DefaultBufferUsageFlags; + + if (forConditionalRendering && gd.Capabilities.SupportsConditionalRendering) + { + usage |= BufferUsageFlags.BufferUsageConditionalRenderingBitExt; + } + else if (gd.SupportsIndirectParameters) + { + usage |= BufferUsageFlags.BufferUsageIndirectBufferBit; + } + + var bufferCreateInfo = new BufferCreateInfo() + { + SType = StructureType.BufferCreateInfo, + Size = (ulong)size, + Usage = usage, + SharingMode = SharingMode.Exclusive + }; + + gd.Api.CreateBuffer(_device, in bufferCreateInfo, null, out var buffer).ThrowOnError(); + gd.Api.GetBufferMemoryRequirements(_device, buffer, out var requirements); + var allocation = gd.MemoryAllocator.AllocateDeviceMemory(_physicalDevice, requirements, DefaultBufferMemoryFlags); + + if (allocation.Memory.Handle == 0UL) + { + gd.Api.DestroyBuffer(_device, buffer, null); + return null; + } + + gd.Api.BindBufferMemory(_device, buffer, allocation.Memory, allocation.Offset); + + return new BufferHolder(gd, _device, buffer, allocation, size); + } + + public Auto CreateView(BufferHandle handle, VkFormat format, int offset, int size) + { + if (TryGetBuffer(handle, out var holder)) + { + return holder.CreateView(format, offset, size); + } + + return null; + } + + public Auto GetBuffer(CommandBuffer commandBuffer, BufferHandle handle, bool isWrite) + { + if (TryGetBuffer(handle, out var holder)) + { + return holder.GetBuffer(commandBuffer, isWrite); + } + + return null; + } + + public Auto GetBufferI8ToI16(CommandBufferScoped cbs, BufferHandle handle, int offset, int size) + { + if (TryGetBuffer(handle, out var holder)) + { + return holder.GetBufferI8ToI16(cbs, offset, size); + } + + return null; + } + + public Auto GetBuffer(CommandBuffer commandBuffer, BufferHandle handle, bool isWrite, out int size) + { + if (TryGetBuffer(handle, out var holder)) + { + size = holder.Size; + return holder.GetBuffer(commandBuffer, isWrite); + } + + size = 0; + return null; + } + + public ReadOnlySpan GetData(BufferHandle handle, int offset, int size) + { + if (TryGetBuffer(handle, out var holder)) + { + return holder.GetData(offset, size); + } + + return ReadOnlySpan.Empty; + } + + public void SetData(BufferHandle handle, int offset, ReadOnlySpan data) where T : unmanaged + { + SetData(handle, offset, MemoryMarshal.Cast(data), null, null); + } + + public void SetData(BufferHandle handle, int offset, ReadOnlySpan data, CommandBufferScoped? cbs, Action endRenderPass) + { + if (TryGetBuffer(handle, out var holder)) + { + holder.SetData(offset, data, cbs, endRenderPass); + } + } + + public void Delete(BufferHandle handle) + { + if (TryGetBuffer(handle, out var holder)) + { + holder.Dispose(); + // _buffers.Remove(handle); + } + } + + private bool TryGetBuffer(BufferHandle handle, out BufferHolder holder) + { + int index = (int)Unsafe.As(ref handle) - 1; + if ((uint)index < _buffers.Count) + { + holder = _buffers[index]; + return true; + } + + holder = default; + return false; + } + + protected virtual void Dispose(bool disposing) + { + if (disposing) + { + for (int i = 0; i < _buffers.Count; i++) + { + _buffers[i].Dispose(); + } + + StagingBuffer.Dispose(); + } + } + + public void Dispose() + { + Dispose(true); + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/BufferRangeList.cs b/Ryujinx.Graphics.Vulkan/BufferRangeList.cs new file mode 100644 index 000000000..9cf249fea --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/BufferRangeList.cs @@ -0,0 +1,147 @@ +using System.Collections.Generic; + +namespace Ryujinx.Graphics.Vulkan +{ + struct BufferRangeList + { + private struct Range + { + public int Offset { get; } + public int Size { get; } + + public Range(int offset, int size) + { + Offset = offset; + Size = size; + } + + public bool OverlapsWith(int offset, int size) + { + return Offset < offset + size && offset < Offset + Size; + } + } + + private List[] _ranges; + + public void Initialize() + { + _ranges = new List[CommandBufferPool.MaxCommandBuffers]; + } + + public void Add(int cbIndex, int offset, int size) + { + var list = _ranges[cbIndex]; + if (list != null) + { + int overlapIndex = BinarySearch(list, offset, size); + if (overlapIndex >= 0) + { + while (overlapIndex > 0 && list[overlapIndex - 1].OverlapsWith(offset, size)) + { + overlapIndex--; + } + + int endOffset = offset + size; + int startIndex = overlapIndex; + + while (overlapIndex < list.Count && list[overlapIndex].OverlapsWith(offset, size)) + { + var currentOverlap = list[overlapIndex]; + var currentOverlapEndOffset = currentOverlap.Offset + currentOverlap.Size; + + if (offset > currentOverlap.Offset) + { + offset = currentOverlap.Offset; + } + + if (endOffset < currentOverlapEndOffset) + { + endOffset = currentOverlapEndOffset; + } + + overlapIndex++; + } + + int count = overlapIndex - startIndex; + + list.RemoveRange(startIndex, count); + + size = endOffset - offset; + overlapIndex = startIndex; + } + else + { + overlapIndex = ~overlapIndex; + } + + list.Insert(overlapIndex, new Range(offset, size)); + + int last = 0; + foreach (var rg in list) + { + if (rg.Offset < last) + { + throw new System.Exception("list not properly sorted"); + } + last = rg.Offset; + } + } + else + { + list = new List + { + new Range(offset, size) + }; + + _ranges[cbIndex] = list; + } + } + + public bool OverlapsWith(int cbIndex, int offset, int size) + { + var list = _ranges[cbIndex]; + if (list == null) + { + return false; + } + + return BinarySearch(list, offset, size) >= 0; + } + + private static int BinarySearch(List list, int offset, int size) + { + int left = 0; + int right = list.Count - 1; + + while (left <= right) + { + int range = right - left; + + int middle = left + (range >> 1); + + var item = list[middle]; + + if (item.OverlapsWith(offset, size)) + { + return middle; + } + + if (offset < item.Offset) + { + right = middle - 1; + } + else + { + left = middle + 1; + } + } + + return ~left; + } + + public void Clear(int cbIndex) + { + _ranges[cbIndex] = null; + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/BufferState.cs b/Ryujinx.Graphics.Vulkan/BufferState.cs new file mode 100644 index 000000000..80fc49036 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/BufferState.cs @@ -0,0 +1,69 @@ +using Silk.NET.Vulkan; +using System; + +namespace Ryujinx.Graphics.Vulkan +{ + struct BufferState : IDisposable + { + public static BufferState Null => new BufferState(null, 0, 0); + + private readonly Auto _buffer; + private readonly int _offset; + private readonly int _size; + private readonly ulong _stride; + private readonly IndexType _type; + + public BufferState(Auto buffer, int offset, int size, IndexType type) + { + _buffer = buffer; + _offset = offset; + _size = size; + _stride = 0; + _type = type; + buffer?.IncrementReferenceCount(); + } + + public BufferState(Auto buffer, int offset, int size, ulong stride = 0UL) + { + _buffer = buffer; + _offset = offset; + _size = size; + _stride = stride; + _type = IndexType.Uint16; + buffer?.IncrementReferenceCount(); + } + + public void BindIndexBuffer(Vk api, CommandBufferScoped cbs) + { + if (_buffer != null) + { + api.CmdBindIndexBuffer(cbs.CommandBuffer, _buffer.Get(cbs, _offset, _size).Value, (ulong)_offset, _type); + } + } + + public void BindTransformFeedbackBuffer(VulkanGraphicsDevice gd, CommandBufferScoped cbs, uint binding) + { + if (_buffer != null) + { + var buffer = _buffer.Get(cbs, _offset, _size).Value; + + gd.TransformFeedbackApi.CmdBindTransformFeedbackBuffers(cbs.CommandBuffer, binding, 1, buffer, (ulong)_offset, (ulong)_size); + } + } + + public void BindVertexBuffer(VulkanGraphicsDevice gd, CommandBufferScoped cbs, uint binding) + { + if (_buffer != null) + { + var buffer = _buffer.Get(cbs, _offset, _size).Value; + + gd.Api.CmdBindVertexBuffers(cbs.CommandBuffer, binding, 1, buffer, (ulong)_offset); + } + } + + public void Dispose() + { + _buffer?.DecrementReferenceCount(); + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/CacheByRange.cs b/Ryujinx.Graphics.Vulkan/CacheByRange.cs new file mode 100644 index 000000000..f3f503da4 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/CacheByRange.cs @@ -0,0 +1,54 @@ +using System; +using System.Collections.Generic; + +namespace Ryujinx.Graphics.Vulkan +{ + struct CacheByRange where T : IDisposable + { + private Dictionary _ranges; + + public void Add(int offset, int size, T value) + { + EnsureInitialized(); + _ranges.Add(PackRange(offset, size), value); + } + + public bool TryGetValue(int offset, int size, out T value) + { + EnsureInitialized(); + return _ranges.TryGetValue(PackRange(offset, size), out value); + } + + public void Clear() + { + if (_ranges != null) + { + foreach (T value in _ranges.Values) + { + value.Dispose(); + } + + _ranges.Clear(); + _ranges = null; + } + } + + private void EnsureInitialized() + { + if (_ranges == null) + { + _ranges = new Dictionary(); + } + } + + private static ulong PackRange(int offset, int size) + { + return (uint)offset | ((ulong)size << 32); + } + + public void Dispose() + { + Clear(); + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/CommandBufferPool.cs b/Ryujinx.Graphics.Vulkan/CommandBufferPool.cs new file mode 100644 index 000000000..fdc27e9a0 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/CommandBufferPool.cs @@ -0,0 +1,291 @@ +using Silk.NET.Vulkan; +using System; +using System.Collections.Generic; +using System.Diagnostics; +using Thread = System.Threading.Thread; + +namespace Ryujinx.Graphics.Vulkan +{ + class CommandBufferPool : IDisposable + { + public const int MaxCommandBuffers = 8; + + private int _totalCommandBuffers; + private int _totalCommandBuffersMask; + + private readonly Vk _api; + private readonly Device _device; + private readonly Queue _queue; + private readonly CommandPool _pool; + private readonly Thread _owner; + + public bool OwnedByCurrentThread => _owner == Thread.CurrentThread; + + private struct ReservedCommandBuffer + { + public bool InUse; + public bool InConsumption; + public CommandBuffer CommandBuffer; + public FenceHolder Fence; + public SemaphoreHolder Semaphore; + + public List Dependants; + public HashSet Waitables; + public HashSet Dependencies; + + public void Initialize(Vk api, Device device, CommandPool pool) + { + var allocateInfo = new CommandBufferAllocateInfo() + { + SType = StructureType.CommandBufferAllocateInfo, + CommandBufferCount = 1, + CommandPool = pool, + Level = CommandBufferLevel.Primary + }; + + api.AllocateCommandBuffers(device, allocateInfo, out CommandBuffer); + + Dependants = new List(); + Waitables = new HashSet(); + Dependencies = new HashSet(); + } + } + + private readonly ReservedCommandBuffer[] _commandBuffers; + + private int _cursor; + + public unsafe CommandBufferPool(Vk api, Device device, Queue queue, uint queueFamilyIndex, bool isLight = false) + { + _api = api; + _device = device; + _queue = queue; + _owner = Thread.CurrentThread; + + var commandPoolCreateInfo = new CommandPoolCreateInfo() + { + SType = StructureType.CommandPoolCreateInfo, + QueueFamilyIndex = queueFamilyIndex, + Flags = CommandPoolCreateFlags.CommandPoolCreateTransientBit | + CommandPoolCreateFlags.CommandPoolCreateResetCommandBufferBit + }; + + api.CreateCommandPool(device, commandPoolCreateInfo, null, out _pool).ThrowOnError(); + + _totalCommandBuffers = isLight ? 1 : MaxCommandBuffers; + _totalCommandBuffersMask = _totalCommandBuffers - 1; + + _commandBuffers = new ReservedCommandBuffer[_totalCommandBuffers]; + + for (int i = 0; i < _totalCommandBuffers; i++) + { + _commandBuffers[i].Initialize(api, device, _pool); + } + } + + public void AddDependant(int cbIndex, IAuto dependant) + { + dependant.IncrementReferenceCount(); + _commandBuffers[cbIndex].Dependants.Add(dependant); + } + + public void AddWaitable(MultiFenceHolder waitable) + { + lock (_commandBuffers) + { + for (int i = 0; i < _totalCommandBuffers; i++) + { + ref var entry = ref _commandBuffers[i]; + + if (entry.InConsumption) + { + AddWaitable(i, waitable); + } + } + } + } + + public void AddDependency(int cbIndex, CommandBufferScoped dependencyCbs) + { + Debug.Assert(_commandBuffers[cbIndex].InUse); + var semaphoreHolder = _commandBuffers[dependencyCbs.CommandBufferIndex].Semaphore; + semaphoreHolder.Get(); + _commandBuffers[cbIndex].Dependencies.Add(semaphoreHolder); + } + + public void AddWaitable(int cbIndex, MultiFenceHolder waitable) + { + ref var entry = ref _commandBuffers[cbIndex]; + waitable.AddFence(cbIndex, entry.Fence); + entry.Waitables.Add(waitable); + } + + public bool HasWaitableOnRentedCommandBuffer(MultiFenceHolder waitable, int offset, int size) + { + lock (_commandBuffers) + { + for (int i = 0; i < _totalCommandBuffers; i++) + { + ref var entry = ref _commandBuffers[i]; + + if (entry.InUse && + entry.Waitables.Contains(waitable) && + waitable.IsBufferRangeInUse(i, offset, size)) + { + return true; + } + } + } + + return false; + } + + public FenceHolder GetFence(int cbIndex) + { + return _commandBuffers[cbIndex].Fence; + } + + public CommandBufferScoped ReturnAndRent(CommandBufferScoped cbs) + { + Return(cbs); + return Rent(); + } + + public CommandBufferScoped Rent() + { + lock (_commandBuffers) + { + for (int i = 0; i < _totalCommandBuffers; i++) + { + int currentIndex = _cursor; + + ref var entry = ref _commandBuffers[currentIndex]; + + if (!entry.InUse) + { + WaitAndDecrementRef(currentIndex); + entry.InUse = true; + + var commandBufferBeginInfo = new CommandBufferBeginInfo() + { + SType = StructureType.CommandBufferBeginInfo + }; + + _api.BeginCommandBuffer(entry.CommandBuffer, commandBufferBeginInfo); + + return new CommandBufferScoped(this, entry.CommandBuffer, currentIndex); + } + + _cursor = (currentIndex + 1) & _totalCommandBuffersMask; + } + + return default; + } + } + + public void Return(CommandBufferScoped cbs) + { + Return(cbs, null, null, null); + } + + public unsafe void Return( + CommandBufferScoped cbs, + Semaphore[] waitSemaphores, + PipelineStageFlags[] waitDstStageMask, + Semaphore[] signalSemaphores) + { + lock (_commandBuffers) + { + int cbIndex = cbs.CommandBufferIndex; + + ref var entry = ref _commandBuffers[cbIndex]; + + if (_cursor == cbIndex) + { + _cursor = (cbIndex + 1) & _totalCommandBuffersMask; + } + + Debug.Assert(entry.InUse); + Debug.Assert(entry.CommandBuffer.Handle == cbs.CommandBuffer.Handle); + entry.InUse = false; + entry.InConsumption = true; + + var commandBuffer = entry.CommandBuffer; + + _api.EndCommandBuffer(commandBuffer); + + fixed (Semaphore* pWaitSemaphores = waitSemaphores, pSignalSemaphores = signalSemaphores) + { + fixed (PipelineStageFlags* pWaitDstStageMask = waitDstStageMask) + { + SubmitInfo sInfo = new SubmitInfo() + { + SType = StructureType.SubmitInfo, + WaitSemaphoreCount = waitSemaphores != null ? (uint)waitSemaphores.Length : 0, + PWaitSemaphores = pWaitSemaphores, + PWaitDstStageMask = pWaitDstStageMask, + CommandBufferCount = 1, + PCommandBuffers = &commandBuffer, + SignalSemaphoreCount = signalSemaphores != null ? (uint)signalSemaphores.Length : 0, + PSignalSemaphores = pSignalSemaphores + }; + + _api.QueueSubmit(_queue, 1, sInfo, entry.Fence.GetUnsafe()); + } + } + // _api.QueueWaitIdle(_queue); + } + } + + private void WaitAndDecrementRef(int cbIndex, bool refreshFence = true) + { + ref var entry = ref _commandBuffers[cbIndex]; + + if (entry.InConsumption) + { + entry.Fence.Wait(); + entry.InConsumption = false; + } + + foreach (var dependant in entry.Dependants) + { + dependant.DecrementReferenceCount(cbIndex); + } + + foreach (var waitable in entry.Waitables) + { + waitable.RemoveFence(cbIndex, entry.Fence); + waitable.RemoveBufferUses(cbIndex); + } + + foreach (var dependency in entry.Dependencies) + { + dependency.Put(); + } + + entry.Dependants.Clear(); + entry.Waitables.Clear(); + entry.Dependencies.Clear(); + entry.Fence?.Dispose(); + + if (refreshFence) + { + entry.Fence = new FenceHolder(_api, _device); + } + else + { + entry.Fence = null; + } + } + + public unsafe void Dispose() + { + for (int i = 0; i < _totalCommandBuffers; i++) + { + WaitAndDecrementRef(i, refreshFence: false); + } + + _api.DestroyCommandPool(_device, _pool, null); + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/CommandBufferScoped.cs b/Ryujinx.Graphics.Vulkan/CommandBufferScoped.cs new file mode 100644 index 000000000..372950a88 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/CommandBufferScoped.cs @@ -0,0 +1,44 @@ +using Silk.NET.Vulkan; +using System; + +namespace Ryujinx.Graphics.Vulkan +{ + struct CommandBufferScoped : IDisposable + { + private readonly CommandBufferPool _pool; + public CommandBuffer CommandBuffer { get; } + public int CommandBufferIndex { get; } + + public CommandBufferScoped(CommandBufferPool pool, CommandBuffer commandBuffer, int commandBufferIndex) + { + _pool = pool; + CommandBuffer = commandBuffer; + CommandBufferIndex = commandBufferIndex; + } + + public void AddDependant(IAuto dependant) + { + _pool.AddDependant(CommandBufferIndex, dependant); + } + + public void AddWaitable(MultiFenceHolder waitable) + { + _pool.AddWaitable(CommandBufferIndex, waitable); + } + + public void AddDependency(CommandBufferScoped dependencyCbs) + { + _pool.AddDependency(CommandBufferIndex, dependencyCbs); + } + + public FenceHolder GetFence() + { + return _pool.GetFence(CommandBufferIndex); + } + + public void Dispose() + { + _pool?.Return(this); + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/Constants.cs b/Ryujinx.Graphics.Vulkan/Constants.cs new file mode 100644 index 000000000..b1b540ec9 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/Constants.cs @@ -0,0 +1,20 @@ +namespace Ryujinx.Graphics.Vulkan +{ + static class Constants + { + public const int MaxVertexAttributes = 32; + public const int MaxVertexBuffers = 32; + public const int MaxTransformFeedbackBuffers = 4; + public const int MaxRenderTargets = 8; + public const int MaxViewports = 16; + public const int MaxShaderStages = 5; + public const int MaxUniformBuffersPerStage = 18; + public const int MaxStorageBuffersPerStage = 16; + public const int MaxTexturesPerStage = 32; + public const int MaxImagesPerStage = 8; + public const int MaxUniformBufferBindings = MaxUniformBuffersPerStage * MaxShaderStages; + public const int MaxStorageBufferBindings = MaxStorageBuffersPerStage * MaxShaderStages; + public const int MaxTextureBindings = MaxTexturesPerStage * MaxShaderStages; + public const int MaxImageBindings = MaxImagesPerStage * MaxShaderStages; + } +} diff --git a/Ryujinx.Graphics.Vulkan/DescriptorSetCollection.cs b/Ryujinx.Graphics.Vulkan/DescriptorSetCollection.cs new file mode 100644 index 000000000..245914e0a --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/DescriptorSetCollection.cs @@ -0,0 +1,247 @@ +using Silk.NET.Vulkan; +using System; + +namespace Ryujinx.Graphics.Vulkan +{ + struct DescriptorSetCollection : IDisposable + { + private DescriptorSetManager.DescriptorPoolHolder _holder; + private readonly DescriptorSet[] _descriptorSets; + public int SetsCount => _descriptorSets.Length; + + public DescriptorSetCollection(DescriptorSetManager.DescriptorPoolHolder holder, DescriptorSet[] descriptorSets) + { + _holder = holder; + _descriptorSets = descriptorSets; + } + + public void InitializeBuffers(int setIndex, int baseBinding, int countPerUnit, DescriptorType type) + { + Span infos = stackalloc DescriptorBufferInfo[countPerUnit]; + + for (int j = 0; j < countPerUnit; j++) + { + infos[j] = new DescriptorBufferInfo() + { + Range = Vk.WholeSize + }; + } + + UpdateBuffers(setIndex, baseBinding, infos, type); + } + + public unsafe void UpdateBuffer(int setIndex, int bindingIndex, DescriptorBufferInfo bufferInfo, DescriptorType type) + { + if (bufferInfo.Buffer.Handle != 0UL) + { + var writeDescriptorSet = new WriteDescriptorSet + { + SType = StructureType.WriteDescriptorSet, + DstSet = _descriptorSets[setIndex], + DstBinding = (uint)bindingIndex, + DescriptorType = type, + DescriptorCount = 1, + PBufferInfo = &bufferInfo + }; + + _holder.Api.UpdateDescriptorSets(_holder.Device, 1, writeDescriptorSet, 0, null); + } + } + + public unsafe void UpdateBuffers(int setIndex, int baseBinding, ReadOnlySpan bufferInfo, DescriptorType type) + { + if (bufferInfo.Length == 0) + { + return; + } + + fixed (DescriptorBufferInfo* pBufferInfo = bufferInfo) + { + var writeDescriptorSet = new WriteDescriptorSet + { + SType = StructureType.WriteDescriptorSet, + DstSet = _descriptorSets[setIndex], + DstBinding = (uint)baseBinding, + DescriptorType = type, + DescriptorCount = (uint)bufferInfo.Length, + PBufferInfo = pBufferInfo + }; + + _holder.Api.UpdateDescriptorSets(_holder.Device, 1, writeDescriptorSet, 0, null); + } + } + + public unsafe void UpdateStorageBuffers(int setIndex, int baseBinding, ReadOnlySpan bufferInfo) + { + if (bufferInfo.Length == 0) + { + return; + } + + fixed (DescriptorBufferInfo* pBufferInfo = bufferInfo) + { + var writeDescriptorSet = new WriteDescriptorSet + { + SType = StructureType.WriteDescriptorSet, + DstSet = _descriptorSets[setIndex], + DstBinding = (uint)(baseBinding & ~(Constants.MaxStorageBuffersPerStage - 1)), + DstArrayElement = (uint)(baseBinding & (Constants.MaxStorageBuffersPerStage - 1)), + DescriptorType = DescriptorType.StorageBuffer, + DescriptorCount = (uint)bufferInfo.Length, + PBufferInfo = pBufferInfo + }; + + _holder.Api.UpdateDescriptorSets(_holder.Device, 1, writeDescriptorSet, 0, null); + } + } + + public unsafe void UpdateImage(int setIndex, int bindingIndex, DescriptorImageInfo imageInfo, DescriptorType type) + { + if (imageInfo.ImageView.Handle != 0UL) + { + var writeDescriptorSet = new WriteDescriptorSet + { + SType = StructureType.WriteDescriptorSet, + DstSet = _descriptorSets[setIndex], + DstBinding = (uint)bindingIndex, + DescriptorType = type, + DescriptorCount = 1, + PImageInfo = &imageInfo + }; + + _holder.Api.UpdateDescriptorSets(_holder.Device, 1, writeDescriptorSet, 0, null); + } + } + + public unsafe void UpdateImages(int setIndex, int baseBinding, ReadOnlySpan imageInfo, DescriptorType type) + { + if (imageInfo.Length == 0) + { + return; + } + + fixed (DescriptorImageInfo* pImageInfo = imageInfo) + { + var writeDescriptorSet = new WriteDescriptorSet + { + SType = StructureType.WriteDescriptorSet, + DstSet = _descriptorSets[setIndex], + DstBinding = (uint)baseBinding, + DescriptorType = type, + DescriptorCount = (uint)imageInfo.Length, + PImageInfo = pImageInfo + }; + + _holder.Api.UpdateDescriptorSets(_holder.Device, 1, writeDescriptorSet, 0, null); + } + } + + public unsafe void UpdateImagesCombined(int setIndex, int baseBinding, ReadOnlySpan imageInfo, DescriptorType type) + { + if (imageInfo.Length == 0) + { + return; + } + + fixed (DescriptorImageInfo* pImageInfo = imageInfo) + { + for (int i = 0; i < imageInfo.Length; i++) + { + bool nonNull = imageInfo[i].ImageView.Handle != 0 && imageInfo[i].Sampler.Handle != 0; + if (nonNull) + { + int count = 1; + + while (i + count < imageInfo.Length && + imageInfo[i + count].ImageView.Handle != 0 && + imageInfo[i + count].Sampler.Handle != 0) + { + count++; + } + + var writeDescriptorSet = new WriteDescriptorSet + { + SType = StructureType.WriteDescriptorSet, + DstSet = _descriptorSets[setIndex], + DstBinding = (uint)(baseBinding + i), + DescriptorType = DescriptorType.CombinedImageSampler, + DescriptorCount = (uint)count, + PImageInfo = pImageInfo + }; + + _holder.Api.UpdateDescriptorSets(_holder.Device, 1, writeDescriptorSet, 0, null); + + i += count - 1; + } + } + } + } + + public unsafe void UpdateBufferImage(int setIndex, int bindingIndex, BufferView texelBufferView, DescriptorType type) + { + if (texelBufferView.Handle != 0UL) + { + var writeDescriptorSet = new WriteDescriptorSet + { + SType = StructureType.WriteDescriptorSet, + DstSet = _descriptorSets[setIndex], + DstBinding = (uint)bindingIndex, + DescriptorType = type, + DescriptorCount = 1, + PTexelBufferView = &texelBufferView + }; + + _holder.Api.UpdateDescriptorSets(_holder.Device, 1, writeDescriptorSet, 0, null); + } + } + + public unsafe void UpdateBufferImages(int setIndex, int baseBinding, ReadOnlySpan texelBufferView, DescriptorType type) + { + if (texelBufferView.Length == 0) + { + return; + } + + fixed (BufferView* pTexelBufferView = texelBufferView) + { + for (uint i = 0; i < texelBufferView.Length;) + { + uint count = 1; + + if (texelBufferView[(int)i].Handle != 0UL) + { + while (i + count < texelBufferView.Length && texelBufferView[(int)(i + count)].Handle != 0UL) + { + count++; + } + + var writeDescriptorSet = new WriteDescriptorSet + { + SType = StructureType.WriteDescriptorSet, + DstSet = _descriptorSets[setIndex], + DstBinding = (uint)baseBinding + i, + DescriptorType = type, + DescriptorCount = count, + PTexelBufferView = pTexelBufferView + i + }; + + _holder.Api.UpdateDescriptorSets(_holder.Device, 1, writeDescriptorSet, 0, null); + } + + i += count; + } + } + } + + public DescriptorSet[] GetSets() + { + return _descriptorSets; + } + + public void Dispose() + { + _holder?.FreeDescriptorSets(this); + _holder = null; + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/DescriptorSetManager.cs b/Ryujinx.Graphics.Vulkan/DescriptorSetManager.cs new file mode 100644 index 000000000..a88bb7b12 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/DescriptorSetManager.cs @@ -0,0 +1,201 @@ +using Silk.NET.Vulkan; +using System; +using System.Diagnostics; + +namespace Ryujinx.Graphics.Vulkan +{ + class DescriptorSetManager : IDisposable + { + private const uint DescriptorPoolMultiplier = 16; + + public class DescriptorPoolHolder : IDisposable + { + public Vk Api { get; } + public Device Device { get; } + + private readonly DescriptorPool _pool; + private readonly uint _capacity; + private int _totalSets; + private int _setsInUse; + private bool _done; + + public unsafe DescriptorPoolHolder(Vk api, Device device) + { + Api = api; + Device = device; + + var poolSizes = new DescriptorPoolSize[] + { + new DescriptorPoolSize(DescriptorType.UniformBuffer, (1 + Constants.MaxUniformBufferBindings) * DescriptorPoolMultiplier), + new DescriptorPoolSize(DescriptorType.StorageBuffer, Constants.MaxStorageBufferBindings * DescriptorPoolMultiplier), + new DescriptorPoolSize(DescriptorType.CombinedImageSampler, Constants.MaxTextureBindings * DescriptorPoolMultiplier), + new DescriptorPoolSize(DescriptorType.StorageImage, Constants.MaxImageBindings * DescriptorPoolMultiplier), + new DescriptorPoolSize(DescriptorType.UniformTexelBuffer, Constants.MaxTextureBindings * DescriptorPoolMultiplier), + new DescriptorPoolSize(DescriptorType.StorageTexelBuffer, Constants.MaxImageBindings * DescriptorPoolMultiplier) + }; + + uint maxSets = (uint)poolSizes.Length * DescriptorPoolMultiplier; + + _capacity = maxSets; + + fixed (DescriptorPoolSize* pPoolsSize = poolSizes) + { + var descriptorPoolCreateInfo = new DescriptorPoolCreateInfo() + { + SType = StructureType.DescriptorPoolCreateInfo, + MaxSets = maxSets, + PoolSizeCount = (uint)poolSizes.Length, + PPoolSizes = pPoolsSize + }; + + Api.CreateDescriptorPool(device, descriptorPoolCreateInfo, null, out _pool).ThrowOnError(); + } + } + + public unsafe DescriptorSetCollection AllocateDescriptorSets(ReadOnlySpan layouts) + { + TryAllocateDescriptorSets(layouts, isTry: false, out var dsc); + return dsc; + } + + public bool TryAllocateDescriptorSets(ReadOnlySpan layouts, out DescriptorSetCollection dsc) + { + return TryAllocateDescriptorSets(layouts, isTry: true, out dsc); + } + + private unsafe bool TryAllocateDescriptorSets(ReadOnlySpan layouts, bool isTry, out DescriptorSetCollection dsc) + { + Debug.Assert(!_done); + + DescriptorSet[] descriptorSets = new DescriptorSet[layouts.Length]; + + fixed (DescriptorSet* pDescriptorSets = descriptorSets) + { + fixed (DescriptorSetLayout* pLayouts = layouts) + { + var descriptorSetAllocateInfo = new DescriptorSetAllocateInfo() + { + SType = StructureType.DescriptorSetAllocateInfo, + DescriptorPool = _pool, + DescriptorSetCount = (uint)layouts.Length, + PSetLayouts = pLayouts + }; + + var result = Api.AllocateDescriptorSets(Device, &descriptorSetAllocateInfo, pDescriptorSets); + if (isTry && result == Result.ErrorOutOfPoolMemory) + { + _totalSets = (int)_capacity; + _done = true; + DestroyIfDone(); + dsc = default; + return false; + } + + result.ThrowOnError(); + } + } + + _totalSets += layouts.Length; + _setsInUse += layouts.Length; + + dsc = new DescriptorSetCollection(this, descriptorSets); + return true; + } + + public void FreeDescriptorSets(DescriptorSetCollection dsc) + { + _setsInUse -= dsc.SetsCount; + Debug.Assert(_setsInUse >= 0); + DestroyIfDone(); + } + + public bool CanFit(int count) + { + if (_totalSets + count <= _capacity) + { + return true; + } + + _done = true; + DestroyIfDone(); + return false; + } + + private unsafe void DestroyIfDone() + { + if (_done && _setsInUse == 0) + { + Api.DestroyDescriptorPool(Device, _pool, null); + } + } + + protected virtual void Dispose(bool disposing) + { + if (disposing) + { + unsafe + { + Api.DestroyDescriptorPool(Device, _pool, null); + } + } + } + + public void Dispose() + { + Dispose(true); + } + } + + private readonly Device _device; + private DescriptorPoolHolder _currentPool; + + public DescriptorSetManager(Device device) + { + _device = device; + } + + public Auto AllocateDescriptorSet(Vk api, DescriptorSetLayout layout) + { + Span layouts = stackalloc DescriptorSetLayout[1]; + layouts[0] = layout; + return AllocateDescriptorSets(api, layouts); + } + + public Auto AllocateDescriptorSets(Vk api, ReadOnlySpan layouts) + { + // If we fail the first time, just create a new pool and try again. + if (!GetPool(api, layouts.Length).TryAllocateDescriptorSets(layouts, out var dsc)) + { + dsc = GetPool(api, layouts.Length).AllocateDescriptorSets(layouts); + } + + return new Auto(dsc); + } + + private DescriptorPoolHolder GetPool(Vk api, int requiredCount) + { + if (_currentPool == null || !_currentPool.CanFit(requiredCount)) + { + _currentPool = new DescriptorPoolHolder(api, _device); + } + + return _currentPool; + } + + protected virtual void Dispose(bool disposing) + { + if (disposing) + { + unsafe + { + _currentPool?.Dispose(); + } + } + } + + public void Dispose() + { + Dispose(true); + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs b/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs new file mode 100644 index 000000000..507b03bab --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs @@ -0,0 +1,489 @@ +using Ryujinx.Graphics.GAL; +using Ryujinx.Graphics.Shader; +using Silk.NET.Vulkan; +using System; +using System.Numerics; +using System.Runtime.CompilerServices; + +namespace Ryujinx.Graphics.Vulkan +{ + class DescriptorSetUpdater + { + private readonly VulkanGraphicsDevice _gd; + private readonly PipelineBase _pipeline; + + private ShaderCollection _program; + + private Auto[] _uniformBufferRefs; + private Auto[] _storageBufferRefs; + private Auto[] _textureRefs; + private Auto[] _samplerRefs; + private Auto[] _imageRefs; + private TextureBuffer[] _bufferTextureRefs; + private TextureBuffer[] _bufferImageRefs; + + private DescriptorBufferInfo[] _uniformBuffers; + private DescriptorBufferInfo[] _storageBuffers; + private DescriptorImageInfo[] _textures; + private DescriptorImageInfo[] _images; + private BufferView[] _bufferTextures; + private BufferView[] _bufferImages; + + [Flags] + private enum DirtyFlags + { + None = 0, + Uniform = 1 << 0, + Storage = 1 << 1, + Texture = 1 << 2, + Image = 1 << 3, + BufferTexture = 1 << 4, + BufferImage = 1 << 5, + All = Uniform | Storage | Texture | Image | BufferTexture | BufferImage + } + + private DirtyFlags _dirty; + + private readonly TextureView _dummyTexture; + private readonly SamplerHolder _dummySampler; + + public DescriptorSetUpdater(VulkanGraphicsDevice gd, PipelineBase pipeline) + { + _gd = gd; + _pipeline = pipeline; + + _uniformBuffers = Array.Empty(); + _storageBuffers = Array.Empty(); + _textures = new DescriptorImageInfo[32 * 5]; + _textureRefs = new Auto[32 * 5]; + _samplerRefs = new Auto[32 * 5]; + _images = Array.Empty(); + _bufferTextures = Array.Empty(); + _bufferImages = Array.Empty(); + + _dummyTexture = (TextureView)gd.CreateTexture(new GAL.TextureCreateInfo( + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 4, + GAL.Format.R8G8B8A8Unorm, + DepthStencilMode.Depth, + Target.Texture2D, + SwizzleComponent.Red, + SwizzleComponent.Green, + SwizzleComponent.Blue, + SwizzleComponent.Alpha), 1f); + + _dummySampler = (SamplerHolder)gd.CreateSampler(new GAL.SamplerCreateInfo( + MinFilter.Nearest, + MagFilter.Nearest, + false, + AddressMode.Repeat, + AddressMode.Repeat, + AddressMode.Repeat, + CompareMode.None, + GAL.CompareOp.Always, + new ColorF(0, 0, 0, 0), + 0, + 0, + 0, + 1f)); + } + + public void SetProgram(ShaderCollection program) + { + _program = program; + _dirty = DirtyFlags.All; + } + + public void SetImage(int binding, ITexture image, GAL.Format imageFormat) + { + if (image == null) + { + return; + } + + if (image is TextureBuffer imageBuffer) + { + if (_bufferImages.Length <= binding) + { + Array.Resize(ref _bufferImages, binding + 1); + Array.Resize(ref _bufferImageRefs, binding + 1); + } + + _bufferImageRefs[binding] = imageBuffer; + + SignalDirty(DirtyFlags.BufferImage); + } + else + { + if (_images.Length <= binding) + { + Array.Resize(ref _images, binding + 1); + Array.Resize(ref _imageRefs, binding + 1); + } + + if (image != null) + { + _imageRefs[binding] = ((TextureView)image).GetIdentityImageView(); + _images[binding] = new DescriptorImageInfo() + { + ImageLayout = ImageLayout.General + }; + } + + SignalDirty(DirtyFlags.Image); + } + } + + public void SetStorageBuffers(CommandBuffer commandBuffer, int first, ReadOnlySpan buffers) + { + Array.Resize(ref _storageBuffers, first + buffers.Length); + Array.Resize(ref _storageBufferRefs, first + buffers.Length); + + for (int i = 0; i < buffers.Length; i++) + { + var buffer = buffers[i]; + + _storageBufferRefs[first + i] = _gd.BufferManager.GetBuffer(commandBuffer, buffer.Handle, false); + + _storageBuffers[first + i] = new DescriptorBufferInfo() + { + Offset = (ulong)buffer.Offset, + Range = (ulong)buffer.Size + }; + } + + SignalDirty(DirtyFlags.Storage); + } + + public void SetTextureAndSampler(int binding, ITexture texture, ISampler sampler) + { + if (texture == null) + { + return; + } + + if (texture is TextureBuffer textureBuffer) + { + if (_bufferTextures.Length <= binding) + { + Array.Resize(ref _bufferTextures, binding + 1); + Array.Resize(ref _bufferTextureRefs, binding + 1); + } + + _bufferTextureRefs[binding] = textureBuffer; + + SignalDirty(DirtyFlags.BufferTexture); + } + else + { + if (sampler == null) + { + return; + } + + if (_textures.Length <= binding) + { + Array.Resize(ref _textures, binding + 1); + Array.Resize(ref _textureRefs, binding + 1); + Array.Resize(ref _samplerRefs, binding + 1); + } + + _textureRefs[binding] = ((TextureView)texture).GetImageView(); + _samplerRefs[binding] = ((SamplerHolder)sampler).GetSampler(); + + _textures[binding] = new DescriptorImageInfo() + { + ImageLayout = ImageLayout.General + }; + + SignalDirty(DirtyFlags.Texture); + } + } + + public void SetUniformBuffers(CommandBuffer commandBuffer, int first, ReadOnlySpan buffers) + { + Array.Resize(ref _uniformBuffers, first + buffers.Length); + Array.Resize(ref _uniformBufferRefs, first + buffers.Length); + + for (int i = 0; i < buffers.Length; i++) + { + var buffer = buffers[i]; + + _uniformBufferRefs[first + i] = _gd.BufferManager.GetBuffer(commandBuffer, buffer.Handle, false); + + _uniformBuffers[first + i] = new DescriptorBufferInfo() + { + Offset = (ulong)buffer.Offset, + Range = (ulong)buffer.Size + }; + } + + SignalDirty(DirtyFlags.Uniform); + } + + private void SignalDirty(DirtyFlags flag) + { + _dirty |= flag; + } + + public void UpdateAndBindDescriptorSets(CommandBufferScoped cbs, PipelineBindPoint pbp) + { + if ((_dirty & DirtyFlags.All) == 0) + { + return; + } + + // System.Console.WriteLine("modified " + _dirty + " " + _modified + " on program " + _program.GetHashCode().ToString("X")); + + if (_dirty.HasFlag(DirtyFlags.Uniform)) + { + UpdateAndBind(cbs, PipelineBase.UniformSetIndex, DirtyFlags.Uniform, pbp); + } + + if (_dirty.HasFlag(DirtyFlags.Storage)) + { + UpdateAndBind(cbs, PipelineBase.StorageSetIndex, DirtyFlags.Storage, pbp); + } + + if (_dirty.HasFlag(DirtyFlags.Texture)) + { + UpdateAndBind(cbs, PipelineBase.TextureSetIndex, DirtyFlags.Texture, pbp); + } + + if (_dirty.HasFlag(DirtyFlags.Image)) + { + UpdateAndBind(cbs, PipelineBase.ImageSetIndex, DirtyFlags.Image, pbp); + } + + if (_dirty.HasFlag(DirtyFlags.BufferTexture)) + { + UpdateAndBind(cbs, PipelineBase.BufferTextureSetIndex, DirtyFlags.BufferTexture, pbp); + } + + if (_dirty.HasFlag(DirtyFlags.BufferImage)) + { + UpdateAndBind(cbs, PipelineBase.BufferImageSetIndex, DirtyFlags.BufferImage, pbp); + } + + _dirty = DirtyFlags.None; + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private static void UpdateBuffer(CommandBufferScoped cbs, ref DescriptorBufferInfo info, Auto buffer) + { + info.Buffer = buffer?.Get(cbs, (int)info.Offset, (int)info.Range).Value ?? default; + + // The spec requires that buffers with null handle have offset as 0 and range as VK_WHOLE_SIZE. + if (info.Buffer.Handle == 0) + { + info.Offset = 0; + info.Range = Vk.WholeSize; + } + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private void UpdateAndBind(CommandBufferScoped cbs, int setIndex, DirtyFlags flag, PipelineBindPoint pbp) + { + int stagesCount = _program.Bindings[setIndex].Length; + if (stagesCount == 0 && setIndex != PipelineBase.UniformSetIndex) + { + return; + } + + var dsc = _program.GetNewDescriptorSetCollection(_gd, cbs.CommandBufferIndex, setIndex, out var isNew).Get(cbs); + + if (isNew) + { + Initialize(cbs, setIndex, dsc); + } + + if (setIndex == PipelineBase.UniformSetIndex) + { + Span uniformBuffer = stackalloc DescriptorBufferInfo[1]; + + uniformBuffer[0] = new DescriptorBufferInfo() + { + Offset = 0, + Range = (ulong)SupportBuffer.RequiredSize, + Buffer = _pipeline.RenderScaleBuffer.GetBuffer().Get(cbs, 0, SupportBuffer.RequiredSize).Value + }; + + dsc.UpdateBuffers(0, 0, uniformBuffer, DescriptorType.UniformBuffer); + } + + for (int stageIndex = 0; stageIndex < stagesCount; stageIndex++) + { + var stageBindings = _program.Bindings[setIndex][stageIndex]; + int bindingsCount = stageBindings.Length; + int count; + + for (int bindingIndex = 0; bindingIndex < bindingsCount; bindingIndex += count) + { + int binding = stageBindings[bindingIndex]; + count = 1; + + while (bindingIndex + count < bindingsCount && stageBindings[bindingIndex + count] == binding + count) + { + count++; + } + + if (setIndex == PipelineBase.UniformSetIndex) + { + count = Math.Min(count, _uniformBuffers.Length - binding); + + if (count <= 0) + { + break; + } + + for (int i = 0; i < count; i++) + { + UpdateBuffer(cbs, ref _uniformBuffers[binding + i], _uniformBufferRefs[binding + i]); + } + + ReadOnlySpan uniformBuffers = _uniformBuffers; + dsc.UpdateBuffers(0, binding, uniformBuffers.Slice(binding, count), DescriptorType.UniformBuffer); + } + else if (setIndex == PipelineBase.StorageSetIndex) + { + count = Math.Min(count, _storageBuffers.Length - binding); + + if (count <= 0) + { + break; + } + + for (int i = 0; i < count; i++) + { + UpdateBuffer(cbs, ref _storageBuffers[binding + i], _storageBufferRefs[binding + i]); + } + + ReadOnlySpan storageBuffers = _storageBuffers; + dsc.UpdateStorageBuffers(0, binding, storageBuffers.Slice(binding, count)); + } + else if (setIndex == PipelineBase.TextureSetIndex) + { + for (int i = 0; i < count; i++) + { + ref var texture = ref _textures[binding + i]; + + texture.ImageView = _textureRefs[binding + i]?.Get(cbs).Value ?? default; + texture.Sampler = _samplerRefs[binding + i]?.Get(cbs).Value ?? default; + texture.ImageLayout = ImageLayout.General; + + if (texture.ImageView.Handle == 0 || texture.Sampler.Handle == 0) + { + texture.ImageView = _dummyTexture.GetImageView().Get(cbs).Value; + texture.Sampler = _dummySampler.GetSampler().Get(cbs).Value; + } + } + + ReadOnlySpan textures = _textures; + dsc.UpdateImages(0, binding, textures.Slice(binding, count), DescriptorType.CombinedImageSampler); + } + else if (setIndex == PipelineBase.ImageSetIndex) + { + count = Math.Min(count, _images.Length - binding); + + if (count <= 0) + { + break; + } + + for (int i = 0; i < count; i++) + { + _images[binding + i].ImageView = _imageRefs[binding + i]?.Get(cbs).Value ?? default; + } + + ReadOnlySpan images = _images; + dsc.UpdateImages(0, binding, images.Slice(binding, count), DescriptorType.StorageImage); + } + else if (setIndex == PipelineBase.BufferTextureSetIndex) + { + count = Math.Min(count, _bufferTextures.Length - binding); + + if (count <= 0) + { + break; + } + + for (int i = 0; i < count; i++) + { + _bufferTextures[binding + i] = _bufferTextureRefs[binding + i]?.GetBufferView(cbs) ?? default; + } + + ReadOnlySpan bufferTextures = _bufferTextures; + dsc.UpdateBufferImages(0, binding, bufferTextures.Slice(binding, count), DescriptorType.UniformTexelBuffer); + } + else if (setIndex == PipelineBase.BufferImageSetIndex) + { + count = Math.Min(count, _bufferImages.Length - binding); + + if (count <= 0) + { + break; + } + + for (int i = 0; i < count; i++) + { + _bufferImages[binding + i] = _bufferImageRefs[binding + i]?.GetBufferView(cbs) ?? default; + } + + ReadOnlySpan bufferImages = _bufferImages; + dsc.UpdateBufferImages(0, binding, bufferImages.Slice(binding, count), DescriptorType.StorageTexelBuffer); + } + } + } + + var sets = dsc.GetSets(); + + _gd.Api.CmdBindDescriptorSets(cbs.CommandBuffer, pbp, _program.PipelineLayout, (uint)setIndex, 1, sets, 0, ReadOnlySpan.Empty); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private void Initialize(CommandBufferScoped cbs, int setIndex, DescriptorSetCollection dsc) + { + uint stages = _program.Stages; + + while (stages != 0) + { + int stage = BitOperations.TrailingZeroCount(stages); + stages &= ~(1u << stage); + + if (setIndex == PipelineBase.UniformSetIndex) + { + dsc.InitializeBuffers(0, 1 + stage * Constants.MaxUniformBuffersPerStage, Constants.MaxUniformBuffersPerStage, DescriptorType.UniformBuffer); + } + else if (setIndex == PipelineBase.StorageSetIndex) + { + dsc.InitializeBuffers(0, stage * Constants.MaxStorageBuffersPerStage, Constants.MaxStorageBuffersPerStage, DescriptorType.StorageBuffer); + } + } + } + + public void SignalCommandBufferChange() + { + _dirty = DirtyFlags.All; + } + + protected virtual void Dispose(bool disposing) + { + if (disposing) + { + _dummyTexture.Dispose(); + _dummySampler.Dispose(); + } + } + + public void Dispose() + { + Dispose(true); + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/DisposableBuffer.cs b/Ryujinx.Graphics.Vulkan/DisposableBuffer.cs new file mode 100644 index 000000000..a62b0d149 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/DisposableBuffer.cs @@ -0,0 +1,24 @@ +using Silk.NET.Vulkan; + +namespace Ryujinx.Graphics.Vulkan +{ + struct DisposableBuffer : System.IDisposable + { + private readonly Vk _api; + private readonly Device _device; + + public Buffer Value { get; } + + public DisposableBuffer(Vk api, Device device, Buffer buffer) + { + _api = api; + _device = device; + Value = buffer; + } + + public unsafe void Dispose() + { + _api.DestroyBuffer(_device, Value, null); + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/DisposableBufferView.cs b/Ryujinx.Graphics.Vulkan/DisposableBufferView.cs new file mode 100644 index 000000000..41d905f12 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/DisposableBufferView.cs @@ -0,0 +1,24 @@ +using Silk.NET.Vulkan; + +namespace Ryujinx.Graphics.Vulkan +{ + struct DisposableBufferView : System.IDisposable + { + private readonly Vk _api; + private readonly Device _device; + + public BufferView Value { get; } + + public DisposableBufferView(Vk api, Device device, BufferView bufferView) + { + _api = api; + _device = device; + Value = bufferView; + } + + public unsafe void Dispose() + { + _api.DestroyBufferView(_device, Value, null); + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/DisposableFramebuffer.cs b/Ryujinx.Graphics.Vulkan/DisposableFramebuffer.cs new file mode 100644 index 000000000..f8436ddc5 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/DisposableFramebuffer.cs @@ -0,0 +1,25 @@ +using Silk.NET.Vulkan; +using System; + +namespace Ryujinx.Graphics.Vulkan +{ + struct DisposableFramebuffer : IDisposable + { + private readonly Vk _api; + private readonly Device _device; + + public Framebuffer Value { get; } + + public DisposableFramebuffer(Vk api, Device device, Framebuffer framebuffer) + { + _api = api; + _device = device; + Value = framebuffer; + } + + public unsafe void Dispose() + { + _api.DestroyFramebuffer(_device, Value, null); + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/DisposableImage.cs b/Ryujinx.Graphics.Vulkan/DisposableImage.cs new file mode 100644 index 000000000..d10cb7f8e --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/DisposableImage.cs @@ -0,0 +1,25 @@ +using Silk.NET.Vulkan; +using System; + +namespace Ryujinx.Graphics.Vulkan +{ + struct DisposableImage : IDisposable + { + private readonly Vk _api; + private readonly Device _device; + + public Image Value { get; } + + public DisposableImage(Vk api, Device device, Image image) + { + _api = api; + _device = device; + Value = image; + } + + public unsafe void Dispose() + { + _api.DestroyImage(_device, Value, null); + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/DisposableImageView.cs b/Ryujinx.Graphics.Vulkan/DisposableImageView.cs new file mode 100644 index 000000000..e74230f8e --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/DisposableImageView.cs @@ -0,0 +1,25 @@ +using Silk.NET.Vulkan; +using System; + +namespace Ryujinx.Graphics.Vulkan +{ + struct DisposableImageView : IDisposable + { + private readonly Vk _api; + private readonly Device _device; + + public ImageView Value { get; } + + public DisposableImageView(Vk api, Device device, ImageView imageView) + { + _api = api; + _device = device; + Value = imageView; + } + + public unsafe void Dispose() + { + _api.DestroyImageView(_device, Value, null); + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/DisposableMemory.cs b/Ryujinx.Graphics.Vulkan/DisposableMemory.cs new file mode 100644 index 000000000..2dedb5842 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/DisposableMemory.cs @@ -0,0 +1,24 @@ +using Silk.NET.Vulkan; +using System; + +namespace Ryujinx.Graphics.Vulkan +{ + struct DisposableMemory : IDisposable + { + private readonly Vk _api; + private readonly Device _device; + private readonly DeviceMemory _memory; + + public DisposableMemory(Vk api, Device device, DeviceMemory memory) + { + _api = api; + _device = device; + _memory = memory; + } + + public unsafe void Dispose() + { + _api.FreeMemory(_device, _memory, null); + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/DisposablePipeline.cs b/Ryujinx.Graphics.Vulkan/DisposablePipeline.cs new file mode 100644 index 000000000..2cbca42d9 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/DisposablePipeline.cs @@ -0,0 +1,25 @@ +using Silk.NET.Vulkan; +using System; + +namespace Ryujinx.Graphics.Vulkan +{ + struct DisposablePipeline : IDisposable + { + private readonly Vk _api; + private readonly Device _device; + + public Pipeline Value { get; } + + public DisposablePipeline(Vk api, Device device, Pipeline pipeline) + { + _api = api; + _device = device; + Value = pipeline; + } + + public unsafe void Dispose() + { + _api.DestroyPipeline(_device, Value, null); + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/DisposableRenderPass.cs b/Ryujinx.Graphics.Vulkan/DisposableRenderPass.cs new file mode 100644 index 000000000..e3f0d0e65 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/DisposableRenderPass.cs @@ -0,0 +1,25 @@ +using Silk.NET.Vulkan; +using System; + +namespace Ryujinx.Graphics.Vulkan +{ + struct DisposableRenderPass : IDisposable + { + private readonly Vk _api; + private readonly Device _device; + + public RenderPass Value { get; } + + public DisposableRenderPass(Vk api, Device device, RenderPass renderPass) + { + _api = api; + _device = device; + Value = renderPass; + } + + public unsafe void Dispose() + { + _api.DestroyRenderPass(_device, Value, null); + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/DisposableSampler.cs b/Ryujinx.Graphics.Vulkan/DisposableSampler.cs new file mode 100644 index 000000000..89b964da4 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/DisposableSampler.cs @@ -0,0 +1,25 @@ +using Silk.NET.Vulkan; +using System; + +namespace Ryujinx.Graphics.Vulkan +{ + struct DisposableSampler : IDisposable + { + private readonly Vk _api; + private readonly Device _device; + + public Sampler Value { get; } + + public DisposableSampler(Vk api, Device device, Sampler sampler) + { + _api = api; + _device = device; + Value = sampler; + } + + public unsafe void Dispose() + { + _api.DestroySampler(_device, Value, null); + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/EnumConversion.cs b/Ryujinx.Graphics.Vulkan/EnumConversion.cs new file mode 100644 index 000000000..944818388 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/EnumConversion.cs @@ -0,0 +1,489 @@ +using Ryujinx.Common.Logging; +using Ryujinx.Graphics.GAL; +using Ryujinx.Graphics.Shader; +using Silk.NET.Vulkan; + +namespace Ryujinx.Graphics.Vulkan +{ + static class EnumConversion + { + public static ShaderStageFlags Convert(this ShaderStage stage) + { + switch (stage) + { + case ShaderStage.Vertex: + return ShaderStageFlags.ShaderStageVertexBit; + case ShaderStage.Geometry: + return ShaderStageFlags.ShaderStageGeometryBit; + case ShaderStage.TessellationControl: + return ShaderStageFlags.ShaderStageTessellationControlBit; + case ShaderStage.TessellationEvaluation: + return ShaderStageFlags.ShaderStageTessellationEvaluationBit; + case ShaderStage.Fragment: + return ShaderStageFlags.ShaderStageFragmentBit; + case ShaderStage.Compute: + return ShaderStageFlags.ShaderStageComputeBit; + }; + + Logger.Debug?.Print(LogClass.Gpu, $"Invalid {nameof(ShaderStage)} enum value: {stage}."); + + return 0; + } + + public static SamplerAddressMode Convert(this AddressMode mode) + { + switch (mode) + { + case AddressMode.Clamp: + return SamplerAddressMode.ClampToBorder; // TODO: Should be clamp + case AddressMode.Repeat: + return SamplerAddressMode.Repeat; + case AddressMode.MirrorClamp: + return SamplerAddressMode.ClampToBorder; // TODO: Should be mirror clamp + case AddressMode.MirrorClampToEdge: + return SamplerAddressMode.MirrorClampToEdgeKhr; + case AddressMode.MirrorClampToBorder: + return SamplerAddressMode.ClampToBorder; // TODO: Should be mirror clamp to border + case AddressMode.ClampToBorder: + return SamplerAddressMode.ClampToBorder; + case AddressMode.MirroredRepeat: + return SamplerAddressMode.MirroredRepeat; + case AddressMode.ClampToEdge: + return SamplerAddressMode.ClampToEdge; + } + + Logger.Debug?.Print(LogClass.Gpu, $"Invalid {nameof(AddressMode)} enum value: {mode}."); + + return SamplerAddressMode.ClampToBorder; // TODO: Should be clamp + } + + public static Silk.NET.Vulkan.BlendFactor Convert(this GAL.BlendFactor factor) + { + switch (factor) + { + case GAL.BlendFactor.Zero: + case GAL.BlendFactor.ZeroGl: + return Silk.NET.Vulkan.BlendFactor.Zero; + case GAL.BlendFactor.One: + case GAL.BlendFactor.OneGl: + return Silk.NET.Vulkan.BlendFactor.One; + case GAL.BlendFactor.SrcColor: + case GAL.BlendFactor.SrcColorGl: + return Silk.NET.Vulkan.BlendFactor.SrcColor; + case GAL.BlendFactor.OneMinusSrcColor: + case GAL.BlendFactor.OneMinusSrcColorGl: + return Silk.NET.Vulkan.BlendFactor.OneMinusSrcColor; + case GAL.BlendFactor.SrcAlpha: + case GAL.BlendFactor.SrcAlphaGl: + return Silk.NET.Vulkan.BlendFactor.SrcAlpha; + case GAL.BlendFactor.OneMinusSrcAlpha: + case GAL.BlendFactor.OneMinusSrcAlphaGl: + return Silk.NET.Vulkan.BlendFactor.OneMinusSrcAlpha; + case GAL.BlendFactor.DstAlpha: + case GAL.BlendFactor.DstAlphaGl: + return Silk.NET.Vulkan.BlendFactor.DstAlpha; + case GAL.BlendFactor.OneMinusDstAlpha: + case GAL.BlendFactor.OneMinusDstAlphaGl: + return Silk.NET.Vulkan.BlendFactor.OneMinusDstAlpha; + case GAL.BlendFactor.DstColor: + case GAL.BlendFactor.DstColorGl: + return Silk.NET.Vulkan.BlendFactor.DstColor; + case GAL.BlendFactor.OneMinusDstColor: + case GAL.BlendFactor.OneMinusDstColorGl: + return Silk.NET.Vulkan.BlendFactor.OneMinusDstColor; + case GAL.BlendFactor.SrcAlphaSaturate: + case GAL.BlendFactor.SrcAlphaSaturateGl: + return Silk.NET.Vulkan.BlendFactor.SrcAlphaSaturate; + case GAL.BlendFactor.Src1Color: + case GAL.BlendFactor.Src1ColorGl: + return Silk.NET.Vulkan.BlendFactor.Src1Color; + case GAL.BlendFactor.OneMinusSrc1Color: + case GAL.BlendFactor.OneMinusSrc1ColorGl: + return Silk.NET.Vulkan.BlendFactor.OneMinusSrc1Color; + case GAL.BlendFactor.Src1Alpha: + case GAL.BlendFactor.Src1AlphaGl: + return Silk.NET.Vulkan.BlendFactor.Src1Alpha; + case GAL.BlendFactor.OneMinusSrc1Alpha: + case GAL.BlendFactor.OneMinusSrc1AlphaGl: + return Silk.NET.Vulkan.BlendFactor.OneMinusSrc1Alpha; + case GAL.BlendFactor.ConstantColor: + return Silk.NET.Vulkan.BlendFactor.ConstantColor; + case GAL.BlendFactor.OneMinusConstantColor: + return Silk.NET.Vulkan.BlendFactor.OneMinusConstantColor; + case GAL.BlendFactor.ConstantAlpha: + return Silk.NET.Vulkan.BlendFactor.ConstantAlpha; + case GAL.BlendFactor.OneMinusConstantAlpha: + return Silk.NET.Vulkan.BlendFactor.OneMinusConstantAlpha; + } + + Logger.Debug?.Print(LogClass.Gpu, $"Invalid {nameof(GAL.BlendFactor)} enum value: {factor}."); + + return Silk.NET.Vulkan.BlendFactor.Zero; + } + + public static Silk.NET.Vulkan.BlendOp Convert(this GAL.BlendOp op) + { + switch (op) + { + case GAL.BlendOp.Add: + case GAL.BlendOp.AddGl: + return Silk.NET.Vulkan.BlendOp.Add; + case GAL.BlendOp.Subtract: + case GAL.BlendOp.SubtractGl: + return Silk.NET.Vulkan.BlendOp.Subtract; + case GAL.BlendOp.ReverseSubtract: + case GAL.BlendOp.ReverseSubtractGl: + return Silk.NET.Vulkan.BlendOp.ReverseSubtract; + case GAL.BlendOp.Minimum: + case GAL.BlendOp.MinimumGl: + return Silk.NET.Vulkan.BlendOp.Min; + case GAL.BlendOp.Maximum: + case GAL.BlendOp.MaximumGl: + return Silk.NET.Vulkan.BlendOp.Max; + } + + Logger.Debug?.Print(LogClass.Gpu, $"Invalid {nameof(GAL.BlendOp)} enum value: {op}."); + + return Silk.NET.Vulkan.BlendOp.Add; + } + + public static Silk.NET.Vulkan.CompareOp Convert(this GAL.CompareOp op) + { + switch (op) + { + case GAL.CompareOp.Never: + case GAL.CompareOp.NeverGl: + return Silk.NET.Vulkan.CompareOp.Never; + case GAL.CompareOp.Less: + case GAL.CompareOp.LessGl: + return Silk.NET.Vulkan.CompareOp.Less; + case GAL.CompareOp.Equal: + case GAL.CompareOp.EqualGl: + return Silk.NET.Vulkan.CompareOp.Equal; + case GAL.CompareOp.LessOrEqual: + case GAL.CompareOp.LessOrEqualGl: + return Silk.NET.Vulkan.CompareOp.LessOrEqual; + case GAL.CompareOp.Greater: + case GAL.CompareOp.GreaterGl: + return Silk.NET.Vulkan.CompareOp.Greater; + case GAL.CompareOp.NotEqual: + case GAL.CompareOp.NotEqualGl: + return Silk.NET.Vulkan.CompareOp.NotEqual; + case GAL.CompareOp.GreaterOrEqual: + case GAL.CompareOp.GreaterOrEqualGl: + return Silk.NET.Vulkan.CompareOp.GreaterOrEqual; + case GAL.CompareOp.Always: + case GAL.CompareOp.AlwaysGl: + return Silk.NET.Vulkan.CompareOp.Always; + } + + Logger.Debug?.Print(LogClass.Gpu, $"Invalid {nameof(GAL.CompareOp)} enum value: {op}."); + + return Silk.NET.Vulkan.CompareOp.Never; + } + + public static CullModeFlags Convert(this Face face) + { + switch (face) + { + case Face.Back: + return CullModeFlags.CullModeBackBit; + case Face.Front: + return CullModeFlags.CullModeFrontBit; + case Face.FrontAndBack: + return CullModeFlags.CullModeFrontAndBack; + } + + Logger.Debug?.Print(LogClass.Gpu, $"Invalid {nameof(Face)} enum value: {face}."); + + return CullModeFlags.CullModeBackBit; + } + + public static Silk.NET.Vulkan.FrontFace Convert(this GAL.FrontFace frontFace) + { + // Flipped to account for origin differences. + switch (frontFace) + { + case GAL.FrontFace.Clockwise: + return Silk.NET.Vulkan.FrontFace.CounterClockwise; + case GAL.FrontFace.CounterClockwise: + return Silk.NET.Vulkan.FrontFace.Clockwise; + } + + Logger.Debug?.Print(LogClass.Gpu, $"Invalid {nameof(GAL.FrontFace)} enum value: {frontFace}."); + + return Silk.NET.Vulkan.FrontFace.Clockwise; + } + + public static Silk.NET.Vulkan.IndexType Convert(this GAL.IndexType type) + { + switch (type) + { + case GAL.IndexType.UByte: + return Silk.NET.Vulkan.IndexType.Uint8Ext; + case GAL.IndexType.UShort: + return Silk.NET.Vulkan.IndexType.Uint16; + case GAL.IndexType.UInt: + return Silk.NET.Vulkan.IndexType.Uint32; + } + + Logger.Debug?.Print(LogClass.Gpu, $"Invalid {nameof(GAL.IndexType)} enum value: {type}."); + + return Silk.NET.Vulkan.IndexType.Uint16; + } + + public static Filter Convert(this MagFilter filter) + { + switch (filter) + { + case MagFilter.Nearest: + return Filter.Nearest; + case MagFilter.Linear: + return Filter.Linear; + } + + Logger.Debug?.Print(LogClass.Gpu, $"Invalid {nameof(MagFilter)} enum value: {filter}."); + + return Filter.Nearest; + } + + public static (Filter, SamplerMipmapMode) Convert(this MinFilter filter) + { + switch (filter) + { + case MinFilter.Nearest: + return (Filter.Nearest, SamplerMipmapMode.Nearest); + case MinFilter.Linear: + return (Filter.Linear, SamplerMipmapMode.Nearest); + case MinFilter.NearestMipmapNearest: + return (Filter.Nearest, SamplerMipmapMode.Nearest); + case MinFilter.LinearMipmapNearest: + return (Filter.Linear, SamplerMipmapMode.Nearest); + case MinFilter.NearestMipmapLinear: + return (Filter.Nearest, SamplerMipmapMode.Linear); + case MinFilter.LinearMipmapLinear: + return (Filter.Linear, SamplerMipmapMode.Linear); + } + + Logger.Debug?.Print(LogClass.Gpu, $"Invalid {nameof(MinFilter)} enum value: {filter}."); + + return (Filter.Nearest, SamplerMipmapMode.Nearest); + } + + public static Silk.NET.Vulkan.PrimitiveTopology Convert(this GAL.PrimitiveTopology topology) + { + switch (topology) + { + case GAL.PrimitiveTopology.Points: + return Silk.NET.Vulkan.PrimitiveTopology.PointList; + case GAL.PrimitiveTopology.Lines: + return Silk.NET.Vulkan.PrimitiveTopology.LineList; + case GAL.PrimitiveTopology.LineStrip: + return Silk.NET.Vulkan.PrimitiveTopology.LineStrip; + case GAL.PrimitiveTopology.Triangles: + return Silk.NET.Vulkan.PrimitiveTopology.TriangleList; + case GAL.PrimitiveTopology.TriangleStrip: + return Silk.NET.Vulkan.PrimitiveTopology.TriangleStrip; + case GAL.PrimitiveTopology.TriangleFan: + return Silk.NET.Vulkan.PrimitiveTopology.TriangleFan; + case GAL.PrimitiveTopology.LinesAdjacency: + return Silk.NET.Vulkan.PrimitiveTopology.LineListWithAdjacency; + case GAL.PrimitiveTopology.LineStripAdjacency: + return Silk.NET.Vulkan.PrimitiveTopology.LineStripWithAdjacency; + case GAL.PrimitiveTopology.TrianglesAdjacency: + return Silk.NET.Vulkan.PrimitiveTopology.TriangleListWithAdjacency; + case GAL.PrimitiveTopology.TriangleStripAdjacency: + return Silk.NET.Vulkan.PrimitiveTopology.TriangleStripWithAdjacency; + case GAL.PrimitiveTopology.Patches: + return Silk.NET.Vulkan.PrimitiveTopology.PatchList; + case GAL.PrimitiveTopology.Quads: // Emulated with triangle fans. + return Silk.NET.Vulkan.PrimitiveTopology.TriangleFan; + case GAL.PrimitiveTopology.QuadStrip: // Emulated with triangle strips. + return Silk.NET.Vulkan.PrimitiveTopology.TriangleStrip; + } + + Logger.Debug?.Print(LogClass.Gpu, $"Invalid {nameof(GAL.PrimitiveTopology)} enum value: {topology}."); + + return Silk.NET.Vulkan.PrimitiveTopology.TriangleList; + } + + public static Silk.NET.Vulkan.StencilOp Convert(this GAL.StencilOp op) + { + switch (op) + { + case GAL.StencilOp.Keep: + return Silk.NET.Vulkan.StencilOp.Keep; + case GAL.StencilOp.Zero: + return Silk.NET.Vulkan.StencilOp.Zero; + case GAL.StencilOp.Replace: + return Silk.NET.Vulkan.StencilOp.Replace; + case GAL.StencilOp.IncrementAndClamp: + return Silk.NET.Vulkan.StencilOp.IncrementAndClamp; + case GAL.StencilOp.DecrementAndClamp: + return Silk.NET.Vulkan.StencilOp.DecrementAndClamp; + case GAL.StencilOp.Invert: + return Silk.NET.Vulkan.StencilOp.Invert; + case GAL.StencilOp.IncrementAndWrap: + return Silk.NET.Vulkan.StencilOp.IncrementAndWrap; + case GAL.StencilOp.DecrementAndWrap: + return Silk.NET.Vulkan.StencilOp.DecrementAndWrap; + } + + Logger.Debug?.Print(LogClass.Gpu, $"Invalid {nameof(GAL.StencilOp)} enum value: {op}."); + + return Silk.NET.Vulkan.StencilOp.Keep; + } + + public static ComponentSwizzle Convert(this SwizzleComponent swizzleComponent) + { + switch (swizzleComponent) + { + case SwizzleComponent.Zero: + return ComponentSwizzle.Zero; + case SwizzleComponent.One: + return ComponentSwizzle.One; + case SwizzleComponent.Red: + return ComponentSwizzle.R; + case SwizzleComponent.Green: + return ComponentSwizzle.G; + case SwizzleComponent.Blue: + return ComponentSwizzle.B; + case SwizzleComponent.Alpha: + return ComponentSwizzle.A; + } + + Logger.Debug?.Print(LogClass.Gpu, $"Invalid {nameof(SwizzleComponent)} enum value: {swizzleComponent}."); + + return ComponentSwizzle.Zero; + } + + public static ImageType Convert(this Target target) + { + switch (target) + { + case Target.Texture1D: + case Target.Texture1DArray: + case Target.TextureBuffer: + return ImageType.ImageType1D; + case Target.Texture2D: + case Target.Texture2DArray: + case Target.Texture2DMultisample: + case Target.Cubemap: + case Target.CubemapArray: + return ImageType.ImageType2D; + case Target.Texture3D: + return ImageType.ImageType3D; + } + + Logger.Debug?.Print(LogClass.Gpu, $"Invalid {nameof(Target)} enum value: {target}."); + + return ImageType.ImageType2D; + } + + public static ImageViewType ConvertView(this Target target) + { + switch (target) + { + case Target.Texture1D: + return ImageViewType.ImageViewType1D; + case Target.Texture2D: + case Target.Texture2DMultisample: + return ImageViewType.ImageViewType2D; + case Target.Texture3D: + return ImageViewType.ImageViewType3D; + case Target.Texture1DArray: + return ImageViewType.ImageViewType1DArray; + case Target.Texture2DArray: + return ImageViewType.ImageViewType2DArray; + case Target.Cubemap: + return ImageViewType.Cube; + case Target.CubemapArray: + return ImageViewType.CubeArray; + } + + Logger.Debug?.Print(LogClass.Gpu, $"Invalid {nameof(Target)} enum value: {target}."); + + return ImageViewType.ImageViewType2D; + } + + public static ImageAspectFlags ConvertAspectFlags(this GAL.Format format) + { + switch (format) + { + case GAL.Format.D16Unorm: + case GAL.Format.D32Float: + return ImageAspectFlags.ImageAspectDepthBit; + case GAL.Format.S8Uint: + + return ImageAspectFlags.ImageAspectStencilBit; + case GAL.Format.D24UnormS8Uint: + case GAL.Format.D32FloatS8Uint: + case GAL.Format.S8UintD24Unorm: + return ImageAspectFlags.ImageAspectDepthBit | ImageAspectFlags.ImageAspectStencilBit; + default: + return ImageAspectFlags.ImageAspectColorBit; + } + } + + public static ImageAspectFlags ConvertAspectFlags(this GAL.Format format, DepthStencilMode depthStencilMode) + { + switch (format) + { + case GAL.Format.D16Unorm: + case GAL.Format.D32Float: + return ImageAspectFlags.ImageAspectDepthBit; + case GAL.Format.S8Uint: + return ImageAspectFlags.ImageAspectStencilBit; + case GAL.Format.D24UnormS8Uint: + case GAL.Format.D32FloatS8Uint: + case GAL.Format.S8UintD24Unorm: + return depthStencilMode == DepthStencilMode.Stencil ? ImageAspectFlags.ImageAspectStencilBit : ImageAspectFlags.ImageAspectDepthBit; + default: + return ImageAspectFlags.ImageAspectColorBit; + } + } + + public static LogicOp Convert(this LogicalOp op) + { + switch (op) + { + case LogicalOp.Clear: + return LogicOp.Clear; + case LogicalOp.And: + return LogicOp.And; + case LogicalOp.AndReverse: + return LogicOp.AndReverse; + case LogicalOp.Copy: + return LogicOp.Copy; + case LogicalOp.AndInverted: + return LogicOp.AndInverted; + case LogicalOp.Noop: + return LogicOp.NoOp; + case LogicalOp.Xor: + return LogicOp.Xor; + case LogicalOp.Or: + return LogicOp.Or; + case LogicalOp.Nor: + return LogicOp.Nor; + case LogicalOp.Equiv: + return LogicOp.Equivalent; + case LogicalOp.Invert: + return LogicOp.Invert; + case LogicalOp.OrReverse: + return LogicOp.OrReverse; + case LogicalOp.CopyInverted: + return LogicOp.CopyInverted; + case LogicalOp.OrInverted: + return LogicOp.OrInverted; + case LogicalOp.Nand: + return LogicOp.Nand; + case LogicalOp.Set: + return LogicOp.Set; + } + + Logger.Debug?.Print(LogClass.Gpu, $"Invalid {nameof(LogicalOp)} enum value: {op}."); + + return LogicOp.Copy; + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/FenceHelper.cs b/Ryujinx.Graphics.Vulkan/FenceHelper.cs new file mode 100644 index 000000000..d6731c0eb --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/FenceHelper.cs @@ -0,0 +1,30 @@ +using Silk.NET.Vulkan; +using System; + +namespace Ryujinx.Graphics.Vulkan +{ + static class FenceHelper + { + private const ulong DefaultTimeout = 100000000; // 100ms + + public static bool AnySignaled(Vk api, Device device, ReadOnlySpan fences, ulong timeout = 0) + { + return api.WaitForFences(device, (uint)fences.Length, fences, false, timeout) == Result.Success; + } + + public static bool AllSignaled(Vk api, Device device, ReadOnlySpan fences, ulong timeout = 0) + { + return api.WaitForFences(device, (uint)fences.Length, fences, true, timeout) == Result.Success; + } + + public static void WaitAllIndefinitely(Vk api, Device device, ReadOnlySpan fences) + { + Result result; + while ((result = api.WaitForFences(device, (uint)fences.Length, fences, true, DefaultTimeout)) == Result.Timeout) + { + // Keep waiting while the fence is not signaled. + } + result.ThrowOnError(); + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/FenceHolder.cs b/Ryujinx.Graphics.Vulkan/FenceHolder.cs new file mode 100644 index 000000000..ba5b18829 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/FenceHolder.cs @@ -0,0 +1,73 @@ +using Silk.NET.Vulkan; +using System; +using System.Threading; + +namespace Ryujinx.Graphics.Vulkan +{ + class FenceHolder : IDisposable + { + private readonly Vk _api; + private readonly Device _device; + private Fence _fence; + private int _referenceCount; + public bool _disposed; + + public unsafe FenceHolder(Vk api, Device device) + { + _api = api; + _device = device; + + var fenceCreateInfo = new FenceCreateInfo() + { + SType = StructureType.FenceCreateInfo + }; + + api.CreateFence(device, in fenceCreateInfo, null, out _fence).ThrowOnError(); + + _referenceCount = 1; + } + + public Fence GetUnsafe() + { + return _fence; + } + + public Fence Get() + { + Interlocked.Increment(ref _referenceCount); + return _fence; + } + + public unsafe void Put() + { + if (Interlocked.Decrement(ref _referenceCount) == 0) + { + _api.DestroyFence(_device, _fence, null); + _fence = default; + } + } + + public void Wait() + { + Span fences = stackalloc Fence[1]; + fences[0] = _fence; + FenceHelper.WaitAllIndefinitely(_api, _device, fences); + } + + public bool IsSignaled() + { + Span fences = stackalloc Fence[1]; + fences[0] = _fence; + return FenceHelper.AllSignaled(_api, _device, fences); + } + + public void Dispose() + { + if (!_disposed) + { + Put(); + _disposed = true; + } + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/FormatCapabilities.cs b/Ryujinx.Graphics.Vulkan/FormatCapabilities.cs new file mode 100644 index 000000000..456eb4ebe --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/FormatCapabilities.cs @@ -0,0 +1,75 @@ +using Ryujinx.Common.Logging; +using Ryujinx.Graphics.GAL; +using Silk.NET.Vulkan; +using System; +using VkFormat = Silk.NET.Vulkan.Format; + +namespace Ryujinx.Graphics.Vulkan +{ + class FormatCapabilities + { + private readonly FormatFeatureFlags[] _table; + + private readonly Vk _api; + private readonly PhysicalDevice _physicalDevice; + + public FormatCapabilities(Vk api, PhysicalDevice physicalDevice) + { + _api = api; + _physicalDevice = physicalDevice; + _table = new FormatFeatureFlags[Enum.GetNames(typeof(GAL.Format)).Length]; + } + + public bool FormatSupports(GAL.Format format, FormatFeatureFlags flags) + { + var formatFeatureFlags = _table[(int)format]; + + if (formatFeatureFlags == 0) + { + _api.GetPhysicalDeviceFormatProperties(_physicalDevice, FormatTable.GetFormat(format), out var fp); + formatFeatureFlags = fp.OptimalTilingFeatures; + _table[(int)format] = formatFeatureFlags; + } + + return (formatFeatureFlags & flags) == flags; + } + + public VkFormat ConvertToVkFormat(GAL.Format srcFormat) + { + var format = FormatTable.GetFormat(srcFormat); + + var requiredFeatures = FormatFeatureFlags.FormatFeatureSampledImageBit | + FormatFeatureFlags.FormatFeatureTransferSrcBit | + FormatFeatureFlags.FormatFeatureTransferDstBit; + + if (srcFormat.IsDepthOrStencil()) + { + requiredFeatures |= FormatFeatureFlags.FormatFeatureDepthStencilAttachmentBit; + } + else if (srcFormat.IsRtColorCompatible()) + { + requiredFeatures |= FormatFeatureFlags.FormatFeatureColorAttachmentBit; + } + + if (srcFormat.IsImageCompatible()) + { + requiredFeatures |= FormatFeatureFlags.FormatFeatureStorageImageBit; + } + + if (!FormatSupports(srcFormat, requiredFeatures)) + { + // The format is not supported. Can we convert it to a higher precision format? + if (srcFormat == GAL.Format.D24UnormS8Uint) + { + format = VkFormat.D32SfloatS8Uint; + } + else + { + Logger.Error?.Print(LogClass.Gpu, $"Format {srcFormat} is not supported by the host."); + } + } + + return format; + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/FormatConverter.cs b/Ryujinx.Graphics.Vulkan/FormatConverter.cs new file mode 100644 index 000000000..e42bd778a --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/FormatConverter.cs @@ -0,0 +1,49 @@ +using System; +using System.Runtime.InteropServices; + +namespace Ryujinx.Graphics.Vulkan +{ + class FormatConverter + { + public unsafe static void ConvertD24S8ToD32FS8(Span output, ReadOnlySpan input) + { + const float UnormToFloat = 1f / 0xffffff; + + Span outputUint = MemoryMarshal.Cast(output); + ReadOnlySpan inputUint = MemoryMarshal.Cast(input); + + int i = 0; + + for (; i < inputUint.Length; i++) + { + uint depthStencil = inputUint[i]; + uint depth = depthStencil >> 8; + uint stencil = depthStencil & 0xff; + + int j = i * 2; + + outputUint[j] = (uint)BitConverter.SingleToInt32Bits(depth * UnormToFloat); + outputUint[j + 1] = stencil; + } + } + + public unsafe static void ConvertD32FS8ToD24S8(Span output, ReadOnlySpan input) + { + Span outputUint = MemoryMarshal.Cast(output); + ReadOnlySpan inputUint = MemoryMarshal.Cast(input); + + int i = 0; + + for (; i < inputUint.Length; i += 2) + { + float depth = BitConverter.Int32BitsToSingle((int)inputUint[i]); + uint stencil = inputUint[i + 1]; + uint depthStencil = (Math.Clamp((uint)(depth * 0xffffff), 0, 0xffffff) << 8) | (stencil & 0xff); + + int j = i >> 1; + + outputUint[j] = depthStencil; + } + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/FormatTable.cs b/Ryujinx.Graphics.Vulkan/FormatTable.cs new file mode 100644 index 000000000..6f1e0b54a --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/FormatTable.cs @@ -0,0 +1,181 @@ +using Ryujinx.Graphics.GAL; +using System; +using VkFormat = Silk.NET.Vulkan.Format; + +namespace Ryujinx.Graphics.Vulkan +{ + static class FormatTable + { + private static readonly VkFormat[] Table; + + static FormatTable() + { + Table = new VkFormat[Enum.GetNames(typeof(Format)).Length]; + + Add(Format.R8Unorm, VkFormat.R8Unorm); + Add(Format.R8Snorm, VkFormat.R8SNorm); + Add(Format.R8Uint, VkFormat.R8Uint); + Add(Format.R8Sint, VkFormat.R8Sint); + Add(Format.R16Float, VkFormat.R16Sfloat); + Add(Format.R16Unorm, VkFormat.R16Unorm); + Add(Format.R16Snorm, VkFormat.R16SNorm); + Add(Format.R16Uint, VkFormat.R16Uint); + Add(Format.R16Sint, VkFormat.R16Sint); + Add(Format.R32Float, VkFormat.R32Sfloat); + Add(Format.R32Uint, VkFormat.R32Uint); + Add(Format.R32Sint, VkFormat.R32Sint); + Add(Format.R8G8Unorm, VkFormat.R8G8Unorm); + Add(Format.R8G8Snorm, VkFormat.R8G8SNorm); + Add(Format.R8G8Uint, VkFormat.R8G8Uint); + Add(Format.R8G8Sint, VkFormat.R8G8Sint); + Add(Format.R16G16Float, VkFormat.R16G16Sfloat); + Add(Format.R16G16Unorm, VkFormat.R16G16Unorm); + Add(Format.R16G16Snorm, VkFormat.R16G16SNorm); + Add(Format.R16G16Uint, VkFormat.R16G16Uint); + Add(Format.R16G16Sint, VkFormat.R16G16Sint); + Add(Format.R32G32Float, VkFormat.R32G32Sfloat); + Add(Format.R32G32Uint, VkFormat.R32G32Uint); + Add(Format.R32G32Sint, VkFormat.R32G32Sint); + Add(Format.R8G8B8Unorm, VkFormat.R8G8B8Unorm); + Add(Format.R8G8B8Snorm, VkFormat.R8G8B8SNorm); + Add(Format.R8G8B8Uint, VkFormat.R8G8B8Uint); + Add(Format.R8G8B8Sint, VkFormat.R8G8B8Sint); + Add(Format.R16G16B16Float, VkFormat.R16G16B16Sfloat); + Add(Format.R16G16B16Unorm, VkFormat.R16G16B16Unorm); + Add(Format.R16G16B16Snorm, VkFormat.R16G16B16SNorm); + Add(Format.R16G16B16Uint, VkFormat.R16G16B16Uint); + Add(Format.R16G16B16Sint, VkFormat.R16G16B16Sint); + Add(Format.R32G32B32Float, VkFormat.R32G32B32Sfloat); + Add(Format.R32G32B32Uint, VkFormat.R32G32B32Uint); + Add(Format.R32G32B32Sint, VkFormat.R32G32B32Sint); + Add(Format.R8G8B8A8Unorm, VkFormat.R8G8B8A8Unorm); + Add(Format.R8G8B8A8Snorm, VkFormat.R8G8B8A8SNorm); + Add(Format.R8G8B8A8Uint, VkFormat.R8G8B8A8Uint); + Add(Format.R8G8B8A8Sint, VkFormat.R8G8B8A8Sint); + Add(Format.R16G16B16A16Float, VkFormat.R16G16B16A16Sfloat); + Add(Format.R16G16B16A16Unorm, VkFormat.R16G16B16A16Unorm); + Add(Format.R16G16B16A16Snorm, VkFormat.R16G16B16A16SNorm); + Add(Format.R16G16B16A16Uint, VkFormat.R16G16B16A16Uint); + Add(Format.R16G16B16A16Sint, VkFormat.R16G16B16A16Sint); + Add(Format.R32G32B32A32Float, VkFormat.R32G32B32A32Sfloat); + Add(Format.R32G32B32A32Uint, VkFormat.R32G32B32A32Uint); + Add(Format.R32G32B32A32Sint, VkFormat.R32G32B32A32Sint); + Add(Format.S8Uint, VkFormat.S8Uint); + Add(Format.D16Unorm, VkFormat.D16Unorm); + Add(Format.S8UintD24Unorm, VkFormat.D24UnormS8Uint); + Add(Format.D32Float, VkFormat.D32Sfloat); + Add(Format.D24UnormS8Uint, VkFormat.D24UnormS8Uint); + Add(Format.D32FloatS8Uint, VkFormat.D32SfloatS8Uint); + Add(Format.R8G8B8X8Srgb, VkFormat.R8G8B8Srgb); + Add(Format.R8G8B8A8Srgb, VkFormat.R8G8B8A8Srgb); + Add(Format.R4G4B4A4Unorm, VkFormat.R4G4B4A4UnormPack16); + Add(Format.R5G5B5X1Unorm, VkFormat.A1R5G5B5UnormPack16); + Add(Format.R5G5B5A1Unorm, VkFormat.A1R5G5B5UnormPack16); + Add(Format.R5G6B5Unorm, VkFormat.R5G6B5UnormPack16); + Add(Format.R10G10B10A2Unorm, VkFormat.A2B10G10R10UnormPack32); + Add(Format.R10G10B10A2Uint, VkFormat.A2B10G10R10UintPack32); + Add(Format.R11G11B10Float, VkFormat.B10G11R11UfloatPack32); + Add(Format.R9G9B9E5Float, VkFormat.E5B9G9R9UfloatPack32); + Add(Format.Bc1RgbaUnorm, VkFormat.BC1RgbaUnormBlock); + Add(Format.Bc2Unorm, VkFormat.BC2UnormBlock); + Add(Format.Bc3Unorm, VkFormat.BC3UnormBlock); + Add(Format.Bc1RgbaSrgb, VkFormat.BC1RgbaSrgbBlock); + Add(Format.Bc2Srgb, VkFormat.BC2SrgbBlock); + Add(Format.Bc3Srgb, VkFormat.BC3SrgbBlock); + Add(Format.Bc4Unorm, VkFormat.BC4UnormBlock); + Add(Format.Bc4Snorm, VkFormat.BC4SNormBlock); + Add(Format.Bc5Unorm, VkFormat.BC5UnormBlock); + Add(Format.Bc5Snorm, VkFormat.BC5SNormBlock); + Add(Format.Bc7Unorm, VkFormat.BC7UnormBlock); + Add(Format.Bc7Srgb, VkFormat.BC7SrgbBlock); + Add(Format.Bc6HSfloat, VkFormat.BC6HSfloatBlock); + Add(Format.Bc6HUfloat, VkFormat.BC6HUfloatBlock); + Add(Format.R8Uscaled, VkFormat.R8Uscaled); + Add(Format.R8Sscaled, VkFormat.R8Sscaled); + Add(Format.R16Uscaled, VkFormat.R16Uscaled); + Add(Format.R16Sscaled, VkFormat.R16Sscaled); + // Add(Format.R32Uscaled, VkFormat.R32Uscaled); + // Add(Format.R32Sscaled, VkFormat.R32Sscaled); + Add(Format.R8G8Uscaled, VkFormat.R8G8Uscaled); + Add(Format.R8G8Sscaled, VkFormat.R8G8Sscaled); + Add(Format.R16G16Uscaled, VkFormat.R16G16Uscaled); + Add(Format.R16G16Sscaled, VkFormat.R16G16Sscaled); + // Add(Format.R32G32Uscaled, VkFormat.R32G32Uscaled); + // Add(Format.R32G32Sscaled, VkFormat.R32G32Sscaled); + Add(Format.R8G8B8Uscaled, VkFormat.R8G8B8Uscaled); + Add(Format.R8G8B8Sscaled, VkFormat.R8G8B8Sscaled); + Add(Format.R16G16B16Uscaled, VkFormat.R16G16B16Uscaled); + Add(Format.R16G16B16Sscaled, VkFormat.R16G16B16Sscaled); + // Add(Format.R32G32B32Uscaled, VkFormat.R32G32B32Uscaled); + // Add(Format.R32G32B32Sscaled, VkFormat.R32G32B32Sscaled); + Add(Format.R8G8B8A8Uscaled, VkFormat.R8G8B8A8Uscaled); + Add(Format.R8G8B8A8Sscaled, VkFormat.R8G8B8A8Sscaled); + Add(Format.R16G16B16A16Uscaled, VkFormat.R16G16B16A16Uscaled); + Add(Format.R16G16B16A16Sscaled, VkFormat.R16G16B16A16Sscaled); + // Add(Format.R32G32B32A32Uscaled, VkFormat.R32G32B32A32Uscaled); + // Add(Format.R32G32B32A32Sscaled, VkFormat.R32G32B32A32Sscaled); + Add(Format.R10G10B10A2Snorm, VkFormat.A2B10G10R10SNormPack32); + Add(Format.R10G10B10A2Sint, VkFormat.A2B10G10R10SintPack32); + Add(Format.R10G10B10A2Uscaled, VkFormat.A2B10G10R10UscaledPack32); + Add(Format.R10G10B10A2Sscaled, VkFormat.A2B10G10R10SscaledPack32); + Add(Format.R8G8B8X8Unorm, VkFormat.R8G8B8Unorm); + Add(Format.R8G8B8X8Snorm, VkFormat.R8G8B8SNorm); + Add(Format.R8G8B8X8Uint, VkFormat.R8G8B8Uint); + Add(Format.R8G8B8X8Sint, VkFormat.R8G8B8Sint); + Add(Format.R16G16B16X16Float, VkFormat.R16G16B16Sfloat); + Add(Format.R16G16B16X16Unorm, VkFormat.R16G16B16Unorm); + Add(Format.R16G16B16X16Snorm, VkFormat.R16G16B16SNorm); + Add(Format.R16G16B16X16Uint, VkFormat.R16G16B16Uint); + Add(Format.R16G16B16X16Sint, VkFormat.R16G16B16Sint); + Add(Format.R32G32B32X32Float, VkFormat.R32G32B32Sfloat); + Add(Format.R32G32B32X32Uint, VkFormat.R32G32B32Uint); + Add(Format.R32G32B32X32Sint, VkFormat.R32G32B32Sint); + Add(Format.Astc4x4Unorm, VkFormat.Astc4x4UnormBlock); + Add(Format.Astc5x4Unorm, VkFormat.Astc5x4UnormBlock); + Add(Format.Astc5x5Unorm, VkFormat.Astc5x5UnormBlock); + Add(Format.Astc6x5Unorm, VkFormat.Astc6x5UnormBlock); + Add(Format.Astc6x6Unorm, VkFormat.Astc6x6UnormBlock); + Add(Format.Astc8x5Unorm, VkFormat.Astc8x5UnormBlock); + Add(Format.Astc8x6Unorm, VkFormat.Astc8x6UnormBlock); + Add(Format.Astc8x8Unorm, VkFormat.Astc8x8UnormBlock); + Add(Format.Astc10x5Unorm, VkFormat.Astc10x5UnormBlock); + Add(Format.Astc10x6Unorm, VkFormat.Astc10x6UnormBlock); + Add(Format.Astc10x8Unorm, VkFormat.Astc10x8UnormBlock); + Add(Format.Astc10x10Unorm, VkFormat.Astc10x10UnormBlock); + Add(Format.Astc12x10Unorm, VkFormat.Astc12x10UnormBlock); + Add(Format.Astc12x12Unorm, VkFormat.Astc12x12UnormBlock); + Add(Format.Astc4x4Srgb, VkFormat.Astc4x4SrgbBlock); + Add(Format.Astc5x4Srgb, VkFormat.Astc5x4SrgbBlock); + Add(Format.Astc5x5Srgb, VkFormat.Astc5x5SrgbBlock); + Add(Format.Astc6x5Srgb, VkFormat.Astc6x5SrgbBlock); + Add(Format.Astc6x6Srgb, VkFormat.Astc6x6SrgbBlock); + Add(Format.Astc8x5Srgb, VkFormat.Astc8x5SrgbBlock); + Add(Format.Astc8x6Srgb, VkFormat.Astc8x6SrgbBlock); + Add(Format.Astc8x8Srgb, VkFormat.Astc8x8SrgbBlock); + Add(Format.Astc10x5Srgb, VkFormat.Astc10x5SrgbBlock); + Add(Format.Astc10x6Srgb, VkFormat.Astc10x6SrgbBlock); + Add(Format.Astc10x8Srgb, VkFormat.Astc10x8SrgbBlock); + Add(Format.Astc10x10Srgb, VkFormat.Astc10x10SrgbBlock); + Add(Format.Astc12x10Srgb, VkFormat.Astc12x10SrgbBlock); + Add(Format.Astc12x12Srgb, VkFormat.Astc12x12SrgbBlock); + Add(Format.B5G6R5Unorm, VkFormat.R5G6B5UnormPack16); + Add(Format.B5G5R5X1Unorm, VkFormat.A1R5G5B5UnormPack16); + Add(Format.B5G5R5A1Unorm, VkFormat.A1R5G5B5UnormPack16); + Add(Format.A1B5G5R5Unorm, VkFormat.R5G5B5A1UnormPack16); + Add(Format.B8G8R8X8Unorm, VkFormat.B8G8R8Unorm); + Add(Format.B8G8R8A8Unorm, VkFormat.B8G8R8A8Unorm); + Add(Format.B8G8R8X8Srgb, VkFormat.B8G8R8Srgb); + Add(Format.B8G8R8A8Srgb, VkFormat.B8G8R8A8Srgb); + } + + private static void Add(Format format, VkFormat vkFormat) + { + Table[(int)format] = vkFormat; + } + + public static VkFormat GetFormat(Format format) + { + return Table[(int)format]; + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/FramebufferParams.cs b/Ryujinx.Graphics.Vulkan/FramebufferParams.cs new file mode 100644 index 000000000..817c26bb4 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/FramebufferParams.cs @@ -0,0 +1,153 @@ +using Ryujinx.Graphics.GAL; +using Silk.NET.Vulkan; +using System; +using System.Linq; +using VkFormat = Silk.NET.Vulkan.Format; + +namespace Ryujinx.Graphics.Vulkan +{ + class FramebufferParams + { + private readonly Device _device; + private readonly Auto[] _attachments; + + public uint Width { get; } + public uint Height { get; } + public uint Layers { get; } + + public VkFormat[] AttachmentFormats { get; } + public int[] AttachmentIndices { get; } + + public int AttachmentsCount { get; } + public int MaxColorAttachmentIndex { get; } + public bool HasDepthStencil { get; } + public int ColorAttachmentsCount => AttachmentsCount - (HasDepthStencil ? 1 : 0); + + public FramebufferParams( + Device device, + Auto view, + uint width, + uint height, + bool isDepthStencil, + VkFormat format) + { + _device = device; + _attachments = new[] { view }; + + Width = width; + Height = height; + Layers = 1; + + AttachmentFormats = new[] { format }; + AttachmentIndices = new[] { 0 }; + + AttachmentsCount = 1; + + HasDepthStencil = isDepthStencil; + } + + public FramebufferParams(Device device, ITexture[] colors, ITexture depthStencil) + { + _device = device; + + int colorsCount = colors.Count(IsValidTextureView); + + int count = colorsCount + (IsValidTextureView(depthStencil) ? 1 : 0); + + _attachments = new Auto[count]; + + AttachmentFormats = new VkFormat[count]; + AttachmentIndices = new int[count]; + MaxColorAttachmentIndex = colors.Length - 1; + + uint width = uint.MaxValue; + uint height = uint.MaxValue; + uint layers = uint.MaxValue; + + int index = 0; + int bindIndex = 0; + + foreach (ITexture color in colors) + { + if (IsValidTextureView(color)) + { + var texture = (TextureView)color; + + _attachments[index] = texture.GetImageViewForAttachment(); + + AttachmentFormats[index] = texture.VkFormat; + AttachmentIndices[index] = bindIndex; + + width = Math.Min(width, (uint)texture.Width); + height = Math.Min(height, (uint)texture.Height); + layers = Math.Min(layers, (uint)texture.Layers); + + if (++index >= colorsCount) + { + break; + } + } + + bindIndex++; + } + + if (depthStencil is TextureView dsTexture && dsTexture.Valid) + { + _attachments[count - 1] = dsTexture.GetImageViewForAttachment(); + + AttachmentFormats[count - 1] = dsTexture.VkFormat; + + width = Math.Min(width, (uint)dsTexture.Width); + height = Math.Min(height, (uint)dsTexture.Height); + layers = Math.Min(layers, (uint)dsTexture.Layers); + + HasDepthStencil = true; + } + + if (count == 0) + { + width = height = layers = 1; + } + + Width = width; + Height = height; + Layers = layers; + + AttachmentsCount = count; + } + + private static bool IsValidTextureView(ITexture texture) + { + return texture is TextureView view && view.Valid; + } + + public ClearRect GetClearRect() + { + return new ClearRect(new Rect2D(null, new Extent2D(Width, Height)), 0, Layers); + } + + public unsafe Auto Create(Vk api, CommandBufferScoped cbs, Auto renderPass) + { + ImageView* attachments = stackalloc ImageView[_attachments.Length]; + + for (int i = 0; i < _attachments.Length; i++) + { + attachments[i] = _attachments[i].Get(cbs).Value; + } + + var framebufferCreateInfo = new FramebufferCreateInfo() + { + SType = StructureType.FramebufferCreateInfo, + RenderPass = renderPass.Get(cbs).Value, + AttachmentCount = (uint)_attachments.Length, + PAttachments = attachments, + Width = Width, + Height = Height, + Layers = Layers + }; + + api.CreateFramebuffer(_device, framebufferCreateInfo, null, out var framebuffer).ThrowOnError(); + return new Auto(new DisposableFramebuffer(api, _device, framebuffer), null, _attachments); + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/HardwareCapabilities.cs b/Ryujinx.Graphics.Vulkan/HardwareCapabilities.cs new file mode 100644 index 000000000..d387ee024 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/HardwareCapabilities.cs @@ -0,0 +1,16 @@ +namespace Ryujinx.Graphics.Vulkan +{ + struct HardwareCapabilities + { + public bool SupportsConditionalRendering { get; } + public bool SupportsExtendedDynamicState { get; } + + public HardwareCapabilities( + bool supportsConditionalRendering, + bool supportsExtendedDynamicState) + { + SupportsConditionalRendering = supportsConditionalRendering; + SupportsExtendedDynamicState = supportsExtendedDynamicState; + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/HashTableSlim.cs b/Ryujinx.Graphics.Vulkan/HashTableSlim.cs new file mode 100644 index 000000000..195b6848b --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/HashTableSlim.cs @@ -0,0 +1,117 @@ +using System; +using System.Collections.Generic; + +namespace Ryujinx.Graphics.Vulkan +{ + interface IRefEquatable + { + bool Equals(ref T other); + } + + class HashTableSlim where K : IRefEquatable + { + private const int TotalBuckets = 16; // Must be power of 2 + private const int TotalBucketsMask = TotalBuckets - 1; + + private struct Entry + { + public K Key; + public V Value; + } + + private readonly Entry[][] _hashTable = new Entry[TotalBuckets][]; + + public IEnumerable Keys + { + get + { + foreach (Entry[] bucket in _hashTable) + { + foreach (Entry entry in bucket) + { + yield return entry.Key; + } + } + } + } + + public IEnumerable Values + { + get + { + foreach (Entry[] bucket in _hashTable) + { + if (bucket != null) + { + foreach (Entry entry in bucket) + { + yield return entry.Value; + } + } + } + } + } + + public void Add(ref K key, V value) + { + var entry = new Entry() + { + Key = key, + Value = value + }; + + int hashCode = key.GetHashCode(); + int bucketIndex = hashCode & TotalBucketsMask; + + var bucket = _hashTable[bucketIndex]; + if (bucket != null) + { + int index = bucket.Length; + + Array.Resize(ref _hashTable[bucketIndex], index + 1); + + _hashTable[bucketIndex][index] = entry; + } + else + { + _hashTable[bucketIndex] = new Entry[] + { + entry + }; + } + } + + public bool TryGetValue(ref K key, out V value) + { + int hashCode = key.GetHashCode(); + + /* for (int i = 0; i < _hashTable.Length; i++) + { + var b = _hashTable[i]; + if (b != null) + { + System.Console.WriteLine(typeof(K).Name + " " + i + " " + b.Length); + } + } */ + + var bucket = _hashTable[hashCode & TotalBucketsMask]; + if (bucket != null) + { + + for (int i = 0; i < bucket.Length; i++) + { + ref var entry = ref bucket[i]; + + if (entry.Key.Equals(ref key)) + { + value = entry.Value; + return true; + } + } + } + + value = default; + return false; + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/HelperShader.cs b/Ryujinx.Graphics.Vulkan/HelperShader.cs new file mode 100644 index 000000000..922db9172 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/HelperShader.cs @@ -0,0 +1,261 @@ +using Ryujinx.Graphics.GAL; +using Ryujinx.Graphics.Shader; +using Silk.NET.Vulkan; +using System; +using VkFormat = Silk.NET.Vulkan.Format; + +namespace Ryujinx.Graphics.Vulkan +{ + class HelperShader : IDisposable + { + private const string VertexShaderSource = @"#version 450 core + +layout (std140, binding = 1) uniform tex_coord_in +{ + vec4 tex_coord_in_data; +}; + +layout (location = 0) out vec2 tex_coord; + +void main() +{ + int low = gl_VertexIndex & 1; + int high = gl_VertexIndex >> 1; + tex_coord.x = tex_coord_in_data[low]; + tex_coord.y = tex_coord_in_data[2 + high]; + gl_Position.x = (float(low) - 0.5f) * 2.0f; + gl_Position.y = (float(high) - 0.5f) * 2.0f; + gl_Position.z = 0.0f; + gl_Position.w = 1.0f; +}"; + + private const string ColorBlitFragmentShaderSource = @"#version 450 core + +layout (binding = 32, set = 2) uniform sampler2D tex; + +layout (location = 0) in vec2 tex_coord; +layout (location = 0) out vec4 colour; + +void main() +{ + colour = texture(tex, tex_coord); +}"; + + private const string ClearAlphaFragmentShaderSource = @"#version 450 core + +layout (binding = 32, set = 2) uniform sampler2D tex; + +layout (location = 0) in vec2 tex_coord; +layout (location = 0) out vec4 colour; + +void main() +{ + colour = vec4(texture(tex, tex_coord).rgb, 1.0f); +}"; + + private readonly PipelineBlit _pipeline; + private readonly ISampler _samplerLinear; + private readonly ISampler _samplerNearest; + private readonly IProgram _programColorBlit; + private readonly IProgram _programClearAlpha; + + public HelperShader(VulkanGraphicsDevice gd, Device device) + { + _pipeline = new PipelineBlit(gd, device); + + static GAL.SamplerCreateInfo GetSamplerCreateInfo(MinFilter minFilter, MagFilter magFilter) + { + return new GAL.SamplerCreateInfo( + minFilter, + magFilter, + false, + AddressMode.ClampToEdge, + AddressMode.ClampToEdge, + AddressMode.ClampToEdge, + CompareMode.None, + GAL.CompareOp.Always, + new ColorF(0f, 0f, 0f, 0f), + 0f, + 0f, + 0f, + 1f); + } + + _samplerLinear = gd.CreateSampler(GetSamplerCreateInfo(MinFilter.Linear, MagFilter.Linear)); + _samplerNearest = gd.CreateSampler(GetSamplerCreateInfo(MinFilter.Nearest, MagFilter.Nearest)); + + var vertexBindings = new ShaderBindings( + new[] { 1 }, + Array.Empty(), + Array.Empty(), + Array.Empty(), + Array.Empty(), + Array.Empty()); + + var fragmentBindings = new ShaderBindings( + Array.Empty(), + Array.Empty(), + new[] { 32 }, + Array.Empty(), + Array.Empty(), + Array.Empty()); + + var vertexShader = gd.CompileShader(ShaderStage.Vertex, vertexBindings, VertexShaderSource); + var fragmentShaderColorBlit = gd.CompileShader(ShaderStage.Fragment, fragmentBindings, ColorBlitFragmentShaderSource); + var fragmentShaderClearAlpha = gd.CompileShader(ShaderStage.Fragment, fragmentBindings, ClearAlphaFragmentShaderSource); + + _programColorBlit = gd.CreateProgram(new[] { vertexShader, fragmentShaderColorBlit }, new ShaderInfo(-1)); + _programClearAlpha = gd.CreateProgram(new[] { vertexShader, fragmentShaderClearAlpha }, new ShaderInfo(-1)); + } + + public void Blit( + VulkanGraphicsDevice gd, + TextureView src, + Auto dst, + int dstWidth, + int dstHeight, + VkFormat dstFormat, + Extents2D srcRegion, + Extents2D dstRegion, + bool linearFilter, + bool clearAlpha = false) + { + gd.FlushAllCommands(); + + using var cbs = gd.CommandBufferPool.Rent(); + + Blit(gd, cbs, src, dst, dstWidth, dstHeight, dstFormat, srcRegion, dstRegion, linearFilter, clearAlpha); + } + + public void Blit( + VulkanGraphicsDevice gd, + CommandBufferScoped cbs, + TextureView src, + Auto dst, + int dstWidth, + int dstHeight, + VkFormat dstFormat, + Extents2D srcRegion, + Extents2D dstRegion, + bool linearFilter, + bool clearAlpha = false) + { + _pipeline.SetCommandBuffer(cbs); + + const int RegionBufferSize = 16; + + var sampler = linearFilter ? _samplerLinear : _samplerNearest; + + _pipeline.SetTextureAndSampler(32, src, sampler); + + Span region = stackalloc float[RegionBufferSize / sizeof(float)]; + + region[0] = (float)srcRegion.X1 / src.Width; + region[1] = (float)srcRegion.X2 / src.Width; + region[2] = (float)srcRegion.Y1 / src.Height; + region[3] = (float)srcRegion.Y2 / src.Height; + + var bufferHandle = gd.BufferManager.CreateWithHandle(gd, RegionBufferSize); + + gd.BufferManager.SetData(bufferHandle, 0, region); + + Span bufferRanges = stackalloc BufferRange[1]; + + bufferRanges[0] = new BufferRange(bufferHandle, 0, RegionBufferSize); + + _pipeline.SetUniformBuffers(1, bufferRanges); + + Span viewports = stackalloc GAL.Viewport[1]; + + viewports[0] = new GAL.Viewport( + new Rectangle(dstRegion.X1, dstRegion.Y1, dstRegion.X2 - dstRegion.X1, dstRegion.Y2 - dstRegion.Y1), + ViewportSwizzle.PositiveX, + ViewportSwizzle.PositiveY, + ViewportSwizzle.PositiveZ, + ViewportSwizzle.PositiveW, + 0f, + 1f); + + Span> scissors = stackalloc Rectangle[1]; + + scissors[0] = new Rectangle(0, 0, dstWidth, dstHeight); + + _pipeline.SetProgram(clearAlpha ? _programClearAlpha : _programColorBlit); + _pipeline.SetRenderTarget(dst, (uint)dstWidth, (uint)dstHeight, false, dstFormat); + _pipeline.SetRenderTargetColorMasks(new uint[] { 0xf }); + + if (clearAlpha) + { + _pipeline.ClearRenderTargetColor(0, 0xf, new ColorF(0f, 0f, 0f, 1f)); + } + + _pipeline.SetViewports(0, viewports); + _pipeline.SetScissors(scissors); + _pipeline.SetPrimitiveTopology(GAL.PrimitiveTopology.TriangleStrip); + _pipeline.Draw(4, 1, 0, 0); + _pipeline.Finish(); + + gd.BufferManager.Delete(bufferHandle); + } + + public unsafe void ConvertI8ToI16(VulkanGraphicsDevice gd, CommandBufferScoped cbs, BufferHolder src, BufferHolder dst, int srcOffset, int size) + { + // TODO: Do this with a compute shader? + var srcBuffer = src.GetBuffer().Get(cbs, srcOffset, size).Value; + var dstBuffer = dst.GetBuffer().Get(cbs, 0, size * 2).Value; + + gd.Api.CmdFillBuffer(cbs.CommandBuffer, dstBuffer, 0, Vk.WholeSize, 0); + + var bufferCopy = new BufferCopy[size]; + + for (ulong i = 0; i < (ulong)size; i++) + { + bufferCopy[i] = new BufferCopy((ulong)srcOffset + i, i * 2, 1); + } + + BufferHolder.InsertBufferBarrier( + gd, + cbs.CommandBuffer, + dstBuffer, + BufferHolder.DefaultAccessFlags, + AccessFlags.AccessTransferWriteBit, + PipelineStageFlags.PipelineStageAllCommandsBit, + PipelineStageFlags.PipelineStageTransferBit, + 0, + size * 2); + + fixed (BufferCopy* pBufferCopy = bufferCopy) + { + gd.Api.CmdCopyBuffer(cbs.CommandBuffer, srcBuffer, dstBuffer, (uint)size, pBufferCopy); + } + + BufferHolder.InsertBufferBarrier( + gd, + cbs.CommandBuffer, + dstBuffer, + AccessFlags.AccessTransferWriteBit, + BufferHolder.DefaultAccessFlags, + PipelineStageFlags.PipelineStageTransferBit, + PipelineStageFlags.PipelineStageAllCommandsBit, + 0, + size * 2); + } + + protected virtual void Dispose(bool disposing) + { + if (disposing) + { + _programClearAlpha.Dispose(); + _programColorBlit.Dispose(); + _samplerNearest.Dispose(); + _samplerLinear.Dispose(); + _pipeline.Dispose(); + } + } + + public void Dispose() + { + Dispose(true); + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/MemoryAllocation.cs b/Ryujinx.Graphics.Vulkan/MemoryAllocation.cs new file mode 100644 index 000000000..04956e36a --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/MemoryAllocation.cs @@ -0,0 +1,37 @@ +using Silk.NET.Vulkan; +using System; + +namespace Ryujinx.Graphics.Vulkan +{ + struct MemoryAllocation : IDisposable + { + private readonly MemoryAllocatorBlockList _owner; + private readonly MemoryAllocatorBlockList.Block _block; + + public DeviceMemory Memory { get; } + public IntPtr HostPointer { get;} + public ulong Offset { get; } + public ulong Size { get; } + + public MemoryAllocation( + MemoryAllocatorBlockList owner, + MemoryAllocatorBlockList.Block block, + DeviceMemory memory, + IntPtr hostPointer, + ulong offset, + ulong size) + { + _owner = owner; + _block = block; + Memory = memory; + HostPointer = hostPointer; + Offset = offset; + Size = size; + } + + public void Dispose() + { + _owner.Free(_block, Offset, Size); + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/MemoryAllocator.cs b/Ryujinx.Graphics.Vulkan/MemoryAllocator.cs new file mode 100644 index 000000000..2414aafd1 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/MemoryAllocator.cs @@ -0,0 +1,84 @@ +using Silk.NET.Vulkan; +using System; +using System.Collections.Generic; + +namespace Ryujinx.Graphics.Vulkan +{ + class MemoryAllocator : IDisposable + { + private ulong MaxDeviceMemoryUsageEstimate = 16UL * 1024 * 1024 * 1024; + + private readonly Vk _api; + private readonly Device _device; + private readonly List _blockLists; + + private int _blockAlignment; + + public MemoryAllocator(Vk api, Device device, uint maxMemoryAllocationCount) + { + _api = api; + _device = device; + _blockLists = new List(); + _blockAlignment = (int)Math.Min(int.MaxValue, MaxDeviceMemoryUsageEstimate / (ulong)maxMemoryAllocationCount); + } + + public MemoryAllocation AllocateDeviceMemory( + PhysicalDevice physicalDevice, + MemoryRequirements requirements, + MemoryPropertyFlags flags = 0) + { + int memoryTypeIndex = FindSuitableMemoryTypeIndex(_api, physicalDevice, requirements.MemoryTypeBits, flags); + if (memoryTypeIndex < 0) + { + return default; + } + + bool map = flags.HasFlag(MemoryPropertyFlags.MemoryPropertyHostVisibleBit); + return Allocate(memoryTypeIndex, requirements.Size, requirements.Alignment, map); + } + + private MemoryAllocation Allocate(int memoryTypeIndex, ulong size, ulong alignment, bool map) + { + for (int i = 0; i < _blockLists.Count; i++) + { + var bl = _blockLists[i]; + if (bl.MemoryTypeIndex == memoryTypeIndex) + { + lock (bl) + { + return bl.Allocate(size, alignment, map); + } + } + } + + var newBl = new MemoryAllocatorBlockList(_api, _device, memoryTypeIndex, _blockAlignment); + _blockLists.Add(newBl); + return newBl.Allocate(size, alignment, map); + } + + private static int FindSuitableMemoryTypeIndex(Vk api, PhysicalDevice physicalDevice, uint memoryTypeBits, MemoryPropertyFlags flags) + { + api.GetPhysicalDeviceMemoryProperties(physicalDevice, out var properties); + + for (int i = 0; i < properties.MemoryTypeCount; i++) + { + var type = properties.MemoryTypes[i]; + + if ((memoryTypeBits & (1 << i)) != 0 && type.PropertyFlags.HasFlag(flags)) + { + return i; + } + } + + return -1; + } + + public unsafe void Dispose() + { + for (int i = 0; i < _blockLists.Count; i++) + { + _blockLists[i].Dispose(); + } + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/MemoryAllocatorBlockList.cs b/Ryujinx.Graphics.Vulkan/MemoryAllocatorBlockList.cs new file mode 100644 index 000000000..53deaa4ec --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/MemoryAllocatorBlockList.cs @@ -0,0 +1,280 @@ +using Ryujinx.Common; +using Silk.NET.Vulkan; +using System; +using System.Collections.Generic; +using System.Diagnostics; + +namespace Ryujinx.Graphics.Vulkan +{ + class MemoryAllocatorBlockList : IDisposable + { + private const ulong InvalidOffset = ulong.MaxValue; + + public class Block : IComparable + { + public DeviceMemory Memory { get; private set; } + public IntPtr HostPointer { get; private set; } + public ulong Size { get; } + public bool Maped => HostPointer != IntPtr.Zero; + + private struct Range : IComparable + { + public ulong Offset { get; } + public ulong Size { get; } + + public Range(ulong offset, ulong size) + { + Offset = offset; + Size = size; + } + + public int CompareTo(Range other) + { + return Offset.CompareTo(other.Offset); + } + } + + private readonly List _freeRanges; + + public Block(DeviceMemory memory, IntPtr hostPointer, ulong size) + { + Memory = memory; + HostPointer = hostPointer; + Size = size; + _freeRanges = new List + { + new Range(0, size) + }; + } + + public ulong Allocate(ulong size, ulong alignment) + { + for (int i = 0; i < _freeRanges.Count; i++) + { + var range = _freeRanges[i]; + + ulong alignedOffset = BitUtils.AlignUp(range.Offset, (int)alignment); + ulong sizeDelta = alignedOffset - range.Offset; + ulong usableSize = range.Size - sizeDelta; + + if (sizeDelta < range.Size && usableSize >= size) + { + _freeRanges.RemoveAt(i); + + if (sizeDelta != 0) + { + InsertFreeRange(range.Offset, sizeDelta); + } + + ulong endOffset = range.Offset + range.Size; + ulong remainingSize = endOffset - (alignedOffset + size); + if (remainingSize != 0) + { + InsertFreeRange(endOffset - remainingSize, remainingSize); + } + + return alignedOffset; + } + } + + return InvalidOffset; + } + + public void Free(ulong offset, ulong size) + { + InsertFreeRangeComingled(offset, size); + } + + private void InsertFreeRange(ulong offset, ulong size) + { + var range = new Range(offset, size); + int index = _freeRanges.BinarySearch(range); + if (index < 0) + { + index = ~index; + } + + _freeRanges.Insert(index, range); + } + + private void InsertFreeRangeComingled(ulong offset, ulong size) + { + ulong endOffset = offset + size; + var range = new Range(offset, size); + int index = _freeRanges.BinarySearch(range); + if (index < 0) + { + index = ~index; + } + + if (index < _freeRanges.Count && _freeRanges[index].Offset == endOffset) + { + endOffset = _freeRanges[index].Offset + _freeRanges[index].Size; + _freeRanges.RemoveAt(index); + } + + if (index > 0 && _freeRanges[index - 1].Offset + _freeRanges[index - 1].Size == offset) + { + offset = _freeRanges[index - 1].Offset; + _freeRanges.RemoveAt(--index); + } + + range = new Range(offset, endOffset - offset); + + _freeRanges.Insert(index, range); + } + + public bool IsTotallyFree() + { + if (_freeRanges.Count == 1 && _freeRanges[0].Size == Size) + { + Debug.Assert(_freeRanges[0].Offset == 0); + return true; + } + + return false; + } + + public int CompareTo(Block other) + { + return Size.CompareTo(other.Size); + } + + public unsafe void Destroy(Vk api, Device device) + { + if (Maped) + { + api.UnmapMemory(device, Memory); + HostPointer = IntPtr.Zero; + } + + if (Memory.Handle != 0) + { + api.FreeMemory(device, Memory, null); + Memory = default; + } + } + } + + private readonly List _blocks; + + private readonly Vk _api; + private readonly Device _device; + + public int MemoryTypeIndex { get; } + + private readonly int _blockAlignment; + + public MemoryAllocatorBlockList(Vk api, Device device, int memoryTypeIndex, int blockAlignment) + { + _blocks = new List(); + _api = api; + _device = device; + MemoryTypeIndex = memoryTypeIndex; + _blockAlignment = blockAlignment; + } + + public unsafe MemoryAllocation Allocate(ulong size, ulong alignment, bool map) + { + // Ensure we have a sane alignment value. + if ((ulong)(int)alignment != alignment || (int)alignment <= 0) + { + throw new ArgumentOutOfRangeException(nameof(alignment), $"Invalid alignment 0x{alignment:X}."); + } + + for (int i = 0; i < _blocks.Count; i++) + { + var block = _blocks[i]; + + if (block.Maped == map && block.Size >= size) + { + ulong offset = block.Allocate(size, alignment); + if (offset != InvalidOffset) + { + return new MemoryAllocation(this, block, block.Memory, GetHostPointer(block, offset), offset, size); + } + } + } + + ulong blockAlignedSize = BitUtils.AlignUp(size, _blockAlignment); + + var memoryAllocateInfo = new MemoryAllocateInfo() + { + SType = StructureType.MemoryAllocateInfo, + AllocationSize = blockAlignedSize, + MemoryTypeIndex = (uint)MemoryTypeIndex + }; + + _api.AllocateMemory(_device, memoryAllocateInfo, null, out var deviceMemory).ThrowOnError(); + + IntPtr hostPointer = IntPtr.Zero; + + if (map) + { + unsafe + { + void* pointer = null; + _api.MapMemory(_device, deviceMemory, 0, blockAlignedSize, 0, ref pointer).ThrowOnError(); + hostPointer = (IntPtr)pointer; + } + } + + var newBlock = new Block(deviceMemory, hostPointer, blockAlignedSize); + + InsertBlock(newBlock); + + ulong newBlockOffset = newBlock.Allocate(size, alignment); + Debug.Assert(newBlockOffset != InvalidOffset); + + return new MemoryAllocation(this, newBlock, deviceMemory, GetHostPointer(newBlock, newBlockOffset), newBlockOffset, size); + } + + private static IntPtr GetHostPointer(Block block, ulong offset) + { + if (block.HostPointer == IntPtr.Zero) + { + return IntPtr.Zero; + } + + return (IntPtr)((nuint)(nint)block.HostPointer + offset); + } + + public unsafe void Free(Block block, ulong offset, ulong size) + { + block.Free(offset, size); + + if (block.IsTotallyFree()) + { + for (int i = 0; i < _blocks.Count; i++) + { + if (_blocks[i] == block) + { + _blocks.RemoveAt(i); + break; + } + } + + block.Destroy(_api, _device); + } + } + + private void InsertBlock(Block block) + { + int index = _blocks.BinarySearch(block); + if (index < 0) + { + index = ~index; + } + + _blocks.Insert(index, block); + } + + public unsafe void Dispose() + { + for (int i = 0; i < _blocks.Count; i++) + { + _blocks[i].Destroy(_api, _device); + } + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/MultiFenceHolder.cs b/Ryujinx.Graphics.Vulkan/MultiFenceHolder.cs new file mode 100644 index 000000000..9e5b7809f --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/MultiFenceHolder.cs @@ -0,0 +1,203 @@ +using Silk.NET.Vulkan; +using System; +using System.Collections.Generic; +using System.Linq; + +namespace Ryujinx.Graphics.Vulkan +{ + /// + /// Holder for multiple host GPU fences. + /// + class MultiFenceHolder + { + private readonly Dictionary _fences; + private BufferRangeList _rangeList; + + /// + /// Creates a new instance of the multiple fence holder. + /// + public MultiFenceHolder() + { + _fences = new Dictionary(); + _rangeList.Initialize(); + } + + + public void AddBufferUse(int cbIndex, int offset, int size) + { + if (VulkanConfiguration.UseGranularBufferTracking) + { + _rangeList.Add(cbIndex, offset, size); + } + } + + public void RemoveBufferUses(int cbIndex) + { + if (VulkanConfiguration.UseGranularBufferTracking) + { + _rangeList.Clear(cbIndex); + } + } + + public bool IsBufferRangeInUse(int cbIndex, int offset, int size) + { + if (VulkanConfiguration.UseGranularBufferTracking) + { + return _rangeList.OverlapsWith(cbIndex, offset, size); + } + else + { + return true; + } + } + + /// + /// Adds a fence to the holder. + /// + /// Command buffer index of the command buffer that owns the fence + /// Fence to be added + public void AddFence(int cbIndex, FenceHolder fence) + { + lock (_fences) + { + _fences.TryAdd(fence, cbIndex); + } + } + + /// + /// Removes a fence from the holder. + /// + /// Command buffer index of the command buffer that owns the fence + /// Fence to be removed + public void RemoveFence(int cbIndex, FenceHolder fence) + { + lock (_fences) + { + _fences.Remove(fence); + } + } + + /// + /// Wait until all the fences on the holder are signaled. + /// + /// + /// GPU device that the fences belongs to + public void WaitForFences(Vk api, Device device) + { + WaitForFencesImpl(api, device, 0, 0, false, 0UL); + } + + /// + /// Wait until all the fences on the holder with buffer uses overlapping the specified range are signaled. + /// + /// + /// + /// + /// + public void WaitForFences(Vk api, Device device, int offset, int size) + { + WaitForFencesImpl(api, device, offset, size, false, 0UL); + } + + /// + /// Wait until all the fences on the holder are signaled, or the timeout expires. + /// + /// + /// GPU device that the fences belongs to + /// Timeout in nanoseconds + /// True if all fences were signaled, false otherwise + public bool WaitForFences(Vk api, Device device, ulong timeout) + { + return WaitForFencesImpl(api, device, 0, 0, true, timeout); + } + + private bool WaitForFencesImpl(Vk api, Device device, int offset, int size, bool hasTimeout, ulong timeout) + { + FenceHolder[] fenceHolders; + Fence[] fences; + + lock (_fences) + { + fenceHolders = size != 0 && VulkanConfiguration.UseGranularBufferTracking ? GetOverlappingFences(offset, size) : _fences.Keys.ToArray(); + fences = new Fence[fenceHolders.Length]; + + for (int i = 0; i < fenceHolders.Length; i++) + { + fences[i] = fenceHolders[i].Get(); + } + } + + if (fences.Length == 0) + { + return true; + } + + bool signaled = true; + + if (hasTimeout) + { + signaled = FenceHelper.AllSignaled(api, device, fences, timeout); + } + else + { + FenceHelper.WaitAllIndefinitely(api, device, fences); + } + + for (int i = 0; i < fenceHolders.Length; i++) + { + fenceHolders[i].Put(); + } + + return signaled; + } + + public bool MayWait(Vk api, Device device, int offset, int size) + { + if (_fences.Count == 0) + { + return false; + } + + if (VulkanConfiguration.UseGranularBufferTracking) + { + lock (_fences) + { + foreach (var kv in _fences) + { + var fence = kv.Key; + var ownerCbIndex = kv.Value; + + if (_rangeList.OverlapsWith(ownerCbIndex, offset, size)) + { + return true; + } + } + } + + return false; + } + else + { + return true; + } + } + + private FenceHolder[] GetOverlappingFences(int offset, int size) + { + List overlapping = new List(); + + foreach (var kv in _fences) + { + var fence = kv.Key; + var ownerCbIndex = kv.Value; + + if (_rangeList.OverlapsWith(ownerCbIndex, offset, size)) + { + overlapping.Add(fence); + } + } + + return overlapping.ToArray(); + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/Native/shaderc/libs/shaderc_shared.dll b/Ryujinx.Graphics.Vulkan/Native/shaderc/libs/shaderc_shared.dll new file mode 100644 index 0000000000000000000000000000000000000000..9c6cdc5917b4cc0c4b38c3528b3f29ab0e90b31f GIT binary patch literal 12564480 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%0Anb06AjH~pv4;rSw>(g_8#;?_Z7M5xt9t1 z%TX{HB6sSX(51Ar%Oe0Pd6vw-S=1&wIh}7QYX1=sOgwTJ=$%do_+%%%!wdB44#17P zfGj-vLPXGgQ}ma>*Xxt9+-^NNqhf>Mw96XYnsbwJJIm!R$EP{Ow=vxYE+8l;LohW&&dpgq2dVA= zbhYJg0r5!0USGMow4=<5{lYV%pSvGQ5>5q>TQg|vs=~P1<;uk4B&OP$1IXzKL-sm@ zN-SlAkW+)bD`zpUb_`R+r|hvOSIOLGgY-<|0Q`-FVw(?GaSb7OYVD!qQf7bFle;mh zQ%$$?KT(Ol_fXbX^7zY|`(3Cnw^E4j3HoL%L+D!?iodeIY;~Q{s@fxlvuYO9gZ;RF zuN1HxL1kgA62+-f5M7-uf%9S@7k~~K9-Na z>)`&CPb&4V0P$aZ1SR`A;+y9MD4FOB(t$OM`(56|aakS_soj)-3f%~=gghKra0`6K32Tx~dQV)WYsW0znJiyis{pGhIMr)YuOSNF~(JEN` zvknP_KPX~8KafHGW)ru?Q~5ZS1Y!AC8DrzFk<4#(ap02+Ex+W{z4lZ%tvk#>7V)_1 zfHCap(?`I^%^(zJ5aY9fzTa zr3N%Up~KfBPI#m;Kb3q-CMcaGdk$=~B_5`P?D1a={FRG;dk<3eCQl{E)+$8MXK5Jt zj$)vP5gxhT9>V%+88B9bTT?g2p^~t2ptV?xn*3|k$T!)Mw(KZ+QK!exB#gEn4Sy>( z5Z_l8z-XcdlR=v;n15&C$B8a*s=0}ZZZVtioV@75`u+}F)tUr@Z#!6O`eLucF^WR1 zF+=w0s6s3?`K#Im^T*p#OAZInL|==+ugk*;gJai?OE|3V-rc{QrL+=h{66x5*^PzH;(RalbF|eGV`CW#ja{%ANR{lP=?Y zfLjquHw6u>jF`wg_;NA~9h0i^;AbZL%VThGTx#|N`6aHgatd>RZUlO^q>AQURmER< z6z5R{AZOMNMSm#}apeNaiB6@;yX+(Y$CS{)dzrzS_XbO=D1tmvuI4UH1ctV}uVvx@ zxcWVxpg3)Xu+g8B;Hrkm!gAt?rep<3DACT21q-`jU+$ZQ;0_nHDcHj zqIFCz4X*g?#C$#ydmcBLDoaAifPJy>>?qf$wt4{QTy;A0Zx1B8EjyC^mRt==(zZrJ zElj`{$Uw!tF<;USEbluK%OxH7pRGSw=8Pleo!3HyVj*13?aAQF3@k0|mt zmC-)VqucL?pmMs(fr4#_a9jbvbypyU^ia{uFb*u%8_oLQoHhG}alow(BFH<>L;D9m zVji`%E9?8c4AgU?Gx_#Ho%yIllX~C*5vk`mu&0#KOr8O)Om+@G<&>yHG^niK7%_ib z=IB#-fVk>=ck(xpZkKluo~^=0ULsumx?Y66C`{e6C!L+YGI&ih1Lpn1t+5y15`X0x z&$MP(UZTK(Ch{O}k6py=*H2vVY=%Tfb+KR`tbnlR4kM_4pCYJ#(P$_ded zIPKCFQ*%5Z%zY+*McN?#um1t4hg=wWtq3`{4~)ZJkTv;XhYO|V*ej41mHGDspRNX@ z&5!4Q0dr}5dNChYHQmVH?{L*zh&?Wo|D1PZ{MqN=E4pDrj9M1L-*duPS_kl>^;zU^ zDtgJO*P{MKVXsmN);6d);_ns?xCelKqr7qcPs6>1mNJv)c~KqlAPJ4MHEKO zvt_+eZAbo=gJqis5MyV{&I7pNjd9TAHR*Cb0YK&o;qW&Nk7Cv` zQ1iV=CG)#7dDIEQmd>Z!u38mpb~K8(dl~L^(qgDr%{XAWy+7Ae+R``VGU2JTCs!BC zoAvk4VpU)*vu>okLEx!G|KdSE=8qy!mCH>vJ)5;)f7A%t$9^1(zipso^Au41=;e!E zDj}lGm7_nE^UzBKu3qo~pU*Q6ELcw5g65<%pUd>5-HIS@-3mkACX}k|OB9~VqJv@b z>Y?y*#IN4A=(j6`eUGNc zw(PF#&sPwcMRK?B8hILU)@Km7bWg>eJg@QK9ep=CazB7cuoF!BEL0Fb58@V1D~a=^IN&RaYu7AL%NL!Kz|!uvDXsxwby_%rV< z7=xP**Jb@;fexZ3ponJ`?yNT?c)tf);_r8k7PvyOWfsY<`=B-Ylj{{_3rWNcve7Pa zw8h>i8c+Mikk@W&H+cDQ2&VKUql(m3sIh%1LFcaVzbR8lCcBwI)Pn)UL#bCP^{OJ8 zeCq-FpCcLfYA3Ss!90k#U4esL7Qp?7>M-IPWlp}0!J|>V(dnC9%sZ_~CmxLmx22{v zx%Gf1>ATT$cXcx~B=6ddAIyQ-vA93&sXp~jZk{{*mvPTVF=V+3T-CiGTFa6_n*IsZ zjV{eaFFBY$rELX&F>2^VpOU6mfU8;!NV+ZGaArwT2>Dx#5?6li0)KK{cj08*(v+W> zcGHStzMM<4w@?RPsytQk<0VHw$Ai8yUX?kZi~wAH2)pn5lMD4XQOV980E+#HDg7E# z@Qp?S4ONN$IVJw`+BpJzPwAn09=Ei%k>@SbpsDO6J@&4p$z?((2X=dvgEU z8Lc$x{eSp&QO^JEy8#>Je<>6bx0A$v<%G=4LmjD{h=?4x|3Y38)v#Mc?MU#Zi; z-mg*Ad)c4Iw}jY#t7XIuu822aXDsDHCicJ6KTY#K^@ZFW;tT&;lSnF&L-efjw94g#}JARUrx zMJ$UtP_H~;GA>)0_47%F95o6K);^}2wLH!CN+#Un{zPF>Q|u`}A4&bQ_Mu*xkRRS? z=+aFryKN)B-;d(f(F4}hgT?S1ejkQeq2fh8E~LI+dk)?Ox4 z4#_j*(-y$fKXuPQ*gE!Sd{C43`XDM$ka6W)XomVr)`2v*q zGaVPc9K`9sC?wkYh7tAj<3RAe4`zK(ivxPvX|5H%dJH1BObZkmUyveILyP@Toaa|LzejSDUu152V0f zs!*r?t$?eVI=EWh9VQK1Le7uR5!4qs?^vk}mcEAg(dR1&(l!T^AAK=@T+T%Ae>9Hz zd=c$xSCJ6K+DN%79aGsRXtJOK_+}Q_v)+icBHzLQ6ul*q`JAKmYO9o)BblWfn~;pLZoc zZb9*612g;`2$tqYvsnMtXTqNdefmMre~WizfAoalZBoO$P9?$X^#zJ&c7VS<6Clj~ zAtiGBFG4nE9~x?$OOJdxS@UY56Kk{4)Pt4swu%*-@Y1oIF+K*NgS&ERb$t#W+X5*q z_vC?qA3>B66WIb()??4yIfJ#&C#bu!m;m?~any7SL9sam@YnYYSWn75>T_q}s-Hdq zIBDOO_#U9|pV#=?N2!qg^m>x%puBCNxG|QGnW2cl9E`TkhKL0(88_tz=3Ot1VSR9f zCZmFF;dIbg>dSTlI%GNg8Oj}!Nr%+1cOMuBX8_z>E;(;{g+{iPMe~X-#kZHCRZuFwa!*J=S7BGnmjGYmL7l>%dYbuNofI4$qIt z<%UDaUD3-${+AF!kCm?hc& z!rzr2AW)kYkG)w~v1o+k-zN-Z9=sPKH4$+&xC#eL|KNvbJBHl41S@yttg};N;Mxs= z#J8zd)IWbW>irn{1~?G6zN4|M)d_zee1hzaIxVnwx<7M(oL2Abjr*QHdDshu?19@b z5GKq0dER_Y9ZMJ&JtrO^bvRvifDA2`4eDfVNIY~H!m4Fc6FM1GZTExp>~@gux|2pc z!a49epB`ay5xDFfYPxqGCZ{gPL3W}%VfTs%3pm_jag^+pG5v9`?Egi zt27^L)>mT)XzC0+&v6>bdT1?J%Jy1PU&MvUdC(a% z84mtm51tm#?t_~(`*Ydrc8G%FRZmHAH#eMFUq!du=ZN5e6VU$REC@cIz%8o?9rD~B zB95J9*4T0{8tzBqRx2O6Y50&r|78H}nKF^-8RZvK|s)W~?1S{vN~Mt{zMTJJXnq_uzh$+)(m- z5+A+34M)#T_~z^xKs?6qzw;*&xwaY2a2Q6{A^xXP3QOLXk z=GgJT=v>6$1GV|Fa1T-lpW)fEd?UNUbn}0>}6}bWAf+9%Y zIYtr>3*?g_uS|)NbMW<3@Xe!y9Sj=1 z?!{AgEt9YpLIfXO#JAK8yv*55coe?&N6#u|Pm4MqJ z*z;7yUKlPI$+O7KW1^{7Wl(qVHs*cD<9-JlRM)VMC@dR;TTLTVsV}+6?9UZqc~kDe zn6w*b-o3+oabYX!)gCA2^DNky=1jLPCoR$L4&v*p4m8K02(Fh6#?-|i{->i)c#P}O z#^xw^aUMmI)QFdr@>KlkPTCqnxorvrLP5)I`Mj}4s}ym0`H9|*qYvBAWn*b1HYEWn=V zs$2&=| z#T~$Xt&bS4TXjW$=0nL3cP#HN;;5$%qYWC$;1yoF)Qtzg9g&xYzt1oqKi!)7LvDfh z=}0yfdJ*`G>F})YtIm8RYvonypt`HU*TjuM)PuwT__M_G7tVa${u@eWols`J)Ij_W zuZi@(w`5ektUS8iAS>D?YBT`KwzqA2o)Tgof={4_S`l`t%BWwDDm)dg%oW6}hyP9S{b8St!Rp zBN{z_0@|c|7#P2k3cPnIb+Y6oYQJCwjIOb8y6%1s`m;w2rSdMl0rjrb15F&mdxh+fTX_yZ6H1BH(VRATq7*MKS-%>nVD)#?!V(+b+NhC$QT^C&0d2CPk4l*Ilm7h?bP!09J5iO1s(Xf0r(1^DC%nYDNMupUHe zv|bQMJ>3Z}K}Q+L^{qSgWgalvbupyA>?H8^ub88ZAESuHhl}8^8*Zf=I*`AE2xBu3 z4jl8#g})3m*-7qdUr-4f4|{`Ic{DZRggYODKeuB4`zDoo5XONPI{-B37-`@ww;c9P zZ;Ae7sS)wQhPk3U96T709IJN_sL)}m>=(M@@2`Vu#AAB0)cZ8nYd!g&S#Qh_aq)$} zIutQ=F$Q$50sOuhk!iMEkNP(oFY^b3Z<-BF3JnM2?*Pb&k{dA=Zq$OmcewE8J>oaB zWbhX91JT{~P^tHvHe!C80>19kurg*0F2wi2!8P*Ul-3bM_1XfujdUb3ceD+dFJ*nz z(AFHxSH`j44W`ME?=8r;&K%Wkidg4Q#gx^2B(-5JzU|lnwD-zc%t!A@x~JQ4tAQCX z?o6kh_Dn3>PJmbgxlw7i3s^489ZZ{_BA<#>M5yphgBZz6u=Z{tS{YxF)IT{*dgc(& z*5%l-|NTky^$+8@W4aUZC?G#9q_LM5QRp=vkmJ@+X)1OOLNAs?>%5$zZYJmYO61h; zKTo)yH;0@_@U|k~eECog0-s|p2v+TaKWF)cU#GTAa-$;=>)SWoiSHdKR!Bq2Rwsyb zv(Y&HC1oh}xd(l#pWte%<7wd2grV0}n&{6JakUFagelKyVy4K^f<2b3$4?Q#OO#V zW1RB@+WHq%ivkzok@^$!4fYpO|1N;)L?MFvId&}eCeZl7a*lRwr^0+xPqnx@fzhIN zV)R4{d<)J;zj9rAiU2!xXBX13RBX92862w4{iXq#u3IDsf46WH$;g;3=;jG7J@U{O3ax1^R zKl$N+mCz;wiHAA*n=X;rCJ&-+T|yXVxJFa&|KXdR6Ck@;)8l3dP1a;NQ4jP@u-AsH z$Z$g?>ILr1N9T>u^W_wBYYj4sx)u&TeHfn`N8sH|Xy=s7K%Xw@Q~$O?&LX+AwY`ES z0n>4?I3Ef0ZzK5R$;9Rzz+!61M}uHs+}VfGZ%G)~+PDDzhT~S^RNNnuPT$%+qVdLf z*;|sN`0+f_G)dfeKZR$ui52nPNZji3QTv3asjSDR!>*(3(0a-nhGv`s zP-$N{Ft!Os&n?LKAJ>zpFK=-0d`~EGDM0+k>-SXNW4O>&O1n@v3v(F6)kWf?hL@og3>u3Q5H%)^&}CklSq;!-!MO@1NeT6 zI)B;2>4}G?tap!~Q;U7%x!Ge}ohR>Q|Kmaw7WLt4Tr-fKmreia0~l?5eL7YFGjL{0fSRPT#oV;xcoNgY^d@heg*2--Q zd*mSyg{OFazd!c$jBugfzKgse(QFBf z+XaQd^F9tNN>hWs4mAF20o-8+>06Rd0obyPKusIR7^cI*SpUh5a?|DFfwm!-d&&!6 z?zVBEj_aVXf?+o3rG)I>GXOeu_JBV6IHvY?Ph@>CoW3h2VXA%=L#|sxkXOEervLPy zY3OVOTzAfb`qwst{ep=J^TE3x9kIY*J3n!6JwbFL>B$)F}fudvYTrev8S7c z(@NnScrCAtFJD3Mf^~*7zv)7qR|I2hlPShfF2J9<#(_9_{&&Pqu;`gku8-v*keDc< zKkY5PEim_$Jq|AH{(ur4ALhbe0ZjURMiHg5sI)uNnR+^vkm>eEop-EA2rGF8CgPwv z^(7l^q-8`Ak9?|6sBG(FuMt80u^3qBhpV>o4!_^>$Y<#%C-5Cg2VWM@lJes?qMw8x_haU95PfWMjYqeV830jy8kU~1?mE$Uw;lxXxIM$b1w z=a8TT>dQ}h{0R18y>OW(ce^u$xMQ+EhsD=Bnj~HlSAU)ct z!tN$7qELDh^Pl_)-g0@i&)W*$YFZ(^${2VVW{qgR+`#-lpJ?*!7zRT3Qjs3^!~C5+ z*2HZoK?%;{fJL`~#3)n^y+|3}tWG?f^RroB_2+1G2%^!GeeDyuCCxgC#!KV`m}vw} zE)E-kUY0SMw&X{hRJeh%^;j>DzV+))w|n30SpOx{WPUJldzXPndz+*2_7;R9{}8I1 zCbRA}`Ta(l^L!*9HYb0RT*0>_5`2z+te=%}W?KnKGIJm#DkZ@48cPO0KbXHFO!>I# z34*|Zpz74KKlP=|nf2d}Lhv2OyyGrP&?;p{v-rhF_FDiMKLT#*c^X&9i8A{)_tl=-$z!E;z5|G_u=d>)X9_~8 z&;F`desK-=CoLf%M!dp+o&ua|mDA+)Kj@5ng!xt;-o(Qnr|(Q6JRSUr)~dd$+83?y0~ z<<;3K`@2*B!Xf8qDx4Z>`LjPdqKiERl5T{jFaL8dAm3!3R=*I3mpl~9CPY7qMwVUKdOM?oV+BAdOF+}f939-gnBSH*sBh{Dj2%n*Oq!O zzW{db0j1!^|L+&g!HQ*Txc@O&6}`xu+&v^4d;h>(BG;`R?2n|LPEMwtrdyJ~E{4>< zX25XlMi_g_=^{VV5Nc;TWV>xjIPY2^%*@Xe2PQ!>ej#!~uDS;gQ5MxbAwY)yPk zAbWdf;yY_G-EKufcH>KcRM+Le#`9M2=Yo7D$Xy$+_hDebuWZ)O4T#&O_n=xoh8nTW z7OrL<=?p#vGGKlp&fH&yGkYEAyLR{>=8s{R?>d(u*RA6~5BD(Q`xTyxlHhN!3GEDe zj6g5uFj?T|3I}lzcB&l?D#(M6Z7vYx1v>DOkki?x%@G(0|4}4Fa}(k4#(afh_#JJdIs_=eD(yI6v#X1-o7L}6&az#V-r2vbfs=I zlN*qZ{Rb-bJb1bNk65&Xu-hY0FbEJufjfjM)J5qfTdzpmc_wCgH?YS+L*>Zum{x9L=iqjLNF zpIgz?=MD6obc^-c2tT6QSDo-o-b%X%>S?SG@>?>0Y#MF>>1RB`g~J|>$Mhf>=z;_T9Y&RhzS7cl3ozu@!N^D)Ct@gJJEpo z;}i(m9busT?{K>55kgxq3oEL+G+E?F-z)MmugY}@WUuV_zI@?ppa+rJSlR}BHY)75 zCMBR}xySH?C8Z^}6Uy0tGzELj;o#F}$gzy4{4dhM-Y>~`A4NWHxoH!R6#Ayg?aS42 zX>eyUJ?4C*ov+-XmbFfe`tq7Uscx5k3_kf| z0PFD`_}f*JNN4uP)CAcv|F@X#!!z!QuXf0+an3{8a0{d zAR3;vGttmsk3io&CZDV619NkW(DAiEj^N`{;WI{5VZKa>_fa-LI{n=?jYZG1>lyg7hm1vnamsA`D@5$;EoHy{LMbF@wfpF zmb*H1&+qh8Xb9twU z_gm~ulDnge{-LIy`Gjo8P7t`8LGkU&{Pi>^1blyth)0nFdRavPf@OENOkCAzOt`D% zZHw>+~SPm4ZSnxl2SY0WIfzpq`eRO>i{OuruYi9$^eJ)sh9B`pY5M#962#m2W2(4la z#5TOi7z6)cFL93~IXD-=>Gp?=`{!WFLZ3?)*`6*2n>02`&rG=sAQH&9>j^f+c z1f+>ZP`vRz_FBoiEH=qRKXxynRou?tM>6Q>o#NmSR<23MXcH+Fn41mXdAS>R< z4I6!B(@-UkUp+`41AkX=I$t`$pYT(;F2bmcM1IQy7Q#T{+ z$zNG>1+)jaUTOyGNn=Cobv4Fb7ajB$fdo?4GsalCJX$^iF7{0LkLR{`;ic6uvVuF8rmP;Q^vxRh8HYLaCSJ@v_t3+SLIkTL2y z1`rP~oOW7(Z2KuuhX$<%^QqQgQP>wpy}BJky~-u}@v#I-U3LWZZNL&LmxC{^w*=o_ z{u&Suv{5fmr^*!g3me7Pg-S%L_BolCBvmRd1!W(MVer$+nCcS*r?cPibxEe^PhN~r zRoRRAvMn%%7BfaqGn6w!3*GNl8A*OLmiWpZOi2xoKL3HW^NqmQ_dW6L)6xZdb5h8` z49pj*qQsHQY&c(hM-zV=;O|FepbZSffYUV#YHS73@}GzfDt_YN=NvC;;`s5*-Pgu3 zUryv};9ZGtg)RQxgUN?7WO4z-o@k7{RnHlG|7u1HtHXsBB1iuvgmy*(;aRhl_|8hi zkBCxWOg4h6Ksm)fO%ZK;y*mthgK@vJWcRKtLZR8$6aF4E(E62NR#bq$nN6|sqaWm4 zx#mj#$|bs6cL`a>3c`KJf-JlJ4nWs_(Ihq-d1lMe3)*pRvmd!m(c&^>h zV*Rovn0gS;Xjz3B=(&|X`@x^MFy-br&Z}gCC3Q04asJf;dtIS(dnbxc) zlisZFseNX1gmD#*FuqTzrQ8H<{1N{R?(LHbt1@dR*|xQBMN$Z zL9inZr0&`z$?%an=+6~r+P1~ie^N192Y{u{y$AKm(t`Z3Bve3#of zK2=d@Yd7HjB3o@)|EaNFldCryY#ms?G=aJ_c_g9U6MS9fAci1ix^?acs)cgex?v)J z`ALEIQlVSFrxVa$DhOW8frFZ<*6>$>`7zIE=iq`S)1Ig>{|?6Ur!hmw4_iWZc9-BY z*MJwf(PqXVdhEW6l@>>#z!hjz-UNv-w2} zjE=47Ouf&?)Zl*@b=E~HiK*$#Z*nH}z(`ACz8<8X4LeW|!81QK92e!D4c380UzV_*uW4edM|e`CR3*mawC8Y+ZVtj#XG?$P^KTgVTa1C? z3G^+gq9|DZhyF%LPJi`gpdQ^Kn5X4ONwwv?S@2ZIG3bVaVe4sZ_XP9ZED&`{_E^?e zvS5iG97erQ!^*J(Dx8mvgpy943FxmGg8P5{(_es><*AH&sS(v@lUywJl6B`NQ@phF zPzPTeeHGsDzcRVGba4p|I+(dr?sGZ+cb!g1qhD396^34fqBZ! zAoL;^9xR6t)l*^o^>`1SzYBL`|C^!%z6D;yLmv+6gZ1%anOmR9UeseQ-A~Owxr)Q!E#NW z>W-E7kxg&N$F3heiN|nM_eQ@h`PQHnxi3XERo>9_BH0gr<+VFjP5ZE4jluJ^$HJ&r z@{scFB~IXTfCHQ6jImUKqgguL$hX%1-ys?BDt`T2clu zCOH#|HY$wPSI$B8$)<7Id-$6s_wh7o1eS|s_;F{M0qb!G81EUyMC!JU>?u9O|30ZB zhMBo3tPj#c!Iwtk5f@tHuRSr+>IdT&{OM7>V$=Gz}jzxSPu`@ExItog%SRm5W>xU-HXw@Q%gexP+ z-0SwMhfiNEl z$iR9$YVMBFo!Y_Zc`J>_%B^OK^~kniO(^yLE%=^`!tCUw6f=|3&|f_aO}dWY%9?hh zp2~9=$IgZ@pPK@xxdR3Y-)W$i7KrA~TE4a@AJ6=Doo<^Bp!OPBs2h(b=7z>NebbIQ zUXv9|{!T~0!|Dl7;~9bI*_H74G$6i(sfhJ({~+?$8x1*DfI0XF486Ie$6Bv{Pp6wv6oj352Hc%f^r`o%I6Zy32lLw$ z4m7*~Ll&`M_L}NQyB6SUSB%jYC!ne2ICv?ON3!&Wv54s}kB6z-v_vmQsUQpV7&qvg z4fBT)lz5)P)ZnjZ?QRN0?4FPV=Gg9>FP2S%uB_@q8mCaNe65M^S7qw+Gac5GS6blj zu#wc4J4iVwlr;5CKu7}$;jgCwQb~!#qp(#3dG#H8{4Hm+sSQD}-47=)eldP%Nt8GI%vQ~H7QQ#y_BDdONFIo&Z|W})bA z1Z6`YrW~@dd`Rvgt(PB($P6ITA1=T_=Xpd+QOS_}I0cqv^1RUc3mUAS)seSq0am<= z8F#z9>*x^ryi6cd5yF5^_7`(mz%qAD`@&1pN-h5P zY65yuWD?o43r_8=QmI!_NZx#t51hJj^w4FL-L*SM6OK zn{f|Sq36{rFh6b>==Y2#L$Bo0M6C!hj4^JmHK8BJWYe4V15-%5K zqtmTbq~tOUD#Q1A@He0sX#Ren5C7-O{JWjd&RWg^m&KrppALUUe(ucY!!dt68@-Io zq1~^`R&c5f?LFmYX*U&Q_Pk{`^z4d;QtuMlq-Zj)MoxxA`_PvSHTLWR$dBf|jQA@n{eih?a>@xEc=k@iUJj||d>LpV7Z~lnZ1r7+;eL+1v}%RC z3Sfz>Sv`iJ4Vx9h->Y=$Uw$C@D^F-yv{5A<3BsQX<94fo=NE0@N?{>i$LoMycTjMw4+H_6Xwg|hv+*h9%tN&)!5Ihhlte1QUx&8H@mJG4=8rD8dQBd;y*S1Se9g)D>ot_{iOqnfG7o=C z4-@!am(o}dX~J_yW9r{$7tD|7hetE@2wq9E6!6)(pcnbczMVryk{_2))1Aq9r05+% zJc4oS_dHYdk^(seC5$mhek(xN1WhV@#LHQAy{Ug?9NqEL2>w=MzLP!UdTfa%Kjejk zzI#xy=NV-2@+;)L@gr_ci$Q9)M4S2J1^B$Xf}rMyve@H8?>Cxkza9=k?tm!9?U1^B;&&f&&i?P|jGnUOQ_7<1UsPKl8SM#mgDY z1(7uI|CEBgmb9Bx#ep(8ds*!4OMbLqv@J8h*W5*g{pxuF)nGP((wArKPAsM19g#Po z4t&jl8=r?!59)w+Z{a}deWf+{F6g4a-W=U)N>ILNhcW*S!Tj*+BdO1F>8M9OQudW9 z?>P$U>MERw?>kI6{Xkr!Wu;YH(wX&rh8o(?gV^)B@a!UqbG6=_I{BS;J_QhQO)eLX zJQztl+&G#wmTn*05x3vhvAq5UuHN?p?&br~6uyiepIi9Ci#tJS7DA7VHYA-%bOHIc zg`-dR)A-^qE9~vVkF3Eoxik$J%Sz!su@|nks6y!X=7U)`Scf%(Y{M%T67JL0eDrbQ zf2A!DX5`H%^j9BDJlwI8oM6j-OP-4Q7*3GS*};&`wJhqvWOwRSsXFW3C77R|35!phnmVZ!?+y&mWN^9dsQy+ zy-fa|H-zjBat?2D%_#J;jB%@H4?)ivG>(-MDR;bJXkjZ@)4a^brsmefLw=>`Q%4AM zc|tlX^~cI2*)czw4q?W;!wlfSL-<6=YpQXT~s$9)*EonnK(@}|-C z3VqPajh@sdd7R6+7zCf!qT=z-fT4FC%TGc89utG-&0RvNr$0xqKE28R?mPkWGbK=6 zdX6yn%WVN+qN^d_$&_y6h{BIl2AXu9b_bVIUi;ePe)~@ZjyB#N!P>QyWTO7Z3Wj*ForM4m4>!t+T9O zK=4o~`ENG?@Z3y62~MI%iZB1$?abGH@A&9u4^2wr9MMZ74!pYn+|d;o8c|Vt)a!} zISU8%j?j3ADQRHjlE(iYQ$=^m>%K?YA(gSlmgrf5DWRbTRt8RijT=LV{&jgKWM+I< z=A(t$)a+uAs<~y8ADc{xuMehXPlS>sg^aOIO6iAcD(jtB!SL4)7cRBL)Uw6!;`KHb z{^Y#(poVbjya+4`D?+G$_SpORnc$W5XH{^hr7iU!zcuwhom`ls+=@ALYbJVDB%tkX zfzQIl341f~tzbqj>(kjF)m^JaJbuI9EFHd%d7;66K@}M8mVwxtglKxs!GXG^CBJ#mBBX& zkPSWoe7>B9)Q;ysoxFW?Q$FEYe+Fkh83MQ4zmBXodJUj9H3dtXAjs|;6okFce9ew# z@J{lelgBE&jE!TUs7>VgH(%7*(+dN?1!Uqby59`XhW`@ zWF%tmg4~8Z`WqTLJ`5dHJ&EJ|S~j8GwH(GjJ||)G{$ub`*?rDil>$DOWc)3Fp^)WR z4!BBwG}}P8FH#s+WKhF$WKVQHN%v9~{uvWHlb0V5Tx)aOFVyKxe2Yi2UzjnB{8%&?d`q)g zudPT#FF)XPTRwuj*FAythCu}9JLM(8@5({nw+_`g)Iw8WMH=z&wV?hjg`BqCF{<3x zn)v>Q9DDY`vVnskdf9{8?M4C3e+P8xs)0q}2}h%Q4WXXC0`6oLSo^mMqt#6q?f4&K z&R@-iwWT?5s_0AOV7c{b*+)LsKfr+T#X;bc6ALc}GUSyDM5~P~t@Qq;GhcotP!}?~ zupakELt8(iXN`m8`PiluLC0AHbnu}7_&dSiVeN2rbr=-C{prH|yAilo6v@0wJ(S}j zmbFY=sR!rVvYsqrjBA-T%;%RG=$9U@7X78iD0#NeVr4Yz`wsl?QBM&3(F9+|4U94A zCt+;kN2ITXPN7}SMC$2GicxcEay)_2s*K3N=?@s_nISxXl-ok{K;)F(maFi>}6!GYcI#Fjv;1Z`=t$ zwp8U7*1pVn2?g-igb#aJw3TfK-(E{-x*CED>Sp{kJV%f9+5$kf^&x`E3ho*EAc%*qRoLs%kdHef zu-8Egf9uTXb}krbI;sSDo-Fv5N5b<9SLAp_Uhk_`0uiSt5cvN0v3F<_=9j3UXWPPY z@G=}M$-@Zk0M|I`bG<+Ku9{QtXTa5v?zB5#p++4)L%SMpQmwMAJN5K2dhXMKc;q_| zK`-N}B~L}C7mp&4eOVkWDu9hT*=WDn1^SaQgrZ<0u8wQsNPg@?omYNgKERoP_SH4y z{A51R-pifK8&~qb1lhne_=%{;#$)-qBhK`+!1H5&NXhTx@p79#9{Ib1N=fc>vp)%I z(KB$t#hG?bCS{?&H2V7VL5_uT&+&&Z6w7_@dXsPR(w5*Mc&=iA4iYO(u@^u|ORc2c zDT7q%=}C@8U-pH+hg9nLuTU~OmCCSDew)0ZC$S7N;eX1f$eHWC>3hV0AiF8ICf`~+ zpqD{W;A@3F?+$MGYX{~w>)`pPdNB2%XJ^ju9sytLUG#Wr4WJ2Y$KbCLybN$4prf`E zWH(0*_8(Fh8)d?MY9HE#zv4hmi8{G2Z<<>C1ezRVC4Ip^7kmj=Sr-fu6|X^BI-8U% z%BRUkxhElI;7It(rvx1}=4%(Z-o3~&f&GU(JP}~-41YK9Nb3g9{NrZym(>?x(xZmR z*z7|zuG^8>(BFh7Sne6i(*)niR+-rQ8_D^SkM`)QBOh_=z^C>_6@0SND*5CCzG`^h z7=)yb%WL31$g2r`?FnAFCjXoJ11rDfd04ZMsqklkb~np`J^$nAEW@h$nkbHeK`SXB z2#QL#BAAF$f}lu=9Vm?;N*W-F`M0nY160874#X}jz`z!}5!?4S@0au3d(S?zXVzLX zd!K#cCSWS*6^-9lg~5j{uH{U_wG&PuZu3quFIw0d#e0aB)4;%lF9MvafIbr zfVe(~vY9t(5b*|q-_u6upvD$YUoByW%VAKa zYEA&z^LQ_qUYADQ!C@+30agpL%6P zly@!2w?Q%VVb_d}?*h=Uh(X@HA~5>ahX4oq;iP*@_CBzf#CX}T8}S~*m-!YTzI6}w zzJ}UUuY&Q#eL0QG<<$(s`=ZG?QG|LYiYC*1>AYVr%y-DvLeEX1XWLp^bov5tMlC0- z_wt{%=KUccr;>h$bpV&2V>xW869n{J9s?hr?5Ov0&)Ds~baeD(DET&}a9N^(4%!dn*vBu3H>P(I^-nLB z`9UDw|M`rQE`~JLtRo_|;{nvG2pW6HYWJ`KeEsRe#@WaXezoAOWE>IYyC+j)Wf37m zi}Y)Hb{u*+L~PwAz^{upWph+IDp4Cm37?iWlbo*30Q;|OURUA4Qkit@ltO!{7433W z@L+_zpx&?n*mrmb_Mev%*0Bxl)W6*t%unSXgX11YFrMe2t1}@u`S2s!UD=>35>HX#1w6Xac)kqW;*$%-BKD71ga62kbuSaxcUxQsQ( zc%O}7XvmwrCrd@o9of--Z+q;?UaMVnR4Moka3O?l$7tfxz?%B}jo7jh@E~3pTo%i7V};px`q3K8B`O4y9|~%x zdIzDu*4XoWZ%AIQQU<^O0BpIkIyqg}i}6j;^iVfCZ!DwpI!Bx=?j!Nas(r!_%v-wh zTkb)Q-KNf9W9SA3x*zecrQ8WUWFx>%&H~f6*_ev6M6nk(((jVy1oLloI`uCSx(gFA zwevL~y0t+3cccujZ`6vY`*TfjT`=UR_HlH3rzEf$k+$` zEL4c7ZVVCi%mwEoBN>xd)*^<5rv}4Y+7$9_3?1p*;%Vzpcc2~u&dwAsRzDv z`Bhe7|H&)R^v}ZEj1KJeI?b_fv}rtcADw@aCuj}p#xviQ%VMT7;9jY~sEZC@58Oz* z;}_}jRfsL)%sq}(?@v4ZbW+kx9&YoNrL;e9am>suR(pOSCH)%VF&c$lryneBieo^mKSI zit81nI^dTF*e}oF#$vhQ`S=A2#ftgh=XD(N)a5GA;XPehU-QBjjhTf1t2LqK%R{Gu z%fX=EEWS2P!(_k=k^UubKyEGJo-7?~2Ns^|kdnF2w5&Z=H?P$lvCXXtG-uFb$%&F9$5iHywPgo&y0v3Pc(I zz9Vy~>qww(9a2fi#{3&)Om)hnNumcDI{F0fD{o9>zIz#T|JdQsxDo2;Z&nZLpWJA8 zXclVUE05Eh*n+Yx-VpxtLNn^$l3483;OYKB7+u&7*zfxjM}0L0rk}^CUn^I}^CJZ4 zXolm*S9C^yO{kM+`e7x$BaLS-L1tzjaC~YG9bJ-Ia<(PzPLq30`_*9iK&U_Yri0J1 zyOE=dCQc?5;K6HSNHL#=7#jN^kYVBUVIj*C&duzJ_YbZecsm9EmJs=RxjdS&0x{^m z1mcl$L(Y|QI@;TZYFoB#67}FNA()rhP@iuDXa6z;qJNmdYmhfg_w)quOAeUQc^^i* zrEvMXkh-x<{?^mft2_ETP3MjOL*t|BsWe#=v6nXjpG$*i{BSJl^yxZ?`H&@HX{2J_ z@(UwLcpv0r;!J7DC?yRle^Jxryh-RepFXC`d?+&s*sGqQ63w%a{8ugs znTzAM0ua}~JWcYW1y;1L^IO0k+*sv}S1(N11m>DEzyAh}CD${sH=cgibfe$pc|^4F z9|q>f+H$^NM7hx_A>R1qbYAT3i2kIg21rR$wkM7|%d*hla|B$v0xOkr!;phFU3Pnl zYg_*L5N`u&araj6_G4#P>ho)?#Gj$@&oFiLR{?JYqbUjo3iy(rNJkZufYb0k;B;O@ z2o0sK9s7l@nzg1&%|w`~kx@7AI+AL94$D)FgVFPQ29|x%T{!<8*$Mw-IV`tpo8+8yAChw?yA)P2H#eqa1k!@!#c zi16EkaN^zDf_C!}!)7ns-Te>5hX?cIA6LBIA?3w(#5;d2VIA_e zBn~xeIe!BjiwPuHT?_)5>K+1quR6oW-W1jz%E(p2Qu;kNONDySj(+{BXgB!?Bp*48 z2XTjxcU}~zZJG^!CuXrx3ZjYPD1!b^2iPs;k^Cl7F;987puYUVmk!HeaKi#{R`rfR zf1`oe@hDMlA7di(4dQtAg2NsfU?A!^dnd{qF5$Bq<69K`errfrCga&;yhPNsg|KjA zEcUM05K+gk6qKYGyfUgz06#f5{kjMw)n(C6Umv4p?ddn*6`y>k+7hq)+tTxgP%&!* zm7&rOJrB4D5V7af(4Rd1mvn}H^EIg|c}+NMiM*0-M@TaH5y7V!^8q%&hX5^&gQ$P| z@nDy%BR!f$xv89mKt?XYjR)pH7do8H;!t(QqyC1>H{2$H!4Nuss1=W%B}2#P2ZLWK zlo`k$t$*7Muq{H7l5YkIaGoz`kf*w1d2SN8Y?kMpKOZ5i zccF;urH(K9Q{=1K0wM}?vc$iey39`(wjz%#$@u4K;9OveWlKwx^KEY|{*^nxM{k_0 zoJ^FTEg-MZolrZzDh~+_(VCG~KyfO#{ zu>E2=u!%MG&j=uT$gR{3H`B+OY-sdqLk>1N$#3svQr^m3jd9^@F7v+&NV!-Z<|}tY z*$Ll)^N2jeb#{gy_VkJTvICGDxJd|~2Z3p9iWc*sM|{=XI+*%WforMC_?)brK)=m7 zY~^iF>dOppIk=oI)6XHjl-YyG-&4SD6;I<1ZUo~V!f*2&1IWSUP?2;d3;jJIwjUy? zO}cK3A9IkvMH6byb9oH(V@@dZKlkbI8#|KuMmHPk!7RwDU4hXJUl>VROA2|(9jm>+ zpy#V*G}&rFyzPdu`JmsG@hG04KV{A!R}De!=01SvBPxK;^<_j5__cMRwl^l;lKo6)fSiA zjX7d}G`ecljl6vMf-3N|6ok6}1c+_z`0d$Y1Lg-e!0PZFg6^}@7XRcrljUz!{5ucg zi9v|#?GAQy7AL105c#p=C}N8#VGZ15&-f;%!#^VR8P9*h>W95n)S+{@QQj9gr^-2E ziHPRgO%!1-&l#>B1mYcT!1U>2IzKiTCp((8K+kR%u-Skjx|9K3PR&H>-)7j48rcOt zb|m7T-1L2Gv&?x7Mf2Sp(@P+XJ89|H0=lc{IM=9wIVc zfp&jhz`)}*luZp!yuX(`0{>F1nbSniV*F@`7!ITW;*`0%ql_*H-7|^zcM_n zScq52OJHF~7tko)iO<^Kz^b665BM#{wf$i>@Vk97>n~d;k-y{mWA7W}4cU)@j>XWu z(GZSoN{Q%|6(O7{oXU9FkuH_4VQPIMxY(6Jt#33@j@1Hj)c}-uUtV-{E+`p3tO&JR zcRZMU48=Zuh8(j#^ELG)o_Z`vVE!BmdHT&v89(F>u#@gUd`a$^ols2pCaWR-?SA6u zpoy9`yus(#T7cLqFBbcfrAd9Uff<(7IRB70L4UZ~8T=*y=Zrc+*eQSh5N$)_{b7U1 z-~D}w!yfiM3&Eh}06X&S6#a(A0$6VgL|8Ke_FpBT@t||CV7xk(`#~ACYCj#vr^!O{>ZL?fJ20I5XbR2`n&Fk+KzQ48Cz|u=jmXTrCu|**KYum$q)Aja zjxbw6Av;-*>Ms4o$vcrmo;YC!`Bu)co{4ejPf?xxl{dsz?SkJjIbE9n5S**ma;#G# z@`=}T;I{;@Du3yZ{ua3tuRk!gXQ+A=C`+evH<8XA!twNUFkk;%g0k<*xbf5k=xoko zd3=Nl^XF2uF|5j%c$Eld=`gU0kv9+?SPteVeL>fc3z`MHVT>V6aDa0%hfltlQD*H^7Kpv$*GxI5E=9j=e? z^h$gBsOm^qqZ9z!C=Co&EEx+Q%LuxMQ1N#s@hT=_pl1~{4whF(E7(W2L48r`;eA*p2t3$puhM9L?iLF_&2II$SHd(`oXzOcm4(en`ZOX{T zzZk{}?fDR|u{wl)>&f4~vK0Hc0l|EH4d+cCW8U4Bpx<3&hu3L#Xv!tTnt^C2^`}4c zKe?ElB#Y@v*TK|T9}IRbqVwp-5Rf|nW?Cqs`;1Gtk^X>orxgdnhrDy|!*0-MU5!x} zOl1X5%{>hE=^WJRg^S^o=YIv8tO!Uixk2^?eaXB6NM-WHYb{nq0X>pk6YJl*$ zh`rl=ai~o;pH}q&-6DJ3Fj2H--t>`F>+p^$;4q5R9Wu}sJ@-r?f6F^#FC4ub$|fSG zGGO{wh@_MbA`or4JfCm^um_JH&iqBzkxtz;Cx6XJmjm+FgO-Qbtf`~PICG3{)M7LA zt^xI+(wp)3A0bSsaAbTNZV7(9z~H|TL%_K=QRa4so@vu)+;46_xJ;adp8Le1=N`l{ zdN^q?N|ybH25W+|H&`|PfxQKKP;pq3cFr;MuazH z0ozYzBcXo7!0!xI%D-1CTJ*-gspk&DW?Ge0m;axD}1ZvIXN%>9H>{#~@n0(H# z_Rk;d( z;SHF!Ylf96cRRCwATKMblT*R#4%XmTMZae|66LOU80b1L277Y1aKnx^;I|tC&2*_| zUse&|{8|G1AxnDCWZ~%A09)dZC2+gOC)Hkf-c zf2pL2o;t*9#<6$4p&IqRB_1SCr{DhFaPsGE+~`x!#>y^}`G(w5)z^&-{Um9Bc@Gls zbXTWd4TQWu7dY(Yupsc0Kb-#Sfg9$sxE%Byi2uE!in{J_V0}nl+xsX3w&vW$%AL)V zsekK1C}v_f`TLCCOplRy*3$`V%NyMI@`cpM+Q4C5oXOgp9~^e=ktO5NJP4>$#QW=o zEy3>rpHk#{R0FvU_Ofp@>p9av+;k*6Vw3Rnd=ua-(>G$i8-$fZa&LD~D==NR1|-wu zwQY5B?I|IP#wD`W+^L@d_23iGS#?GNo>M1cF9c7wH3+7@Ncq>ii%O2m6BNyxV4(3( zN9@g{51&7}=p~=n6rRK25o;LiesU)I%eJMy+y%}9W<6v+PKN$z{uY{^2P5^;!Nj_u_ylNm{7xJU@FU;$Xm%`^=KP>?r{UG^dqdmZ!ZW1$hvL%4dfl{&>#H1!Rp){ zG~PT6x=&XCiRzUE&KJ6|_vtKTdvzEgG#}E9`n*>Mz3d`DrTK6)ajOk+IHJE*dH8bn z9~gYvj~G;DU?8M+EcMSD5ZC-sC4Z}E@-zig$K|{%Rn~64P6O<9@)m{p@_(9%@?Mex zxoyipZl5n&3GpKi^L4JA4^Gm>@*;l{=a{_7eYqQ!2X>>Q?GK4^#Xq1+o~Ot7b`JBi zpVQmYLjlbH18PC*W>#X?8z%7U%8`~ z(F&HV*O?EZKBw_%%m55L+Kl-VR=I%;MaqWM%mFMDuCZ+xDP{re(>x2k|UaoBHk-+(&2Z%8~k2ihmzdVJg=xT z^<@!W%#QB15H2%q@%dvVmd1?=+^|Pn(vVkGg z=SgJuJOkj=`+`&!x5TTOVR)6Q53paYQIqX5z?rQ@wYYtrpr^XqVXwr1{LPHT-g$OJ z$UV`OpIT$@0UgDT3WJZ2c%Ll;X;x=~+4>cUe$DPq4w~Sfel}FxmdT=qkv;W(9-IeX z0HIG~h|TaL9qFC|tIzN0V_R4J^O|LdJsURj?@PQ_F>uQloTnHOk(#`*ZDKpH>bU?@ zohL)t_G*&plqRmN4ug~ft7!b>8#5`>dQN?86Rk4Hq5_vL&w3wNKqBbi#KLf-N&$YQZwSL~G#bf6nV<&@Fn z-!p&eK@O3ZC+JbH&O`F5uQa(6W`z#sWRM>pLcnhtzwOS8!M^}{+p=>K=jS)P(Tn^q z)QX;V)R%0+fA~R-c~cM|Dk_qG!(WC{?}v9oYm+#3{f6I>t~K6dgP!f6$6`Yw`ja!^fRS`QN0&NY)BwG#x5BHg!!Td@iOv_5 z)7Wo6n9kjY{*pd1ymxoO`yVw(^sBs=F8)2U0-txlSuPJm4Y%)&o(tos2Xenpi-}as z-<6KkgSU9K=ph7jD+l&*{(#u_BO)|%=P>i7RU3yC8mPWgWqsow%68mIwdgJ{85nOsA351L`EWZ} zt^C;!J-=6DJkJMW-%cE>Xs4rR==x2qyn{(MX#KWrJRCpWr7Dz_j5q^#F z@5(xGaauSEe&t%*?B%#oE>}Sxd2!e;nE^D})*gE@PIpx>BR?K@Wxnx_5MDiiTCZQY z(I^&b-z(ukbq5^Mx{SN=IfUgp4NaQ;qVZIh1m;&MVT^AoaA}^N0dESRR$pOGjlDP> zoFmf7H*+J-r|;2k)@!tp`Vq_RZutRz8pJGuBS|udkEUfW4T#5WaHK?gy0dx5g&HK z{_7?fHM@rS0yD6>w+9CMT61jR3&fx@j@}~2*fajhUp=+{Kn8RiLK8<>i9W7I3cU)p zVm=wH!u&v)pXHkRyM~jQA7}y2;5uCUE3Z+`{DQ`V_6?_Ij{r{Bfrw%0 z={}slsg0$b5k~iKL|i8QT2Lp|IZU@b__=35nV%YNobNJ}{C!7kYfm^)@8vHF+c;pf z|34u4X+sEgL%jIyzeMIkM0cxf}ayD{h(IfwW;@;?Z`_F+_*l#jP;TUj6F>TAgRZWP|>fUI{7;p%M%t8 zQ8!Dv^xE!2f7fxug~nLk)Ix*$w*r2D?f~a~o)9%$ZrA>mi>cf# zG-;qn`WeclfDTdJuw>aj3X@Vabtf^Ecen$Cf`<~$(jE^x5xzp+b*LBuh)e7Q~~+;_@T~M z7lFh>F72;-Ky1OcAoTX-VDx+wZM;!+Lw{w~@KJ`*%TFmI_3I${^fB7KlNHT_rN+$1 ziwRK80!&|>gMh|z7sH7WY<@n+=kg;ks3E5rZj<5s?@WAIsDk4$`$NFWFPnU`h0Dy6 zIPxt6-Wq+NBmYaNZmTwyZ=C?se`k@cQX$k{k%yHEzF3lPPV|v4H_)vA0t@%$8S=`b zzUbvU{a%svjnH|qZnq}X@uhs-`y9vD8NkPDWsbP*0#*r{^zmyiboZ@8_q&Ai zu2o=P9{{GNp9XV2DF5*0^;!k|zS4QzBWN7IgDStNT8;U0F-%+ZBdi&BLy31kohvT| zl5cVwdqoQ(x_k+Db@vR!-W86$;z;cOB{GOBB9PnYu->N57&&4S( z-fHHD{yNa*%4q;rXM%Z+Q2M>J*A@R1aQx3kSp6-Ny;d0RMgh`>l5r!TPhP#Qk~{<9Sm& z-O>=1G-?1i-ABTac^#gPp6brnJp**3E)w+Z3jka2nuu1(z!L0>(Nj;*c3AEq*w?o+^+2ZGm*hg) zo%8XGm&Zw~qm@KCDGoPo1mb~pI82YTgWBHL>AZUrB7bE^lwai@>-gRQ)R*hvJf@R2 z^IZip;GUc#2D{T`;99`BuRDhP2-0V~baw&2-Gut`k2N_s1$W<%Qf54QNV_xF-5B?C zU@)x>VJTYmAl{xRdsSCD+HX9XcvpHcMm?j9^p42nd~miW{C+15^af(DQ4wy;zikG7 zpNMVAn&HHIiauN`=)7>)K;kU~VmDcx$^VZiEB@i`(HsD)y@wJ9e1^d*-D&)NBVIXn zqFs%=m^aLRGJ0{s-iNE5$TyiT)P<5;0dC;pHWBEG!tk_L9%xwIz@cSTu>bi+4Cm*v zKIC;o>eWE-dvC@OKV*&+R7mF!N;jG{cB3ZUjfXdIzE3RnV#N$Z)P#wB?A2Z|PU#Bp#&OQILZZaks(? z*Ggp?5Hf_Xrul^RXPFK4{zM4pTMDd_<}}wdZeie z@xCR0Ta1GMt6~s}lmhSIg+ps5rsB(4dl}Ew;q5fR{Lq5DXTJtfUl!Ac|L8pG!Ap+a zDfs!ypONq1NJl1eLE-*KOx5-$)J3~sX2?pM{CF_H6(v*HZs%5LX(%=@i}FwCgaB@WD%soj>;e>&b#ZWG_h+r!f64+_KEw1 z8vK>twtYdJduKt}HMzi@CI%)BWTSDA5Nx+(kZ*DgC~>APoa=LJ?e7ubCl@XJW`k8# zLvYbNfV+2F;Hh^G$6hXxKGNCiBUk5U$f_pz)cC*6L35W zBH?3u4{#YpM_xm5Xk!VA$dZ**zaw;+lOF@Wa_`&9cfH_aI)^E|A*_4-aPph{yJ!Qs zOQ35jg07cGlUvqV!H2wfV4OPae@W6|oR%S>x&$DSLk5DMB5_1D2lnTk;BDtUf_CeO z8%47b_4*s^$Y>hPd_ywc{Sl52seqY-KYbW~%kXsQ;4td5Ohf1PW$%gmX7E-7u>01- z%p-jci?%j^H@RZBOKzKq*h{~)4$0ux!jJkQ2|MmI>8vT!c$@bat-eZZIprAe70yS_ zM-hecHrRx=WTUaHfd;F_GC$o!||5-Q~J?jC4W}Gqk7L8)_28cb6 zAjY>MIuBRHm%0wb*5)%FDBs6}JF-}vSV{P$0dds(dGN72nIo<&18lue`W-kNOl{^pGSI0x!R$RoUJI0Od$WCEG& ziIv_reerKOym=46-CKijsQ)>Td~JmOmJZiLFLIOJrMd0NH+evESFJ1a=ko+pDR*X0 zxC?oI{(;8#KkR6f$8T%Xaifa`me1_$PA0p4A#KIt%^zjziB~QO@ED8vp$agJII|5_!w!ju$=oc-fSQJZdemR~rf+?TJmXsSoqh zD1JMV$Pq=0FlF)<1NS?Jb8aOspK0g{ewkZ9*GnFqzIhsi{+_0{=KnbCWJ9F#p_C@! za;HR}O~^;Xo6V(elc@K)#M?r~p8Jcqz9TEZ?2Rc)1hUO+#TOtP=5m z{lM29qX9?Xf+z=N&}65)w<6su9)3?^z@&95^;sQzwTtbjFVDf?kCzJbQyHkTAECdR zO?25xp839YkYG*((|DyHjqBuW_TvmTzy29;{`Lx;+FwCUT^kcjh|Kh-D&MH(mPPm!3XoZ zTh25r+m^&Ip3BPukF_VQdaj|Pw!UDWq8dQHRkHVY z_XzSM6vgJY$-&+<(!T03M`+5egmK?B;NyiV{#~SxYbo^hIt*L}RbpzVowHoeYsEZ5 zo3b>b2vRPOx24~kct3I_-mf`{SF_H-o8}`c;%H90E>d3iW_2L_Wt`62U-vQW%t zeRDxCt8wV0+*rB5Rg?LK0^SeO;nPQdL>OHQx;3q-DiwXmfVXlNaBagD7mpED->}%ktQE)eL26}MMt?W*i_`e z^xL2KyzT;<-CYKvt1>WnS&1fZZblJT*P)lNuyE%0Z|U;HP`aEgbB3ip{qaxgcv2NA z&KggbyNckqt12Buy3pl~2egaLBZOw_bm3S2W65Ye_F7K``<%`cvIVQqq|!oID3oi= z8mhgSzXZT)u3W>dm_olt?}Gicbs5yZRH*fng}m=w!-%&AhiYWmHOzs2pEcvK{$}{6 z{}=-LY(S!qo~n?)@($A`JJ3~&&Ggpq3o5RE1q+J|6Q~CV^}%m;C-nRUB>k7*>Fu)w zv-c#Ot6Q0qALEF!k6f&4b9*H7jpyL) zF~gIv_l?*-A0Q4tc?E%2{}%YHN!HrP?N~qNkA8baoW$8}b6*m)e@>${A1nWz9G2B#7q>kw`P8NO@>L#)TBnYw zCn;di=LtRs$O?h)L_*cMP1c%hq%s)FNo!{buv0Rgc3Xnc<+A2GFduh~T+OKWay2bE zIEL{^UZi&SJi#~zPb5D+0@&a;(38IcW?Jk6u+<&GR8#&n%CsfYyRw&KzZX%%1~#S- zpMV+o*CrKy^@**ADaYRZLPzDgfH*an5Pr!_FxMOwMy$iKJ6-L-Z=DXY$thm1dSdG+SNmoD;QaChuFsOYtvKJJg? z>p2S?YU#~ku~8s2IfQCEP@V|dz8&vdt*0EGabd6Vv(EVU5Gxb=!a~3z(r=DqD{{e~ zs%JlkcuSLLJV^%n-ATH#oNiO5j64VQLC27K6@f3$ zWt?df9Zo%v#P0iwuzG#tu&-y*;UjSv^v%8fRS+C)my^s3y+Qn|FHx>@ zz*P8dz%~>8X)FnV-}8a++Y=g17DA|@jxGAjBtVA`DE7*Fa5;DyPjAYJ?DirYuf9&u zIi>X5V-&bVoyLmd2^+>Jsf0aNOd;O6d|l{-_g3TZDr6vzkCdBlT03=OOtHZ7&Dm`J zwy~xjTrfi~=kWAj`()1d{b)CFo&o;N!?Lj}ko@h=X4ew@`+Zh)C1+mK=lGMqia35S zwI$=5rV)CXj1}+MRDscd@ZeejaabHQCEsrI_4g~PsM}#QIkp3yt{;v0-;+4@z_Rx6 z5eJASp2+d#3>x=V#kKD3D70NPx}d)<=+CyC)Gc;%Bwkq`AO0EhM>0}~cNEmFe@zwm zEpO?Y)RPbftRByNC{m4jx(;m&oQyEloB(X=479O&F4?`~NgU&O9U&<0K$r;^aV=Wv zRi`a>_`D(my)4DD@n}BXu;bXwHJA#G1J2%h*gI}bX=yHJ(PysF?}ESXat@1pw8!Az zbyXlKF`Ygd6_75d7p{dhfNu=(jAGS>FQ#M=K1m*OAz!%MHq5-GOOK6+6Ckf)D>Z z@;qz@O`d7^fy-GoN><3RQ2sa~;WQEXI^$`lG@LwTOS}cU~eV$;a|`O4(SO0=d?!eN#JL8EVXfK4oC$M@D)nK=tMPj4r! zb|v9>N4YlEXtyuxO)d`9m($Sbv!&rX_E2T?- zslyn0Ybjz?t)|K3Ei@T54~-iQ2Z&T%Kltqr`|&R&4mI4c4rXt_5`Js@n@>88>HKkx zH}Ni~$+<^k&~p_GuF2=?xKN@TwUGd8*7ahYbw2EGsslCk-mt%NH9KaU#b*t9z1yWn zAbF=1)b5gddab5_edTo_P2>(mWC9LbNP3x!{|VT`}wfT+D! z5535${gDv>ap%4zbLv8*XP1Y&^##acB>G*5oW`d!Qn6D-WJ7TW`9MukrVg45d5JQ%u z_FE^=Ux+ic#9}J%WnMpvwfV|?4iVe4eY z^`|UO4XTggd{zEJ_E&yO>Qw}48c_@Z_jiJG{8ljd+&F;qkD2saHHRI&W#PPLK^x|x z&(rWvW|sdf6R2zQyg_venD$%)TV>A?a3@bZeH;O>hW-d-b2pBde#{BI$U{iym!bPT zg}64f0VFq{6OBDz~t3MXr+^*o$ieT(R;X zoPzw_jfj$5>8+*=z*6sWSk6W^Q{?qQE2}~1c_d-&ti@WaIrRByesB z<*TJB9nH(4kB&9$U3C?ohkhZ-uy}ml`_YZ@^1eR#Hrj;z=oXHDA7S;LJX1Y(1npY9 z#`~lD>0{Z!SjM9aHm%DC6Yp?s>WeOrWGy5%^XoXSC0DvWOvB#V9(mN=Xn?proK%b6 zWDmd6$Eo)4c7H97hsb3P(+7C!_l;v;PHsg#kcSD@w!vQYVt(5x42C37Z7qh-rFIha zrQlsZ;+46mPQEGnQ#Qh$1zm=Gg7X2JA#_b2y!VoqF*o|@!T6z$S7CW!=y^Jlvc2a6 zetkm8g<#PAxI~%r{UK5KH_w+k`Gl|cNAvZ-3BaB(Ga7p`^=tMEuX=l7;QjI*)a=W% zSie$C1HX=RUc3YC)>Y8?R5^W69z<-pFM%%cDSGbO9wh50@yT5m&NEdAVO+Ky^XGOz z^8O3vFHCNau9{3kYoE~CYsCcoYi!N@Y8!prd&ei8Z5^>EZ~rcph1JTpS#V@SI$x3U zu;r&Q{@qmNe7cg&ip_MHV*zT$a-q~!u78*e&0zfPf)0-SAb-coBWPXZBrapA8}-VS z$VbWwU$lgKlyvjhw;OTu>Kt;O4oCI z9drn4cXq?cBb^xn+y5hk_1!s4Wp6a~v^7%B*Mz)36EV7_1l9HSbH(RUU~eU7EVq*Q zZO2KJZE+vh3Ma=gHck(xUKO$9j;T8Ssf|D{{qfl|av1eRM(j1G;N$yHGqfRVBi;4- zv7U1auT*4NuD=<34=Y=dAA`w-llB-rB5#=s?uGY>N+9&Rx;1(}Mjrzf4kz9kNIuvA zjvQru_kAI~9Wo>GO^0bRMPANycQ>8imMZYbn@xQXnH*e3*4nocex0GLzE>XgUak&z ztKzridb-5>ov^N^$5O9Mv6mxPmj6YzV0_aACi5oK85`y9gd_E|3)TRp5o*5V+ZWm$ z&?0j8)-?VjFIm~L9{PJgJ%#oMAK0HIbu7?1uPZ)q{J;`J} zu?LcR(G;Is1p={QFzzn%LB%)Zg)gdaI-$SeNO|KqW#*H+%!w_K@Xx%X%O2}+ytt(* z^MjQXsE^);oL|n;V7<5#=I#3ecEA5lDEDGU>KP5=2S(8xwb03UEH=gnNRvt56;lI z>@kUGB+o}x%dFHRgg90ug3w06Jvo;1OL^Y8NqgG0 z&Pic@@D8JG>xpuHQyS+9TRA0Q^>8R(^;_cP#P3w^lX6dt+jcAFqOIv|{WWjmZ3tlX zi4c&l3|sGH`mrUDP|FJG%_zwhJ%>^wmgGTWj~yI#cV8g+(Gy_r%d67f$PHKd`M^2C z7OYl}8PECK1Niv-o`g`9$=%*03@olk-f^3|60h8fE~NO0HVrs+}M0g6+Yg;>ai3K`(8wsNpcm+=oUMw^BKX;G_gj{a>-z&MjPhJ zH%PF9ugQ<}t;4~pCt>wc!c^&)Sk4zdf&J;gg>wj^BEHM7zK5poq>dVPW?r{ImWM#QEiYzTOm))pnzj z<{4yJ&XN|`o9W7$(LrDM4FlNWsgBGomI7jtyy>SwCH_ThQloApXH&1Lx^RtDPZj?> zW0)V561o2qj$NS%6}PTI#e$tQ_K|ndD4K**{}hPw%|E=-_nrbDvfy`g7l$n~=udu( z&;!5Tc&{goZ(g;;-X^}jdefQnt?yRMuXccGn!Ijm-z5{~8zKhvH<&u>8peF1?O-_f zlX|t0!#-OAnCfoKPada5e#lkOtA__N-~Fls=R*l5X##LY$zPQZ%5i4C5s4g2qHz4% zKR@ElFo2J1W2je!eBIp?D-XhvkDepu9aT}p)sA4`?G{HZSxPWF-eUA_c`O{w;#1F2 z=Gf~4bYu5RavTc(J`=E7>NOu0BUx~SjM~wW6|!h)4|ODe&P7ycbKZl1H@KEl*ng8 zflgf!RxS1;mAcmXD!zO7QRm(Jc^sR;A_272@C$6*te;o2I1WY)1UGOPTD4%G6% zG;bm>ZIZlvc*&YRp5~%)`NOE;GFq*YJMn{syk0@^)Z*w?*xT0&ey<<~Rat6kCO77n zDTjcc556?_;I{}{%wMYjAs;gp^jE=eR)?Tg-5$#+J8Y;2)xczx7)yR+_oiOmKo(c> zh(kf{&(ZuAz*@81-fFf5b>13EyBz_@LO%%9%+>>m-F_#=-yR4g_%aUJ+ad4Yra|y~ zn=W^!0r5PaB<82i{PwgF!3;e?PuXAy51{mxv%VY|;;F@AJnN2o;}{C+3Ozn*^ZTgqOiOGLD;G6j3ya9Li# zVgH@Pt8}?>qP?OU^9^}wuR9|B;K&RUPQJYyqTPU4&O#=Rt*5zlqp8 zLL5J@^x*u%PF3=pO#ZcvV494<%JWF*xh!ul?C{e`#y2{Ol{+-XrC>CB2F$#_I2wCj zfYV8C;*FQf(1*9iGv8Q_YXKJ^;E3GY*eQm_pX9D9Lz!aNJ0kDt_5>4q3l?4)Ib&}< zeXLF5x6~z}X!lMU{ANcozJ10(;X!rAkJ*r?{2vbG@4{5Y0e~<($)_VSK$^z!_1Gp% zeV4a{H~IrYf3-O5)l@a&=uK=>mg3*t%jD|q+V1$*6~SfOfX1C;gl{qxCs&_~qn;{& z%M+Pa%v(n=de5k$ZB;RqWrcqiX7kDEHHfdXbRgf(!P`=~WBR|RSUFOP4vOZHY9=yK zKPs2wJo}Kp+pnVCcm1NNSABrEZ73KR^~Y4+9~^pi0Vn_Yl6g@c$*eys6SFc|E$r=H65 z8fQwu^u#YZDwfBe>&|e5!W;_O9BYC;>qZ}8ee=NY9yHd<4ZELrgQTjPCgbWiW7a#R zS{PZgIg|q8TH6S4N))8bw!oJ(i9= zgA&%g>F6NNAR0X%01Y;-&8SLA=PK@4uA4j7G`!| zBftmmeaWK}gBdTSzWjZKq^h?NzEh10_C`QT+IBEd^oB-_L%N)A-6s4Lc{j#FcSGv) zWiszvQ8@TD1o3z6C~n`Mks8?>$myYDpgYx^KK5F%w}-6a%$5P8PG0ajRZ7qiU%rmb z#G%+|u#b^D(<58a`DfF~jLD|_7J87wmQ9$Be?>9qc|Yz3d7~2bakzW<5C#-aU~1}* z?%0zz3|(wT1zs<=3B9yrj;SI_H(?;|Tg2Za)(~vI(o9z~xMLQUc=I0|K}n$la}F0@P3rpvh{eC;6Tk^>GA+p#UA(91{Y zs;m)R>TJiCyyR%+YjUc3#FU!tvw={}qBu4n9q4>VlPND=BgYDpZj2xPh~`{{HSs>g zzu4ok_*WMUzapQ%Yhb^6AKvf1LGxxE1QI;~u#Fl)3 z|Bl1u=|J{g$pnMYjRf6R&Jlx)@Fn#fbT5&L?z<2gi`R#uXFt-azzVNQM4jIj(bz=f z9pS0TT;ORc_&K|CKDf_@^TEx)?zml@{E)jWRxGCR+o`0>lxawLWf(y_YmgAb*P4=V zg3Fx;s_^mOQ1Y!MeauWptP`HNf}chR_FB@>p0zsYWu6oBH3t|xBkOAqX9CXaWFVPX z20f4Dek9*S8sB(KybFWFspIKx%25&$#~>O;|7gU=iJE@o~9>Zf8-KU^4KvIj%`YBjz_(j`@|ce zjh`9Rmt2g-dl8Y(B_-;853o-VVXivrfu5J(>4Pai@>^ECbT=TC&job!pkWO8D^GRb zbRxmFw}eJ>(}CpM91ZZ3rFNYR6x%!z2B-eZM9;Uas8{89Z(<0IhWBVZGlHO>%mT#N zBuLqEvNL*-+ZET|!{@Em=x>P%M6LUTYx+w7XQGNe_HwAtZW}r>Kj;qek5A&2%3S(2 zm`g_vuYukAG2w3+&PMY+x{A~0uq(DR@bA1U^+jzM=hHXwK>HUdq#>hFNxB;Rri0L@ zvoyKf1p?|rplm}tOm7>9li%OMYS}B?P^$q0^Vj^gDNUJppWx(0xtRFe9Z0510a&#L z9h@yhgoz*c?XtWKvfh&MvSlm=)^AN?eezH;_TFOUYBlll|L^3-MODU+vq(8g6gJ~8 zv7Nj_Y`%dJ%wOd6^;A1xdUgs=&mABH(-6v1tTE<)AD)RlFBr_~PDCb$Xkyow%{5sm z(qBv;&*gT&>(bjC7cwRHIbHVJO&|S^$6-&V-MRfZVpqRh&Knn_zp`^mtT)Lun-%L? zQ(s;Y)&dhX?0KqFuVk4;;fF8&{prqlE|ZfMn-JmsX6&8R6;It|ApPShBDK4trq2cvJ(hf5Z>lHpK*gFS<#j>zJrU%FNlz(hh?nApy(*^s4Db#~`0O47T z(Uwnq(8~=#^eX6u##fRRake1d+!F6Sma$P^2@tNeB!sp+W1=A=Sh`#;48BRcftQH4 z)CEFy8%;ugzX`DQeq^zwON?CKBJ%gI@UOXo9rzhi57gx~@)vE{EUg^{e)3M3n`34$ zz8&jFY;sHKWolq>j)7mW+-YahAHd$)v|?E-G02Yj2|RtyX%qU+wvjQ z1G!gs%yDb%-Jr?6Q9zR7&au;E$-C={@z^s0h#RdF$gMOG@(M@ZqjurJUuR;w;4zW> z7@5TUs(F9>^TD2TO)UHlAU0)r*;DXuu&?lTM&mz#z3Ek3#-l`FI;H|g=exu+ACgLw z<<6(A}BuC+E|J}%D+R!2?)(;Z~grRg+jUk$JeZvo=( z@$?&cfY>HD!|#>1gPCvapuX&pQDdzcScP@!55LR7`NSibJ}gT^inr+UR98f_d@_3`>d$pkcbs)i}jsc;26?BwaWeabk$Z-ca0*@Us!+a^#kW4`%qJgA*h)ssPPnQr@Gj|ZuTms@oyC^)Z6#dALwO~3$OP^!c;{9`FazR7x26Ag?0w40fBNc0H zxc)JkCXt8n{zgqF_*KT9URz`8-&>-r@f{8>YcT3`B#HUP_wLkZH4CX%pfU9r;P}2E zHl45W@G&3;J?|mF%IRR*@Dm|qD$=U9*C95(DV@y<>J$-)H$ zv(s`K`I|Bcey7AS-%z5X)i>C?S>Cj~p@Qrgq8d)VrD8crF6|F(-i7+|fp(2OK{8&G zV2Wk&Z0R>VEeIuN(%o>V$#L{-AB4hYbp^l8LG)pI92VBh1(%LWlfiEU#ck~+^x~bs z-dn3;;iC{;y^bX;Gk4%rkjJXr%rT$eIS)(=a?zhW&D-<=J0=`fC0FHg|4U1p)I1r; z_&d4{{QhC@=p(?nV--;z)+T$Ndq8NxW8z59)*;{eAV-q`LRftma3aqT$CLYZ%qJrT zQ?KR`VA%kUSSzpBH*W{~$-}Iur>{87rvkQ|?Ucb!PL1Xq9Etv9(XPR8=&=fKMSg6D zfG7Uh%r}&6887b>Z`-FhdDX^`da%tK{C0aVFYbpgv+qDzxuGTewl>6GEE}EWVa$ix z<8G<^|IA>M9QY{pVSJN%iY2@`}wU)97kwPh0upj z5uwFc=JB9?JOk70XWTz-7S;CGtpyj)^g`;1{6@AK&<`NT&N0a)V0OO;OZ?hbZjyaJ1H^ z`3&m8VD{b&OQfED8PEB?W+d~v|JT1HzNR$;rangqFj;1ijam^_(J_8IwSbH=yiXI) zJs22yNR{*HT4Wpg6X>4Gf@z!)%p9^d=lo3*B>SHR$-5spw!8zswGl4w4WeDj&B2^I z8_;iQP9NqkZ-C@R%1pG;3gt9woD3gp;nHXbVdXjXC*LYK_F6uslx_zwUPd~w9udvn zIbTtG%6Ap;Q?_6}d5nG|Ka*t+Zhp-Fa`E6`Z71rL+0w!yz`^l|O8EBf0B zx=Wkl!F4$&d80#7cp>)&9NL7Hx%yPw&Tr{=gZ$ygylph`Y9W0%;_iHTf%!c7)3KOA zl&=#qbym6stIjKMGT|^fQ2sz}b$Um;U8C{E$9ER>gv^|hWR#$oWLKOGJ2dyiDwM8+~6{R$?3N8?7~F1U;_LvSITQS5*d zBElZ8vOa@w_tLLiquAcnEqF&g-S&LeK9 za{h4*ASTEIm$B#Fm_G-i#8Dx{*4>`NQlsOTt6T&ZV^>e?EkO~^Gx@EcJ0Kb?Czv~@ zY&k#L22pPn_&O;xn)&2c_6`YQN9Zp6yEzfB{2K-`ey9=eBVUAM>p>Hx93a`}K!Sa= z#DL`(_-#@QI18OP)=-Oz8F?~{^{Z}l{;n0Z#A^hNH+JFc+8qew!X_u;EycWM5%ub@ zK8?!@kfYsMfAs86MD3mNV4;gLIcS0`ns!FxyX7(3Zc2lx2dik;RuXn?Jsa;105p!q}&&rPZ=>=Fg)f>cP9(c(4paJ~K9}2BGokG0h z&_<&YAJHG7{>VfnjYq{X9=RX}{kJyco48gWL-eFh>BQTE9W8XokC?@T+F@Q7#>--V z#`7AKqo>ybetp3Cs@x^NVm6%zErgGpdRcX z-eqTSBm68oV&$w&uK}J8TwsHqjY-q-ijn9gHI@1-uVz)+3eMUJj1YD%>^R~Kekn5v zzuOq53mL`48!5LVeC`m#dYB~kI9al7bcfz*I%B2F0L&*>(&R)ZzOHQM!u(H0M2+KE z_LbuMLJwaS%4_r@9spR=iz?L9#sHgX=YXDfz{j33e65k^d#WEPF~2%VMCw{d+4Tdz z{b>Vg0pAJcS1`KTKS-CFlT6*{Iv)L1UIM1+v9QoBj&Wg24H%SF7*JpO;>M3D70|BY*<9a( z%5;BjIpefvE|B=wqV{8T9J}0f7~|X4V17G=`D%SaEp1Kb@du!y*aN_{Jvmk*4_1{$ zdbw)|X5l;9sT`->W?7kNc&0V@ZJ;_fE5TIuRFt?@{2TuR5Wh|g;d-|l@uqb$fsZ1( zyuKG;kDP#t{PiB-w-v3eeo5i>lnZI5^48sL3)7kJ)?&WwGht=jvc}##RI;QFPuIx< zmlu;-aIQ87C;!VK-v-M+UNou3-BU(G$q!{h=q%n(=sui!&*>N_gMWs>Z!IvH)IiGW_mEd9Z_b@w35eFGacI^#b@bvm z2>kS6E6jl3&d6IQPb3ms_&RtS(@cf=WGP<<_XCJdoe;<;K_g757B&i{prv z{qR0^9<@_X?to}3FLv@jfW5p=w#+x=qWra6_UJFWBmNyl7B2Ei;u2Y$%HKtkUI)Q6 z=6@uecU+I}_s7l9E?P38&@Qt@gCuR0(oj+vZ6VUM%AVN?k-dG$mOZlfo{?R$itu}$ z@9&@c@qWMW`#RS-uh;9G>$FPshcqB-6M4euQPz0q-MqLHvCIzYSgioY!ke&JR;;8IJ~HW%5!u@|x?#^&?dq z#*dZ+y`vn5bl1~Sz$=6qQI4lur2eg4pT&H49Zt@AI-2oZo~oEQXFB8b2Ex}ag^wtC zhOJF%JNS@WOHz}F?KE{*3UxuRR4Jh`uyB>NDAwbh2vgh?NoLswyx{+}W z?}NVM?w+l9)kYmYmc4_rQ>`_qrxtiHB$qroeHcC>O7LE9B$?MF5btx;(aZa;0JcO< zbQ*Z!hUb(XG0zgBPTuG1TUU(g$kVdgju<`kBokab9Ax~ZbJZ*p@cV|l zO{%c$6syE|et=MW{-R%XYqDb7QxHFw+Z%q()u}_fX%VaqI8(|2_Q?=rJ7YOoo7$h_ zik`3|WNRyQADv5mNySNzG@9LM(wgz;Hw0uX=2Mb8AiBuS$dB8@VChW@Vl$Y^_~AH~ ze4E%6?fxUSqJ4JMzt2)J%FT`F(D=iqSA z)s$(TiW9L-yp>A4jj?yN$b))+6S`Y{qiv21fs=yVnO|i`GKZ@I#0;lljF%4ssV|XG zTmNYw{$;x`zpp@;I|i_KqNp=qJ=7*?;m|-u=;_gdu>KV%fM1C+^A~fROc@0@`ts@* zZ5{TmO9pnYNdyxt|Ejwv4srdFIm708G>iUCL`m=QFJuYff9r>nYvj#5TaELx+NsU+1k!oQW{spqPz>#2{?Zm*! zzZi%zqitCXZOyuckZ+&+pg-Vb$OY-oHMqM_1M}u@9GMfAnZidm;z*QNDIDCF z&iE@g@;Sc8XkD5$^Q&qK&xuWhWiS8tIXyIud~>4a=oh1nUJD1Jzi&u>PGd}U*~(^7 z8aq^aVRY>XlB97qq|B51uO4X8qCG+W5MN}aR&A8 zC;e`cS8PvdJ`{V`g5mc%Zmj=1gMPoWNmrRD*Hdu!+6y1_ch^_Wr=8Ht=#I?ShNz*x zVg$0TEv4Y-a%x?vyzZ={EE6QYriJY+9N*_pltmXTSkJkRRALNi=A;a|cl`nEj#(o9 z9nwZGrZc!=nqf+8w|;}<=X6Zjb;eZS8-$+x66j2e z==Zx!Lvx3;!@qWuz_b=-)+rEby+2yhvEpFOMOd-;h=2FrQ-T^#N}x8GkK%mh457Np zTjib1v3zQN9zNeC+5I#S`Zjf3bL#;CUv`BuzJ0^V{L^d}O;x47oL8ZSX-^Y-c<@;= zbjt=TkCTPkYhD@w>|K{i~<#8&rJg9`TOL@y6a!ESp+cf!{YA-`x>YVQZ1zQh9Q6Of5k_wnDp` zUSK8F1Oise)wF}HVDQ6hB>!3NhCH;xhWhf1IDBROKC}(qe?LLw&S&sy_6`s~FbuCw zrenEa8rto$iGr8vjnPl~V6|K>F^v`Fe0J!~_-0P$8~U=>SMD{qRHi~5Qm4q2$s-BB z3ow7+2Yb7w4q|>_NJJwgO3fgcPHaIA8V>}ufP8enGYdBc$^$(yZ((cKNOkOW2IBsk z>7#5R2IA#m*SjtR^F?N*g>P_UliZEbsI3n1u2II`MY?R<4fdaw;`o-)H1m_Is^>pW zXS|ffnzPs7cUUypm|=kVA5Z$?UxWtszGAQRuL1`$m&qk`nKT)6&o)O*&Z{h`2annGswFn>=BVWDIQCZB0K};U7R<-{YQnEF7_>az zgZbaDwrDMY<8Eit$F5|;pR_HVdQb%c1~vHdI~#~Qzvo~VM=+Q(yAAdd^_koL1LqwR zL1_pu!rKk_|&bR65A{J228Gv31G*BAWubQ8I7=sT8MB@tkbBONKero4Vv zLruG9fVkOwtaNt3aSe@l)?Z}ulrQ{F@uw(wf5eU2W}xvk)q{G!00OqW!RWXzv`9We zAHU?z(f-reH29@Y?yD1iT8g-lF!PscI8D)U{a z{VOk&dLYY?66ppqWq&@QiT=+B$IO%vNQUsHu1hoyM1bU$g@VZJHzY*kVy z--Q;fm&0#X6`jve2g!Z?32UA_Mr-#QbX|*x!`B#eP4$#Gzf1rF^_h6DFK5ShnP0Np)@iXZ z=L=>S{aTNZg6zQW#vR&*+d)eHAB_6PqxLKVHZz{_wci8!{na#|`IY=BM$GUq<}Whe zxHJ(bwVvDIp9kQqGKeJJWkabin|!FnTe8t}&qVTL1T&)$=M2X4Ny+4|4F^Xo;}E;6 z$hN=`tRh8(?^6(0lw2FLzD-+CYceWrF2{}0#lOsbbosL?zSK)>Di8@Sw%)@+9;UL2v8a{is)qy|H(%JNgUK zp;!1MDvM%Ua^o1^Yy+uRx$tH`nXj?(Dw(oC zV)L9#Y=0La))#IV&9owf(hI;;Be$;YP*VfHp+xlRfFg5IM=YCYrW5Z6OgUZbLH=rR z++aD$R39;ddiu_j^N(_ZzVY1_J)ea5%7qx+JC8WLW#Vu9k9c2g=eMG-WY5fF(DUCa zXiP4rZg{kwfS#Q(|2$lU`Vs(EJ}T3x2TmCHSdSb3q(&6Wg_|AC*?TY#H*U$D#-Be7 zCti8oPk}rK>1oC2H>&{bV~-Pp!DeOZfy7bNmN=sFG0^4%XpD3jg}ns4`ttzqH_KAp z`XLUSFElh`JeTLjrfpASed8S2W4eAYW1ie_W&O;9^{`=NPns80y!cMVJUVF-_F5(} z{$2#}tbRn~ehq{g%lj>k3l$G`V_?Hc5K0~gLWi}9Tit#F@Z3t!n%78T7r9q* z`!8tBPa(=~?|}G9F2`NCfqzrw(%U>Is>%vivZB>xqTIDvRbrdTx%g%znv$DAevG#v ze+z+g&|h$VtPxJW4eyC|9Rcx})fnnQF8wyXX###5?eMQ1y;U@$nc7TK=2z}Y%*Q_v z`EGy0ieHMmY2T4!)H8ZJ`X`?8@(boQp6hlXIPH3gWi@A6^(EPqt>#vU=a$ek;XpVO@LHUep6gsCfiF+VC4)S?X? znZH~jT|(sD`L=t|>Az;7=;a>fOA#?J#_NLUB&S!jOSY@mg@1C-*$^b-b_IjV;%#E z`5kD~SqZQm%@DPB6*Rt;3H|yPVDEOFs&er@zBIRh{S!B-KEHnRwd5dJrBva;s>ig= zlZvS!ll(b*5Mh@dK)mP%Ts~PGhF-qXVyZovyfl6~_I%k<@q)1Ce`Lq|p?2`Ggcb`H zccq>lrr*2mmC)oG?DgIWM?Z}*nwCLZizra5eGGYxCFvYT({`pUzHI26O#NHHZ=sh7 zYqb}S4-3GxZLhJsF&czkOajCN@vqqg2jcC7_ZG7e*F<@{arArI7HwhgimQ&~$4)f) z&kla$B+q+(K?mx6IN0+ebRUq3=DN9N=&y+>^X%X4m`B7T%%R(fsP+gungs!vsvoKG z&Ls)`+0*5<0DJT&OHFsK!NPNSALDEn`c;rSW)^OO!9v?HtcP`=+NPG{i%L0)bss|H zQ?+rosC_)^VM@f&WID~9T0q`mO=a{Vr|ZK?u>44h>c&dkxUtln^S2NP$X^^nJ?%k@ zD=Nrh?Mcd9<7()3{6!pk9^&6&{8JmM0>4&7v|nE3ad~hiYY)CCCr=)e?vRDO!bqGP zkTHq%h!uF>ryfln9K_~yANb9dF)#f$snNxI)DYF`-alX1BoBDSKQ(>Mc*6qnq z^!E%A27b!pd`2E{+1mpKEuPctZ7ALwssV{*gbVYRV!8~JlfpH>`0f2TQmy|;J@mH> z@55H$>E3Ts7%yx2`Y{|g^6f@)zVOwHeA|aM+|`w+L#?uiR}IHooC7eULHzb?o;C3v zBk1qBkayXVLmo{XNW8DvabqntEa4>b$(KKVSrmh={(Po4-2z%XdPqdseduGR+!S09 z#%BH=HleHVS*u$&>Ono7$IB}!74AalAgRUm^7h-2^1_m0c~50l;c)76U(gMZGtwf5 z&eSWncGLs8FT?6O%sjLLu#(&8#jh=19r*;N=Y)?jyY1;C0yl!|VBfztgkCWqt!iID z_f$(i<_B6hROiQWP5NVg%?VYsdu1~C?P70rBzw0#LKfPIcr`{F^9cgy{OAno^9&sK zZcHg1B6GsV)uIh)+w(kK=1L;ApXUp|PdqrzoB?uJ4o1V?!_3Bc=%8UgEiknu)KXa_ z($vNA9p@$zuLu0LOv9+pSB!>;2NhSSITI4enZ7o#pmm>kox}QZeMTnv8_Qr}vaI$b z$c;+*@-$nwbNcWhPf}msihTCfr^Cl8V6Srk*bCoL#4dRU#LDm?C{B`n=1={#Gh!%xMG4OLZK6gw7$xm|I{=thd7+nF_SHHkQ-7SQ^p$kOKp9Jjo zqtsbnD<4c8a=$?QaDpBoZ=`Q{y#x5|Ved~J-qyQ-vt$gW zc8>>_Rk^TWc?rRNxs`}sEE!JDuR~!SkK(v@EETN>SX z@~s<#>78wuuU58!-%37Ze?*ur|B!(BQu-);Z%aKWFr&UK1{Zf1ckFqht9F+eQyx^a zcU-eL4ysjW59q6R5G>keSMJz?mU$CX4=n zYeiALsn1*K=$r0%@OuNMhug5xl2NkSIud>ZVLEM>H?i%ZMtI498!W(fdj;a33^kZv zeW1lHU0h3wwx|Bd!bhu%h++N}aM>!wqhu`Z)|%q!?>QKF^BEAw$i>s^@|U0!)+SLm za$^~fj*}_(<>r=6M<&6?A0ny~h+|s7mhVnXtxO`KrW5dL?KHTIFV$r(^*opPiyQIw zmZ@p*f&lm}#i36pC&F*a81$0C4#&mAi8nil`F%JzKa+D(REIo*8T zg<3VOTi2<#14b8zpKn$&Um*BSp@W$X<^-WRkW^s5I$$8mY8R!{DjF_P&~RXh$I zPGQq&vnS*4HVf)s02quo?}q;T;rwV7IR6}g2XVXd$d6=DvrP(x54le(`z_kl^XF@i z#lY?)cky46C6%6mR3E?1aIRlM#^(iNYT-pC^fIRd_4x;y^ly(>$L6;}fB#60v3`VQ zxdUp`N2;Qi?;PT!&=Py|>=}>l5LV0wJP50Sl)Rouc~1o#_5OjoHu55{MPK>ar;5#x zMYu6F3y32c1EPZtqaoWJhqRUkxtJ)SXxl zllPwJ8Z4}}gPULW?>JWyqRFajrMtOdV*S5fEZwARGy?Tfv$#P%;B z2_4AI*ZaG`Larz~EUY~>_6&mC^CS{`y^xAc5>{>|K=&tk)5VOz9@Ia%D4OlgX7nE{ z8_6O}juz!GPKjoNdFU%}U6 zxh?8RE>gb#4BfxFo5J~46p@eCupvL>V$S?r?Aec}CdRq|wzHt|=y4Cud(_)8{-)FR zaR{>Q(t*-)>M%j87$lM(hXbjT3P5aW3R`t!Y35qr3w~Q^F>mTjys-r^vs>jT8~`73Mb^2DE?>#@>8p+Kxo(R( z_22>cJ!_waJq?m+e{L(zw>E)z{5?n3CyV*?MV{{|h?xR@{scH>k2&+n(@-|Ckj?{M z5@m!ud^gb6fcjj|!H>!qFg!dm8Gi@(G9N0p;mJGEq_XSpqCHlgYu^Iqw_#* zlOw5nGa88d$f@8#Q|S4cz`@zV%;*SyYhsE{bF`eWHwFw!6zHfri9?hY5vsyij*IG+ zNWPu%WPWf48uxw#m&C<%^tKHh-Fir~;qqj$o=iFle$z*l+^DH&1e~#jf$-be0sK;d z>4!xE{w<6}FV}}MAG(dbnrq3_gJeJE8(Y9&>`KD2bfcD-IMQW|y!n5=d1w5)htb!X z9Bgfc4z>*k@m`zSb3U^fb(&vMBwk$r>t>DjI|k$U!6<$F%feHizkC`!5?T0t29iyJ zuE$GQ(7K9OenRqxacboLF+R0OM>K^e={)}`lB$ub8OL&fX|tRT?~9}J?9PBauor!t zX$E;Y59s64Hw0oL_x@J<;Ca4R3ct^9iL-=`G%cq=z48di$Nx05|L{K<;Irht=N0JRGH`TE)&4;JJDUHN(1p8HIf z8eiO~SFeD5!eaWkDOUkjH&=(>?X-<<3fQWXgBXt%;dm2uFxa(+px?{C;*`YGV!>Hj z%w7z6dCvl=&$1MD*@t?nGZ+o^4aL-xx5~^3?`M<0p&8Vd?^FSko<7)1;kY$f)D6Wo zK({2d6ZO78m3U?E8$}qLdr>)XmWayGHIG9>*Je;`C{)edwn#LvDXo=jJo6G zu55fcyqUfIhw)qPew=i01G*8RV6{j7U23}rFwJj>LyPK>Mab3}=)e=+PA}&WpG5$6 zaWF6iT9A!S3EF7rE<_DHk5sDV%I)l9K$qs`j{fSw{-YBHN-wh4e>n;EXA}(1NI*2* z{n;dW5r^GS#PDqnoB1bO;@|Z|#y4*^>c#rx?=<0Kt{?WEwuRrNbgAPE5XA=Lz^_LV z_HM164I@31uD(s)XM&z1OP`r16(2!?z)bBndt8T@sLvjyk!6}HkHjf>X zG9#HE1n{-~M<)JxPGWp}3;PRGa5u9Xh?j0xf)Bav?U)t48Q(&Q{l*7juLxhZ6w$Ux zXcG8&;^ZZH&qSwUZS-;yaP&{&OJ@bb|Kf-yAE$G0X&MYJnn!KA5^GHUew;|X3Z(5{ zSsR|YAEURYU|_yHFg+*=!85Z5$=Y&ic2#qonVeBI{^I7#|68@Q0)jO7-*HFEjl;UE-o=RT^dK84Q?u`c9q zJxp&|f$Hv`29onmNbi*VUtphAI60$%8GM{croNnnw?i`t@XSDxDS0;s+bITW5A7Qj^4xQgFAvQI6o7E)4zRWk|tkT)SfZXqoSDpKMbN(AgsF&x^QI~Qy zv-S|>iXh72@~xrF4-Wb;zgN^}Jz^Z>eRCju-`jMw@`fMzYmI^3!+@^*Y9R4G;^31B zY|MWWjE;>be5`js&l{1{kR&tW9fk*SUok&<6dir@8B6{)$LELV84_Mk#@z)uD9m%F z751L9ne1atzCFN$U{^4>8HOzWOb2`02jJKE6ktCcM=)Cs5nwB2bZ}xBHCy|CYoKz; z^tvCMhbfz*XH_EF)1V#oAQ)3hosfLDwWM`F12Y-3!JR4!2HM$IP`Kf!pth=>%ko0oazWY?ONcyNhS3! za39jM$|k_W^7o5NuJYS%nPhD%Ce?a9L01hcT)^)+fRzpd=Tk%J=-5#(J?M`jd`+j* zR$^;WNJ5O0Gl!~=TI5H#7xk(GoBvWdqaa?h3u4Ghz^mnR zw3+XYCVZc6>}?Ta#(147#P#}CD43!LmP&!Sk%DD>!kIvgzr$tN!8pfHCh zot9Hd`?djM3wea z6tV7{OO!2c!j@}L1p3=di`Mc?T*)2rMgD!`cO{W;lu>+)ydGe?oZ_9Af6FMohVM+X9Dn#IU(9@6%c=i`A-SfNkg7o_LpmOUnajZDsoa@DuW?&lAz? z!cNo!XM*07MzhPK!DW*&0rvfe?z7}Jml=04zdnU(d#TSf>gf@FYtq;q{N!(vJ(5se ze?>M6P65R4{qXiCnieO26U^h;0Q>XVD8}}|AU zJQ{;6rd^@{IPC*O#mkQU za?$u5JC2KnOpar8ToSPv_6GZv2T@bgs5t6@G3?LQn1o(7&`}4ESnxB~X8aw1lP{M7 z=M}jh{cR$i_Isi%*Jto5y>2A-UXm$lhlYY*V@LG2o$&qk(owve$ETg6w?FcR2*1iq z@>gD;F=YkzKBYubuSQ|-)h|jxQjH1qMefrNe1YZpQ^Fa4^JsfkW&pMF8iw*>4qkd6 zDc@)e&PV5w2FtW)@v@v2bJu`@?#V##+XqZZJslX2G{I_GHbS?`9Ed%6s-ov*e7-)O z*gkl(2@2%5uKGyjv6SHnBcOIsS_1Qf)86RCF^zsx5xVMs$>>iV4_b{vfB)V?w_-c` z_`aEVtz{k4!6Ah6^ZOh!Xat+b{jk^UEys2A?#XfTAcDIdE!MYU6EUni`qQJ|3b|=n zEuR*O894cRF7ZA;smj>s3YUBDk>ZI@VCJ$wr?VXBG{1AO_XSJr>2_mGev7UwgQ5Ff zUm|MKb*!v6ks9_PSUKApdj`GyS#K%_m!;cqS7Q*rJ&q^J32h*+MlRWZlBGoB127ov zgSf8By+=*;GKhB!YEqMO`0I}y^NkSTZ17Yc{L(P5Ete1{KZ3lYnPAXN9wyNIl1jd< z1N-KYIBB>8BrVPHPcHzkHds>rtK=mxma7oq^dZprJcgumc;1rr=UX@#mDCphKETX? z)N#~0L_!XAgPE_N)f>b}yfdf0^*H)ZChS z@S5M|h^IDc*HO+1}neS>2AH^lK_$9$L% z_2poR1ieGaYWwgGDfR9wc~vMAcyRi zSIMZ$TP@1-`0AF-*ON-LXp_L;^-~|I`2VC{C3+Bf^9AjhZ&XmKemo|ki`5VnH>K0egL5FkYs4d*yD!KQdR*&BCk2{}D_(L%ce) zkK=B~k$!6~6VbyW%#W9|eCN>?%!fSF@b56;-#9ph@uLA>ZT#8c-yT^cx`L!_K5Q-a zq{Y=jAP%vo%V{q_O--MORxb7B{G$d5T<@5Ky{#iSKU!kXcqG@rd)I|yFNH2^64j`G zt?}=|2ZElujo%!NaB_t{ZKqWLlg^zy&h1}gdH)^UXwVxgVWR-?oGxD%mWSeB3M~e> z^`^cY2h(G5;BvnilFIpz#duWBAr}t@!N)3V>Oo>>>Ons&-{_jn{A%(f>Yw=p<_ANu zH}@gKr}{jaRenlkzN^E*-jmv}HnJJVZ%sm1*`)~Xopjk`nKtLE{TK*_&xND?-)XV- zDm9|K1fzFHAb~N30P#52fjEx9+tYg#l-HYSq1yygh885m(}(yH;>M;z{^s}EUl+z- z$;QDdX4K9#aK7!19^=uHbmkihV0H8iZG-)3>v0Eq4vmA98Qln>aorf|z2zwCa}NHU zIZT)HKS7l04~`o@YcS*QCB7apLX!$!{Pube8!x$WqH-s_bv&+$UZNA=H#3&?oT(g~ zJ%-#Gy%;yXePeI?0rAXFfcCe#A9mHmJFK0^yzB?Uo_Q+k?UTs=2Hf9n>@rN|@_cVh1_y*$L4*+b0RDlpVMRu*BqibE_ zxIPmNy0H(2kRK0_PsT}r*f-?$D9j71E_c8(1hbg`S^nY1YkQAm=0+ ze6rmF@%`*l7|*>S<)SR^8OgcnzgDz0T>>sWhvLTdX6%Uf#b@nh-KYol>}aEl(bB1q z=f4j2`^dVU?qd84@Wc(DDeTo#P=gPRP8@e3gL-f`kJvnjazSrX=6@o+5veH5Wfs8J z-vQHR&FSOR)nvvGuW5{zw=nf{9m@H84~HF$ic1l>LhE=@n{QxDRxQl@}nS3Mt( ze{z$ehN?U9x^l=e9fB#&>A-y4R-O4@m?!!htwp|##*HnhnEEEKqkNXiadA80<9i%? z4PMOPd`A8^sPkNKi8?}n%5`kIjN`ad&G5eMO%-aQ6I#1v3VD`?;~6jK4yXQI2a?Ee z!g~0Ji1xQdn8trI;WrX749^FH7i-wN-I!3j9D&Q>|6p)+pN{aGs>$3tLlOVl6US(I zpTd97l<@Bp!o2hd1_v8j!0(sVpfdDeGfR&MeYKlg@zM;X4={oy=F8&2--J7>67i zMKBZPlF-yzShXww&Y2(iZCn|gt0|z8&wvwmOZf9Ys4Q*$)+ zPXRaf`r}_8cbe7SBGl-ciR8y1sFacbT%R7W9s`Z!eHou*73cEc$<%vw>hn%7TId<#{qo-k{kLg0{#D^*&q_b=3!%$x zaU8O7Y9RUB(}3~vAz+`5!NA{M9DF4g8f$~l?mjcD{FPznL2nEcG^Dp@E1=AyGtKPo zBNc-MlD~3CfObtZ^OwA?)E7UrvFY-7#@{4FvwA3|Y_}3o!0R-|k1_tV701VE!osd( zf;nssx@R>YAU7P>l;oxmw{$xH(vue9H}H9Y+;96blC0fv8v}3U>UCooDpk|zBfX*< z{&`xX`=AW?l>uY=$S~?l9L+MmfPGph2fwH%=s9lmmOl**Y08D%L1wsXJXx7@l6#C+ zKKF3^&{!~-CPjZuPd2|~wQ;{ZOY8ijCH18cpGO=)dM=+qqp&|aY~-HfVh1Gf=Y=uz z$w;y%`ivRt2Okj4%tj*_KO%AHSv;~ZmB02Y8AH-pH=;#Y4VnDrHgFDl!Pk!=fZgQ~ zmTM*hlS*s&UGAhW9HGvgeW_t}^5o065IykA1c(s^GWck`4b+Y=!%E0uf;Nh#xA{}(EwmJSul3nHf8UOLYox(^ zcP0_Jqy(WCSHcRGvx&Wz=|klPN^E`~X7*`7R8iO{@SBd6R`>Dw#B^f&Ri6eQx$JE) zg-v-JIla^=iR&q6J*j_3dg5Pa!S6H#s9f;Czpqw|QSvDE&8z%YCpV05_<}En!MTiY zooPGXDFHt0$*uA+9GtckAO>Ywll%60)Xw`vbSj)fcI?33{d@5CY#64lb|j7mMR;}H z8ObLXQ?6UzA@ZIxHHmi&pOl_sW#dNz^qzyM<#IRVy_Os|r7>doa}WL1wroSZax(R_ zR|a}E8i{|6&8dISCvbgcC0X(P?Qs0tfme@YaZf=L!D-09Ms3e#@4fCgu9**3e+D5R z-EH2~zpucQBr7p3PK8hp67c2UL>>5$#jej~14P9O^-R-iwt8Ii;O>l&`HE2+Mahn@KY}FyDBe!(8+dmOr#hA%B~iFn^Kv zrW9I3clma3E>;KFW3C-pfB6B)PSf#z-j@-KAM#hx1#)lCGgpxG@yljDR2|QHiL5OC z{$fVFR`@bVoz~1lX zM}6+qpZv`;X8rUkEf%U_wD%SIm~hdP`Zt+E(bkGhq09>Qor!0DzY@{teZ(~*a|l%v zna%QzqrSL@k{|!T)YBUb4wO-vHDpc`{@R80-2$3*ti$}V-|5tszX{~;6kI#r9`Y`F zz_hYlxm}|p_RfZLex&Y>UgS#65kE`nv()S_t2pGN8m#J^!>gC_XBR3`9%j_gdGsJK zh?vz6KH4BhXBXg%+~i0-oen*B4*KF>5Mdqh!F#tvGxAOD-%u__a06zucdsX^n=7Y> zwQ^=15a_{p`3B2&!}vO_4Vz6{z;D*x$>@1I{izc0~>tlEqNAb%$i0-XY(N?vC*Mr?8Zg?1`n<3&=Ud+_m``4VN^NFE5DFRhH?UR0(xb z5)n0(X8_COf`0s(c>FtqE-&+4=)ATgd=AL5{?+UQmGU-?t02P@5{HBwSl~W&S_C$v=XC6BRy)+$we?f#l zu(vuspQX1G2iUZh#kj2hIOOql(sZ_EBJ+*W>{w@nCXe2rS)~F~uzdz&# zAHD1t-+qA0?2u`UM_)4-KNJ%C#DUB=y;4IP*V0tZdw5O+Anm&BECfT8EHK>QyFS|B<_u+?{(<|MvKzmm1VQegy^e zKe-fIC9h%F>Wq~4%L=5sOtShZu;YOI$<-bg0u0YaDmf}(Uo30GPYxLnTLj0c)I)bf z6&kXO#8ac8c$(3W&L7U`MZBp1QJ93Oc$YBrXGz=7BvKe zK63ssB!m`=4G^a4bA8q~T2l2k41psjgLwFD>&bj$6~9&2CBugjy}gmdnf%%d|2|V0 z&g;?9%|>+Dr_d6;Y(%GxM{bM}K?Jfr%CV zx&F~(9=0qGeiaa$mKW|exUNFJDG)-C%(TY*8I6A}AZ3{!q8XlrLl&oKW?Y2N8Sg9jS7I%UTCv%(na-*9EtPjx24M+;orSO9r@WKJDE1vhMl zfXm(%?wl`dCaumiLEg7s#&f=9IgI(n5OU#62Dn7Z6ACLY;gwzy&8~0akPq?}fcKGn zUH1s()XT-hV0oERv8-&X`~dq4z9HmWB+XPMBE8LcP$9SOKI@r`{x*TZ>llK0uHBvd zc+Mdk`;xF-`?B})PEYEo+;gYt-U)v7AjPYr5)#*eG8RZ(Gt z{^Vs@as6>4)*l+5*P%Mktrm<64kUJ07h0H`qM-@a1oQF}uC11bsdT0MFD}B$Jh_ZI zvl=%x*qh;B4v;9yd2LfqU{b$?lS*zJys<|t=lkuEK%u(EVy*aq<0Y)oME5WbLSk7n46Ip-xj(^va!r^zWCF`ehnRlT)-xEI0obwqA1UF?6 zEfNpY`SPvkx$!tF;y9oOeoZ;}KY7Z}SMHs;WQc5IuV7_Z9!_Sw;WvdQU>dcAPustC zXN-@A9)F?nNsBPXBL_0MdltPteU3w;wb>CP4;`G4aqFQq{q9#mgloINQHGShUIRdU z&!iOtu<1G6#9?6PL!E4H# z&97|ga}fPD30PL6_9SzB|puW6GBHy%t*yK7P1b#tMz7yM%Z`CcS zr%5Vc)sp-O^Q4+7tO1zfJDpc|h1DD-Ni1SS`uXzOQRTQwSD;Mh=x@KVSWdQu@ zLUMtuXs)TnNkzpmjBju8ewYeiZ#(Lbf3-;d%Eo-=FTH_osF^V)rAxYIEFm*n{M?^HtHyZHO9D$HA3b*_&z_jh^Mt zA8Ko$Hu~}e^emGEJu^CQa>$Z+o$+s$J@u-j6CSL6L2Mtsg1xp2A&ilmx-Pr>QV*=U z!tV>LT#<{4W6(PKqrA`AsygKp{AnuNUo~Sh1 zhVR2(rM#o;=0u3scd;+9 z@ARVC%qqfi-3P?&w{e_@++ALB3xu9;vB2jWg!*G3zq#y1z;m8xQeWihl^WNn%&!g- zmhCx3;+1;`+kK_W7HtVS<{b8%WKf@UmS&x<(QgBD`aOLW)H<)@;D+uHnkm!Ed|88P zv;|>)^5}%U&HC62QDgiasf_*x(D{Z4I+}l$E?4@~V!SNq8ngw2ZOL@h*#?IeCgASn zD%c8s0Lgv*8D{$^GRPh5V#RpW(~SC8!KQ`6Nb28Pz+NNwAG}{<4VUt$i+V2)8K*h; zTsp^{)T9V1+WPW9A@jtj-eg7fY(gkKlS+Nr9}j*Pg2|6ZbUF1m8`Uk?OFvI+=A#(%t|g+i zStS_N>V-pVTWU~?pCOgJiHK{-=E>;Ul(cWA6ivRxe){p&5MaZ;QKSOX$dR0h?YY(iz`$Cem-8IBM~Zq4-zo34X)a`!=jQ*W+Ui zsHgHyPrLSNj7I@}%n$b9+TkG_vg9_?l6#9sSFm_Iy%W?GKai0ArB;1>v6BSr(=$&KFVMHJyF zS6gbN0{>}%ySkh4;MQvJYiEiC?7CspwJGjKzC}nYWyIO9ki_})M7oUM;?H_mh9~uY zEOZ}j70-Cy6kIx<2J9=EdE|#7X*yMFEb*QT!QL!(eAC81r*1$zDT63Gb-<`!#|+{< zi3e_S)7}_&)E+JqhfVMCps&2P!}}qdQ7SlYxRK*jO99qSR5DGGh;q)b_plogjql6e z=VgqSzg-5QXPE_!8Q%u~;)KNZIFQZ^PVA#{{FaISwxmph|4_+0>|Dr6pe&8Q>m ze_90nx?mLbz&#dwy)CJyDwyBno5*-M6RGF~;6b-SQ2VqT*G9EdV*GfiNPbwh$3LkD zw|ijO$rCEJ?wUaTdjNjJc4Kc<1Uv5jN5Xd4K@!jT%E8TQ>D*uL^7)jFt}2ED;`*~W ztjC^0=rR74MJH;>fTQR>TOw+EY&>Ife}Xx6-OGBrK06`v=cAj+fd$mC!PYLovD*czGvQA0i=8pGi>@FBMm*Lk6t#)$NK*q`ib$6x z1L@7m7^AI=(m4M$V`D9E-H5-3<3VyI_)A|}6e{6(=^r>+^cC|K|18Phfo6^GTq?|P+AzI{QqT9FylmziK6e~yhp%_!EdeEk@Y zdQ&oVlnfYu*8xse9f;QsqDB}FryOQG5>|SIBKATE!D@y%d_6J{G|~pS)&3F?~4$_Yq=pu zy%wL%J`?^tnP)c)r*mbwx3O|Niam9SICebatL^@9>isDoIj)G~dT$X(jNIhz^pNCK z+{VFYk0H#Ibi6v^;e&tjfJ>B;D)XV=P#Y}g>@Vf-F#8Pbj=g@g7+bAJz3PhNCi0Go z+ftB||Bfa2T{H-p4SmER zx`h~B|AF3;nxVQSbyR`dw=?lCm$spy(0KNm8~WP?`(tHbzT1;eW47X2o43$YD%10u zFD;l)%B9fSYj{^F>QzVV0rBB4vZf!^_j1&!qk6nA@o^1Zd{5dtp=ANAN4|hE0>Eo zZjF@5>28E@v@KstP0Yv-Z7jFdC+PbR04!Q}68;roSx?qlzM0}_l{^CEA?vZz#~@(8 zju55fi&ziH`SikGozUNIOf_o`QN!ggB>w!tK=TS5+GodCM@LiajiuRzm8jFHG97+R zJA$eFmU|qmjtuvq9?WJFRS$!6rV&Ev1|09`14mcNA@88v&3Ae|7$p7U5WS83_TSQB zwa<~^xPM2}Z*#nh)=tY1_4-aR2lg0G#!KBp$XKUtbmxy=z3|N@>(gc3x>TuB| z1aff}Y6|>?0Z(_FJiIc7@m%Kom(`%w!D1})jY_D{_=e9%N+4$WAEPs=GO;6PFwUIaFaEa6_zZ}z|peMy3dOFK<;C(q6sAy2Y#PPjlKB*0 zDjOxDKMy3}ort~V^-yM*LRi`JF_69suPW++_?iJ=f8Ils<2N8Kbti(^wv{;CtP#VD zk#Ju4niL;!o@Ou4afo+n55~7Sc)Cv|iJDUmesu>R&(#EGcJ)9xhu5GSt^Ihg`#LSQ z4Q6kz6mD0dkzS#TI6<-eF{Y$x~dB+6ooh2-XuJrq6802ZBhf+@!h|*?HJo@X3WtT6I z=WYd|i&HQkaY(rIpF(V9e3~!!h}iEX-cB}PZ?Fhb9NHqdG_`Qni(ew7iY{nKrwbU| zT#jpVt?2SXJOmi7hUDxP8jP2V=yIHC68d}Fl6so1Odjo+2EQM0$YF77cng8Sbt{8d zKb`9+@tRW)Hs~_Hdd%jiTx`0hM_3UJh+~C3-&2u7yt}5GFurA>lBW7>s*CvQ&<5zv zNivOTM(2+&PJrKtDCVbClhEHt1N4^(Gq?7!@woziD>@BhJaT4-S~q-oc#vx0EpPa9 zUXaRsS8jjI%Ob&UG=`b_nK(4E3=j4mLjo$wWI$~#BnKqHg6etl$YeLY1vbWL@&;G@ zyHEJv`{Ay^Y$Wxe0U#cD7y`d?jkNF*Rx0no{>v%!`=mQ;=|&Ufz7v3xRDe;t-M!FX zS5P}`0A-4D5xu81?haFhvPY-Exz~80iz>vPxibU=PXa$nq4w-$YWC)Q=r;6KWjtR= zM0Nd;hdKM>JxS&L%1B9T~6%?;7wqtP-*67O+8C_rGW*E&4_oxN7+(&D(A#%auz&8YhJW(%kEMACNh20W%BKp@01Hal4hgLlO7A%=gJ$Qq1@?JaR z-!_!8^&_RC(!Ox^c3i`_;glqTl)ZURDXD`j5{yhf2 zcy;>iEVtQr5c~=U;O==BC+a~A{btF!J7n;nfqs5T(g!M|DL)xh&pub_5 zkNJrkyNoP2U;Wsb^Ius16{c-Fyi$MoBbA70%hX{YOr3(J# zjAOoL4%m9~&cZYEt*FljTchU-=w<%{I$B`uNB(}H#kroi8zm23e4I3v{M`uwn%8Li zXAB6{Y7u_MUgVu!?Z)^fAnty_S6{h+d{~}$(OQ!QAJK%6u@+|D$d$)0y`d~Ks~7R+ z)A>d(cC79}i-Wh}EuaZ|i^`Mn?>&PS2t(8)&h| zKb-l-UrhaWg$n-}ps_=qkZwMTjbQ_hi@1(|hr+sopBtufiJpVW4-0TPt?G-OM*vuh^Jp@rIrg62fUVFyEx~Vw zGWd;*;e1+F0}j0Nl(x8AuL^XVjHptl7UAh?H-a%wC)r^p2zcvVDhddR3a1kngH4cbZZopGJO@e9F0U+kbqRFi{ z(R0tq$>=Xx9sN0i>6?>`mknnDiPxX@jNL70+h|l8`umDDCdOj)^i_;H${1hwhX9Rw zw<6z~bKK!t_VyouXq>y6q8Al{(N6QB9z+v|*L<)K&ZLjjZ8S?P#$NN0=FEMLl1!@d zKesbwG47iapH94`%fshzt>n2kdUn98csb>9n*m^x>s!LF10ZfXg^FuFTH)VlfH3Yr zF1*@6vz;%=OFg;!X`C@0JR1uxziKh1CAT;1{)LU3QC{GV>G6ogT^gmUSoU>9N+VpROn9vDKh!+0vSL<)-;@?Fj4I2qiRGOA?Q7L6!|WgyZq5 zL&%Shy_EP;pV!!;mmE<0|M&a6LYM`{4&Y}+Z}ugydQt9# zZV-SkAN~Q@-H!}UH!NveFAF#m9*(2lA7jVrI6B&FiM;peLeG@eD9l9eN;JwOtjI@z z^J_Z}^}K{-b?+GbyAsU!v6~_@d0sbalVcm~ZDDWmKvLt$1VFqn2?P5oIb_}_V1L(@ zL#D|+SvjZq&9pm|-DyT_&$rO8Lo+%WF_=TX%u?mNNABPFd4W=@IadYzF+A5AsBA&=Hil@DvdhW)O6KEZ}56#PVvH zTHVhBI>RkijORLFRrfj(J}MCFwMcgSN~7)TMRa5>kEX2p7R!2~n;G>=hNnzf8Vat& z%FWNC8PDzEytbWacQ5Au4o*TZbFuR68C}jV?1f$;@M`~lWzGlR2p^Z}ZG9X)EI^))v7C#eEy z@`T_Ex$1VbBcx3D4RkdVk#eHkcw9SQmGiQC3dPRZd|J^K^S56R)`|XM%qMrD-Lo_4 z+)skp7GOjE&a;FMxyQfoKY$o;qb27(cM$)R?|7iw9z~qCAvqmqaNNL=#8DtfzS@(= zdc;=(+<%2buD8bCZUFW_wQb_ zBXB?co{%$<5*2GDpB^}0YUJwg%WA_4L1&G#uIOb597xZNXeIb zAQyc`SD)maXSOBu);JXWp2}%+`UtFSxEV>meQ04Sk6!kCZ_(gg*%~ltFL!qRP)woU z9~>9H4AqTHi9&xnBk*s!H}x;I5Ak-Sqo;QuYTyh!FlvX-$#PTDFKu@0ZvyPsFJSp= zM*_@~hZw%7B24AYkZiMV0{Od^-#*E`=NGPVu+98QsPXZV5tu9_gGP$#FrZgQ!D3`HEdn1)*-96fxXVLG^WOMj+4q<+}7Nf=;u($pQ z{kH2lkbJ8KwGFa(k@Emj?8Cyy4_S6tD|axhQXrT&y86_~$tWURHG%qkno##TqRBt< zPg2HmF>LWlB6=!wq>F?3bVgT|^B%e9ee3Ep_)w-r*(N;LW`KWb@dUVTW^3}}3H%PI zMp7>WkjfuVa;CNeDp`LHPgUhc|1HmnH*f;XRF$BEN#k&BiFbeaeNRUYe?VM8?kQT= zkfN%*n2vOm*t=H*_oNRYEML+Aoi@?o+@)hC^Q&5-bp1*xtvbwc9*dDh{~`2iFcr%g zX`YO4bNFqKxiS991&_)Cb@JB~S*UcP597x4*0K&Rv*j7>6~bFZ2pWofMyL~m#l@`E*kdt=IG&>Z?GY)<9U`AfBUxf_I@>{8?qfL`e7XBw$<>8`TsM>G=N%?c z*ZxuptWU>r{Ts~LW%45I$xrO0K2r~lenXu`OT$_J`C`v`0r3d*gSEZIaMj})uGY$3 z#yhRNnJ;~?tRYt?>HE>uuHl5yQGT~CLoTle+glTl*RXM+0B26?A)4*eKzip8eylCS ztsQ$oU~h~plos>vi7D`+(bxq&&n4!&Mzv%hNT9PA3+3ufsr$FigGdQU3n`*t5g`;K7z($HV}YC z68&59eBCi0g7RP;ho7f$CRcu=<)8eHqQMy)G@s0n(;pJS^v->V+flSurwme?nK)Q` z7<)65=iieQuady}!p87V&V}-3qb;XF!CJjJBf!<#ZiFH_z=O!S^tWd^2arPSp_m ztq(4E@8GO|IYcO1Li;DVxQ$bR;?rwE(7g+;2Fk_RylnDvKqLJDUhhtj+x{3zeXb^Wb&GMe z@qMP4QhD{{K3UMaRHRX_*Y|zD*L3BZMqo zUM_y28-#sPAIAK9GK=+rIQ?`gL^wnM=$s)|@8^M(PZ=zWae*9BJSQupc-m& zcI#qT8y}4e0~Zxi@9ofJstM+IOyILpO;hT#C8*5j!CH=#H0yEjQuWXe{^Xrltqy}; z_ZF@$w}oO=`DL%j`($k+MLt^`U_(9d!H+K|GFU$+g3os*16`j;j1Er>ued$@z@&T{gs*--5)r90qcm$QZ}M2%hJ=JmyQcVB&F2ll{cIDDjTDBk_2z#5L#D zGV)E0oC%MLWj?RPbAJmws_31BzmKBP%Q_A(-r{+s%wQMYiJSfrkd8Y~mf6d9@z&k& zARcz+=taI>7vs^7_1Y0k4VdVJz0x-5MZS8JXy?XyauM=Ld0@wU`Ottpqu0`tC2Ms{B_Df}_K%**{nqMg8l-p|TsF zO}(Ja{PBX|CH-m1JQG40nLikYnq-k%mq$R(Bw6(4$7>KvV;H(8cR|~WHioWLMr)T5 zjm4%g?DeEwNiy=8=Rs^*|5WEiZ$)#R+&RmFtv=f$*{_3a2ms zLszfGa90N)~OhP!3q%)dJ@U?PjG`qALqJp`lOekf57Qb2X1(V){p{_2pS z{;>$8V_TXG)rEtAukdWKmVjQ}gvJ9Wp`0_qy_pdz>Do0My~yp%uYOp`sk0^Dg6NyS z1{VgDlkBnb^_*sZ3H+562C}}wiba+c{#FH|XLAnv3ptx~6tQL}4u-!@c=T1iUg9;A zaetR!`I{rAYOWH?jC!1IuMW>wro+|7gLrgnJD!I;%Vgef0D{6dgva508S#*>Ci}+n z*=)Hz>LA|)F;wI5Oc7T#<&NTrZY{Zd*+gsZdGKj3wZWde93pByJ*Oyb`dDJbFcyP!4BBuRaB5cwu=@pV-wXMHdZ2UFr{+}1e~{ydP1 zrF#I^)0u$0q{O%ef$)5y3c_+0A}QtHz0q^19sE_bX3e^k{2ej1i)T_myzj>S{-S(oU zx98}qC{Hmsry~`+xe4Aek$g)sn*5mS=?`tP5v>OK?%~E1i-woe< z;+U+DZu3Qd8Aw@AwojZ>fP3*2Ub?Sgj9LG2uP4a1L-x_q`L2TB^9MTB>{GQa&P zC}Az{NV}ku;Cpp|qHtmfB{HWo$|;DU$;mSM&WMC|l~}a#{XJuR`a*`r$xX8#x@zdp zn#LzvB8Hz+i0_vaup~6a!DyR6>iueRVfq+)7)}mhK9cL6x*bF-V+RTQTXK5Y!yF~_30UeyD=cbFskn}b^g z(&Ok~gns{=2l`8=hjSx1csI}${b>@xaXX0HGeecx;VJckI?GOMGT|d z0QCD3u9hnTyiN;L881|+2W@+RFB$6Y%j*WtH$Yt3RbyBmTt_9hXXDYAA+TFJj~>y@ zX=iR?j-KTQtk22a^<9mhb}uze+Jb+Zcfy*67a~{TWSm)dOQ|Yii<~ z2b}#+ZWj03hg3%XNMk;d4KVFo0{>T6@GS?yH4jExB1u7%1K(`2JBc zKH39PV-jK9otDdbO^V?CPn3eWn@OR{t!C^?H9#OQBU8waXK>Y3_Mh))5}BTnaP?s( z;Ze3_-0~YJR^b(>GTQLhb4Ap7^s74cSqFUMcdD`WPQ#CjX0SUiRRs+#9|=A;h&AY( z&HA(^75@B^sDG8d%tw2{T$cx@Dk9Me*;cx8H-kK?Cx!Gjg7oS!T-an2Nj-Q7ouOtl zKJ<{(_>?mm4Q*hwEjpRxuP&x`$!oLvdIL!1aXi-_elgUm7f4{F4<~NbfzMgKUp93F za3@#;vhhu0@-2@O>%IeW=NNrz`!Fo~>0|Vn?71!LM?00^Eau;je0H=U_>5XYUCMMM zI(8I2>@+xW`!`YLBuC(+Mm``4Qg^+o9=@Jd1sHqZN7{j46j)yj(vMirdLI zUNwU;y1~@|f8`E>(-PXn83v*k*{#*~rOCUo98zbya6P>bT^*9gQmo|hsjmjG(fBpK zP3jG6<+5$tO}Her4c-I3$bk63o>h<5!Aq4WDtd-#(XVq^_S^(wT9$NHhH$CpFN-j80a*IYm~ z&CQAUR)YSkeDUX@d<*RNGRDZ?Ob>-<73xbCtnI!Jj4S#H*h}h#za8kiA_%VDon#>Q zv#`uP<@r@PD92xCwJy&?ka}Au?2EJ02tr%U~TAHMhkd^m6R2Xw&I%- z`I}INzv&EVHW&0uWZPk#W+&>wOCtENw+8F+3s`A7Aq{*gs`xt-^mFv-G3Gdp56G>6 zJ#PH_Id}l|C6Km-Tp;FzR0b^I*=P+2lDI-H7I=Q3!w&6lWdT|=6- z%CcoWB$9tL6cUZj!jRqpWKr3QAZMKhUtxqH{K-#_7{?T%XC17#oO30<+kiI71a`k& z)MWnn2ef+A4C+Bk+}F}X0;<{=7%xKCmS51gDEFstn_}vkyi6`Tl_BTLEkyGcR0gjx z3{?G;F{;Xl(G2T;)FCHEd%h9}6BXe;ZWulGY+>9+iwVl&F8mcWeLUAV4e-2U%VPNZ z$>4csqgmVb3Bq65)i_y(m4FV2aQ_?PThS0`S3;$pN)b$X%wLr^Av-=AxAcFZx^b(? zqxa(|g6qbHgYO5dW%Og9fwIC2pPx;9|5A}gtffb@sa9x6nQ=EhCs*}~AiMG@{JqPD z-98#E$*p_v^8O(QUqk$Lk*}pqzm1eT{UVQgNg*5X3j;Q_KpQN352inX_9uH7_)KVg z?3+FDcyEWle{i9PEb{FWVb{Z)#xAl9b;zdgfF<*51zu1F>d%)J{|+!KT&6FEyP9? z@Y$6*bFLTS80d5r=+DX9gFR=)WA7yRI@tCkzTpgHP)3UD48~M&2t3DR(YWahh~3(p zSZ=5WKWDUS1`*gB4xQ^vz@piNiqyL|R$?4! z(klS>XPi|h-#&9FeoTHG)r%qK`$Eu5Rv>ZvKs+8CqTTJGzN}yDvY5{w5RbD;uH>&g zua`3q>K4Sfqh}#(S!XPtkL9nM@8gJXE<$=M*8#V_^&#KnQKZ)8IFq`4IP0r}__kSv z?7owZ(`BD~Q(tb<_pT-kmCNJWqx+%1g)7nN^JZ8XdKzBd_EKg4N(W~`UIXYsGLo7g zw_)nP(s)UGW#W4nB3AXcV|}`JBym$gf8{;X;Gi9WQuz#)o2uyGkw0!77-!FZowp73 zG~AH+ZCqzKJz2#1Ac4S78%NEtDunUbJvkg6LTy^GD~J2Z3!?DXfZD!)7GzgkWVD9* zKs&G$2leDjgw;3Ubn%&d_*;cDE#_&l-uMF+rSlBwqSt~NaTGrc--GJp95_($#=wR) zD){?7ll{L1WJR2b@HdH2bbm$amdK{@ggY7FyG_gw>2Wq~2%oKL&u1Fy0nBgmy24-b zb0u4?aC+f%kbZvz`Y{QNYxD-fdVfnI-U%-ju7DZt`f@qTg_Tx;?-{j8S4qXa3sj$lyr>F{NHkx}^OA zy-RNxce_X|7qlZo!{Zs_qiZ1g%f)gtE!=a8+X2D1k8!%I3w- zzl?ir0^vSqL=%rcEFtn1TEJfpC;U1<(?xeGSKqGG_6^D)_^%@_%zQ<-mua94#Xjh& zvI89aeL;`rV<}5!^2Lz%HJI`>MEtWy;Gjb`eXI4=xW<{oKygm=-G2-~5!W+V@211h zg@Yc{tM9lFk|*)qZpnUxH7<1ctIqZ1Q4S}E;q>gajJEU%ij6sd;9Nybqth|kDvS8; zevW~}{WxeOOE9;yws4?FHnyG|kH1^7_oNLlx^`1S&*u2{^lK3I3dy$xOE^(}2k!67 z6NC2#L2Sns93B4hi&y{Lq%s{-R)-xTWoC8XCPvRH^3RYCM~(f8O+(^jiC6F%xY&B zKtzUEuZsDG=8;P2tV=&xxX;voX|zeFf*&PJ@uBf)HYgMnTMCEc44ih~zy zxnAgvTVG_KD@49vaAVU*>aHP&QO~o`NCWxPMs#%LC;VpH(qj-co6->Q&fT^~wICJn0G1|LTIF;*tgBh?nc%67xaNdozDDBY3S^FmA|F_l#3|kyaL|u`2XBOzO+GZ%-wrP=Vm+8I zBOu!&GaLTgv8)k}zt!3;;P0dodXY3oJ~aw_D}kYE8_0U&7Fe9?Y5Xn$^zNCc zsl&*8^xU^U@sMj0mmM_LkS#qwc}eS_^*Ein1Dfik3fv6Eg_-Yj;O{~f`!7=09(M+~ zo&3gd*=@9TO*@zQjFZ%1&ecVw`CAdjuuRDk9AR9*6IEe5(+ z0X$M3OdUHbiTK`v;=T28_}d>V#j)z=LO`e&Igr&>+V707IGo>UY2UB&m+fGHdtvO_i*nnCMe}5{8g8Q z=aCvX?X#F}4ZU4i|Ctc@xl`4M?Pmth~7|Os+MK z2Z40A+(0fjfCv+b`D8@~uZXdyK6_B>`u-&5DT+8aFp(2eH5koZE|*sR0#IqUAo$xu zXjj#dE|xQ1@Ft-&( zj=u$9X&297r1v!`_@poOPN=Dd?hP#e9B}!G|qsiN6KN z`?fj2L&FHqC3AG(;jW6mS0E>NDo7{oN2jiiPT+e)w-J+ZdXD^5N8)>;x@ZA0zcsHv z^G6yKm)yjt{xb1bZiOD2gx2Oa#=+z-=OXYykV1Le!Li?=*VbN+4t@vs=i`p+VO zIiQCjpDn=EM$x5=JE@5IQlBP0axfKi78jJRV189Fn7=5FgcsQosJaJ3Tkpbd{abbP zd=lv`KR~;<(VR_@Noi~?oO)izw+U}z@YfNtFTL<${aiw{u6OK%{^XXa-z-V(Bg_ta%D5FQKf&8630d55!@Q;^pY5Lqmcg>y_~;o(52!<3t3Kq>_GWmg zX4#SXa$*bge4Np08xo3jul>+-pHBEI&kf&AWyq#oiQ5oYkZxEy6nn0y*mU0r<~Mzy z&3(kbevud`NhYKE?4wxjxXEV;r?ZI1PsaVa3P29>@at=BfZrGx41X;U++z>rhh2f^QDg1mBcD4e>Jt5)mL!HJzp?EekH^GT^# z3D@N?`U-=OkhRLG0o11D3&QbtG)Aw9tB*~P-rwXN)Po54%dsuO-vju&?oKrIeicJ% zm~~?R{vl4gCTTIB&!*O?% zEjYMmI-r+N6cqIioV5xbivG^4Vow(SliJ|)E=$HxxCWi)yO0LW^oih=TsP)(CyM0{ z`O&eEubeGe040TQa*3}kK}m1T*-!c~dA*v!y@nCw--ChH($W@uIwts=fNTfJsx(&>F%lt)YB0?`Rtz;wOx(R-rpx4cY@Q%UuQU-{zu~5F${d~DGEdG^=5tQ z3K12Bpl{fZ7}uiOg>;@Mv)d4wiqAz;Ss|N`gGBpBBhp z_eWB_bNXT4Z;}P|)ZY+2SK(HyJY~_WnI-tDiA=yWZSt)rPKT@m^FdeodLKpJ86P-o z9v#B{nV)>-a-DELG>461`9X;JoyIXAjmPL@sjTgdWlsX%x;0VcTVf3Lz9BQy-8J~Dmd4o`c2K9{NH#uy4rWt%)MCnenkZgm zjAPUCi0`*J=C>LEHP+&@py7Pxdm^6tq7DZQWUl?)(1H2Q#ejP6f#p`lh3NSUM3_2u zgTF{3XdyQQLq_u1|Kr>Io*wa-3B{M@5G~)sDcF-+oH;vbGHEAKeI}Rd12!S*dihes zca1*Gzi&y-KZ7~Drz>Nuct&JAJCU50&ZwzH4)Lv>28ru}L&=YBnEK!Vsu+1GS@=EZ z%#-JMo)l3(8_%z7>q|XiXOWDuH>tNN->%(t9VjocsLY@Wmf1yH}Du`(znk zV@p7D9Fb$CT9Q4a~Glp#rig;1uNLVV33 z+rEIP&X1wnQw9o>;3=e7WW?o;Kxlq z8}Vf8W#LIS&%MUIo?JX?EBfL_iy?2aw+#k~3UhpJozEkBlh%jkpFwiSm^! zqZdQbb0Erbo?*}RM>Bx0eMx-@y=;ZQAJvH4807uc4x~8;VX|5_Tg&AOy52V(sekgW z;`Seds8@4|!pQwtSu>UxIp^yV-|bY^)WdXp@)P&7FABc7p5U7s#eP_0{xvKG>7Xzb zu2(-3Zk5kj=;bPGYxI_L=dxQdWIWDf?1r_98633I!&$%l0_ltX{@9xYFRd?upm3)v`Sucjr`@2(x)QP{ zS>83IF$~x&zjxsCm=_6u%G8aVWYl!GIpx)LIpVLG+lG1|&-UzY%Hik%TjDXt9{x<} zJGec$;CT{;UP_&urIC%lnqYnv&S9qyE_k)a-`&QvJGq^9ChL)?&E|OYClBs8<#E<1 z$_amW;D_^0a^cEN(7V5($qrS>30g9UeAB|;RkB8!K1~fhZwIrQJh^8)jtXx<@WNsOQV7q)ZS*=|b@sOV!F_X*i%|l(ukG3{k|BfOTwyfeXX(RS}eX<7M zJz_q>5-ZQA<$@)N!KbJ?5Z@@qt(L3V2lC`fp(*m7bqOKW%3BztPb6~vR%VC4BY{yY zUVd{Ys$2iU{bYGY{rMP%>~?{Hx-`L=HS%ho6_I?_+CY`{{Xy6mcclaMROT|J@yIqz z3d)xDWXixWDEYRKqA)s$sAgm!AD>p>>lX*K`-^CNJe4L9@^GKsBu-2?j=zn&(Qflk zfO}jaXLJ<9!6!v#ftw@s-rk;kGp28jm=BR1ucJE%7ir^fZ)M`^L1^zU#>*{!L~F(M z6yh-zt<7tO9G|EVj|91I@T&%-Pqq6{@2{b8Yb$7KnGBO38)BuEeCZufdjddlvSHXzC~d9+8*MO?F2*7hB)2CIS8&aAm^?I9`!1Mp*kh- z-FrooQ?mAPdWZy6+ma-=YB<~R0R_dgHKSR6LI=6ke)x7`9BcVhPR#B>EJrQNKz~0m zKjxwhZ(ZKyHFG_B{6p)Qa;pLL%^gSzIJgbvu z?So~HEZvOJzDWiQNr%MxZ~Uv<1jZjNq3@q*9M+7&{q0==^jA>@dyf&#@xLJbH<9qH zOTc||Z$@iy8V;)Ktnhb%8S4YfvDkYoMXgz0jWUVs2Z#a6{kLOkG=xZsJuznS1 zeKtVdn2sR|p~CbGDgQy|yB{n4|`?8f~$%zp=*V@q@-g80sAGBNWzOEO$I6;FgyPt3h@HB@fc%(DkK>>C>`*yU*|)3{`DSL# z`hI^b@zCr8zF-H|L%%VlQaOzEl}Z-%PaXhydlybq>@nJ?22-uCGEm`b!gIRAXx1Rx z5%8}?wCmZE;C;C1g*|x+vuaTk{(8{k%>-@c6#4Zv(|rE2?FP?oP2o92%?dqxqOdbY zIDNdKH~F#2gZ2F}SLUPTL}t_s=u96@kXsI;W`7(7`dGP7GUpC1G?brVijp7ydQwm0 zN*j>c$tM2ZwR{#Tzc#EcHwl$ClR{rZ8TZ2p`Wk*GmQ4*Ayl)8%*_0vg@6Yk5-v+R} zZ3^%amr>XXqXArhd;!|LnO)dF4WMzhRF!=@LAvu7PJdVwfL=81+5a1X(~EwW!=ITi zdRB;Iy-|jj8?`v>`AkV0cuk3VdO`B7H(a&2N-lJ5KxjRhWH5h-M;bR6LpcI5G*yKN z$Bx8k#7Fu*-i>9eE+dHVCIq*p0C8#GC1eNXhWSrR8h^1yFPHwH2#+^t?ZBEM>fdeP z-rWVrZ}RZSjFEcqH-T}dJ%pidfef_qBux}$&U^eD1P|oPz4J;juyO*HH=lyAJKo*M zkLNVm67R%bhJ2IZ!5;$ey()tBUs-Evr(D=M*eq@1inU%`M2eOV(iH+t6B32 zUV;k#M*qXq&K7~_?-B#8e~hWsPl({wbbO1I2YZ|4Q3XE9_Kwk6P3p@vK(0`s$EHJr zxIX%TM^Ca1z${mC9+j|m!H>U!hx$+t<}&ULH`*!q#&P{Slz=u%22f%;AT!V7kzO?( zHF{%9ew2`4Kc^0bzuA~iXz7Oj;;?spFM}^V0;dbo!F*DQZXY+`TW6IX_$x1m-BzH+ zJX6ZJ7PG;utznNnKXee)h8kfZSNXN_$iu{uIPFZo;GiamLjc%3`~YBDDudvhYu zi)=|%H7aF3nvn~>u2x)M$~E!DLqOZR8Y@ra@s*%vgmJ$7zSZnBW$-P*H$(aQbDI2i zwPht_*DuS#UN_u-q#w`qLhBgxmj+h@+d{TlFWlOD7{Ps!8*}#Z4IV4mY0GQiPrcgK z6MGKi!s=1fml+>}!8eh1gMSmAD~-uP+opsf%2a%Od5$oI17m^g@oOD$>Nz?8Tdn$xc37(5zK(~o*8 zPjTIpT==BQVUfND`8yhqR$Kt&J6BKE<0ss)CwH_D&FAd=tGG~h7dEyuBA|wY=+>*X z2lIz~1E7^QO-{)&d5j6ZWy;S(o<2&Dk8K9VgB=7kDh-c9&f5HRFFs_9=%VrGE;Hkg%wTO))F4i2pBqZyASi*XpH_d3?ml~ z0@o$eh5Z+KX~B94K)Z&hM8Om+=WhXA_b6CCnSmgbr|~l48@D< z`S)d}6Zs}-WxN)K<{u$OJNp8BOBVuAe4r=wMahjCF`6-KT!s^m2gIn`SH{>lhrDq0;^E$e zB3*9gw97?4b;)3v{L72@?tv21nQ^Vs?P z=Kh_S=T>$GpCprkH}<}^gCVb3dH5?&HuRF`WNL!o>bxFYHPa#}iBoil$2BN9olM|A zCqme}i+0qj{?=SiXA^jJCy*Lsg7mAThF53IPcp*5jRXiA;7AznO@OddhajS1A6w>2 zxdYw10!rF$0Pdsiqrj&?$ad&(*eoygn0TKaItt{`hd+RvRNb0-HH^k}lQ}Gur$2q< z0o&y&khAd{n1`>y%aE6(^SjYtZvG*i>+`n^bm;?D)&)7Bmsk_l&$26I{Ri`dB4Ehz zGEVPzje@_w5bM+xQ~_g&<(iAwTVY&;{_Z1SOZft4=s;ZfE}O;^docL*7$%zryU2=j zuMo(|5V}PzLf#qGjPYGwCuW)lLq^dYQu0ufwgt2Y%6)^q$3PnTdJy%+m&4gGGRiy& zQyNXJxIT&{g5RW2Y`ueT8&=?v&%PAu!N2Y@e?Up^2V_9yK*;_p&qAcO1o%pMdF}hQ zeCF$o^qO?SEw8p%HZ;vb&jI{f(-&y5x{UE%9)wJ6hb$KTXF%>>#nrazge*P^-`r(W z=eWKv^{O3=Pt*s{(`qa?s8<1>1C39XfKPKxCjQFHvI?9DMYlUdW~42BZ|TBSNNEo1 zjfOGkfU%%@ zp~_)c4c*e@w|ex~VmVZkA=Sr(g3p;CU#|^AFHLaJFP;?o_KJ8ow$g&XpBY>azQA7M z62drAm&QNZ*@90()_RRT^?vK%y<;lz~p@Od|fiM4ILA`$gL#;XkV|R}N^lS_fQzl07OhPI>j`axV`ureg3#Vf$ z_X?Iv?}2LK6$AXes>%9qI{|opoRCG!M*Qv39PUY;H9Ke|4(j&->6h=cI}~99zDFprESSby63wWIRb*}cm!arSo;a^x6px-G8KdEC zvh4m<0{UZ`H~G7N7?^dDq z{AjKSO!fe%vs^J(92EV@%XROc0cr2Ikl0-w^@%T2re4j!d{R67HI^&VeN7ptNk8m; zkSbabIR@XVi^-2Im~V9%#(mo3+m%etPAN?#9v@LyBjMR@hZFT`Etapzod)$egPDKR zX*XLMd&M)_q|3N)@>u}+QH*bsM-t19^483ml%)N%FvHm+ok9+Ni`KeBX)^sXr z`g07Uin0{%*cgdk{J>{@_n2diH4kcl_$S1{sChPS{h+biwHL*|uUr~S7 zSDqY}t0Uk)FNnE?bxY!L0#pw!GwwY3;gX~n0A;&tk;oWdxHe z%m~!8bp%C0o~>wgB!T>mhS*OFp)>O!F|xQ1C7(ACfRZo(>5oJQv$B<_2Rk^-4}jvY z;e^aV7Uk(y40I#DGxJAJ#MSu}Jqo5-kgGYgi|Y}@{Cgd>YZsFXi`zP|AEBUy{({n3 zA2{P%nhA`5-9|SDd28LIn;goI^6!j%$Vu7>vFcBY*l!wzsknGE^s-GGy?i7nMe;6- z30jO68i}i=@;vK&S&x5x#No2MDRX^+0XY*%j8v^LwO`)asr!(=pX6EHjn{Gdv^;Zn zH40Hbh(K_u@{CP~9}xCFP#-<3enQyQopd`WH-aqn8Dqyq+&?65@8357qb~9s=m!;g6wA99@_$;Rmj{G9qiaX_ z%K&7*U4i(kiuora$?mZQK+D>Ksh9F|8&7;-W3$|CQIcJaRdWi_OH1%sp90mhPsq$f zHX!u&p&XyljMlFqC*~!Lryev6BfiE^{O$q)J<|;dbZCveY@1{%t$RfO_zi$V}*q(UtufcSR`@wHnUg zPfJPI{_;%GYlR-v(<7wXXjif#HXIE#tA>M3!+{pC5K6|&?d8w14f$73gM1sqVVnht z7!-(?uVf4O>p`4uFd24VU*X^Ill)uv#}hqk!}A;)lsI%S4%*&piC%sq^v{DG$=?em z_#2MKlZ-HB|Ja{;UkNJn&bTl=6;svnh0AvGEr`+b+luGqrFa!`>nQOJ$$npM|Ll=> zw~d`LhI~5$(&kS%w73T2L7RcG?mO&0jfShkV=0?46}nunMv$S)^e|}riYZQO4k2;Ai*^f2lTL%rpxA$xhb?qcr(_*>^ozJ);N`$XcV^l~`)(cOml$`a>y z08Iuxhrhn297aS&P&+kAmqd9u<85Ee2fu{Lw%zILS!9Qv{fWo8FZebsG?IGXfqIa7 znuKjIH=XtFU)s4gvPFN@uzOG5bo-xdh<|%e1V@I#pPsznOWU8(rfPD~AB7IgT%a>s zmS9d#@KUELiuu=v&lcEHjGCUpR9+$+)b9)DdRl&mvRiBH*`A=s_<>+~T#M1x`4DmY zcU$b8Fl7Gl2Ys|$pX;p4Cg0?Xh3P#zk_%ddC+rmVRJK6Q;M!F7phE4bFa3x|q$d1T z?x6ZS$i?1Ec|LJmaS;5;&#c~A(V6+}k2UtBER{OL^PrP>Zt{*Mv4V7t7Q|kW@1<^R z%V)Qo!0aqy{refqJ5Qm+FU9%9cR)P)^XSR?`91N_kn(jdRSo`*V9(N;V(GsWD+Tg4 zq2=EKn2+|8jTSj{dmM_IvgB81n)kIw8@mX~q(()=cM1IE$p)v_Vf^)zSJ4h?hrdJG zGvwrZSl)e~tnH>AO#a^Gp!byYdo15GT$~7#&DY^?4?kS!xESB|eH_4iN-1~|88pw@D`x=`-fgbn~fPfI zYbBJ256K1S`77!7EmE2N2wzOylkbB5*BDn5<<|KhXJhKYN?2=_LJB#Z$3e>`82vJ? z3-Q%OTpsuNOs91c{`yhj7HHW~Pq(A1nqA?{Z`Vk*_WfbE-$blj=!#xm$TQY$Rg~b* z2s%%M;bl?{&LkYpg}-Kewn`0N9_}Xntjo|#%Z@PQZDS38+K{Llif@VT&~Bs-0=-TQ z8S)yB;*as!PaR0yV~%`=4JLvf4Y3^d9^W>+Krb3C(4RF}K3plL zzDzS`y|xqTjQlaMMxJV~l-Ji6xghzyZm9iBU!suRX*BhI2Ili*A7oT_+MP>;wJO=4 z9Q}=Gjp)jW?{^_FaW-CVl!r2VyJWKeBHI`j_8*>uT zsbK@mmoLPgrmRZ+<$D+v!!YXPfJAK-J;>kFSR6IXeT9Y*+EcEZbx4qx%1uauNQNQ34<&CBZArwupIb=T70H6a-4M! z!fIo{vd%sb{ygBNjS#keCx>`L%9r<2#!z|J2K{Y9D%~6ycgoHzVsw;@dar}H{`yl7 z_CC&F{`kw`{XPz7{uhbG+6|8{1p)dMMSm#^ojwZYZY*|x0jHSn$Uhau|?3qG6O4#D-XM+c>zpg*~}HP`GH#!(M4 zVd&Hm3-)&nl)3&`o=*Lf_bF^2gXG&?!K2&qo4Ze%$D&DjjgLnWp1bcN<_+A5%!F+=& z@mS8`_btY_@dV&~^@(N1cbxw3tt0r>!`g|Fu(4+skser!knA=Tp=W(ytn38HLrU~e zS_$wIQt*OhwG?xN(aNh0SidwTc(G1_=&ur8Jvsu?+wv}&NGF2V=qvyB3oIkwE@IS7 zvi5fsZZ#YLVNGg=QLm&r{;olAC+`!58HMe@_bh|_@JyxMA|JS)fxTJ(=%MWmpm+NT z?F6~o5}H90+kayWCHaXO9YwNd%MBIq?Le&IhiJUYpK(WQ$6wtFT$pJl@$C+Er;7uq zFJ&Cm47)I2#$hz~el+>98b9`3$HASYX84;$kK$=WCVxIn6#h_d-YoSZ7c>ya%o50n zlW#RfK1cjx%lm_GIi6d#3KGMXa8S@a~{<&~4 zM>fv2;td6UdLpwA6MOFS~|q=D|E#*@FM;l#+xh3nN^ zlDNKnIc7}+)8uVD`!$AK{qh>qp z;j>Id4qpPO8y9*Mi(SbQ=TF@;hugtLV|dQ0%!9l&WX&QWHxo{m#4^)-I7&88Qb2zAB$lQjG_}d4M z44!E-M;(G<4SAe$K@U8t(gS48U5d=Y7)BfXAei{dqWr)FV9YIrobGa;bCWG6<{3ib zHB}s(_ELrU(kh#Htb;YLcwP8Y!G)&fu+}#e1W!J~L4=S!W;4R+a~(gfmT@9} zCu6+q4q+=5fo8lO=^5nVYO*X%M=eDv=PswCXIXgleMe9hO782f#QdWd6u)VZfH zh&+FVmltLG>7^Qn4!#gux;u*b@)U=jtEq4ggY20vA2DS9BN(p}7Z#oeRmWNQw!EHt z72u3-inri&g$q3nTDHL7FS%U5y(RkZ&tlo5mLAEsfw44Ai}@%4ELAo1sM!bl=}F}8 z^Lt*@XFsT0^hTBSl{t~oRzl=??R|z@ZTet-+J8vu>_o;jxkZl#tMa*~ z3yWbrvvBH31lN9XTAUPF+IdQK!VtsC;PraXQ&GnmXtj_HN_bW_^$EH1anOcA|p>c3^ zDUVvLHj2a3N?6NTpG|!kPNZ-ArmsRRzO|B9l0;0(ko@29%B5xLF4wF0cB=_aAIk@+ zr!O$($)-;3PaOJnD}4=6fj^J?|zS zhy5X2S?<(?kHM(-lo?8&j0R0J@`+b^+8Wn?7iWv>Ej{HJ);TPo=x=qEY}crmz=53?d_?j z@A0Ts-aI_94)i-8sIcz*Ngn+k(uVu{pTW0vItTy0uyJ!as>^RjmAc;!>c+psBki_W zvFk|f>^q(lNqq|O_dK4b`4BvF(a;BNsaGai@G_E&8W05V&h{LhU$p?=E&AR+r;NW> zhO>XLhk?|dL{sl)p{pJHDP*O8iNZwrMWV8QMDTJjNQ=X9p=rJ?*ZW?O{YnzGCi!e68OB2H1T@dk-Bl-iTf2goT#%# zdadSA&&7Oq4Xt|V54nbTG zGq~8oci=MV|@^+41ZT)ZSHU@)~DSO=G65>;kFq<8utLq3EH@I zc5!QRU#jC}*=L9R&{O0cYALI{sDJY1yOK4yWfF&5 zJ#O&Vw0+=v6~#caXS8HJl+8esyyD5<00yd)#8z>_-)6ytwqGJf510YNEg*#XvH`l! zI%mjyF{lR@Ye)q>NBm$-z?bZw-26e<;%yXhvT5ORZG?zd!hKYD(;7#fkgHHU%$(;};)1T__mx@RK9*qXyyj1j}hTv2TIjg&!6Jr*0_+x^GdS9|9=CdHIX)ki?#8*T; z>sA=`Dh=AB^I_wu8{Hm`YfXL8(_+3n1&KBCZU+^wJk|$>zUW!@6IDAxXU4)Z<~J=4 zi`Bwe?@GZtegGzedcfqw$!YM{63Y&S3DiGX2LKGT1eN`A-^$kgV+(Hxotj_Fjh`44>^#$K0CF-+m+BwTtFx2!tiN`sNc92J}LKci= z{^*34*X2%}#&}!SS5k8G1F&b(r-1o#DyY5>VW8zVI+1VkHJ;%qKs$DZzw+g&7t6&c zd)5+l)(5|uvldW8aMw#PKV9}@Vn%TG*(UmGp6tzf?I>K$Ig4nHUd8D+9YPi<>)m7f zIb@9nfqP#}naL9sL0bvRz6e-rqDoK>XFzdGC6d1}l)+65IJ5b;u#@%LnGNJjl6*a9a}t)brjA47%lOOdAY=T#28@#z+Y{e2s_-Yz3w)QW zeABNO7@3J^ENtx1)lwRJS`#hzNtBVKNx1M{-fp)~wj6i)n0^=+8_IduPy4q$Ov!w}5d^xqyy(3BDaeG~jO{(fVaT7{k1PJIc!p?V6y( z)oqC2jJ9+eA#ao`{e{L8vofg%4Hyv9|K@>Z;X)4IKM=R0TeHZw;jrsg7sLAR7BVaPkNBouO{ZQJfU49s z3VYivuxCl!9-hL5m^DOo^%n=$SF*dGkseAsKJah9bGT)69#rFpLPYnGB>Sd`L97o> zaJGl!R)R=A?KqPEIt*8*S7Bg*{O0`)JAdLKD|r7O$noY4C{A=m=$Q&cOYaCC4Qo%J z{<`E6-xovBvpHD)rJ_@%5j45}5(7DgHeBPx6cb;!cEad#3;)K&*$|-G~;?hd##rx^ZB@T< zrG0Sa`<`7QE5iWQ-ts5 zlNz20*wfGCkfag9{*df;@AE+~$y>vy_e&9Qr4u}tuZ1Cn^&BS4gQ?BD@N(!qxKe%8 zl6ut(vaj|5#z7036jtNM%1NlHwge8GhNJtnvl(rABVe3cl?|tcC{aOfUrauP#{UbZ z+t35i*bAXH>B*XKvnk{pEX}1p@8Yu-Ux@TSOL$3J1A_n8Kb6TCeVs>)$_KSzJ`yH3 zG$228Ujj|5w;}l(j1`M(=xRkCQB~WImAx1IsP}r9vVZF!>r+O{`-zpy&A_r^)mVuy zY#f>20bSLWF&_;Q{(hp^rxjwa8wnBOiJFRJAKiUVD)CK5@|(}WOY{_V=IP$(K1C6M z7&aY%{^V6b1FkS`=LC%E9%J02#{hZ2m%Qw7sF->X4)Av`K^kR8k0*BlWIrEMuVgDR zIW3F0-438WKXRx3ouKiIi$T=C7kK1zl@nSWtXbc8V8|bGS7B@l_-4vp!Ao~v;`WmSO0rft zaXmPRL#U=P`8$%so!1Or_7+rLAAwt}gOz9hu;OTh2xHazf$ssj>b9A9*w*{AUh@a( zuy(Xl3yh(@v;a$oX0FtGMaY>i59#Q90`6f2J?hJQP4eR@9&MEsvf?J<@qHS9JsQ;$ zp4FlK^iB`fr!~m--R#!*n=%-CE6MIsTU>B$P7fV-M$_h>N^+ug4wJ7oC zuw?W%1%brL(++O4ji?9PY4W!iO-6n1126NjV(iIZ>kf6oo(WQEbC)n$R}+QucHkR5 z70VmmSdzaRz-+po>^Y!B}$j{^&aby{NT7FTQH5pXJdjhaN@5w_!H*C5(Uu98ZVSEx1rQh%jE917Wv~Im`;r z!=CKj_^RNg&J^5` zc)13>%(_S4L*BSQKb_H%d*hZ@V`9EQ2{wAQV#uu$PYkS|ZoZYvub^X4lB0?0dG%M}1%|OloX{WIi*L7gG*$K`IJ!a4_Q_ zjdlBy&YyGvbV05!FJCIg-=2UBl%iKj4-7d`ZX!LEt=ODD z^i>YU=(A^J=*RaEu|X3`e9n>!PM%OQMb=1)cID)6G6<&bOU2)N0nFz?bW`7hgTDXZ z<@zv2JKP%c#rxH$8}iW9h33fCzXi3u*?oFE+C{r5`aQ8X6$EXE;^l)AoS3i?Dd)PH zQ4eH$Y^VXjtMjJsC~wgF#lYmCzVLFy!JGBVhyrxKGM#p|h~e#dSW8K#-BkmcT&&U7cJQtyZ@I%Z}|n6 z?a@T$;1{CMB@!&h?=sqENoOV5(L6DLF>;m|P}{qpu&QMM(!9wS8?>=JI1<9Nd=R>= zHN33Z7D0UFf#RtdFf?H)dcO9LzNNL0^XeD_>Bu)My{0G;j|oGmIZKJcRs{mk*@m;< zGidxs9%(Tu@xWdl{%W7>hdrlw=8x0S_P#P*^_e5am?pYbSu0E0<+3NT<`B;G!K2S?3A0-Ig2pw zcZ2GBcIGsxPMw5qt2__vma&yO%smd)`qr-wX0ldp8d)} z=ZG=!H2~@0o6zLCnI6lk2N2&BKvu+)ABj`od83y<`PQ9-b1C>XdE;f_Zd7t@AJ7u& ztEJr4a1M=END#Mk{H zO}=yn{iWNWN~@*u?AeHQdS5gAeGB?;t@Gi}B?>>(I8m^Ype!#1{m44b&i#hb$`5@Q zqZJahEoLCSeB4TCLsYGLK$FWZnoK`PJp3GdS&v^sDs{5C5?cnH&xMzvpRv4Ap36AB z8T4cAffoNin$9|^s_$vzw$cJ73Kohqh#+8tNJuClU7|=g5~3i87+`mPE$l+D6}uZ7 zMeM-t=KaiXt@od^?!9N9+0Q)l%e)&jqt$LsZ=T26;I=7@7{s zGlkzW05nNbGDj8>#vdAwJ-PAyZ3Ud(ksD9Ex(#4F3LqZm-e#d^4OmmFr138&{8+y( zjrrtFc#eHZKt~qB#-#bM5u{6!=&eF}*BiK_Klxwo#gQ5K8-jrWd)cA?0MF;!nsF}a zhSR?+@%QVAR_Mi5^s*JFn@Q)#HiAz%5vgqG!Nyan#kOGVZ8Xwi-ZTZ}oL)`!c3wd? zmb($7`pF=89+peJpXW<_n*jXxF8nRM1HSNm%FK6n(B+FRCg^1WjVJ7a=c!4UKj8>D zGn=q!FR!7|J&k~`%p{N0p5 zJy<>p{@TH0NI?keVe&HO-cJCow%bDNVcF**SpGYXW6lL;ZV9pn8?yk;5B9bZ~YOHpxsOfkAgg8QU1x8`A{5i?~TGYOSzbRwVosDw!p@> zpS0VhgsZN9p#8pb6x`m%(M-pk3^dH-?b?_lKE zc^IcLWUQ*W2M$lX8S&4g(JlJ5 ziwES}GsNS^f0WXQM+%Hb@{)nVd3d=o9OZ=ifoi(U;BQK4NmA-e{;rA#-$o?*=%e71 ztGUhP{;N^zX!76~a9c<@oMDZF13o4b4;zp^m6zLBb|-k}WrAzjo5+OS1%{zqAwPW* za^^HuX8f2Mfd2Ml>XWSbPUuQ+cciE`ema`@+FOD*O&@252a{X%GGX3aPoZ$Q4KHC2 zEE#7^L9p~OF6`<~W93blYVJnAZ4OOh{Fq0Qoc)OBPZSV{j=V3@`HC;+Z*K^rVI7fq z-7W@yci^;Hu|4rPO%)xt3@NK0!ruK@3QwR6Hund*@Vev{3(bn4dsYq<1o-~lQH}q0?YAn{h1>jfsMr; zT8u|>b!n;GCcdPn3-hbj*32hc1|Kv3HdrBnr zeleJ}YoU0tOKbG($qtivoN$Z&%l^02dwD17-CBNY_0)s;O9e5SE^mlf& zn+Si0$@o7i?Wm{az_43L7%v@i<^1ThGVzEc{X*m}$0a+7<$O&Vn>K`|dxjXeX=+Ly z^#)aJ9YLOAP8xKPms(!5g3cHDL}Aoh(6`=6lPFo1TPtLTG-HR2{FPEG&EDjPOh1;U zbRvIs+T*V+RbWeN{Jk|P0RGy5MOp3|YI_twpBzAcsUEi$*Wpo7OA;(Z{%g>=HSH!} zLy2m(Nab}WHa@M$Vtz9W!0ClHMD>{u9>vKzdPZZ!YG=T) z#tUfDP6O5~YJm3cDh7ValWV#r2IyIZy)mzCiSG(J?;J))GZq>Pf9#zjcgzGmQX;;| zMC-BqRx;OuxU~awx5sLn&txQkZwiz&krnV0@;;dZi&CjCPeG7p62||Uma;5dcsrcl_Wh;m&681R*AFKiwV40qhH}#7 z)ZEN;D)l9aPYbWJX&p&?FZyuA?iNMZbHcYvW3Vzhc?$99ibS{1(_(%#lmI+E4ak8F zkk5H}6+m}c;;(IrTU-2Fay}!AU6U&LEld?tj#okYxP=M$F1IJ&x^V213^wkEV&QKz zJG?U}bMHT^$oej>`q;5!=PbCYi#JDq3N%)ah37ZtF{O7=o$*ah!}}M2YF}L@_)38h z(-{}^^%LQ51OC3>J_vh(254jJaPa-_dF&@PoKLqiB)+%l@?v@$>dS2y8nuS#8^>br zPAF^?Tqn0oP6Ej0bUggYn_sU~I&;1ym*NXUz&xl-m-*UhDr<-iULNyJqMkk@07ZwP zxNA!`#&Xg2$2&5hDv~2sI>X=HX86|I1g_NjXn^@Gq8alo8GCbkasDe$v7dgSN=+P$ zGjTEQ*c*U+%63Ah_7ybQ?g3U78D!J1oGvL`gPbqw#BElMC-r5dCiU5x&|dW?A%;zi zVm@RKImfPGpyL!L_^XBkI~Q%%6PppOeR8YHXFX-kvG+_O9*w~_BqN0S;xiKcEfs(N za>R$bFnMq~T3aZRSMNj}x@ZrA40%Ucqm8ifcMwLMI>MUay7AQ0V-V&XN*IR>7ze)I z1TR~66k1aw9!Z5@saAvRDc?Av;SOLF-@zH*Gn7)#Lq6~)_pn5@WruwxT)lH9qn5}F zs!5iK%&*{n>Bu<2sBlyib}QTg`9%5?XT(HUTg5hvJd(Mx1GJg2;IN zapC-2ov%ye)|}BrU@<*mPF~8>c4N|Ym=Cp}x7c$>Lb%@-t@ctpRyR^W{DR)=wWfSSXtqA;3d3T`s z;Q->BjK3D&P);+=iTJz9n)<9E{x-(wzkihVSHbS!yNuJT4idL}^P=$gGsj+4W=FM- zDfLBG4CmZ~=YGq2vIfwVKGx(Cypkx&&D48P{CP$&@i>MH`(I(|i!O()N+2HRtD*g7 z9K_bvBaqk^5Vj}8j{5f!!d$Q6Rv)>{+pCh^9*m`lwGYQy42Q{y9q4F@j3ni0`0;SI z8uh9a!nzCGu*qG>OZo4M?SHZukN%COo}M8_MeFG;zcs#1a7u$ex!`(_%(ojD<0v@e@k4br*V$V@9zy}e4CCR_j|`v{{|AbM&&TM z?HXTOtiWhQQ^IHxYC=2?xWQjrtR!~A{pt4zMfxEd>T@muICvO2UhiH&jFuD7i|uf0 z!#R#v({U>Ch{V*s@gh)?@FAujJEM$=F?Z*)2fHY)ZL{Xx}y zS{8x5NO`#2VFmb%F5<#iB}}Cp#b1?_MC{2qUDXq4pXhJN_}h@ZqqWdMWn=a(4GBdr zUa)a>67i^e4wJV&qOgWr2>iyz6UYy%SnSEr_Sb;DEp*_eaV%XPuO(-qRq3+a3{$yT zYUJC*Y{uVII5;X-uRFYgh|?b+EO|K_*B2Q5p5}qS-E_&zjWmvGiuCMdDNIK$sQQPK zE@_Pb+36j9*bc$esaN#T;Jgp{yQ44mazHRiri~qE(PU99z*7#xZu~>i*;@YSp(>ju zM+PDl1$o}IxE`dl9_KJ0A4JHS%FLs77=Y?JSy8VPNyKBWMEbtGlcUcSxbmEVy^^0q z#!qIdpLHN&W+8_ulz?xDJraHBjd|O2_BJ(xq5sCPS4q(r{mDI*gX;|$FHKbO_bN>q zb)rehaN_3l4L`n@jVFH};KHlq5ayFdhBLku(A$9$9K3m&khK(<8O}k)r-vZNft8J=9J@AiB>FQ#Qa{yDj_z*-YKcM~{jQ-&x^fJ9(Lz3bpW8DY zW#aU;h9JGD-VXhJNnrea1*&){UmG6)_sMg_^-l>uCRpHklb(=M*@1q~CjjG^F%|BE z$ilFK!}iR=-r#ePxb-sz9PfdktWhTQc_(@9RMd(2+VT#}H|&VktK+cNM4q4d-+JQf z=F#B0je}-S*sIhr9(x&Vb|nxfd)xt&rKL#^oeXd5>mjpC07~mIJ2W$T|dU7 zv2NtA{H5v*+hFR8c>w2^=P|W@E6J26&kzkW(_s8q#j)XfIB3*}BOImBHcBait6h|b zv#m_w&jA=ZZ9wqzu|M;T^@yfZB%Qm=BW?@irGjC8nEK!UM_JvaT^D&_ta3xxJu{zA zkJkh3uReWb4#U-XCLl;yt3*BMj7Q~h@z|R~01TSoTVWQGzbZFK9sB~>Z4Ac|qbESS zXhUQ&h9QBjjrdLF!Z7@mGsx5&C&>?fTXG9jUt)2!Q%9opTJGeqdpZbiXNiSL6Hm(4!Q+x{i-9cPB@6gMu>3zvxxmrJPQ3Ca4GaWTO6OaDn zc9TFwSK`|i!gk3YH@UXN%0c;ymHayt%WYCDt&=EePejT!(WG-$f27x{np?H$nb4I*==M436rFd83_ zrBj8u_kGv7hA5 z!nceF#mazj7rWGD%I6M`r@%;{8IoLnB#MU4rC} zo<%#2iN~vU%nugQ&N@wne5<9)i3d7>&ynhwcG!mT{4R~N3(XjN0uz`IxzbymJn=Q9 z2VI8CZGNtzFkhLizk5wF+7?I?KUqQh{0Q^!yrEP7Hk-)<5K`z$;=4!gk7&J}ueHN4 z@cS>FKkt`Q&#tW3YvB;C=)kn>rctWb4Gryc|(QU5GySKrbPdgFTxDXf5ppM(gK~=ia=Rgt4{MlCVbc==nD>Untl8=A1|9hn8cd&v2})`3JFX zwjs=4y0F=Ob};q+rZGB|H}0(aN(5&O2j9|cOpQr|-Ijl#X<1jWl&0X@oaM;-ViPPc z`szx(SMI|6r4|krTO*KeW+NGooXB$rtEr5G)*v0|1E8f}V#tq|Ht0{*%mc&55#Po% z4)>wAOm&=I)SuthXyN&`W2E1Y>5zD$7*U(ZzgFyj29|R92Xw0}i%xStZ z#>e(0D@OLkUc;q$zI-m5GmiMS#u||QPr|_uhkocq0}>Ntmb>JOI`*1iv{Q^7_(l_j z!pB$+TAc-dmI>%(GhU8(%3=Lv=GHdSi1G4JE8lulKg}xy;Id4`?|w0*zQ|ny ziA4YpkpFe-9!*EJJNXp*5}BR;Y7IU)>&RKB%KCu_V33~4>n*~ zL0-G~v=In$hrrA0p-JF7ii-1MdozB>Z3|PXm6=<}`-c5a!NFcF$ZoU&NvSMC^7juD zsMIUooDVjnk8``AZr_d^;_HLG%_Fhby%usB)KNvNU17uOV-(~04-mLofO$i6I?vz3 z-W45m$a7UX`YezBnnXjy&s+j9`L`17o=;{x8Wu-Al{boXc7#8rtC)(+fwk^)aO>KZz(6iqJ0W1W^KR{u?OnhohUa7`#|tz2~Ot@Cmu1*x~v~0X`^R({Y{5|!PvV% ziITAeQg$z={JY`a2!Ru{75u3LBopq&>Uj9Had}b$i4QjBH>`M6BMg;fr9|K z*fd6q-^^YCyiWt{^=O4@kfB{H8KdjyrfCTV>F4lN|H$M3)R&Fe8!(j4m&{2Z-==fyz_v&0D7F4ik_D`aXzySKe}nL*Zny0-5EiHKcRHZFD|z zt3UIrfgtU;9>UI?pz-l?OsTY@-#e0=C*&sRdrJ$@%U#qt`6@`S$juKi4G^4z27Tn6 z*J6BI3cl0D{MK*^zZJVfontaQAK#=T>k)`y>JrGVl7Rlx#7c5AI9=D52-csciLIp< z`K!#aNsZa7w3>cT7tuIe*8m+fC0gIjs0X9Q#uMK!xF7YNCf!s_nO`Z=(SCVQyLTj* zLtEjDmKTv(ABuwwj^kk8E?6FE1+n2yK-;;Sdf+>kPx%w!c||Asc$o>7RJo<#-#;JL zCuahv+?T^D6NsBs!>mMGr_lygk5Z| z!hG$!68Sa~&v`pGdPxQ871{gP9QVH-B?Iz?y2?2Tjfd`Mqu!E)h_fd~MU}>kWs68U z<9e`I9|lXRn+f&hC>>Q8L&Zs`@Y83p;*ri^rj;1?#Ly3`v{CC$R*QrH|h7{QDRv+ zoRDpv6iUA70rzSylx*377@C#h`74=~DmQ@VGa_$|Ke!*fnp$#p4eoav$YGb2`q1ti zDtTHO2Rcw) za$MHxRXV1km)+Q#SC2;njOi$P1?MF54G^%JLOixr0r>hL!KR2PCEtTdO-2WOg) zAFtS)k>!|Coi&(mh`4&Hz^Aah8;9wTq6Pv>#6m`wiywKMDBT z5h*YG2Q-a3R5E9&FZC*h-(Gy?x8n;?w#ql6_3|_^oprBk;+I;^{r4%g0|F_U1kOIcfvQ&U75-zgOwVZwQzRQt3!% zJ@z&|QKX(O^&uXQIo9?HU(>6V`0X08Oq73iSU4Rb9({o4Lw^BurX@nUcR34xi|F@k z7s69DguSYxu^j!(4IR9t-&Nhj-Zz5cu!hi@oq*lGax%3rD+PR$6Y*CK73;}L@A1vJ zzhWl|(XJH&@p9tWnp5iVXT;vo^^lnR9m}?#Ns^oKH0c~lMOs$gf&3T=_anL@kgZ>^ z(q|=}Yn%b3@jbkBGBBlH^~NpRDX92Z7fpPYn)->#DO zT~-o>Ln|^lpZQ1J?26-vM+aiw?h7!g%4q!VI)3;Mq06+j{8m4mBLZ~!TDZWO{JjhM zzGvw7TOn4|)$sSeK{WYx(U$e5ELbb4AOL4e!qJ)s45{w7q5d65*~{I|NY*RcoD%9mSs z;zzfnzSsfdguI<-yR2WGlUD)g9wg=i?@^Lo??zhH( z?{T1A593pOIY?iwg2_&k3#f@Q&}Y3jBp3Q6VNWhsFWuUUdMYX!x5#K;8Nvvlem-qkSq)o9yDZ zO*>6F|Hw_CzKq36z-l`G+8vr|_YB8gB}|TdfFIZ1fuP?55M*qCgX8M>+kXl%cT#Lk zA5x4$mXRsZ3ovl?9$&Zg%qG4ss0W1}xc_GsA-f>|I@7EdMn87$K|DP8G`2+u_@)n| z{;kD@eNW8sS8m65e=YW`39@$z(SLshREnX5Y@0o%KKw}|-}(b`$}Fs`Hpe$*aaFH3 zAU)*v}G98mDAzGIj}K(GaePn zJiDcwG8zU;d}rw6uaP$Rmc*gI_kh$e#^~Wvj_vs^iuj&MpvNzk zKwdrBx}7TaG&QKFCVu3{5VW@I8{=iZPSZOG zUW{P9#S2f>|7gNd)qF>AJ9-bU6jTP4`CzVW~JN4$fz zo5%3zzq#z_b`!;(9t^wc?{Fq49?y55#)Zdj3EXe70`xyl)41^|jBc-{4>wt!xN!&s zv!vh!ICF%<0wObeCRi>Qs}aklh4`xt(te{s;M*0;p7PvD$qN(k$&j`CI99e-(TB4F zdxuO^!JY?YWV05BRfL7IuF{$C#0us{GH$7V2xmTY0xTKL45L59)m7E>=5V}AIi8Ozo+RASDsm{I9lh2lzAip*>I(*2j){!tmQl=4XTpZR1}+Sdmps-# z28PQfHm7!zZ)U}4vU(1dZy9Jazn9yMx0-u^PfBzCMwHXPBYrr|B%miUs3kR)8N~M? ztfi@eIW&*}1RSuS9>@zG{_~-a8JiTS8=-*wI0YEWzHAn`P<_hos-fL#EL$&eXKn5b zIhf#zsN2icVefswFx7{)Gy$4l5Sn-z=x7NM6mojJBk7)MN9PWc*};=%aa*ot_} zL!yg^r&6zEo!Vp+?N$t*g1>#xi^m=u{8itF^))%6y!sAu1}Mlu(&nj z`E2^|bOG9gkRgmmvQ%d}1v(P~L@&1uz~_Z;u|agcv==m4?tz^Dj?#J6GwjVZX2+vV zoj5-dj~wS?Z_O=&H{pOMn9pKavl<6O&IaP|e*7K16T(6pLVL{lX!vV^EW(;XXSF3d z9a&G8;qz3;qa>e5#W!#LVDxgE&ZlQ%z^8;h zI;MfD?m1jFv!ah(QNH+lhdypc4x>iMAJ$&dafLr$MRX<0xC43;nf-Fhzqh6?HAgPU zXl2r*uo8QN>S4F9EW#|5#n$AK6#DoL((iS|ZD{U9;+v0oYq?46a};3=*%ybsni%S7 zv8kNTK%(tftc*E_{stXl^E(B&J=zhi@V_S1XSvXPW;2{VKEU3?RZur*-2~2OO6l^5 zT(jo#I{J$q&iE1SgukgktB`k|<*kBWw*VSY84cHQLWxyzd|;4f+_-xJPwv;a12CHK=W_JbE$Y3tw(v~lNf zb#+rr4VO2OkL`y?$K~q7iU7FkDbHnD$W=ji6J(avo$!3IAvJQHRhh5##Pik>Xd`bf zJL>weV_Zjqr#_c{UB45pKC2lQ^5tQS!Y@Roo!l9$S#C^y@q=uIZa6r^1 z+BHqIBR`zA(bY_3)?-f?_%;yGLsMP(Eeh_twi|`NegJ>j92b;&(ax$Po7OK7(w7MU z-yy4w*?~Z7T~1Jv=HY&aZN#IQoLcUZ`@?c-GN>go2Ba*eN*$K#x_+-v`{(~~OGi$0 z6dDjRZ*$Ub)qXwd)m@JDX$kP!Z#ejSDV3(pFq~dpj6k*qwS<>*0-r_P)(W2jMrB(DTrA z=5V1%C4Usuy_FXT?wbstwbOC1Ox|T%xRJn*4j?(-%Oxupx!82`hY9|cv|{}A#f4jc zhB96T;;QmTh|ROG#MFTH)e z;EKIVpr5fSnfcHy92_yFJ@r8D6>2_*c3oxKc&RPU+_`2({wm_{_LDkre~i8TqO$R~ ziY{Gr6|omaMx9M0jDfQ3uy8yeyR1e{Zw3S7#W>hId?ynKcc{z&6w~qJYaS}D{mS0)b5h~YiX#RuC7^E{X`C^bA^-TIVbqtC z{MK_Z5>5RA-0j7am_HATM}IQ^d%xTYe|IC5F+RB3;5Mk11ry62Rw11KzCmlt4^l?P z4u_oUTHxzHm;g+@V-CLE(Ejf_o9Me3y`h-J{9Yzhul@M#(FHQ}!)qVv{SHK9Rn6B2 zErGjyID2#N=AxJBD9rc_Njz2Fwh$pVap=rO?LSpD(4Q~u^yIyqE=h=RjI{~;h2YzT zH~qmUZ+ISTlf(ES%dWo3h^8!xYIZ4#&|0r1<`y=j)x>SIn^p*Q>pmzDkJvQE^Y#Sg z!FVhOO+YVwGt#N|y_2X{a&`U9djyAkkfyA=n~%pi0l15j?j^X_$BL!w607< zc4&8|o?gdt_b*r(^uPC8Jf)AJC2*QN*pd9G0r;Y)WAQi04!vZdu&FQc%}egv{C5fo z{A@{hddnpPk9J!4c9o8Nela9`ScX)7HzELShO%Q)XC>-OGHm$n$IA6ffPC@V7OA-`^4OKkY|0J{*i3H*X+X>+b{OgIsq$7|o_sE?%u(bUAKAQZ)ea0j_%%*6Qc`5Z}wD@K<64e-R0+w_l>kr%w}z z$1O7N%{AoMb`yP!lFO7OGtvFxe)Ri9oyI0hovDA#=rYY4qm}3Qy1ACxwBVi!digSh z`qBxw&*jfEy4)s=LH{83MIL@!uf&DF-$gH5!P0mFNvxU*NQJEdj32$-(epB2#*aR1 zx|h@LXj3}s`vqqrJz|LON=Ur;53z1&(2}}qKpH#<1=Upf2WKyPfA~8O2TSD51?#R6 zh4*SE%s0O4GvD|Er%46C7noYpy$52@77){w6yC5DtPm87=DC4x#8ul()1|{3` zR2dtqA^YflHoj{7X5a>Or&N&qhu3gmu_~MMeR+9VLwU>G;-#e8B3W&GJi`eN;WLNZp-dMSKkqfAur+sPqFKb$J0{K|S&Jpdyy- zd{W4_&9>Cj8HB8AD1rJXZ!A(+%&|?}u~!*NC+F~k_;WQ!>DX&I1502#g z_d5voT609%J)(LzrVn-ZBK8Wra8>6fk=axUlas}n%DwD}>8(c2DB`)Em_(vE-YqKZlJ@;Mf~P>sAqNHEe(ju4kZlZ!o^uSprhKkw1DFN@8~#pNhRQ z+MR2I`#0pYd0?44^T}mkNq3~le`Dg&^Gi?olY0V>Md4fANQz*_Rhro45!(JE(S1Mp zBh?e1scSQPXkxEWh4D!4QhA>q&HVl@U-!30W`iDZY^)*Zn`Mi=_8eif-h=#=E6a8X zB;sEwL5qdICl2V(WM~Hd7P7b1MOVg!=^fDI=R#s0kj;2L0CvaAU$NYhn|(*f5|@z) zzv;;m++#zWDUl1qEuz@WYYdJ(W-`4rups5K^H7o2wmRXxSeye|sJe zf1fRh$43+JnZnST@1R<7G==e3o_1<1*Oc7z=)?IepGM0)y`~k=si;i^*H6l%zEsi2 zg>no0{YiE|@+X$A51gqlCPe0!{5i#29dy4jJcf8U(eIHL#BzV4G5CbAM0pJ5bRc!3 zyF5=~Rt;CfK9RZ$t1yuD2R{x;y)Rk}Do-Drxg^uPsUC^MBc~nXf)s%ExiFb_8!VNM zq14j>fy~#ILQ_k5+H+Ys%8qo#=wP{ZsH4=97jf8oEH|>e?TM?4&*RqaTo~Fex#jOj zAL|~lch((J$hI5eYPuHSwVCXwen7OWo}0q+P)sc^hP8~VKIDfn@+onGh;|_`v?v<) zP5gX0-;%$oydifCK3v?1dN7}kDsIAQUWpC!t4~B>oGbkvtLC@jm&D`6Nb*BN7AYsl z9Z_c&k%(0-VfV5fOzNL>LodTxG9O># z75S}^+=jjFw+8iI#=H}6U}%66ig0#^wJ#GeTDb=j73Gdl2f0`BzYIeAdonTV^>+&K zjpDca?@2#Ld2OmeDh_U24ke4HW938@&{Q*smcJfiEtho=kF!efB6suMe8`Tx$MkV9 z&VaZ*f}z1TiCe#|5UVFQ2$abcgcb6qXf_*Rk|Nxf2o_QtY` z{m%z>ou?Wx-{^~h(BJG;{D^_CrGfa{K!@|0u^r&gq80Ovn+W8P9kLi326dn86gfY7 zN#I|GL8q5o5S+Nd46Y_*gHIXrp{+cr_fam)$9tg3o$}hd3!yZ&8svz-m(Z@!KNHTk zW*NfYRz^SV#=!9ViRC8_ICJC%(41evOYcK)-)T8JN}uMSzjXS|lRlQoGntXN#x%n!o)z+Zd%m@Px)_(2-X zRk{`sU%4U?bOep}nGYMsw_x7w8%8r{Dl_g+r?I;pxv*&*J8s+p-wve^#t(UvZow>Q z8uVchdQr#(-+WYO9*_GueVKq~$h9YplXMv@l{zyXKqq`SV!NEb-7QptKLfW|3fPu4j-RMeX#JA1CiEOWqF~9S7pa-h22_ z_KpY!kAk%*H()fDsfKDM8rrX}MLZ_KP-5S{*qaQNuM5C3D9M)jkgWaNnh@VHFY@uj z8{iwNqOo@z%Wo^((Q`0|eI5;o3HOPSb15#g`iSSbFC`wI=-l!-Tn#Fu^SVqQ^t>I+ z4f|vCP^L5ZTJUx5dI;05CG#?ukyhOX{%DF@se5T%CQ`A&YQIF-2~R& zFJ?zfW^eeD$CdL+hBGeg1*t~E9M(5xV{fah0Tey3AimAvYDEQrrgl$9R~6_qc_J#5yW@AGWjNj*6JdW-qqU>J>LcHhL@n9Ye^_Bbw}Q32ar}L zHU?sEvLF6xv!nNR-1m@&PXhcE(SboO_GC`j_e?M9sVoqy|3|o$HR0vE%yY`*es2{o z$cb{JORq~r;oV=#lD_=0S(5D(j+Ohzr`tj2`WDgDgF4c5nA|5gvP&52lY8m+eh?vR z`&tPO0>C_Bu_yV~k{xTW^rc>Xq;vlapxxMq2ooCu%{H27`P|`%*`MiL?I;{P4}i{( za!PA-gCJ+Lq__Mi;^8K@J4KD4U8*dKC6q$q&lrwv@@**bC?P-2*Y!bva?NIE6I0@G z8P9vvLC)%BP;8XoMExs(wNKx(I6qo$LcQ;gQHvGW)A56$S1OLw`xH#oj|G~+9PDlL zAdIf3aQ{L;6!t>kAo-9N{7uKVjOR2S)slJ;oC>FYBMIo|i_p1plq%<2GJty@zz}`qYxh9Of@? zf%|DW2vnkImpRu2J(uYa-^RdI@a5Cf;c#lIfN%G9`7<9XB8+**`!l|&LDNvVST)cbq@ zrOBHgiax?_v$bK2Z`J5N?u!azZ3d=1Lt~h4gm{8aUaD0PPJX=W+nx1@I9>ANCmr41 z06DM6L)iL}SWZ$RJioVLxyJ>f@NqLP{F%eo@8$5f=9Dk>MIL5uS8Ri>iVgpNyo|%? z-crbNcOtWZxqK?D1k2I$d_5>DJKyA4>F64i_@)*>&6}d)d+$-xrHz@yHxHwYr3fbE zgZ}OpHT1Glf&6$ypt9{-<8Sj;#CKvWSy%F~C$~5Bm1`Kc&f)%}w;)wsif~R&(T{LpNLxC}weAFeUjgYbsSWdu%t-uwg=|Y_ z65nH{F!ZL>6o3EIpv;;U{g6k zIJp=YYHtwc^kN8mrUl%q+hF{{B}j}s#%8q%ytq~oJl`D9=a-WP=TfP*Q9WpEp~`0B zNwk}_A7_ThLgPcZ&-~ujOziC*$#^c8?UYjRW8n*UxpoFq_vQXX-?qRgE7qjGsABKO zRkE>420nKeYwGh?8b39L=lV$m-mWWjHkAwiSN(8MDc%kJ&17Rjszo>pS7^&{T%(NT~}tkZmk+~pFv|-e}0HW1LeOKdRS}7{DAQM z`3UgavYOIpB;j%Mnu7jhHsbYx-x4-(to}e~e_F)XPDk|6^J=~}jWS|<3!re1Piuv} zhit;vu)}B}qJCjVA1R&&Cx6+w_ZaM*Vt*kKm-V$vX zt5JbVbUR|f_!lNQi^uD(C{`w~}Yoy0(P zM|Z}&-pIY>a9^YPcACk>g>giwx%F^v@a^wx;%_{97eWD3yAMBOGm~Jb3gQQ1hNl_>iVqp;d~(mir+RKzW#R+d<{l3 z4%<=+vEz1;q3Y2zRt_;n&v(G=nHE5OUc`=#!Ki6>7c1&>4J2k6YoI?v4y$|vpnwFN z?*1;F@yHJIeJjb2W|p-3*nuuHN5goP9-A6@6JY-*-B_!7!Y9p(Bl+!GZ*sp2d*^rd zXMS}WCQ~k=lBPQ0%wJUDYReg7{yd4f&&_s)@Z1*68zGQ8=m)^36}R3Ol-0rLQ`Q5WyHu3;4|d?YYRKDSuO8n3i?aTUs$!L zW}m{3;IUBWx1Qe$jL~UA57ZuA+l%>266if{!*g~Us2fv5A?ut<ok=ST1|GZCIQ$=jXgPf#Y`ZnHTqS8u*HgZ41F zFS5ETtliS1@h%slubk#jeUU|IJGoR*ViHTuj)E62^LXraK;sJ4v@6%6qlfZdKZ8rC zv%-uVtlih2{M`fX&qw3OqbmH!83@uoCbo>fOKdn_Fd_$kWRg+#J;#zC7HnR%Ml|z% z@vYl3$kEb)zne1FHjp=+=diNFFU)`A|%ikh_u?tP9S53XBFLwqrzw+%sJ&hPd zeO^XK(bd|_*UTV0QT{w==?-t|)n|DAFB&40>dF05ZTy|nj^8ex@L)b(%3;T=(6~xp zESt$I{2OZ!^AH0z`l+zyJsh4rBJljz2^Z|e;^1&uq#X7TimmqGTk9nl!1DXo=;d_;)OG(#EW?&_SnM*mZ+4a@4HL+U zoN&-*$eF{MYqaYUiz2o@fu^+wF`rPZ#Q4z|awaz!K)z*L!`~5O^!$m`NRmZ~8OvaD zN+ED}^(R`z6L9s+JIrf1B{Clx7R&k3BHHaXB+HJ-7@Fn5Z@MAF;4hE>+|z-QQ|q+g zPagXZoXxQVYKxfv9i>#|90kUiKWuu*b7;XM5aFG8;O<_6oP??Oi`LICUY3 zM{h@oJLIn71N%&VeFR3^#&h&rW_z-bio#Y|-vmS%gjr z=ZL>M6`8;M%V0h^K9Kd!skB=XLKM8W@F{UJy=ggMK7A2z8 z%ME&a4ZwVS8p_#rir$?3jj1n7*(6MLVSRG07517ZVXuq;D9*qShn8{ZrTQ%Jk44Wm zvQeVtWTl-g^i|O-3n(s`by)UQY|_@EMWc@;E%sD z28@X(7d{;DLC-f(@lbhe_}CS^G@2a1{N)lb*2KW%;Ys-0^AUtqrMCg!K(L%s)nx2; zWO`Jo35hNiX7G0v?uSq0h+$_*M62FWhzgf zW(p#-7#_&{elR=k)?j6b+<=*T7C&CMCVMQ013d2=@~$o>v?E*MjJW~kgMQIuZz=Kk z^b6oC#?p~r9m=VT#AuB}3|I!h!Mf(SYC0M$_f&P^Pwol)AeV?Q$jed}N?OfvXYc)E zuzULzuDT3`p=}4~(ys-bcl(0T0rTS-KPH1OZ5;MiRk2qq-WVN7O$;kEVm(4`M~Hk# zEGJoTSX>%z>Fr`jSd-g=@OiH}NeqVZGCwy&g7&@b^2J`Ds2O z8{N>5^$3fW@UjKQ9mZKvU;OcRh9?F7Rx`|x@P@kOE^7E&Mpkq^6-)j$qw!0*nz4H{ z{LNHFB};Bw5?@Vo`uORNzloSSWdPjSYG6@%#%Aai^0Lbrngkiq z4>Yf*KGcJygUR1kn#>dZ=sZIHd~>=2vi&-bnM~4ib#ibuzvau#!(HU=oqppC7=PW^ zFjr&?EV0MtplwqgZ5Z`JX+@p{AN67#W z@(Ll};*6Oe{6ot9pJDH8bSC4u_#4>^B7WwlVnuZ(0BgH4;v`%ETJ(@a^jvO2zvdI*?@1i^K4EXr zSL8E8ZV4ZyN1BG)B%nWY*l4a#-LPxw$NGz$OD>j0z=Ex~`Ys30kI5shO>Us8#Hkby ztx9L|Z8vld%15!ohJz)b8-5&<)yp@lBAKtv!rt-8h(_B}51y;Cs0YQ-@V5pX?6<(9 z8}f`!{XbX>I1WvPGqL=kpC|T$;VLqn&9!#;ks}wv$2RQ8d{P#AN-D9^LKXs^EToTH z-GR30COWt=z>NGDNtXtniRv@C2x2Dl9Hj`Ti(G{ttKCSKKl1+0*cKf2xD9YG8K;mR z14lD|*#e2G(LU6df9}-#AUEotCynndAzBXdhJ&O{xH_x_f-9Ak?ZIy$J8lEPJ2Qf^ z^yvm3y&aAIS}5VKrba5c6^vWaKH1>YAqw?H_Ka_ueHmAGgR135)EPU;5I>~mG?W$L zjtxMy_X1uvG6lxAk07uf%2dsMyba@}0KfY@20dF4twb}9*jx}uJdSvQuL5?J>_soK zez5vaJoP>cy$pO0QjJ;ye|QVWI{l&XlfB4nfEiPRP2Ew+jRfL*Wv(UXZ?ob4*=Zz@ zSBJbWJSRq_9U1qNKXRaK_{jeN2<<2IUFP)E7q! z_%kOI+qUOYH(c4oHpan`;ccZJK*=FFv(ejXiYAv3fCpzmKea2BX182qb^ib~1t<8M z->(h+HcEuQN`gG5u_pTa4=+0mq4Vc@9QMc^SNq8*nIYG$Qq0J~6(6+G^F`o#$?NQN zc&Q!@W4;;)tFX$V6^(!vgYr10g$d0UewZT@}A2 zMvH1lh+gvne(763{5{8EjcuTKfC8Q`c|~aF%j$2XHaTtUKyT}(qOkwo45A+7_hLRN z*TvO;!O)?Jo$>cCM3fyeCol8pDh{u=Fspzjm3id8S zyQMA?XrK?O+YcbD*#W9R@+-RRR~<)uV{I8P!&T5(SiGR3-Ed7p=ar+ z@)}Go-9mWA1YtR;El2|+jfqDv;kkA&jC$I_lkqJdw;szR;q4(fxFaur)6B6Ve;<<& zSrr5&?Ge3sJjC*?BEtC0GXnkHgV-&JH12VX;5F37!G7lr@z=(m`JWzM#!ny(tWyA4 z)eOw47YxWZdGuplTO?q567%<(nowURz=qieI@*#+DYaEDV1Doh(G*wX!tH1`^jr_I zC3O(C_yI(mn63amc~snH4(LZW$Nc*o537D^P=eKvR?6c5CKH$7$SkD-tLf&)3WZc($)Zm@6mJhr%X+_x=~pTwpez zmYzc|3j*=?gFA2y1N#&6edNNN>3}@+*qHq255;AY5XL|F+Vh;Fxi^(b9qUFLl+E~^^0Nt(g!7uyRO0brbi!l4iGK9M*vEh z6bC+gMBVPN3+G3d0RB#N@IlWRy9!$#wXM-QSuXDoUN z@&`d5KgcQ52HFE{e)}P>8Jf2P4%Q4HzPmiLs8_e?tzLBu{$9ZHv(>2X>Vf{$XIEI$ zT8uCU&w|O~8vN)pypZu%jowO9oEU#QI5L0vi8HD*NsR|HaKXC{Iy>p$*5;@5@$7dR z@l{S_ysYvIS{g2w=`q^XN*Uwk^xg>;`&H#G2d#fNj#!k!E-8Ztyq9c{4Np3ZiULsPfMxK z?PaPlx+9#{dEi!ztlSm)bRduB@wM)@@HYs1;i+)-XFs&3DuA!oPk7n(3dZ-f2eYQ0 zI{tpgEt|$n!FoqIlOGTWi=0t#h{YXbi z)rRE9BYJzDMjxx)@k3d!74P=CG=vV$ao}U=%ig}sAG!=?8%L@W$Flc z$siOq^&)A z^}vkYj0^{1FA$nETp5}C&jb8yJ!BVbf~L!IeSgzf1IGAcu)As@IxzU>$68t_U(Nj4 zF)SU+w;o}6glYouh{N9v(}`u-BsRf0r1KAbpf#42&&%&&ZCZdP=XBZlVJcVgmVQS_ z&n6SCq%NuW>yG?2H^IRqKWFU4(k|n<3iWgqUG^WQOTHZ>HN0fru2T$V zg;T4&P?%!jD@ryzi2!#-HzP z;IC&qdY)#_`DzRHwmTdKe*u)Lgl$kVP1OAyKyw`>cDR+WP~^y!Ed|e4v2~JqOH4T2*j@uLdu;8jMr&^Z0(HaX8YQr z@i?fPvJBrw%w+S&%!v9tv=igeQueMmI*xJSbRhNF6lftYI86UhE8^yZy-K;t9q<+n zRfKX_gOekOhf*5+xzg{h>oB=Bf%5QTyD?*JlXjdB%F~65(~v;prI^y$3W+x3@MuT@ zO;*jr53N-e)C0KykS9{^;6-*@dEr~ba{%8e*W(wR$I7UJAkIIe%D1=%*;VpRgqnJ) z#m^m>FaLuW)Z{jjdw$?6oK6lVnFDgI=49%r-1)frJb`j8H6b325L{U%mR01>mo`=@ z&_@Q*PgqV+mRwU|oRJ!4zYguqncvHEkh>{Plp&vFkY2Q(kbhB3zyER~z6}2LV1n9(meyIh6AwNrT)ndYirhN^XW|f^Qz5 zes|-Dg)z8rOy17+WEi* zv*XmHWO8dDsFVi!6W?GwA6!U6-1lPqXr2zBPmV;Z|5a`B;}_1%6T%YCkZSE?ajUmI zMsqKtp%{6EoWmLVZRbzFzvV=BVG<5L3WSaOaeQ)Af&012NLfXhjxuLqIW@w7@u(x4 zR|WK@8xO^^I(H!+>#9a#rW(U8fzXSS|NWR!e55%R^4&I<1m}^D?Au~AJC*W zWHj@?NE_$W|Cs!NE<$?G-_}l1+mBvET_98sLE0e`94f&L-<4$}v ziPnNVyfo9Hqb(g!dmDKX&Z96B<}aD>x5yK*mi-?`=N;G6|HW~c?KGu{khY>!q!4LI zdmyEv9Z5q`h_Yw)-Xmo1mAx|~dy}27Y<|!4`{zFR-1qyu&w0IG=e*zd-uJzI3c_9` zu=gDW-Ep36Sr2V+qaMf`pz#WTV|q0Ver4iI=ztEYzUwl-t%kSyj}gr0%V<{~O3=f? z`ckjtdFY_t!1TI=Cfd*FHp3kKO+JhVA@}$#V+&!8el~{uc#nVm?=!~R`5flU&Jcwj zv@?<$YG>uI>Q?r`p+O5d`@ILyHR@m~*V88G`6oVmKBV1tbz|yP1zz1MfVWu>i8tR5 z-r6q%A%z2~+&H^<9bGOz6b$kR=-ZI$az+rb@JbZ)^ zR&pi2l$F6&s}+o)QVjM@uaGm7f8o{havUm=Dqpt@z|?#>=nHQrCj;0FZ>;1cC&KTv ze(3qKKDzf+r{2F0ryc|`&!prsnqCHOC=5W3ehW#Gk~TmRvYl?V-Z&F~DiEgp3+4o3MP>*n*#>4bOY_wc>iPoM6Id5X|ZX zhO{}S#riLsh)%W#>?{9&UiMrEd%G}iDyxi|8O$G{o)pUpMPu#{$%h;24ax2vcYytO z6qfhhgux+OIJixr@wuL4Uhu&j_S2pfDb@6eSVM<(HTL~U4`vvj2Pw=2u4T(MDF9Nyyq8saw+2izIKKU!pHLM%KN40#owekhEbF1vi(cg}LW*$hz$dA$1%$H+rsQ2@2!QPJ^^(q;}I}8KX^0+!D zl@oJzfYs&91nS>L8ZW7!-QQ(k>b)0JyT@gczt6~kpR3S#lf?t6r_K)4m!J4D--`S= zah=hYW*IX7cELcM+=G5`L74@ z-p6v$L98sXSI56)apdpBk<{l9;Uf+))EyzC#ymo6iK+uwKW8C}hrbEov%F^X{ChI> zU~MRM(hgR2ZOqY2aT@ut08gD{L3&~eUKMD1p_jq%JAMvEjW^n3&p(xXJLFA%ymdk^ zPdHJ$#}a;bgQRO)z&`yU8h&2`iJ{CSdfx%ozLzU{Iiy29eFW#L-C~)4oj4@+fT&K* z8SVN2u!>xR`H(K0xGMJ)M!!MrFOnH!<#}{!C_8n2UInY!y9mo~Gah(dNugfJqYvZx zpr+r9ZrX>;SP$g@-5Wn3E|ymUXO@J3b4Qw#y+UgpcalO|WUtFhxih=!7gqdqL1V)d z47Ay(fiJp6%tyJL?KLkPz4&0@ynG$nQ#MEyx(C6>N*eFEM_8@O_}8I(#JgS_uSUrC zWc(WTV16^`OuSnxsaMHFdG0#J!>rT_dru7*LpJGnZbY5`yl~Q>BTa5?XYk{ys_5@2 z15K*8;dy9h+7)E++qZ1a)@4G}^sN+`4jmk*FO5u@k1`0gWeEY^?8%9M`%2_$7^>3^ z^=JNF=7znyW8h<5I_u)_66Uv=CAhRR!V8-e9O@$A!v!>)<<>^9RMF^haAYwO zS?J_=!-s||`twKuKM(kLyoHGJk5I2(b_N`ULhKDsg+VWe*67a=#|Nn+^ipfWx2qn< z`d~g%+4Km3#Gk_h(+@fDE3W~R$vnt)EXO>t|y`v-2V)$bTww{63w&jT*pUdN6T}tIj7sR>u%4imuCM)sFX8xDgvelYmM;Xv}{ggScJ$l!&h9F+A_ zsDC=Bu1YS>mh^xqz3;u5f3*;`-wjAH-AMZFJdi}ailvEuS74f3?#TV7zQhsf&KU7& zmed#7*6q3|o$I%A5Y^Fv6ZgWgvfi2@?XMEY@3jCHJ_b|QH{grg21Yw4FnvigM}Oau zeBL~Kc`jcbF_lL+HGAHsZ$qUg)p29rH&9 za@_Taf2AL?C4cqNbKBa%tY73^eODjAUS~;t>G;3~t!+nFLl=-`Hu6QK&TTm?IEIs} zzf!oj$`WFs=&$-ZWAuw4eDB5BTf2!+KlTN`DZR$v-${5oF3;62rW3E8Cz#qFA|+GT z;d2)i0vx>=1OA^#mr{jj>R*`(dYMfylk3{DKDbXrg$j|>7x|J-=yyH%kWC@J)xb1V z$(np?3abO<&dIQUC|2twm>Op*fz=Um=Ef&ZMEl|M-LxR`tq6xQZo|=HZ=#&|1)^d+ zfc>8AV9zcCjcfWGe)ol=7P|O1UcP<&K9we~3-RiU+!6UODGqxXSSg+ZlJ2sh)90!h z{C=cwbNN(h${Une|IP&c4bVnwa_JkqgR*W}0FwU4Q^D_AGQTC@UsyR{D{UnM;-|Wh z)3O3kPGg|2QYdC!v!I@O8FKx0f-&~U_slyU1zj(>+dcjk0#2JxyE~5H5?3hkHtP(( zKcJ`cK;T@Vj8Pv$th_j&Mc-&nY;lZ*4}Y+VO#ukMU7$PcnJ)Ngk79jQ02=33kE9-4 zC76dQ#Bn!0jru$qAXaqd@Y9DXFj3wo=^yIA_4Lz$)Mxbp@Vg!-{iM(?XomTxql3wh zogn#r9TCM%$9#8r^fr4Gam?$ByW2H@xaN}*@vZ}d$3Z}6IG*41HV{_py~2?KD#=m6 zgYg|Bxn7t|M6Uxm(P**->*si6k+&5M-TVQt{}K?F@>W7?c6)SnVSk=-768WcRNh&-U7t`x{)|O;Q-NlJF2S+LCPs_ zGpK(ftXLm($JDe9aJf&Hfig|3nU6FW?X}z~SNT-TdU7ZO$&~_?_sB{Dap)iK)hlr0ydL zaE5Xb{JLPEV-7jkbt={3As5=0G zCcnK3s0XPe-NPh+@V=#nUbZvtiWn8{p^WWDz4AZ;4SYCUlzO12$YETqE9)zHL3iJ9 zYt}CwmiXs`5{GLrcP2ux!;6;?*=e#Gx=~~We+eN^wW{`hJ4HCYzxM%T~^3?JPbEN1`VK| z%F95?^0Cj*Z@JW~MPRx`Zuz`ig*G%}kcD+iTk5kGzxCYAZ)sid@7xhU{3YM4F_C?4 zKkfqJyeplU-|FFfiWayuIRk3L?@uH@|IDceVyYmK6ARohA2a|1 z#>;J(Kje=-#Z3ZY+kUv4)G>}ZpegyWq7+XZT1|qFhH1=40a#A)<*@fBNZNNJEThqQ z^-YPh4ll!q_a(lRdIrF+8C0Za!IAe}Gx&Yl5C1Xeme9E~_2B<}C0QLok!9c4qsdo7l-AZNKZ}1`5O78?Di!{}k-v;93zp>~lXdPTOk*(Cj^%%`+ zLI?ERd=Tq#`4~`vNbi+0HL)@f*WB*In__nacjG+cj-8D8ye0O`N8|A7<6*R6@B|Nf zAJ$`@*+td!lDo-g{4uI2JN%4t{i&zR!R6^fyjms%?B70?d~2KmzoD?&@|p(x_6o(n z7@E|CLhWq1Ef+I0mHaSGfnQrI^!J6nzl(7ryfd%|9l(6vKH4RIqRE%$pz+rr8NJ9C z{o`*Dd5iT0tT)8UM2i5fXM_N&_V}C~N|V4yLM^wXZ;mfg9{=7NKGxxQ-$Kma_@M)S zyF$IFI;_y4f+ zIuj6sJJLgaEB|^UyBycK?K*U!Tcefw*gFG*-hE-vQ{EmeoCZt>r>j!$$3yb*BvNw8UeH)? z%h}k`u-a|B4c9Y$z+P+JDD3^?ka&}`bC+>YU+2ww!>tAFW*P$O#PLB`4o?dINSJmh?V;FEwoYn`(+<6)s*@k?Dcld!#4Eio*39Q?Vd4Hx4ftqC+5S!zjd7rZZ;smXfnM;i5I0|ws6OgH@6Xz*JP z8kJ6TOUv(vy_P-k?`k*r(4gG`Q-XQ!WJ$eJOoxv+kW9!Y@|7~t|57x?zom@P+FF_G z%V{(z@odHYoOJXu<})7X%O__}COa~Jq}ss84svGgXeInRL20R-myMp!f?9*QP;sv{ z?9Wdf!FuB>gm&B1n|za}|3O_jVSJPjI_!g#PV*T2??h+(TgGVf45|E7z;Uk!Z}gacv-3?=X<$dGcH1OEd|P z_a+u+so-B5Ocnj0%5RZZSi)vvWzaGj57YsT4Ik{7j~WuCzr8E<^d(U~TL6tF@`-Yn zJ;?F7wjMd73)sqY5!a?2@MhGR|Ed_!#3>vCTHE=tK0U$Uul7)kw5DM6fvkb|k069N zV?y}rpiaH&jzd`ksJ8#wAchO`C}~YLSfZD`YUIZZpliB6hI-HypF>>9-xl8^iC6xb z!jYMTs@S+6>*pF1>hnd6dY|UR?j6KYs85z1)kRkczo{x!0r;}yCq(USM$qj}a-xB} zh~TxJ*ed72?~yr}Dz%S=Us=+1@62yXvOmYO0YJ-Y{bYaJ^cg?0NdQR!c^PUb?=+6ZMY6`e^*bKxwJwcrx8o|PwI(XBu z#ekiXG4t;r{=3HjjW^$_!F=w7_qQ(sn7uCUmT!dGvmc?hjd>FGtQaHLo4%bMB9MbJ z0l7qZqnFe z%ckJp9{hLTM<0C2LK|+|b7ejXVZO9y@DDEV_CvNeoN^$*FI{Oer6q8_Fd&##>rg~~ zAx-+6W+G5HL3TS!$tbBBA$q31JSZmAb2Vglqj0FTmG{Q-V%=CDsM7eVd<>{2IgWZT zn}XatigNvIH8@|9=PrTYQ>ia$aI{YoCmjlGsaKMcv&P`Yu2-P;a1de`kxbD;_VCA5&i@5&mjta-(d93 zb#kHcS3I3LhJRUVG5ESwAX$-)SNFO?S^fEb=uak~)Enq;m{lzIC)MF2EdqP{v(d({ z{y2H25`ioV9>DtL4In<+Kn1By#jACO&iE(yP^Rv|a@bh_>(SPR^~)2ig!|%9n>hfR z7LL8rQh=E25&=i@Cq`QiK-oIJD%5+U!OXu!*mKN<-&R7!#m$J}_AnFlvYh`el{YuM zR0yW&YaDu0K?o852rEv$`*B6YaJL)n;^Szdae`oeUQ}Wo`w>i!AEBLZ5uxrq=!l*Z zpvUjD4SZZeoo)UYg5U6N=w&>ktvN_zTN_AjnFEp`WpoQz20}ja-TihwLFn;fx~YgF z>aV7;Zpwl9R9Vq_`QgF!95gv70aNGJ;l|uo3^aC?5&5Qr<>J415U>-h3~be@r>dwu zrWf6oSo=`JB8Y9(R#L5Cbr|(vFalmJcZ#;I1C1=X0NiJfu0AZl-5*owaq16^R~#X? zlCL3#&|4fT6rpy>haTjwD=Gf@BpzI9(i%N)nZSDT5nyjM1F+JI__s!u&ST}v|96`r zxZQWq_`l{@_UWuD^$I7CdlAf%<%G~aGz~q=*UIj%LJTcpVRgt9H+bun&-~#^9tCe9 zwy`=H%w^4?tn(To>aqhCl!p*ZyHJdFdTRlb|VJObk26$2QK^M<)WP{i1Km@ z*emu%W^ubXeE1KC_*yjn$<`+KqiWO_xf?%9wJUlViGPQRtyur%Sb$%h4z>6ULaJU( z<2KXLz9N4mUWz9dX*HQ7kM-j z>K#gLPh#AZuP&^w#OKz{HLy2{Zd;bou4gE8|M4LX#p@h2c2Ysc=8vL2?*;LB>9qU! zhW{#m;qbM0DE0IX^)%%oqMme&jDPZogQs^M*XJcPne#Q7`8Po<`S!cw~3*d#(ef$95vP#UBA8RHn+9m4rI=B||p-fnGFy314R`@pgHE zq&`G4?kLOA)Ps*H@L`J4?jwlp&2M+=kRnzBRB3FG3jurn*`b$LWZ8g4nA$r9Pp=hV z`LI0GEU`fRJ1ujmFPn%mv0EVaROoS~PfPHVH@$aTkg(gAF@}L2Qtqv34Zrf@e7=Sr zdZ|~%=ii{ABl}*>e_*Au5n{EG_mn#5qO~vO2Kd}Z8U0z3-7A%7SDk?ll!GyPS`lB4 zcL8jbC$P2mi#ON%yd3pLbrT8p>H`r4IqJfP-04u1&#iQd>;WG)aB{Ld#mjPmw*Yy3 z8})&{qr$+sNOpPWOZ__|Vhxn*9wT{|%xkJY{%HW+7<-`8&miBP9p|?h@}B0KFiZ63 zNquq8iaECPd1=@@0!XeoS%bl7u-Yddny#!Tw=TD(Z-@4-vhNTU(w&KN@d8ms^G+_SN>pIlVZGp|YsmVb0va3nCR6|9mgwDV zp!4j2<(V#20oT){#>Cq+u8>>QR_~SIC>ZZog_yu^CVgL-182|xf*vGl`hJBtZrmY` z^sn@2G8e$CNm|h;{5Zl!Xdk;7)6PO3K&Kg@3p<^$pqV-U(-1#~}}GR8`I zk1t1F187sJ!}?U7@H%_*-(J(1jz45Va?54P_|g!c3x9#>g@!?3&^HZxFH+&-H-hVP zmmWP#0O#F8`0XN}(;jbT%G$OWk(XZPx0CYmndKe8ATOQ9ZH=v|2bM3>&w_uCKfp$-$==R_lnfLlVjXMozj2WZh!$Q`!jrXOIZ;E!T$E`qDw=KBdgC4AZp-Dw`5N2^i8nycPH<$90WP{r%;5KF zKJ)K;e5tqBB$v2wczKQDabgap?mI)Rx$LA28jdU;Oa`G2ro`JzHWdHe zi>ajExYkyttc)$az{Qp!Z?#|v)?g!JOkIF~FOQL{trvl$Q8DPAmDsMo0m=8iM3mdd z7d{L-%JUC%=3gT;)VU*&Y?o+=?jYc}4N`SKo+B%NW5Q(YOn@HAOgD@*LqARE?`QhhF_^v2#=*a|d7r@y@! z=+$mWsS_z5(P&A2JOYEblbk&|2@t(=2eE#R!rhrK8N+fp5#3q_p;eDLYq$aP?W-W5 z$052E>>LPw%NeLLxdZ&xW3+=JyElVfMY^yCV{ioec4gTH}GvP~}aDwl|gY`x*P zJ(kZDg1G%-Qu2OR72@qi6Rmk8n74E&$cY0&sM*Ry8T|~Sd9pv^lm=RRHmn%Ew5IXb zzqrxLBoupc$0l0`d!OY(r$B)o;X~-r(-wD+lre5!e^?!PjUL@QaUy9Ngtonl`2cSu zzqk&-UVL?CzT5?fRs;(@3|taQ6EM9Pd@2PrPmLz{L<# zYXbt%UvtdYCXb?q9Yw$u^8LxKw=r+BjkFIu1QqxDD^Xu0qgL-^v}OA^yKuiF^{)Z{ zRlmb%v(HeFPbK-ohZ%}UuB8Z;ZNq5uj~wnDhLkgAoV8EI%3&`ezc{LZ`lkvNZgL4f zyuoPZbJ>DoI}HOroCbdmKHEClJm%%8@t=vls1*XS3neb_am#ieBUi@2<_bcA<)P2dXf7YHtGb zn;!fsH}OV)u^`#8BmaGCf%%$WMdYksulU`1#38=Logg)m>rrD|q5;HX{5 zXML~}#7{1?qMja!CV!<=WqpT1JK0Wjp$MV(UW6}I&mrL6Oa=-Y2Gb`Rfx-RAIPgmY z$vKHg&tHY``?hII{kz%_WptHr2-x&!s)uQB|}w{j|Th{O0A_Rh&m_to+u$6xtq&;d0Vj4vZ0j%ne+ zl#4WOS4-qEqO1HWsBmfp=bDD3>F-B)@M?4@{2suAF(&A=w6_WVEd}=UL21lyTj&uV zNC?|UBc!N79Bz$gjN>|J!#6Dne)~iGswAl|e+Z$)f1F*d42YMXlii)2aP8UjEavkI zjA4;U_>B`dvEmq(o31IqULCGA5J{z|V!nRA4)vf+gWuNXvnF)SgWvwc$d3=<;HP9m zy|U%(wh%4+t0FefOPF_`Jpg`3Ge+5ZT&uFCmK@rwhP~%B);yTT{jh6j$XxD%Wy;-( zv;p|MU#7OM@}^36xjOmr0eLr;uMuCBTjQ4U7ZG%?LyAXhucRYx z#4E2+49rF^!}{QEray=2i$(b}nU3;6wjsoH`3*2Erh#Z<#| zfYwAXy#XZlUGe395*iv=Nrq;&O`$&LAdm=qyc*e*#{E>%nU4a&{<)zwdY)y#`fmv* zCJq3Il^aQjLvrEd^rj!{$&Tpn-4PHszu27lGK#^MJt3mpjDcJadOP7?H-PZ2^I|^w z&;>oq=GSc=pmD1w?miZw8-_E`{2?vKkB*!z$cLy`mh^3tVN1TvZ4G{BVS1MhPF_(# z#dkfB)V!&<=3WSwqec9uOYqs_ENke=0L*XOPjmT5w?Xwn3 zXgu10+IiXrW;VWseapf@v?vAFy6}vH7;dK--Mcx?s(GgEq+5pqVYD}G}OlB>A z40;MCN1>NbVd!rmIrztdI1;14@7V(cJmZ=rdT|H8-LfMkV+fKma3Qv`uE1XOSQUHn zsBEZ+I`C8^^T#Nx>@(uG@g1Q1{S}Igej33%Dj=-oa=rDY9U2Ph0xlm*F?H}cL*BAu zj8F3V%Z=R8=x-?=Xqw=CH`%?|tP&A!9+C%sb8+|1Xo}WIx!C(KBbNOA;X}Tqs-c6~ z#nk(yoOP5BLChNM$9iZcb-dDvz6uFMZY>}7eD#rFoPyBRdo!s0euvQ}q~dAxeR?R_ zo3WmJf-jxqPZ})_Ky?Xncl!7h;$1RpB7IHqzO@UX{_YGt-`vQapykQrTOIZy24G72 zIHFE>rJa&uOXjzA_@}Xkcx!U;@78W~-(V7=PFaXow@1+9i4sCO{0>c)H0P|t1eEyR z190xtr~4`D)s|eaJvVzu~j}U+^pMfX{E; zz<$nSus@>hi+1H5HZxyG^x}aBZ#*#CSOZ)#rl13#c>HVqX9DX}LtWyP56@3JA@OQ} z_&NEj;yE1C3XBk-YNcBU?7TW!vv_xyG)Z0>rgB>8ywD6H))=0P%J< z8rn966xz`~4gI}>o-Y?Ms`Z({FH1#VD7P3+${!$jI2lh}hSE3Q$)EbytUL3Jd{T1H zh)ncXmBD)GJ+r~fAlx|dka&&c0e4O)o~~AdvN7k-_(r)|^K2z-edrSaehWck?b=*w zT@oBc-30bM+p%)Wm}DC8nI>mWpac6Sg5MQ;^l}5}Rxb+Y`GNhKUur1$ zS>W^7yHIg=1Wj(r?e~mQ#;8@s=q(xiQ=S_3T=35+9n0f-s-u_x0NYFc>c>-Ar22;= zr2Q}9a<06laMTVo@)i+qd<#yv|HDAC6aKC90}T)PB+k@>xN+Obi1pe}toV83o&(2thko#+$oHS&=V>0uvIo)*R9kK0cn4hAfg1v94#QTntks^1oUm9vNpKntp ze?x{*@1Hx6gAd^2{SktRxDF}7Rgw5tt;3wW1d>(PqMVs2cx7OSFG+=ve5#1w-pWRn zp@--(yD6dGmrKj}z)5-Ejfr`^SnBV^5nzCG>mF1$? z7(YxI=G$^@C4WRERufN+W)W7k{1wPHUH!4w5E>QLO|Tb({(|bpz(*dxWyxOCjMjuz z=Q);opGD&eSykCJr?xkpPWa>0ICNVbNc}s8O0M_ftlD}P>WeRZN0#I1U%3W5Fb)q+ zwdZg(jziQHM%#0;Ihe{?rE42c>9 zZZxt|f?s(#!Nu7T{Ioc6Y=I4Yc%lf$5vs&1*AR!?u~I({E1DX>>F0)5UbTeaT1c|{ zi}!c7U|`n+WAyw4uUc;HMr^-u_n9A(`YG?EJFZDa&#L{&-?ju(U&Xj127zw5ypiTr zK?clOg^JTI!MXkib@)gIU6Tn;;3uDHzuDXl{MG?eWp~1#*gOJ$Wf`C%_fXm|q=s!h zKyKal75z<9<9TC6H1peWgrwM#+G*xC5I*F2*`EI>MxJ8Fx^w+Hd)WUz@b5APZu%d%4*%_0GKAO zAgq(=0qAd^5A)GrRrr-p{Xcru96lB);jo<(LK<(Zd30xAyO+>M-(W$nMhJgx_4fPJiCSLXAd z%sqyo#Fp;P+3B4K>y85)}+!J#YYd zcb*C7g}2qHS5r6`D-%rBnK0_}D^6smA}RYUureBf;1*0#rcTO7QMMXmD)BzUFHqzQoCwrL8r(~-VWa;s#kGKg37i$c%wc;Ms#E}!eQ;P(<|dvylWy8l1d7{?eL z*0;po3S#?kYykOo9}IRk#NEO2O^zu?2&T9ERfu_E6u|-hm})QAjkC|wE@m&Rp4G&I zo!g0RYd&Il{E>NP!Y;~#?QIOWTpoqJZ&cN|x?!z4>-$>>E=`uJ5sS>ow}&Xg)=HOLl}9~UI(U$=$A$cDNzkKAt-#NV-xgHj zq?1J+@qUIVYadQ*2qoDoa z^LQ9KcpC=xVZ{J8+lv$`@FM)`jWnsejb;Crc)C%Sc5!KhzkHJ({D$I2mORq9>Oqs* z7WkJCY>A#@2a~@M{Oh*tHvFtMfqHrt{b@(wZk=50JvhMG`?v6A*GE!ZeK2VJkPn;a z$gMi}Fv7neyQIqGP36Z5rd)3sk(^BvG#K|3xctrzqW%TqWTs5G4=m|1@GD}N`**p#m+-R|!@^s6E$EDFEz#V8FKczt z+P8hEc>ID$^w$q?_7^hKH4^9^J_b6AZrJn41=GQWnb@03fbA~8W&aw?FERJPp3Efn zstDw8(g^I?_n;oA!rRu7*{p{Q&~C4A8Xr}+0Kemm+jxT({@nokgWA#PFBZpV{ep9q zN0_=Tj}>?5!NNd!ueVumCGdMOnt0`Ed*ctfX|E;dzj<_fGaM)X>+eUsKgZz8+c{C@ zL`08^aNKGLeVyEJZMM9#vQYkb{er(K*xNx5;{^H^Re-^b=0x7FnK}67w*srL;Jke| z-8Odt`%zc0(m@uk`PWlf|0P4fHAOVu?U)Vup{+)}a;Nd-GCuSE!Wy}TsaL*I$(^Ayk+mKR384RmI{ ztR>X)hImyiTlGxNfWbt0SR9f9Q6F~@OzlOov5CC&ay%rE^|xh8vCBa;Bh7T?90f+{9P@KhFH*e@INc&-=2het(+lS$saAsKTD6>9|32& zHjS;H@>_{JBoCPeLPvB7TJf?P^-8|OvitzxY|5s9HrC`|cM$)g-rKTXivi+KpWX3A zZegx(jaQ$)Gp_2#Wa_Cr-wJ9BIG5AyxnFV+)U;O+%!P77y)~7{PsuI|jf;R-BX20Y zkiT|VHIT*^JA(LaV|C)q$4cr1!ru@^_?1h@nIoI{O|cY0&06B_jC_KLd;sj8D=|M) z1t)99;ZVX#25KPR=)U&_T*4O6H`dMv{DLuMF5B65Zim(B(~QYCx!*ogE=#+A8%P~8 z#&MnZxzu}S;#GDLd(CN5agoSX!ZCU#A6!l-h46krPeN$18dI6_;>sd73vKGl&`|J8X~kN_ew6GpXP^_={Oh+uCiOtx z!l_HJV?J`Q1-#ov3oE7TCp|)dxtQ;$DTxN?nXjb72s)o^H}QD zV<74F6I0sc348a({471>&5zkpS;9X@I{YnNe$TFyb08{7I4rXMBhe(F&cdnCoQy9S#M;bm%)>| zQSaqL`(*`y*k93seEUy}^+7s=+o#hlwVJ78pFA3@yZ~x$a?iZf4iL4CDeyCPfa#8J zINtdd`Fm_A{?*FVYh4+s`y$eUJ`Y?_?!YZAl%<^dz<;E261u@_n

M($P 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

n!%*o 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%0DYX?$?Y%H1I{EVr8 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

!iYg0@r<+aWc@B)kI^r0gtBm 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

J&hH8OFS6Mh1eV^ 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�Yod| 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%0A?`=eYLE*3GiiG_cW6_ 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

rhe@ z`{yAMl}2h~KfH#YIC2bv9Cq^}5tP~!1vUuZm`Gw@<_NbrHMakC(b%~JEzm$~%d~Gc z$M2i{0tC;pmByATjV<1oIEUVBx3;ZZzirK@wi3`5EKCQS^RXIA>S`h6lJZ6g@|XsI z*P*F3ZLViVh{0^*LaiO?w`TFsgXcz!b^Ud>qDsAjC{QhVn4 zDp=|;KAJ<9uR_8FV-K|Xsv$_J(2$Lul(I^;2>>=tbT*zl3#D)-MgcW9<*_l3hcIvC z?&ml}!o&+#4!(`uOxHGwnkd}1i(r!w8G8_$>tf;w0&xnm9nLR@(D%5|CXcl@B^Hs= z0?0+NRg*bRE5b!n*1JE)Y3|NO^!{l38tpIz7+=G?8*jil?`|YZ8M}*&L&Enu;{XfP zk6UfkFua6b9(M<$w_)hI8`6o{YKDPnKk1005IRA9yApOi>HH@7ofUf`iw6Fq;&!|@5H9B=gv`_}PK8H)g z$Y2Iq(5Q9;tQD;lZWcni3Lc?SP3Pu%>g;rPZnib)+Kj<*JhC>=aZ}Ee0ab?ewDz%{hu79fP);cKHwOCA0mqSUs1quQy2vt zH}K=N{8*PCYw}}tehkI2jBwy`_5WuS@H2kxlb;n>m&r$il^nme>wW>=o+T5G{3qtS zQ*wiVUmQ9WtiaVzxL~3v8&!&dY^owg*=U+SVgUD;wyWotYfM`ze?QNdw#pwui!Rcb zHm!)17C$?FQV5+@X8hdIZit^h-0TNGH`<|dk;eEr3Z!X>63znA`ma zf}bm+t@7jN_;!~%em*nB8$TbRYeW2eO?0X8^V4HB__+a6Gn&DAWy8;vx9W^TN&MX7 z8Z*OCH@md>`N~`a{CxGT2KagF3}gKK{$a%i7~|)6zcInjGf@Cte`AcW0z>{#t-!-{ z>WVn2lste-L;TzkEofAGpCfSmY?&=o`_?;xfS=bsFB&`CN~hZYI(~lS?@ltL79zs3U=M^%RD12U7N3q`ny0dyN;ivApjr%DKC2-Hp zSfI_jf?R&G%cm%7v~{{@?dYw->&@AiI1Rk*hC$?>5l>)~pSG4#Ta(ciFzBN=$Fl$E zjedx7FRsvzlr%D$d2!1V@EKwR$uuYryOypg7aGog$Oqm;Qp-v8lp!QBRN#Cqj+ZB5 zNGK&0HzhLsno^;K?4w~E$}wCNu}<)kDwLC4PazdrSCb7L+sJE5E;7IBlw4)_zD*6R ztz;|I;rnZUr%l=OS@SRh2TcY4B$V{e%QX3|V-VLe_-CfcZ!PoAZ}AaW$ZrjO9oEKp z=>AL1;h*DIkbkzHBLCc$AMe5Of6w!j?u-5Sr*C&DX4T9;os2W{Pn{>irUd4nnv4&s ze~McGiMdF*oYMNI={prda{pwP_fQ5*N}`2DPMXe6eBn;vqLO)M(Kc4RLUmD%-7cyD zPIQx{tYjoejjifb#4Xj`K57DTZkXDMsfhRSo^*MN+eg7bZDq&s2>2bOdNflJ@v3l7 z`Mh^inT448ArH*Be@fy0NtuY4fW<})Cn82uKt-LI1``pZH*p8G;y&Sq&K@SC!W~p0 zonl^uG6?A~E)9dNA2;$Ajsu~S`&@~7hK}qr)YCYq_V)<~RmO>k1E?qO$!CN|dAX_Z zD1lBytWS;IqBQ0ZjcJ@+87CrsjkG8`n8h7b7Vj~qEGxS7;@4O*t3p`#WW?0)^s_W@ zFEuRv?DP0L7JYlk;e1XZCLSj9d5B}{p#RKdcH(mF?8G-T^XGN*6OT^wFPpbjGn36f zCg~>fNeWUDq9~^E9a+jHmP_I&H&Ws=`BqLU36*%k%R3cOG{8zPujhi){2n2SDF;dSmpcah5pqYmlt`kx9 zS4u88F!OL!@qrS(bCM{EYfbEhB{rFPc*|sxlv1Y`N-^{By_XM~!I#}P0KQE4fZ)rs z#|XY;^5fI|n8uHzaV(utlS(88Ujl&DZlk zhhxX{Z=mNV$lLI6%$!0e8x3wFm%N>uVAhgUxlC^&*g<$xT^q@@Bsv9SOECQ?o2(EK z1?CJP)ZA!BH{{T6d2ZM=84t9{ClJ(QJqOIvL{MLdTk;DuI)vZ~{@@qY*wZg^t3McP zxizq4()>(B)?%sA(=%)G>6tZ+r)Ofr6IiZ@7h4Ihuw*Pv&#dX5o=K&c zo|%SHF+H;;g+`fgLet&TGZV$^%tU2!Cf3(0xsbTsJvVbM&H3Qd@7z-}yYBjRcuTwG?DdOeHcma+8@#LFP^<6=cRD3i<5XHv%Pdd;T#r zOFU3AS10H;dV(PH%ee>A!-;wvr!b3kg%15?%&tO7%5e$2=COV%q6ABbSA3PF%KIk^UD$aP3ZNOxfOp&-t-F z?pzX}(p4;ZIKuCx2Sk?N6x`{`L^nwbHDWYMYwSQ8 zk=?z1tWaEAU7@(vjfpX6x2y}~?Cj(Pcls=Ddbv|8`}rqsj?sTgI?z9;S$QBRb)KJ_hxatRZHKZ@7jW6Kt zv_%~aImi|Rdw?uuT6CJ+>13@t?I+x+X3rT~^Z$1%x5Wxu#Z(=##X7bswphznLtEU2 zbsQsDIx<4@4P=Y0Y}1P#TP#+EcRmZ^c~*rNE5bjqpRDhmd1QA-@bgFcu|Geq!Tq4A z^d;SpJKxML&hY4L#7-#?6G9)7Vs09J?lw355@|c8Lb0q(g8U|VRV?1H8-HSR5!um9 z^*H=%iGMNp*Bbw<6pzM{En5DDSoS84)EbC}=UAH3S!*5xQpFg8IxPu*5Z1W?y?>aM zaC-vqPRp@3C*1W&bPSIqsbMiMGm+NH;R`##ru8MLyGO5v$?V}nkU#gTI^C>f{!(8s zQ^RET>oTr}FE8fkMK<{x_O@Db6_t!| zmwd-uYRO*`^tua5NUue3rsy?Z*N(2z-KM%Wk?Mhq6!Ih9f0WJ}mmC_~Ndg9D+zD#vZ4Id1K@+ zsS{ejmFxz*gDR^78gO?I3AnO;W^ur9B|MrG89NF;Vgy%C-rxmSuA5C7ZU$Ez&QVxJ zS>38lk{=LIrJfr4>wH?N_pCWUvF`Zciu_-t^=ocNue9ag(a)i_nxQSklwEKxpvs^3 z9VkwanYj2B7qT5lXJc09;PpQ-V$No-=1t_`94lsN^M7fsZD;LKXSCykfI7iUw#AYYY?E%A(-3Ftm}jqCku)=FAUajV}<5 z#7M|7FiWV7Dm9|n4}D9FGzsSgpDl;wG#P2~8FFxjz4i-HfOx$%H@90@+G>-5CQpcZ znLzF2Xp>RTaAFUo2-Q&l;p{*IF$y3|n-D4V8!Bv|4u+bK2m=>WMHuOjjfsVLc$rtc zewrFvKTtIGQz&mtGti`rqbl#9*2XEVy&zgk3~*FsApxM9(H7k4T%2oH&+acLH^?|s z*|U5$AEkl~3zShRW(#OThCB;sV=jCqbc|Zg)vupD-#ru}3QvZ0*nAGs>P*DSmx<`K zMO-b0LPW7gJ95v3eGy%Y(G=@J*K#GXNH#WI2txr4*kn_&ZLZuF6WXa;3oD9%VGUk^{Cte)LdKM=x_bqK9w^ZD#wP0 zEbI8=;ndhGN@FW4>NO>gl-M$b5BKF`Z8Z0rqRMLU8@H51L7kv(=#H0NVk zdUB!T!vfr6S>o5Z$FeNiXF8T;_%(zOy~na>hvN2sn3%Yuv{Pk#48(j_BbEQn*Y|_ZUU*A^ z6=wMC!x|i)J?4ea+9$$f_`qkR8(22TJ@tFezH))G$6(6|(Ph(LNOiSTGLIK$JCm)Y z#bdqSR0zlMm@-~CSvy|X3zQA3E|0p}%CNw$4wO|CzQGHWQT8fIP2_M; zCO=~Y%Ci3=8VOJ~P7BHsvEi+5_^)swjTe*kF&_Tgn6G`(E?mlZnl>oGE-A`_MYJdi zT*&uzArAmsKYd~X%6>-f5cU2D6QJyK)H4KSU!a}_l-aKi2$T)RKn6CUmvA+&o*NN@ z<<}Df1!WDXvD=i!9uSQM4$8i#MRX58C|)f@c{R5eUF8jwPHRT@r9?tQL-)?rZ|b_D~FB0>}2eWCF)>Q2-q|Tbp!gJA3IvLmk=9 z=AfPijx`Ps2#)olL1R682tgcwTIh&d5X%b3uBOJSD~;VO8q?^A0>`=$vMLG3?lOa8 z&x45t^-X1&yQ7$3#KnkTEojml~n~3i?@1p`d?%V4|S^V7(KKf@WgD_yFQ1zLoHb zEVKK37d z*JA8{^-taL(wKbHc&Rm@r>}VFcC5t`+<0l}V-O_ccxm6CBQUS@X^NMgL!i8sO~Wyp zP2tB0{5XyuQ}}TxKR&{befY5_j{ln>$mOs8FQR}FFD@hR0+Xz+C(Jmo3LP{@341c5 z7vN6G^~9!J-~;3`oxDD+Cx%tTVkmlyBfw>))IBb_83=v5ElerS%eG=K-y-vk*64=i ziT*kCB$E|;O}EG#%U@3{D$K_}41(q(rsSWQzMek+;;h)~FTSMoKi(wt+=~jKm3;qc zT9Vgl$9z;>Ad|M*?MXeUJpEtcykNkc9D~zpyy28-d}N{;a4vWE0?-nK z%4)n{v9E!BX*J#?babpaL>PkD4?187BBJ?3_nOa*cJ5PG-Splx^Kg5bsk$EdfB5Qc ztPP&%)v54^GQ@}$((NZ!;?1Uto5xcG3#X2i-`(8`DQx>M2XWW46mKED8hfTaIcH2U z!TzD@TDmHjgQe%~s#%@p=Td*+^l3eC>9B4{4%ekKix97MhV{9v* zC7aq0Gh{Q)qQjvU$B)XiSpPBY4ceF%b7v=$a2xbDEU;lMXDk{)>sh0_;eK6r1C$V3 z*I=>RBGFM!GcOmTCC2F55J=bE?G2>g*LFBqy*eBw+@t~0^{(JR+JS+9P(iy)+spjm z*{-uK^p^u^S~iyh>1%O9>*s#ODo@5{&ZJZxeMaPq$(LGP?zYWLmm{!}GR!qPE}*qE zuY(URjB?1zAeLpMxZ$Zv>d8xSBYq@PN~`B4(x!Vf2^iYBtt}~T5vIcE)b{-s6ty*& zcK$wJOT}Orli9Rtg)8FiCPHV2EmC#1ADy})PVphXTUaMt8uW^6VV%)}Cew5Y@@vA17%niP3k`Z6l0c z2+1t?h)OjWeG`S;Zj5fWcdY@=6HN-FxvbZI8x`1mf+EAogfn z+2^1cLcf~sYH!sfs7;~{?hfgiu&$L;)>hvR<{F1!4y!J&X3e4FKhv!ZSF z%<%2&e+qat8+s+y%k_b8EqB2_l@i|)Fz&}w9yZ$STr;L+Py2E~-J$$VJy7?nUQnTn z26an|ZyQWk2whfu+vubrzReu%2jBjgRyurZ!=Os{s`B3Ww!%GL_;vuESSoy5Fx&{= z{{DjzzI_XeQJCP{%;ywGX^d~v(@pU05EQ^8KBWwtxo@uOD_hbjwt!Yj8spLs-`*%% zxcv`-Z_mGKf^RQiF$RrKl~2P81Nnt%eQKd!pUUy=DywjV`+p1qzI|M2EL&+z^{Hj_ z_8i|vD~+{P8gqMl?w?EFdBgGT?)xrfd>h#uzLeG!Q1ERST^r)tJGYe@-_E^GgKzIH z#_(1fV!5*8+vu^Sz_(-9n(1;YtaR)b-^M&ney-9+o|&vd|Q}fhHpPRwHI_Z$G1!GBHjiQ-`>*26yNsR z4}5#!QNp)1kYUJXRroQ4AJ4o=cmCqX-}#Z@7#zrSxt0GS3i!ddZ%*-pZ`ZOiUc3ht%m=l#kZ}~1H`ws-wg5X8;|PnEd~sE9z25`Jw+C7YH+cU0 zAmH1XN@L5E##EnLMsLsYZGzI+K&7$r;M<~>momPMYvhe@o6@x*zU{HL)cE#`t2Owx z*IxnS+k~N|z_%}~Fw^C3SVh?{zD@39gm1fTHNv-7-fDtxk7E%>-tA(5Z;y{Q!MER_ z0Gjz5A4;)>z2{POb^)EbB3dchJQJ6O_;war(CA{rqk-ew&Mky4KK@M*@NKBlShUiZ zs*C?RzI}VPf^WmIVxhw&Me*bkpU%@2J&Bar{o#mje47uZ2N&NaNv8Pr$z8y=*F8-5 zwmC8k+3ZGsjN-?7{8*bGuj0or95sIV^6CEu1^kR>-!NW*U1sCif80;-D%E>D`|3JC z2*}f#%{SDIXP1zBD90p2{do4f5(ReUQznBw$A&k-<=Q8w%if<{qI1^|!FdsV0u+8c{F$2LTofpD_W8Cx&@BsHcAp z2rTmXh0B`>2eo6HH&`s|FkL>s@DZi44AGco6yO4Fo_3nwJT0GJSVw8CmGWxt5yafv zl|CEF=NEo;Ge?V;?)<{4bva;E=NJA{2iHdP3!CH|Eam({S2Yb>YzB7>0LnMa?OAf% zYyk5MM|S0kryI~d25=UTjn6O45*j7u7dDM1<-jyTy+(ymgk&;aHtaF_k-_}JKZbCP z`s_E-sO@ZHhM}fxXPZz@GhVhUmWHQpgEEREpIG$tkn zGg~?7UI>!$c-bX+Ky%4m2+j3DJe|#Y@?&Rybns(4ezfxA-8lYl0GR)0U+E{`*lMJT z#}=R;y5xA#&fkX zc2QBC@p#ci50)<9cmn+s#{KEbvHq}Tyl5>v(F-J+jTe16$td4A?{lMkWA|&xIT?-@ zZ8?g}q3L+h+XtBB8zWHwpx6w1ixW`%V}hEy_?b>!5w|NP-{R6R-}qgB-ooL00U_T< zJ;QwC2dJmXam4=+5QOCY=_4Bn$LLz;4I!rmGG4Ti(wJ3gOwDmD)*?vwa6hBxc)szQ zDDh^0uJz8olo3Jl{`6^R3zH!)(ea{rH8^}!`_psi+A!bv+xw-?H#&;X(=;!J5vh^v z$iaZ~jo)-DMZU2yMpGK=@-NqvBHwt(Zj^8QWd)g1eSi9ESY^U+yy!&4Rc86diGAot z2L0)epa7aV{=5k8;-64;Hik}J5gS5;HaEhhVZQNtw4l+&rOE>AWt4c{pZ?>uLgFjr zdP{s+b&-!3eL-pL5j|1<1%`E&eJz)!xh+du_&ndKWt zZ#Kv`zEly`ru6y7-TmCybsCN3)Xa5Cmg4g)FRZl{Cr4q=xXSXTqjmVSc89#h)77re zH*Ss**!3dj8`ag!vT2ewmO!Qn3Ybsi&Nf~*Kp`97ZBMhB*=cMWvx86TP^L4r$P@5X zLJKtKV6LR%(#@#HS2N4SiCE1Ha}Dy@W>oP4lKN~T-y$!cb!toXL}D>pq(OGrWed9= zt4`>$Acb_l(jdk2lvreG3#-(VJD3l?7Y^o!(FExXvW$Cs@Or;)5YX>KUeCZ`eS~_d zyD4PW9Rm6>Ex>}E^aHT|!3-8Qrmk=|vsMZZacE=W4j|VuuTHj%8oNlD{;I==|0js z7Dm^U?h7XY70Zc5;*`ZK4`7uD=!7=2 z$7T993TEU&1JJac-PVoEYOila{;o<2$+SV9uPW-P`MW|k8Zw$!Uh6zL{P*71O)_41Vn+5OL7kJ{q zsbaVTK@z}&fJ(q?Vo(DpatQhURXw{qGdr`J4d{FC6Mr(9p6>1GsqU`&S9NvuvC16h zwt2GJGFtvA#OyV@hy-&XBLIpO_Ho(q~Kc}-xESM zscL7U^rX7h*;p!ubIW{3xefY&kx;G^d@@y>(x4tabF7m&iCgl~GcC=Jo@q%?(jE1{ zCPCu+YY~ZCdXAojdu&nVD0MMhKJXeda$b*Tx7Z8NtL zPv^xL%nJ`Lvdw&(9-A%3Yy}xh37(4h?S~QC!#Xthm%lDu2^(s6$t1SK>U73(CfzQ{9A7CnAFjnI+ zgu=AvYfX4ZFggG8wa&i`6WK(LG+`zOwHI0x_M0Q{D+MU5ExB7n*jF~8A&PzCd4kD3 zQH_{f6AzQ4TrfEoas`tE2rE>^UQTn=>cEP>;e4%ib;P9D|Aux_c(_ER53S(yweCY* zx+4(k-XDn1w*ZLqr z<#Rh<*N}t84iLy+#OLOGuH|!Q;e4%MYl|*zsQm`P=kDxa9R=oUhdk zmV$Z8lupFo8t{E>zEtx}u4Tf!^g6(nL+%kF$J?`~#Z=gGp5(!0)5O9_!V`{#gJYLBt!{yY67{fWJ%j>e z#;n->y_hlY4fifYyhgX~s12M`pv*^7 zV*t8t4U+3i856o5KpYQ>`GcTJ!(qS}eGHYsnmFDTNiK|ypfn%0MPj$jVOyirS+uWw zJZuh&3Br%ZdaHwi+Y~CdAEEVI;Dp6mgW`CNL2+-Un<58Y3;^E^L5XmFKn{q?7PqOm zaol>IlKo?%(9e_6ArI)fYP)@U#YUJo5bcx|3a_KC^A}Y25 zydH}`#KuKHpwy+xn&))uyNG2%B)zYKj1r0;sR#FCQm4u(kq$(2iJVw7RUV5TM(n5p zWe~zrm@e{kqj(kWsI+f|xM+L}^$wh+=|{CG0oU%-U~p~?!C&5fg?S_ltq9?hh6W7G*IEph2CZ!m4Qsnv z+i+1^O5UcFrBs)qtqUFHLD?2Cl|m#azgHJ6YpmAgu|CeCx@;Q;37k1wm;+(~N-Nn~Was6j-%h10vME*LkS782n z?^3~EmsN?sF3YjvubC&u`t#S@NbO?&I<7?U*ZxDj{Iw_Dx})ykoB|~QNzL@zx03m5 zBFlyFCts(EfCP5o%* zh&mR$DOl|Ylrv?uBT-J%*GHB!8m%I$jXk}mg4FKo7oH7P`^70y+wU(3aC;`K_F=WI zC2Cy;R{O7zSZy~{=ErL1HV({cGwvi-JC3iT_<9?zp);X>&@U=spFNbU^4OH|cFpnB zI4HIR64u;I`^2T2R%yNZajNS=)CD}Aj(d+4 z{5u@3n=F@jlAj})xY_hP$O}jNY1vm@XsubGaBlUIq|Pkv)gUbs@b%{e`dX0pFSk#nCRt~ zp4NPaP__TOfK=_$mjE0+y>xO^Aah72McdGueP_3@?x@pOb4P7?TXfXt{kfxH_B~3L zOYWzei(n4<2pLuACpP=O@`u__>lbLgkNOGAy`bM;aoqUy4cdM>3ufPvqoR*0=4-w| z^ig_qqdBB`LlDp3>>F__$(m8E$RP43l;wHKQNEV*HI1Kt$M@gx^;$gn2g#NH)Tbuh z00Rx3Ur3`7!&01KEQeomtt!NFVrL-BA(wg&J|}Ac91o zg*4F~!~K71WQq3%@yFYk=pAPB@CE++O%A+BOXv*)$D6Liu?@BI*mu(et6{RjdinPMBIX0Th#Pk+4(X<9q$VLLhQyO|Ul0GItnA1D zkoxF7!4RT*TR4I@6Xjx`7fNS&FKPtVp0cNlqp_}|h9+y7fi`bg1P zjK)2^ItG%({@>Y9bkb8k-GE6zz|A zps5#)S?!Nlf+7LYn7TjW^7E*i0A7oPm?)xs5Y-R(NeT8P{}xUN5Gy7^0w;sEWm)jc zYXV)Zwo?@*DC|Q~ZqwreT|LU>OwiS1D5o*$$Gjk9hN4AR;B-M&D1RqY-VHwpnK5ye zkQpAcd8jhuZK|x6T3H)WnMP(T);10DElATwQf({0XGGMT`?hZqsgH?kZ8-}uCiq;> zY8m0#Cu(HgD)s;J+QfYzKN9BoevtsDT4huhYlKCSGGcnj$XGu-?MB^pzQ{> zNE#smNW91+MBQ$%Zy$*o|Lq2O2>)oc-5?LaM*zTkzbfFuQ`gZDF@Y8HQO*k&%9S?H ziLMW|yXuj#aPW7c@9+D!s!mUaIz0+-MI3!&n>mf#N7<`X(`B}qx6xxWuhQqxHKobO zwL>4k9+R7qhKoimI)KA$kI4r`UP#G%OkSq6*&dV6Ca91y=pK`6)}Nwx!77YBCc9tK zK}y{olgwDLzvNyVg_#sthAV6mVKXMt zk^p$5O1mR|Jr2&Tbpi0~j<_%fXk=YOLL)^^LL*!Gx`D52__`9;DoMa|KROc%sQ#mp zdra&Wm<<<_6>4+JKFlC6itwZDRXLc_j!iiyobn;!g6zB1be<4>S0rfh}-RO*+uMk&9N4^&0=^q7ha2j<}%1{NtlVt3Y$m?JHn?$jT7qvV$kXeeph zfg{RcLvKkgQH`8rtwTBA7R#d<9pz1B*P$YJz>1!_01UdkY?*E^Ccoll`aU_e9a-A! zfADCfPgcGB&V-QaZ$0aYUW7ph%8@;mR#!HsELI8oT$~4BkhzD>mYbZ4Fd49c4VUB- z5+4->H#s~X@06E`Q|2;Yu5?etUZu>1l3YuU#?F>e-p+Vh)6aQC3b#Iu5x3VYMBYcBk#&kp}(1q%7mn^RrE_U|Y35)?$uyYt~@B9fh z>)=aCRmGN#{mkVJqK* zh|fM*$Ci8yE;7lO8`#*CGS7z7jz@a!D|Y!p$(0(3%xGlJ5=L%1Ep6)-mULvZSIs9Y z#S_@DK z&Akg#-ifD}$TWj-mxjCz$U}$Mu;tDqs(HH%2Xm5xDD_x$zOlz@(G$70UuRuC8sMa- z+E1Hvsh@b&7<_Vtx35-SjWM+9eT<=G`Ht98csWMWT30UhAU4f%=kbuDvq81JczmO# z7i&MmfTjFv z=96v3*+Fq+pF#&lfxb~nf!GY)^kFZ|#h9uAT%Wv$bFRbP>; zBf>U2XyhE^5uBGyU+3nlS0UdtVUfSiF~XKhv!{>VTT_4U+6*U!d#~Ig$7* zBKHO)HMF~Xj-Vab#WA=--*>E{LeQ@W^ea+6jRR9%U-}MBUogz!%(+#yl2_N=;kKg~ z7cPilclgQ#yaND8#MOmAyi?xXX(tQ5-@XS=bA2qNC&_FhgN;~rimDM}@>NJGL?!5v zjAF?oyJ*EaS^2@Ub8%piGUEdl3>LDe6NZ4BP$gm9n-4O^CG;uwtCLgq(3{a04IaJ^ zI@zVwNGIzGU4Nd^nXbr~Kp9cUI16z2Tovai@V8Px%08F?X-Jw>i~`LkOv>Jnu-?}M zN!~DUuzir^UK~LxZq~sPnkiTrPl8~;EKJAz93P!ZYA9_~%AP`2qt^4_!001xi?|21jzuO+d&1W1b&7V4yPdEL5L~f zrcZFfS&98yw2~ z^!+#j7+D8*3w?hEk19F*t!R(FpNCJf%f+d(LSr;uY==XK4u_tfL_d;q*%K3)&=@{W z!y_luy~#LiKArFHh?P=0?M#M=ASt;^zi3;|8X#3kwkMJ8S(3Lp<-FvC{>?Hw@_0y= z9W9a*3m$~-;)pCeKP4fpSw?MpVzJZaTuVl9xlVFIzh)V`DI>FnLyqL%HccGT;z6J$ zSgp@1s|nLJKh7vkmA5()^K3aE16qsm=BPj&60%VVjsTY;=q~eoDbdbmZ)7_75t+T$ zmc{TZ8}U0DbNeVBg6&kG)tTpnwNpfq6yKBDhqeI#>9@IZH2yyXsV~v?4n_to-Bt6NM6v7@k;~N zPpKBb<~Y0DlcaFh+@n)2BbB`99)YBIRU3Y3m^3$xhS|ZLI!oF6G{KY1S)ZVL!^)a7 z;vthsB<+$*%V)&%3HmP#eVHUqFjthzj-Cd}DPosDA#tTD0dgishj(55pVkKW$~sok?f{cXh#xl>Pm2II9ZF`Q5UOOZIP9V zPQ-@62V%vJ!Pr=$6pF@**X_#^uRGb6=m}dH2Q(>Anuwah)SABHY}#LfpB7RA`;OH1 zAZh6(758jQH4?O(~I7X|;?*)VNSv>LuRq$!-HJo5S}g5eSp=}JooI=n<2jf&x_w^dyf z%*?@ux_4E@ETpwZ$Ub_BDr8Tl7=b#ByFAFL2#vMCsGm`@wFab!}(ePRn>>D&fWcQ zQy^%(tYWs?LHIbx1^2M>#_`h>lejy$dJ+Yr>izgv71_sHWJY@)H2j9fYXpo}nAS;U zHNm%&obsngV6kAcdaUl}eKGxEi;*OG48(XP0&7{2nL~XcM8O~^0`V#GA&C1lp5gLw z2CCffa!LM4Ied&8eizz_7uu9Z9}^AltUe%0q$_D(i`L&5LCX?0WeiG@Ssb5eODHPkz1P3}{^M)q8MWHi6+!&1Hr7{hzEwQh0~1aBt@gbMsQ?03^8Bl~cd<^2 z$#=H=-}lfG-(Twg?p+NvgbNw2sz-C`dDNrfkV%33trktt`&-pNeA=^R+sfan3ySC# zEREjps=w9RgH%rVTYV1f=do8l`Vkv?{bG0C+mOMxDUQCk8sq3|a|K}S)xyG@+gp?y z1kHlLYAY^h;&0U&<-D-9Tv<9rz}BkxTYZ}+kX-fK1(G`>f2$|e%9h>6m7Sr#m4w;= z2?P6ERsYZVTfOiTjS%5)^%;*4)!*u#)x?92`3;dY*1@2@`E@D09V+k}oSU0XLu9+s zt~m`66Mw5Xl=CiJmn+LAiLRf)kXvjrb&{$R1jVzz)sJgL-`Bd;w7dR#f2-s-7|nZQ z`d&$CGk>c)oUoBy4;xuL7(&39zFVJT*q#sAeoPrPjbXdz2roTqKNEke;uv*>vimju zz+FV6tv^WscVHNgWh`}`2Dn%IkOoPSIdHF%zt!~5z`4!*t==96*xtXCVEb^W)$^1g zd>z2oK75sM^@+7}cYhNFg5ZbTnnCcxqPrMBWJm};6;EI)0gF#Rz8n}okjj9QKT|>V#0S+PT+~%8a&bc19Lplx|TJbXnmZ8#hhsZPnhu~qdZoxc|ZW5wv8+RP&<^<0H6=XRSf`feET1kiNPA4ZUKNk^+f4Oo#%s8 ze@T4%hoV(PQGU4U!unE1Kti>MR?+b1dVskN8=}2tm9`K6IFHnwMi^UCGi#KqM8=+5^kfyT)W&P#n z1HK@XwD^T`mw!#GV?us@r81jzNp7fAdy6=Qj@h7P4V43@X*%pSja7Ew5Hp*%CJO<& zs=mbn*lJO3<1IpfK7w*4+FOD0D9U*SXqeLSE@n!!Nb34WgFSfS0L~_O9Sc z_uQazrBT=hla6m1I8Rp{$P%Qw)#wkUnp$0qs4is|YMV^89n&t;pf7?{b}v=-!BUo? zZE#P$n%kU)fjhkBei+nTDYTRV&q~xUPHl-)ZhHw!WF5jA*;tm2#T)XRz=PBcUhqKg0VjUm1xJB^YUh zw94ZuFLi)(IC%n3paph5ECioAIKttA|7hxN&AQ4$@4AX4PfL>ImQvzATh45nV(#!g z3+};UbNKB~OGGxP>6=ZjOSRaVeqvbXvt8 zF1ZFSr1-Mw*i?Z~vebAHNp`!k3bDqLTsPtr~YwQfCD}@VB_AlH*5rr?uHi8nA zRq!^HO(~(GAT7ULU;mAwe$O{I;!=tE@VZowzDj}nYVMQNde|?L6DBvyfa~V`+;Meyb(cmnJ$-9v1MdLx1yGi|wBktWYgNiJq4lg~vDmA;4P;6(96ggCNC zOKej2#H&?VMXh2VF4?1H6<;9ig8`S|6%CaY2&QO-OIG~MtYT3nv5M`=oCphCG8g5% zxFk$zF|vv*pe4qMlKPfl0b}}_vH;u6$+U%ycEVw+h;QcFW)7w2W?SJX%vNbPu7yh?92H@sq4|s1NfX$7 zcD9|(xKzx}4P!jGG_^#M;T9$Dk>u_?HZp@Qtair>N@xg3ybeX{s#vg%y2eJct51aT zQk)5x;+(M~{K3>hjd|v_B{U@R**vq_#{-JMGpkMXt*d$*$<60KJ71CnC2hE59fK(n zwZ?VT2C0Bk?|uo=DxX9Vcv{8R_xbu3UEzqSI8kUe7kV0xJR<+x-+vGVLdJKqh_PlJ zoUGzI2}um=@JkNQRq-9k&{TOp;kzXALR0bG$0amsJ@_s$UEsS?z!UO-e`U89-xZ@A z<2!K!e7Biv+)V2w#4xv@tPbBjKwi;z5Wf4A_mOch^6g5$T|RtQqB89?V$K)gm|M6- zrOJg~m#1=iUj28Pp}=?MPC^wwGT&}Kf%tZT@Nln#@j#X(@ya|H3mz9#tlY=_F8cwaw7LOQ-Gyp(-9&XM-eYG& zToGzOmF;+yA>Jkr#Oo}8%SB(Zh$sigJw_aNyaQl~u-5d)SVTZxh=cj=p)`w#NQ?v( z;zi?DdHza|h=@mWb8Z5z0B4us8eKbHA;@wFQ55Xfhs1Pq3gUTA>)x)>zAYS8G;GKL8#+&EE zc-T*lh!>EaUecs_NOQ-ddeRJ_v?*z_aWbxuo<7nL4g_MH95QJ-Kdd3m9T0SQr%D>k zNs^1NQdl_)(u`WQCWUyHR$VuEj1F!x5 zQy)P7M$2oLA$$V^WCO2#@>hCpZn%3A0Z7o76UGvw-L8y1wHFN3WaV-k%6S2DxpHzy z6&Wb81m%)Nf`Rr?TYFj3pgf6;R@fLwtASXu$UL%Y18bPEy!Ab-sK zCj2FA2Qr=FS#$JLd;+CSr})Clv{M`anb;o&h6!&A&(cibmu}TgU{+s?l<#ZpLx*4h z4xFb1&cjmRbDfuDH*3nkpf{~#3`%f7hd~vo9>LD;eC^8D&U}rhE5PU7 z-2pyr2%=1hVU(zj#6Jjmo%__PP#}qY?>vDdz>UD3FppI4B02o!ALj}js&SAytc@zM zHdP=`+Nnw>?8fsVC$aB%3ig^##{*>ygp|DhVFC~Y62$6e4o3rJCqG`_{DQ(DoRTZI zzIi2%?(Ts~$5y7&gkq|+Yzeh2#&gs+zs|TG`ppNJefss#Gw}U0>kmKsE=8CC{-?bn zWZ(68SY7giN_SS)Rs5fxDj)M4$h0hvWm7c~+auArw<4v}&zSoAD#nH7V9Q6d+9bLl zU$=QR0pc;N2@K{NXaaOYDmAt&f(I8WYfu;h4DH~+qa>0&sz4#D0#C&7TML!s&8!R{ zv~Y?$(RiyoS^~<(G$8BoR87l>L-oc~pcZ zsA!xFrAlObk31?za&zu6T)CO<@RU1gGVzwS&AAbH_zR=)k0Ysj+$l@xbxAN6!bAw7 z)y`#UMTwQl??WK1#C}ywMRKMkFZRx1bcP9553qMjScutRGakE>U}>VmRt`T!2&2dW z$YN%6O~JiIR#bAj+eljwk-{~?JC3|mdNo%=r3I8QrBZ%de=5O5PE@+NGE@R%@eZY~(=|is zbyywzhf>)oVxmAk=xilt5?W>bb+n?j4qBA>yzo{hvCSPL2ttH84=*xpC!=8+Z_Zw+ zZ2tn4WBga9-QGsG6KG8x|AW1amZ*)m(D>Ijy70bWjh5E?8a?)eRih=f(al7olR|3r zd($+OPVzNcGikH_)KI#4@J4U&HG1XoV2!@xbEb5MkQ)89w$bt+FQqk&-gZ*c=ng!LHPoZm2nvya!D)>JIWWZ2wU*Opb#8jbBC;-7Rt zLb~$VFq)9!r&fSRba!OE+krQDPUiYRxT2I-VL=!%RNDC2r$ zm?5Zh&(2Yx>J%{ea|(02Pu*FzXRe>R^Ar3jyoUCjNu=&%+)on_vyl8bvC^3Yku>ok z0vwQ3KHZ0p6-`1&JtvIN=2{O9*xatvo?bbvrzW%>oZPI@V)*Byh&5@vI-?g8$N6hE zi1_I*hV=`N{xYUmB_zikb6}Mi&4zyp=`T*KX2@@q5S#O?UrfDDXpy~uOUOUvdoVFI z^j&-KKSI?xF}R`4;SL!V&8)R0Wak8aNW$0i?r@wltL_ee3vQIy<7T4}FgRyc6WwO) z!*mWJxwgRPVVkm@d8OviKU%aV`U(j^3>^E>w<&{G`<6a(5od>%PN*45TbyWXaBV5) zj9R4LSopToDrBa*peHfa0_E#cTIl4cLObc!9o2H8$XSo130p>F9E#cCjw95!Oqz~PQEr+e)TXKNtTv@obsI_}s?4TVcB!bW>TaW3DD3ZA zH>+P$IqWZ1$!Jtj+}~3eVF(G9yEmgj_Q@I<5h4y)W~w**F9IN_;eQbTp%QU_5g*HN z9zxlZl^c;4z**9KMDBfPEJwETbC?hcw-~2itRR^#T&r?;{PDoV0DR>k7V3tbEXc^^ z5P4X9^ONcYO71ouKG7*+nBDZFcL4UITX$5G@gk=?lBNUedeop9SVhTVV1>HLB@$Cw zsXkkbtcxyHEyc#5!ZBnb@ee9olOCHHiWi~ZOMif4sGTAcz=z@%Vm0pYB(f}PR)Hkp zLlLG7n+y!XOG09StPiD4O~em2^Qcm^3gmRXqBRkdhm&vl>%d(M4fCN}9#dxY2C`9o zdy^bkl!V3?f)_;!NslCwF07TOdE6+D{5%d817~c6GPE`{Q@0dDWnkk%z$j=oA}cnT zx|jFrn(lLHHj7wQ5j#>CovAdA6rKPu=8J5MT!#~#fn1+@k&&yP5gX8MLkB>+QOgPQ z-S-<|zVUp$i?4U^br`Ny7x3qP`L|L)-~q&EGL1((a>rZ&r_^}Fy0hdTx?0Hm>uA)_ zS@MxtCkmmV+U8Oea9hqHT(eGW<0t3y{T8}+KL&Z9eWI2vrw9+-GrO?PSIzd&A9#+K z#)xZtbD?V>jBDXNr-O~TQhuZe$5<6aaAQO{<_O2oP6bHQHH+Feb>7#zH&Y_(jReQB7I{2$I8sN2M7iOK<4w6h8qQiuIT>S^& ztT4N9;N*zsc{(nn#$qQs!pXU3UdmK!GHIhUAI^@0hV7}a+m`2qUHMWQe9-I}vH0t# zkzcW2PtXe=4E9x6#1|2wxfR>PgMW%G=US+PL`Cdv0)N(a;8EIZ5Ri)c_pQ0NGVj|C z!9nl)iUf%6eZzu&pJ%|t0eQv%%7och=?6}S^DEPY-f9zW#NT-f7qtn?d$CPeJpPWv zUs!po*D(H9z53reum4jo^V2U3{_o>KFi5NL`k&4foQ3`0$vKJ_MBpaVNoY_OL3E5|J!N)2h>?_r2OiC*<%N$;G%?jS4Uw3X~sKovx4(Rnx0@ zbi%+vU|?RoN|D#Q2e(iXYI`6a93Z6JqZCrJGlkT=>ez#%bWn7ug``Z}h_~tdt<-?r zaG1cDV$A~z3Or@0@Ks}EJ?KxMFI zQS9ba3fGY;*GaKCoKeC~C>Mxv}8KVjeN%nQix+EYKG1@q`u{jc%<%-J5;I|7^uQgDelOar%K zVJArhJd9NC9P5R>^U+jgFs1EsN|=k6!yIm`;<(-H`=5(LWs#%$4g>dUeTS21Ho*Ue ze9aEt!l;)L5z50bmY_loKAomTy-9F2x8=rSiXkwQExQ_S=uC~$)1XbKokXpS<)=yh zT1+|21^3|k%ElTrp0ApZC}~2uqSa*tg9~@c31x@~cbe9+G*!@?9Zqw0xYtxL6II~1 z97t|B2a=QIcvt}92{Df%xf&;|#{yTg4s(px`oTMn)5c2q^p2PFNvHqHRo|8O=sg1s9Q4| zTU{+?W2l=|NR3hkOcT@b-WanPWSd#$@q16z%p%*&LMylT!x(v`?@}%~PVsRnwj5I4 zyhp0A@{>l)F^T#P8W8D1?x>?B9_44)2^^_sP=1nx^3x6=le#iVv&ny<#*4hgRO*sS zD?gR+B7gdEMq6fHQ zg)tiU8lAoQwu`Oo&8x{qgGo^Zd-GGH&Z@n6@go@V|6zOcpX*dYvb`DpGMLdsVxhR`k?%y1UiL z@K~CcGSb!(ujOBbjOUML_KBE zMr(1hXeEo2WrGEvo3hI*G{)f;-19><=N2SQO?<;e4R^N{Q15CkXA+tq0p+~HrCiyF zpzZSj&q6f?UJsHhe@qg>rAc$6DR7|{pMg|CJbg}*s9K`dmfuW>Dvkq-rsZqvLhl5r zYZ=vbGwK4?8;kqwsbo{U6?XtvH<6?=vnkfSgTa+Ia?Xj{k*4UVqH*0{>U9y)SrzSW7OZAg z#c@p`SkGHTf;Fau1Z#7?Hpcbrv-JO0H5%ko606s~_0U&74kDk{wPyJ=TC*PN4llgT zPc#Ku{*1WojKtAsnjf++s7*8ZuM7~&j2l4bhPHfYc-y*Z6*CH{q zm5@fBcs2(Yd8Lt6e7t5XBLbWb&uc@4%8SpjEP-}nUs=PuXlYX>jx}2{vMD!wVl7T? zpvV>Os0)*YIJx*!3!%|Llq; z@>N}!D7yE14ijcJo@F@sS~vn}Skc2xs79M7i7Jz}t4)yN2N785A3&HVe~*{s+> z>N8v)W6DfKJm>t>&R@pQ)5!RJcN2As%vTPp6d~{CT$b_U0S1N7o9FbK*)~Y{cm(aA zr(C<6Bzyv2ui)z?d~J*C|0~)2zwj|Z@WY5@svxw|Z)aX$f*-ydf+?w2Z3E#4X~weg?3oa;vzU z36NNgavC7fvsIOV#A#T{mHS5v-n^jRnE{CvR9Q#0GN-7l>OkTis%_sW1`@4t?~wZ@ z2?wW)JK>MS=bG2F-5;ncj^}? zQ>C*hS7VNU4O*es9M4B(@LHwbVsPgc6;Bi$u)-5hw+xIY=H5=!J)3xk>pC$Xm zr4Re?M1&SkoW7C9u0NjG_Xa&Tw@>VQp2zeFI_D91V)-fyJh1}hG(RojVnU1f&(>~F3t%@gR?6JZVy_yEb6W0wT>YhzJ@o|O)o;Y}VOqepyMR?-* z&4efB^Yu}_&gSdCas7WKtN#~1#(*b``@J^4tO`OaJaM2d;|Y`fUR(QNUg|+bW%qkE zb)1pG!nofnZsK2uD*XI0E%tjo@RCZ%%I)`(>j+r!u4=aU-Q|T9V!v0lQ1*L$3^zpc z-8Bym@T|gPf5$fE8@vYW))U`C?71=7?=>>V<8^6YDSM#_T)R3W{DkR#uO_b&s{uGM zIefFp0%qh(8WAJM8vpymwb+5{0NuKyE~CT9k+Ta)Q@6{{=5r1EY6;l#2FjVP*}sW$ z8raeWyN*b;3~^cIE^=-hlP)BId}2)45!>`C@Aqm=m9s zgoyg-NtItW`rIm-P;?ru~WX7C6ZlN;iZZU{Bo5ILXXc zW8LpSN+T&Env$`GkkUB5j^gWWe7yy$);Xf_G#tWyr$PrD}TR4@F^Xqj~?jq-9E>#EKA7}eI$J?gU&M4{kbzL!5U z8;`!$J({%!kG9g=e@>_Rug?CtCcWeuP}7$Cj;`z_QFzJox<|(kB#mK6=ip4Z5%+m0#6N`G)%f3n;fF9YrCfcy8^3+?QIh#&z^aZC&tzaL~rn%1N^UD z_~8}4^v|bHSCqB#r9ZBNe3(o<T*CT$pRZKk&mzA|)A>Kt(?<^9x za_bS-KBkf}=z2u|<3vwej>li}qbXj)fz^6MDT?^J-XqKxB4MeK5=K$X{0SLUP6XMA z1)mi`UTjKt1h+7{-;-}yYYz2iz8=xq#rn#nEeWj@C?{UB&`M5H>;-pJEhrLHZYP&B zS&!I-avJSrc(p1i_Tv0MNhmMx{d8uEy*U3*t!#v-%%};4xE^t=r}cV7bzAOvBrxPk z`#7}L`ZzSPwVZ*`jTxHfkRzS)I(C#eME(s6_5KaLNDVXd=ufy3I*Z0%GLF(_>k;XQ zoF`Z6EZjA1HOl-=wSCI`Sz3>HegX|?;V;>mhcx>J+mvy30@VKN5q%${=jQ7XegDm4 zb!!V6)7zD{FIucev_m<~dc+5(@mW>%Z}=fa4AyYPLeu{H{3Rb+tgc6tuQgS);Yqpr z^d3;pTF-u`J5kp{&#sccWXGGpz)jEp`vF>Z*aXtD8@@wYb_8Fm^YzcS>B&)C&myNk zS5;*w;Ac;tPgb6+gQI}uNr9$t2N)yam(2D^#58a{if=I9f#7KX4Wpd$0R-UoY$R|` z#Lk~uax|>i!@au-E;+oX!tsgcP$ZI)NXu-kfd3-C_myG>uCZIF1h19}EUPH>|-qim)9(&Gu;UPosvR!bC+pdg z*Sd0P8=BL#ED3+`_7Zw~65?B}Bq54-mMHJFX4$n82}M~L1}Y*zKr)J@JNO8{0SLZY z@(S1!Vd8kFJS_sTT4wMWeh4{{uPo~3VTNYmq&tZ~$&%~(2+1`_J;QIMW|P(E zhukMg>ra~A!hJ&pj!?5b)SQV|X}E<`X4X07>ULUs$ZYC~Pho<$o~5viqqw_pW(@76 ztPUjyq%6VN9zb3tp3&~@s5KXJM^U`=$;!KwFzu$20$n#@^wMBAAHB){(v02%rk+^9HJ*-NK(=ZCF$BW1usLfo{K(*)3L8k~yAC9&yh_2RZ%o*zZRQU&EZBv0hL4rnW^Sd&W-hEhfas-fQm)2@HIc+@;+~A~ z#NILYvJ2~QVrk=fJ2!259gmNG`FVnPIDM(XN`Htqo^!tZO+dWynr*K$G+Sb}B@of` zX-kZ=!!ZX~xh903=PW|=naG=6N!pW9Y(RfZ`m7BE3v|Js!R)fW0<>#$CuV`t=@kNU z9r@ahuE@TPvTIQ`5(6o5d?b~vjr__WlyhbN$rK1;?|LFjg{4;hGVlFpV()4fM?gat zs>0IVMPk)w?`p8}jO<-=ej_g6+Zuej4~f#hCNi=ZH9_b%a7GaNP5i-xelN7GJpCZ~ zHT3%wVU*6mUfAb|o_=dm|8n}7t|sQQy_;N!JyNhn`KK z>hj@~nJfvx;eV%dXMvkW&(kj-+I~TLy>Vrt&?!EbU$3rAglHTMG9FTZ`EgthNQP7sN2@gpFe)x8;#W)3zSn=(O8==)MB{#7ZC}PxVDUcu( zT46CBIE#uU4P!4chg=ibH$ui4f>3vrlx;*FVMe|T@DR!`U?KclPIUD19gF0QJ=1x3 znrO8J%ASezqaKkGkaFZiENpjHBlfLD1_tz)1~i}xl=*H8*Rchn+{-1x!aN@3O!3?V zl=I@bNagfT0?$QgRoQYM{+ig#6nkw1`%x~xLg2Zy&jg+e+mup{Mur>`W*SxY-Q}XP z8lp0dg*n8KFrBHkC)L`P?GjC^Vn~>BC@e}Z)CHG=XL0Xy$ej49WV7WiYMMLLwMpDX4H{Fv9{Q2VKL2}=ff@C1U7Atbl^ze9&Xny+Pn7c-kRp}O zeiSn$#NqfpNTJleObqU}JM_ab)Zj^DsIt|Uipq+MxH8R5$rrH&5S&3(q?Y<7vTbH3 zdTgdhu~%9YmXMh_bLh{r2!{pTE0}HN@aDR zPAoEyF5vH#79fHUi3n1vDv~jfvNn(`F)CG;6hcudx{(y6Z=mwdQ+D%pCttVmbrWCn z__`X`f3lkJKl|+lJZ9Vvuq;D`6;}Gq&OMCBO!foZPiwt;C8x6c0ctlpBYYD$>@ze( z<e!Q_6xJyx7oDH!8-wV)2%zIO#}&_ z0%Z%5Ceo`w**c1A`1}h2=UzlPQ+T)t<-BmNT)Aw&5K9#l_SF*MWAyw4? zOAV;9D7CUHMP(WxwOETZ=lKMb71AUKwz(Zcut@}j3_5P1rruF_e2?3Z-!yJ&STyfW8{FRTy zF{J|pC~9Q0b&`JwKwEAeD8K;hIVJ@F*wcIyWD1RY-D(P5dePW0nlM?IAwVqfoGgc!lJ8262sFz?OqPMFu|)*ba{ zZ82fyBWXGj7N7>rL}>esmB@K42kxB5JQ3!F>F$eqy141XZ%Lk z-vZ|Rb`$-`#P4@6G9c}Lp>wf;t=^mDU8jEyx5(-Gr^uO)q&faU4IY*S0NM6)W>+EG zVrd_ZlHNkaKWmKmCq&~{Z>p`XT3dTjTS^sevEfwLnhTikeazg(2c@h`bU6Mt$Pxj zx;&SdX9vEv!S%nNgZ_85P?GJ@sWtL?$@TMKfR|i#4eNVB^C4g(220roW5|7DkK}?q zAvIeHz6xN1wTo=D<=srogRR+C(P zBgvQ=FJ*6txn;f542FSi%I%JCLL3nU7|!bVIH<9Kzo%^_zQ-|>z9$Kxf`tkq0L|B<(N_J;UdEMCF&-=MEwE*5S6 zrJJYC^7)br-H&S;s;r0cf(643@k9M91r}^pkFa2M40l_kJ;K(gdj#y1j%b{V*elxa z2PnUTRO}GSkFFnD`8u_Xj9bzcmOw7lema-+oe#bnn;Gb4!r-ttHQH-R}d_yNe%v^zSXCct^7L}r1QLMXP6=`R9S?DQRXY;+ z{jLz-|A-&G_4KocO25N_+qX8v_H_x;zG@-T&+%K}_U#XGyl)Bddt5=jr~R+S_5~iV zr9tR@d64hj;Wu9czwe?DzjuGR@q6^+>qWos)#tYlGTuY&uLVKcvm?m--tn{XdxFr* zkG}^lUo9YiBs|mfd#}7_eADv>eY)w7`t*;6^a@3v|4^wuJ@_Ymx*eQ0R2vSz?+-(I z^Fe+7QwIEX=P&yFs}1<8wgG>AX-L23!(%x+GwQC6ft9HAWX(Mlnt`IW&zHY9NdAY` z`O#GWGePpFTIX~7hFa%y{fXB3{QC=nQ&&+k83QEbKkIDc=D{12`3#rIq1i|-GTKh!#3e1DMq3#{|S_n$WVe&2cw z)|G6__ds4nDp!00mw~+*4Oa6;4LEy!g5PRZe>Ce8##__+4y;k@8&7MGsPCRLtM5@` zeJ#(dzV62Q3QwKU_a6S(@V(Q|tiDCY`Yt=O`uZE|+xO=geQ$MReRI#OzV|*d(C@l4 ztM4{reZQVOqwhV>Slr?H0?p|?NT~{t%xVK_;LKrcr0yg}WZaiM>f%44iBzdcV({G9lb-zauF*bMx z#j&#@&bJm@M8h|Bp9^P;4dez#&eD8<`f*zGhvPU_Qn8FLN2pPdczqYI=KTgS$#QkE z-@yK$&#@?mV|qw(Tp3p7J68LReDwQ9u-D=^toN(ojO!@nN63x2oHCtq-$;+^BKZ(v zA9FzpxsqVFgx{{uLZyJhOSq$sE``blKE3D$stA61h00TO>yEl)kI0#Yq{%L~LdAs| z0+hVv106hB7@BJkZy_YA^q%f!V@=i?eMymzA z-F+6U=7=F*HG20wVx;%Wb*<<<_vW)oZ?c!&`JtD;1)=}@%tw{RCtZh}%`P>n$htJ+iKc5RJKr)B z4E?W@FYUGSt*kWAeA|?0J>NE6%AK}$qnK~cIV|Se^C+jCZx_E-)%kYIFUGFl`=junu|HyKTJ?u*@LBJVNgFFm{}EROqJK^8eAxR#Ao?#S#m7qiQ=kZU zRHKgt{oOq*=sySLwDfQOa#iWyx6DZYm#bURf9}AuO8>y){r66R=zT~#-tYcC5WRbF zP)T#V)dOKyG~@kWDHim;5aqP=etl6@>AkPiNbf7FS<$=YfU`<(##@_xgE3J0A+Z4b(rcl8#|9A6|{){<(aOm=6zLZ_z)~P)^%Fb+JdPYIy8A z#n?ZOSI|}(GyP+F|FhaZf$9Byd?0%3^pBwj0@1rObTun_cW%e@e&j8c|97{bcSDrZ z();Nbs!H#|AB^;lJ#9sA8!Q1jNOMLBmdEX|uS%^Y2p%4BnSuUxu7#PcXSA@h6_2*U#S1vJ8Qa-7DlP~8tE0#zYJZx7;*q4YSQyzxwh{gL z9Q9|R(k+Q9Vo-bq-MXXZZV@@Hku(Lxv8X`{ikCj8_H@WbmhZna_VhJ>evRh%8`;{y z%y33sTcsZd(LYCYH1xj?55J_9M|%;OfsLZ3_Lk+Os95m3<*m8D`n@dXpZi*i`8NmU zwDYeyLc~{%-}U|0*efreu$q5!p$=Dxw5C7e`M0^qJO4O6X_r3z)aSl*VE(wVL!kb7 zMB6`!IAqtlf0|ro-9Jqz)Py^#-;1Jue(q|~Kfhe0@1Oghu4@0hv)|Z1HIG~M&#%yI zO-Ws)he7z^z>5v^4%t4i;|?o6_{d(3ePFfcCFZ;us6}ISgHoG+7 zINmbAZSIm?x+=?h@A70G#vzuQG<36EPS%6gW&V8jf3Fg-^~X>Q>ftq zyY4T^3?dH)wl(y>P9Ey)5d~kW{bec-Uu{p5)?7cMpeX1S`zzEd1a!DoRw{V3@a7M*@H znmhfXM?}|t+R5AL>*&@UHJB}1h06O#ns)jJs6pH5Nsm;u(=&G)JALb~=AFI*YHq-; z`b#o}ye;<1TTZ{W*Ov~AcR!CYj1L|E)!74j?^OHKl>fFx^hYcH+qNn9XBO*^SpU7; zg8!awqUXO4&#fx|{p1T{uQmR~ivLzXX+3*g6GYyPXc>s!I(y{aqCoUs&f)6J<=yfq zrngN&RI$|2m(?{q@Kb)GGx_gN_#SuOZ55=ik#5@~ukquW*O4S7J-8 z=ARAbhRRYicsZ6gSC@F_Ul96_Xda0EI=sKPAQ1hR|I3>G%Ojco{T2xNyE|CWe-6rN z>EGN{Rr>cWGSdI$AFb#=_nNa#|G@_;OaJeq1JS=&H~zNZ`?|kE(>Jh8tyBK;6Uvk*b31VB&XaD zzZXBmFA|(?7yVj(M0gFuIU0eoaE1rmshx5b?LndQY2gyh6{G%9cx12Gi5E!zI~w)h zeC~bjbM!nnUc8gy+6vpw#O|6@!$;YWb@oh0&lcd5BH6HzfK zvf=vPa`IYu72tn;P|r}y^L|MRr5(vZK4;wD3_1>!s6*H)lo>w~>dOt0bXwFkFc(Vl z1(LgOoRV|5cb8J361%auV#ZYZ)ya&VVvnXwfw?(Mr|&zh?l>T^o!>3V-6Ngu?l_eT zC!6pI@F(c3<&2Av5y7V}Uyk-9rbTA9=SZ|k{4nF^vgVQ;Ne$0zMD49hB$0Q_n1Y|; z)I6I5r?4PmWjsB|jGi$akHcXkK)g|Ta-<`1vn}@xAP9QykZ*~|tSPx}LA>Q!&MuQ9 z5X=%WEXx`?yCi0YORmH+WKNAtm20JTNyxm~Q`N3Aw8w^XPWTP~vb9VK8|jU2%?H5j zK!8yGltT_zq(g4v>~epkEth}`*HNE#d%1>0md?QwgnI_T3;BC(^ga1>vKasRh~(-O zSvH2Euj0ETSA-)m4DFJ4m$jsNBspDeKAP&l&_I+-{zJv_4O94g>=9+>IcQ^6moD^8 z)##h-C`V`aN)dM3^1jiw^ zNj_rB9YjwNnltgZE%y`tj^2?orbLHj4%lR;BE2IwT_24Sh~$d1$>eJMfp~X1hA^Fh zPL0G1@ChKgghuk?#As?{1T_*NKV8ivS8tT3nw#NV?Ros3MlQ1lTffk_o+m+kuQjp``k+$X6V*}i-S@vkO2?gl;w{Jo)R3)+PR~4l)bqqDV ziD>#R%0=UqR{Z;V+|NxVxgSOy-rSnM1~<*cdk_Kjv?LFWkP^p7*mCz`M_yT1Pmv~u z78S7Byq>W^)jaK4T8CPU`LwBLG#>T=kv7xu;z?qrAzFQHsbY)6)dzccGC0y|jNK~K zs?`+ypL$OFAJfo3rEli(#z;!jhRM=r4e8lx+8ggzl6y&#dkDtf2?=y-j4nY;V%rnz zD$-)4&DT>UVO%w4pKq^uX|kxtib#^%9--9%&ZW=M4sg;BE>4` z9^s(4^(3{^A~NeckpP-@y1GYTkA8Qct;o!JPFI-c8S*1N_u2*-?gdtaW^g_rdon@T zd=1_<3`YD`k^whSys53_3_=VBeFIG~^p88-^(O4*y7-fUC~A2dFRW zg~0h+LhLU`i2c=%{8|FEuQEgb>HqX!X9j08Zn8q=~79bUT~#8y``%@U21sWluPybOAPfNM@$6m` z{A@A2&sd*vywoxLz7AqIY1?n4=M)3IixJ~QTfU2de#L$C`J)Zv<+!20x){da7DN48 z4D>l}7{Bci<4)V2DTeXZ%(E-V(s|y;HzRub};ueT}Lv7 zX3SU4^!Mp z`IQcT91VL}vy6TObmIxQCfHi$kU0w_dSjJrDptulk=US>S}CzmT_tnflc27U6)2ay zLLpthaU^!mET9!hh!d&{=RGD#@)&g~a+s%CI-VLRLGROgHTcU%V?JSUc8TC>1t!;~ z@x{I*&X>ue)7!o6Vv1<=7a^@ZP*bX*w|!EB(4N5g{JVZwjuyWa^=Q)Q zZx~|-rob56sL0TWW`6 z%^h?S>)fqhqX+pUR-D4>JBgKt6GeKhPq`Rdr6Z^$4Kig>gAkoRxqWx9OORGQ8tb6{ zE7!IoTPoYOEmV@*R;w~?BqF8FJtG8z@Xl~d_%x8-@@!XXukpXXjX%v^_*d~Kr@Y6B zi6Kkyxme4-AXg^K=c(%fb~&wuJ#puQwNe3R%NpA$KcjYX;?7i?GapkiRSvVWGtU>C zm080f*Wo(;WtY#lwG2z_*Wy9cy9Hql;PfIp*wZDW6vzBJ64z!7L?6Mary`H5ZAES1 zAD=HJ+5v{aEb$Y5l<_kXWnlk}@RwIC8msFYdjF`zwV7|CSzdlC$={9QW6VWvB*1+T^Jv6hqIGlu>WEcWZ?iYt`lh+ymj{(=WFBiA|Z zE=rIpTXz=Kt<*NHyQ=N&NOeALUZ;i}Rch~!XHj>8dEM}jjL`W@vi|E6*g@sLpL{p? ztN7&`@BsM}IptGV?0(PbAq#u7CGm;qzbJ zfE~iB_cbT08 zeXnPKU@W{3<;TJwSomnNKQQP4l6w4aQ>sC46J$tyo*(o3L5^lChaOcDj=pXI0y|V>R z=}~pfeT`Ju5Y@Cp?jBFKj@B$MYHX3nBfS1rr(A!X)7^MoYGQsS4laLmZgxMEEU~3tMhJ>L}M*@s&Y?teGk$7x` zm3{3X+v~dZ4j25w{T0|iAA`LAZ{NfHuXcWO2<0x4x9=JBi@q;KZ=AByg!s%JF%$zcf!; z?ePd>&-)J8KY60s#0#YgtX&Yw!4?Xqt7nAMg-PJu-~rRb&MRS>xbG8x(}d~B!64O9 z%|C6#WBzHWLp5pbv6@_uSZ~3k37bXBE&9sQ0{D{2kRWSajW*e9`piDwwgvk=@&o?f zYtK`T9;B6DKZF$A2==i z{T$hAs}qm>LvlC%oa`G8+WoXuT3cG~pLlxKQ2Co7?HgZ%?SmNXCuz>Dx+!)P@v8BF_^EP{ z6OI@1A(Ai_vXTTK%S%F4>V0+1eGT;x(Ljb#)!NQI|U7(ntUV4J0y8B9U4UR|^t?MP%MC*D) zWZHVUx~`Mt9?`vA59CFZT_z>2&#Xny%3^!T$<*+OUM?s8CKhIZNeqfspGxXuI%P{9 zlwcd2cSN#XoOi?)+2HZZ5YQ$!Z%WN0w)C~O!8<8qr;(R?Kq%L6@mpSFh5hJzx--e-y7dYM5M>^#K z^@OnP%1fK}RyY#(WtKQx*An3XhJm=L`ypG#V@f62Z?O*x=qaO_RDa{GUOxf!N+xc& zN0KMvGmjI8jN>7mDg)gF6~BTqE`)PWwo zgdXX17N?w|2dDqX-h04DRc!I&AqfzgHp_dRFk-o4udeZKemzuzA}X1Q}` z?rC%8oT+Eh;sSR}>*uTaQfvQ|8UpuEnP7){L&)zZ=CN(0RO6c+;T;LB{f?DL$6@T-@UNTXglQlCfP zY0JSYv`DTM4D!<=()3DcuB1ru?M9kRAnb6)7%GqS(B!JNAr^HuYV}{Jvwuf@{pve= zkK-Ck`y($1(}SoQHs=rJGEV%v<=OY{NsWc$-2lh?gL1sP(}4GCdu%@JRylT%A$F{a zrNOiQ^rzFy|1>;5{(Sru%Olj&1nhb_JtC*_md>hk=${YyS<0*SKTd5DWIHb#5YIeP z=fTa=)(zXR&&McCh8k@V6Ds_P0(Q14-~h}y!7S{zD&XCDq<}nI!^c6Ph_nO*mE;AP zq~T;dIy8qO9(n)YQ$#;|2RC+rEF5~B+bKi}np8ZGCuGA~f_rm(3?2p#UItGNCSdGT z)3O@8>}H_3`Cp)!>Eo@MFkm+Lm|(LmIQB{Asye1zcrFE914`GhjI(R1XZpvkcduh_ zyjw2EV!%``wL?-wMiYBNZU$!CFv*ewmxUtym|QucBnsVcyv6bADpaU~YQk7kptJ-5tpz$}a{P$XEaHW91_p0(srnl0RWr+EWU-^Lf*j0y#fh5m1Ka(K8 z{d5=)bSURJ0Y>A60O==;VP9f@YTUMDZ8g?-ti2P=YmD}EQK&DFnA#>6MoC-Uxg1(> z9#VLu?umLt2ZDPpl%%&doq8werlnvk;5Btt3sYy*L&10;HDQlAe`fYiY9#5Ey!s~@ z(`|Y^>UoT0W6x>>8#$3)O-zL;o(2t*#_|DlNYI(sBJL0Q6P-%5dI0ne;Q?H@_rvM~ zMy@BVN`}dRN+n`Z5j&AcCJ0J3Vi?>1#$^BB{!eL^tYTVkaE0$O9V(^$_j`I2 zpz0w$cpm@hNrJ}{G^%5JS!p^>n5RB4HPyopUyU3zKU7bz>O2!YCERw`hK-mM#(tY< zTNQ&cpZv(S^q(NQ;-2r%I^S}Y% zHprL&xY3_c^TybdRX%ouoGjWpxvy)ACda?AnEN<`38bRQT`_fpj)#G6A7a{b+?Ac8 zHb#NqVle@xW&W$=5f1~I3JVB(V}oeoD@f5qi~5M$3%LZHp$q(dh!SnII9zh+@B5-cqOBEz zj#aVfyZ><6eC&PmKBVI5ukl_b*(xgDcaUQ5RvG1--m$5c?Vt%1Ow{4pjpuF+3CYgY zvhTtxYAUzU^O zxsK76j-jIW)$2H?r+-e>t2qaIzI?e@T!V8EEXgVDdg0CMLq5ab z5&WIQ-ww#s_^XTOoAK9Qy_J>U^8_yp0P(Y;88#aAIHH1usT9XLYQpWq$uH~EIuMc-%lM1JzvcE;vm*;FvaJbRVQ*1dN}QE5_jfDDC&yJ=5ht%c9ipk z3Y{p*5VL&|g(k+-#o0(LvnU)AD8oEsDv@AZ$E{_qqW8`XO|iaEN^1*h>ykF_HjwXr zoO0nHBE&Pz4#Fd7Sv?_1;_6y0y9)^wnUOXZMvLOA8r0o6VdeAwYiQx=gg>7vHXD3q zKPdTp>hptTY2ec?`ApL>lg~1KdM)$$A(tx<|3bNd@|Yycy`sw5QO+ulUl3E>Baca~ z{bez!Za_KQQ9dL@L{B|XHcFdN{@c|RM;$Yg?*uZaQohZs^6f+K z1IhPWh}PYfa`j%&w{8}F3)SYHL@qi5(U@UQ)?=V=UyypVMSOk8ll3hYpR&GfJ|*?7 z9$t{lP#HGyBu43A7b9)g&dV&>!@W@Z$C*}(-VD^GqH}U z_-*OvfZx^`E#SS9^~9=xiCJuM9EzHX9TlY7h16Iuzg#H=sq9>&+8lD<6iQ0IiF6qf zC=e6t2C4kFcyf)DJaVe6{AYIusr=_wbLB7Mas|SHa@I<%cay4ARS9pAMh2*ah4em9 zC5(d1+!K*&C45btAcUXVU}){YDU$GSb_F5)_=imR^IWb#tVcOJhMf@0saDpQz7xd& zgn(zoR6GchZ2%s&)B8X?ybig$-$JgHhf}qK@NkpK!()>r4-JFy5G{FlpUV}9KZ?AC z{~V&EdkCM@#-HdQE$SK&ED9a8A36K91M4LHFwYvh4@-9EXM1{HS0P`VrjEOe5=cF#$@U3`jAAs{(#M{e?yB5NkcJQvI=M4)l`oG%u)@W zbtBE3oFRo13Z?^^o3IbKg2!{Y0&%d=TR5{@ScRiyrjwNqP^)d|eV|$`24C(dy0utW+eI{I%D-ex*2;Yj>>z-QGGMA784M6xbdhbv8l;-Y{ z$Pq)1U`QbP^KUQwE)sTr?!wQv@bk_5`^kAIf{5k!@9}d(dVl4=|DQ_0=ROeLoM6jQ zw}tBE_kOfc_Smvwa@iJOW$sMCE?Yn8LL+H|N89<-nJ5yc=0W+%gQcAzYh#w*(H-Cwc#WuO_gCIFs->lquk$9mxe~L9;PoFiNm_EYORAe+iQto`` zwjj2r@EyQ#Mb%aA{1ue*xbt+;qp7#;=}%G%V0+@}y}#|z=Ji5`yPgl>A~Fc!F(%== zlsm5#jPNK)_(f6VtLeDU?(gg;9)5`gfB=zSo<=>zv2__0d-reK7RT}K>|#Gh9_ zdv8&29QtSro& zO}kJHBZd##D3inC{zg12nFsUfdzh%GE^BMZR^55T*0M5J3`EeyR4A1yn z-nwqn%YXmAY3-Mz2rd2v8l5*so}4-j)jQ31mPKcf1^X3h=`4%P=$_8m%!DGHSH!H&x$^tuC&p_M9vbp-4)-b1z|Vi5WeT^h~-k!ltb| zT6xkE338PQvXF)>tmByqYQIevEs5}oH zmOlwabwx?I1!9y5h{k+zqUv>rxKF$whGa#Z;$5?)W|KJ1;8(Lk-q;Z#Pk;jOQqYfZ|cAMOij{fw`rqK$^ z@#XQd5-0lLy&8CFB)CBK2ch)`X9m03W;2GmJ4BBYWV2KF_cs3RK)?T^|51M#)1BDl zh0T_(w_@VRn)tQ1XJew#eqd3bct^Fj>|E9(oV*F#eI9^$FTl_rCRoueb82Tk<#XPl50i`*7ABrW7^4Q0cuK$%MlZec=xf!`ja;IBEIU3MX1&` zy+Shjze)ODLX$>lQ0b)jS8=lkrcLP*(*?83WTcq2`L*!&WJxT1`5&!U`NPVv<$ zhgnotRH1^9i5zPyYlfL)SU+>xktVSGTbh<>r}u$6Z1*C=O>>7Ss&7v`Z7$C|`7>LN znJooDuKOgjCqE&U5a8cAU9yB@i@cEY>x<0N6I`xHY(qKg1%?wa6>KH^ZK{RvTr8U3vErlh+A<020bI1^t)T75?Gwf|ascvtjp$l8khm|B+ejG$A zZ+d~N@Qn_19cF>3fO1yddkYh~)++pgSO`#sw9Xw+5*Lu+eiuLJoY6nYu-is^>m0^p z`m5k98o_W)9#b8n@#}-A;DqH&|KK}hO?E{&s|x;zd0h|vmp^7`B^r%XvyHi+nmSff zrpS&J8&x@E;F-o@m}{h=!_e*IXa?|aI{$X(-(>#X?j{GciGM$(-z)$9-;;pqpZbhI z%>L;;uPrp@o48j^`#-Tn*azON7nW?KFXL`uTeS03y`r|Jb7Yd z4kMb`>#Ip{i%oEHP($ESO>oNq@I1P z!x{qm#|neSLkj5kYrJW6NuZ(fW6Q8ctT(^?UVZx}eap*xJ95}#{>&K#VzCd6!UMQTWj#|1NB%f;=g3@TDcC^tz$;oX(x^8 z5*^8eX7WAQ?2O(hswwe%vzmT;-4MZi1^4)BZxK8!;qp4WXB5``0oflV6~od*G?pgN z#rOszvAl1|5Ul6l59#-R;J-f|uiyN#PiqM}JKGDwFuIqt+o?zloCNVwm+x~_@kh1s zBUdOlQQhn5XmB>~23LbY^ohher5X~}0tgxkFB1!REEXc~7`o$t)MNa_*CZq^I>{#Om?LlpF_9~jU}TKf%d(C&-GOXfGv zD}{Q@{6-GxJJc`+H^z|u!o)yB`l;WLB2D7oarFD&`%lf+A4O%*3{D(Yf3V&8*%%7K zh4Ds{7fp@eDFCvcC;caJAn8Z&fs}NpnhGxzT_#GYl3F~<)s2zBx@0*Lm`y1C7SAz2 z?;#;UF)9L5_D@>&0pG8zwLT)FG>zVfX*2f;QL9 zblFEjL!6!Fhh{X^yCq{MD1vq^q+MFPZ!4PiZQ%{=WgENYNExjn6pGGUX-}V)y%N;% zn7y$Yv&U2JfY23=88M&A$7VE$kgbny9+Bq&S~ zjTCOo%r2tgL%Q6xVCljEr)O74&@S9@km}uq;}rrX_@OhHAfUJ%mR&7O@Om2Ua2Kv@ zsBC#}z89nm_tuk4|B``Ju1Gjh&PsoCFZ#_coQ3va)4sz87}LJ2hUmk+f4^)=tf+G~ zkpgqyZFw&B-Ja&(=%duG>hW(a{=JHR|6lqK{U1yq3<$hQYIHQ3@SV%dCd{pz4s8aW zGf2U>(lF}AYS!#=RQYl+--+87n(!ZqvI)oHg&fTD9x3bUN2@=SHdzMX6Gne*dpYGqqf78%`(UEJ!*Z+U8=9G+!QBqv9K zgs68B%|TT3ZE3Ojc5HS}qlvyxs!)L%m|w@lLyOF0#8m8*#JlBFT=!m^h8U=GX)o`( zNGP2RyQULWJODZMZ>Rjl0DeJ<^3r{))yOL1fn zUZ_$pz3MLWkX1wvJ#|-vI;dN@!yscHI}T^ypstpEl*y`q^@n*EX}suYILi4@$7?g{ z;Dk6j=w0jZ`G7J6rYY63UqLn5=>P%GSZ=^^TYA6*F;*P#K_1;rh2sQNHghr6w0?Cm zjy7~k`k2I!*t%>z0D#)AIATa=8A5S7Ud|gE@wD_>Pg5AIx}zXv5^+9cI4U_|B=$Cb zg2!atmJA{0g6C8)K&Scie28-pVtF0XvM-QuJJ_Q&XE95~9_ijouV`kf|55_H;sn{5 z(qtUO>4bNXS)q6W@30qAmO4sroc!jf#ftYw-4%-5r>XL3ss7`1GBWvM4zr`;Lq4(F!hFAhJ;uUmjD*$ufCOZvs>x?v=^E9WgUS_&9VlmE_yM3b z88&psQa?d-rvbfQuf>cy`ZB@ah|**&R}x&egM!|a7nX7*wJG7t8QV)0=? z31g{L1RSW4l7PrhVK54mYG~JO&C>MrID5i&M-69(P%Uc)86Ia|GrU0z7=1hJMMk4h zi;^t?qxiIx5iCq!NJhq%u-j1~IiWj1(+MP`>ci+XgHMX1z+BoQXM7lTWjk}5A(`=O zGTrxLcP%uII>m_#FC8wM9UtNdOI%aVR)&SmtG%pWv6fl+Tv-{W{>jzw+?4uUY{Zv| z^Wy_$y)J=jS-ZegvfeYeNz70SS_*%mU2hdyT@~-a*&$5JBK7o@ zT@&d~|FZm|t@5i0`JryI7`~L@&lLGYtB&KoSb$8;xjSYM{ftCF-8Oq@)H_HF{1plg zadF0I6dy%f_$MM#O8HTZXhT1JoP@!71eH%0WzRrgseb@hE-RI$e3K%Q<44xb7@6E* zbo2vVI9gm6FO?*Fzl%m3Z13ADt;~JVODpdUVXgcPZjH*RP;+lmR2rzw*ysoBbfgp^ z+mq?AS87Z=%^V~`%lF?lJ_I#QIwqP3?Cy49It-dbM=vJJiGTgX zw1NgAET)-kGV;Y!FR-usl#>PGVVNvb$>}l~$1*Jt=L>nMqn%^ z?RlYD-$xaEVKbeK)UvMU0*241@fG_Fp2SJuNgUZx$WNqg_|{cqX$CA8>ejUAe2kiUo$zscmZRFzwTsd|A=UnA{}=6_W_)& z8V6Y&Y~W$gEyA5loBUaKhTVGvRfa`+7kAV#B5E^~WQMI?)D-4yq7J^-8d@EU))$Ey z_}w9@^6%n88We@_`?DCkE)u`tcZZn9?*%r z6<~fIljDhKpvL50r}?xa5mCMd!B)|zs|UX2fo)34A>Q%ck%0wRP$}b*azUlVd{@dv zXDKHC!|~RYQo7;~OmsW$=gkiFx8S5N*-q?PGnQJ?dH$OQD(pPs6J^hD=ri!K><(tq zq^>Kf8)p=VF33<@ZsMto>K&3Z`?3_CAqi;LVF&=e3&qZky!&DXV_&v82=<>B7}&?a zBh!fP%cl+OW#bt89h`w(KFCnm*U=-^cU8`t^ofO--bBm?pu^l5v6Z@Z=r$ILX2%GM zl!I|tl;v=@Ny(yHB_;g;HsIKKqvfi3(E zqT+4FL>Frh%=*v)(yWI_vre<^JgshDL8iJWpC;6|(eMArf2#eg1Rq{Il#kL2y?n|% zv;8dRH(1|7Fo-$q<#4t;8C^UcCa8-X8ap4XKfvf-(+EMuix-Hu=cwSER)4@`3>DhvxcGoLGTLS1g?SEO6h~ zPgXgLL~S$1E|~vJ1*0Qg2O$)@>s51UM#?WnuP6QhopwKKqo^VWY!uQF;cE~B(b3F| zao7-2o)RN|q0KyqK9@srtHNxqs-+0Bk<%m6a#mhUe)-5{YAlCV^}oXfhY?F*TtA|i zlH&B8gb@Q0TlS$047D&0C`IrnTh3HaFcb&0ox$&1K|Iw+4+p8SrfFjFIw1NCMQ(756R;~a8e`&ZZ^GlJp2 zE=5rbY7m%dM3l=eB&I|PX=Sqoh<6Fw91Yt{aW8cYle$ET_a8v}qIj1S2MXWN*Qmw6 zem@pwuAu~&!K#7F?Xm9x;i+)teYy-XW-FukF!}C99fBIrR0Im<5Ti*EJvxNvWgv8U zDCt2DJsBYab%t$iG*q6#?BbTBw6J_c%d>ar9g)!(`jZhwgI+r|Ac{TQ8IQ>b@Jn;3 zcC@FBR0PV4(7)a{7{^ID--q?sn z9OJFkWj!_@p`OgbkCb*4s5A)2_r`&-A)@Eqmk7s1iiOX{#nj<_ z+cHEh2JuPFY_3iS>70vuFKn?%sFRbJ?+&wnj2;pF2V+$_xvo9oyf!bE9nF4Bu+$L` z{c@P%CSXHRPt?(X=+xLeyFMPZe9#tqfJ}oe?;K3qxR`W1=Gf;x0`tQ#zNZJeD`Asu z_Yas`hvArvF!EoORO#-jk6HGwY+C29$PnO;u-$f7&pM(u)-iBNQBK!7_>0D0GgvQ2 zb9=&JZQfIW24BMEmQTW9+9*Y{{I06S_MD!eaCjYCcA3L&%Zar)H$rT`l*>4UP5+o> zNVg@Nn;auPrEW^>Ih2fcT&L!fyh~TLx$0x>`E&6YirRCAN84T9&}fIklw#RnB=E+i z<;;qwpfu{}HH|h?e{~GOSw;j>X5)fCg8iMab+aS7rCTbv2=9xDM>_&7A-r#8)E|fUt$gXg)2Xs~n{@uwv|oGly?@p>%>jid zemHL%AlvLY)`Re59Mc)oW&gs8O)Fd8#W3**Z&`wa<4C$SF)^2lNJ*)&+Yy=@5k}pJ zFxoc)vAy%LOy_6}^M-Ae*7(A>S2w)64bix9Emj&PO>yy6m7p$)+!MJetBYz*E^1g? zxG1Twf z|C|1UY_!c{fz#0G^o|e9_ZvAkMA)5zXr4;?<-)*yV8<%C|NV3eTCE6Jckuq55$L zOAag{goqn>Y&r04C_w(ro?{Et`lNs6c=z-zxj)4Fgu^bg2P%$u&EEJyUmZ;U2ft6! z_r6Gqh32Z(?sGVolf(R-3&%=xh4-<2Bm+>tQ5o^-!Y=E6$O(g}-+npwL#9wka&saR z!)R0Xm-E2%8J96OMDyDVUlDRy^c4-fT>4(2l1$$*3~eumEVGQqA5)0QXpZM+$I*V; z;)J=7-l*G3HXSa~O(Sc#S6kkNFz$0F6l-%o1}}7HRh<1(>88sX+7rIi=KV}Ol6&3a zm?Z8_+!b%Pq>%ux1Ej_d6SKWp<|1T343JCHmU ze5x{tJ@2Y2aCbM9SR+>)CFA?i4Oc22bP3u!UGjwG1d4Hw6#(**i5wS*T;zz2h*N1x zI5Ig-beT%yLzId=;;8R^UzImJ0#))p+%RnX=b|comNO!v0(C-W1zDcx34R?fbakKQM)4 zhFpdI(MXtvz;EyL9Red07eVkan9Mqli+LCv++|DA?IAN{hR{rHlkeGJL_xI6{qNjY z1;Ka?M{R2jzbIwknL9Dkm&o@Wzmh+uIha_wqX>Q1U6bp0VA71zRpg1>-+hg%eAp#* zT>NK-kziSC2WhW<1f{JPu6XVn8kI%!6<(JG!DPwtD)u{E)_p;@z3)4b@TccH22S#s z?SzLsgX1_Iow@s+rB$?f^T}6Xc{yrx2quOXWTuBS^@`Hj63egXpx!O7Sd_Dm+p$dx z@6z3$u%qJ{$*$M&yH4&Eo_DLF`CT*j6P|a=8uPnaZkiTVvzbrF(7TLDJdgj{%e2wX zao6d2biOClF<9>l|5qet_T6eZs7Mw@>;=T!>{fO?|E(poacv9t7QZSFC=bC%Z8 z=F-#vg+I<(gooC-suzMSFtP)JzKh!8hi(sbuGAJk>hy4bMz8f0t%8(048MSiM2usc z8_O5{(cQw{!;#eYp_bndm4gfa zq6TmR4InR?wg%>lpZGc;w9`Uyj2>N4x5ZJ@C={O~8DIgbP<(MWfViS=Qsv%6Iepnk zn#bbZ0lkm>-36$*F}@2>hZ1DN^Id?-UwFyB-9J%zzWbL~(yrDyKc`n-FbDEZssN^prkCb_BjnX1RXv>pLi?l^*)v-e= zHD@HQe^0EV5t{kY*fo-C-J1EjWgReZkW@PkQi^le$z3D$tfVLD0}^Rt&VwDL7SUqy z)|zUuxW=<`7xZepNWmbCyxIo;*7tQRZMLpYAkV@IFU zja^`CAeK32c2V4u>@N7VJIhdxyhDo8?9qh!d&J3sW~X^hSoGgT?_=cIE@}ZVM!3Bp z(x!F6b1JqlVLCBiG^D60uBh%UNx2Ke=@|rvBk?3oA#TViywZv?^Th#V8Y{YKyTt5+ zq|ngq(V`F@$o&F1#J9AA=#^22u~FwJDhDv{>_C7@(NGaV7z)5^=r3a|NPCPZz^*=! z#n%z#Wc1Yx-0w)|Qcq(uGJ_a4-k@a;6Pl0s8D6yfb^ruKgMf8_2Pz81bs$0FKNgRV zVI`{RiOER`-LPx@6yz-<3-q5)6s|zf95jCwKa&OeB){?(=;t(tMN$bS(87@@;EFoa zLJIVi>83z`$uO7*XA_Yx=5r=&ae>%lW)4)DW07f*b`5Z-q&@N_eoUJ$2H?rv9GkJM zq#r`qoj|%!=TfBCl%(IPNdIA)NqSq8x(=L~FLol+LY<@7q;3N?1G=9;EONQ0vjV$2 zXYNIN!d5M-h#NV@bdZw2iD`x8rIlvUUlWA>LF$xMP|^2=PC@juVx{PB@X+rtJ2JaFD`|BLVhUtO3xK0la+u4Bnz! zWu4!}Bsl`Q-bJlKNUcn5Z)m%gHN|KZ3x~>9F$yn|RI_Nz1&?y`sfqWlfv8;^tOPI# zDHH`rzhhaylVg%I8X;heg(|(smXNPyPKND-jdY*)(f&7cmG<*7N3MdU{K{YZ_l{92 z98CLn4dW^}*IZV?Yg0`XIyp&w8dc#&X-*#IOs;}2%*;kA^L}Jn^s5%4(kbn~6Po~K z70`A-cPzL`^Bl*N_Tol^&ZyouNMzS~!`rkMpPsnNjI_dBzxY|;hV#{Zm*Dy!stt-) zUUB{26qD<7+_4}d8p4_R;&EhJ7)t;lim{yMLDNvsWZJOdcNlftpe<>OKsA$XEVSCj zB!jxBCls%(yipW?0l49S%Z9yBM3_+X+Yn;~1hu^ds`z=dQCDLW$S)^*QJqa7->XJe zG?C-8#EJF&4&wR>Tg3d-m}qTvdieZ)F^!TDT^lPR&9ZPb=~cA+tUX%RGW?rHrht5y z5#EKx-xzU#0@TTW|F6E+=N0k(@7j?HMoBT7tWN+_!j7A)Dz9F9z`3 z>G;&@*g}JFeVYL-n1Xb?ow>fJiR8LEGsc~qA!f&7BxmM}-yZN{>=}e(R|?|BvVi;J z%A^a}2+jw=RF3RZj8Q+?$nMyNDIN|8jYZ=vVYL++q?1Pql9>&6sL)W-?BEeQQBii3yXqkPLPj3cJ ztTto+T2i$WbfPbY`l@VTH}Fe;uULE=f@`v zevaYE{UI7jn!eMB8z_5SYiRtyE&mWxk}qEKhSwAD+|%%B3XSuXR<>9jxEAj-parvv zclTwkA89DLP5`ceRb*!pZa5U~mkJO9!`!UBvpLP^|@GX>-H;`C0w-!;QM%f30lm zZ;taKtq(|Z&jMyYgFBAMk@E)k53qEvZeVQEhQ4f!kjC|r#`ZDG2&o(j!U;HyG! zDIEiLuAZUJRT+%2tT3g1Z@0E~w>&rTPV=UES zfNPE3l;y5wK^2HhE*Btzrc;)?UX>e+a+bO-hd}OTT^lD(Ev`JsiPKjh0MRy5PGj|5 zC1>E4Zb_MsI_N)Jb`3brql|h8$6@S`*D}d#1yr0y0P3ay@7C^G-&KLz!Xg?i{h1tf z)G^H2>T9GN?;I1PE!-u`y{gJ}L^+FmzQ$xP$w%=NMzjau={tDYfILya4|hIty(TAS zAzDwMLCSg>gZvp&t9vq2XX;9(T=xZGYN0Gwsh%u%56W4Xs%mA*j9y}?q#(7v8hnUb zuR4J4%r|DV67vv*%~Q#N4?(mRq4-vwZKF9{iVr!kiJXJxN!~e|X!6(VY+I+PkiTfp zzj658A#UK`82)X*zb`MLqY}&bcPala=HCVQT_nyL(fX~eA$%e_ZddbkUB0;cC@*-^#TF~!u+UF4)^3YL`8UY% z7F&+lQ-nWkUPz+B50;lO{;5qqGhej2lYDD{$bqf9u@9EzibN%p^PK!j7w=;J7d?i* zd_=H?I9|bbg|Y}Urt>o+Hs40x84`9(%R^3sJz$hAI%X6Ut5!oz*%Rb z9G&rdwL@;+v7CB@{`aOzpe2UAwUqvk@bnompCtBU-qim@)QmU%d#aB_U=Og<)>|SxsrnQIX2eVFG~dzjsPBUUH;!`CIN*|h@k<%MFJjL*ISU%*tnJ)ic3lzQ2aI2zbqppgX2&|Oo?@TXy< z^E`)gj2>N4Wt>wWK1b5%k&|>E#H=o&_iRJ$&0b#*LuRbhufy*;O!=U;ac!+4;uWO* zQD>T{wB)q; z!9qKKr$bj>Z33a=Z&ysy5DgW8|H8uX|KzPzfVN`?4)ul4PYU;aZBmE)i1|qoL5tzw zYPgjQD{KN{(xVD(DQ95@`Gi;j_x+S$ zZ_@R_iAi%VoTQyH^U9&1mK9bHLsC~trn9u3JgvY+L)%|WyEez!m9fA_*{Ds>>&kXu zIvt^tCznrLU9Kc7vGr-Wd-E0S`oTuIf5}wjJDj>JG3&JBD*0*wVo#w!dJ^`M*|Ml< z%IPC%s1XGXP4=lChK;FKUD}wO+sVf8)bcDm8b&2;rD%egU|8(iK7|B)Cd^Je&~y<_ zH1N&QxPk-`)e|;mB-+aG#DY+*Hnv&D$ z(G@kHbBe?a&SA;@_LP_8>PU)jB4l$eWEr|j+c{WQlRkj1rnEjT1sVPV3(_G|7p~{j zsFbYZhOTDZMG<^6SfJ0&2`tc`Y=*A(R)ilJK!mfd?!lu)pbvh)0$p^$sMwW7hsv;I zrW9oSxWkl+SHkXzNp%@U%a(9ba}L5+qb&M-<`_*;l~Q-;0cb9*j1`Gi%bAHAlE@zy ziRO~0YrqpOIi*spiO-=oPYdq}c%w>Q4@wef6JYimkeYgVWb9#j8J}^jf1PTX|AJKA z8xTK_>UHMqz%8PX#u3~iYAEr1+Mg@4BJnOIC0Q@aoENIeoF_PktGU`zuWD|E zX=f;=P2nyV1a}`3cY8*bFFH#M6BOSN1C%9v~{vLX)X16l^YLb zoLZKhh=FLsgW&CN;_a>QrVw6N)We)C5bZr=#Cnsl=N)F(jp$QSo~y7y9)92snc5S{ zJs9SC?)1RY-QU^Zx{JcTHQnU;V?0{8zDuH;26SH1t#ia9-3CGMOfd1(RCq>s@bvS> zbM9?ss|K;f&f=%3e$ssz=PGcJHLC=nrAWH3P7BQ6A4vv(r&vAn#rM5fx?fbGrcoe@ zDJk3GPCQ!Jbx1OF!eCXV=0L5V@T%*p@d^&HpOpK?mpod1RS>#Hm~Mbgs;>5?>XSEF zT3`HD2IlXMiI?opHQ^dj*(Busw;AleuOM$tWA=w~vOuh*q-6hXJX+ZAClQSWB3Ui^ zmP2J7a8yEKtQ7>~JtoE+g|WZHxItm;>cN=cjqw=fOW_31oB~F!^STmaoR;+s-jV#4 zO)=!>&F3$-8hlPySieeTK0i=ccTrOExfzcZKF3L{PKBXU5DYF8!wV5oqi1?RPVxp> zSAvWqkk+PESj?{4t8J~rJN<-|@O`q^$QJE`$$>d7Z_+WRf~4d39wuu);L*a`qX_N> zfxeER5qcG--m)6Uvo4d~BA$}cVAf^U;5gD?TM}J%d{V_9xJAu-Gjf?;=p!AO6lyLon# zk=1y#=*%z)(m^1tx?5wPpIa!~%j(RkH4~AUXT*$SrJ|p7(yVk-vslMiv&N;mQWi;d zua7aXVHh_*U< zM4`OpL+F;LtR1jRxV#o16<6SF)h9`Hs{Poii=DBvJHKI7=W0@L5h1pb7Q zX(IxT{WM{Ot3cH7;Hv12>m3~90y~?3Vq9^+l`j30BM7d|@kU!P>hHs@jH|oC^(rN$ zr+5aB7SVNvq!xUe3iE9}r3q(f`uA97Z?ZYuC@b%M=%-3k( zvT0dIkRnU6bYfsRx^FgkOH=p`q%dy_6~671l)Qb0M+@YoAftdWKnG>kv$@ts(%x% zcU##^M~~Q5y-;34{xF$kbc~Y);#Eqj`p2V1Mx7<1+kwd2!MwNB*TK}gpB;?yZeqN_ zqc<%bOj>?djjFi^c>{0cn{jvx3UT-cCtf(fhHp$;Q`slx(<1V!&Y2Q)bgf z^{K{Lc4uj*1Kk_MX*FScSIsgLdUpkVp$EFt13eVb*Dj@wMRjzQcoulNXtRLzA^U5* zx4{HX#T_Q-M>Vb?UvI~2!o7Q(!IwAg>rC8NDcm&(w=1d_CksTFhm_JJlTkX7CuWx8 zrZvWb_WhkK%7KJ(co3BD^06xNAm`W&=8NY67|FH@_nCai#w&@pdcwhsTM_ZHBeqS>mw{2wV`ayP zFBJG(bYpDQ7vFqajH5o^%cj#c2+>RE7!+HJ$CO;=C7Obmfk#VQX^hiYi=>tzf>gV| zLeK&%yox>`2o2-xcVvPg*buR7hcv!?&>S1k)zr&8yhdNahSpF{y>j3cOtPz6sCsc1 zy(mVhq44t9EQxDP%REMR;25Kh@W}~d82ScXAHmH2tn9?ox0%d7f=3Ip?Vm$(qdN`6 zN^_Jf!E=YY^gaW;w_@8(1e+Ct4ju$8y%FriNh~1v@mnC^X}E7LdOAW&f*=ra1_#e7 z1jV!&q+&bdDY@G$$5RB~&^`5CKBU@k;k zJvv;Ez!KwVE>$RY`;^*_Qn+I)T#rKmI^Mg|r@#scW@>n{9=#5hjT^U3dRWY{Tz3)IRSn9ARj(UFps6J>HsMl4FzQJKGGT#J;EcRE9(_jgdyp(zR9IR>IW z(?#o1)QYk7ByEwk8Iu@i-)OY6x60^-mwYiXfvSQxpWK5-OFOIj6t{xL$KdaAA>JTu zb-$RlKrk*DKm8Carb^ZxB6wRy3CN2g=%#wET?vNK{Udse+8F@NfsE zK+;A1dm7X2+D?HEpQ?N z6HtmOD(CK?(%2tsNW-a6Z|z`8<6}Hpq;Z!-Jq=(*YYek@h!*raYSD_=rXd%aH4O>& z?}QsXdB(F*mcDyFu4%|Gt(u0UwP_midi$m!cXwzSGUS$~ArH1}8nXE|??2wGapmWV z1g=QniUh7m;EDvUNZ^VD{sR)A=$N=h^Oi*zXivGvG2EH^zO%IAlp(3EYA?K9TxP?- zYr&kgeVT^Y!?u-ujS#r*AL`QHhkW;>`tsk(4duU~m`tGegAvt-{=E)yr0Cx_5PXgP z-E%b#WxkC#Uu|+Xj#@MxASdH*7XIeqZz2Ak#NRUfy^6ofWz}~-Y9cm)A)Z|>O~@dg zT|9Q)aXh;^Jo{C?U4w=4JWDoBui(;~RK(84l>yPI6ezTN$2O;(XL=`UPi%2+38yI;bMH9ACz&!Q4#P&-|!p1WN$LY}(b>KY3MJy6~kz7YWDRC+Un@Vx+K;?aeyd*gg zKOl1oRL=9rF}9l#jVY2wI*Y8=$|R1T_^r4sry|0M+yeR#$-^UyJD56}O`EBx>rK$i zo5d2vA3Ae92+$HvY0jSbH`NvMA&3l7_nYe}IK|sGT(3>2_WVH16;ntK=b3A@d4;HE zEo(1+IT&9uKOo2+g=%%43D>flQ?)}6nh`_)-oEa`K@MH{ z_A<^X5Pdz^AMnBca}M!d(#LtGfuqKpGe2W5cm{&0N-2~yx9O3o`sj$%*dOe97Z8DQ z^TjlX#7R4jlU!Xx_3+G`im3=5AC1k_&Q0N{t~f0-7dupWCpEQo+DSb^fE)z9Wn(aB z6B!BXPHO+EUCyVhNP+t)(JqShR^axM?x*!Z$$_LZLLJj`MZK@2(+dDpOPg?krL&uJ zus?=CbHg1VGi+yN!>x}DyNs~^xV%8Hr^*SX99MrZRU{siS^Dc^p*=<7`x^kwyc;c1 zxaO09-9N)1UaoDuQtq!yz}FweNq@A9+BEEt&G1LjWSI2wuhcgDQ7*SHI$mkhCq>(0 zCm|}~#c-UA&_5RyF@fq7wNb5F)>_Qd;ieQsV}qA)if}FKK7eux1RRY3l3OU=sH2l* zKRXt;MR7gDM9la@Hq!iNRy|G^M;Xb{}+Q*^Dk7;LJ4+vE~B=DxmmsZpgx$1JdZ4Ce#TE zYM2ky6%y)MhzLx)a-3$5kAe^I0A45@OxXs#kZwKi=@0&cx`vD*R9k$>>+m^@+`Gz4yy*k2w}kd0ph2!_-;i3J!WHg`yG8V7GmWp9fh6O6-mxE?H&ZuiJ{q=G`ZpsDs@++fl->sP6*^(1}Wlpm?$ zL*IK&<~9`cvBR7ip(;e1y9^D^dS8gAKJ2Sl+cK(@ZA3ME?{=W1zpR$kHe@wM(Xy}! z%jy&-3&cZ6TD78yq-8QRLhTIjY%}Xb+g)%t*SgoNleyhRUil3HSG^vWu%qwl%neQ0 z;xC>mCP^bsO7WbFVUiYcvOxTZq?M$_nJk`fU>;1l%!O|xxp?H!;XQ1%O^)fL1oEBx zE)?+>i0f)YAh#>*GbQ$i754Ey*lS7b_W(P1>-ij?Fo~0n?p!MEa1{^~%*Yh z4F7c>dF6}0F9GUbV0>$w&u(V)Cyt_S(VytAss2P(%yNG713DDwcSJ)YFtWmf*p3~I zG}JkZH~KJIYmH7gsAWBgBpK*u9)nKii(7ioh*RyyohRQl=XZ$XU>SwNzN70|gA|`e zq0cGBzb~461b1eK)1xcuCC(`ly*P(=?j*~cM?a9=+;&KMdaQBc&`fR}{f)aZx=VOD zh2$FPIK3|!zg9Qe-;;`rV+{eq9AU+Y`4Xhh1;Mt%vYD_9|I-%)`&9iU>NC4qfclg@ zCNcj_&wdb_93EuQtBk~i6OLKhnzW8$ik;^T{6)1j(x|aFm3>*$z^t*i=n?Y ze3E7ds47n2<`WDedZ7cJuLcna$9N+Y1pUQmTyLV+!Wg1JoGpgH(i7?N7d#@cjF$B} z86?_Y_&hx%Y>_4^rOh@R`Qt0g5&Pi-%uwnD*g|dXLl>OHj zbyD&W2bmBv)^m;Crh>J%+Rn*1hGa~#!MqiSr%hm!6|jdrz*@J-#U-&`*y)>5<~Q3< zNC!T^{Dv-Gh!f}Ov=gp|Ss*Pn+;#4L%rv>4jUnT1*M~&g^#_{S^>0RO6gPMOZ#n8q z)c5ZZf$DowqB2Rpz#fbq`jS3lDBIVJwo>3uE9zWt36B-^yOCmdy zwm6ZAx56N?Y9^Sz3QSpDZ!oV&Fg|VVo_#??8(i}*FNf{7>n%(?@w_v;5E#F7!!Jk5 zasDS2mE5v-v7e=8(&jX7X6%H&Wc<C$#Zw2W_6NBex&g&A)I72 z@jO!eQP~jh13yUdeqYCsi+eouNmdYcrik9JVAq@@CJ}$}_~Yv#xdtdG0}!Xiq|y`b zz~>=JBAw1F5R-u#c-weY%1FwYW+HE?kdN^oKS|ae`&h7ZyRDRB8(d7 z{gsqvyQ_^FaQFAp*ymrQO`TE;&tn=B;4olw_*iOjs-gk$W(Dz^C=(*Z5QSxV_*NYL z-t6#JVm9(0nqN0pU%%q{dNViLUT|gI;L429@nMK;jtoRO0tCaA-LwY;A}ZIt@MqcB zutg0db_DG_c6ju(+=pIzx_V;(J!PsInpA};sx*_T5|8Wga#tl43^}~^rIhTUT812? zshu+kX)o84vO8d3M10!izvXx?Q>QPXkNrb^^pWG$u|95?OPW(enghpzYs5^UiI2(~ z5<7B4N^C_gKcK|TO4PGo=$86f7ZLa?b^ zti}O7y;yeTk0vm=*jLxXhuSJ8@aGlqb2U)b6}5|#1>#2}t=-SX64(2{l0?(TjH^50 zf?+QbuA$5ZY&+dgVwKAa;f7p>9hP!=)Ccs<47y~9>`~pYiuJgMn#BAnmye36H5d*`9&X_SoGtjh*W1jLrQvyh^l~ zBlN6?qjqJ`wJ^Qv{M3XzEo(jMJ6Z3-SG_c&3-hK7Vl?dEaMT=%!_%%i#rvUD+cb)= zcwE-@OOZiB0>1n^E8M(1Dpw??qnu|9l`a~Mw}u4NGMCWAtPJ1`5-xElVL1wmo-mN^ zk@Oh{a9@lkgfq88e$vkF6kB%yCk+{PijVOaaI66XJse+RtYI4HonoQqLnnW@i$@s) z&`}%ZoJA7vL47tFf@u7XYayKbaXldNE*6m^(mKUI17(qzc-HIBPt^z1LE!M{wAc-} zgge}hC_mcV@9=G^-T(}Aj!f!M->KY>m+;%;yo#KYAN-9J{`H#Cirr}pfP(CGhYD=- zEXOQns%ijoQe=nvnSlTw2{8coR)BY2Wdf%AEI=bPhgRN+z~~e`+=;awys9E!B}FIe zZ8KBCPOO)vgFGMxb#!GGA~QH2WqZOiJ!48SZ+*g9%KNUjJWw7tUzQa4>sb$zB27`0 zKos$!^w6Vd;I62vIHN#ZhYTbes$@+h)!KO*S@1cXrXmW&nQA6a(cnpS2ysFXdsyIk zJM$P1r<^|Kq__J|CmmW{#;pR#jvbTof7Jt$*2EFmbPxXVXJ>}_<>;^Fm*YHNJ{Is3 zyZOn5qwC+MsVDB+!siw`FOMYl6RO+319ANL+rAB}~I>}Hd;b(?-O?w!7G--UHxM?_(Rzs#%_NB-;S{CgK zQpCQpjYqMwWPv3zHBqKkVcG!)>?F^xAc4-;c;YIqZ4j3?+h*b zKFa29R-u^6gWinBUZNWNgzVlGirYC`%W98LycU|cUOqi*a8N_YdU+?po9uq0xH8UM zOBi>Gm^MLV;V>bsRl|vCiha1|3>_;&s7EN3p<~lAf-!XL z#nwS6`1Opz%Yat6ByA-f)3UF|U|Ff9dJ}HG={nn@YaNh4NV2SpSaBs8=e7#MVWi37 z0@ZI0@o@Ni1#b?YxtnF2h<%y_bZju7>q`x>m8o9-n}DP$Zn+Q8t`ca;H72)RidZ;C z#l4Mfk(P?PF`a``v2k$61!1d$Nx=n0L30lU4SXorbQiOAA5mbfxCa;eSKO*zOpG!P zZ}O&!3}qaeVZ=ek!BTPaH_M6}hUHyZag)`X9_Aa@EK9}BMuI9XMMeIr7>vV#e;6|U z{E$@5ZskoGcfzApHILoN9L}Q{sHnJAHw6(}s0p-!65FrgCeZKkXa(w$KwC3VZgGP* zd0F+x7kO3OjmKPb6+I?R;oBY3pRwcQk z&)HQ}_`jVu1|jBJlbG8TG1WZ8g!&Nk`bZ`wjdAW2Q-cA`|IOfV#{tRV+EA0jxAAD@ zu&)GKTH9n~NGjKk(d7F|7i`$-BJ|P?TYb7k5VpFS6uhxcQqbN*L97o2yGJlvlZgUr zlb^fLUvoagA~mo_%lcls+p0P3m@+TTc_PoMIrC)7(3}^hc{Jwd&mAwy}-@vA+WQ;cWQoZS?k59Z;q*dQYQ z=2wH5hQ*SY&qGXN^6_XTX1pY(Cga>GZVd)>p$T-c;&7G+=mS1L>q?-X;sk(VD_cv3v5Y$r1y;>TUEr@d)AE@% zr8(dBWzv+*8D*DV-ePlxd}h_0G?_9q=iaFv%^8AcLvy}s9)zp*CymNlwO4X=y@#u7 ze7MRR%3O`YR!=X@c{NFDP8u?lz~89l(VS&?Ce2xbNPeU_w+AC;#R-F$Zxu05T{K0! z5RX<7x0S>kz{w5*8XgR2KNINEFC>S_9-tk3fPOWEIm}|9>;n$-T26+h`0C2tMMtDc zZmfA2o4BGK?5^fC3nJv*zZiTCQ+(xJF!@@IM=M`LB?;w-1gq*)e^~8OO-DpP;L@lc--eF5a(%Mm|6PxRal^8`3#+J`8M*s2JRZL20z&moT zI*N~6QSQ&Fc@>Fo&w?;>drqRzG4Z>|rawU!O;-({>*U>uBayjo7NzPfmNS>N=9Cv=TEZWW{JDFXpsn&ceUIl8+BbP8j|JIzy zlmu?giHGr#D=J~PY|XWaE=z0vq@Q$`m!Yd>Ih!lFmWj=)qCvJXf3-y0m=tvFiyyUEepc(iiVSHdpECF)+y zBO((UX@EAIm( z*7LZ)oq#qC26T!Ew6ChHdkLs3DvOf^Vvq+%nh%asy_vJ6z`+{RjQlkT6b?H%CPuaH znlKZF#w>4ONYqPXe*M>VY~W2a2c_T$mY*-VM`I$(u7n;G)dvU|d^L8h40q4@=? zJ*+*OD?E-Wo#^A>z%68jJJ39h3NL4p=TqUmO#7L$TOIu}{f2 z(}QA)4~lCgiVZjwPMY&m{UCJTVglW!fZj+zT~XaRiTz(595sD#eAJ6YG#ohoL~{C!RC$Iq>kjBFxgynq_F_I0=%o6vXhmZWfipSXDO&4)Nyz)JnwvMi0G`svkbtYj_bD*R|Vn`O3KNG zEFZKtNVG**C-!bk(tc)v_TglKxRsJp zpl$GIRlx&T8AD%!uAa|2q-8GyC5X*tP|2L^|HMiqzgo4LJIJ7tll3iB-do2Iy$_XZ zzA~u%oa;GXy!I1QSyfTFl#-H47apxtwvkj8V-ac2teBAUT2eP8!K_ZLQ_FvZ7H=3MhjF^b>;Rv4D=#L;MVEA&wxO+>0dfvE=F?^7{UW z!N(9~>GqeHeC)uZwE`#ESzfil2ciK^Vp(O}g@4+GI4a_w_91da+dLSy2Tg3l6t??3 z*oOOH3zyhdKtRM|WoCt?cQFKWb)`yTP431GqVFQba`}d`jMiJ3vx*bWX<0iEvX2C@ zFe->3zNAqEH@{r7z?diFcSS@eH*44>LGWW%(kA=78bzqYfQhK!$$*ms#tLyl!N4f!IwX~@+1@~$T=bjhu) zi2jWr2X@2(4|V3A=NNf!wkBeQ3^2DQ*1=j;$QA<6!R`yhX);GJjgFW|YRJ)uZ5ENH z=kpQ%gJ`v4@JgIG&~t6;TDRf>XO8W*;DI=WYp6u zFX~{cKNCDAMwV0{vFIU`<8a&c+`vZq-~Ar`>5k9PW(@!6_98Qfhz9_hdIOp&!;); z_^09d^7Fr*{uBGZ#dZ1qynn+W_MbMBO8bvX70I7FLN96m*Zo!dAN_aj|BSzF|M8`- z{eR5g{(r~zpMHJy@;{X}>_4XH8O5da6TNWiCYue&H*L)$fPU$%NvdZnVc2}rIkQ8T^UUXoi!2Rcc5MJ>1GkBw?{n#<%tDnIsVeSoAGiz=Dju_cf4JqEzu11VI4JJl=nuy~_;=gS#i@Sn zr_Un4_LKY#wVzw*_dnHMeBmbcr2~C*n9up+RL?L+FR$lWtMep|iKpr(Q}l==Jugp0 z;Oe8?ByDw`{j(;Gugg0A?5_p(Hd}3VI`ABVberlUMmA2)H zIx5$uKfDM_i1x^#EZ44w=i0)yrMl|x#1;X(Ts#_iX?m^v)Py}5sw8)?MLN($3n}@^rf;yhY<1ckvL$S=X( z@Xub8G+Ue9l(qvmNK?5s{gGWnP~+{X`aB9-5QMZPuPf5DhRHbMc$xI2ATV^ohEy#j z4+pn7oRlqM_JinzHFiE&zdUup?C65o^xa^Q-aCXXVV9$Vb6WlKv$%Z1E-lLmQKR>3 z*LP7L4%a`ST5Py@YFkD-tzi}fhZVsG>%W2Rr2zo`ANIZkKB^-5KM4s0h)htTTuRUY zK|muQR{#@8U;>GRQxs8d!INVq9CC$8fbg6Z4-k;Wb5XoSg>a||;Rpm00p(OVygJ4M z5HSHI|8G_Ido%N9CNb=;``iDLd}ijo*RQLptE;QKtE;QONdmwt(r0kGDU3t{pp zbEEWWjn}A5G!O(}eISTT`N%Y#(=C4sqPnISS-%1mwd`*7O)Yya5-`t=cwcYXJ$j;L z$7^-OunR`h_A$x5^SvrH>O%20M<%LrqaG_p+b^wAHxn(9)6^->dJK))v2_|PNg=e( zuskvG7`5s9>D%1){(rnT?+*^32oLE$1Yj+gw97<2eorbr&_bGhsI*MxDH0S7;ZhD` zfAHikyghjSEy(RC4Ye$|3$G(~RK$0>D@~zjR7Szq;Javq3>iF^93&ph(N`SflzZ>p zg~k$Ne_ZNIj45+PX)9iNy$CTjmV(d8#mKAY5EzPdh3IN-C`6b6KU%^6eUAswmn6_N z1eD#kD74D3yAa)W2YGoHijk$hDPQ}sPI+|&`9(lhi=)qYBIz!X(9U9t+7(Imw-J~u z)uWuaj-;So9L9^2V471ejkjvOM$kE^1!86nnxfU2Jq?4WWbL*T?Y>ZQD~n9gw(`M+ zMPeZQG*~(H4o&({pCKn{dnlZqqb$%e?*i4DoFpe@-4U9URWFJRK10dqhk;Na*`Ok= zvAZlwwv;0bwu=a7$l7-+p>%|c(tX(70!o)H1f^Cj)~ZdFl=3_tYu5$h$>*szg`Vn( zApIiA@kij~!Auxt?pgitsZ#-69HgHG5O%7K3uV8|5}Ll1B-ed`8I%6wS7MT#fk46_ z>5BbyGZi=gf3#+reTK&m@tl;xh7!jHUn}BA54B>B>fAs=W7Rq)YiXg$+O8CeiOAtC zBRd!(W8I*OjFOkh@k&;#SwkQzS6j8dJe;jZk`h~>gv78N6IQknYlIa;-1vLQ<}$J_ zI39wi$d|(LKV3d4YTo5*xr)RCTmNAu`uCJCJsjn0_UxsW&$qoCN6nz#Hl(7xils|X z1h$uF9<`%)$5_48nuYj4(=di0!+Zrcd4KkJclaIt8TihS{%?|E2-4z1vwDD_Eyi4p z>KiIS?$2gx~`-*1GuFUpUr+{Q)Nlz@{8f{4VxVd8s6; zGd|Q^O1$pfjRhp%|LS|k57EhJO4e*$7bmr%naAWSlAOUM-?~KH#5wWR!m_}fy_q2;t^?m4zmP7s)U{oRQ zcMf*HN6(cN?m%|#@| z?zCNz5F6ikW({jrEfTS0`QxQz+#dWT@D=e5-A~F{Ke7ZHBaeEEvc3k7kwyPhn#r zMM%5$u`aZaBBPphZ;Jr!F-L3sSgRG3pCF?}p%^_x4`5LwE_}yU29Hgjsq|9cw{YW(7rmw9KKi1>{qbf4_xreX$9IDT;q#G9e)V#F%Yg$ z2yb^G>}f(++<*%kZQg0Q3P(W5&EAirmSmB4!@~u}A+_1NV>lV6Y*S>^rsDRl=o??) zn)Z6{g+~HWItFo#%pnK3THb$CXU#N4>C2l8)-1=RJ8N!}l+IQ_E&hPsYXCj^g5-BU z7tjO~(C_PW@mm6@YQvHxgH{tH!-qMT;a9003ES!r$1NGhP$TNm=do~{{@M?*@dmL= z6tTCsh;42ncK0>Ro!U$+j32O;L(3G3ba-qe#2&X~{LEVoi^M#C==Qy?^Jca}w`GID zoAtPK=gn}5Zlwa+#vjmG2GA#-mo@y53+N~l&`=4qH-O3-ZacuehC6)Ys^QIF`C(d^ zfzbM#MEHBQQHs;JbT7p-6jME~_<(sUVR9nOp{4c)@!4*i?8px-8LR1SG?mW&NXU9k zXXGqZ=IJgH9yXCsPm(YYKxLV`bHqHm(jq;+c9l8*q@Oa^HxLe5CCeP@Liope&oaLh z!DT*)-G3fZJruDjVoNOKuZcV5XQ3I$NvlzvHJW~-+3+i_P@n&l7S zp4ECOYCbCwe)zsoinX|Omz1Fr;WK1|ci#zrMLcy7!b3*N;<(dD%>2=kaV2G-IQEFh zdQtB-__hUi+m?(|5E%7FY#Ud%aWk&bZD31jk=Xd9AD-1Rim*=c?EHHy@IUiyfheI{ zDHO+X>0YAwb(w|RfIczvYfHw}Ob73=%lt#9ly7Hoe`m=!3prIC+!L)`lxE^ur!?Fj zr6c~KGdoOCnkp$xRFuZMDD7aP^z(40w2_OzFY^h#;@V!^(72|I$tx0%ec^{&pTDfr zaD1h#@ZD<-_T=KyojvzSq^lLsj{blyFo0fAQZ&^C^g$EQD;a1BHa{aM(dT~1yw!lX zMnP=mg4oamF~>r@Q9BcJKrA^pr#~zWl73D*9JhGkwiW^RZEq29a7T-P4Le%|yt%7I zz+(k10!sI^0Ej^P3knLVhQHvD>c$@)8Gqvz_uAbeK>yr^>*mONv)f0%*MAQJew8ON zmor@E!2c)*%=7nD>A&y}v>^E}80THGLxUDFcBNA;+GIYDCTz^#@0auU%6t>O}VlJK|`Yr@Ku5wpBX)>CZ^|KX`*X(UV-90qVoglmMmWbD5k@Poa#fjw4X?pu+m@$@&C?1~d5kviv_bS2=$X)Ycio9j7 zGjq0$Azl@TEV`A!@CP5Gaxk~QJu<1)?KoznEI2u~Y>Hj?r%Tax zsOd*m2Wl>K7{DwN{ZFV-Zux~tR!w6Q+(oHr3^$s_C)Y~}$lOgNaBIo}*4Q2PxTJCb z?gga1_-vEp*wV>Qv0uvbc$J11*N>CK3)VdHlvsDa6l!dtpHf{P@-X>vV;joh9Laz> zMpcV-4a<|AnTDx0-4a1X;wG8WY9z6Jf>M#H*VJ({K64rFYqxRY4 z_Ab|3$E}PoU*x_*CFkkmI$XN9j=Lqo^AwZceeP4YJ;|NN)aPP5AJgMvJY*FQ%YbgH z`i!5I#vYT=jt(I@wNFB$4MHDOJge^_^a>N9?*%hw`h!qJqEaz%XZZuYXPM4}{tEPm zs|_Bk#ictBhDy-q5NQsxCEH9j4;prgm~DFq>emK)AXi6kerCzcSJ4E2$C(K}%a&{q z5T^*}>LTD469ES)z*W?AJE@qghhz>rYEJ4eTQQ%Rn2~mOZQUElRzT@RMM{f z>@G?fc9$r1@P}}|f$;m`5@DJP;R7awbtS^LFPKDW`z>Cg^d26u)L_7(OU-lq%#fNF zao~ba&YoGSS8azUBuyt@Hkfb_m+nlMMKRX%iW`9@_o|)ylXulV$j=asN5!gd>W_d) z1_5Ig0V7=m3^5V#JB35fD_)_1?#8j+K1cQ$sA2tO?|Rc*=5kUfh zE7n};qO^vI(l^UNQC@Lh1$34_pnIOui+}oWviKjqU=)8XF5QbiR02JRQ2X%RiuUEq*DNv8Xa z=drw!^kO=yrULlsm86d}(#^p>KqlzhE7Seb_b$>aiWhRYlKdMg$zN0EH+wQl9)iB& zO?vr#&~NzXiPbAfEz;ITcNaca`us}L$5oQv%V&DK9PC`E*Q#<>E2IC<1mAF)4d6KOwGo3HMNe@jH#x`(iU(H)5h{}IU^x{(|XBu2EY zgU!6WO9IpS@4u$bVGsovK%|bFXv;z*2ihHjEWIB`bH#IautQ+# zusj)ngCCwS9*U!w7`tS;Dp#)ZXZ@-2pOoeQz<>F#a4$cHslAl)-{x6<_`yJMOyxHo zildm+R;ARgcm4Zs-?h+S$oNX*!9<+6-!mSJ6|w;O?*c4%lo0tFg066nlH5E=r#)C<~^c(wM>D$HefA5w5`dl=> z3iX+I%y)gh3Bi|ZzI|%R`W&;RviiISPH9z&@AE!~xV?n>9N+a)>+>e$H2LGt!(o@E z`m|v-y;wX<-~ZlPbU|0~07CTmFY5kRci!?_XLG+_qTf^hPj!a=*&K?5->3dx zrpx}-{1VcaSCU>#dtobppI%A&X_@X9e}hW!PpAlfRpX!htKT<|8vfVrjsCUvJVX6d zFuvGxg!|X4-}2kP?hA42Ul(yS-b?6TyLa;FUzftk#;bo#Hy(;dF*$a%$*NrW*T?7Q z8VsqtfBoRFZ+(32J7|0CgR?PM>f=v0SEi2(ZB^9AQAgz{uFCP&4t2OxeY^@eP5Sr@ zd~;0t`0M9MAAd>TRjHGI=3S+4?O1taFzUV;yz%({pKagJf)&Pd!4k@j_+YG1%pr{% zAC?u5&8E3K;_K6+9r2Cn$9;@%v_EaOA#QO9WP*q$9Lr=8jnnkeeZPa;`j%nSouASD zpdh!_7k2m(NB24HJz8J=WFM`sn(jKY<)vE7_HB5e3#oNRk8iOeDD(6-_UlK+WxLXPE-4vjKd^N?QhKAsr}tU-~UXT zs!CoJ-v!&8+=5tYA#XnFUYW%RynyH~@d#nbYm&nYi1bo<^By~lTasySRsYbrGZ3RB zio%dkNRa^?CT@#WyON&UL^6W0)QERXqaY>7fLlw(Y^;7J`wUVN1Dobw5uXGOfqHzB zzwb9mX1bhrjWzbozIYMmT2XwGP3sKN^s#An1Dw68Fi77cET3JHP>vRPF_$KkH;63c zGzsMwy;*fk)T5K^TR{@Jo4%_eRe#;Pygv#diXgybb@_FgA-8c5S41Vk8nw1RNh=n$ z$=97$u(7j9JeyAv9F9Oi$y$%lc;0K*($XX@fQ55b^%Rb9hHxXY=wZxN*e@pTY< zhvMt(qL>vKfe>A*hR6{t`pMcBcvSb{_&V)$e}H(z%8>zfbdWg)$ge0iQBCy%LCwVj zOXlk&a#}7$+PQHt;_v98cBnC7-<;lBuMC=}f_Xr}*rtfaPUU zI(7k~CQV8>qGI1Abvn&N-<#Z}hb>6YB@$Qfj+#hgKZLi*6HhL?^seTTgowJ2&}`I8 zK*r9Ec?q9}-e&K2vM4p!P zp+Egs-g)2a&-LHHDo{@TWQc#G`;SHH@oxl+R!FlnCC_qyToN|Lkw_O?*7xZma&S5x z`Hy^zVrm28tXQk+pFp*Fi1q|e9OszUex1~w?>!&xN=VOfIh4YX7QPS_*b zVG$nd&8X>tiDiRxM-Z!7eiKDL}vA^pX4a5H61A;cXL~K)%mY-|i2f-IFiF}jD9n5j4PL}o z%Z;zrBa9O(LTeozAKY%AqqO?emdVbLRe^`FMEls>g%?`{Bvs2VKe3ToK6XNL)2Cm| zE9idlBY0yfK6BKEuJvaX;?uTLZDVj0_o{50LlG>9_O4QRV2(spC|<#SDQbvZsfb|| zZOzJ%VZfasqiGK%_NGK*YfTIVI6@+YV$ynYl%*nZ^;Ap&w0u&?(PBP)JJd@Cgb9^F z_%zK8!jN~4mZx8A3qDvD%*S{7#armwaSy&7+rM*M9AH@x3&m(1y&ZaScmQt~4Qd?} zO{?_fVW=nB!IXdF#tt1nkGB zc0hE%&-g9DZ)=h!e8%827oQe*))Sw5@p%-VXYhFspCWudMS4JZV0a~eL4MP#1qX+O z(5HHh8lg37)vg_OMIDP}G0{Mum8OqQ7txlD58>B8L~BJl;eRR3k^5$PnSjVnZE78z z3ysn0_k*;-JgBr9Ym8I);c*lOQ5Z@sF2?;2_+Si$O!5y`xTEbW{6!c4<$qKzE`qXB z{p%#ck^5?T*>Ql^`Mv49r1)kgrPiFJiGHca0~1 zhm}eG=2vI_=HSPjzZ-DB8K2Ai{c{!IC>u8ODo5Epvuiuk3#iL0tv0oq)D1oXIMa*x zt=eg|qGDmEQcS;tw+jvf@20viM0*r zk1OaGrg=htfuWc50_QqU4D|(L$Nf5mnu4+31Y@{_5#%{%y!KX)fGv?2xJLhT0bBfw z2B*Lt?ql};2}!9Ia^E-~wZl{Q&mcoIV>nC<*5ZO4r9o*4j?!S;Z3s8yF#|6UnwVCXBSCyEnlp2B<(qa5q!lul5liPqbK-H;1n{8#G}tz^#hfRf@+&_tsA44?S8u~+v>?i2@X(;X448_+>gB##LYc; zn9zAlR43alpxZ4XNr9MP0Q)dQ0=v@%EDQM%aU#Nf4E9eg$Phh0 zI!Z6Y@u*`M9TrH`(F3oRPvBw5Sj^7w8vNnp0n z+lZ$=3L2?bY~gI#M9w^HG?DM<(iyRpQwqc(+`4wQq>9E9h*hu* zz0%9TXlj*@kI+#LQz+-SP}(HQ=?djo6Uy2WX1j(M%;f=hgTW6 z`zaMw&4gi10T*iOrKm;+Y6h(ZHGt8)2i|Az)yv#(qGYr7kS8;5k$B5VBO(?htJ;Cb z4}+gqVFMJix9(DCg4penz2AMSSEz}-F$Sv7XGv6%K&6yk1YJ5Kf)snJn}~R07Z;w! zdnkuvW>o8HUPbxj9=#|p&ynzR9`r2AI0>aapa4YIK$<*waKmYUNLL_cnLykiL7avX zH59WriZd5$SWcYOv6!^L zjRu-?(# zy8tQ;D*623_WC%pD?Lh}A-Ni7ChOzO80-fZ9Z)oAQXk{4+YMYn56H50ci}3eUJ*me zIGc~0^^Ba;9+f$RT{)kooajqq9OWZz4YOmRzQ)Ct+QNBrI!1d(q%yuwRfA(OY2zJS z4R=9Ae2ze0x>ILMKgE`(?lWq8Azi}nfm1O5!>y|An$)ExN40mxm#={pqTG_X6aA5+ zEXb0P!(AWJp(l7yxa}9Wt}lCzzrkt)gOcHjlA11j%K?-It1%F%FHsiMxGLqzV~9bh zol1x;O&jW|2uas&9jX`4s(`*fj&vb+SD!*fqj>kI;;rBmCV3-LR7smqxynb_CS}tg zocMj8F@Plu-<@&k{A+LKG3-?me7%`GhP7mjLq>1XS{kHnQ=~Nj0SYUf>w|Nxu|nJ{ zlA@32mIhnVq%8AkLSk8;6lc|{Cur>#Dkl8a%0R%WWI}(#CAL5vpZd>SWl&W6!9W_%F(bpn9<2v?{KSQ zPW|x7u#MiP`t)IakmigSqFQs?v3fD(!2Hk_IEK-NG@J=?KHM^IJyBT>7o}vhN4PVk zpXadk4SXCQZCOAsi;!A}%8TdXDt-eN(YdoiPOiz^P|O$Z_vZfVLv+EIqqzU<7@e$= zo4ntD)Of#%djA3AeOZjUD2B)U;y`4@eWTcjiSBL@_tc?FbYri2$8$NypW;A;{j=FV zvm@2%)jwm_GowqpavWr&tTRySvQ<$>YJ81A6xQaCc?D@XmP>{A1E z(cL^r_7TTN8Y=rUx^zaYnpjE3gRe6V)rrG%1hN*P(wj`?;g*B-YKD7189ah>``!(0@TPpWDZ>Y zd5Cd5ZHza)BMl7SJR$|9KQM3*A=v3+c!+U>zscSWCYYdf5xiDd0$vR0;Dap3fLIT z)f$|yg#~rKqW|0{0xXXog%eo3WxXw`OOjSEDg~VsoJ!9mCTv|18ANpAH^QtSas##|su(RRD$eXy_=iMA=a zY&O4LHka#%xeH^Q$j|1M&=~aCa9*St!0BWiz&9xpz=^v&0W6RJj^eN*ZAY%C{@W+< zHzbC?8t4n!O9r&>6tt&I&^k+KPC%nTj1GcYB7&HJ^sqNF@l?!aT^CGX&# z%9?VXv@JsAnaj|Iv10M1Cq~PU%F%Ko>A5G`+=lWwBeI#CA`uL7a9gHsf4viBHNxY? ziD%dI;CV?tP;xwn_B?cU5($+KodQDo^`koS1_r&E%68zvL&UQ2&9Jj5EXs>^SI&{?td!b?mFxT&&`C3o6aC?2Z8& zeVo{{j;p>YXi3t-qO^L;32lQWhsw+I==@>C%WldeBp=WZ(<}pC>sYT;(02~?g#L(x zo>vEg?wA!^EzJj%rwk}96cmREN=pf47NCGp;6!$3G$t?rbKg8%C8F@d9T)Gl4ILMI z$~G`DWPP{;Xwn{M1|^Z zpaS`86!|G8%)h+Pn5wtn}^M?%uEC`U|w43>YI$y4l73`OYCboD5N$=V~@?xlgs zDLuz$g+~}R?jz~-ZSp=cAr=OE+gR^TvRNMH1o;*&dwMe{lZc`a_;X&)+~y#Z)wR-u**r>t|9CA+!KCmZ1JQDqoq zf)^^`-3@qD=P=VOE6)Q`(3RECY z;nuwbOW$RFe2?uAgy+NUxXl+acCzHyy8*gB{fHx>cqdV3PaxYZwJ6xy; z5V3(wZ>XDaOGYfsM@V`5>R=8e=p{R%s($+b0CDSJ9+W_HU=`8|sCLlW>MbO$ykFnF za#ml*t2aKh(_{n3M+(O%;6O8}-AR^dpb2H!+gy$mpv0lpV(uOfX5LUxAv1#wY>O4P zv;7Tb){A0h&QFqvk03>7X4ws%%(O`&@?joJ!lA-*r?m>OWPXoEnxxf$IWT@TEBlN? zc;f8!Jo9@T4{gXmXj#8~T&rApzX|s|)amFs)ERXeOz<_->Cuzw#P?9AM+c-iBYtFQ zKtE3fa2wlv{Fdj~#xidZVifus-&p3|N-1lQm-(T`C>|{r${vbl^8!g1U!%<-%6vK0cEd((#8a3|C z*vVkfz83K=Vrzjl9Qat&QDWM#O zK};WZe0r5@5Iy%9e}m|!4bVds=nNC+8zt!303DZ6ZprEeCSi2cJitB}LK73|494JacOlv_3@O|~Kx&bt{hudDSZ$ZnnPZ?AG0`vS7w z=_Y8w=ygA(TD|_9TySbF5!bXhB5~!oILeZ-2IZ!PX32OCSD@!H`yo<*8>o$nIk-W& zH;f|gOy(OO+}YBVxPxOrBfeCve{CPd9qhTJOZcmC84ATRPC*$8g;S<<;5>z5Hf~i& z{wcWBR=MV^4Y+hA6PaoKk@Y(p)8);yj!X(M?R7;;3msvBXiQ+;n6~8=Vp>T9IfM*e zrnq(XEbB=2Sa*Jcl2atc2diTskiM17L9S^1!?1IHDCXC@#Q^%o;oB1)ej-4uco&O- z-G<{5i?(4u!G2RG7jyg&E1uw;M0)4sh9l+0r{Ex3MLX5y*DrJ6G6ybm;IHODh5Kh( zv~$Y!SsDF8?QR+nCuaPO^fayg;W%vfoi5^UG%w)+*4le$Zj~=)C%9|p7!ifobI{Ji z^aag>;usE5kV~1}*V9^^*M=#Y2kj%^GX`IkW*@! z4}hHvfEjm5fYBy^h0ifF1_6p(=3BE=&dX`M1GrsbW4{%bJOOW~{BqbH_tgpF(kbs! zHF1P}Y|SigE{OvTT~u?p+C;u`-G!JAEs)D-Jc(0@L!pT6_Kb@kxJ{Ay((BrC2G%!r>{BFtmvA zroBcN+UPC(IOl*H)uey?gwN4vY%`$UnB(Cg4F zZ=>y_oo`xC??a6QnRbd!6we!=k`<`MCQuzDs4*T&>Ze^UCDr#`rKB2pLGNKeZ?2%X zH9L1&inul_i!>jl{Uf~_`L@3uhb$+ zKLA%2??>vekyftXVgx{F8RQToxF&oP#opyq5Ov(^aUuhH>dDfh<;l*KQPg0uM=1t- zlseHKrF-uEU)rB!){xL=@P`=UwrMiXrO3udVyM!#rBY-WQ8}dRc&w6uJ?&(U+)2}A zZZ+5-=q4$tVo7UVOkNluMLx5OE^ft#0q7$%Qg~%;r=9FSZik=?Ip*v0rZGx^^Jr0m zvllE5w4bM^0dY>egxJmnaRDIeZC#E_xV6jH{h9deJ>9|Fok$YrA6pr8c9l@S=xoqQ zp_;6t2Sr6W&WBhQkk2oITy0o)5EA*=;$?lJWss|n@K!)c$VV`-1!xaq$nulpe6^_w z=xAdCZQXu@(!o({<>aGoMn2I%o;*+@AK^m&KENr-x2~l&6T8he$s0y%14gQ1bYp_S z4WnCaZZZ8hp+Hna0!9e(y#jHz6W+rq+XW&*zIU5??K??)Sv;@{Z%$V8X?FA_<(AF_v9@eloTB>0-s^(m#*oVSziCI z-}8C2L*nnSRxk$$hvcJS9d73I@OGs+K!P>{?dqVIR84PJo?S_*=+;u_d{RFtGHp8Q zwIw;f|7qfUaTLVSy^UpIhaf58PpHDbfrS#kG`FJKbv3dtqjm5NyG!te9X!F?B=~J8 z1R9*%M4&yo*RDJnAk8rP9e=ZdM-3D=^CE1%c)*0Bu0$~kDB!u?8YjFAb`%H7uLMU~ zpslaBL^d;^PEy@lgbC`VrkxJx4SInlVQAqa9tNPn#Yaf^wX zgHK-KM1vM+MCcKoXwYJ&+SgI^Ci`nbRInHEQBSUmwKVDBx%~mvS-;rc=&ZL;&)|&s zRCzosL<(*{Q@7J`D^=7A`QBEQFoF^c+ij|-jsl@8zsof!%FRJv!9pB7o7Y}UEri6o zzCqbcMOml`?pseVT+gY@Bd6q4h8w7y%8(J5r!zw_+y1|IeudTptJ@j6OPy2QCoy-24Oi1W9& zq%38zc;RsphT=ZJ&zpfF$Ex71BWVAQOk;Rv=` zAAY0(+iBp|i%kuM;-{u;rJxQ!bt4!XAQpY9I-l_#RxWg;l~}m~Q81zHKUhwsd(Eyw zzK=kl>{K+!!3#aWO{^5$8_+$XE5PY{K1eW<+#Jjtr5$3Nm& z1-bFIP^6Wy-t%s6Jq>Ce(dFM0=aEH>(*fAV_KV+9G}_b4N;Gga?RBU9og=+k^EcP& zWu2hP`dMr0%vpW@3SEq{&QWFEgcO=g$;SJR;ot5bQ7zo7$*hf=a zunphXkt7y%a^r4l`SxTlVul*T>{g1@3Y4HAq=#(ZorwZh138|>CC>ufB&`l))U@N{ z&U)waLTz_Qns)3bJ!DJr!g}&rodq9tlZ}2~E5>?^Zwo{oZr!ln&saUSdZ_wbT0{cn zq&|;K57!7euHa5FeJgdAuEk}nE&q;r>|$|_zW;(Q{4$FFAO~<>jX6G@7E*ML(|ujd zGvu7;+ejD7scQ8kwk3;YHs2zU8g6y5#71AS5BrYg)cbiQfJ?uD0Lma>!>Septituc zYdq<8En{i9B=El01839xh35?WRAC;D_N2ZZQ%@s)G!v+agQDnteZ+sIJh0kx#2-T= zy5UlCb*k3i7VzXX*0i;O_PigibMBSjYAa+Q-%9q&G9LAL?}7P%;BQztAe$^ zKFr}ABYoMBS~t)+`bk@)hJDAn&WMLtdvKZ)t8o{uy09Km}RmM*|e#V9?xtuAI{?Sbn(NY5noHTp7<` zDPDDy)`K@VE{tlWTKjdaUbE3(L8P(WGov%!A(zZZOXf|4!i#ud+>8W-ZH$DwrQ6Q^ zy1)vcG&(jLBSVdn{H{t;+RP|PGeA>Om#Pr7;($nhj+8tJ`OTOZyCQ#x71!u|yFFUg z$RZcE^%(1PM(BAj8pjy9UR5*>a^*@#E^H%f@3>gquB@UMK9W_mjgjrJ%66?QTOVX| z&72p!OLK`*;_^#qTXGUz<1`I7EE!MWNuqXEgAE6s?iLzJ#)#{lXTyC-f4KMBlQYlR zdbB!a>)^N;L^0f8HHtgUL{L@!<7&Oo#fpw4Q3i{*P>&~#F4g1ND5VA#kNlkso5)Wd z@PkbDg#iZ0pA^U*0I5u(qt2n>!oJXmI9wp22^rfwlaL^_VR2tVn~mzlD+k5GcMj2p z;tU&_x-5I%L()_;3QstWhF>_TZX5L^hMh2&#FcLMVNm`1C+R>OvJ4#zlt!Lc;U-!TuRHN1MQm$p5 z5lW)1TC!&47n4Vl@57Q5E^+&`B!!29E@wnvCJMnfuGfi@Rz&AqHJDeSBx;g^{Ij7X z=w-2S$HDUAeJD=5oZ>zB@vL3q-K2UtYi_+oHk6SD6~%w^nWejtrAv&=a+8sz-?pMT|3Sk{7zhpsrYX3 zQYwN|h`;mqGyMGoeP90jKg9vp`hI<^+4x=-<4Dhq>Nvfu_lfOt#Px5WOH)?%IWS&A z&b>XDQbk%_UC!1vmvT9-i7uB?&cbGqoE1CJ_N%&<{oOLXXYw2=rHb-!9qoHfCEA~_ z^F+I3CZi1lT1?uas#8oj_eLT%8z2_9mmuCSffyh`P~ZmEl%#yetd&LPjZdK%Np zbE*&)oh=XEEX#E0TBD~a{h523d7M%pK0=D@X^tVmHSSIocS$1lLirh^9C4*v37;+I z5~j%PrLf&&@Zh7ocN*jjR+hCSLh5D~|9J+Nm%<^r$3UsGSQ5jgw+}G0N)mfgSd6aI7?zYOWhN%a}1rtQ~Pm{l1>5kdpCCClman$ zGf(P$;GAdRyjtO$EOFkUaE>~)+I0UENDT%m{$8&if>p>9)vbqXc zh(y*$Av@Q|vw$n76H93}kMXP_xWudck9jtqLu6n!pLEDW-(Pkls7QgkuZIRmjmnN< zSSygB7P3}G#i7+=J#=TNQ)$#wT;XSMpcDB-c6O2$Euu(to!nxE44x})!6q&_nGCsJ zHru8RU6qW_`Uq9uV`eKTj=#BL3N93UmWA=mWKN&?l9m+}^+g^g{%C zEuu5i2>RNOY37+th7KdHW?ZrARcyZ3^PYCCT`4DcWsG)ZZ3~M!z$Z z1M0mqSJQjF@E-fKrf415fLSDdxxnuYcnN1$BHJ#!XDo5d6_adgZZOotGLOPlV(4E4 z?ur*TNkf0`aAoLEg`qzVcm_pHBY2j1-;+X+bBz%$n3j2a=((?*sm%eG-4m%A*2Z~P z!`k8A)v$`6c~`^H8hSO{94VVRFyB0!th;u*$?as{;T9JYyrqE0swpLNpY2v^ z0x?Og_E{Y#OOtT2tP0l{LA+1V29zeX+M@5qo{C||E^!C4^IVjBOpHz5ERyC-?o!jY zQdetuFf7GHd9hf`-;4M=gTH6<_cZ>VjPHuN^UG=fpL4){yykBYi}GJf3J z!#q=U_b!0*Be{iPkmPZ~1P(vtWl=3PSae>b&sJf!HGB-nw%I>OR}LXpN#zh9t~ci5 zl^7$zTO=Bj%L`cNCL885G$}c+{HhtnX^pdFX5x`mbBrJjhGVMeh$A{_NC6x?shm7rffc<4X+N=NnLcMBz399AoVnll&U3Y2zFd3nv9XuhJz+aZOkE_GS!iH zZMZbHp7O2%mn70=k+-#E!R+dAhYL}voNWwXUmaw3ii}32mMQ9NjQj4EkhiHTlY00J zk3CeNyKe%x06wG6e)9`!-f%7%JizPdC6ktlQ4cDW%DY=E^TMdOviq)lhf58-EFOOk zrozv77*!}*tiw#5tOFQjbroyUXohD`^%M7ZaY={f&2!N&V*PRgbFfc8}n*|3i>MXcQQM)6|@CNt}22a49#Aph{n@CYS z2vy{cd7sJcl$gnG&+d(yYHqp#eVZb6f(yo0^jRRStE1d!<#aRhZcusKP+qQ_+a+Po zhszN{Jr~eNs3Qa)Um79XUN+PMLeOQtgI{hWx41Ww*}^{ z&N~{Av~69(+7-rrYA|v$0X^qA4i{2~|5Z)BkR|c(d#7Nax(k}pk{{E&i1QR&A$88% z$OD?r@@;{5-T)!1y%z;ucV8{2yS2Q5$sRp>O%+-DO-C>d;;Nwyq?39{H{;PX}9W23q0B~rAU4tz1UZu84 z0}(eJTO?+#W=Q5HRwV9b6i~iC0(#zEf=tec_1xHsL_5N5M7c^8hex~X*vU6}>(|LV zmoi1Rni?bOyiOA--8m!&JRwW(y<0piy^+T0m7)(O=Km1^#Rky2QQ&-5kX75_!%+q4 z=`vl556$WkYJLmpYbr@EyP;zEPgIf~SPA@=m84Iv2!6&sTdj@Zkf`EeQ0v|daHYpq zlHRD2^b4>0f)D>K#}8PP3TbpkwM@)xv>->$?;PXJ3CfbR`qs>&wu$7-`b8fYArSWw zHjDUdoJk)5Q&%Lr=|-}@ZHzc+$GDr8tEfv_kxYZ|K~bI9u67fh+Yre@Y}nNzSa!)4 z1K$J{nQiLL;&u?*HizDiBf(w$F*+H?*3@Bn?_i}(J$%A=D6}gtRea$O=J;VEZFn|9 z8qmIUFr?OLgCXOgq`(CiTPVgRcw)&Y#k<6pZAr?0(g_TS25+nc1o39cKnB;7XtB!% ztF6{ARD9Li&51d{%YQjqdKpVlwU#aqbPHm4*=R>yd%qo9xEK!Dlj*gEmvJaHDY+r{E1 z`u?kwONv(0>c|aE(E^Ior}&6cE?53-aivA z*Thay13{xQ_Rpv_u@8RKZ7jzj%yR#XW&K@UoQ^BMFE5YZ{M0oxr43AL;&faKNRCoV zT0N&@3pVA@)0*+IpIb7or%1BcR|v_!4qp70b){r0c?KBq`(tBQ1;MEHzEsAKs1QeM_4rgiX#VZH~384^Q3h2a4ghRrnt0^%&|%Bx|K za)_pn{-1r1k6v;}r6^5*Y`$IXx1LYuzvZX?q=t8*^wqJ#)%%Uuy zZ=$j`KBvYe|rbD7j~&qetudEf z(5Z2XiYZJ*IEs4;FHv!CX9}3ZP5oh?EMKYxgx``(?OPf0}i z3Q>j&5!rfW6YTsvS%NGX9L5CA-%(cG2EX!ZX+0ffHK%mPOO8&p?Xw+aq4w!$TM5qi z?`a^1A$Xyk-zwcZ^1G5=5~QN zxPxN&aIOR`N97u?ay^DzI8P%IpQiXkl>yOoS%IZnMl^fY;p#4PHos)s+P6 z@cu*PmUY(9g_wWgHyFQ7wE%(#Mzl}D8*d$>jqy1~j#oT#qy{fUbbl=ry>%x<^lcho zi^s&YTRZsFTQ;7sOlilxg!KK;>;F3`jyU&$UE1@-;9reuSq<^aX2FX+gk5ymU@@kd zaCgVCBG_RUi=luegCe^_2Hr!2XrD4rO<|DZw%^XO46IcC^8&X@2Ivfq?5}`fTa-%;&W_;`3@*b9iJfH}<*F^{!=Ls7L zg2Fa+s0&;6+(UdQXCiQYbe*3<*YUs=Byn|AxPJLXFLX(7*n9f{kli1kZQr;Py#YC) zLhCfZ)CIX-GXP23T55l?tzie?aga`vy@+?@WRHjS>04>I@38}LKGec)aW;tTzcc9i z^510+T;_l`2hxj4GucA1^UPMQZ4T^P#?+l(PA}uGTAz;ZcBa!rnI^-v)5~bKY|7Kzm^e5<_yU!)wKM&p5?SP?Nm{5C(Q~eh z&z?Yv$QkkG)ei-TM@AkYW1(YfG?@qK$D@cIH&uk6LhvnBfsgWEBl+W9I8Xxq#8;GV zu7C5rnd?=)uNr?-BB=Z$s=!~9R1m*Yw0y^Ts?Z*)LgyJ3ngSn|2%|QS)q4oTfSqF1 zy?+`Z)|*tkw*VUcxa_#JX!kjCc6r zK1;?ccuu=YGbtz(Ho;Jr*l;@fR+uNS+7EZvZoToYZTN;H{D`{OaA)nd^z(GoT!5gL z@A=Zbn;q~2ce6jEoRruTw{nnTbw0*f#J5Sjigh~`1`!9Qg<^c5VzSnIMh-RGA`M$k zf{L#NayXO|q;KwV(PSl>W?k){rd?mS)ASKe?LQN4r?tar z!OWxrab}6+P&g83Q%(YoE0H@#A|B^~cm{3vC_as^^hcutss#pE94}Bs!S>XNB5FpX zdA>+^X_#$1ooHOe$cUy?_>aGUJ>Tlgo<`FH4LfG-p=8JEltK{zKO+Ok(!o?>hzxdm zY-rn#|EgJAnv6Me9RmH& zjk!NSL~T0qzc6Y;g}+Pg7Zt2OK2cG+Yklrnr?2(3D)u*DSfFp8yX#M@KlCT&^@@-a z?`?M$+Ex*a6_e(W*sfvNL0 zo;pLZ53o9ihgqF{&tmO>_ZZx0S>N}ZWqr@H)@u1A(pNc7HnBxG9{oKi9t#dy^1|N* z#chL0Hr`sk!|KQjmxtU-h_R)U*OD%NEJ_ap@%T$pj)_#W9BcO^utF}Q1qn1J_!k$7 zPY#jhqa6vYl?zVJx6om{A>l+erZk8*#R)~?6(ry`L)|Wuw;!n6EXroA)W?XM6IdhN z3uGR{jeq$~f_6B5Be0ZfyW;nsOw@KI-cW#JC2dzZ`(TEj8*h0jZ%U0s=nae*6Ek-j z>o__gG(NMEe9-vK5*}o!8y|Yc65c2LjHPZ;eeZ!2-tSK*l2kC>t4R^oD@ebylKf>9 z#4IaN3(CUMlWF)s3enff2uxq#CJl^fi5d#x&M4V2G&XdkT1OwdPW-QKENPwKURw zm{0;Q{e&o4~^ZQ{S%0EHR?`Qs(WTgAXzrjfN&Hv>_y0840Pb8yS zwImp7R^5mT?&5EL9kYmQUQmW0aEG4xH)g61N6ZCE_Qv4GO41OnF=v6!h-?W)tN zzHg@2e6Q7V#{as8EZKJ0Os?{>nN*gJ_7ND*?a!-o^&!oyPfpACeI}E>S<^$dXMgsD zvP$wVzm46B?v5W|VVD^;B1t=)40r6<^HZn7&(_*% zM{;b=)CaAZ<@S&yEvIBcqUEDolB(q=X+K+A{cNrFJ>mi+I}-zwTjh!e>PwpvrhT!N zCUF6JeAZ;ce0B9lWT3EhvzF({Oju7UpvVF-MppY?>y8|n+*q-(Jn(gPAQitADs>Pb4cGqehRFK5G`N z({4?~;|5v0?sa>G%49X&>+*-mSW+i4e%B-8cWi;Od++EetsS0D$8I|RzdgU&FBPMV ztud~{iYO`@1x&SOVI`p5IrP?%)MZCo;o+X1dmN3F)*GS|u&+oP7$#z79c5ReU&%Ox zfSl2mjPG%&4TMdtwpji*?w*}Pf^akn78kIELbUjnRxq@yusbtUK6!61+dL0N(IyXi ziN5k-zL$(A1KqScm?o6hA1+uKr>xtt|51(I+*Wf_4i1a}!dAB~~L zmXvCk{TGQDJ$e0wsC<9Jd{4cZQ)c+i9>(nXy!Y&R_inwtqOog7sJ&Z&u{;%ZtU4Ug41w)kl>p(# z>6AY}0Hu1si*jv@^3YPh`1LvW_a*!k5}G405QQSdNFv%$ZfQ_bY+hPiPp#exF$jM8 z6p}a09^;tSHPn71f+%R#a5%SFty*8!LQNDJE6~8Y9?E_N*!RG02KW_oJg~axHD4i+ za2I%2*0N-Lv*9SPme#gpq`i2AuEH!CN8#Vt&ch=^=g(oW8)sO-{9&)19Z7=B8juzq z-^cTIJ2%GRA+6ga?1DASuX^0g<9#0Ck8{lE(u$a_mD$@+9I_=?wno{SY6Ih_ea!s| z=SbunUvmuOZ^#%8!D9&Uy%?wCQkJ~ZSkgNESb#j7sO9v~>dh667s+tXt?bumslbKB zbcx!Ft!D1Iy`oX4VKo?zelikuq#f?-WkG3; zIHWW}QwMm{0_XUHZZhx91=kbb@yicU_o0Q{vC*_NN0l9~ZMz? zfgV^$I_J}ZyJh`=NZ?3_t+$w>L>K5$!mubuNMk?bz6q*&&L0n=82O@Af$oD)f(Tk= z)hzR$1sFmUgW%rjLB62;x><)(_Pd1g4V}WtTX*zR-^`eEjXc{_o_CEr)ZN91J1FQn z8h~rfvC#tQ`N%AnA?UHwZ7I%t*)10H_agqzpzpu_PmL#hEZ)+1BIMR=9};5KCPOqP z*SF?g3>KSkP%)xPXHrlFXhT(_dfey`%X|tqZCT$xm8E7eRbW1XIADVd0)LtrJYthx zDL-70m6EzsuN2APbIp0-l*GgvTXoBP+RlwA)gxRodY4~pXEy5CK2q3D=6hmWD6!4= ziLHiZ{*x@NNfTYzez?G8L(o`r*)j}l%M>=730p(PR?^7oxLDJE6$W0=TD;WU5k+u$ zW$3Hfxfvd-*{;!v==2*&S6lvWP2c~yze?omvk$!G>onW~AVxDFW2M&Ias=!z54Ozj z1K$(Ndg>0Kd=`tSE)?mthRsWe3Pqz0dbM`^O$t%%9iG+tE(J@^E8a~a>nIONd&FCm zAh=&jQIdiSbyq0f?(7%o>TDfpLxptdc2A^TCDJ=2(&}jsdn1MXK4OyJLa_oK3BFoO zp=fL1EIcO*dc6r}K1Ev3W0z4Bv_{$k-Z&w}bX*PEj3LE^qPfKBCB=o}qxE_@UsE{W z+U8l#L5#CxG7yHQ-S3SsG;OA3eb!uVQnDW@6zfWTw;F6CGVm=@__~|$eT|T9uFwT~ z<9IpUU*l+WmKsL{e_QywCVy9>@Bg~LO4^rwt#|uE{0uk!eE}Mi^mhV#5c<&HGN!b< z{tm?u%9lhIiRVAirK7c~t;INXQ+E%f4zdG9lg}$YK&`;5w}AZrWRm|Pu>y;0zOl76 zuwDFB$-fC(ek5ZX?-Ls&f4)ibi$rU`*tWi}m+g?k_Wl;nvfU-Io%h*Wgj(ib$JjhX zzesHQ)nD-j8VFxe2z#0k7B}JIW%)!{(=vYv642HbyR|j!rIHA}+IEpR`JP_FG=*?q zu4f6SF+%R4YJ2ohO90fnhiWq0Un5+4iW=c!{$9l28T>t)zWRC0GT*37 zzG~N~vV7G)?N7em;b@8!DX{A)DPPZj=vm{v8dX)kUOVLvTMq-<)u$!4wkB+c8Zx#j z$X8d1&4+w_`j#%uLX~anX3w(S&)9s(*8%|bman?g{mIwD5|XcZ{5_Mt|8sx7?FFB3 z2O84iHJ{Se2cvaz`t_!zoYPfPQhTdry&Cj>t5 zEHUux{aKbO(}bs$#G`!e^?_?inzR=%%ME+MxMGr!5&V4@egCKaDwK~JulkS=G97;1 zls38hn(;sUx?UZ%6r1kZ;8`8Ph~f+N>eQv@pePZ37QJNK>!Rj*#zmNF&%*1p0WZ|N!sIV<%`X= zUD3I|4PhK|f~~Q+_Fuf=O*P;(Qt<9G;E|y#Ra`+~+u4#x1)@FFdnZdt;3B(DXOABq ze>a`bKF-o40YzJP!J6IdhU+uFUU{a#+OE{P;XPyzAP|+9XFZ&24L z#bWTtdP7l)wqP1vVZoqU4)~P=`){(d-X6r1L0O*}kF*pmEI&DRmp#O)?JB9!R||vP zy(Y?RtJQgExGfY5B_+qnH7ItAC1VLymD7sga62s-3+cu&Jrw)tW^onPq!koo9OanS zIK+|}K@@AL;d5s+2%wd{)KI#zUuBK$5pKVNKxzZ{k?lv^l(fKCvKACScN$)5IBp!6 zkpU`+PEa16tZiXHr>QztC1K+fyn(R_>FTr4i^PHssCU#iB%|I!s`e)lEFU&~O9llX zAp3R=OXjmo8H$F$YU|^|tD_cvf1c;T{er~#%hMES}Yko z0g$Q&6&6skhU+DU3pBKTvPLFf_Mw^y>SMpObs=x6I8siIN9%`Au11T$WahRy{s^~P zdKOt@r-a+XlC|w(!ZLQ&>WMu#osiRB;7w-6KXfv4zLI3x-lL;vULQgDS>_wmr5HZ| zKKT}$2?9TY9r_UfDx}YxQaG9EVgD=(9tW#wY>_(jAdW@cR$K_p>W#Rzfw+Z2e1VSL zltH>4_nGC;%Q~$yPfA+zU0Lo%7VLT(HR^!?@$O7S#1r`^sCVAN-!Yh@yDPBE*Hz*` zh2x7?o_h?MaH};dLvHEf#Yxc_1{az!_h32pVZlm8g69fEudn?LM!$Sfulcs$$eJ&F zM;8{^fNgbnJn|{ao*5e~STbIS`wGONuNa$;LE=OM+wZFBjxb@X&e%#Ocn^JQq}kn# zwnbu+Uo4{=fo6-U?I9*Kzt{9t+ndMxs_l+PskU$7?^g8vm;F^J58o}n zba{B{OMmjv>hF3D%~3Vf=ylH;$_=fmJT#Noe8|IxD|Kv13fr4>!lj!$3}kG7N*+G? z!k;`0G0-$rXnL8@{6O){y;Sxa<9x|Oi^C)jP5HYKeg9>D70ScGXa1Z#P&0DZ%?m#F z$F?Ri2qotIjlPtv)w0I3c0Q=?i*5F?zSwpON6Gw?oQfMf5b;I^@wN%)8&Rj=uZeK? zeE0#}Amubx3n^Tx7?DXcwG{0{A{`2Tp69S1Orze|84^^Bw&5g1r6%BOD213vwPqzQ zOwgPYInP$wwVolnq{{k>q8H ze64Y>H^7v|Vt+743Z-Dzh!bj@NESo$SaqV9?+Bs2P*f3|EKfMQ;im}!9HKl95xQdn zijVPlPx0Y;W(qqN>U_|H1WQglgZU8mQT{mbq{f`6D>9X0Y%6X;bbcU zhK1HqXe{YlNr*X!8_W;GhUbY6AHdaDEXBc=yTy&T-Ypi<_5WXg9`-0S=*3T8EYF_! zU|@iFH5OcHb=C-v4I_dp- z+%DAC{~vpA0v=V-wTm`$Wa=QG-~dskL=>Zlf6@{$0r72G?7 z-*-(41`V6uPBux837Z*s)sCg$J~OW0qS*`)HeVeQ1$)}rkOfstvmq?iM%a9dZDY+Q z{|kB(XRc0FyZvwh4H8D)rO0X94-4r#rXKCS@avd%sv_)?JM9bto8{$ghYK3PlH1oR zbkI*=F}ZHvd#F7$yOzl%@pp?6`1?|XuBwH34+0b7R}=F;7MS$S22 zO@v`{kCV-cSYgxF#%AFHJ)%@T`n_n=K;TPjHnk!b}qt5U*d zMi^`3F>Ds@aA*_JRM=$A4rx=~uxX>&ytA0KX?#H7=ObyvAPcIoh9@jFJ)6ZS19;us zPJCg)Qj%d)-pM8-PS`ZCu}QJ!9hKMRiZ)e+&DWYuX*(OTpgzPq(n$=$Qh(8Hb6I&4 z@FH)`W(hvvmKr>>{5RYSp3I@ra2mVap^)oI;q*pENTE~K450FTnv?H!R_GqhX(WQ(xhfhf6}HFCRuC)PYysQ#e4b!C4BBhH1_=2h(BAh3WYhLrj|(rm4q8 zz3&z=)7-sMm)nsvOv!>8hL^LGdW5Cc&<%N6c~1a7b`?c+9l)!AU$go@#-%^I2LG+X ze-Zc(6kB0hiYJlq4?LlSIcP$l)hayVyGGvT|2W1NdhPNOSn@Yp)u`DTx9=7FJ1%B| z%bj)rZ|J7DYn(i})pD{KrYx9>&dv3Tj}>h`_Q1RFWY1vnG4b*ILiX`qJ@-_S3@jFx z4CWC4M-o8#Q6SCT}fn81zGP#CK4@1V94$e(%A#8kjqRNUaIrA(w6*QXx0^iq~ z|JmWmg1U^ip%Xk|sTKmi17eH7K?qwM|3%`zn%+P&Jlw=Dr)w5T{~&>jL*Srp+($45 zg%mE{s2OJbq%a9sTvuM#NN!y2w7vkL=y?zQQ1l$Tm3!r zr@qF5*VitNLeeNq7S!$9MS@cO=uW<@yc1Zg06oH>U)pS;8-=4=349G3{15~G(Gh_! zCGg{Qo6cWggC`4WAzqzM3KN!6>luC!;I(KiaIr#9n>>ci5GR|=*1~2k)+|v`|+up-IuML(5V^^UWTAgkQ4#mbC=a`jb zcy7ves1}|mJWpdqVexEec#io_RNMV3^PIRxy2W}VO{I|q)%U!pMp)_-x?M0UuK{>U zySx|eaRXW(zShxfgLLn42qw^RB5F0o@T+b3S)Dkgt&GQr}CP}0wj%2WI;Wyi4c~W5oDdp0p8syh*f5@hR`b^{aG(`!t2`cJ&c{|`4#*! zeg5)>*WV1QgH{dYdSy{BJu2fXisF7eU5l5ol#8`La3uo}x zxZHUE5B67w!--tu#IX&Q6DB(3bPz8}*t|%@+(EpUeNeo}o5x;4>}S>Mi!ET{u`5j*iBEL8)%&>fdzIa(-eOu8G#3x|!tIAn#52*dNm zEQg#cIt$Owr-gVHF+7`So(tx(oXvL$Pd}1IKeC|i*E|VJja$n+FXK|RgpKI9^gcB^ zBW^^~SAIH6;An!*tpkUrf~Dl?^%g^`)kZum1S{JJCSfKZLcXzIguL)F6CA09Jb|Pk zNEXzrb0Q=`sl#iSV0RG2wo_;7aydz~26U&DMJN0cqXe&Iik0EpoGM$Hy1$EAWPXI( z_cJn>Tt`duw_j^pxgOzM;mM|0ZL8QvD5l%dljZPH=z~^~hDgO6bf<0MOVM+aj2=hV zS$dcbkkM7h6`vZau{M~Dh#(pJL=g273sO!Ca!8U->f}}=jXq>h4LK|N5VZR8E7s>R zurXeqzlpx_+0y6J`6nUihx*%@I@ER;)_r{bwCEp#tjJJ20A)9{>%x6FV5f3-rs z8a{Ve58?SiT8L*p?NjncM;mFLv*)m^6SoV`DM%U}$%3k_*$|c*{w3@9CvGY$)M0m4 z!|}o$_A5G+Z*|$AVS3~n2h-f1x^>!^wl+*(+#`zqGMkycyiJ%MMA9%N3u^ptq8nkU z&8wMdOE8tuD%hR-gKri`^tri)P)jGF#Ak%i@YIlWYiVPXrMvvC5b7v|e%K*|noF{h zuJML;eq>M``BnH4w2Bmd@8LNnU9Tn3>(GICXuW{8N!@1#PNO}#_(N6{m|y?epXL^j-zZL7&H&tUatX|f9>SxP7UNE$K8pt@g^C1^En6^nTpHx}yYK$uJis$e>R z7jH1Ro}DVOB!?{A!E5rp^R|v!G(R!@xejMczSovz=CA?*w7XpCJ<9m(+t-|uU;GriY#%(1yxV^F! zZ8PxLGW?j}<}rlZu5l2~d{zjLP6-jt!iX<~i)+H&gyCe}6Hw~8Q+ z;f>)x>V@Kiw*lp#4AI}?4k)}K;BLB`b*Fj>EhaU;_=t*~y; z1^&O=1-`YwZ`&g9PuStfg8D%TJYlK(1^yE}q@-2e)83)-MtpNEHQ(d*X_c*ybM?J7 zr1FPP+f~jkR!HSEHW1-X^8yDd=NdP=t#YW0ITX(hQ^$u?-ifhT+;nR<`^{jL|IluB zM$)KE7SyF*#7)9dUb-DID{mVnBY<~R1Ol%tj(*{Q_Y4vE;x_m;20mk(sI1Z%zJZ26 zgrtEd3u=OfCoHw)V}?%vyjJ;V+*w2s;}D{QKJ-#i(hTd+jiF;L7fbW>eT-waC_-O* zu-f;1dsulLHmd3pX-9E~K75TZzMlQu;p>W_;%k+0A*p*~mLXEVwN-q*G@X5|s(n3; zr16z3sM$Y@)P$vuu3%r21m0udhdbdTo)`F6$A;j4#JoY^Yiali0^e@4H0U9Ac(R~w z*6@U-dIc}G8JPS#kyXc>#o?Iy;_4?g*sXx>u(uM;JQYRT-r>=BJ zoiSW|{a{SU*L;k_;%lQVBK7QPEcJ)k;_DP7jnrg8)&5DOCM-1^i)FOxKe6i$_!I+Q z$_ejE7WjHL_%R0l%gq9Rv%vS$@Wt%#WI?_2qrelE`u#(O9|?FZ_41Amsn-_JBR|-F zv9;HuaCBK6K}@wN6; zmb#4g^;RT})MP<@^@I3ISgMrxIs=cnKB4Y({PneOlPrkOlQ?uCO62^{B8} zi_d-)s=s+|y2PC;lhbru0MG=J48adpIOGbSCbor09YoN-mnO##fHK#hUNEN^O1C*FrA!h^u{KIGF`SELJF7iG7#;f1 z!6<2pFml-#wKR-ot``A+OkqZEXh!=aIW|=YZbH%!B!g<;F%giU)#uAtz($7P%NKB? z;Xz&9(~yYCa;H_nY4q1zL-t-L*_>1%+kSXRzSl9M5c!U;6S9v8yN5K{NJ)M$Psmoa zlO=;{?NK31(CQ{3J5!nNTYInRzOKr^=kWI82M#4YJ|Xw{^C5CY47nzn+=5B0!@2M*qj~lQFs2RQ`9uldx2r@XY=hJY%xmX>0Hgw5=q=Bj-H_ zkBoHTaeios2Td!4N9s4C*LM?`N5(qgu^mZMePlrm(>w@Et$CaEdV+Y!UR5<*m(YPC z#jt7OWaIJ+n*la9pJ7}VHh+FCY+4DM(w_;N$L(y$g8I*4QH8KnJz?|lPgm65jGG*_ zHwuU1aOc#jl30xB?Tp@ZEaoD&yiCJ=>bnjlhs_l39}Ed8nU4`xxHr<=XOCwkrv`=l z6eNw3WI@%|+zCq!e~Xp;6Hg~Ki@C%cf`&s;Cx_gCaEP*TNH!c+t`+^t35O<{!{u={ z4rD>Sc}VmlEcNRW=I}f?$hi4Z97P7VuRD%V=rV+!U+xek@kJpt|GAJTKVYC2QEF;J ziDt{ zBP`5`ZZJa_m9#NxYZxtM3Y*o5u{KSph?;d!G$G^a@SChjcTmtRyfH2-&~mqJ3A5ZC zmZ28`kKq{KvO~`m?^J1hu=SZkK`QPMQlfQO%9y&Y{wX7{`Bp$8y}d3>G~{{4PH@R1;k=eUO@1 z@Rc-;b7QzBZq+sM1CpkBk_9#GfXF~lYR?-iLq|Lrg`06UbNlod4!sNqbLlDbB_WYM zC`4i}hF~F4S(A89NUZ-_nnMpe39_JyY7&H{S__HYcy20n!uBFeBFT_Ay3`WFkO-eE zB#PTev@s+yz7!?YXja0fNgP7bC_xs~g#DrfVW};dtV9Ax;P%H>Zr;vl7HGCgN0B>A z;C#MRSdaD8f0Fr2mpfGpd|;6__|lru<~$a;hWg!3>M8Stdi=nUelKHIAo}fFE!6K5 z>P0p6YIf>mL9O2>)Co(K7wWU|z!RvqcKg<#LxK7intHF|A?g*jGxcf`)w9m<%6EiY zk|_c9L?Wf}qTAb!3OIv%i>Udh4hVU%6XUgb;nrUC8^skcc&)U8&PbXHAPef!UhyK6 zyznmO3fOkMprEgNXo-;sx44bMmsk|LO4Hx=;3sy~-Ea(H=4rARz$Y$IY(ySWKvXb% z-+znv=F?kQ6a1rbRb^{@-CYU(Kxbr6@Uy{$n04-{dtfZyzb?LRFdk#=lnrE?o-V*e zlqV9f5}P&~M_LAom-41dp}+@(7@v9}Ji*;m{v9a(M10J~k#{3oq&FsiRMmu--$s>6 zz_sqgllU6dMtZiH?%h3EA|ZWz%|tvn-ZD`3{&@dBweV&s5&i0>^*o1 z_U+KZqKQW}_}}#KqrdZa`cjl{7!0|?UG56LB>tB-++86+2NTkh@KSF)1P{kIkvLB# z(OZ;vs(tz>^&xBF+l!ngZ-@MFK-e-5rn=((8dRzUMW`S}|T zQCBPyUPqq|i5iJ{g@`&}rHH!j1r~MUyQ1PJNSag)K8Hzce(!Y9d+vJX*h=7Y(~W`1qW!sXPyVxfoy0g5yq+S zGaXJvEEcE2Y)-YuOhBA^`7?3q)Npp{>~eAHD3Zo0vY;mCh*N~6c3>5ZdQB8~kAd&y zgwMzn`1C#@P4{9z7Wm2<{yBl~r5kDwJ3LuXMKwHOsn!C&`>@e;1uhln8cs57_AYja z;d)cpT~-rK2i+rJDs$LEfLyrHrg*@EEf@TJ`viHLffa8PF3x+$%0zDQ)m;G zx=CoyJOmN#yB*Jhl-z=pgPGS}%)D|i^V%x|`8xDZJ@d*mga^NF>1@rsa^DiZFZT+` zd>jL~@Qu)XM-O9}D{H<3kTf!r1yxS-B`DQpKFfUMASUI_a#Hh4y3<}m=fDzK-a(w2 zf0H{E3p2V&dapa}6Xc^&&am9H$YN=xMTtv==ILibG#eV4V?GvHcMoNnw`iK{ku)^P zg6g|NWF;*1$tz5=fxzb)_~uUd;5!08#0I|_69iG|uN4B{PT=c&A&s%A9iA+xU$zT8 zVX688|M>y--cyRqcJG=cA>YW}#ebQ?VA;aGn>PvfugglFJ zS?cjYO?}35EaWeG2|o@=BP3Z+)irg(QiJBQkiYILDEJ0zDSFQ6A-C^kYTo{AJx%=z zuS<^&O!yWfLh=N(^&~^`@B)h@X0>1AR0{4hp?OI$8^zX!;)@@Oy1xu&isN-%A4Jkn zBnxW%R#BIb)aI9&VoOlO7t1uKI^ZPH;~?F@*bU+1Al<;&P2$I7^l=?OQViRBZEWT7 zg)<)t-KTnl6kTj43%MT%-G)MU->1?TqU?0Zg4(e~=n|BwDs&g_rTB4>;|IOZpW_ET z^~&+%G5iBJ7s^^8rRysYE^^@ zI!Pp2V`EAY7nzP%IPgJ}-I zkF~*X#MD5%FR9^s2z>odq-NXL;mLyfJzKmdEcJxIum6_4cU1)f$Gp9-IJ{r+nZRG{ z8uI>013&FO@&5P#_I~dQfzLtGcuy8ovW6!t6`al9HwC&j zIyUk@*d5R3Q1k?jh9(LRP#*iX>+V1C0zZ8PVk0gRSOL|znm5nkYQ*Q_YPikSu9!cF z(hJ`eSO4hGu70nT{s~FrDp^qJn?&gda&=z@yV`lTbp_(n@6q(J?;3|AX!ssOsI!w$ z#uq|p($gXBw_<`Igvw|_y@k+xP3S2*A+n(IHwq!bQgK2kJBQ(u4E&+F4n16}1>R+Y zZ)xCXE*Cw1?8kZ>`cSHVACg87vY^Ijc*0T}Ut~SJ0-s{wpLW6z`%>U1cL{mF9Rt63 zUrxh6EAU123az6Zo-C-pHi-9xrJfY{ExSz1TZUbJ-8eE0o9!<<#K`?h*!Ct0E+VX4ajW^y#-L@bd-e)N#5?W0O!Hdh6IBT!+9@H4niQ`a`bq#QTz?4uW5cCqp}h z>flR^&*I6&rQ%8ZXSog{bu5ZQ($oQ2;K#J+R!zcE4~ZvV&@-dh6}}A!916G0all6h z1^!IO5PXb*AFtu}_F?#EJ`y1}B5B~sf*P=1gd{ArawZGeP~amBd;B*|Y}U+nh!LJ8Y<}nv z5~H4BGgPz5?#*JPEf6-VkThbD1=UTnAuP4b&tlXKvGE--0sly$?y&R9?vVQ%x`TDq zzW@Ey^!T=rB;&;S42Kgb*pZ{LwVKU|0hncor0>2Zk`@&w9?=o*_g*$9$bxz$D3TJE z`e6n;(RUk3%2(}!-%-eyHLGDWz{%#!Mq!ijR7leAFzO4NJ2abQz+(p|Pj}R3?QF<` zx=FK1AvPU^&B3jvf-jGvo2oUnvq;cA?Vsa3O~VYmtuH#nO3D^`XWNJ9H8%7nED^Ex zJ;U_g)butXX=+8Hu$v|sYRX3Zwh=zfp4id zBAVOb$$~ohwZIdWdPLyA++x(Jcb{oFxrWW!Sq?EgTZPS!?LuPQZ`cgeY&Ivc7?tNs z^Iwgm5rZtK?wSo@spZpIjC(_DrXJGUBC8NEL$e*4Uz?4ui+GwewBL2;6pspKzw0PH zYl^sbJLqy;I~#ELvSOR~QpM&=Z;bh(>|1Y$vX^?YFGXGvUrr-wd?5>J_F7Svu+-6M z>`RisM;Q3wPWXr&0{?2;kd!}S%oq4t8h(Pn4__+qL+tQmLEWt32}|`5`0uk##dfI6 zqmd8yut15q9>XYirbCd7ox-S;jZr(p=%q{%(dHtdyS-RFS%Zlm`v~K$PakWoL`4&LV??N7?CeEKiZwP`^pe_^aKsQ zg~sEpI7Izhd!1ywKH+zG?aC3aD

Mp&RB5QV)w3i`Rd4XRn{ud$~U&X}l&2YQ|UM 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%0AIm0O($(7Ba-8!XC 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

}>PSDP`A@VfHbawLPUu2Dh4uES3IBlKxijs` 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≤Vkz~Q1dSM$i>*#6v}20PVa2B) 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

7aI? zAsoq}F=WJd7BOlol%?^n#a9FYtG@)k;L0+wucCKA$v~fE66E%fOIwyZ(fsc}KiyS5 zV+YZ>@pknL6GD4)0NZGrWsg3UC#{`w6~zKn zgFs}~_CRFb7IW7~j6pPi-y0nDp5{Ubbtwaij47#HdK=l=*XxylY6&abi*hZU|9K2oG-iBU6v;JUu*SL}BbO z`tYlOGC+yB|0A9u#+E5#ngt`^^RrDi3fky$YY@z1pj$Uz`Pu1h#<#7D$Drl>G+b_) z&^2(IwZBv|k}7NFUrq+vf|r2f<&r_4_!q&{R-nL35jh{lZ#;wgOc;m(Am(By5I|vM zr!W3Ah53)87^r}Z?MOnw(eo1S1ljbP=Px-9j84zgr~)>t{XqsuR}%IMK;Eo4QR$@1UJWy}dwm z35QNM?klDsr`o$Sc$7apuL#EVHP9BMGxutvq7W=Ev-Tt?9xicVkRpruS6jX$4?jy6 z^DjQ~<%56m(NjM77azUkgMW=Bbg3L!%)gY@g`c_+7dIV(nEJCXkVDKV`=>=uzy(qM zZ?|(90mbbVpZ2NKZP`|CgFHDx8YcEF%`KygkeGrX9Ig&PV+>XJqzb{$X^1%sLaw-Y zl7)kHoHmJbd!7xHy34vYGyf?R20<~Wv_I0T{8_vgRYot&@kb|=nEux=wWIkPH%`YK zexwl-!ylaly^4lf+xS0TV-Bvu0D1l|fm+iz~dQCeG^T%&2W}pF!MHmp3 z!V;!wPd+q)?(`rsV7wVX{)&YDG|DudliE9w3C8tzHsd!L${Ag4r9rE3r4Z8vW|;nw z(vi><^NRZ%o7SBta1lWTsWEuCIhrxxe^TWO0#ZDM#4exujU}}#h4Sww2@YArFvTf_ z(}bqI`Q|m30%IEctLoofa1IiyB(T8Ag}#Kv422Ra1OxCaOBa{m+ccXuyo$99aj!j-du`91did>}(93`^`$!a8i(lDw zF?+c6-iTF3W!$OoqGakveu4Y$A)=MfoE`H8a}O72K{_g~IrxK_*6Q;B77j-iRt?w; zZT|vH38OMN;BnxQZsQNKzJr$cuzbk)ysLsk%b$V1AKk7OKqm@~#d446(2Iiy1KdLN zhNIO<@O|m<=nkG77a$AxyPOE;_Kob=QGt;a=#=e}0l&#kfy*JB4*WWYCDB2k=QCfF zEk||VxgUK4#9RLHFCi8p4eUwYZ;S{YElyfM3iSb0#qVt#BoqyLr;P~x1IFyFONj7D zrsmcZKUXT-j!y=*^MMm=%w3vJX6LAB#uHZSC z-Y14J@d9{U`3&J9_X^=_^y8P~%U6O|eTxH7Ru0JfQs#Y2Zl*8o!+B-Rfm)zpGJlRKIuEoZ)^H z0-Y&yF-#yZ73tvW80b66c@+{)o>UY5t)6E73F6-hHRtX$Co&U>51ErZal#uV_dcB0 z=(GTHfu22H{E}QYQ1ql+S&56(4~1*EM_WE>;8GvFZ)2l^AIgD*Dpz|G+c-k4AdY;Q zZa_Rz55F4bTX)NJhDDBfbfMsYy0H3_&!Y?E|7E$~;2v9L){0Nwcc9WIzp0;) zP(l;UXyuRJsTO@)!02Jyw~egGDouo2DDFk0i}aB_ZXT#dm1{0cRO)StZh0}XL5t#{ZG4SG zEADLRVU|BaZc94Wwp-8q{h@ynFvfY5_13BIuVBfVh5pyQH6GkY$P@EM7%53q5dOk) zsM&1Uc!dT#{YgM-3YR<9eqBv(5BA(m)|z~?+q>0lGqdh5|Kj%H{tu85wlo3oO8=Jj z@ghBvJeG%wCUA4)PQ9Qn0Zur&!Tm`1zcGLdcHs#PP9LC4+eS}VfU5v)lMp#C$+dhZ zB7&g9%v0u%1JrmJZL}4Wgdf4NM%U0y!r6XPb!a$bWiX6@emP@k0}(0_Bm53?=XLUVlF>3qXZQk}0uv_>$7TURL{HpnRb1L)%v= z;kVC&_tlsQDSS8B-BvI@fOL5GQws?MJoBWavl|8SO89*z1;Fp~gV}cs%!>mfrwG4q z3RrtnU`GX?y`bR{8+rrR5avV7oFB+t70AUU?>uH1L#h-MTf(5lG}kO zNp9#qilq^#>%Br54^5EWr^^8bOE`IYc{es#H#|aQdzR6fjVk$@#Ocll*une;n5C#+ zc#wtSzXTiBo*0;wFahzlYW06ce;Mw_72EW(Hw{#H&%nre?hvff=eZ&59_gh+H!mD( zL~iv!Tva`CMCcs5sLipH$%!&vkQ$Cw3JbRUM8|ni+$1Z0C+^>d1THZ07EkDG$q!%M zuu3u3K&Usdu>EdAp2A9F1Jj2NLw_9S107!OBw_42B2I44I5Bu#XdHR1EReo$R3Fe@ zI+_Mrk{>2VN9IeXeDGAqn?D01N3vr%>==v`=a+_@(KGtEO*eEE;eAm*np&!F3i^D!xB{eNjXNaLPwYkkI9ml7509%} zPl%4{?Jzp4x8J)!9syceI+~<#FC~Id0jcC})|TXNrB8PDCqdh)Zs;qNBi-^``&;=6 zz0~&Ko1j$fc#AgfWqlji4p2QVC#eM*NBt@E0J@q=$O0dv(2-xj_ZN+SQnd2X{?GNh zJN$a6@t7~z{F8II`)~5wlU?L|h9eR+_?SN^xqEx*|7k?8D}u2 zy%j9W!Fumx4P@wdAEbUpxB4Dmwtm9_@!M9<`J(u3pSS-To{v)fyYzrZ7ntATvI)40 zDuj71OnKo;rw}RW-z612tnI2j@TdX$T-`5#8=2rlL;Ue1=3=%fBj+__w9f~)ivcaj z>n{yrV*>r9U2ILZ`#}({)fIr&zLY}w5}uWG_zqMTD@1R>bf#yj(huQmgr}YgKQv{Z zwAlyHzlO^0PCa*nR;L`t(BBM{i-YIG9oSjt^94IZ!rx3XO!=FE+Yxm_0b{`SJhIu` zM_I4(Hv_hy@;9S*IUlv)k-*exASLq*ooLPw#|2M|p)Oq}m7(X#vJQgW7KwD`; z6tG|tKM_h9O(kNLe}v}gDa!Yr3zb6+v9YI0YKyt(DKe8Os{hFr5Ibhi;j7~hdG+XB z^7Z}05gT6MfiL2?D1fU&BNmUP@^Jw3pGc(8vS_H$jr^czp-V4+iq6w?Xk>s*V?KW4 zn)poZhI}9TXx%&dk+!fBm5BAe(G1<^5-5}kJ*KX+?J3vUK2Mi;Mdp8Ytbtny+)S6L z|E?0`!f%8g22%)}zX1H~8RzTTXuOzz{sYhR8*x~UPcF3R&E);1Yy8nW2?qeG{8{t< zu{>!9(CYHF=JPKz<9)?!5>QCZ=cf!W@S?nmz#6MLfhF>VWj82b4V-nk%evv$0W5)( z0#UAjXtRRAZM%7!F|1uW1JQPPO>lsSI9!1!`hb8445j$R;Ca~ne~F=V4vo$q62E}` zP0ruxYW{-#YYt?^m;e># vqLs9hFxT&13j-sn5*056Q?4>PJ_jXO79N)?3y)C` zgLlXY7QC>9&fP?N9;hICdb(A)P9`Gyw9H0bB+a#Aczd^a=fDaC3{sNaA{l|OKOH+0* z(D|eO{)dfhS!#6$u*ME138f*?fg+D-|K6@F_(I| z@{bqI2g(Guz&|JX*6pVa$mSjd=U<#(0Zf|+5_+CGpy1f|u>&0)KA?EV8M8uNO*Idz ztG#bxb%7lQHr`%HOXJJ9g=8!jibAL!FwI|5zys!9| zh$8--74^l#9Rsu_-_Aq8y?XTMWB=osxKS6b`R>^+J-0c&{h^u6JRF(ZM#c?V7i+8>n|tF&{hm}eRDpU#+Lt(X;zsdvWowPJq3m}{Le{~W8@ zR>zo$5@WUP!M~`OYZ!BmGv=pOObug>cE*IQn6nv^%NUHnjp6p(U}d;HKUfxS&j}9U zpToj?a^S5zIw*wtW2fU~7GF;AtpL?an63N86|UHj#OF$W_Cxq-NM->R5M6(kSjvnI z-tP`#$qed+`eVo5UnCzF{t|fx-jDrc&_{npU!wWv)nW6}sy151qJU_kfSllwiQ4Wv z`wAJb8xpZSf`byV53n%gooL10cE2<4GAp(`5$nu5$BG>!u}_S>Dc*+r!RJoX?=|iS z-zSrBO?(GhJP`?F=i(*6moxG5vp?VkQlLTSGh}FD4wdusaD<=EmtJ@|8868$J^qba<7-g)zam-trnQ83O&I(B3!QdA*DAe!HUS#b#^cce03c!##qgS6(uxQs!E zF<@EBef2KxUUD14nc*G1QpffrwBrX4qCo_I9bee8FkX@^^RQ*R#s>4Wx))GO0>F!q zitXA7rwZ*f_M=LFH2)R^*Y1G}=|SIOG1@(i@YvatA+X-VsG5yP4>#1as6LX-(2ix^ zhcpm@Ou@;CNQ@FwI&emg$>rPZ^P1o*I#@Q~T+zsh*OVdtn1@bd0Y~x}S5k`gZn^nk3q93L@f$|~Pr+6zKYr1a*b(uIrlUMMLuoBwc0pn_ zvk<^)9%fj0VGXVV_$?Ns9R13l6|=4KU34Tpok|}lb8L2Cz`EqufDAJpyIG>sB=Re9@!# z{)xlmiQhdBYn8=UB1!b<7=q!nUSUiwPN~2&HCf8r?neLKcNn=h$ zoNn9zO_*t*b7$ae{tk6usx0AAv#kb`JF_*fNKF2z zhu3S=@`g-$SL_71KrNDcmXcC#71NiZZr!^RYA-t}&5KUTF^_wHt*!Q=M`lBe{xo`- zrtxz15VjPso#|`MJN+{1yf}dFSQjbuZ(@0HJd5dI!Qe#}s-q{`9kqLT6mEekimyUn zOM!gCEuQuw2$k3kyT4DM|A*e+VefU{-_TL3<7|%f8Es;(Rin`J_NDu2N{h)ySJ{|5 zumF>@I#bUg!Tn1#lvHR1sqmU-(edz8^L*3bI@EO+h?$woVppH-I%($FuCwvf;JF4* z9iCs{*^9W|_+5eLSv-Y!-obP3x6gLfen&k$@&5H|&UO{y*O+y->qb2D@q7=@J$QbD z=Z|w7l}o>CW+wBgRmDYw-p7g z7TWaqR&&gi>R3f3HFNIUINf3=!uf>m0TqeQ zSA~np+L0_A_X?o=N^=8Zs>)#mQw3c2T`1Ii7j;&Wp@H?HV; z%$I z7czA7_IR7`*vemgA|`3jF!6S1b=Pp$v8-SNk;lZc9|u(&UO^{-UrDQFt*)7+8vt5c z{O%Qa56ozU!bO|E$;_|aF;rW=X|z$WSo_T;?R#q5RVSGHC083aS2(%fY3kD)12kV$ z?YEfa42*z68#I36cXhvT6E^jX1c4U&BC{`M9KZvCqg`to>ml6h@%_pgJZ-mBu=-VayP+Q+tI{mmq8d z?Ms26Ga|Nu9gqYng9F$GcEmtIfPUyu+7wCp3I{nDAzJnZe(!C?P@-6l{f?03fCVr@ z%kWzbTd?x#(l@aW`oph(;$QTMOpQU+#+(k=WS`_Og&J&Q2MB_pbB~6%2yltaxqqcr z5{LwK6_$0Wk-7F5SSBk@%R{GTo~a$n<=^gA_%q~3RRFB!fGgCjAso%oFiBIan4(Tu zF^~L;0NWxI?HY4%Pf{w7p^_5=7#;xUD2cCre7UN7JL_(JBMZK2-UM2z8+;|Q?H)-+ zLZ%DSWE=+=W4Q+ zGAQ1A4rHQrvNG8}NP}%70%$rEDt%-8d<1bQMV+(ytUS1RdxsNd>7BQW?c6~|FG!j(IeE^*JKdGp}a z@LNJYSS?u9Bj?rx&oiH$A|oB0RA}bErp9?7?Xq!`accz$5m&|18wbX4GRAF9RW&>= z8IxvUMXyIwxhybG2+I-p~BSrW3Z#T7#=jCAsd7O;>03qJGb!*{5~JN zuTSBXx@%9cFOF@IO3{Xan6_OzzW4}fTS^SJQuMIlrHIX8M{1croE^9dS*s$ zEMz@m?g@v>H@VHWKXEbNC%OGb)s#x(O(^C=N;3gXOyQ$wbq`}7$L-aL6LPO*oZq~# z3f%ibH(Bk4xLX~pe=yqvxcd0YNe?1#X8zCEoHh|XP<{Y^ zHaKpQEdzHj^ctoc1CKPv!T8;8gwVnZ3vtZ`E`eGTJVqo4Hn(3f`xk(j-CERsJZ2S_ zv~I-oQs~a_&&PF*TAh!X*aL$I;(%cyE~wb+RY1v zn%+dZ=gpQ^){4jP3U&Kaqg8EQ3Hn_E#5V~Ko7Lrmj&L)qZLKCe||e1 zkz+#QUB`tit3$8Hu9Dm5MFH8Sr_}xPS<)1#Pv}_Dg7*mZGNf zf4$H9o-@OufLfo=|M!*0<1%-7-gEBR-)DQjk;`!(6@c|C_O;Zt39hX@s?DB2ie+1G z0w#FuyXVTeW)xKP3w}e>?O$qjgjF4d*9|xp68%8<8)DVQX`LXZ=HG*@n*NjV81f8UA(RQMqQQ?bSS^o zZeJsc2kP4Q*^aBH7`vScXK1TV6%SCL^Dz{;TZ}_K^d-`fCqga9(blEV2OAaUPtbB- z7>0#CSonh^w4B2yAk{aRH{DC4^U=G1#2B3l6MAbhSRy=T^aW%IMRWn1;1n<1I1mz}6oFPKF>W`S#_b;XP>kD65cccL{hrg!h#EV5 z%}y%|rFBORf>etkaKzkhycO#*zK6wBEqe&5+CY}J{` zDhx5OFd4CoB?lYK@6HoZ^=Kc6N4PA-r4y-+q#yZ!nb(vePH^S4d(ao%U<7l|(`&}( z^vWabLdE0!WC^)o`MWd*0qE*S35`R-#-B`B%*sZAyXdEwf+a7!!X1=<%{+Hbg>Z?gfQY!Y+fCXz>%ZAIT-8px)-KG z)`=6Dv8%tlyQidq`N$v|F+vTMhN+t9H&SRDW7ZeCFC9Y@Y1_!l!n9(W`M_r=gg!7- zE1?NN^@F(umgltWR)`LHlPuuwGW)?M7O zHys--Q|wyvv|TWx1A!`10pVcBcqyrVV>GpW!02BMOGb!&!hZ#=vxk@tVUh^WsNb#z}+Zc z^m~u+ca9X_3FGhU&7XIy^_O`ONdJ&{(KP73(V|4dbY!h1I+EP+MXyI_D42)O36$t4 zbNxb!0a2n`FBQ?0IE1;+z@dqyS4!yA7v1FU3BrZ<`LewQz9PW%?o^2mUrD`QsQ;vj zYW`}fuY|=s=%|II?E-U``@dPO9%rrmzwI1&=69^n`KI>n4lYzFuw>x zWapqUfLI^u*%6Yu5E7HNa1m8F-Z8PH4SDt#ferSsC10BEon5SFK#A?NZ7|MDO}WyS zh{QkVP9(lBJ>LAV<3@i#;uvCV5E94EY)BklCskfppG&m>Dijj9iVDPVHYzgRs>l*; zONFd~{S5o`U>O6ijlgSoH_Syf5ok$2g#mZOD=sv1@~`N8d3M?n*_yXRbP3<)v3Q6t^YHo9Uq%D-a9pvtK+8f^ z!vrce?Utk1%wJ7uN$Q+YP>QDhHw%i8$7$|8DtM5|L3=2734s-3*+QY-^>RPVKpjzm zjv~gs(7th|JmLEE5c!pLkkxs>sY=lm@)ZRwmWBq0p!`hzMU@}q6=WnVSKW$^brhMO zALZXd+c5(2lI|l#$)z;;@>-mz8z=WbF2UvF;&LFwb;zpboeiiC72JD^sG@~5T4J^` zQJWh`>!Ub3nw@QBIqRfLPXRnFF}*EBl})~NVJd3?dw!O<6hd-|xqE@adJDg~!>|qh zB1p8Vq>B%2JY3m+mI%UN%aw2F5;;?>DP8auRp>#B|Bi2AWtDW0my{lrvKkWL0Mv`K zwqHHt3rx~Y#+XGs;-N}`_*4h+7C2rT|-r&3Kjci6N~qa8W8I39&!F)O_Vh1ksBqf&fVM7G{9zUR&|} zlFR3Ws9lAi!BuccVcyzQg4H5k9EA&Q`80vTaly0OlQX#Jw4ZVZC-NUSjhJ2COI0um@82h!uhEs~q9N;|Wp9SKaW^2fH%z zNwW)lN0v&pDeu=q@1y(_@eUEeH!6jv0xl_+`9!P-f(q48Bn&1Bu}l;565jo}!P zho&e)A5EdrjWEnh9;ra+K8G&9Rrv3#oWJQiD?hKCKmKX|wdM24V1@bwT$42mb*+0= zQvBNFet85~tX-DZLO!DQ3fVG`>{1(;Bte5y$)2kVHtortYYoO+#eR07va|+!u4te> zuaiC3o?dCs)xhqOMwr*aFfyjJ`a_CIrp&D)g(DzPxe242Se1ktp5%4tQ=y)$aYd}JZ-}=a z>i&lQA!6pBSPZp`jTN{F9QQ>p5et2{;T4xJGN;>E+p3o0Jls1UCN5Gjc7yKe1oLie zQ8OR97&SNS4#k5oOA5pcrqg&tcAuxLHmJa~)oAhvzsGED!l?qVs{VcgIDO3UHF z(kmbyz8oh?uTd_Shq;U&bz`=jRO?`i5r)})qp1BP(d_#RWczumXg_yi*jVWF`3lRG zGh4WPY1Doa`7V=~SKcmHG3m+Bip0KUHtLdF_A5RGy=3mvFQJ98Ml+!@jOMjRoA>8a zoUu+`hN(AGXf_dPsSu z^0I9;FXQUvDdUnXfvNF& zW&Qt2nChcg*6+yk6Z5xon8VNgToueID41Asfr6Q4>~a}DaQSi>c87oHXoqpwWz57H zg#J;^g#Kbrf(uI$J#CQBCoVO6Cvnm0j#x9NIWnFQJRRz{>aMryW4p4@; zHaP2|!?QtU-Lr?R^Us@u>AB1_iW7&wP(}-4iq>H+FfpV=dI4$91KFzVDRT1RxGxY0 zWUqPn2_9+fl3V`Czn68;o{`-qm9udj9(+A-R;&%%SAw6vjt^GXF7z6mX!Jx+17q6u z-~}JF$3pfr(4BDAu;Z>u|3Sp6!_x0R3q6QkVmt>~aXfb)&ecVSp^zp6cbzLMylNc= z?igImavLp!5EGP8&dTcWsdrE}Yg2`e*g#;BENUHYdyazR)(^9ysy>;j`etYl7Jnzq zKXxwQ-i!QaZH83gQ~GNvE1;+I#V-_ZbsIxSimBp@gCi|yhM6JK2EY`1- z#Rl}#jway{TQ0_7@|jX8FfWaCOMsGAQXP9g@*FLz(p|o5u#0BB*kr`2V>goOSO@$r ztVwk&EP9aY*j-R1F6OSkeUJ8(WI)b9#YXO-?Zhf3)Im-Uz7BPgr8>4<8LivF2SI=A zCD0#xiP9fCgmP8jtIf~Gp1=WL7by!I3YAMkV=^Onaj7u*R8Th0UDF2FU_Pe$;#09V zzo4uPWBfJODWd#|@f4QTWY3}g zho1bGwty;X-S|$5b#FV9ztOVeaFez;#q)SRie8G#H!U91$!rg8JLt}vwTfAUr>?!qR2Z$RB~x|Q zynl=7nOmdE_KOph$6(8I9vp*fmGYM}c^sDO{|eT!l_>UoA?4JysNWYl$H$bQ_Uxu`@rUEM@l5ma{?gK-u8A`gg~2?N`D2G&~rVgAsGh09pHZnjuX!X<5Dff<-$dIAH6xk?)}v_R9s zU&wc4H1iNl>m^cuNi49mDp;so#qc3UCzMUSwo}mUl{WRTNbR`itz>;Pe>)Wh>i?Fg zDrtfX^-vTB|B5D2?>* z)vJCwyDfe139Fx;&gJhtLjB~zGQ&i!o={Pt`LG(huBu*&hW)vk?TRI7-cYJ64b)6F zaiVIbc9qt@9<_d&Vofx2+EEoH5)@UGm}`Fhe$gMLjPyTVO9hH_p%^|3)CYxP_$+W; zrMw5r|JKMF85YVwH=xXwvDUe3Dab6LE6)&;Oe{P-jk1EvzRLMJx5HDKTJXzt> zn%qR{$LD#Q(>-oKFrH^yNJGDhli?tdR^Ym~d6C18vrq{!vPVh|H?Ut^()p&hH1lhZNIS zkN&8n!YB2+S)swacLio8%m{=;hq*m`4gv_# zDTconTIVtTOJ4-ZLae_((v*0hKe;kiM3iv%?Z+#-ixzE2Wyc%q22{@vi7HB=_@(_w zHTzK8dj8s;Luf`&8o>A!q&|D4sWwqX{nO98yQIMv6*fb4$G+SJsdq%o1CBzY$hg){s za__*Pd7@ZUa#k@$-D1*1*A6mTVvFaOnLP&>V~bHiwWSLfK8IstFuq5d4w%tvm2Hca>+I9Djfyf{RyopgQ;ZbexeyTNNJE+y{$3yf*%a7(4;?Y7{(<} z(czq|qmGOjV8GB#a+=-UXMnfcI^9T%8Q{$N7z0qTBdvxvGT=eQ^h3(Ns=WC z+q5RKf-65ojbW3)CRib&N^XO>yCWqHb~E(oop}yAYIe~drFBVS#U~I%yUQqX`T9ng z(KNc0{GEFnwaFo}88LuL67+_L1C%Igzd##E%k zA68>8TI4eyWSPYq!;(rXA*rlV5)37CLaFXK5Hb~e(5p`y1VyJs8ZtVUCMQZ$K5jL~ zE!aOcCW+FdpJh^M!Uonbmk|+97G`_lE93F0C{9~5G5nKK$MQ5BJe8+@b`fVHqtOtG zt{dH5$U5ea)D_1hqZe^869qH^TZ|wV1tdVDpOpEu1*9>qJW`dCH%Pt_v5D0eqoDL1 zGo2`~Mi1R+MCBJnl{Pn5F28sfTz(mMd9aTAqByk?}Hi#PByJGPpX15QQ=CRPDob+mY+z%dGnN z3(7&xydT2`84+0Tw>2{v6><#XMdYCKG5&-47#drsK6WLnIZ}N*+R8s7Jy9RmBR!qQ zFl=PT&|?EqCZ~Tulo>Y}^H$!| zsXi`GK62WVH>io*h_puq-3FO>oq2jYWKHiSvaUm<1W%nFNhUvGi3x{}T7Si&TGHMM)P1Y<>likq_S-R_k$C9P% zEsyZ9iHbsucU0;iVEvTH)99U%!BJkbu;08I6QUwp37gi*dDfaC)T6p?oFlqkVv1Ds zPcMSn2T@sBy;4*VR9DHElU=T$Zt6g)pJ-zzEf5=tD(Y0MZgL^-(Q0K_^f3S0OM{)l zH^?SzvpbfQN9b6f0S((w>_pKi?)V~mMt*QfvI8k!Tw<-zcU~vF9|; zu6uq9aqp`3{{I*+`hHtn3F!FcqvQ9R)$!Y$j_*9xnNSQ-EktzCY|to*4%#~R4y;kG zlw~SK+5a{7s-Vu(3$=csXg?$wNY8wx!?Rk~< zl_a59xju)-!?;r38Z;hOxWtkzt@;M4?wSXxn@V+aU}UV1sB)lH9k+~4G&Ba`GPufF zu$!tJF(DV+D3PQRsJTD2qo$d4_p#SBHMT!u(q_Lkpal^Db9U41=6AkoO;DmW><7I~ zWVk0#vqG3wO%Mfv#6KSJOL4(io{*~3G3KX)=?DtQ>vz>VAmaN)i;-@ik|)(kTSc$b z5|@u4L5o%MG5T4hq^MmFMISK4)x%+Tcfg(pH?{*o-uGhN%|P^X=`^*8y*!#!7?I>r z-jpD$!$nR6lfpelC$<@SfkUof%!ws7{((`Z=V}sA+8^8Yno4yWUHsGK`TuwBSDinp zvfqT~JFw%ECW$fPJ4ci%Yx_#I*gb~$RpTR;k&f6ZlFLg=DoZZziArFhvGhfY>MN`C ztxZ;O{tkL1zg`9P3}Ibe=%lq9sRqv zb)Ee?`utqg`MO%Ki?BR^{I-Vms`0fwubSVh@PYX*_Mz%^6@0zXfYK~5#>n48T64)3 zb9FhZw&zvd3;2I*^K-%9Mj5r{`ODPXQHqXZzA>!M@6(t=aEt}=V^_4+TfIGkbN?&1 z)h+k;$Igv9<$kNbDB8Pf{>7NR>geD7P_$A<|BgHTs^nKrKdL1RXAJ4=L#;48UQgJJ zDVz!#+l+#G;TX(HRlqtNbjTKC!xT=TLl#Tri_MF!SnH=xg8g7`UsN4^vDg+pTGSY0 z%BDKk`_1{qfwf&VRcy!U|MGE1_J3}J4SqAE7XM*ChR6GFfJ^v5x+aOTY;53~W(3Pz zfot)+CtuelzouBdXB29T2%(ZiLZdB!NP?fD{zB%)5@G0>K*N|u}f?WCqGuvQ3Hmp>y+~f%%+7$&vk(hI6nWAj^Mws zrmp@|{naBRu*2aPuPtl2lz)YLN4{qH2>M?GU8zJNrsrFOJ6p|#Ih4vYFoj)uG@^UG zZgl1`9qM;nGv5-CtlkEUuGcu6gVeA(9ce;Dg0O*GnDU|F91JAIy5NT#(24t*dRM8~ zB}a1{(3ydeVH(y!_exH3V2FSE!7(>FU{FCcP=%eYnzI@g9YrQ6=pm~riR4fI`i};@7dfr5I2Qhhq5vAr!F*~XI zoFSq4;)Z)yRWFgBNqs;&%~wcfM7sh$2M6h1la}_=` z^H{oJ^(Zj(Lh>V$u!EZIY>(N_8E2R&D4sM5>qU+13#*_)Pn*vu0z~M|QNxc?egomJ ztADR}s6T%c|L)j-lm+NmFA^{2*vzGK0y3*-b-Wc%;yE>Y=9HSBtN00?-ApC+278V~S=!3KIhCaP=D zxN*Gii||y_2elQ;6(DIjVMK#tLxonrGiZK~tEwvU>O6w%5A zWjFr^b#05O5dI_I8&#k09bB*PO`$1kG~fGEv2J@HRpp2i zDX#^EcPoXrbWfeb+h2yaja;$;m5&s*5+Oa7Ih*4`nmbWTILzIU)fLl$7?k81*YpN| zZ`JeK`U@^GN1m@6r#QV)q@Eiam0*9}S_R`L%BBfnsvk%}oTbZDwHD#yapGQ+%WVd@_1n1{}J3r7&lCf5Z>@ZLo1%dDMO8bed z)rFz?{M5Y@vnvW0>+tx9O?o23x zeG!Of*pUbA7tWQuvcwO$+SG0(crclEKdomD+14sw$#N9qX;p6SF&$E8M@4 zLo^z5q0<;ybuh3UcG-);Ks^D<6nQXEyS=ygs!e8x0r(7G%kR>?SuyDl(VX6qvFYBl z_&{jNvDbKLtP|@V(-WXK=711L6ClEqk()d}z7(M)4KyOO-_r@@sXQgIk_y*DnDq1Y z#4@r&*b;mw9rnyHN%%SRtj3s^Vg+EpH>cMfgCiD4JefVivb_D;?W97JbdD2$;|%Ig z?SkDBfQUF>M1|9v4tPg-YqA!ARcD*@-IaA zvX@6Vechn)<})*rF!B;Fi=N+TTB$ODgwt!`0~Re_-JN6yrF5gf+`b)M6m#TT^^sIn zk@`nZC|UlM{M&e@P>b^4&c9dp|8M8tGH8{rPyQ{PPJ0mRl7E-NG(sKn?qgVATU@jw z118QAutpggXylT=fp*9WTWHN+YZ~zN=cALA4&i_Wge`6;Lug9!L5;&UC|H(!fQh0! zobGQw10xj0X5&6$*al`|p!1JMYTzP)nOa`E0;m5%V=K1X8 z=jvMc<@o5a`G3t3{D1G+y82K3%gXED#eAhF-|qC7V*PuNaDv3EFW+@7^qRX8w#c^1 znOusdN-R%rd-oAeY(nvHRYB6Ywn5iSbf-5MNRF`QF2jJ$*DvV z4=P_%`4>aP!c8v!!Ph*0Epq|AAB1DQc?#-KJI0XU3~K*AxWWJcRgMtKy%_riK;yqo z=*z4jWsmoL9xoUB^T}@-UZw^kA4BCedAGj4eAVz)zs3$ivKS)PLCaWD$%FCXTAqvd zhNA7{ciEkwYm9GUFf95@3|?*iPxZkt8c)OXzqaD}8#O)mJK|j#PSkJ?^s5~4gObCF zwFRG`#zY#yo=-?x*Da}DM{H_xuI5{b+vyp_;1UP=!ki9cMD8v+@#j0dBM`<62Zmc( zrogSlqSVp|2nH~*9=Mn49Z?zuXH%hG5$d~^)Jr3=!16!NnU2=X_ zKg%cVPC0hZhFYHG&$-X#9U5Ol1`8xboz6Hu!-nZArJhSYZ=2NdtS4`t4(q46<#xT7 zSZH?+looeH!|&Ak6`THXw9clO^ow;wmcX%Xo9@*iP}6`W?ndxZtoX7|iKM&cDNoe3 zqPD(Xd>^v69Bgca&kL7|zmEEO6YBhV7pc#i_IPcdC%#91OndYWK1HUm)#-yajjd~Z zJwv33uOA+(?SrbM@^O6M1$F+uaP@tC>ivCH#_RCC7;D`nq%AB^f%po!g!+PIFa!+| zIFGD+i6K}Rp}p;W#5L{POH?*&+dIiR=kJsTWb3Vvt@&cz0FAx3bda*V>3 zQ-=_;EM(?QW?bQVf7dNKwieSCVecr?|Co6;8414qNw|fvYoel2!HA84m{r7X6kmj? zdj|vkDig+L$igp?&|D4;dHEQ}FNgd~KS|#_a{dnXaJhYd;rTf}JVEWjcOs{#z+smIY-$<-pIabLFC*qQN zLc!y!|E2Ug1B-TQPp>``C{|0M+0 z8`wMbR9uj0?~+S}8C!YL+rtWz?&dX5u0!T1G2bJLs747OEoVzO!Z^r!&=0?oAt1pC18d^3lzu>R%Uo@N z8*_Q+mu1G@D)X=#g=Ro zxJO>WL4zF2njEa(7~aCnN{^n!?ok+N@bwA7!u;gCtiCV-gYQX%!cK@sDTXVbM6ncq zp4WxCwJyF56uxbq^DylYDtii}3>>BV8^|dA4ri25r@*pms!=MU)QhOsGX|2N=fuzl zqI5Gwsi&e|F{)<_7cq(@!||@)w#kvtu z4Asevo4Ca84=ubjZB{Ew)p{*4+Vk82E6vmaRX z#1q2KJgRss5EfOwr{Y{K=Vf|ILZ~_UVa~D>@oVhrO7Sn$gUvTs- zE+X+~m~SO8w;qneS$FHDukllbLIZa(!im+_g^zX+1QHfKTZ z?p#U!qK!w*%lZpf#1}qTlJ&c8 z%wLF1E9P?(qF`n+)W6PipuyZvLEMK2bDC3s-WPr8`tdNB*B#&f9!=lQpA{pXw&kbs z8?C3Am>}+J_snc(%eq8i7$NZ`(x1Z4NQUkC@2a`#qLL6_;cq^u=$q` zp#my4A0&<`JHv5&!%kv+(#Ri3!|HiIgsL6fSiyvW
    6d?E6l4!njeg*Fi$J9&()|pmv83OC2lqUnVWD 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 L2A}EK*oa7I)jlq}mTmwZ}6N z7R!eKQdm}tDZ=Jj^T^jWVpEWo3>0C}_c3nF!sgdT)^5ZG>pPJrMBS!En3@Hr9K1^3 zM(%H^%@TZUrw|a+h0WJyk42i1I|=H~k!0jv2A4wFSxCgK1v>e8J2$4e%k%JQg&Unn z&lFgR=}J+_I{Hpz%_3*H4iab@xM^t5fnP`3a|+rsM1d5IQ7<3*8ZQyx-SA~gB;^Ra zguyB-@mPR3bvJ4gR!-<)+~FO2Qn%rNSC|y9_`hOM9LI9<4hIJoN4X2c>Z3C?zW`B! zIX;Y#o5={cIJdA4$Fy@#D5h?7&lIKdS$R;mB3>I#a1e*l0ni4hn&C0IkIpI7?At{c zrsKF|QRc!8paSk3tl;4%Tv5C+4l%DYbqSsE}&K}%-n-pvZ#gj|4rn)u?c@} zFjvgao&^+J8IL91@eo~7v$7D!v{VZ(%SPNdH;@8ZvTgA;opAU|YrGAs7h3(LoBXyd zNWXXp>H5hnwK#*+{rI#xdoFS;rr-$kQ69AUrJj0QCD-PcR*}YiHNGvOZ}Qi*WcI3> z;I0QIs&%GW{(@PJFwR^}+q|NL@Q=fa(P?be6zGrZ*XfAUeSQkH~* z^#xEkRXd~!MkjPR&?X!VrQ0RZWLFD@`k}$SWIJ%v1iflIS#-R%8g1~h(6Jc1I@7+;f2SdyqKm)n;aPRIhm*zW6rgqW4{Tz zGdsq!unmR!p#kJNXWqo3acaTX&ne(1!L}=P;Z_YJ;wb!lX(d^e!t`Pnz!9vOt>o7Z zU)Fj$UzCj)=t^kBh*E%tAejujzL=Q|&=94wLE-c<7x~q$XTn=jR{aQ9JNh+b0pPU) zrLI7K(u=hUR`x26VN}GzHrhRb!YYulyE(ER{Lwhll#)Ng3fw_d;R?FEn&4dYc?KRs zG>W=lf1vJDK-40!!ITd>hJ^GTg-QZDhqQ#ya_H6OVtNP~8>y26W5IT_i2H%n>~~@x zfTWtYm zn!tMuJ3wtlH^S3I_Y6{voDZuoa#fSwqUPGz0%O4GSm%eye*{%0^0&tID;yG|wF0F@ zGw5NlQ&{i17?$ykbc9UNR+@BUd>s(C9!Et451=VoPj}){L-vW42r8=<3Hk#Nc)|T6 zP#v4}^}^~{tci^vg!x$LPa)^=mOm&mvSZ^6^aU%Y4z2cP%a#UZvOfhKHgn)Xl#bo0)jwtp6?`U|7>z11KJ5%KW`PKx$3;XB`HC$Gh+)NH5zP39 zs*V|1HSn_{`V5FLorMa&4CSNii4xjwANOeE{52g+DcU288pvAMOwLx$d{EaW)xjQc z&OBx@d%j9sR1w_=RYW-O*44ia9w04<+FlR7lmNwJIQfAE|71^9<6>4%Ee7Ig%yG8Ty3O{NU;jN+X>$5#Joy7 z7V^?0N~vXx__1}=tg3vj5rq>(KK?bC?l!!fiMqgG) zG0|N69=!JEJ!dpZ6W8a`==xmmNm!rB7bLFFqaIZ6Osn+NpF6Hn#Z6~WrNs3avw>tW z%sP$O)Sft)T1T>H$|;Z6qkCZXhL3KsNUJ4qYTkEa`Y5F!e@e*8(yB}nrs=s^9z2}D z;>h<&M%N{DAh{CF0*Gu9VnQOGvYUzADmue7hK$S9|l5_uquz5%?HVi1l9sZ{eK z5X`HAIUR814lv{xW>}s6bHs@zlzIrtmP7S1ZP7Z1JfDEaan#_{aL@esGn z3{jE3$$dU%91ml?NDM*3uT%Dm$^pCgQ&J7Mu@Y-p`67(5ay10KZThmV1&-`du9T5S zL&?u4*|BH^=c27^;-G&>VX|*O6T`~xf^rJrWAdIt<&;3N!Y#l(1#h{-tbsNH`-&;jL-MyV@lWf2D| z3?K*q!BnJ{_060&Hi4q@sFlPUU&vlh^an0|A;@#{NbnSSUtdakgrHOk1xUx&%+B!F;Ab@F4+5>~v*lpam;E`7fQ--$@H zd@0cq;4Adv@|3?LK`IiE?>@2Eq1oRM8i4~E|ywHe^_bBqq8ipy>-tSP3bUO1=b$G?f{-G3MAN_rqD}lwu3#OjF;H!urag`%9pKStpOK4ZWD?bk7j4`23t}H zZ}&q4Gp4(N5;qei9$}@axo|cP7Toa8rsnW|y9dkeJ5l{*#gfhBp9lfc*1KvV1jted zkf{(XjUgCp9gwH|kvirKH1<@ZJZctY12GTE58cPGn#tGk^ycfm@EDoY4wI@cp}p_Z z?)3<~20qk5aaz>-s-^~TxMD_>9?A9qeN3n3u(8Ozxo0NsL{DAk?m>aDew@Y7fR20x zS#}_v0~`B>K9Z&*&qW9KuFSz`MofnnoAKnt*z>zLI;2lSTfTx9h3`4?@^pSh|Ey&5u3IMKdY6u-C3`Yb-b^| zHOE?o-~`yvK?-Jlq;m6b@+drEo%-}t1NFzLq?C2##9337od;FKhGEPm(uR<|UsJbq z-?0~ccB;`XO@x-PmJG_R>h^|Esbg&WP0>GNJ?(SQf)H_rME_hUY{$YbpW9>?JEc1? z0GjRI*NhH*2veWbP3{mrn}F_x+h~}s=F6<4Bg!;YgTk^nb} zL=+!35quWgPmn7LZ0nIq_~|ZgmRNNI`iE9?gnF7!$|g4BzdeFxoVnHBvfheouC?HY zS=iJH7}Dh%U_{7vfC8g`i1M`)QW2km=VTfy`Lkc6Qw0ov`uGM+?)YZedKt|Tq|M^T z*s8_6hIAU*9;5)5HUn++jdVSmr4lvv=&|o&+cIDfsQ!Si;>;U6gx)avd?d)j>Dve8 zt4GygigJxP4NyQE3}}QE0YvXmyN)#*WSnYLYNSRW&qzvZ6m)OCDc306n+eSy#cdKD zQYprBUC9tGiRefuF3gp1><=Y>V_&xUnJf6hdukm*%1Ij~PV$JMdvpNgBY!%Y}s7)SOD4 zmJv(V!iJ>{(gSSp9qW$~=?&skuu;Uo=p13ac0*3J?9DIf1|#+^+ACw5a%{s4+it6M zP&~6eGi{Gf+o03-3J~S2S zs(8BfQRy~DrQ1U3E=D?$r<)a(Zc$Xa73%vX!ceEjn*US-+S=7sTC)+?jVoNe@T!qs z_0?Xv)4ffPc^fkQEJ+LFQRa?5!>eB%;Uc!fAfFtRv%i27(T+`kskkO%8BkJttY2;0 zfPm%O-$1FXxDDR66pC?AeD%;+K&y04+m8NBw)y&%h0iph}e3t>%YdyWfzTAT%)mz zv848s%qtsRmpY{Lz?Dw^k=RFu8Aoj~j)V&BzL=^;vbw5im!@QUj|tv3!8HoK+U0E$ z3Tw%|iD>dF@@tM4-$3f(G)aPh2oRhmEk&jkoRa}NtQde@drpQ3)=L>GhTBoR8uplQ z&^Q?qOhW>kaxg@JK4%>L5h^#KH}km#l~{$Gm?BXyW=Uja=bR-iUt!q-#-Wq zKV>JNOG{Bk7IvjdXcp4J1L-q|v=2SRSpw8>wLzReC=7kogRk&Ml7*o!R^t{JWa;GX zPwi2J99s$8YlIx<5}}9QhHjYSqr^gwDJCI@ZKVo5pg`*}B{xdUp^of;tJS@JuzPaU z!OrqW#PNmA=;r8{;U3C+u8^bkXWqxHSg>2wX~MY?dQVOMy7^w5L&qeO?D1n$+*e2s zKLdu~{Xp;@7hE~g1FvA5O10>KV+D6VIyqK%qI?|vLG*!R&E59;SqhrTozejsb8I>c zyhP#*C;^E^UJ2=uW*Dvx?KN|6)YHtlBrooXeE!GVdt+Y=uEWU+(sh_!-gC04d8d6? z4V(Qi$6!W$J$gJ+0-A1c&b>oQNfPykfP=gTG1Ul!vMT}sn~17e%U;jwY^%;S(LSsZ zWx(zM3W~!tWxrlc(>BE=X%BMEOfssN2$12KYah*A`x(Q-M4;Ao%x564ZzI|l(ZWW< zWlAtXEy5<X~Y>e=)DX=c5UJ@|a5dsH5_=t^#%}s;?&P{T&ZLcE#@1LXeEU*6% zECcvKfyIOyjLc0el1ziV&`__C_Gx!mq0%Uys3*Bc@UhS%n)2&e5^tc0;CiLKT(2bF z^0^~0>IvZbBatNslmP*N`Y>SI(QXaCSpIe!a-FTz|t_=BT?zs4G25?;&12 zUO?leZhl9M4PngKQ}BHSTE%}_MM-O0zWFjphRA$jM2{%LD!+8I|(qIFKEL1jOy$6B&x5yxS-;3%OFDy{|1?k;* z7iDU;2Kj0|ZSyp#oq}u@K7NgN3IhSdECBW(% zv1;8!mSCW}&Tq?+Z0|9-mh8n$OsIAE7v%bF@A0O^5L;Mp%R-C{ETk6H_?-=S+>Z*? z+uj6trQSxvS66TQimb%yY^}OF+oyP>ext~fjz-aL#r*bT3S=b3WzXdHV`}4WPQI~> zU8oA>Q;n%eeBH?C`lv_Z(Y3enUl?5`_oDb7j=>OMBY`a~FfeF5U@#nVuaXDOrTt;X z)na=k-x<6f6;GIt_vVb(!S5&^V00rG)SCf=cje$fmYYV2 z+NpiRFvZI+zQbB1a7~UZV;2{kNB$MPqJ6f}FYhD6*;~N$-qJSP_(oeDHkjo{Zi4gu zXUtJojVpyywPR0DCMoGW;L^Sm-;Yk>ly>vcCRb53Qgxhz2i~=mDG4X4iez-O>aa37 z)8W66l*6P+R&&3&85+b9U>DW$7Y%g^zN#M{p%0m=DGPMR{57eKd%r`W4xr-vf9!n; zd{ou-|AZtkK*Af4B`V0ML1R%H#U&8X8O*>Nosozlv4W-|Hmz7G&S;Qr!X%LNF-om< zsaC1l7F*lWst9Op!jgnVpxU3Jwl!$0FO62*Fo-(;@AusIX5J*B)z+?m`>AB!dw0L* zo_qEKNg`HA3Aqy#U(vp7&Lj+{W;4ZGX(1wP%sv+ee!c>qufXRk@ZY`ymOY1^pFu)9 zs!TExX2z5xg$K+#pK;vQ+h(ZS+R`v0&^0gWuYN#0DjLQR%w#EUCu?tB2xIURJ^YOM z`V%4tJgH}yVfGS8HXuHL#YPGjZ|W$u@6_(M3TU^HTT;}0?t80*x<}XQuA?moI9IxK z;I>0@NZMLe&`9euN<_%@Q>i!{OXrW5C)?M0>1hLNW=V*3{DFWe`Tp z8!cD$=~rwP(ah;@W89?ea7&)jm$$xsS<_?NZ=jkme&;o!FSC9_=< z_)l~I$;S_u)Ep4ryC}9G=wd=cN-M4yK9ln3U2f7A!hkC&PC0K)tTh&V#y@GnyBxS~ z`Y1}~ppUvkMv_}M*VaeHus|W>QN>|$Uzm(k4;sIrgGFW7*b7?)vkm&)AoPY@&XDmd z#k4M31HwOY7FkdL=QC2?JfZ*ABxC06GUu#QHhv68KpQ__Jp?ZqHhwoj#U3&OYb*x+ z_@7apy+3j$qySZi!S$G$*Pz%8h?4^s_>#j@4(7QHTxB^+3a0l%ZrlsJ{qY;gtdW(5 zd0~k;;zrVJlS`Uo3^)P0XGLKfra>(iu#3H0(D97bYemI8(3dbBv80Au%1G7ud!!BMW&RJ(02a*Bcpwe|>Pz z@1di!d+G?P?!tKEhw;un+VZ97Cur2FiBQiD^8~{UbM(m7@dMt-Rhf+fB2Pk#9Z&I46NLbu9AG8|wZ0y7UbvT)HpqfC1;R9FS=x3z)ukD!W0t1EHy%;gVM zv*4D(;to=ZCdj2^-8xa3S@i_KP0)ua|^miLZVKYA5lf})OB zbH7coR>rHP4{xRL%310%v;`4vHKc33qClPOg+mabh8+ipo^=GYDE?Ji9knR=>9M(7#|OK)r&M!acQm&f#W+(+jQT_)a=N1Dr8}_W zG(|3fKw%wyG!Sgd6E1x}qKi}%<|x|QXUyjc2o%x&a0Bq-W7O<80cSM+BsnoI^o8gW z3;ixL1ge9TUg-FeJXms2G2mG8&H`=uOuSm}b~R^d_cv+rDR?5z&=66UWv374zRoot zKU!I(e1MsdYlhmRlFV5mywAJ}E({p=K0ervX7tvx-w=J!qGb*K;w_{nsrhNOcj2YX zG0i_)vmJ%l6`1XS)NI?YRSj4j6{}|JF3EVSI*ULpn9)(>IO#+iS;o^YtNG4Ab;J%w zeY+0`pTn(P*yKd+d05c)=P+~Uj&c=$kn9 zu7J*dg2uE0XFtw9zV7JbYwY7BfBcEUTe0-1{E-)`=AY=XdEm+l;Avvqxgs#J(ChNM zaW_J<1M*Lzj$DvN=3jab!C5XZT6|W?<;9V)InnVpGg zsDxTS!->tW^=>019>bBribUpCDg9fOmbxIJ0J&8juKOc`Dq(b~fIMGmo`J2HFc-16 zP?-8QnFHqHmAE`5ab6y8$OmPxz~on6)o>sYaGOI>qP;KL><*s-m?Q36Px>|Y8pJW{ zw%hGLfLMu==_AuuASZ8nw~(9I(=JL1?>9T0M^!4FN2Pi1OI%}Stq-peYde_A zWv26Z_G=;`VmgnuV3%|r=XO}>JbodCqT?KlM22@6#clcC-Ewu^DRaRZsdcdQqq2=y zEYgA#vDA_4?Y4Ai1ELoN2C{sThvkM+B?TN|Yr;Zk6IY;07m{_STmRkKf7kXA?aet}T&d7}!T*c$h5`}Qc=g0LAOJrA4*I$RQ~a#bC5}jt5LGtPJ$S1GQTt$HSuD z9jiVZE@48SF*i0x}yy5v0lvj~AI)uptjm&U~R9gCYBqpiCTe7;z+!(|8d{>o*? za-{QqM#7yQ&J8a)xA-Fl86pmX@TWB zEOsNl9-gMB#fR|)m|&{)LE>if*T;}p!4kD7PpSB)iFP65`~Mg|9xwTyhmSpH{)6xV z)WOuj>9ns1cYw%Fdyw=MA;m+by`v?e(w$MTF&Ded-(5}jdf<+^INNfWzbqLTy@ z0gXE`5!ATZg47|<1OfvxZz8^pyaoIdG`5=O>Rc7@@>rFJzr$5I-&&RTz_?ngvePv2 zAc$8GFr1iegbV@u--&~}%ufVmc6Q=#xI^lqvtSi~dIkX%XcmBa`3JNK?hdG9_6HlT z7uZ!`y3GbtriCA~zbk+q#|zI_GWYQ4FtO)%-gkVRao_n$zH#^=?mH=)aoZ_kyB!E~Z_n*KZj-INOqzJriWQoIpA5RwV<(5~nSi2Of_ z9^bySHEG-HnS1(Mx8$UM8FAhP|B!;|;Swy7OYqdpOYm5TMup2b!eP%V{6?BzvF^h^ z)i`GPc0UVVfOHuz;1lB>BFw*rf4Y%jSMqkdTsIcujs}PGQfvvBha#P>q_`ShJ(W_l zBR3QgY9Lkn62?X5LpKga;FZuFQ*|fV81+#A?$`M79}jPwbZj-~4>jXfv#M_fys0Dn zZ@dic{Y~?S|0H<4@kfqTxWfIJz@s&2(1LFV6O4s*01@XP3)mhSz0n+<1fGgd_OuZY z=|9c@8J`6DyXfcV6t07EUMVkf&2mdQA1Hx}0jvk@6n$cM(ki~8L8FtYzmb3l`q~MU ztHLazyxa<^7!?x=c>@uFxOLYmOX*v5I>k3o#u}(&T~il<4-}gmQdywz}AQ+QV}$c zGV}sCal&EDyl4!K09qjlKlTk+awKxUiFRR92#^(7y-IeESaC6AD2gBK6J4i1A}<9p zH1HHAa_7H3Q`C1><9RV!hhA2Z9UVz8`2_GaP2ZG6LPcdf~rWz ztzDP(mY8av0shhcWYzvcyIPm_=c0YPg-UB1ry>=U=D}iJh>tMQL@SF>UDY%j-e^h2 zX0Kq3%<1seip_qv5n}n+>PF|To{sF>I6YY222frqT1nAfbdV`5(Oy@tR; z9DGaQ0d#_xnAbG61UA#!xvc)0R{ZxwOJEJZNW9*ujlo1U#=*prNohAW z`+Hf^E=L+Nc44r7OqlZl3|aHBCWBr>4cDwh`}h3quFZvCrS(ZCl@tQpbssZ=BnHB=SjFLHBLo!Guyiec4ZiDU}+s58dj03T?`t%G16K3aR@!>P7=tD_PF01d@% zFya7qSuYoZ6vzM@4kr@Htbwo8o!us9IS9KIJT%Ay(9vi}R>gJ&u{|U5GBpaT-et~u z7xYw*X5*P%a%?PfQ-fA(+NF)=%r?qO%|$mJx(;k&0%K3hiJsTPoU8>ujLs8A zXY!U*N0KK7`AvqyWMx?LmX-Eo(U`wsc#c20B^clAX`c$%B}3_>nvjZ2ZWl14R#$@> znH|bhrgF)woLiD@3yDKy4;(X2O!Jsu{t8rH84(`C#!wve%6F+Y0|o@DS#1g`y%T@b z*%wr3>Eqfr!uo{By6$w@&SmxX6w+~8vbCF+{`Fyw+aB%BWL}Y(k{Jw!5naZ)p8kYA zjC0*P>2VgTalZ9hkK;T7+mwphWINt9diP z2hP9#0T$*Zp^94NX3!nQnoSz9B1zHixbF6}Gi*rEIK-kcY3$z^vRbwIvTE1KEg7BT z-#=+CZmkK`KZ7*@jIgkj$nuK2vIGk3(R@zi&$}z77R@i01!E4c<8G6sORg-(Tsn>w zBbNMA@R<}rk-hl~MQ!aiYv3)yov-~q#z|nTC0IKL3_x1&vNVb7gJk0y{Un3~5|~q+ zYW{oyWku)Xk&$CW8NcByYVqOo@ZEB%RZZYat!@{F6HH8jf(4$$=1;HW(w~PX0Pre# zfKDEx3njvksbU8(m3!af#lO?cKMgJsH*;%jkV%+221alG9alt|k+k-yh%m9rF99)vtFg?~DqE*muQY zqpBci>B7ObCIEu8dO6y0@(bnb+ z3?`dGV;V!+&zr)fJLbKPU{VD*!^OIBjXQWO$c`qt3H5AXa@f`C#`ukTA_tzGdHCzY zjg$l3I}BinqUY+RPaz&03}t}jfN~-J=tKm!#N`;?vubQ4RpFC~7u%`9?;kR*gSqFs z(L7kKnJY_Llfa`O;m#%r2(*PZJANz`So%o2jWfcfuSN&SeFJBPo#u2^5k)>?ohrSd zqytUQD69%1oKeGQQdt-}ZgdEgid8K0e}S7>2!vqJ*cLXn1rg6)bV5f341}cDy^F9y zJ`dLkOY9Q;w8?U%TO*p`_xi`W7WRPw0Zl1F4TDk^6`6-7WDM-ueAsY@(EN3WZXQeT z_Xfwh=KcHI_aVUH#Q?cYnh@FDGPt!_APc2p+F3 z{~7PZ(Yr#WP1^GN_#2)B2mse8N}08Jf%ZL@(8*w%nTR_*vA=sK1e&aHbe{w z8Q&%u4|X+d91%2bbO%Qtl<@Go^jU9)6Q^~o3>s&sSbSy1o95Basue1ol!^vPO2zC0 zl_f|{0N8mtA|7r{?$VP_DX)0&a(dkx^I@L*NFfOrTJ87q$3N<&-P7o=M-0fVk^W@s z%1hd>fMvN@M?NGa&F|cU-he_%AZM@~NhvY$!A-raP?ym^QMiWtZJ0shF-{~_xxzH}{71OJ@0UmXE)g zHUCvri&el@g6tl)5~MX`P)IM*$We?2H2eh?Dt+{(_H48o)Fy+;WqxCF)B&(1(9c^F z(T!4-QwiK4=tE;)@|FVN;nICbAJmI8BGu@BG%H|ytjaOS{-yZB`T)A1u|uUQ!f%wc zL+V?pl&atuGs#^Na7Vu^!26Wh`lt}6;1-#)^kQ=Swpr&{bW|B@CVgVoSq$-wVL zCVx<_KMH_i#_&1@v24EijFi>tet>rvsv1LP>Le>hm{!-fhd~RQPhP$aJ<&$`k7%gt z%n+#Ap4>jr%e4Qd-kEjH1CNL$aP32f9)KjHR?@Xm8H?&%w3p7P|O13CqVn**3zofA+QrtJH zf|093cu+_5jYyEgB9I{jc7|g)V|~h*1NBeTT{&9Yx&o~wx4=@~t(H-5P-XSfIn2Jb3EuAEx;LVT(w82Y)228q zF8sqWiqxQ(BSj6!5@L`UiEpk-b00G={S0yMr$E#HvqihyKhrLB1T0R>DeQzc!Yzj# zyQJLhh#D0KNv`lCgy)i--uN0qR65skm1T9Y@2fgsYL9+7&+}a_`)M z@Uf#}iz-DZC5zS_jU;jhJw<#$8P(2uB9dtsF2ZJ@M}<15Jg(VHU`Zd>|NKA@z6^>B zez5=v-N?P>bW8PCTSy=Q874MWZ}GT5q6PKaj6#TWBt$E&V5Bwk1dW?ml%g>dDv8ZM z+ND_mn;0`1A*-xF-ZYy^oe$7b47EWzNjHX@BwVlFfxRs~$F0@Uc{!A*_J)nGc!P<{ zal^b5jDHCBP&Z(FxWEI#IT8THYbktpnt?i01wCA>kA|aCXEJg;-64%e75Z|>{1)(L zQFMgCpNi-)Bz3`76?Z5{(O_a4NOeF8!vCmVjtrJADu`-ARBtyQ`GQc?LqIGt`J~Ua z7(R`dYWta_`q?M~bEO*{D6i5l*kg7r{(-2y9Nw?Vr!%iA1zg`)2H+xKQC7H>Acw0x z0 zdBK#F=1bphN&45(bc_cG2Xn|b@R3-f8t+`<8LGF`7RK;oSF;hghQug4Lp+cFt~a(moHTeO?hj0EQcHVs}E?#4YBK6SzGHuv7Zc zyx9O1FxzZOh7@@$Xe@E-aLT+uk1vMBed6LGHgYiNjYLbI75zKMHQ|RlxuY>xGY3OL(X=* zk5;R9vz+g)RPUBM-{JVO?oXWWK&0^9F6TSoQocLrd^cFVJO2CW@kEe+QOWl&fpYH{ zf6d~8Gcfvvkialm76s^t#=O&9vl7wQzndC**`1Ciic+;;Ign9n`ewM%f5mT{Ul2b~ zy=X|6uk|Ak`zcs+U?n<4AB&Dt!>hh!h6@Z@W?}GqN0@Fl=NuV{`7dKb%<`SQD^>`$ zqwM!qgf9m=Cpt`{^UtZT&zuhAMS?g@z;_}UB<6Ex$^eQTGJp))s|OhXXs^@W2^uGh z2;iwQ<2Car#A+lBP#SQG0G={)>UyNO7#L4P0Q={!BUw%aM;@}TKmMT{(_Z{Ok?H?P zO?2fpcpc2ep?N4qBz}<~@o}3;;a>zgg&ZW631b>NAbOw-!4ZSL*a2prA&uX4Y5%$O z?V8Q9+TG~e+u$bJRp9a|>DyW?oOx;j?cDzEyCVlH9 zW#T93Fc?AJ9>ifJ}*)ZXVEK}sL9CPbb>{x(|bLBBb^Js1b3UOF{ypQh6QcZsx-{n1EbGy!_~WmvLyXn zO2c8Kr;QwuvJZ9NNC#pX0!4B|qmvzdf=ZrkKGD#U3@0YT@sM^GW8na3^OT^H@FdC* zywWZDu-GM<4!8-DwG&>i$h=d+Db56C2x^a^G_e{B++wjhLo7(tdXw@dy;rO!rjXwI zKjfQJ^xhPZYS+T?=si$pVQpfwIcg-SGp+7-ScqWhU$mvnSPm;#s9xA?0i{OHzjj!t zb$Bg?G;a>_TYIF}Cpno)wpGQZ=W?fk`X4G>CBuaAHe*RR_@DE1`z}B{1+1`FAA2zp z;YbRcNgg)>rZ*ffB;yiKdm(mqJx32q-6mE5U zKSjPPe@x}qBj(M2%^x#JpQZ}w9*iFeqXq8)q-!?EFbO}h>3)V+)n`sy^weM%d@!B4 zsi?kT@)4YW<9YM-UtuwY{k$1-3?-@nLK1*!rW;H}2Jbo6$$M_S9`$f`3T@u=$WV&+ ze9FA@Yr=b;4IRRotd4O=g2R&DysstiQ zh_lG9VZJBm#$aeIwwnw8NGMcwm`^xWjpa)_=RJq8?Mxb#r!C)zUO*<@`|y^eeuuGQ z>F>@T=hCycCHKY`Fw)Ka_*}C<_z0~|+4&(((RTCoM~QxMBj*3AH?UqJcjvt{fWlZY z%I$J^lGDBISE4!_GR`T8PMAP$M5`-jkA}4J!&ECjQmw4&v6Z7xV*)t~Epb@7@>f%p zzcvnccOrL|R7Qb}A?(Go%%zs0XE2waNkigWrbgjSHFUUYXk3pCDS6C=)xMH>6_I>o zaq>X`bv%l8Tm|#U(dUj&ZY@36tA)??LTPjUPJLFBp2+hdj295-;8v79cn``Vu7%Y^ zZ#L0!>?fSmEDfu_{N44x zT6}B4e?8%p|K@ijjS6_My|%w^F@x0M+B$%+gu{bIdztYYkP`lymziticd?#`?o;iGjE2qzv1EREoy02~^?lO4Fvx=x>p{wsXeCVEr@adQux2Ix5*e4H z(jr!Z6sQ6j1Q77v?qLXn`_IKGbotOxS>$>15&8YE~J7{+LBx*BMW#`qC4n=FrEh6VXUbL0RR!%)!E2(DhqH=Df(+*0drf?1AP)L9*l-?Le5QrO z#j69huxS$~1aGf{Yuz0;DF*E6ZXXS_BjQvD3Txo8NuuXPik;~ zNe>PJ{XjRioKK;%vE?CHhdYUKzazljx-ReVwE`0?pfSd$? zJT2Q?u)qP359Rz#fIPa900|T+02wc|0rFV@WRy=`0P?pA7NO~}U~x$$J0vWACuYN< zd^P_M%B4>Vi=bgGSbPaIuY$!|fkm|k7Hc;Hw`E*%Nd5;vp-55ftGp6Eb77+s#2$js zSe|H?&d(x3?6-enzE7)t8{lP}>&eV_rPaNN*T{LL)zal42n&`VqZE+?xLcqPz=#FG z1Ibfd;>B`DeotU^4)wU;On9N|ObG-u<4fV|VACIYf8yj5r!gijtf9h*6Jh_xmjjbi z%gc-@o-tdYB5QhiMAHW&Abrh^e~{Gy>zby*KI5S-oQ#{5GQe9w>t0lNnjfRD2Wg5H za{Nf!W!`mqOVU_0*w`0G0+QP07^1Nokn`O+5-IN_Q4-|$y*j05%YXA?(X)YQ_zvV` zR0AqP0F6Mk;dMpNE`4e77gfFAd@Wt?u|wAb-yC|$TA+?TFeu?l8G!;SC39gm71{^* zPOOmE=7~o#tng&4avpS2To^+wEs$PuvZbM7aQ2MC)3{hD#eINeTQ&fnb>KqcM60h* zX`8n6b^%f>y9hTFp9oR_^nltvfNSM{1U1l|tg!fV#IK^isgnJ}Grkq-XR4WP3#{75 zF=enO!eo@ks`Fjiiq-N;vVDkBH0|eu+{1>mJODbr_v{$BjvF%CSXgCD78W(@hRf^^ zb4!y>LS~Vf1G5ruecR)+&Hb?XdVR>b!<@|u==eZCL2SEQIFg| z!vzZDIIJK@;-wePbOArmfotTCdG4MQ{~GS3a0pyia0^V|4D{~-LLjO9B$>g6x$s8o zqo%=6x3u9UnTZD69{ z(hDd{0X1;#v1#4_we{zfl))1G{cD;bo~%ATWE_TBub7Hi zE4Q_8sY>>&EmJS;v9Q;l7<`7cn3fb#hF33mJRIYg+AWKn^H)mf_Oe)zm%+d>sdSfd59zV+zx{B7HWv(OSm{ypVSB zLSz+rV1=2hcmsGAbcXct<^@A=7hx{Orlz(*V_HTrR{oe4f5W80j$Vv=7j`F`L3nxm z*)IXFL!!oem2+oiy^-MN0!FydB7TW2a3kP6z+lQ>vz2WH8p067InX+2kbfm~P<`T* z0pt2|KJNJEKR0#hugi0yhHQv6qWc;CA5=PwRYHYD=9#x5FcAzqN^n!* znMz<^G}p&)13rWsh=1UjcY>bWNdJ_Y4_qE3eSm>OuoF^(<4J498}YMq8@uYsTm+0orFIS{j$*8#l z%a>j>ZEejO;P=!EJpaP^O#PH4Q=f}f9i^pKwSpY{bzbVEtR)0eXoQ?8*m6!Q1Rt*Y z8HFX}?RCf*i*5d%Yg;nB7n~`uq$TDbZ=tjL9Gn4AekDYbCA8b&0nzpKwzm+pG|$pj za#V1g?J;Dx2X~>v;1QvZX$@*WZ-she9`qs0bsS&ac+AT`$2K7wNwK`x1D7G1^{(P^ z&VCWdqDfC;$itr}neBz+5GZ0Gb-nai`V2Kwt&et~blDTRMp-T`fRrC2#TCXuL7AnX z33u+| z6An}E4_FAB`frS<`ES9S6~1b3edI{$Vl;G?1xaH2Rpg`CfF z-o5%PP+-r;I|m@YKzw74`SDQji?encwclnUSezv9rJIb}nmvR9c{pUphJU=X`5i{h ztr_PSFnyeVZoyWkjsaf%ckH$QlrEZF%aeq+*b<6G1mFriM_Gx5&s=+}&IQD0$f zqoU#Dl-gowyuB9;_zq-6M#)ZGG_H=k$5F%8k;}B6sA*Oe!J}N=9O}Bj zQN(qzTgG87MDOjdp(I=^qB+J39d0CFVY4vJB&mUsKYS{f3l7?x!orNo8}9_sPHi#; zH()XA`E&hXoNqF|Wd}z!E`jjeHv(NU?wt_ zP+J1zQ{rr`I~u}y5Js8Y1XlEIq=EtkJZiMG2r|*w2=^WM`n-h{tKeIC4 zN1_KXF^AtqEv(;I5v#m;n%ywj-Oi|D=;4%4(!-;u{5N}8Y4@->-kO6R zI?CcN!|5^i&6zV@@om`+)7>3M>hZ^!R2T8lAVP_^RgW)-9)%(wq6j!VrgUHige!UZ zT8!xa$$4I?i^#MN`K1Im8h{~Ng*Y{}Npj}~Y7r?E>rIJEd8BXrabXM=4-q{+%VH~w zVK31hJ3yo?zc;}?<5(;?|2z1#^nY6&zn$;x-}}Eh&Q*ajkKw=W5b>{lLwPpskr%@)%$wXf!kugaBDpT+g`x+3M-wu;I`GDhLuV z$wXXxGYZ9?v}_Uxi`v?0nznXZY;T`vp0+kHpti9(XZ7O9vHtj31EK>EV8rc?^zp|Q z=k|&A2P*eUn&;?AwOgYDt>S%GFOKH!-{_8ls& z#7~inP`_97dgKC(#Gb$xF9KraL*Oymxf zxty4u3z3G1f#&e^?KGQ?+M3)Spdm;J3Sr;!SLbMTtgssI3h@^sM8ix0wv74j(6Uzh zptN#RBmMx4wAv5(!^jd=-Om4{)y31LHuO~`?2pl}!G)y}@64*Tl4s>h_H#~9B**6l zjeGcgLqGh(BW+}->Yj{;4gJ;o)XT%I29!JiU~T8Znw8!o&=>u%-#O7KMr+4VUi*{E z#(sTx)Q9colwmE=svBpSgZ@O(1oUTn%q2h}SbP!nVey~;Qfl#UmrElt;VOUy*R8g3 zKJMteylBqq-ju&_=dVKa9n{){THOFt*4h^-60o))rFo;2-`-PsOv5;TI1gF2R(CE4 z3@-es7&V9_t+o@(5pU0qgh3-|bw437-D5-{h-Yt-j~w2GCDPp=FYRG??O#E$@YtU< zqG6=6VV%T?K`5zi2rdXNs;=NPZ#b`z+qgHX!21xZ5IDUGWX%guz}hL|o|SVk0r)Z$ zU^KtStnIK#JY{CXA2Z9^<_u4P>O%Q9P`;fEa#_hW`C8&J{8FpF?;)Ai%pRw;62<&R zZ>o=BMsZX^f7d+rm5c+HxFog5>VVBe6|BTM%nB0D#E4r_z!3^c#`^nLx=bANl2d6< zyy8d{V87~MRi4LvZT0Llg)8c48zV_X}5m0eIz(m$0*NgsoLb2^J3zD`8B;jlm z50ct07D)QC-9r8s&X84|+!GdSAIDJeCl_*q&P6!-nT89VS3G?Rhi zs3Y?m%jjG@%7uk$Y8zbFxHuC{&dh9MdDk{>M;lnFyw$y;hhZJ_v0DB22L@!}hH7%# z2llI|g#){ke~53bQ3!!3mGcmzERf%uvLMe5*wpLG%=zEzRlm>v)A`hqU- z+x6hyfdYp(xHH)JIvaoiySv*m%c_GbhkS0=vJarFWulC0P{b*u>!{`}q2BDj!_?qk zO9+16+uyYUypjqaO!SD~xuT?tb>kNmav>fF8~A^lNcW&vnxq2o3>#bS2)?t&4!+Z_ zmp%{O@`c_-A`V3QJ`eM~8ugUmHr!k#E!t`igc+dV(x@$r@ibB-Vm>Qko}0_%UWLo0 zIb|l8Yy)H;2yz?)&>>XEL9v1uZ?X82BG=+8VoRX#n4zMA(3Y?=d5c%j^AxbXyG`G@ z;Mz?HQ6gh>4CqLvk3g)Whg+DGl=k$-Zy_2rhy8)E^ZPKCD2?h`jsG*ppp0d|rVK2U zgVc=AH2O^UEtCDgUIzJ?kfKI4Hhs)m{}Sz#Ja z%5wgxxj7kMP~_5XN??g&3yMLr#JSj_w&r5NMglBja-~~V>^xbq0YT2&V88IBra?sa zmH&v#iLo3>x0F`X{mb-n;^N^Pp+TC z-=>UGjpK?io$P^CWu%I5T|Pp6;+Tqr*c~ z9okdX^hijOa3ss{H)AA#sY8w=_pguS5LIO)U8_c57Ae4ITaj_8$GqsPeIrr@0V7=b z&-W@0pPMqttEZmHMANEb|51?25OhG!Z0Ju3%`PQ?0$cz3-gvEvo+9&&_(8; zlObAxbQ3PyO1?_3sl$xjzF_p$^2DRsdhGgm;BpQ4U(UPdDlbdys*;4L7#W$930fG)7jC z9K`Ie@J11rfnC^YB|rnL);%Ky6x8_Sz#@Ku<6XJ+?kA3SJd+p!Li~P5-cH7jPq82? z!zN^*t0?n`ILgrvU)H|2rq8_#e?9kui|jq{pr^5v)Pw*IIJnvzS(6;Js~3IrzUOx z1B?Mfd6q-5MzN}E^-qN~tacNs-NlY}$y(Y&73}w^P=M9$HLBg?9PRGz(ypLJ&=oY1 zvf%1cfvagY?#cwZv*aW0N(C$&8pFW&upTt*1dv^I%GP8Vv=+Al-I*606eDEC|;qEq^C(RZq?MsGkw&Ouo7xMh`8R-jeQ#uFpH zH?e{@5Nyh@hq=E%n~2xk11Rz9D~J5r6QI=%AfvXg{YKzmP8BI+DRHK7W5b;oi1{%> zScrjmW8_|oN;3+QVjBhejQ8WW+fWV);Px}54YjKFfe|Y=-fmoGs;jWPADfIH7D@TV z?lkX5V3nRXYm{u(Nas3r*{tWq!n>Rv~mtgqF*EWM{U++OQ_cwgIy+W{SD zwVZHrCEwA~0%ejL)s4$`?IG~@eqX-Vro~jFeEYu7O@&$H>sHb7xwM!lYipmtw|}>K0!#pL(MR< z$R7S0_KaaovR^nhX7+2cF%TgUbTsLbyWSuGJ z^wce(21YC%@5Fv6e4Ac699`5En@W&NyP_kL9w4iA7=hx!EyxM|2HB#|$5N**5~+e{ z@nh3F_*bxm#v~dmF!Z@5GIT+o_0(CajyweCW7s$@cd+I!aQ5_BvckC0I)gExn0Nkz;2B5hg@lELDa+%Vuw-cAedc>KiZ1g zbP1>|M|@eDq4E>cP8i8{!45iiNP{3B~=Jw)jK*?lG=*3ZVrjP}edI;lA z85kR;FwTuO zxuakF%EGF~*p-EI-UN3@VxpWZq8I_&;oKdtN=wmUGT}YRTe$a<{TejlZu7fEDUL{J z81(6lb{&N`0)f3Sp@KxL1I}zCdEVHQkV^wO474z;T)t*iHu=^T8sI4kXGLKf_X6fI z7p}w3*KFqT5mW2WWk&x=Wbps&SnPOiN|ICw`u@JxEczY+_CVajGzLUHeC^;E!sJOS zcLQL-|9})IGaAin&LvU^0Mj744devV_)AiQ6bSy2=Qy;Aw{A+_qN<)>Ql_olj>^;% z6p?c$iZTz>@j`)XT4Ur~XdfHD#N&etXA90FIx|oEvs7bpjkH9R|t;Vy?M zn=lGs(*-iY@nEd9*0?j%jwL zhGH`tzUDMFLHwQstPa(whoOo5J}Zg0`J+j)0%I51D7VXI}Zk>_lPkv`<8~{34 z;@=msN4B9dV;Oip_rL!CRu8S#c z_$TD6fddjirn4qgcqJyc1b?gW7s;M>eB2ONjT>i%s)UL;BtJftUg)+leR#WSp-ivGfN_av~FMv=BZEN zY~wf%DMQk>M4%D7g2A_%flFb_l`T1X!_~aIZvO?h?e4->)MBg;{P}OW!PJZ zV1GAYznD`na=-Vo4f}2&J=$9NNKTYc$N{Daa>%#Ltrvq6i7)YbRH#W6+#kVhJjj&z zL}3vcqVpxupjLMj$W9}xG z7vf|%+#)Vr2veGboh70Hq7|duKn*-YtMW+>;#YVLzE$8n zO9r>-Zk53;+Sm|iMTLb{3O5Asu@OR~@EX)u$P*vo@hoeIu51b1s?Krr4ji`?ErA%n zC>i9!7a(V#0RW|38QYJ&KgPMXGeo*M{#ubO)%Anjz+G_LbM6s$E^?Zqj);KzsT$Xz z2G`ZA_CzssNOjykMmi^agkZYv#k^J8B*2BoZru`zPq3e>1a9CG4?wox&9&Zr-SJNG zL3vv3C61SsQZRZ|req~@vE7hO{uA83d63{%&Db{xUJ5-`-!9Y3eWx$yMTv`~v;ril zsUhf5`}^oAvln%~qJuM-3=zR}AOjJ54jEMlE3rQa{WhZZi4!YaY@n$xMXdU(R>I{{ z6a7|^xMvU@#@31T&s0|NC!wMWc!Kd3FI_TFv#fOA!fhFY2C?u&u_8rybq(SKD28E1 zuJqVTW$fzM+ABhJnnUd6B_|X;LdkJ<1V~ssXZ`_^R>8-$QAZT2I7RlZ-np@|lvqta?%!=q@xJi;Wyg3uI3XK>aZ7;U_Xp$E|N;KOXb z3dY2CECNUP_s;BvW8$5?7rWz)Z^k?O-f*0pG~iGl$?M02uZuw>n8QE+Wu0B2s|W7X2}95Wg_;TmF`tV6PF`M?k9D&+SL zSu_u4sD(-?MdB)4PuDEog~pEou{E1{kKhiRaoK-e94tX7=yU%JX=N);x1ae`{YJUe%l3HYRf~^g&vtiGx)5?+4gH9 z3_s2q5N3vcl4=3!Dn8B;wZNNnMpjhw%2lXhSGQWdT(t@=P>EaF>V{9NEns)QR^7!M z-L321U8U;ol8o*StwiX*0r&&MhcfhA>Pm?~*FFs0#Z-3#Q{908QLHBjlAXz0)YfUW zeXz(-Z2RH|v!X!u&F%L%R+d*+Z1%T7W#s!RNo5>tjK8AAW@oFkus>2H#^boim(+xR zjXz)$e%Kb9eLr%--ix}O+S*3FA-voO-;AI`U;~<7arb|o#Km*{5sqd__%$Pdo!<$< zqG9IEpesTRv->mzV2%5*P!-?^X1^~~1wP!~5O^5N!gmiKMe9${9Vm<0EiHlVin5r! ztE_(Zrk22C{Gz0#yc{APBXF-JB@5s0X$ahl=%CA?0JWg644RMj)mR4Snv>M)a?>0m zHw}V&OerC$<%1>_@ixpi>qKVQJ_{|#=7reuloGA(CaeH>uQFUQ=9+Q5Tu_te2icy% z?uiWB{MBBmjzvKC>h=vX4VKkC-XoJTKHCmIw`YC2w!Ti}vOChvd7@)SjSOL*`f*3&=dB`&dAb`7oHEai&_1 zPdgrwYW(h{)L3rgSbAJ&*(&(V^>Fn$vm}b-Fg%R6%%}(CmT_UeqGpEh;PZ>-li>TV zWo-OEP2vAW;C~+$6)fO)e{17^FR?RhuF8S_C9MI1PQB$fJ`}dFZ0whdBEx(o^NS+` z%@u11UJQu}+89>f%5+D`%qE0^U808zv4RNaR0*4H9*XTd+fV6I7WHcb7zSAt@;Ogl zN(}VdMlk=e*}nq@+8Uo7ivjo5gm1-p2L`$Wf3i?~3E7*4WN)egZJoR_DnSKSrBYL` zLAWqC@lPW@RT+Uj!r9DjQ=HB0-3@^~Mqq`-*npL?8JjB$7c~S{a6&D}0FM6w|Exly zY776Y2L8FbC9slT)O_jZRY|o5i1Q-3%XXqiFJ^8=Pp9HZs~ZQ4dTO{T@!49DU!KVG zqE>JMK7;ApCoP#v-o%%b+8rJ^eU;v7?x-{^eQ}o1(r8N&((S)@s~(EUikDzTCAz$< z{ktoOeJF2)F93>_l>nh=wI5;GY!zM%zajq!TZb0XKh=LF@+gFjLIf}1g#v4PX!}sq zeuOrGHOT@4J9#1LRFgxjNkEd_SjAt{+yBZX7j$pT$ExeRpe5zJ`8JYQfJwxaPEG$i zs>W~e$FAYHV^xhg1@ud>YYar=;6Ltj)Zi@%i7AYdaJO3ch*5WjBD@x7iVf7UJ76PE zQwhDWcsK3B9nFcBFwlaH-$)um>>D|fSqp~Rq;`vzJ}t)Gice)e?`3@ z$|tGbLGd{(p2!_@EP)4LslbVt<_EzHWySET)kp4i0B{-2PhAvx=|>ht(`nzwKp;zvFHYP zqo-$%vSXoRlt-yiCXUG%rPTMR`sH2gzp}tl{|`w#z#FKC`o2Tdf7n_79#ucTdwqC{ zoP`WM;!$<_>hfrpwXSovQlVODIlAjC;F{ICIt$|d{Q)g2dJfu~HlX(D>T&xwcAHkn z*J_< zz-o7-gq!T{x;*=DbZpXCReyD6eF+T`y-Zs>xN5nKLvxngyI(oPq56N$@I%I=5OlDb)V5=_8OmH?+ zAk8SOW#vHYdJfG84-*vDrI|_2W`1*!qai9|AQd1N+Txcaap(3%4th6{m!K<^D^9G- z5H)bc#Dk0)2qRm@AS0105#@H8w^z})AGDwf)^e7O;n)E#hm-x92kI|eQ_%Fjjfb#D zU3L)G?|WMt7=}$vF$v(#_Cc~w%J!{-;t>Bj+K^J{LIWH~k!7|yhRJj8?e!ewn=EDP@ z%7Jec0)P`kz9fZ&x01A4;eE}4PG$oOxXqkLQieN7u9*nz>+o31!N+Alu;~9{kC@_~ zUt%umY(}&~`)XhG4AchDhwlRw_lWzFo`Xe>DyNbA_#j@cL->Z)AX?y7DW0s^wZ<#cyc=OxyPpgQ=7r7 zg$2htBb=n2K(KA$4^qQWfB<7L^DB>2M~Tf)L(YIs5b?btvwHkwUnUh8AjGO?*@dW0 z;k9Df3UTB?$Xsy&qUDkHN3z{=vq87jhToJtm2j$1ZQ}B$8HZ(0i0Cq2D2TS2_n3+f zrKv&KONQay+l65uZ3~70L4Q7H7`n0opFjT>u0UBmMgO4S3do_s_9@gYDKJp2#8Y6r zkDgr27Y_nzT==$)8qH@Z!L_Ukir_9r(w>ZhfjGMJ-TLScR0iSDtT)HJac<%?1P{TT z@GKB882%FccbfV9Odh{I!P3d8Btrad{u+*>IRCvv#w@)fJ7oMR37re%eL*IO`->Y% z%cHr-0XqMu5T=~gE0j3t)&ihp9QQTWv0sJ1KJA_sUp)ecp}1E2iioVN+Y%y{hg1+B zTudX;NJ+0H^h*8pTlVC@8UW9k?>tB&%5*K^w`#`<^$G+8>&1QO2_*EXzLJL|0V;!T zlY=0-dMYg%}`Od1BMQF3B+yp z4kIDOZB69PM2~0~!&VHPB0?0BChxHf_zbZCmR>l6DKg504&oGH^u^mixNIF#By^Zu zDM%9xsZovRZ1Ei0CExlqy>dj;!6Wb{bz#6YDu7DTfT|fZ&PvRLk^q4jg9Vmb`%ix) zRtO*|aQ)@(+Xs(Ea(rr)mAwZ>{C5pVL|)c_a+?l}zF1jNC=MuPtNJA1iyW^CQ@lnSE4AFHY1Db&nuwggzl2lcAVOr-F za!zww9;FS@Q|+O32RcmpG>lOa&86E+cLx@fMgcdWyq5oOxz?iWNB-pKx8d?q8zdoQiACwE+!O^>QL=H)A(`S7UOq|w9`Y>c1C#P|TSyo{o<+4I|WK<~O zQ^$0NdBQNk%3#!yS_etffr**4?eLDiW45NAlk*>yC=uTTYzc){qCAIqC>6$R!xtQa zy@SMdf2_iO$*Da;+fjevi6G`DZi4|FpiUvUj$C$A_BGPulveg(y&{$le$6JtUMts`g5@W@xgBD8d5b{24qBs!o^J3#ix)75urOC&Z zlG>eH0F^ZyJ)t*{1e!}9m8>^Y_0o6dg>N{|Zm1~J;>3zFrSQGPQiNc2KcjJxOpZ4d znQu%aNk6G185@i{O(nwd*DtGwq>7AlhYVi^xzb`LPPO~$X(@AWd%cI{vugm=;c|m& zzL*RQL(rtYKtkk>9T*VRV7@R{>}Rfg4k;)nYEN!8+aKj!xyQWeD8+sa!nJ43jLa59 zw}H0ifa%JN7MTdQnTvmjZHq5*!6+jCL>UA4QxnAZWK`zJ0gH;Y-Q0k<(66&ie=t6F>oS+L|g zhh+*7oY7Z*9paKAy0c;l zAV>DSd?^CO<`kOep-K?`Xe5&uHS%t`UHG>VZ}_(rf6YRx7&&*o5bCSVH4kR8h!`P{IK zD}_H?qn2e{A)a6}`nxSK`C~q1Ltu%*rQ~FsUfj6T3zFqku_Z?%?74l#mSDq}AONN^ zlX0)p5GGr{Lr)BEvP%HM&g;Z+HOKy$B%#t6#+GAtWwlML7B_n#-pCChRS^*{ zlMusG&b!_GxLv5p>6sOnGAe5^bd@9qka5?YuJDwqaGVSb#-fwmutc7Gbb5eBsHxL@ zvQ?Uev6GM!DXD)3k@`U%X&qc#K(4z@E~p$j>%?`GF&do@)JL!-fHmaqK^{{7Mr*PI z@@n~1jvEl~HXTEI6Xjf1v`^RTSrnge&Zngc8FDAsZ2VW$vXS3`4AbSPX8CSWb5B?!qdZAQ;~8oH_`$|7PFY|1#3=e`2@hLp5gb;leVH(5EN9VJH3B>z zZ_{nOMd0n{3>249t-<8%=`FPpZ@oKY1<$sb+aIxw>80`Jh zQ@2*9(v{IUx$778FgBEO&LkHznU|t$9dpPicf<|7{o4II=bd<{1}z_8r|TIUXRSTR zbw#f~R7Km(uiyq530zlunpb+nN8B))BY`Vm;^uOZbYI}n$6ioCdgoLV%WZbYv0t{Z=$sx` z5HyRZGj^M|Jl32vIw84-$tw8!?Mli7peQHzrX%f410+LmdgO|I!WUfaJ4TJahRe3y!P=*O&eIiN+_Ww zL%w1FYS^MP8yQG_wSr_1K9W&BLz4K_pNJJi?Vsh9qnve;sVqkfST9YVbtKh`ACSQE z14D)%2F9Ja(V<4K(%cphAB=4|F=t%vukkyw#90>QdPj$`+>cl;UwdpKy$zm;Ay>PkQk zLb|$KG>nrS6fiAEXkKhn!jLAI?@pr*XG)3x7vhtI0Dv^ifseCTrkV4mY)Q61f#wfA z5c4$|$osu2Tpd^2)2&uuz%!DYoLb$nFgbN@M^W+?;$s^^_@%PrFlCJh=_<%$K{@3W zAeYB=jM;wTVe}`Xu^IQB4CYI67OOJOJ%{!Ukl9;f>MHi6#W6+jFTEv++j=w3Z zwn7ZIFD0=OU!=n~DO@}+2fSl37)Kw5aM$G(F8{9yHL&y#mL|j6a{>2|%dMbVAk_wK?# zF>zGG3UT^3OEs;ohHDuAI6JzaK29VX1jFFg zq$Z`{mRe*Yel>``oJ8#+Fgt3=Ldoe|vNw08m+XFy#JOZsP`a#k!CYA0rRoh<^&WH7 zJJwOJ9IMnmELHl|kENFeN9kYjx3iaah@fOaEx-_l4D%>UEsU(n{QEM10uc}X22gxW z^_}nN`#{&euR-5E1I03g(C-Em?|om5;gbSI7W(T76u*!*qJJGIc0AP;C~ma6b^=8^ zHvAI;#ltf)fZ{|o2n7^Xa`t(S&iqKW>xCU@pt!8-l8r-Y1r)`pddUx^-hGaGuW|;~ zHVaVnN|pYNDjji@u6LBy2|~ZcQ7SWLc>~nweNk>B961|81}R8?JGDvzA=6jMaSP(i z42qr;OibD%I6|n{#Dq&#uODwu&uv?mUXf<3q&apBddq6Ruxp>gRG&Z0?DLg-rO(Oe zb6C{hwa?cM%DQ~h(dWh8`aG}1-25?Cnj8v4rS8E;gsWed(bnG;a+>G?H%D7b9wzWAG#1w>AGW7@xJH@#lOHY z0%v=j#UVF>mHCh}HdC*7ZSM71xP3uOz|>+3#A_uqhk+?%b9^oKIm=vpBIx~uu}Uxj zDA}I%fxt3VHf{WXB=4#WfhCrzX%D~PROWzn)>J8+75-8bMqqY)uF zJfy5HDBJ$Q0FvV8l}Kp{UG~U1h;s;x3xgT>%)|e}xE8d)h(uxZC$?9_?ob6U4YbMA#G-{8aWB6s;94E$vx{wjCiw5i+y4755Xi75I@*lVOVUoJ^0`SW?BZUl>NLI;fzWXbf#Ns;i ziYFP_4)Y>dlFEiM_%0ZzYNGuZyNYivr#$`>%5(lvJf$0(Lk+$HiD;rHs=g1w5Dy*n zWNzjcX{dx;w+iEK4>eTpLDG>hg);RZe}F@PKw!3y(m0CHH-&Fd{Ge#9Ly5U!qjZLP z4-?LT%IQNr?~!NL6|WB*NAdc=iQEaV4=KY`2P1{f%1Q&lQq)NGgp+_RgH(y<5(mAi z`IYtqtz@^mZl!9CWvCJ<}B+gw5w{X$hL`Tm>$(tG9*;z_?8GHD+dgvbfv1? z7Wp~b^eMwroZ#Ish&6xqG_^IBe+Eo+36(4Xsf4i`*uwnTcA^D_B!oliCSpFz!+hO? zLRL%s+BeGNWhEl>ZNw#b8D_#LidfTKc1Wu& z>edljj-lm_;n2|E;EEt=o^u$femR=8`>fGevGOIxp1JsAE{LTB{`vCOBtolVkqM_v z;$?*Ig|hdjaC(BT>4&hvzCAX(ep{k3`KI}tnL%TaZ`!TquHr9l<<3?QqgW#I* zF8s>EZp3D!;OCF<_YwGm(F-=&u;{s#z>9PT^VKhU3I9FQ5@_KE^WH+vsMEH3 zwii*v{4wTL?iD>#9894x79_@XCPctK!G-}^IpcY^m^cH1%-)D9*#Wro5Rmq6%rs;?AliH?3tiZ^w8{dp3cl!!Re&27wj_yZ$HVdB1}jnljI8US zy@W8)y!jUt@25tpx+$jZWdWLvcMgi4-tDsvQxJHkWHYajk7VB+x8WTCVZ8YwtrD1%{W!QlgRZ1K$}aPDgrmm|IcN@+aDk6ikz|m@CEKS$k9b}#x!>H4`Qf6F|f!f z-MuKErTQbXXuQeO@#3kCo7QAz*X`bUvW6B?=@mnMI0=Uoe_gk|U0=qMUqx~P~;~b zG-=14l~Z=hI?SKMla_AH(!RPQLu`_$6NO*{qSdvdm72$SZJmWlYIQ%5RuvhhMyXnr z+luq4bre`B(~tsFMJHN&Rq87h#B<4jR3}$@999inZEKkI%ovl{1qL1)k?iIiwV}7AT^M8k-x;M4|nNW0268II7)r-Na=yJ zk9538J>v(OXPdumh6TOWZXpfRNgbc0X3b&HS>cVTwc zKGrp2E7ga_$k9fOn=s*i{IhW2ga`0vaegji?<4U3_1Or(uh+d8skHa6+lu1g>4*I2 zSZ=+vB|6eB*meIRxeO=|89J}t()JV~kpGPV;xvq_d5R|C04;jpTx=j_Sd6JjjJDJ? zKene?$bawMuuWF|9EG=g<8C`Kjz*9yB&aNYVNb_QTH_W za}N2j%iN(?RlwbK?nqwnXch(+nPihpJ@s?)AwPEMM^+M};!3{tT6!gq&$m}HiZz9O zky=TnknoWyz!Kre05j^~2oM@)Q^+>qg^w7?w%GJ-j;430z-QQ`7w{|9 zw4*Im=L$!iJ5qIy!oYf}(;Xjv{^rxI0F=aqXOGW`o)Nq8*ksfbpFbS=>5%06Czm2Y z_rzn%jERMQqcPs5jn|@sjGBk=+CPTR__twVVfx~+x`m>70K9@@dvhZB{#fOJgMPP; z7uHL+dij3FOOJZ_X2wgedij$5vanaAFWdXb@AeJo)@ypsUFn6Szd&e)UNHKBl>#2% z+@P!-?bI9PV(oa+C$e@tuSskR(EuzRBbkPamZjrm1Y}w+IxHOrt7@Q+f!9h zFdEA{EgfHJWIvHXBt5!PBp{j(W&7BraQnmee%3NsF|AUf6=-OI9AVq5-GJmy z-QDiUK#PL5Ui9r6i!OSmD!}~$ZlQ-iBo>L>@h_08+sy?`O9xODsS5Eu7pt@eAk3H%N|;)ojtY)}!yH(rC;EV#kL;N8tx zupVl>E=O6Tml^&7e@!Pnx)=72&(Cv5H2HTZUQ%?oFu(Tcs2>yBG;St5cW|y;(HzJG z+<5&3{5=kzcH`;{qgRjwOB z21MBhIhf+dDdJ?T9m}bwTQ=8Ti{~idPL}I_<6_w8wwmV$1X3?deTY?`>WY@pvq0@_ z%B{dSzaW@OC^}}IcwWh%uoORdjN4A%ww||IiqqF`~67!3*tGqPb3>0680w57A?{I>u>-OKTX%Lo^?+Pqm>79 zC~!0|iE8T1DJyMUgqr{l@r7>KPWJUD8-?ZiO_$bE&8B_;KJpMO#Gl{0XP5xHXW3Cg zDB*DmCAyAOHA#4Ji@lzpQruD7bmN88ajd-$Gl8*acGQ+Xm(vI{PN_?FWC6ZpMUS

    f8)C`z(ik5%Wp7EMLLoXmo%2}eOhS9C{DK*9WIajG`@vRcGp7uvL3M?qgS z-{zGw*kpM~t<~T21Lui6VroNU>rVsg2V33P`qSk{UTpmt@}uV?8DC$5ugU0;`1Nk*8QE59y-ahy~O0?(W#J->>zFBJPP4?t{WznkD9FG;>n; zKs{%to`HXIo%p89{;SP5F=OCXQ6r@HySE+HSM5WU&1=`8bj><4XpeHGAo}zO-<`=s zq*FBks~9ENO^fwS=w4X=+6lTq6iM?LY_S@T4jkdf83M{eT-0Q1Y3Dxy3XB>~N~gyff6j zePxeo=dX*uj#bVruTR;aA)p6D0k|}g%n+d@O-9s*)FW}yk6*wIZh8AqOJH%#jN+=T zpjr6@UK83)j3F|C5$m+N9r$U}iX+u#z&rtLj)dPpu!wyqpsh7|D;ubx8$%%!24y71 z3%=wn&J6~bw6gznG>V}@gjTq%=oFvzy<9@H^60h3l)#Z(Q(q6=SjQFDWvQ18MME_Z`@H&VIq{d zi%^`%f{93A&NzCS7!FjWZWvlL5|3$hkIN*Ld8w1XwT=Vfog*d!R7gpytCuQbj679P z-9mtW_ZBPx5ffLckB+5Nx(?i3h{d4}jtG}^cgRC8sEB~`GFDj#L$|f)} z$OY8Mq&ek;Ss~$+kF?xWCH)E3#g4f3QT)I#ZTZt&omovFFh>pEf=te}z4rY-_TB_O zs_N_?pDYswNOA`S3XcW*$Py+)pLlSZaCK6BWxIic4R?TD@aj;uZob^Z$O&xp%fqP+ztE{rlp_F!!E&&U2pg zoab!Md6sv^TD044*@GVyF%b^nlurGrw&|1v@WG7-8#HR#oOl?*hx71oE+5XsLnR-e zW?TW)qXMvbT3}_ijsC|gO8lE%LW0FR57{Om8wkejM#y>v;0mr5tUxKo$=ntdVS~Sb z`LF^O^0I&%eOKh!@NURfn1LP(rU^i?Zx8Vsgfu5pQUm5hpIFn3&L~86g89NV$Tg}V zT#ujk+s0bb(ArM?_QLP+_#1@3Vfecrf0iEc|D~nlEhE#~BP(gz_&@s!0j3dJ58GM0 z5he9QOo5e9zP%EHOkV;#P!G8@7j9{GM zRzS;*VIO_ZbLtS+c{%?~=V53!`ZGvR=h_R#0SG%%6+6nXWFDw&w~|4Aw) zZ<|+v?H&z2zo+4jsadK`@iKJKy{!?gVi00i{Qd8TQ5esE%)LM<#@&OEYa=0uf93cOxju(*a>+7d7BaSM z(X(3-VtOHBrZx!+I!zO#>>j=|1|_t#YYrn~n%Sfx>44Ccs!3Xf9pT`IuV3mrEwHk0 z#CP(7nw9yHh;IN}VewA@1^qB7hYeL8G<|2H(MeQPR=JR9wty%@wNhjQU@xX1Y7D+T zTujFYvr-V17%b(y&5VsQWB*jB5w0k$x8?!1VZ?-ls5L!VkwFKJr_NU*Ru^J9gc(BCqEz`3dS9Yz_QQIK#_6ewalBRWY=^!^m;;Waf1@_X zzkk|H8vik&M-}Bfp3pgIduLe!`zIjAv%E_j*F)|i+>mA5{gQ|TP^e8U&>E%8bCA|J ztUZ!p8P9)wxpW2n*~*$j{MUPtRtklhk>ACwL!@Q=5vZmv!37OE(z*ai9xQ%RuM5&T zL$4nf_+qPsm2KCXb2!W4lUVr5L#|wX)6ZHW+EiA_IY!$nW*KjB!l*Pj|6zCtL`CPY zqU2gI?`lo4slu0ss5XFCb68ATy*OzpwO3%Vjt#la4BW|KbOkyyy;lSpKIQe>Dypob zeHWt+*Cxz4Y?4G-Uwj32aUtui|3D+S_j7ILZHrvOHyy;O-^lmoUDT`<`COZ6DH*O{ zEz7WJI2B56=i;S$FzR?3_YE$g`WmalaTvh?PQ=Ft#K+eFHTJQ>$za=qG6B5Lt8)ym zc(PLXXTw&)X`lpsVtgl(MNC$sp4bcNZ<;$6{jx{Rphn>*@$TAuHxc~<9tEO9O+*I* zm(Oq$0Ud%EB0o7~VEH<}xHctX`O66cOHk4J{a5B#d=-h9RU}|$gifUELN)}*Vq3H; zishz9Of1_@lPDSm3?@P^uuQ(bcx?+}G?BEjYlOiHArcfC1-64&37N#|bt#yDHvs0G zHdRh0KSpc1GFJQwWX?V($pTvH0{L1?V>oZY_(;S%KE`f>!EPMUQ2|N9sd9!cm2>3s zRAAslbLiv3i1kp!drk~Y=Rlf%?pSP0vy0@IcnQ}=T~YsXL%Mt5Claxcb$Ke_Wms!m z+MdSO2SY&;0;khm9Suu;L&d^3*jV`bB`$nfT==|;vBVp$s2+Mr=#0%1G`R#ovIxZN zm9$}ExIdAqc2SLlXAt7K0+Cx!m0PS!b3sE)g5#_v{Bu4LB|1`-NI={yFz=8k@NTLC z{*`B2yd#V%vdj{%e=JJ;Gj$32(4go!xl}eh=z{Ferz#~WYr;>L7(JINXUZo0qEjIB ztJDPqeR}z3@_=^Bb6;s)FnXcS19OP_;#BatEYIVzypYTCBJ*Cg>i-25+JFC|{a;ig z_aAmM9$(-cr_i^dmn^ztTZCPQNBa=BCsCKAs;2ACGj>F@89Z-X)iMi~E=}-=wYY^zv788K;pm)K6p_pD_=hZtAWQ`N$AAB92$j$1IE;Q3DH+IDYl+?&GXh0u0MoW~sn z8cV19h94{+WU)(84GZ2W3p!F21ewee8%|0+l~pxtY^dLnbm&Uo1p&!pSq?)$5{Dpd zrLDsO&$XF13}S_LZ4v=hLe`I-gEJ#8#lp*azW&bYn3AConR_Q!5*^qB+Br7*=Wa0aKIdXQ55O1 z1+v40N+u8<>PtuzH4|PuI-+JoP>4_T4rR>{sKnLWOV$i`k=CuKxosY6phO@Zn5aQ; zDo3BuU{M21pyP9T$FT;ICf2s~gGJlmhtm2B)F9d6Q#f4h!k_30=*_zt^-RuP6Xe{5 zAMad*L4swF;tCv6yjAEOHPqJ+2?Q9TzMWH8+1|YIEa2-=7Q}Pg2$!S5dzz@qT8~Q0 zC=g_Qp_~U%vv6(+PL`~iRIaLF-^?}@Gg^K zT>e~mco8Hb1ZCq~`1#w9cQD=sffa=iyR31%g>h(s2Cxt!`!qOgum$+Y#BvmPg@&%3y5TlVGKT-k9 zztWbY)V&VO{40upBd1$sV|l*g)-o`Ga!U)|0cQ960-dD*6TTZ<#SZarVl+dP`87)e zjyVzEy+Leeex8gw>kF*Nx7>JRZ2l1Y`z7CrBct7SvcI~>;yck_UBcVE>cWUm@mHUX z%U7_~bpYCSA}O#UzOQn9JW!ODnxkmNX0L0!lJ32faCCr96{UvF>GZ}1P zT>llAwNFx>Xwi>L1aN5*fVi@Va-cj~IU?kGdtCO7vUsch+ye>qS9V{#r&0AO)n?Ue z6U(}i$_7?sL$8=Yo>{H`(5Y~-z*#lZi6m9I|H;Km5qlxqw^+2KRaX#17>tgR5Y+ zbYe0Cu)E9}WareS-ju#ThNLb90bm02n048);-b&PJQ*i%*NlE!<3#_1e1&Lv9wgMD zoNp}9%=x_-tS_KwTYs7E#aPO*z9&E)K|0zai6USdYj}C#FiWHdgtPcZsf`OFTNS-^ zOE=MLY!k3vJ{o$wn*}=?#9J*(=tn70RYa}0-Zv82c{2NfZjj{}ipr=?A<(>R?l$}9 zV=esqj`6n~zxSs2`!70f9Baxk3LKRJJdX-%N>inw=ACt%UN!5@S4SOf$t_H+u&Q!v zFR={9`ypi6x0QW??~x_34}A{$ZRTh$MU{EyG|_@%5EhF*&- zh_@^J`$BZyK|fKjIbEo)oJv!|Rm@0}F8->pz4D89loFTSxR)CKq}q5WBhu=b|G@>J zaUV+m@RizGZq0{Ft0Ss*na#fpRudO1u!B&B)S^687XzQc6zC#A2~8<F5%I==OXV$`e{`i2fcIEzzQco z&MYL5nE-MbOv^kt%cCY#(4sp2;n8*o_s0PVv8U>2TRdz@CJs462m;sl7pU&YGw#6q z+@SbQZtHW?YUumg+g2C18tI}|Txu)9fg~zbG*qF|0kh8s1ZAA?H|n&NX_m4v=#dp; zsZjxGcE4NpV;aV@=qXq;!1pJLGo%7feqMYPnx*tqF;C9&^e!d39O@YN6w~hao`QDN z0pqoG_=(fZh^k>7mB;>_AG^KZDWdu6bJliv zXF=YKyXQlX#_pb9d_b&Z?fAiw8sc$}wubvU`l{!t{JaOTlYnNzy`au`VVM7r(9?V& zQdNT0?YGWRk+xrVlrBm`yag1&?KW#z8&`u*fM%StDS(AaWQ=a;MoxocfLZuz#%1v0 zGR2VCKc676|M^Oa^;tVLOOc7!EQXw$IO{hf0~B+1iYxXwHR*3mcQ#c&3#I4mnw#=? z|5Kf$42J^bJs}Un{6mHDN^K#ufZHpzd3IF`S899QfzRQZs#3FKTjt(0Z0ISqZ`||Y zF6fXVV#Vf%0F>G|3o!WQ_%2l*&FtfjG9O%6u zaf9BKi2n^5Qvnu^5^k_pIzIMg(_O+Ec%_Gi4)iT?vL{T=9&LY!1q?S~oLlL5(|25@ zwq5wkdq$rn3j*NhEVEDzme2>orI=W?ZSLT38r|fxD+|S)tqfoA?T<$f4pG$Vpw*dg zpi8rjQS+-o8mGMtVNXC?I7WpDTNrNCJi%UF@$oPUh*2EMN${nk=HJk@y#8&K7xROm zPx~^~Fnunz^QO|;gXzK-C`n%g(!&Up=E^74 zaM6k;r5Xw%&6uBJ_Nveo+y|vz{qLU=k9PfXSax7y-?AT^t*>z-5$w|+%#T{c{bh@O z)?4&&xKBD}Un|$gU20?^m>ldfo$k7MYfz%H#22HKfU63F7!O?F(QacJMq-N^nYS=5 zM#nRI>9J{s{Ld;g zsGIIAaP$96^WAXMmu0?lQ-S}6eA)M8_{s0d^(BA*rt6pJe`)+NQ$d9)rd##0Cxni! zX=(v~(8VQK_&!{OdqSn)-rZ{GNBp4I4s3~ZlosTB&*nielr#K+*lKohPp&Z3q`LlL zJjoJr<@e7oc#SOMB>#LBwW=tGB(1;krVaDrbz=qBL(NJBuX{8*M7Ms-7l2Y|k^x`hAM_Qby<&&EH2&K1fk;i);)uj%dWxI3Vd%Qphz@>RuukB)Gq*lJlz5)?D9>68k#5ufL)3~ zlq$Yq4(al(D9p{FkpYNz$zURF4^INKC$=CC`B>}n!-J7={0s4gmP#@?Zt`=O3XwY;O_dqo`V4N0(FT66E_-+wR!$`nTjGAItnlSx3zd%xp4xMS;^ z5!@c;p~>A-57BU*`y;(dS$_){BKC~f9ve#C;R8`N$;N7unoTBa*@fXDXgS%$t!1OS zq>S7)l|*?Z8#7*t3{I1qyZNq`X$DKD$WVr1^tgcnHi4;YsER`&eBEbs;XCsAKS2HS znZSWuSIt&-=O~cNH&UO4u$WZJ{}qzDp&n@Vt2-cjyAJYbhkmLkzz9}Yzf&?Q@~4Y_ zLf9^-m1Fvr6ShlK4-o%6C=5@#1A+3>MR~}QaTq{YIzTZ&h&gP$K>mEVs5}~T1J0eP z@sL0`>G>w%m|Dy2IDxG^YNN`J28{Y(7;u~fd@#yv&h~cKJPc)ER+I{uvgOU38%i*e zv%i48l0HfFMd@5oy4M$!uI;97<%UvYPBIpRv?WJx#2-@uGN-k8ii|5OhOyC>H-BAEqywv~B4P0sO4D9dGb0QS)kh0X<3n{At`6Z6UusJm_$CM+bzso^vGAWM5B(sSY zp*`ULe{} zkE6unC_Wa8$Ko^q96cT=3c8HO2V7qvdr2D1>T_(~O#kGZRE|Hp>(H;6?waA6>Ee0c ziEeg5{oo=>j; z@|&7d+sbcF7=H^FU#Gw-3+vA!7=H=3pODOmpoGREjT_hO_1V6xj`Ex=?-?Bxun^9I z8fTXGBw6mRZptBe)vpWuTt{o)Q0hJ+bJ3g%_9S`UY$0b{ZVyuldpwnSmC#=N3y5l{ z-xGh~y(RRfAbwQpHX|K%r+F_zG_36PxB~_@a04_or=u~;cQRT$7!4ZGQGxax-_dCE zA(GtC6!t3Zi#Utjc^9XGsbzFsuawIXNE@8Oze6xG7j+6Jvue>@ix(;Ynsz zE*Qb?y}YBzsnl&nw%TWv`i=Mn11ala%<)G&x0OL7P^s&MQ)fJ#l)BG&96PWl&}s** z!sqZi%p-la;w-2`7bA=zY7C!*WI{tlPH#>}liha-*ls55nWig`KIuPD1*5o|Y_+Yv zQY1|vUd)>2%|=oYa*n{zC?vazl#`G$a6O{EASKg#E%Ia|#fD*;xjx-HSIdQ4OvDGq zL7|u;w_*I}1d7}k0Qi&oInWox!+t*W!^18!Ni=L{s~Q!F6=DCiaVfm z2g>VbZl(=rIby-g$}WKa6HJLh`M9GAbzyxJF3K{>M>X`?Q$Gv2%Cig7JDM;6@GbK} zIzwsgwa3+~#r&Ar(Uj@U!pHOn(_%$vJf94%tXHF1$PRLPd!SGT9HRBw!%;6jRp$5) zq^&0+tw02>SAfW~y&B5_xFQD%4)~l7a`nLH415MaGdXj8rcnwwqEstOJsJIMU(fnj z3RuQU<*&~-O5qMhG#aI1pPlQSMk!!vCRYQwo2-B%s_`H2m-lJ`Ii>4WE!)o?Bq=XtWzNFEG`M zG0S_sTvlHJ*p-T;nrz@hqA;8jlq=}DMtDpD%qYGrwyVAZpIM4ji;@LZ%2JrR&CW9s zMX9}_6xxvw7S4}iTGp$~ymu zP^wXuf;B1D@q+x0CbL%Z4ETlm@+F{-xpuAiL+VM{)DCgYmD1#|x!E{Y{J)L@&I@@f z8Q6RmRt*SqURnvqA@}fkWp<>754?SwgL{@VOu0Mm64J2x&6I{g-%<)#B7s=GFQkvG zPpe^lsIIPIFoHYMD zWxs!3wkt5t?ypgC-iWNMQE{q@q^UbeTT8Pu7gBg~xOip`sa*_-5w_ zyh5WFQp3PadE$B)x3|3KC|w(qydJ`e$19PTsrc7-57vd4@COpR;zkXgL4;cn+}E`5Dr35O&}l=t9==5eS;s#Az zg+TfVdxl)Zgppym4NojFL+yM6uJHLF{Xf8JJtAE|Otlr$a|NqAn?($PqjW$&rYcW6 ztTG&(GVvxz%LQ#||Lr);Fj(~{C6r?-a8KUvW&a$D{@@r~dxl0n^^;i^*W<_IJG`vc zIjkHO5$v_j=95{+6FK;=SB)WS>SYueJ%_=AY|1uF5|^+ykM8Dr?L>~zZBK=+g*;xN~9jBcD!tU zgFdrFs2}xZ+6_G)ClR29&`aB)tZfi)9s!gD9}MOweilyC6S$+Q(T+ZpaR316jxvQXd^v@ojzBzEG2YoD3wQ- zA~0DG=@$mpK?iVg-il@;*7#oN2V{f!g(M$75Y9z)x2(9-@&rV^IGmRi6uCB2a}~)S zopLkA&)=CynwEtoW%1CUx86*}q|{A&f*R^quDTck-&_1Lp4~Fiw*YpEAb2(N#{Cp@qsA*_Ip9ea5l+#bT%w01t`Z6bNoGj zjwHk7Ea^C+)X@ur0m9&y^p)T3t`ER`R_~PVz6$0W36hSxw<}2{rx`@u4qc4!tCId_ zeNpDM$b7UamAX3tNphK_g=mPQy}CMKHk}W5n_$z>II;lRoQ-P}gIAT>iD1%%++rYS zL&ZmAiQUcyN-}OVdMRgltd|DhS#}ZnO7;?_(BK+#3N=VvW#5v^%8xQB%bwz7JQx12I7GTZ+m~3IvX2ZyIZ5H7ZI0}u4AY^?2-64BP zj0Ana#c?y8G>ZCCwbrxNt3|EopiHzm5b3Sd)#Irvow3k^%=zXTr;Gl>2oy=WGxp z2z*xRRtjKX2?*HWRB8l#BfN?vmo!+|n^aXkRtn?B8AJ3j4AJo2$RbDYCpX3Tq7l#F zi|{{j70IQn1&Dlp(QLXC(0@3AUa?^3S=#~bi*~KJ(C#v)Edus&<2Xk&0A9l#M|`%> zqV(`DW8>Jk6Ym1zX->v=&{j-~N5p!(<7~kfCY+4$#R+h@q>ovYpRll<1Wa6y_mObi zj?YENw`v0p-X%VLz7WoP;}crsNXBHh-~zLIQ(^KdASBQ89~X%R<#LWECK+K`n8%2l z3eI-G0pcKwXv>2VgcV6q7v`X8s*+oX0fXQPlFF54u_z9))2Gns4Mh4WbsysC2{3*F z=X*jUK0y*tbJ}=e9-WMQX9_kN>A6h=clzB@auYTkV6;z{a4q1vB&V40eSn-ioB-_f zZpKr)7*7aXtK5DWv4a|7Xz)x_&@Bw78k_nsW4au-d$Ijn*%J?o@K6mYIW1(;0R#9= z5x8DzZYGR*5K9^mhBwlkc9;-5^yPO5b)@hshk-(9%1`~B#>>3@0X-7aUJ zV+qG7@I@4WJOR^Hu!yTVMA!qUI;S!|CKbPnL#T-_Au9<%bHn ziik~SSTJBi0!U6m!UTk^0U>qo6WgP`3XnK@2a61l<*FvFQV7N!y0G0Hyl@YG_ql_m z?fB%!5HGKvVyg^Iv6Tl)_g98W_w$5;%8;`KIdxg->=fvCA&=3X2jbfUI}8{v3qu-G z#tB67*`E9_(H{82Wq`$K)rLIB)E9MY4Z@Ap9@i#rCgIN;LM6TWbfMoojI(GcN4Yg7 zGx^T%u!7LOp^Mn$OX`EhcA}9nTV}Q*uYCNVO-X8hM?GsYc$FfK#6UL{&yj zplhX(+plBNY*napnTyme{orkeE1D@^%0-z0F}E9t2w0zH z)_O*_d2q8lQ7bjCL>oTjttKcdmh!49znYUq`*vWS)BJ%jJ3S4cVwNemC9lE`5Ow8y zpV?nkQWj3;*iy*Y+j0xvT!^0VS^zjutBW>r?{=R7#56$iR)wfHrWgBK=oDd+iEZ5aw`JU$T zeHLjXnI()QUrJLXGV7k8@aj2YHwTL%?WEujq<*ZZh6`1QL~J$dEvqaFS8lEEmY-fJKcqu*EL)n7io1l)O?px zspc0qAO!0LEyCe;wiCv>*#7oyack)qu-bBPCYH1ON+`vItdCCNG4x4eS?7NC>i|E~ z01o;2lVbmjO5#9&t*I2olnDg;%I~-o%QLr%MzC;RJI;sa!>K zl^;W4Q+g@J?fvaH+<355T)`=I_aT`cFJ?3T;{<&u;+1t&ECMvE3t*tL1g99d{|x0E zC!j*`j*W;bvX)yI#w&$F6r=`7pt@Mie8xOKTr-8h(>=7b-C4VF9}Yvj=x96Fb}+eiis7rKw_B#pBc4rCB8UncKp}Shl-@hdna<^BHc; z5A&?__;uXrRM_Akz@|Kk(;1`0R>E4Vk~ajf4Aoy-jr9T>&@W{#7dszOkuNdGJ=_55 zlI!*572MQ{t?-%$z$!A92b>KUj{d2y2mMo<4>v3#x`DXeg@SEn)bdB(3kMo(5EAo_ z9HzM*?F8`D>DQ5u;R;{ex+_fB%FSs{UA`ZD7i_))*_a_Pcf23wi#-z0;rxc!@C zuoY)ulZ>l!USQKW@OH#^W?++3Jm8ecoB7`_iJdavx|XNR-9Q3tZJu2cFXz84qjW)k zF$u<7o(mmex#M$dKY(=L<>F_{i{B_O?kH{$Q9M@IJ;PVn+>H^d8k~VJkPyVbh}IQ% zs6n5e;9o*3M{x!tXMogQ@K6ES@H5J-A5j3J4JyX!gM|nCX*_64v2o96d}}~sWDru^ zn@n?dlx;jP7)pN`yVd!7)y<~WJB*^$MjdRpPkFRSEpBux8yeK&eMrXBK76txv>r1R zzl4`OCdMb^CnvxGMq-YlXaZVM{1V?FbDpg>zFndgzbs#u8g1JhZQBW=ZQ~HJZ8!Q_ zv~9Px2yN@p_~zioBZJwt;#b{KYkl{YXoE6dQG;{$i1rR>JTxfd8ECfs6K$?6e!WuJ zZ~$*jMx!f>n~b)gnfL|^e<%vK@CiBa!WKt!r-Qp$Q4>(1Zkb=w5fDUP8(g?-g%= zk3_-8j)TfAlX2ao3a*{2s@fuOZ&M{+J;Cz*9>;#A_9XDRM?)au)~Mlro@b0RYPBzJ z;-uBT?sl|#vpf!0{tX$-??A};FlG;In6URiL!8oYKprkNyD8t|%~BoHMEMrCqs5Es zK38G*7o43!Gxl@ucKmwo-DZHCoe1SDY}}{F@VF=9{GpCPVa%Iu_#?pd4doRPLswTF z`w02M{2QhUqhP(}2)BYbk~7#NQFnxmR!3Phu4kYc+_K6YE9LDFCLW;b_;ctG^S5 z{A#GYo%o%~=6S^xHsOmeE8&QtIO_ib z8F418Y}Yd%CVD4sDFRwRTfgRo?Gd`KQMFIKaC`s|!9_OXD_@F?Gz?qRytBL$#xT77+X1n?x}DUbU(4jlvN={E*rh$%tSh@IJO9o=^e0aC8AQ z`5|fxK332IoOJg?^ck{GbxgA1h9%_8m!I{s5JVIHhcFS&Q8`Ti2Vf#ky94jQ&D1OK zYE$>_O@9qY80qd%HMHN*b57;nW@yF9E#m}w-fBP{VaBZzv1y4Hu30dludYX$hYF&7 zRP839dN>Kyx8dKb3$pk8H8rxg{NRg`HL)>~7P!)a!$itZh*&CuUriA0VN=UwXAHZR zr|hf5{dn(s?t-yl`Edb-Inhp`U!6ttJ0^NLuze}SBXcij5HdK2@|}usm!M2$rFJcf zu!Hwr6NCBIDxtyA_6LJDl*(LFz|%nshm6WTqQd8Fv1Z~yxV4ssL&NIh0KEr5KrVb4 zPLHttU55>ph{6oN0c#mzIq?GBD9`it)L+Zxp!bSf!3I>L2Das^3~Kiq zqO5}RI1OMoa(O=D65;gj(I#Qde9kj`8<*Kp%^+uBl6`-8622++Qt;+kYNS>)Pw4}{ zAs;ICDS00%eS|Y8T=taPN=j{vvxyPCOMh*R@TELjM4J|kAf{0T2f=gJNFAncTo6_X zW{$G1DbdZecQr9FZO~~ntM+n9k*e#IHJlc7PiRjk)Lo%(kvu}(sSVoac1DSFroHAjy zORQO`{gbFe@+y6%=PPxTxF5AyKT6%Ka38F4K-`<7?|`oynn|9I!DiODMh9F0;wDQm;fuQXcrXpnE^wq7P%a& z?t)0)d%9raobOSm%jkKmklUaYiLMtMZOG| zB?pV-t;2Pk@Fb(gsD&~?9$DiU*zP?mzQgRk{BAl7*gp<}w2eLO?Y!!AY3i zRM^F@;?j!M3jP3a5XFkc8|)E)h7LQ2Kio-}U1mzL3;@Ezz}P4}blywVl;$HZuP@wM6Jrr3HbRW9UA}d0R;wx%58iht{7ZhOEK$DfvR$}9j8XK8OZY_?M zLwZ3FV4mh^#iEA3mcSXcZ5$ZVjdW~WoGEcoRs7`;yuA+ zg++4poQ4@{vMrbvodD%#tZ6uoTY;VVoQ~z%fP9~djR$u{b?iIRII_yT}C{C+WP zC!vxcimQM`4^4k`f4Lu+IWrSsw3kLbt>M-zSSnL8saU{sYN z@9Q7N^lr@)jM!VE{wROXlK`-f)7!4?THn2dA>;zl6I4!5XzYSg1NjsDlh|HMAP^=+ zPhViZbs3+nu1AEM zhj#%H&O-o^_L0>CghG||f5JCeL{KIwdsR6xAzNJ!r?q95k9woL_FY7QvjZKPCpDLE zu)u~0$PmPB_*GVOl>`__J>ObDgDyaz+o0M#NXJr)E$$6i2A_dQR@@@zQsCi63=aA+ zC*l|XY_`QW*g*UuzTno1h)>3|QtKCBV#QH3+lTdnMbBjJ-dJKC*5P=h@AZU?IliGX z<1fyK#P|e}@oqlC{fH}jto2Sjd!bvJP)P9&KwG9<4+-vZpEH!0uP2(F7G6f3YtfcD z`JxEK)7Ye8m%IYfY1q2qa+XL9xEn~FChF?X$3Y;W7cL%G`f znHisD#-2vTC0#Q{Y17K;P1d>Mw_ImSC52a?hHnFDjV32&P@fMRSGrS;sk;4Mk(OZZ5P zLF?&wR%(AJ3MOHUoi;Hp`zeOoHA!gp^U?YogC`5<=+7f^F(jcCNts}oc^)iEWqY3g zK1fq{8s3fZ|CC7R&jc|CJR#n*@NUeM9?ge+FD8_@yA99$_YuJ(Og)N9?KJ3wxV5K( z)w_b#JN4`C7Pkd%M_EDiZiAoo3t?<3?>45W@PytP+3n`lhK!(Lt;E&F!-49Z(7E!x z=+UZQb1C=kP=l2lDYUFzf`EO2>Rst8uN3p%jEz!97CarD&Z{?y-M^gDL$1i?l^~|0 zQK^8o!ETE2q35tjZTx2mUg#&j~N=sE`8Jd8WX>%3r+!q}!*| zE*0!FW49Yo5B0mxXyq;*H%Kewz00`*u^jJ3)T*Al72D$tXy!KC}i2C?_zyUa~0LM#j-eH*$A8~}7Dx^#l;#cIt3ZVjG zrc(NZJD=a+-7VcW8c(z69&b2&RGmgQYj80*a}bVlz2KTo#uv2*4rltN@RebNGrZ2D zBlW`f1X4Y^MG6&TRo#qBfujQoNkF+N0pY;EF#mN zUCKveR9%E;Gwx|zVb1!-#pb!pEiX2UMP@o1OQX0INvOJy5BgP{b$hew0mjUd#TTxTnAy|uOx1#Bv$p zJ*qUjz*ba>;#0C+qozXKlvy+dx_`U*HD^?5PCY2Rg;6$ zfCyZT8G2_X%e8@jtGAN51mj)IO2~LsU_1{Q503rl0FeG0r_%A_dEmNYemFB)vw0ew z&M`}-qZ7LW17Ro9cxWI*619G4jYo5*92OS=PvBTbbcHU6&`gg;6b0jy2^a~)?`;zQ znFS=iF$K2rg~Z1eXe*w*Kr5k`VotLY)?nGb?qe~{j!e!Zy-vva_)KOj7a5hhKY>*^ z-W9jFDw-3e-87SSDri?m5=}tLtZX=G^POXoZv@C!$ZtcTf1Wd{5#ApM;3<1l6D*As z$Ut1hbpEK+dLXMmI?eL0W{1vT-#(8=&PpU*Jkb;ZB%$@$N}VoPk6b$*4MX@zyo>$9 zx#E?}zCLTNRDFMC2ByGJzrOfFS_I4Af_lqa&E@Y4h4_d*?O)B1Y9MlKXvSOm^kI~c zRBy#Jh+77_#~3v=s&<&OXZ36%33Ml+TfmBP1{IWv5@P~%#VgQzrQrPrkmM|qQ0Zvu z;Twi0!J30W-aO8G$J42qk4)JUR29(J+e1&o9dA6>{cT#1Ej#rtBuo0P;D@Uruq zSOYmNEI>xX>yA9C%oPcLMFz25o+)1MHzvZYvM;j|Ek+q*C0ZgLyIF~hEsRn-Meym- zs4)a^K#g^zbLvHdvhbva=J=}Riv3Fs8}=WFdGB66E|7copYr(<^vg>BQjf(4R|ZEz z;hrnlDlrG&0W^~4U^yUr;+!f6q@NTsc0K2c1I%}+^zE>o^FvfRmlIquHr0?=tQ6kX ze9pMqGj_%_$>m;hNUZX!x>hcr)t44yBR1*{fT+;?XyOju!`@TS37r1_ z5Lxd3sKD%4vyV~W{}2TX`B}MP`YwEqfOC_2Oq!7B{&l#L@lK68#`!I(lg4u~|!jF|LWL~;EgS-|&N z+xOJr5KSR`!WDFC?<=lZna4Ps)n`PJz@eH5zcd!BEY!xRZUMw0a4{qwQ0g<#HFBPX zrX}a3U7j$QqhjYm+P_2JAEXkdbC+NK1?HY#oAV8RN;L8}Ec{=>x#lS}4lQztsCn>{ zp>KySFGSXmduO2SkBGM8T(z8%8fpke*33qW!b9+n5eF3hBP9^MUY0$Fp+?~+LEIHT zZvRb({14HO)>f19xMAnCm zDi5BvgF?bnk@TRE^oC5LAGN<2Nqa>S6{y&#^++Xp$&G5OG-{|ml`Sx{|GvBIa9%-h zAFvX_5>1vgqCvax9F^?U;A?m2R|L@PvZciv$YPI|5dA{%2M0W8gFV{I80o^lYnpcj z#fac_dV9_ALUSSd*3*m4bM(#Xg$y$KX7l1cBl?!^f zzxDK<7x!ju8yNSN=EeAm=FITsjA|fli!g)`{Zc$q(||8ukvd(o!&Jyt3I5M4ZfJwd z$!T{FhuKVHXQoHH1Rq|(hgN==f)BVrgSLpH(dXHM?zV&`D+|`7EbG`)eQG6?N?^7L z@la+j*O<(nz7yP9SudM=Oj%ExuXm(L4K&)@8Xrj8Hmc#Pv;qRRDxfBHMR2SVcq1{Y zOIfMSG4OttcwY#-q21DWIMdPOWjNd|xSB&0!igV1g}Dq&n+ismqoMjVHh|Gr(SYO7 zfIhw^G~hTkppVV>s4D`ivL<`mRZT6dR1XI%z27p{d>HmwNp%u7y{^KNc5qTcWjPMl}B6&tDTzI~yvkLaGs{)1mqufLdS!P~9Ezj?dlZHCz$ zYw~1K&8GF}7n(Fv#7oW$kB#l}4h|QbDc2jh8TsEXHVm{&H9*sg0;WIz6`6Yi`#d88f`8kNNyZ`rT+^NzV}HiCs1O<3=co+ z_XSjY9-4;)ydA=un6bNTf0~kXtdvL7>*H6f=9;G|O^D7hfy3!=oKf#8g3{dCfw$AV zLj#A?d}VjO46sFrU|&5R_{iEH47D zuMIqD4^FeQEDJ^Jh-+S#$E5u_`qf465!lRr7&w#*d!0}fE*KEf`2*N4&fgQfXDy=? z8@(0vX%;wyAQOnGqSUQHx4SeyN9FoBru8cHEC_OcvJV5DuqJNO=3#F}dg@E+s0=9-rh-i?VkYX2i=w{*Hn z3N#jmw=YaGKPA89%}}BB^LuFh$jR5b`VC{@E3fcq6Cq>$StpphxD^-15o{>Da2Aa1 z@r<2V4kLD9%vBCzmcwCqix+yM7nZ1w=e);b5W_qdRe21t8FmZ9CR&U+=4Zw$`jdV>Qny?}tF_%l(=*)zcvZ}}$sx|uV$wwtX$W+rulw_mKnScbtawYh{-2d9|Z_``PbjC2j` z@HaEcuQ)EbxK}Y+q5tg=`e-vFJ<4pGZ0r?o%4IY4yO9C)--r71!bfn8h*tjcMA^#r zr$j4pcq45zkt%5;)j)Vvo^~-d12U3CPWi{&Ry-rma)6J;2%t9rbYb{@fPNfkSg5b1 zJ+1G_r&|bNjSv*oD0LAiSVeXOK0j;uYh++-K~3$^-dLrmJ(}a2$koJQePuSZCC(MM zVEgzuT;781;qwrQ?j}5&T}gDCE7Y{`U^XxgE@0Yy*GrgdS$Mvo3v(x5W&#rYm#@Gx zI5HlXs3K?XM{^)fW1~1A4T_@C%@uBJ&Uw{+3P!o{xSJz5d=J{FT{kFHegv)`Z|oWP z9AOpLAQPy5{r!^aH}4|VmAW^2f&V^7m;eWAV8&Vo+eXGoM#gDI#=jvWlD}^xj}^(@ z?41>}+1cUKQ6)alHa?#i`wXQfOSqT(>^44s_N3@@lwQb&h1(?XvBu|r#6AOSOZX}I z*ZZh_GIMzR&o4ckD9_Pxt~&6zUMQ@fpU#9HaljvpGilz?p8+7;UbYZ1AX9 z^}?NCo51JLoSP5tliiHOK0ZhjIT9OL501b>H~2BWAdV|F$Tso$WJqN0!$ZQHq&?me zX|9-?7G8~tl15`+U%7-^!{WeSz+KLl5#kd6CKK$uWU!+J*h|yGB`Lrvb$$?2f}TVW zUIVm?FINlD=kxJWI64_d(3`2ZjnS`;F{ju~?2ovSu3z@?7fi0>k)e6j8Wc+l|4L|r z#ile&J;$@QelK1G{f2v=5dwUV?66mnWOi8RW^6k-sgfn-q$)D?Q%=Nz&d|H}_Ashx zUUi44Z8T~#rrR>iI8QVFXL2M^)V;Cu5)0fchx+~S9>o2m2K*2B0BKRb*?fQuqu&HP zP;=~cI4R(~lmVvZG;LkJ-l&1|`5b7a81wmNBV#ErX2u@NVFYo5eG?Wp%%k6j&xCfm z|JdbLCcftmd@inzdaDi{bzO*td$b)Qppy2qQ2EF#ezz@G6%*xh^hoi$+71R*StNVs zSKrwlS+FMXxuUFE5Af>z9olVyhII~$nz1W#01#V$KF1RNF+YX+{e#c-^7#WkFPG0& zHuVN%7{rI~;h~rhSKwhXA73O-E5!%{xrT-I+jAI9V1w|p3lhsXIa91nlz1IhXk zA4t|-zrX{@dO9CS)~Ya_SnSp{Xf!~3Vhkx|S8h97cmUw2{c~aL!0xz^M{X*ix$s0T z5NGyqB}OQ`fZuZ_8P+LDGPRV!k-VmFo_L1+^9MWOA)!@#<#NVV3t-Dbu7mm=_@+Yn zORISU{igg;4~mE8Rg@{Fh5w0}j(ukKmpgEz54<0+N-+<#PUlQ~rg#@)wm~EeMuIUP zi1!?kfz5jW?b8}TaO?iRDL+nX;oHT zDv0!b?0~R)mg56Pw>Q|!l#S#6fjY~ykU4W3ys+RLOUeqx*UryPWg*IQ01!ZHF zX46C-lZ`RDkQE~CG{CLYn!$YcqlA9OlN?}5-P@=dP?iviQQ$-YyT3Z7x35pxnD67R z13;H$`;3Uan1E_qquV?(CPen$A=r>!2_TsBpL?5=CWs7?eRD-sTKL!CDSVzIKaWfP zT*uGJi(DUWz_`Zzxe62WWMjf!&zJF%r+&?6xNRjrt;4g)PooJxaU8QF&En5JzbgjeOzA~x5Jo`-j-7lT{~?7bp23^B-kHVD)2e@f1N1L z>K}}&{vTmceHlEoNp{BemD^eFHswBs{?-DA^Jvt;2L71sfVQ<5IIH=BZpCd7?7R4q z-Ms2Is3zL!QXH2_ZR$a#9sscTJiTR z{$9b~8~A${e;xRX;LrB+Z_n@iH!fH`2JjdKj#1!iQ$WTW!uppd{3%`}JOzuu5cd=` zU=pj;I^nVzySZgkI444C9>yJ%p5dZQ1P5JcSCrrupt)A$#)3NR?ctbqsWK(DvS!G% zX*O+CS&5%lOuh-&kdy&j+&<|A-eC=XfEyA@DY)H>Zb+`;21sPM>n&~y8|pf45(*-r zk)uzd_raXkCUe%8j?{pv9k68yOpn6-zw1)o;2J&_Tw1$wp^T zRfPgE?k*sG6h7^w=n=;O9PXcUXTZ#kagM2Fj7-PV7p0Te62qTV9q>F`0cRnt-pTZZ z?sU`NHKLMuv;&IazYVb_vd_}DZrvG~SYI~MqDFSO9q;%+(?1E{B)m|8K$2Go#Lc5! zD_3J_$kiKr+AJ6p;H#GAuom{@Mz#TOI8{?#c%n$yfCNPS<+d*i2|oDp-&Gzew;4p- z_!l9MD?J0+(^tL3sV$e_L#u*idn*v-xf}_#^69}G(A4((hWf8d*Xv;*Kiehbgz|NCR&NHeg z@<;rHgGj=b*lbe<`pu@)9RSwSI<*6tl)Alm$AAgr#kHBbfm8u3WK%%xd^7|dq5t{~ zUTj)N6mrLKmC;>j#rsI?fd;xZPZk5_X#G{44zr=q$SgFm<_LXRE$*U(=q2{pUUq5h zaju%HM_bw>k(xJI($#ax=vdPqK}x0e6e#sDZd${4;x(x&A(GRB-d$a;7ZFyANS>IqDU@ZK*2Gcw`tkW;C9O0+`^w7W&Z z-(*9w##(O^?|&2xv7US?dxhf(oqG+wh#p1HqSxAuv6Qbr^?GcdC%+*$eBv1TJ+go> zQwNA{gJMC~ZW|2nDT!lU046PowYfJMD0`|G+pAN2pE&4X_bkE?i*5eDkSW??I&64V zBp5A*(C!)WE?O+8{V?85YRl98$hCO_Z)|XvA0IudoCu2Fg}iMJ^qw<sagfz#GTC?@vfmu(TkJtg6cp(^x@~6Vt(*@F~xjd zActkr6!WL zO%O7$-*DHZ;kIkyyV2%Iq12NCo)k)TY>`Jmg%SV?NpG>@Nm&)a$&zR3gZO381K@X` zD28hrj9;S{oBcYzr|GY)+5wpaKFOOJF>(6Vi?*ks?d*W~wkPBZzeev)^AlDuE~6kl zMB}?fQ%L$vqe=R$csHcO8$`likf5!;3Kcs(SU!p!E|v)RYL~=w0c%|6aKgm-Edy`j z>D(D0-D{WdqSl~yYUs6 zo@*9N?jF%@#qt?fC1h=UGc&Q>gTzh6$i96=Kdl5*K(o8h?)Rj~-K01BslQUU3N5L` zwkOo@pUA6k*~qa&$van)JxG!R+K6Z$8u_>5#oUHc%eyS4jjS!zQkv_H*3fK=+RW7596t z;KqA^WcX${*3+)1{B8*vWsD@rrTu(Y%9gtTNN;#lw0x>$!wZmPic{`<5yKsOl2G|O z941xyW=pWpc$C^dVEV>X@~h(n#XkXyfpYgwK%_Pzt??76dhRyP<0*V9&;}~p}I5B&aT@o?lG^5p+;kM@XEciNChz* zChAD&N-W{*ZOJbmg4>n4+wgA8s$nGfR)T@Be80wL+#?Kr3JROgV4W5xs-$^;`3sN{|EvzH1a2Kh8t#->?B6W_Q61tYd|Ji=9??7 z$vg(1X`V&g$6M2vaDWr0L zcOJmuAcZ&MAa#aF*nk8O{banL8t~r-B*&6p;*?sy#8KC=0t-(SJPrmUdOsZ zBkxkgNO%R~8W{h09I#l-FNs*-sG}m4SUiuMO5Iqzp^tFXX%+8h2xx=1;{`~d#lWK{ z@pyloScQ)tB*%w5$KfMX*sSj%@yi?xuIdmlR*99IM{Yy^LLQXhQD3b0C+`ysurrst zn6wqf5$RN5#P~qifuVhuO8kIW;$94t8mrWXKp{}_BaY6HwH{_n;RW25B+??=2k#$b zhJ$Z_1EvXP_?VCKv_E)1o&n|T=VCL$ClW<5(+Pe#1xPwJF2&eTZvOz0Ur^lvPD0O! zC@=}5CD(VYtZotOxI$ESEgxrs3mAamD!#bIOgPvh>we_fSlu7R)xB{&$6aXT{W+|D zxu|}zto{$Iekz`~^cG_io42z^jc-ATgVNZJJ1+y)IhL0r@RMBvYT{8=4I4I|fm`>QS4+Y)EpEoAOETs-P4?%eF)3y+MxCa#hc?yOzJZwb`p5QS=#}{# zmb@kCW`~%KeZOFaXEE9N28rI;&Bs2N8N9CMRek_Z3m0?dN@gRYVN*}=2U12D`A#ypLjDq?PHi+dk8|!c_@`m|O61s|S zkSuUE3pizgo+!Yjux(~{xld&7<6^lv(YGZYmF&pEIa=!>dsmEAIXpd(H?1Qs2?DZh z3)YPOtHZK&6YdP~d&R>J%bZ8$JJXW?`0d(9j@=o2Z6WM20LLhBi~|3a6fo_TU<+L{ z0vpoJ*!EyjZbAS8X%89l`;p>O?3POTsPu9A@v5#-`lxI0;9Q54bxe5xDGxBE0Vxek z*@KilOxcf={Y+^`O1m36RKDNPUcw#nQ>RNcK-<&R(4DN0l_>Vfq7KDAQB;9^z{4i|Y764Y@NTO=ZEdw9gzO!}2$=lzmZf<8Oe&c*O2vUvt)j$@UhV zAk8s*i*Lx@qO%&O6nN6vLyq}(+tq%osaE&-x}?f66B&;MGqJ|vmmlFDQZ|@@Md$3I88>O_}w`%<1pm$ zyA^x%Bi@5|{0UTvrD!$V0X5##{&K>5N`9a4mt=k~!L)Xa z-@hS#w=Mh6@w@XvLj$0w_*vKqQtYn=@1PZ^YikwHTERQ^<3+d%zeC3pHUENlwDT!= zN2mO;P|y>+!zO?1@`vIWBBR3o{O!k|j=y&N zb&B=oMOVpB8(>MQ)P5IO2w&eyT?<%WgOr@s;`uNs<^iWldGwls5i~5u2dDpEpE0O4 zg4@6y2VA2R?16)n{A|>@ykK667y_h0ESS&g?BUkeLy=yPO9d-20~OHa9hXiBmdZ>|y6G0`fT zYlPuU^j*{kjS1_Czc=Pcgj8RkTyOm-je^X6zupc3lJ-(_&7;5?qB>7OK0GVrLl>qW z$SwRW6zT7cptMF?hfZKH7sULvdrw#F$fwvn1w~4qbfpi%$pl=sd{y&6{RBp+&)tYg zBe1<{&Njw7$=Ac9IEh>YHwUz8gD+Xsq{0mdjBRTUTcDq?xF4bjV{kQ{rVfWWT>~CF zhb+m{hhEN*xCYefC{%q(YpVG6UzGu(^!fC6iS&8SBIt9~HiJG7a~X=K&j~U5JTv^O z)8`>yB7IuV{$J83;a?4@7MSqoz9-pYMx5^&iDB5kKsLGK4d~PgWP}mRjsBS$!aKjk5;xPZ#*wey**s! zR@9XjEs!*zn`?v~Ky-e?)kM$e3-VI=JLx^q{}TkaN#9M^K^aUJ%HzYKP2Sk~<=%1r z!fF=tU&q-Lru=T$5NjVs*4%{!EatkdZ^ulFaerxjb^z~;zJ}{MK^cxu)F1EfEMNE& zz@00Qi1#I=_(qh4oF5xrdct=JpL)=ir{uiy1d3*xRpCV_vSuBZTB%NHMie{Eco*)m zsASJ#7j#>U*<^(WjS810ROm@8DJ1jVSD0m1Sl(^1ScRQNg*_4~baY!XRSSEV6^`q+ zSggWNj0%6cHlC!T5=)B1V)re~G%Fn5ZLwH|9Y%%25-L2o+mfkTXf-Pwn5r1{Frg`0 z!tJ4x8-v^kU*d{F-cBzP? z0W|jk1Uw>5$%fbfx>?_|F(k$5bl;Ak0Vj8q=BD{hgxmHLIvTTm$F0xu<-(;s!vS;- z4(kc(s&)38H~l;V^F!8k7xhd#Pe7 z6X3b20AiBWs}Ng-s(ad$0yB6wW2?4DGA!fyk1sbClk&5b-sN9hRqs?))yy9h+5K9i zW(t0WSOW9y{+cNTkS4CInNo-!XjGQ=rF3y;X%V{0va?ipeQt(RnC8+Ec!j&BNTj0_ ze%`)BV_W;CpdLHj71?R@JNlM9t~xrETZSIN?K3=aE;P=4?0=Z-RGCMr%l>x^_`l-X zFJDOPKj|=U5za8P?uqWv=V6&uwZk|vz!}gk>e#}M5M2D_sPv8#oLnL;S8?Gyo0O&w z{1{}EF_U7z%BxIl)4Qle%EkEW~+iWndYCIS=wLLtJ#M9dv7aiLj)90TX>> zO(AjxmW{Bim}Qj1Mo1l0bAT2nHHY}GZ#+D9!+z{R2tF+EF&C)LhZoOE+v1E$4eD_8 zQ+}ErJM4`Vz@hr`g52a7-U(rg#XX={gTImKU&r4A0Ftg3#J075IqKbI8#=G>!S2+RB!a539!_iOSb(beO6^z?H zB=bi!&L~`Zaf=W-XWg4KA=+23s?^%yc{G6DtEFyIVA&vQCcgR@=N`54i zoy?NbOEwF$USBS+l!be7{rgxeF?;@8rNn&uifRi&H2%>vx0nWf82FoZX zaS?K8i3=awP6aN|ivw%t43RMArG|0AJXU-iE0)3IaKK?HSAU@$d1ZH{WVO5x2*_&r z7+IdE&EYY)({qeWB#TJ2$l(s}z@k~};I|A41Tv^#_| zx@WybF2{?A{wGUUCYJtda%no^C<|_8QBf~2?1iLQ7w+G^JrX`BI*>v0h`qL(Zey`kuqcZ9cWP>#3IDDd0F0;Nd>+HMm4Q7^7rTYWvt zf}8l*cBRX)n^Eipp{`7XF(erVNK&j9dZCsMp4U3{|Bt;Zfsd*>_X!CwtTP}&6qM0M zO&i-rVl{EJ&SZgeVFm^lh*crhN@=xWx=&~HUme}#N<*H-|AQ!6C=Z{+s{`0iRLzyHARGJHR(zJI~*(^V-b>L?a9 z97S~#Y8)HYQYCNAVK_&w+=XN0%B9_Z9`T*#VvvS!z#k|t ze7U^vjXzUlpuV)~Pp4O*m$=BR!;Hqtwbw4>1fy(^zUB-s&yJBQN*4ICHi8pS;HfIg z2sm7$0~0Y>KcE0L4cK^EGBU%Xu}TUz!yF5ISn5w>kq3^Yq2h5gR6JSN>v4*TFcX;Jam5%yc}K}%5J)hMuQ6_+@A+Ovo{TzRsH8a`1(6`pJ=in#tVWdAC& zpF_XL=cmj5T{C;VnSD({_7jo4Qb7g4R5uh!4r($WsO*J^qCE>I4N?ObEY)}KjE`d76Qbt)$)^+LX;GkcEL6_TA z7@1-d!xJo^@PY!k{EP-iguMlhu5(;l0>x1@GdHyOf)N_^s!jH}*q)Kp4*xjoBdoC zdntpgxs1T696-6Vn``7=DL_B`)U>(u+wVapoWd@Ok2^LSuKvGby5V{itDkROMOgi? z7vwU&H(pwuUxmhW*%?ry0zQQbti8z`b-5|Q6z8q~jY{bGn9%IOe}ApBBgX|YF3C)1?eZo>Zwat5BInroN<;G zh1QXViUypabtGV-fhi%mg=GX1$fZCV$fc@3Q^+VIQ0mz;(|K;-R5fCo0ZSaJJhbHI zbX9fUk78L9Mm6Z!=E#P$a6CCO zcp@B69>1q?HO#N>X@ED%JxybS1C>?rn{$5Fq0p@uN`7$0{)J51(d zG@eGmoj<_fVk-0Q9~qbwy0`t}jEwG3$H-A3zRB+Yw@B#9Qa92#nX56RVMLR>mfoks&H0-#UN8j8&^$(ZCo^imNX40D{Z) zxo3Oy&3fq9_z1mV54~p(*h3w=#x#ay5aUA~cHBD!t|`|WJ&i`Tr@DhTi=OIkdBIqL zovVrfAoRLj7!JK`ySjP|j)dsu_MEOWaRV6u&ziV$H4N5zPz}cK2S>qj7}ZDRDuLhv zaO;LqTr}pEumn!Ti=wgl9I3F{HsakL^RLf69h_&LA^(M2O=(T!7unc>b&89n?~uke69pYH3&s zdLfgacV$?=<9m5eI3^x>Ju(7EM&J+_ffRm?Jf3(KD1Tfxf?Wk34fuJTLSJmFT6s)H z@H5^>Dei8;mV@DI=zW5B2a5WAp--hF^NSr!6xb=kU+jWhAucWD#Wmy@cx|mNuzAml z3vAE+-EXmdkjA_!H%DS_)im%Gai61Z#FJSd~tw2TM;xi%5G1wEPRh&F4GcSC;M4R7b&TmgH5E$S+E zLAeIm-_}FEa3MHg3vlIK{dzlgQ8XI|K3u}Ww0&9lPq{XeRk85gu?)G*!W$KQ0_QdJRU9b$Nd+xPt#}H^x=2mRphq?$J^J=hBxlvYt%PxSHSqY5~T}! z`6fYwx;>h_42)c%pP^zj{rD)%{6k_Fy2Y^6i}}0|xp`y#9U%uaAwLuuIXd3r6*=}> zNyr!K@wAEEonWgY@ZsUJ;nUwD3u z#TrIkGkF~%ML*c7F7@6k_T zWy0P)5_r~;=^(=89U|iED60z^km@b(HtMcuiB^3j_mU4VQ~#U2Fr(^ z_JMuj=FnGimsO!*)xH{tB-~Q%tHUD`>96U)pR3%}5F|jc-JD-PWZo-I8kM;VRo_y6 z&$v`0=eHn4#-|) z(cVLVvJgmL-&+1%m}QEh<#*w?rnS6^F;Ra7)&gAdbO3(QGl%if+gw^4O^=Ro&Os}H zly0v3IQ-acM$`$x@ zSV?^ml(W5dr9_6(F?gas@X&j>=UXh}{*-$UU{X?O@G$4Mh$2WGoGarMy`-cLf)h3J7X)yJ50L_&B~qYCqu_Jj0nrLZ6c|v$PXzx2q?WV@?w31`tjq7O z7SqUBB8Zar4NCgQtqUj@DqxKA)E>p6sFAWLI5hx$ORBb>sgb5~&+c?a)!6nxSpZ+*HAPHkN01z*hgMMof^D(L1v$07(VNCjd z8!+pwlCtNe431LyTi}a1E4o=+{+2g#_U;&cqv>!bh&zccXbTWsL@> zct(R41e06SFD}ybEAd<|H2ozDyAF-O%wdKO!6_*!htKNMG|E%^c(zs&N0}JmKQ=GG z_6V_5yqCu0d8DuKBKX+`8>FbYkN&oJM#Yt{k(T(<$ue^mSeykZSySDB^$&Ipq{h!h zt>D@~w4OLp({FSLIH$c9w#XoQKFcQl2gG}nQnJTLoyTD~OGn1Fo0gxj)Oeo$$B6`l zt=4&Zgrr_^#EsUk031Lj2s{~_6h!gDoWN)io*_cB9Ja1;q>KTtTaDs-Ho^(#9(#>6 zKFs8#)ZyI$tQD-$rR1*^zJbMOui1l!m+71A)2r~3F;Ybntzj2bEu+D$5AiP9K|`sG(e zJdP)2lND29({ax;f@v%p<)BY;f}csQDdV^b)-(<^apWMl?@SoCg^nl~8dlHIOZFQ+ zM(y9E*tz1Sa|n<1nnOrd(~1~x9ahPuw&pSp>8n2>^C3055AZqY(NfpRK?5BVL>OvY zVfg+CdoYrX=^f#k3BZnc&-YJ;O`%@C4(%$2Uc>0f(vi zyb>WR!CqYHG+sn70`sKO`pN=?;Y7I7-C8QR-L#f^)kaRHCRmvJgYY;KnQ|o52w3{Y z&luOsy0VzS)V~hXwF>;??8{C`JpUPk%)jR`_I2R(uN`Fm>j#~)`z_%aY75J{i_tNw`w<0an_-H%@J!7;irUpWDOKBb@)YDqq!b)S> z#`L>A>DviO1CjdO7d_y`Zksreso$yP_4vlQNQ$5(7ZanSFrJOEcoEi833$X`7K=|e zU#*@Z(l|(0oSH68agQP0b_#5XZht_)$LPCUWiC_$PMq`|jdl7}$dS$hibE5gr>Fr3Xi1$g3o z<^f_TapUPmdZZ~qni98Of)GR?JtV=?ZLKjJk@$lC!mwEwKA?cHxMb#|h4az6`8e0R z*#q3vx!LL*JlSfe2K!|AIq+i`dw>?tM+@hpb@SZ_V-E`OWUIkCbFa;{{pa~bj;JnT=+EL?SJjgzzJdz zNR7AGW7mPO9)-ykVO|#jFD-H#e@8F^g}}XPc#$8!3j8W1fVa+EDp_GOuTreA0Awci z7Z!+T<@_YK-*2^lmvK+2IcSgp>Dhirt~ss6HQBi6e6B&V;&=&ycC^eAeL;s=e{ARy z;PE7@>XdqA4T*!NPvBbEKWN-XeSa)DaPVRF57sz`4=0wpj(Y<3T*F?bg*802BK)xP&cZ&&op)9ap4fS3VgJL99G>UEF9$y-!jQ)! zklv491%7~?SuD$sC(7|u;EDauQ;GC|I~d^z&vWaugeUA-s?YM`ag_!VtUrL2xQQpc zC*gw_ey#b!P~q3kl?9m@3H5benfxtif3#d5Ri-=2sNUT<=gg$^J>v6I;<^9G^+HKj zP(%>6PzIDhsYvTdTa=J4E<%0!c-(vdG(nU5K_bs)J{G(4A5@UINRRg%C60} z;2niKYj>=kFGX(4SOjjtv0p%U>q{E4d#Q~NdI_|YSI>qh<)o2lt%EgQ09u4Kz(`Z5 zmDCpMz|IGIIgrGC7`J9>u@mFac`D5|DM{kR%|>NWOEh5?hVC_vua1oWKE}V}i~}|P zSU&~0ul9i+*C&?Q*MeHXiYlwSfEV&OC2&oR#N~7^Q_j?V=5L*~kNn9;ht#7)>bFPF z^n?>`uu{J@JyT1J|D=7(*`aWSZqvdxt<{}!qi3BzFUW=TNgKp)F{{SybK0W4Fb%Ep zbekt#agSN?z1279_yqbNlC`qIX6KAQJe2m({$m8oLwk4#ZV&+YiY}gt$ zYy7bJ3ZO_FM#DgpIu4^@Hx8dXj6$#^tRY-On8q}D2*Xcc0~XkPg&SdbcjG{c!)Vxz z11S%qZv5gKy+_AsH0;KS)PwEV?M*s#^|IC&oG{*n4TJ#MX0#FQOIHSbQh+-*A+}zB1Dq)(8nI@D_+yL1FkyH*4os5V1A#P@;%M^_CXxLW)+&IfpPqA5>>}YD`yj- zh1w_qbl}qM)6^GqJ__ZB;ixWd=mg=&Bp>GSNOApo4u3Y9(z| zE1)RzmPTq5n%%SIUdpf_3<$IdY<@BUtRKRVa~$zXib#I@!YB)saXSPI43t(%q>rAZ z`JQ}`jN4_;wi;J_02(!t?NSX$ON}uZ! zu>SDFS}1}1eu+bd05Hi|EOEvcc7MxHO+VD_Pc472-!N_%I7LJ}PH3>7vI)z<&Bc&hYM)+1umjG- zo*8YD$Q70+JT{4Qj}k87urRL-3cLX{+;xIi2V!pXNc264E!j0k)e2l4^U zsx3Z_y}eoV4{(KMGrq_Bu~4ZkkGLqUK`$?ws1E~4No)SuJ!g#ZLLUYSfeDgKY0D);d{Fwbo zAMd_!Aq4zMOXW#cz-ydPEx%Lh+;m57VrhigQ6e;9^;W$Yjlh;8bAMfGYrY zG<>x{;2Q4AmXV&K+-0TM{+b41cUV_;wOtRJ$t_)DK)j3=t`=c00VflxUfxJ+LN9fI+UxF`M9EqZ zY+H;OOry7V4J+K~(aRwcdin#NFvv5=-; zvwiuHx_{c(vzshIJ9#CiNfBG%ve1hkSZ&GyticIK(bco8|;5HT0Kj73?00!PP_1Ccu z<~im>#-2`a5Z>?&II?ie$h(#FFhq`xdCPk@@HoJE-`{M95`0XA8<`{Ukp@0ac=!Nu z`}&5GLkT{1=N*BMwD?0i;bX-gpl!jAh;K4)Ng_gSGT!|6Vw;Rzqp6A2*kIlhjnQo3 z+H0>-wiadrrMAkg1zZDcEwGl+mawaM^>@3*V2982y59BLOQ4oFUTb_c8&*+_=TB~p z+8yN?TIiqLP{6>-#{I_vAZNNsfRPc`v%wR2AX#eayMX;ALXEIJ>4r?4TOKD~@0vps z`o~H9-Xs3e;Oi_91qI->u2JMSC*gZ3V^@}gO}?3Fg8!2I4j_E+SkM{fkh~9wiD+5f zUht{FR>6SHO+f$0?>cbH8~#5QnAG2VY&~1RGSN1Cb&2}tgBBfqWq`)ho3(dA6mF4o z^sKhdOff<tDXqHbUX z34}_i<>!sul-VOMOWAIC^BYhIDZ*A#4^5h@RkN4il6gGn$*M#OVplF1WMlserer`x zcq6BRqy4z?m(xiLUJW{X5hnb@;7OYPk#PMZ;F0{lC#lSHHHm-%ah&?o-o!UNV*UK`GDPfrUPvZLCC1o^i5ts1}^9@TqZo^EnWma zD8|LUq3~SRH*QatV*l{{xu6$uc1WNXhxJJ>LN0Ls=tX&AAiX&3Q#8a&dNDlq!Bleb z!DMnV3*_RkL~`+7%m(IPl8ZRbgIdc5xtL9gt*i6a6mk){UqcT_Y$|dwM$h3W8f{F- zPjay z@WvFhB;JLjBVX?NGU>?ArqGAIq<=K{vPDIlNc$^68%*#M$Qh-_P^FftcT|$NuNd@1+?Bks6Tv@dC0B>DtSfdIO2%GO|9w z4}_o)FXfd|bwS$u6~YIOK&x_b~t0jr~U4xnjHZ!d)Aj2z%UsU{N6J)lvSli-y?h(iIRs?n_0dBz zbr7u1(WPJBu1Lpccup^`4EG|XH#+uCm*y7v{IjF8|AC5;daRBB+*m#;P8R-qv zO$)jayD8~oW9%h*MniG|eSMPwek=}W7C+OYXM}m8%@*)65X4z7S$yg-rk|RSUW2HR z%wUrlcBN*J^J6lLDbET40GwA^jekyqHH3YOCdeLwH@}{8>c4Duy?d?!!H;OigS@?!U0QisskISS|G$hg}-q@5*P4E9@rQ0fl$cDV|8 zNU85iRp0RktUlfs-@$kv~Da`&tq^Bw1UA@>v6{KefHF z`pxoU--B!qrJOAT#JF0G+-MVzTyUZM2mdj!PPBozp#X}Zz~53R7&l+u zFnDZmg$y^4P`_EmcM-<+FtY2!a!4>k3=KDHh_=DYShxVzkHXi2yg~r3|KSaC89u-f z)1Rwakpr_;YeC&f>M4%jV67h4Jm-UnB5W|?1SzjkY*OvZz%d#ybJdN=So3#$VFv&Q z?wKGgY^@Msf}6W z;KdrsjhQWih8-F$)c}WC!_%{+5D4?zx}dhmCfb5<2X5Tma}jO8 zqJP*N3#6pD7KY(q4z3gfE0PW8UDu*!pq7gtUXWq@a`ZtYNqgCO_b*sVp(n2ou8Q?D z3gtiCF*Y4pABWTWxbYY=ix1WH0SkH+#s>I!!Ad#p4_GNTk33vfids);*2|IoB({MZ zhWp9zbu@!^sIHgDxG@i5l`PCYTvo}E_3;U#w~S86f*r!^qw6y9lBjG zY*qCDo6(!=w+zU@JhgwCh?03+fplPpwg>HA#WMDqEMs@go&Zb?6w2tF;ADh%P4I@7 zqa-qI!7@e$@MEd$YqE@gZ?cT7`!J%?BmCli@QcTP=40fC6-hl|GL41e7`OVuXHq<} zAjUL?)3wOBlYfRqb=|)Ymqit$)|5RW>fgkita$aW*$SgRx>Lk81-%Av;Vl!zH##7x ztk>k$gX`~s^%eLW$n(+-taGStB_1{U78V`slf)Gr#LeR z(=7&GJlSsh-K|i?w%2^08O$QRxISl*ELwlcRLI(D>~f*t?;@QBsaTIs_hEUBKq1ap zad5|F76+>xvErnWLD@p+JsH1ZDRU9+(<`0&RtRs3#@Czz#zG3pi%$rm%#HHHYN5Jf zzk*)=mJtIjGoJif3v@p|$2$y1@ztN*klmBZ*701|Xap#?3*!#P1?Xg(m&k=0UT0s-ny?Q2p>};}qg#0a zf%Z@WupNT0oLy`!aICYyax)}CH##sYonHM$;PG}6Venj2iLRkdF4g^!d)u+>=f zVQaMWCj>&Qn5CL)dhl#5)Zm0Lxber!>D0y2S**!r{sf4p168(xqTV?y<$MY8&j;Na zG{3w6waEESW0_e9O*CbUaPQ$Je6%nv13Ce^Td(9jZlv$qz%F^Yl^0;X%VP!u92us)OQk)V(5lL{pp`XBXqBTAgVuN6Z;f^p!o?2(*5HQ(Secpt z>(w8(0G8z&8_5EL=@9@dCWaS*Sg5%C1N2&;dZ@r@B0K^oLoe1X;SmT~05dD39D_%% z-q{O0VhD`iZD@{mj^y1q;ZYD7f5D>{dt57=_K0$Vm<&Woxc716I_7U8umSgCP$7b- zf6-HXBXU2>i7`RY0ttoJ&S9nqGMP2qJTCzRUcQx=zcv(cb1IO*GZdm!d#n;A>Uvz2 z`^tKh`vsI+ywZ8|qJ%Pc!kwW6SOH8p!s9~O=f?2f<2@irmIf+L;k|FO)aTI|Lee++ zu|xLEhYS735hfM=Pfn0eLh(@I^Z+5>45SV5D{7}ORp1p!Ns@>6b+5~p5gg62BrJA) zMG0qtRP{Kze2@>2sbLC5v&qsY3Rfmg4K&gMfQ)-nHrig^hQKaJjxk2o5gcEi@D+Hw zc!l%k6Il!B6g6^CH;H3+)Y zZb4kr$Ab7HB;MqL5UDHTgbh?BC!Xhu(E7I`7O~jp%oQ=8AKQDbh?8RSeWLdT@v^xf zzP7Ig;qCW=I5uGkSnEcuz_&$T3!-`|nZ1Ygf=F2>L%BXKz8L%XAlAoJ=I`(Nc=b!j z)Z6;-`N>SN;qcLO!{}>$L|8C4j2`P_Y0)6o#~CcvS|6Y0$0ulgTyzof(I<3$z#v(S zoYHhC0bi@gsl73BO7u!j;Rs}`zi3mma{&N~`l2B3j}Lx~4@kP! zyZ@`>X*5I?{6+-|rU@i3caMsMJ?Y=;cr3u~;Vmu*jPP;yFwc?9-GiQz#lqMxpH5=I7Cv2`NP+uzq~g=%=k7NJ{(o~&tc6b> zoiMrx4&D552K`Uj%r^>`x*-h4e4%DaeISO^gBoObWYdKFN#krtS@yCr?P~ zd8Vzb$bU?59?Xn`@)B-I)|Q_ z8a@Jjy1S{oW{17@%OvH)!^-N;!_5LMO~On8m=NG8(`;2}W5J+IPNq?+W?0$M-|~g8#7X!?7%w$AW|&D#9A>b>=6*P{Y9*LIwXbvY2`_Im z?NfO5_seVE2w*2&?SwS`0^4<%l?71NSqYn?kvVz%oRjC(ug?+sl|^3HJKzcVU~bF! z!LChFy&K+@r)aJ>myh}jh9vs#(_I%AM)B>o|DY8gbIoGTm&Ke9YY4KExw4YEIFc{N zLHFvMgi<|LsYkKY;gJ>5u2HcP8~-((FbCL~O4zyBA$wF)%-OJ&FqO6N z*j&u705cT6TVXrFQ*{ei1pvOqj;{Hzh0g6X@EKS%HSG@8Q(7L(fOdeovOD-D8x80K z#I$!EuVRz{{{*TcBm@NBCYKNb#6 zG-OMs<;s@BBw#{&lY!|F_~QQD6aSD=`xc-W!={iAIfFF3%kd4KRi;n2?%#AjMyRd4 zW@liO$F)OZosngHNyRgAW?(y*JRN(@oft8%%O1?95@7<8k-)$khMD&_Cm@;5yO2JS z?{lGb%>7)9?=wZ(Ur59@J()k4Z;4(cqsW}^SU})yeLT?3&3P$piqUw#`(QI=$Lw5dt0#Yl!%O4{1H!7)7hwA)!arsy&G3R{Z zQ3zCYOG03aM4}}MiJsxrkC*m}1lJ$;)lr)3QH4OgE=XadMW89`Z*=g}C{sFVP=uOw z99=YfQ{wF1owE8CSgY^zvDKFY79{Ku48{7hulYJQMwrzvp6w5e)xxv=_*LLni4fS5 z##;e?u#G<(q-9p!oP$oq#Zl;xufOj!bV1z_8{nNOgtpuOQ|50U8{j+Vd~EA)d9OQQ zWm2OKq4gJ&XCg}q1n6l==O-A*@9X?DE&2T9jGdpR4e0#z87xctT8p%)19=Pk`|9}g zt=E#Mh}8+lr+NK8J{^~EUJ5!SK1n@4O|#BV=u^7$6RnfR&QGh<`3b6<@g*{(Z&Jd= z3wl4tJU%T@B4}P+;z})l7i7Z9shfaNLFfO?@I6KLUKwt_Da&#J1W5E< zb0cHBjm>K}B4VMfyyoSAhYc&-jCT0oiNQ2C>vh4Qg0glS5EebHK~*PNQv%vvH8olefqdAJ8H)(ZNglEAFZT9DAbFLB}rujk7 zBJH z4G9O>!)*(`;k~k@TZ9*4;Ggv7H~X?0efe#$;cndaLkJR_p=E9JMM_|w*MN23XRM;8 z;=UMmf0xvwya_4gu`EXGo22lT-9D&l7n@l@)vmFjTZjtV1T8K23Xom zW>TU778KfM75XGj1L+D)z!=y813OLCbIIB+QX+)_kNsl$B#qZG`e+^(dX83SFQfI? zV@dg~@lI1h@8g|jz7Ar3IUnXM^zcXXx9@?yx^JT|`^^8n{mDNeX-PB<(%)^L_H$Ao zG^ujHX@9>{>l2aT6CR=Q6fm)RIICy*k>L-mlkujr`jljdpReMTkp`@lq+$}s8^+w9 zePjg|iIKaJ6E*JXhX-o5MXsQj-}n7pJgPq@nC(q&sJZ6RpGMiL%wGF@nTqdEe@}0g z{r%_KgWunt{4pm<5%R_6JEX-r8b01l>-x%GK24=!D}`oOyZu(_(clrBhWPJXm@Bd0 z_93yHzKzl>1#qb#K%2N4No6#5(HO39HN%uXxRWrYe|jxZB6dOJpO2HupcGZJSKlTg zlOFWuw*)3EsrTrk!lR|3(~u$ULCv!j?jW_{)0@2cn?Y+xTcyG^kF>@XSk@1mKt79w zZ(%qk+7z>Qs=;FE_Fxx?h#yIVSBi+3EG4u_M09;lxSqRyx<)58>gHbVi z%_@K*oc%!F)#+JBJKjd~Hr|)7$*sf(fvyG9J|0B10HD#y#<4h$fccT3MH^bmvYl}3 z(;)I&0PVp}5h;%={_|WLBZcWr z9Tl>DqVO?e@o#Za8o4`{Jwe@n`Za$Ewl z75g_*!v26}#o|Sm;L3cn{m(}kxu-!u6QuJr_G`NR&*!sWOa=PJrs7~1GPQ@&u+CLn zIkb=75A3Y;4-)zLrVw_4kiypn4p%q~3mrDqP0Fi~*dW3FlA^zGS~cdMkxYNR9jCus z?*^v9c?K}y-?@kEk`&Q5YJn)nnr}VN5Hb za90_xYe!lmBm_r@r+SQ#Uyjh=j`sZ?h`y{fgg(vq=L!xo$AwV-h=~M0)QCwIAD#(bukFJoa5o< z^uD}lVB>+aeHh?s`7Fg++9;&}59FxCF>2cJQOus$`oTHG93O~r*~|mzW*$H{r#pZq z4BC?#-82x03O8fv!KkOH6y;V{J@FZyUN_Iybty3tz0n&#-Z-#fOk8PuZaoMqO^snM z~Xl8Xvfy)@}r7 zn3#xt6WKvNS7YE9C2l!v6?AaH5^a{3+1Nxch6*Oy%xk3zDVpJpj5~V`j$R0bWTPn% z;y%JqF3v&H>BAH)e|!CG9Ukn+aLvR~3H;10!8i8F)aoz4 zV93)Cz#i~q65}J`ggL`LL3zWW?O+i0X_$9C=A&DBkb8zcbrR;|?5zWwkMhFJUVVob zjO3Wpwkg#fcx|o89;LCYEP9*-I*~zw>pdmq$3yOVCd<-KSf&|E0%tjGPncf-j|k%t7Z* z#fRzP`A?4y0X!dpj{)GD!vj9<-aJ6~Q1-gXsnMVH>ecsCyN`s$qsD3Q=E;j6VYyL&^0|%xAj`uV~-(zpY;tkUc#GsbVE&mG_kent4XTT4YWnvv03>WxBvUaf=P&vUVkn=gPD zc$5wgqYQ*JybnYAFs6^{W`l1E9g1)Xt_9rqF2U7+8!XilC~v?BT3F=Z$24e734XKD zqS1XqwO;zl5C1LjchGrNqj@D~eqWOE?Tvlo{9+y@ zWg{(k#oRv=^+TH6R{dhbEg2crdo#wvxkF8z#CqT^Jjz&MtA0VozUM}4;A){WhR1&l zG|*nOp0-$^pHu*zUWL$C;Nk#2BU~Th?qn?xB=MKszV=C@7T2i?eYFC8eMEi$vJ;1y z$O=3Rh9sb`i-AphTSW;I)W_>!p3?cI`3;AM0p(L4>AiKZe|+#7e^N%$t(Sf z`$gj`@GEY3rBkMB&?I&;Cf$qiF&dX2P{CMhzlZB6{TWg0$q5{V!8J~Og#3n52UJW+ zr%I^VCf_@kTBJiy;6g|ue8u3`0r<^-qo44*<*0NS63b79cjKOZ!s9drk9NmwP-4Iq zfJ;QP(QT(OBLMaiv+l(%eb;E%YSKBK@b0>Dc}pgrTYTkWAoEtm9(HUB!Tas|NN>Pwu{8KaDI9M&gR}($yq{uGFX7{NhZjfJ15tiXUtfL_~6VFuDikKa46_M&ZOgDv?X=aNCSR4vCo+k4!Q zwfDDh2S13B-Ou)Z1HRP<0uMdM_v>GzFu;HzA>LkG*L!oFv_7Gfr$AjQslGVX{P53O zU~_mTfVGhg9?HXB^@l*pD zt;?J@&+ua8$iILoTMr&$QC2@YAwzG*S+gJRMRE3LP-&S^hAjM7>6cAMe1W!I12KgDu2d@0NZ~f{-LM ze5CZ-C@Bd_RCVG{6;KLFctAy3LZs*wA}1P8{Vyd#=Q>+vQX&)*CK86E$mv^4)$tRs z4`JG?cnXk;jQv$$>=R#o<0k`H|K#0n^{D;8La#UH3;}w5tk3rT-;W2-Ug^#>bw8Ll zbtv%b0OTD8a12rmT=S_X``0#rdI=-8zl-tdZc2p7WjY}AiRAGm7-QCNqjzoY38UAfst z3pK&hV*I1XLIC_m5z*_B(0IdU$ynbab=)AAeXcZV^R#fi6F8PK)-ou;MF(Pt{O++CTo{5nOw&R>E=h3t~4Sozo<9diqj;C%=Ws!Tm0~UK=J*s<%e%OZwN?=#Od$xo-%$A{>2^+V-YaL0l8k0e-RG$ zaKZv}tgxj}rY7S((fB?#q6TB}do*W_vwvi4J9ihbR!DDcWC)=T#ti~$cIDt#=XO#(h5H2w%{FwJ8O5Wp0B^J>;=K*9R^WWp&dm=N%j<>Pa28VI#}Zck}8>55e3kiiP zfy!uyo{m}DWA^(W!1;mJ$tWMJH0u)qC=NMeWpy}tdUc$%IcFn(oHS>NwFrF}ZU`Yg zj{LZ45@Fnxgy(}ooX;NO8`p(W48fCwC&E3rZo>G0#>9_dPK4zlJ&x7$ajc&2Mi{<5 zIQUWw!Bd1M!acZd^5aU%k83D@5#$csxM#wn4EIb)7%H)KJ>OH4{>Oh~{b2^Yxi)3Z z)AHK{b{}-Opo{=Su-)hCw%6Q`1w(r!c43nG9YVj21h~)**nEMYf~{&bNPV|dsEpJ5 z3lzQoZAtHc_(2Qg76Mp`*Gqc;O`)H`T!E*(`ok;?^eilIlJYMH0D zg{v%gnZ34L_8dsw8!n=)kS1^VEaH-vV8e+0IHsw)b}o;!2W0@w z@r&7)9)v!)r`y6^DQkPDNYMwMB2%W*2cNE+qqiUW;O#%!hd%gQ7m$2DMD)RX*Y_>g zZDk22h7wd)4N3s)Lm~W~aDU;fheG(6>;n&GY1e1(<6-JQTLzC($HUTpj%&!r^}%1R z>+gW{)CXTRg6EF|x$q9&c>MLY!H>sP!#_FWu@Oqy(o({HTTti;AFU@IEPdVixPSv` z34PtBnD#rY1B{_{0Bdz5>+3cJj^$}VE6!RqVa8@?>`J?-CIi7#*rg48P(^uA*wy_? zVOJz5?Eb#GHTqDdmq(puvw#%#Lww`y<*f(*Bb6T_zr8pLd0}y&C%L8a_Z1({m%cvc zS8000Co*f$2d;LWrgCu5LE0V_tNcnz+GE>|7vb1#pP*S1*($zAw%F+OsK2lN$J>L0 zCmQBt3wgfFGZ7PI48bizND*KBcyaTk0xyCum3Z;eho~#y?w!NVt@JzAF1%20MBX0dtbvG zZ*O9I_ECOc@EMEmtGxXiA4^{F8PVz~!Vwdw2TB&;7L64;I6hBCarh|(pc9X!Q*crJ z8+dT)Mb!&xrIb2wsTA?MjWt!Ek{}xanF#!(JVa)uOw((l5h71Lo+@nr!9Y( z;T=@@tzge`QCL?D;15t_h4$jOg?hk&8ngf~L_2+2y2EJ2AV zEqpHdck1|uOHo2^3(qVg4&NsaGXJY@52XGBHy#TH)SmcwOde$Zr*;o$JYx3+rV-a+ zRGGk~xc&^mh8$?XhlGurz`MT*{PpPYSXgZo9;?@ZSH^!Mg{%99%V1whH2xFjC!aRH zxsofzM2?ZMkYa{DguVda2AgeAf}y_x$P?Qq;I9Vx=SHV}g1}Q*LwH5uRH?xVp@Nvi zg>gO%c_lz(|6b$cecxLH8LxQ$B?HPYWsamUh!dblm0v7PeK(X#)_oObBKS{)Y0?hv z2g7rr!GNWhUt-hVHDplZUN}l>Vho(ypDVJq*=uOiQ>;^2myE!biv2c9Y75AaM6&PX z`LRGmrb+wa*dM9J0P1j6uG@I&Mo!O6V1aHtU^#DW77Nz&t8vA!2s8ALz%ljA0;$ux z!#LQ5S|N_#oJYwxgK{55YF5IlF{3Cj;bzMTU1Q^~KTjt>-@oa4EI!_Q{xy*KN--5p zkr66|yk-1S7B_-Gjv-+G!!x029SwXb2GDi_^db(V97O$j(fAUE|4HM2R+uAa4V#2c zP73nFI!;4iq}@>t>o`!eZ2&<3i`H?NRt;K<5-ySQL&lD)`!!0?@1OzE7=lmzjzyT` z+~Ye&HmMyVPDYvEl3q)tkK*5IK48&Xn(PFYFvi_%T|B3wx8n16#+#}0r|6|iZWx;V z^eHHK^rXiMj1R6Kn)0ttTfX18dx*-PoVNS|n($LH_Cp&6eAy_COdh|1s7 zm9G8EjA=tqKCl3!$gr%i;YCEAF^PJ1J!yE{CG|nxB;c!=Y1`{It_lpzc)$8uy72)0 zJ4EH*nznqu@oOlAr5PJ+^L-8ua8eu}oSe4&0>e8*<+pUEAD`E+8=Cen>81QNLsb5V zwB;`|P91{sQ{g>#$w1+~$9X#C0P=~8?_+=L(chs?{|O&o(qj@0n}o~3{#Nq`u^D+- zj?+CB*?PFg$MNrdFQ?+i{+-{K3^M=8gUtWxOM`3weS^%uWRUq!9%TMkUmRrr2bBMS zJj>hJ0L+k5%< z^)vnT{Y*czpXn#}GySVO)Act#-Yse4dmoSQr%fL(@A|ayy_YvLZF*H6cA+GG!!IfZ zeEv#-|J3&2`#|0QJe!J-`bR&WJjnd7J~NQ|58QYx7*KoS@HKgm`JZYZ(0Clk`=86W za}53c4=i}a=(+yB#K-%-rw1}#@%&2$l>bn=|5?oG+0Xl*YX)%tQ`fJXjr21aAMZVX z8_0b1xc`A>4X)B~fwGrK7}swJSDer-PrCit#@ipb&XIaV&sw)X4=ggrZ3u3E{(3<_ z$B2!=b(Q7cqHqr!BxamSH-_j~y9i&KM{8%{Ymw$!NBCM?>(4JRHvE-CHw*WEH@NW= z`1y_dRA2=@D)C#2-!kJ46}SSWuFq$w4_EOnG5oN!yBU6%hClGNPCf2Yk9+V4KTLfV zM0Kb~gL+U4B>eC;`PWcER3JmTUFxe_M$!En!iv-*M?L73E&Onv{OguMxIzA@;2VtQ znRk!3`Q>-3yYAr%ndae28PFda!|5R}eJIBtSA{Y8cen?y)N69tPj2b@pK>`i`X6%D zaKL;745J>(YlOw{-k9+We3B~L{A`agiRSI3=wO+kCjg|F)xybO7 zPq{dQhE%e`57fcnvhm^$PHd=tct%FVmnXsx+>bZW8hQ{9TGw>fJ#ZI8!Vj!dj|M!9 zGyG|(jS$lq-&RGosr1{_qg_2ZnBZ!az)(TE)T3KHGH8RqrxMuk9=UKC>UL16Df~bV zAG*$P28oZ$xw_|SER8z=Wt0FxSzZkNMSg!jmW z1<2`U&hP_*4_#-t@yeIdw}45FZ>a+ODqDqmRI0~PCit34uuKK5P>(A0sAB@564c{8 za-kn}-=!k&;X_x(8ou016PVN(sS3DX7Qj9{s0vu83ShW#LN5iFNgGs-Huc!19_`Hd zt8H?CI#f_MAFZK`kujh#n5b4IvLRTFq62SeNDd#EM?8$5UX*?mnbas#1vpiQSK{mFlrnJ(j7*3iYVM!+3tH?8^Nr=t1>ZrydPV@Mo2vO$BXJ zk9PIwV1gg31P0z!KX<9fZa#FK;l{%i>HEo~SY#PCSSY^tbu7u~*5{+ux_Xwt>x}#B4Yr`uZA0S0*XqTBz)pc@DXRlmSPwWReN6Ser=sbqRqBncav}_^I-OB+tcuhdT9t!0)vD=uL#w9Y!B#o&M5~U&1Fg!% zL$%6{x7JV@{+g{4ctxwumf;2X%XHQEUd1;#I_iz>s6-gr5m1RRIxEy0+EIZw)sDq@ zLpv_PgYEF+iFRCy2iox!JXAZX@YWit!C$i-b$CTPR>|;X_{(%CpiTi@y?WfG9{1o8 z`Y7v$qeAzxHM{U09Ese^@!^eJLecGOAh5F>n|?DKmgb1oS<7xDln^=m_7a=)!xq5O;!>g4ulh1b%+wb`=P^aAhTaOYvJ~+^7Oqkee3XPz7kl zqfR|Yq~MEm4<4jm@VEz$@CHQ$ZRk*84eHT`M|i_F`PWcEiYDB!OMP|AC`A))P&DBN zMH6n2G~otG6K;?+VO%b7XePp>uY1}bgX`GgPk(SxhPeD$Nozw#`z_=972h4|N1LVw>VXJj}#- zc1dD5Zn_9oi?s0d5Xdmy{Zbn5>!P10jr8N$FaAlQFfn9|odjLLa~^&L_<@Em0ZdX; zr34fX6*FkS-BW~oNK=9|B}IA(3=_EZ64)hxUB4dpIq6#&4^5d*<-|naMaL5F8TYns zjFOzjx#Aiu4A?&gIyE8)#c9b&gMi^{(76GLKF@`%ay25d9pC3$qGwRAr{w4RH&R;w3fP+Ba5j!wxAiSYRqR;S>)V~!s` zbV_G$^wJeomj@a`9UoL(zUqTe+o~nuIm^POE2=M7J)EO@csY7FNA+-y>fz<8hnJ&= zm$Qd+(8D>$!60cIrLv16bYqU=IxNaj#zPrAXO%AHyr$Pi z>9yOj2zea}*v~fi08SL8^gTJdmEq`2YL~@#2+^9!fmSnM<7>j^fl_1q6xu?g-pnMS z!vfl)_U|=C{Z4eL2&2}kcNprwabr3UxP^QZNVM|dcVN05%$Qsm>g#uU@;6LTblTQ| z!J6}JM(9_RF`b2~DiFqJj`@iekUP^lOIFWe-sf`ce|tWb{=VX&-sq6@H*}*dBQRdB zb_|=6m!XjcDIg8HFfsMb*t)b{2D_dHo4?=dtH1D^c0Im*-+$J6yil529*Xs-=GzOL zOIyS+;fBo&wxW#t;UhxmW7g*ZCgo<)dF9c~X|6f?@<%h&@pKo@Hg*1el5EaUm!Dc5 zmMJj&1TNFhbD0)ymgbLO9IS@RHA5t?*M#NzN&;51R_EaNyTfyRo`3Iu*82S8Swps8 zwt7hUfr;Z${;534{;9B$7JH<>DI8aLgrPQlu}AuwG8N@;$cckuf7ADdAL{N)#Se2P zq{9!N`2D;udgTD`_c&YK;gCEP&a6B!1&%h4PI%Nw6jfc%N3o}pUdYq|3(sW;amx^% zm;`?QIGn^WR`OfY`4N@pj#HImvj{6bHT)OpA@v%6gBoRcgJfVAZ`cMVBHJim@KC(( z4IN}L7H@daiscJp*QrN?iWOEYUl8k8j|x6?J&zBZA?67EI|Y1)Qs-wx#N%9&fUj48 zzG}4SD|g)rNnasl@MV-IO9*d}nZp~3RIv^|KzpHI>NWl*`;{Z(H}tr+*uZNGG)rB7 z$o%S+`PCcpE8ExXDK9yG4g*pcg%x<0W5gH4sjHj~b^I#cP+`UL1+kUtv6K&8cgrtX zoqA<;>Pe4Zy)aUNE%+5?I`HW`xUfCX*cq(vU1CybN-D0zoeuqAV#^MWs?6Kj#C{LJ&P zbY(}|@%KtB17CSY_Aj~7Plk%F(5J)NsFzkop)Gx$&3OMl&V4D&roy5sr97l>y;-;y z@Y||xf?>%8LLXgqBVLY$@^Fm40%fXi2TxNvjCf1q5g%4pXCuGqv|=101x%321aHH? zDN?j1FvEPf)E9>kyYa>0A`3RZO*8Mg?G3~fZrJ#S8eb_uRhG;e-yi&%VFTuEzQTa3q3=wYeREA6F3fXHcnAI z?7B%JQkq8uBDkdeSkG`e$&;ZQh{*V_Vv?q?S&+t1nhb|iP4gM^4rG@OHIsc?Jz=ce zNHSiE#jvhW11gQx*E^2bSImBm$C>f*(1jDq?XI@qXbottvC~;Ba_x6F)$E{+-IPIk zl7sX)4pQM}eF`{6u!L(ki)Urq?{2Kw9PDM(#;-5ns9jMsuu+3e?wH-rKkps#@k$*_ zbNnFhME6hxDWOBSOjo{mo)h|Nn{-HWstHd5{z$y~CRismE`#SYWt&*}B6;5OMFRVt z&jpV0MtI{Po$s6}QwB!>%tY5>ct4RYevFbcO$&T9?zu~Zv31chhOnNXBeze*Zg`F{GGBLCD829%D`){CM2^&?jd+-k&k}@%ZQo66*&7K0>b-(fo9h z-A=DQdS7-sC(>>w_T^QhG+b2xixq(mVB6qaz;D^>-1)(ma112Qj$5lkNnaB+C>ypTMS$RUPj0_#J1s9R}aAwsY9g z-obt!0^>0))`vr2{9|ny;P?t1C)Y+OIEzpVwzQ zJUm+mPK8X1BD$yArjZcr%|MBi;N5=m@eEdV1;5Nk>oTBG9xJXIyU>YWUyHmcC%ftC0 zJPaf>7)zkZk}qpOT=ly?N&oSFB`^l0pQ7{{!7P}ClfDYw7#grRBDmu55m`x_6CoP zuLO=G@DMn%-V)Hn;RX-Z`S%&4@!RQ6lJWS-x9mHGRuSg)=93tDQhhO#AEZ=eM%Sa(FvqbKj`7aMMYv4p)< z5aJ9@6?&E~roG$v0Tk7O<3jIc25fNLO?kNH84c&*AW5>oQOk6*Im~52sU!%Flc6SYfQYO0%DZ0r~`YD(17+Qa{zE0Ycfr?wP zKPNC+gpU;=x5L&o&MPn1FmxYY(hNs|BOquHt$$GV7E%i2?rTNHGf%O82+*PAc3#5y zqj&aM;5$>8Nj2w!+-1@F4zpA*i#Z6jkMiDMQ#Ya!r zyC9fECF?Za+aEwv2b*K8v**O7ZZ3@ z`e2&$Gg8u@iS&>>(R6s0#>6>kZAw3i)zLjl`E5PtEw#okPG%O?sObxA0Hdla?xim7 z9lyIUqw0z=4I*;k52~&>>I3`2hR_ucSJ@YCuJ%0&xW5HCs(oAWmRWVh+K#F#e($cn z;sXZTg#tjd~5km>gcwVKcCT3{v)6( zW@@|zQV(4&rE(N!!*_}(e9Sln{&|Idcdm^~rFtXh+XEljix*v*2IKVxIR__P;!9~i zi%xKIlqViQp$DeG^ie<@#!sFlCNyV0dL9Ib(DiM`E7=4?21oCtxdKQw1=Y%qo(FLv ze+5v0SFfT#Hzdb!L$7ZAa)34x1nhtZV*++<5GixbcP@tq_BPGc7C4#KJs@RvQC`=m z&_~(i23=GjU@!m@w?qa}emsZw?wRFBU!+?#+QF8@lj~Sv|+(BtgOf; zlit~Z$*E}wLbk>#(<-A%jH~JzZmcgP%1Dh2y?QR15UR8_j9LclHWH072WC`I?Ggo2 z3|RUBGL3J+?7#t^)cAawLekiH_IikYw|eyUXg$qGNEb#zSM8P|LZ?V#X4LP8TonA! z3w=c6OSZ=Mr>Ol3b9-#{``^S!1t(%V0`5fTViv{ZH+H9ZNI!Zh@uQT_B>Xug{8ggK z8sTp%_<%lrm+@geXYeTm*w?lj|H47jK_HuuJ+*cSh%K7#(Tt+@v`Z`De-0p$EYUP_^``h&N2D4sJ9G|p)hKsA{srfz=XbCcvZo= z!Pm$+dB1Clmg(*50d^Uo_s75#$K{XeHQzpc-Z>c}t2NqDrf=yg^gJ>e(OvnTN5=5^ zDbFL5_?+r_1%HLiY#qw^o25g2TEIS zmbTt3ZM|9Adb70kW@+oK(so43(KqxeUgUSr-{R35eyF#307YB!xBRfM zDZk0ph=WDvpFfO7m((9K_neFq@cVR{-+R7uGBOc93cm^X{Ttt3#q%2cZbNbqyn%&Lkq0;gMB zATW}(qXJLOwRs-NLPPXzWe}y{@!_KvHnI6Np@il)$fnZZirTf+x4pIo;R*{z>&-MN zJ9+Rcy~Vf7GJ`Niq=rcC{PvnLvR+k>74~kt9zQ4o9!kxf-@b<1UlOGw9XjG1j=e(- zL+yLmU(9N_Gn;4H=y`7YT3gW=d+l8b#mk+0ZACV^TJ;jhETj?HRWD?o^-M63PzJ~w znPyv8Jk_>NmClB{GZVWZG*^!X`7Lq0@;6{EeP{-Z>ei z=bw`?3(wfUVF~{-6aK}669W6WU=Fe5DeKP*O(7>v>Y>-2&@A)P+|CwIpjeQgjeR^0 zKY_EiCpzC>ri)2s#d9XvYn$Q|Eti_wr$MQzgV9;-_S&DOB;iuH4Ph3W#5_RV;MHe> z$efFx-=XD`@d6$Cd=H$=?j0@~yNAP@X>dW|&e|QTz54s|zFXts5z=zemo((|!ag&& zN<43Q^=wT4q>*T?1IP$`5}+kWHnoBda-(=RitQfmYG1YC!OX5XfjByB`jVX>DXnMA?_Yf#TT_#(m zg^Dnp-NCtRae+~BlVajHG0R3ci~N9g^4fBZFES>{Pdfbsgr}=!nk@ux4D-t7$$;ML zXKgv;FI@nrt$tnE035#h7?ZVBlUqQ{7rMy_<)AM?s{RF!Zb-0xpEkK%LSOC>wR`L} ze?mLK`HX-cs$7{GKbw6zC%K zko7gHvtYp7_o`yRRI&5b8#yXqz+7?w7%(aJ)M=pWa&THlQAG=2CPzPZxW=Mv>^Qcu z``A#!Za}O3HiZ{pM<;Un8<+se!YojS@v-2tV5a~YY9mYIPQ^F2v)p!=%kfxc!yU1( z89S>@rUMo_CKV;hN++R^c@E=$+M2NY2C*?%5%JRJVFtDtOK#@=9FV7b>Bu-{%TJp5 zQ>S~d)cZ0g);pk@G3I)<>`5xVsKT};hujbTn#-&2()7RFMa6#oUqWAOt6B*?%^6GT zMdW;^PjAs8->#=&fN|fjbm}ga3Y+f(SeP{Mw5I=7W_NuUnBtAh0?vEN%G7?9%ml#t zP;<#j0;8*L5gEbkI3jej-@;P21P%oIE-eAqM~~z9D^A~mLITbLSN{Lm`xf{ps(b$p zNnm--qNowEL|tnrY9sO1&_&&aU6_SkT!Cm*(6oZmsx{SJ#R|A_6U}y5Oi`=7wJo*U zi}(7k)G9@+noR-;s1U#hK3ap1Ix(myEe1vA|NWjbvyVIgm2%tL@L{t%GiT1@cYf#h zKEDIASSL7(@Ck^$d^EOh69Uu9XPRL0pzXRo2zxb*A1UkhSu<&HJQ`0}fKM$`q!($@ zgcWKwGpUn&gOG<9$R#Y?2h)G|Oi4^=uCCfq!S$o%fAgpmISJuT09oDZ@$J(#d$k9g zE%*sTp|Xk|2GB$JcXB!)>M+OR!_F0~BC*6-5A;@6l|rrb!8e3MqyO}swFayPk2zae zRrT)3KzFsFR3{)fG7CJ*Tkjbm^%J+9eiEg68%n#Y-{*esVe&p!%V(+Wi$Le)$^FSx`VVUHjLKIM{r-`A@C_+XxrTQFk5iHfc>$w

    m5GsH;h`1m`W{*W&bjFPXUE|bM8%|xt7hIgfr=}08H|sml za{-Fh_WKaUD&DY;a%H82sFYtBAW*e~0we_3kM`XFOMjD!9Eo+}4na!AS1P<4e3WDb zbQz>gAJ|%0vDWagDE&T_ghPZ{odoU;sn&8Jw$Lc{_I#o2+hMe7kBhoRlpE@iMmMCr z?bQDYLz)OiR1@V0M#QR+{>F4oC_G<(Mik5Puxdwxzu!L%Gl|*7rsezxLUJODxmPEV z|IJ@rBsYh1nmNDb?h=|DmdL?^#~=F~Fu1CT&>))^Ox}d{SO4k~Uz6T{RqRPbzbSIQ zeB|Noq>r(fVx9Ap+g~S~5<_=skmK)FR#oSy5r`SuT~$te2XZ%ij5nX;KBA6qKKUw; zwWH|C*Z6h9lP~gXx#2P9er^;aC2X+&mQ}HRm=VW}|#K)FnxA)7n+w=1K=V$!u-@kueUY=e2>({SeZZ5Tq zoE#M9KRlKHa8v%nBl!<+$$tYf|9y4*_^LICe7N*IIA*5R(h5v{p@_8*y8ifrpa@$Tb=^xVTuBv z<~hN%xbIXcUyTC?}7vz5GFZ+RDSMK!TIzT?1;#j8=2CEXf2Cp396Sc*5tvT7|NOq2bMPP99 z-68*Ee!s=C&nkc14+Gbk!3O4O*)SdD@j9E2Ij;2D|G2%@yUQW3;fYSbAG$|G@- zlDUV$Xtml_E4_VaZ*ApPMMTsDkOX-}Z8g3ywx}mYE43B^3iJQIwa=M3lSGKE?e%{z z{tPp79{aKO+H0@(YD|vM9_{Qnz485__}Xz2f+wMxMg4hX^NS4AjR9tC$(m$#CuEg; zxyLMjCbr3F5M`t~S|9PV#?+{npiwO~Hd*z2FR!>eduKywm}FKoL8o_0LH*cw4kuo)}Mi(5dl96vNsN{>&x*_+w+C z(8)`#4rQd%P3TFrRJqO{>Up}q*8 z*0M$px0aN?{ORRHGYhZoX|zGvXGj!3ku6)T#ZlXkCyUkeuwYtoEPa0|;@oTo&@ZF!SZB?3Y2t)mw0) ze7=1K-m_o|h{IPEMe1bhSr#1yS=<^6pI2*G$7Qzcwp&L3pLQ8mPI~UOzn8gZG+z62 zT;mLv%Ds)|5AGs^p$bSiw>JP81$}a&6}E#^Q@G{|^~$}{1XKQCCn6ZLND4CPji2RO z$=F&WCDsJ4o|FOCbNy+!PR*P^$E4WaEEYW2Vt$C|CGYn6qpUXaGuy~^v~hixHpCl~ z1xjGJr)%nUb20UUWZUj$c}h#Rw`2TKG;< zd?_Of55r3sI(=BBOTnxa^O8yvh+Djp&nw8&)*$90(?BNp?=FD@D zN^lfvYESdX(+Tcy^8#E&K3j;rJ^n)zT`)y(^S)iX(CJHhE8wPBSJu0s?tihMV|?;fy=PRuO>IvJza2CrrG z4#(yA{5tq9hvIYK+1zOa9+CJy1RBlRZbb&qsgDO90XN8N4^?YTA6HOtHk8Vj*sLJEPzL8S9GGgOoR!?yGRhL1Jq2 zx+#>?<(|Mq3Zp=h2c>L*EN6~;76q%70Y-7DJfWf*jXGs! zL`>kC?v$=ATwL@`&!rs~?z`9KXQ%{gwmh5cYN+F^_K?;e?d3b#`&IY$wn(W*nZvDU zO_~CKo{ASHVBnmbAMJ-rNHa`K#pv)B>;UFHC(tdYO)={JWD_P;%EWvpaYeukgSEEd ziKJCkVFR8@(wFaN%xyKVfc~03czO%CAyJzKoE8`xgEs{ROn-5z^djM*I#$omA_JS5 zgp12s>P2yZLTv7^@iB!oZoeQkEY{A1Z;$LuIBN>>BmWgw0(y&YKP`F-QiQK{h~@t% z1ttN@hsl=a$frO*TLfQo_jFkFGjNuKDO39rs97HgQ$Od>Z75Ic2D}9AMltmii9zGX zrN!Slk5lN~0tP20->g_!(AZ7V5wuxQln@E4WjYaWQFPKXB{H3B0+m1f1mhk-2N+LQ6XNF(sFB1`e`TA@nu@cVV) zkL$vJrs5_Zc)2Oip(2f6Wn<sytY>ZQSHJWU--H6t zVt~i7=)>@^tPR`~M(*(+*vH~h3`?{i?IGir`M3*ZNDwC^G$qAI(?Q?65`?NlkYqVu zY}kIW6;w31A`@-)as_^o<$T}Gw$)0SxMrK~t@|}ixX&C1P=1)j3+QEtuoVg>bQN2H zu5BkMt>yt-%)3RLlq`Ct9$qp1Wh9*v}ka!mXx zMz>FOW4pjEa=a}w)XDn5E1-ye4uPexr~#l<*7)5l>40hx^gKIH9z$sdirDAKj|`bi zTf(iB*=RZ!guIpA{Q>mSFJ*GJ4;$x7w#jIhN=N~H+BpR!jmIdgxNLjqHNt9jY>#W;!3Sv3Rgg&@7@e}v-1g#(lJQC0f9sT z(m6~8Z2~QT4q@{I0R2Yku2N75rFg~>xt8`4hwuGvDRIQTy+?G(N z7FhbyjS+)Wy@CGes_dPlc){-DX^E3Ev-jsNKu_@;5M%LGv@)OQ?$DTm!I4oM15eG^ zI+>3^$y+=xM*A4r!~T&9-N=x=$^6xicrv#Ic~q)h#_PssI*O%3AIY)72?S;i=ryWT zd$kV>ywCGn(+W-UtXGR_Y<2(|^MWR!qX@KF=6|<)X5abwTps?DG<1{{-|w(41fm7oGl}#9fFNg1!sFL?E_}ChYfh_j$3g??4H3B}A@4id?U#YX^+;c0??Cgq%N-rj>9C{JMDJp4QVqX*9|!flz`@)WvAMt9V?A?$oap5wMR-RXP*|a`9}!A zvy*!!0D5ffU@YKe0y2_BM!bOzU=XF=wt3Y;0@}|LJX92u42dG*FaX>PQE-2dyZNU5 zLvA|PV;k1ehTds=dw|~fYC!L9^q;&-F$a-ro#0VXyIpp4=Z%@YJ1|mQt!uvL==JG6 zJ@i`r8yM)0wg+}!Pmc`7z`_O!r6dN8s*)`%y9T={Wf5)Pw40v9Yvl8*=i3gncmM)~ z0Ohd^|B<p* zp1XRoRI{b^p?~cfTA}l*XSm0MSxq~n^jQDcnar;J8^ zW<_#j_>-;d2eI~vksD&|VPZL^tRCLr+g;v(7v#R)09{4bbl)*&s7j#!4D|Mo<1nf1Y-Ejx z=wPF+x4dC%3qVENLdI?;g*tSsD6dx50fOea&#z6wvJE-1pblP8iK+d7=Y^$- z$yud|iG8VqfYfL{RYff&k{-d!3+xEEmlZ1inb*pHHriPT2NE2qv~OK0(u>*kXjJ;k zJjq`s3G;mBqiZ-2NwV&PVhIT(&0EnRI$Q~uxy;|JB@{%+J=6pXKt4(Gvc#{%yssR_ z;d}|YZH51UWn)%jHe=!OSW#W)g-?#{@0#u_IC#66& zSaB(zZXRk4jAJT;= zyrFtM`Ee`HL$MKn!`SC|xDvvwc4D-OZsz4sNrzD94LKm-V=mtU%aCZl8Sl5?Z~LsK zKpRs`nC2g%I69eS0+>-TOS@?+c+HKov<2H^ZR=vqedB>Tvjt_JpcN!@^tVq4z_17n zyB=aqf%~nzf|o)xyGi$Jg*RqI$2sV?Pwab#-!LXccn+>D9Yk zpd&X91DgSUcJ&F&yAx}`*Upi*XgVX_kXZ#OogTOYi=Bh~oBQcywJXzA`Ct9}ADz#p zC793XU0=KT{Hx*hW!ncm48?T_M`a!+dK66?V6MX@P=vh21xrCwkO>MYwJG^P(yKk8 z56%#HsUpuBsO9%b5Rqq_qFqoD9%Uz+^%*8e1Qe)y!imux@UFJ$S=bndN{JBLpqU?S zw$0(TYYlqObw`G)oZGx-t~*(BZo@Qjsm^q5ZzeY(iFQz>-i|`vOwL^naS&pm$aIes zRACIU&g=yPp!**k$%T(oM>d?07(}}iw}SDbka%0GQRU~DM9$2;UR)Isbt4lH$+O5q zJyr6B*zP{s9ruG6!39OD`4t+l1M}bw&=8pXIPiNtMcG^Bm;ph0+8=lIRG@=54-o)Y@d#D)G>P1V-NJGnl#D_gsxN^a6}1j(!GNR&Zwm2@d;xN^~;wldm7)NEkcCg{e(GOTVH zDx$=ZIcxd3L+d6E4UM_R9X%)%pCJ)jX-Gk-WY&%VJvT0K!_MM1zxN=fmI2KDkgc!n zZI!ePT569ZT1{!XuPY!=!bKGe1rn?_OPbZ~I9jpMtlIFM*^x2eR3k^l8a{&o?-rkJ zECg&@$m1Ptzz-9yWy;8BU%h4Pnq*pHLj~OsbUaMdhAjt0 z#Zqct3&P+eef%r%UjS+0vZ$85w&x0<`pq&>2|tG6|AuL@$_TPSh5RKmgMe1f~G5)So8YRu=Oqag21mt z?tPs>)|2yZ0(XO#tO;j;YAQj6BxeGuiqta}sCLAGQ{D&Jbz~}1X_j=9c70_0Ti9OK zBgJ^67-G2HlhsNs9i**C2H}xH?!cU2oGQGq8_Em|rpU5Qu!dlLynO|<8OY2=ts!8a zY7v^;R1mgSlLy!%l1{5(D7Jk0CBGm~S|uo92$lq2mFW3lEw~Jvb5d0O)uDom@O>dZ zr{gmVH%stZC%CimG%k$wflP;(kEVDQYyq&t(XN4%Kkxnn6mP6R>5rDgIRtRb#9;Csi-xY(keYjZre-SM0YfrTCCzbp z#&i!3GV210Gm(45Dbv8c)OQ;-H(~ebZ*UC*r*Fg7sFON^sSR?8+8~beF4*`UGHwnW zEQGKuoXr4{R&BZO*s;mTnGjXV8b26zc1xrvWE=(?(I1XxKEOeTP37SMEj@I$Ke>_m zn=Qe_#lRk^m0(ORh`po5c4?6_u<{qdqKMFO>~Y#Ee}D!o&#*x+j+Zyl#;f?o2Gl`> z64dG7{m97Fbklo9(g5Bv(EoT=N8UQAIhUms@;FBwLh$D}?bq-(sLdAq^zeHbzU1=@ zKprSIFa8*L{|W;x*x0qgFl3ADfUy%7^0gt8@qD;g8#0mKi@T7S5Uk_3H)rezZMlN6 zy(*Bm3XzkfwC-xa2Z>3HU-E1th+yE~vWkSpT0fKl!)0ttbM6}yiMm}j&UakKYFjy# zTkw`S>`!ZwVdMZFh*Ay1ToEkd+cX2IHu8n^SoF-6bb`~Il8!6`1RdQ&Nk>UJ08JHh z*eOW|<**tc$sntp-c{NOEVTl0C%f^)GB}r@o>~-{<)di{hmjNg%#UVUVh%V0dLy?1 z7SMxwtdT0GQWTiSRHCKkly3-sfTX;IX3cUjU7F)?EeHuQapc7#k;Ei^3pT*Z!6p?v zE&AXs{&nZNUFKO&;MCxAr{Fm=Pc^lY9hxO*i-hh_uowg)JXS&Xo6SE?<&m=8%1lko z@|;5@E%l`W)hOV|RGuf?fXD+Fjwm+^Lt=$%c3ftw!;u4^OZIBKrsFj}uEcHookHDM zL?(>NX(!jR5aJHh<*#6ItxSB?Yk9ufhM@yK6<=E>>0dZ7(f@S`GK1d$eCm+*mho;Q zS=$+^6~Xhe#~gUhtZu-jX7l4R5}j72luYGdf7y&3OiYiAhRbZZE3!|lR0=seKjfMY zuPttLM|;rtM~_I+_}to^tj7x)XJrJ3YNksdP3)h`du#Ehp#t|b2{@T%R{|hBl*2`k z$q(KUx0>A&{NT}QT&P9O%Fhra{@xD+;A>^&o=j<{uL(RPh6aDp8DS;s@q8m4>z~rMljwt7+>JVp9g=#K*1kH_F`kFbkwEU zfyE+{qB_iu=os@?s#&)B8Y(a{TwYpT!t3$AI$Fga^l1x*>G9};pv=;0x4~}yyFJ(> z23uwi_L6+_b~I~w!yIm&C41=e0ryYPnTp!7YLueTlenPYF^?3#1_Kk{2T(b#C+uVG(fjLngZxB z^9Q&AfWk%@NBQ44ijBo5L7fSvnQ%oLg|3K~&^yzdt=b^;eu5?}=nXT=c%4n?XaawL zADZX`wi_@+3t$ifJS%HE0yP2nAYb5y(u9u0-#^ zRPKEZ)w*EX;}jwH?}+w8H(E_XfXAqx*R+~%;)mv$=;kgS@QLP`Jd8S+cz{hl2MpAP zAbE0p=G#!vhF`^x_xWWfzU1-CVae3u)L?PKMy*;I6eKetK0?C*8N`SBx8=j5$LeFs zQgW13n?Wht^5Kx9jPNzO5m#?EhP@`UV@<=OqW@_QAsuDSF=!nd5soB*dx?|ZG;LW)Piw((*>N23z zh33nWLe&COPI>|oE64Ur6BlF=PE@fQ%}A|xi?rVpm=2b%)Se_Y13khSW6>!{HhEDb z`vOg1?3CX~Q1Tk3dt&e8od#sIZ&>u~vs-EIKYv)z06p<;i44~~f#)<&c#Ae9PaAT9 zCm5UL$!}MYH7vjKaj3`)K1DeY|K$Z6_vD6&7l)${y{H*AhmeYU7dU3*!D`gw)9wwv zXa6b#20GD#04ta2e|Rz?0_3zge4P=fTEzkvp}4W0;@~ z$tlD?p+Zm4xEO!uW3%jzjz)E5Y#+>=>WGwnQS(4%Lzd_vzBbJh#QE8X@A`H;9NpG& z6({$N-aWr1x{ckTD+UTS>qT3F*_)(3A`B&PiV}-SXiTv<_+UKmVF;xpguq-(D45+4 zwulriJ&B*BRoM4h%^Ggb+HKLP=9;60(5Y?n>3=DNKFPUlVC~36h*`7J7@Y^|;6UoE zKhd0_s!Y?(aSk@J99Ms(k2025cP#JQ0PV-t^6Ij@;%1C8j@I(hDW3mX%WG;iUgB|4 zb2u^6T3+Dji~5Tn=tZk#Y2kv^F+fk`^bdO12DJ(ByvbPFp_m_*_U-i2e(YFUov^l+ z_C#6Q+p)BS_gA-`(g)WwRP^!WL{6dTu{^-=(h_?;OL|z(CxeaKa>LneA+BdO*oRqi zXsG?2jNFO>&k%mNzyCJUv7QCLP7$at-rx6LZIi*IMFtf)*0=n%gg4!}WL& z=S=ufZHNm;i0HXUm zC5iYK^7jXtJ^+C)1A%ls4OQ@LyC8P%Gf&$d0VClKAi3T^T3cZyGjD$q8PCi$BO9z9^YrlvCSwsMvrxqbQZFYReCIbxzVNU*!?(i5P)7{doK(+LU}LTc`)r$ zFK1M4tC!MkhdE2PwOs~^!P0HiK(ZF$#qO|yqmZ@Ou6-9YGP$N|>`1%;ts*Z%kTWmj zbyevsoP?!64BPa@plyjIs_tM5#BEb&j&}Nez^t$iGUll-GahII^-uYtf7)z5azEMu zIpQ4cT4jf$o-brXE-Y0)U$X?~J?kTokOd+X^bxO_cMMl&OdG~;HvFeLV<<^Wtv1oR zUFqX_Z`hLb?mi+(<7Bh5E>d#{*$tZJXKqak(l5dn6p92G+blu)tI#BLosV6sS(1~$ zs>L7;mQiJqp<;>cLNGdHl`ZCw4=J~5wU?3YfDW|+#?lCQTKHMJv8|xpQ~3p8?OmP) zYwzi>oM2)bXdtuiMNj=AW#FNxs>~2@>kVWVXhfl3@ETBF0*N>hZZ(0&7W1u(2y{M6 z^T=#~-i2<+v|^wOKd^6-)rQSL+^b3 z&(IvKciNH~ei8GOwrDZFr-o*a=G{+(oLLB%b*1otKaxt2L5)`s4jW)|Uj8FAu`2;v8oR$d1gj!w49M4oRO=V=z1=T584zBNV6B3)Ew zSj_7ntz*39Ff2=Pa?Cv-zV(_OR~}LfDW>&SJ%JEn)c7Ro*6u*rSKH(w zPH;iQ+IDDoTdVm#o``*h%nd&Lj4d3IjnYK8Wd43A*R^>i2WS5I0Y%&nT6v1J-)t_v zlPJ|mkB~jW8xsLh4p28n(l4yMv<{)l%IlhupVT@)hD^OSG$5aWJL{-6zA1>@t} z*O0Oh5m(|1M-g#{ql+1=A+WPDymW&urtNyLVMBrgJ75F-}fWHx?i229xSc|pa)noob2F5n1_ zN4l0y7!sijXCo^e28|KO=(BH7W!nSVs0IWf0js;HEsu-*U@JZ-GI;3MZn+97*Fgju z9Hn_+7Sue5(1FR1wmv7z&jj3(Aydv4Vu?`{Q(|U`hyLT6MLsW*bv6RR;Xr*{-!4e z9twFDU@09Ac@uWfA)(0EI0gWH^2T z>$wm|8JtPyRfZ6&ow!)-WduNdW1%oR+)pgbdifgj*GF|Py7+Y@RR5+i`O;p%j}&Z& z;TfdSL%Lw(u7A`HE+xST8M|n4C__YTJ>22&@i6!nP)ekHW>PMkdI$}Nw(Gu7Jg^j> z%jn!yGx9jLg%mJ~czXB~l+(>FKwDfwYaS`+!~!w>0u0WenklIt1O-&nDsIh~Alz(a zj)N)1Mit2{IxauwWi+DQ@d31NTFrV~%$OyTVEa3)_QXl!L z24d^s$)GW`fJtHQD#K{3AKLQm$-7F@zgZ%Tnj-5q)A0nE#glNJnAZ(VZt^bQl1t>_9RE zu8t|Q%ia1=?iMMfSlO%DT=o{JHD3LLu$rLE!h2Y`@#qnNrtM6I>L(y(rUr{cLj4S( zS{L|@4PXl;kgT8}d6zOp9fm`SV4pHug*5@>Q?T@hLF?E%&4>R?*;$&&}I$3x=3*{Cb?+*L(0c z3?5fMl z)UEfJ^ zDrAUZoXx?`yK)`IXI_7c@Ni~Rf3-=QvE*jw57Z_dO8*g~Nf86{$jdkdGaNrf+6!QE zo4~`gKQe^!Ia+${X*pN#$#78EAOK_q#CMTiBnkJDEJZD+1TGD)hw2 zOO16hYU0cp7IkjO7_Kti=?Zd>;cG&mX!;#lNf5&1zDawLyw zi;kz|1ncyyS9(B256h~{M-#ts`7z;xDr-X>k_(D ztrvpF%?iZ}OY3G2)|-4o$@7-RXBRj5Myq@avrBO6H-6N-Avpy}@1LOo4a4MO1zDZ)Go;c|!KC#O2 z1U7T)R`cHB z_R|#W&0TM&B^c1lG%J8AUTUQ%z=)_9R)n!N_nQBy z4VWO{vHeI^5`!O^Y@aRWB6tfD-zqB^MJqeczXCJ>Z?~%b_r0~iI+8wahy3;8QENsH2AF zf+c3`QTpNG03s8E3}09ssk0`r$;@12ej88l3sOWeq8)Rao_@ldn7W%@Sk`I7tjrUn z?d|4{90w^mVTnyjwhGm4He0IGq=dkoir6;*mwhVWD##9%7&5XzWb`l$Uv~m=dRJm| z^&K2MhK$9$=@CT;3l+_UIjl;sM^4{-bKD>KsA|9U3)=5SfO4dLve6+X5$H<(Lh)|r zcl>1{p?U)mb=}|SHit{(4d^k#4gROV%Dd8MKN$ga?q9gaoT+z3?=&4tq57S}h#31s zNU{Z7@Ws{o|e=Q*6@p99l-LNC04ek3&gs>2O75m!DL;nXYHr9WsIbDX= zFkl(DjF>}LqfR{he6qda5c0K<6@gi0#x#&H2dBj&tCDIqmSXZc4)6`hd)qLL_FBB% z1!6$+RDz)W9;V%QN$NPYcL`{eUa!q=krI~8)O5Jm7C*|1U5$t4tVqSdDJ(Wbcd9C<8DMnH(sJsop{HrA}`MqK27m?3fNR1gF&s-qX7{yClLdmK0x|GuK8o|OgG>3sUF4t#FL*E4 z`n#!DfYu6iNo$C^sSVrWy(s^e16ExO1h`M-!&rA8CD9JSIVD|wqwf2vM6L)@P4pznry%v= zQ)mmLn{6)m%rUx0YwXb}kDO+6x{S`&cJTm8DI!oN54>QPJq;}h&(nDSu1wbQ7f9UY zShqD9C@ij2bCxDU-UYAS?cH1DU8mOU2%@+`cw>ubIDqfQtHS4))#KR}m90jL(o0;0j<0Z451_eH-t0AK zW{v9(8lLxw+z;NmL?{m!U!~~;_hwNl(j&9<1%jd#PnP`*Gy*GGX_F36IXtOYWk~pZ z`cOP=aS~w9E+~OYMxDr4*0Y%}iNtGSiV9wVAZbgY!p0C}HjjDoAJ`Q)qCpUQ88z)} zie)xlZU3DRv<&{J+bKW=tz)lSXMo~Xv5_-WoT8J3vIi*&oMb*NwYp z9pA7di_CMzK4WmeHhWtiOSJ6Q0 z5N7@1S8*>b$Y(AXAmL&WaGfSnixybpk(|@{$ZBE@$g+$E<7c)%IUvmoqJw5pm5~Ug zk8mN2tTDOWoVklFIM_6$h?lpfOcx>zY%hnd+<2?#)yRmVR~4tu&-oai_tnUa-X`r1 zey1b^PwMCKLPhDA>k#O;jpMknNVxgOPt_Czh5D)~fEMpWOGF`Gg%gF+IAQTdfIjW{_7QP~ zv`=2xc|agb9P|I6(=R}~5a#Ox*tq}>{l<)+vTvq7C+GbJJyPhbLx6&7$T;J=>@ap^ z{$vd&`#0bxsA`2cy(AlmCte_zw)i!0rtN#(`#@a5L{LO_SZVVMIOd7NeSV*!kKODq z(~TCqQLeBzpIEyT(B$Wx`1IoQc76hb=_ua=2G7Q*{Ld1@EPo*aCXLR=?bt6m{|*iJ zh|byrglTJgJsx;ENmL&A^j?1CK20iUuKPrxLm_|cyv@RBMyV@|e(-t=qp1@kQcw5- zq*l166eMN+%+j+sW=K6Y)sSO?KY`MFY2h`tlJNmbZ;c=i1X^tWY9bL2val01Ui)5#V+e-9zPm~{K&oy^r%8?Et7&S|jmyC~^zJQ>ytTjG zlP^>08Aj$etog`3y#k>jif7t^b>xihyN=WCLh2>1_6zo$Mc{23ltC(B%Ias{b%v~1 zYA@4lRff=+$QjoBdyogaY(pPMHnf2d+aXMNO%N4nfxzljPKl?*1+1L?!DfS+nlmOj+-$hJU#4a`fF*?MTYbMN>QL z!W{F1Q5g~_3(uJb?L3Haqz!@SK^?s~J%!7$IOLDWkU-uGMF*CMuz+Qd2d3CBLgfOO)>Wx>!V)t2{H#U>I`Qm< z482(xT2VNe$Nf;*BJdoBWPa`RO)KA;}!TJS8lH@Ce+C6wbJaIZ_NraXm zh<1Nj!&*T5Ep8}~Z)SP;_Vr>HM2BX-HP~^9X&gS;b@7O3!=wJE;JJhspn$*&+u+5h zxL>n%HC_;diS-&>DEI=qvgSQrI@~Jns}4KAm+J67zVGPJgFF*_KeNM|(j8vYRwFkO&e{+b{kMVu#KqQ#)o&J4GnE{#eVd_Jlpne$~Est8^lGpO2DZIA{Z1< z{uPoD-GZ8V=t)%Xps~yerFJFo13SrWUWlg9OoM+#7!P;c+C$%|ckn{4nV;^v;S2iy z@rgb5otlH)_a9G{z5&kj(KjcAc}SaFcVeq~0h$7hV0;k$ourrmKIyO4iFb5FClZQq zS6eV0`>uK|9k5cF_RO;HAd8#l&*NOzZy4vwZXW0QHvWdcFwQljX`E|4u6=9sIM=Kf z$GOgbd7SH`x5l|fzX8ktA5n+Q2f8@`fdddY0D%J#H~@hI5I6vV0}$9J z1Q5TQE*90G{P}&tbms0_X#4ZiT@xw2>8K9}eydE>Y-Bh=Y_E9jk1ixz3MFWgk5<`_OT>ZtV3ZY6^Y^ZOA!~VpQ6qWBEejkXeJk)QdCi$%l`p zGwt@_<85bJnjTW!sBx%TDfwFMw&N{8iL1uSh`@&s1YyLS`wrzP%97}C4IQ=eMZ;@;zm67Ey7+Bk!?TU8wo*pf z0eo+9T8*iCAY&H z$adK&`$Ftv$}-W@m#?(lFOypxmKHGi>bpj)i>*R0OAiM$m}LyKZO{iXY>!ehL~Te{CaPZ+FwC)Em_A_lS5y1;e1T zhmxO>8|`l#4cd?34e4?*8juH!SK3$Oh7G2)%{k?LCitd2G1Fd_fNR>H+s4RDdg!rz z%#@i5=+5XRXA!$8zH0bG{uQ881QSGVX|zC*ScTmFRa9kL5fQ_z2E{{|eLhX7TMr_% z2WDD0d9a!vGNgN7jGmw-_4FJ*B|8a~@R$N#HwHG#(V1@(G}_$CfivPxfWqtfSO1f* zB4%%_{aW{ZL{wQyw<#M{mLW1Eg(}}h1M&b+q(Fp3I%0 z#7K-O%FZ$cTo5n^rr+`$?OB~k$0DV5R~Jn8?^x@O^oIkRFRN--UNo2F+~-77a8Ae> zh1H(!hOI5aigu{~fW229>&(67OmLIKvH|YP}36id|MwfLk_ibR2bLjUNq z;~2$rJ-<%QJ-wudbB|WOGJhhRwZoT_WvugSrJMX!+j21O3hkbTWJ7i{N0V&Eg-TS0 zxCKclwn^*0=pcNJ4C&~resV&7?`sQkF-L!vdFme=$X0&2LbfCE#>$yM-KQ?VKUx4q z$eYc*Wh7&5JV)QN@~$B#Se5da&vc9f({_^MV4BU>XZ^e}=_^6sk!!t|6;v)5;RI@C zoLa{aVSI)4Ks4SRuMmC3gAn|LO8C~Lzf2BH`rGlJjp7qhK~9i)0Kfps*-W00N3z&r z`wnBSNgVR_nKVMdM%G}u3-}(^9e(^Ao5YRs0>8-a*>g2b zaWqLaF#_|EUrNqFn&M#WR7?|Nh0Gtr6*cu-i+KZ50pS>~C^g=LWPou-xbo%32KZJ~ z`n3nwBBws9*Rs3^bL9JtHxc9s*GBHp5Q7jdD$vm5ctrzj&-fn+&tH{Xam5g041 z&dicOrr0=`%^Yl8U>?1E(YE4c2rt4A@FUn@+S>%w=z6=CzeUMWdxgP-h$4~)4N*V(} zaENrAB)!ZW_`z6O$LybcSY}V}`<292x=`2Ce5(BMv5DzxEfE4(3EBHP(}DT@A`lXeYBeI$nErQ0FhNp3JTkx)@u#}nlkRPd+cxM zf%4^aOeIKgHa^|hnyAb&UX9PMkA2W5(z68j*>iG|^*z0ZldR+5o*e!j+T_5;){7NB zTIzzD^SB>Po;-iCVlBuVblZ!W;*ie0xc&adWGtB*DY4$8hy#Ek45b$v`7yklflCzn zW-B?u@BQ3(J7~;z`Lzq)?1k|6zz}PUh}V@CRZL!29u(YoKBW^zP1z zPQNl4(^(gzQsJ$yHxYIbbc z4=&8uus;lR*|5E)SK0U38}`c_)|*hro5L^eGE1HYIIiS0a0WnFo37&+!J^1mOwqaD z;oQ?Z>N-vOO-8=s?04lbU=2p|ln0+$;023ufjZ`k#*xY^a)>BgC<)kt;Tf7zJqR6m z?}rLQX5)7I5xC>*R>>ckYAR6HOw9rSlBswAB+`nDbk+f${n+RkH|?a*^$+21D zLdJgc+3E%8PE!q}@GZ70H;M{=>>zcM%am_}r`5c2oddJ#FHo3u1av)eh*&3#$aAMm z6g;E4O1IQiWjt1Hx`5YhmrkB9-Knfodo9qdll08$tmxgzd~xaxhTj3l=XF0~GIbf! z(MY~V;ip(!n{Dltbvm{GMbrlwyA=TXY8Mvkmx6w3X~0lr-`vyMVC5C+wwi0!I@adX zFxCbFBLcJzX5F8H*2)@8q9-tF&sWnL4e{7bIPUw&W{h29>0tN2Eyam~Qz;RqgUG2X@I0@}>yOB-;#J56eMU1V1#B~M8b>qI}CefmN zYHLxR#u??}gB{1oSEMGb;H8d3)vHz!XlSQg{Fi7m*W`ish;&gfV^K zgdP~v_CqkBf0il)>J@I#{t3|?=>vp{l5n6F3)R*<#LL0X*fapX)>0D_ssnr#-@r^} zA2b08vT)u9>M%Mb*@ldAPpGKeotT&#Z2UaC)Y}#rl$hw|0XH2#qSWq82h|MM^OB$c zpqW&{muAsZP>Qet6MS3%Gw}GH0P{JVOaaY_Y_D4@zS5f6IZ+F~eN;2=9@kSdPoSC7 zk~wwJ(TRyU){sTP=C_CJ&q_?pb56!*-|=N(xhuIz6#tFkoZwt5=s|Gq*buij9TmolMZE(^BAtBw zR=n;U1s6P+jVuBKU$eG-yymSI;3%>_2fc63dzpD;W=n${%5)q08-6d)AJ-$;7P!GN zED~pT%fhuHsOb6-sB|hR=3I3SDTXqrLQ1H2((|7~0KjtLh`JF`ThctlVIM$T5~ z*aNwjC|8{7&L~%%o!)&1DT^Fv5=DuNz|M^5A$b?Hz1zFf@oo*M_)fsa=K8R;m7+-* zY@wfXo3nBd)oMJa=q7msbCpiI*-E;3gdV@ijSOFpzQ-uV?52rybb!+8rlHhZY^BZI z*kFdP#S8JvU1q7(j6~o>*$mpy7&+H$9z9m6d^9LGrB1@g8Z<>!f~WxD!~1tx#$NI^ zbC&=#$#r^cZ_d0`@V;IKMF!S{$LqTy2)2T;qz%T1-pACju*2}oBG2Cgsda`p3gi!G z^NK>N*Lufs{W-w}`@$^@p-o!Dewp1{CaxY$DlutfH!;Z>SNSSg7ARwoj^k0pp>*9d zU)2#!(rR8t&wJbRATdd;^Fb?T$zE+X&pexZ1wqh2k#5Y-&69XjR4?#U>0viO;n$7% zF%}c96uQ0?D{~QEqpV`Q;;;UEHz}KFytR8)oA*DbZaHNpCLl6@Ju5>u>o;EHuCdgL z5N0UlfDo9cWN}C>gu2Rw5ufjBKLZBP{XzZ(@=ptA=n_=nYilQsnEe^Yzga;TI zO8l0>uzwZSSe5UYW!Dq#K5k!n+yl&Ok`2-z@&rPZ7J}AkE_{YVPpkPc4KwT<5~hKO zsg*xRZ!$RZ4*`gH+1rBgfGeDs-;I%2dXA zaHUPvO+-KF{4fSmvA*}R_y7!;qKO6$zp8rbcQy82904m~&O_vFs_%uglXk)xhgfQK zg1TqnYQ9;sw;=;lsiD&`SOa}=oJ%a-?q(#3WS_NEMq*#+#yuRjfSW5|K2b*RliIe_ zZCA$aAFA8pt|o8OStI@SE$TKQpc?0jrEgEiZNj|Vny+~_k_XDj1W`KEK3|f)jpWV` zw6u`g28Ha^)ajOG*6qohyYku@*DlHMVP^-RNRbtTl9o|BAoY;iP*2OLq_T)8l=aE+ znB<|t)4fMoCF|y)idTnhQrslDb<2UB^c!Oec;!rF{`5P05y`@I*vbKrAuV(WWGZIm z2$+ymkO*aY>^N-x>a{-HRTV~2ix5d6Pl6-evQNgj{)WHE-^aPO?HuQNw9j~#wi`(+ z`;T|E^&Rh;{`ojp^&#V3R}UQT${RY~!`*iX= zaPt5J4nW`l1P(yp00a&|-~a>;K;Qrbz9I-n{l96bkd%0&pk9R!Re*)pjog)!?eHNV zffWczq)1?Cn z9zkQ1A!%~yWr1X;Ebxk^p*k<8Ztg-z;1FyuQu%yZZH4Skp z;2~VYeG%mms?4U_D3F>MDrzd>>BOSrV19~qj@B0ahRw}rhGwDvYYjYTXr2nup7nDR)AHM|ffdH?qE5OHBMMei+0g_z-#rz+1DKc( zL-QM-R)73CW)nF+_HkC^pja|1dSc?1Y$)h`l3HxUvkYC~Pf0O0=vmI3KbZ)s2dFVt zC=Ingf7Bz?cKv2wP`he$I-La8Ba}Gfa0FDzvY>I4Z_nrIq&nd;+=hOXj%s9oWat0} z{Ct<{SzJh4@KU`wllhipt(Xi(6!})tW2ivb%4B%yst2fox|^B!sKpEzpK@DGXZf#h zVb%dCoqIx<%&D6nI;Sovo;pnzCeD2U)erOylS@|qh#-OS(V zO@YU83Ai+~r77?SRiI#ID{gIU3N-KzR4{hh6=YhIY8}WQ?`29r*mBDJ(DDPoFuLu~ z7XJzql#y&GFe9jr=pZ}K7LWj16%rR_kHhYi>L%EkME|M|!nuXJ>fSayVxd2>KVKyE zQPSEaOYgUi@G_S#q#lyBYOwN9tJx$1J0zuh7syX3vsG2jmPF0(ZFj-EwBP;qSrJ!6 zx*|HI32)lGDPWMjnB-nOhI{c){?nfuau_yb$HB4@I|j-I?8to<_^|)|H{$~*5~iru zTm-+^9zTMH>9oY64rI<6$KJ*cyl>-vcHpjddj~$ySM9)~cXZoJrB`k{V&5Gv9zUa7;N@Jh$&H@dY&iN~{u_a9P?RFXzaTS!s*3o z+FeY;F=V$7QnTs>bv6+rDli?v2s)Lk#?P3{Wr50^M3Y3lcs6~F@x zoQ zwqfQtGaqVG$PGFUvL=91*}?MQZ_5tC^kd>N^4&Q&p1JU#GZLlqxU8>ZV0OTmcK145CGS`1;nW-7AKsW8p(e%Ede^c^CJqZEXU(m9befxUKJ>m)fr|1UNSlpemcFaWVN;W);Jg z4b~=wt;4OyzX^1{0yg!jZr%I3R*ay zouUFd#-@VxtqYg!oX@)dAfr9NBGKZ@(?%G>phNMDh8_{uVCYd|T0*2h7x9Dbu6v8dyIwkNysI65e>r`;>pcA33y~-F zU%zhuW%c2u?Ck6u{0I9=>H+sxB;y`v<^Ti^K;Yj4fz_@|Q|7<>x85{?USckM=EKL^ zwQhpjwZ<`ZJvMik3&q>*YbXMb)G=A9EBFm9lizJ$=;1d`$v(QVTD2hWf31Ea8D)BS zNKt_KIWEY2{)NANQ}x(~;6h(#oz#4D!vY>RNWn^<5PTNu@rgKk*RbaNrS=*)mS>~9 z53b~OvtC~1llhJ(seHqPA_X2YPs98dqdTZlZUEb|3kswlGsu1t@@7R(4tdujYeSq$ zwZ3{>{R<6Z((^=d;Om1ak|k6L0T?FKI(v&t?mx0m-p4npMv`^=l91cjM3Ik1TlB*WCPuco6SIPxLgd zv~j6i!n6>ve{j{UxI5e_{{mTG2Vbh-6GSrNANRu);{Z{UOpf!pve(o3zm6Y&&BuoO z-;E!GImNFCKbRvYAJz{N5#t7TND&gDBD+K0zR@#7-pxegi{0iObLo-^Qc{7Pjt}fQ z{_u?25scp~mp}sITKfw&J$V*iM(yZIP>v@-@s(5zj~+%kkwH&*IfI_~N^Thb1@uIo z&7ddpa3($BC5xWOU7McB%b!ArVVdU8qu7z zV;J_&zij34haFn;625%x`IiS+)N4#dS!5u%7zC+ROvhh2t`y6aV&QG#6+WRk#sBj> z&A)-4`45x|gLB0gU4WtkC^~?mmlNm4=mHlVaM4Tf=Tjoqm*H?SdAXkX9Ro?Gb}3n0 zN8VvCr00;gIeM_U4NSBWy@T<=?Hg@WYrq$nL?K^yWtYEh^7n6-BJ87(<3`Zn^tWK- z;bAuE-zJQA!5;%Qnf2Yp?-CKe5&z*7zmJ99Uug2-8TRK4{RHIipt0U;deAY;8{fn% z|8aVCU4e&6n&ObLS~uF2TIliXz;eT&S4jV+eDi+fETCN&9!oIt(S!?W3~@r+&7*Ii z?GDLj7{3dh(SG$BX?(PV1}JJi2_lkIH+F@n+d~z?qSfYxm(XtPTu-OO1w)G>(hUWG z{b(E5zDI}obeL$Kfa7Q%^9p+#Q7;fGDTswH>c(7l6f8oQP3D#C3l=k-+8R6n7b@I^ z#^y3=Y_3xpn=7zV{K_z8B(UHujAXyl-3b4^OZ*qvDZsBQXwa)aRQ`IoyN&*#kY2+I>u~@&OoQB?l4aAyIETD-dSKK?2vV2W^bJNO%z(L9|7NPI>gs}d zpI6P?)=)L`!_Q+g>)}oF3m`naX&%N$R@KZq+Nx$Q_EpcU!@lSgJ2959@;F!4_GIJx zhifZMcVqH!n2#%sfEjE1oKT82&zprBV-4|uX$0;U-yQr8w}|sjC_ZOR>f{y3 z1@sO|+OVblm>>e_5uZfD9~C11yV`yIW$q z+v9v2{ZD&JI)iHlx55pLG|x-HL8i!zPhmd4X2sL4p!1G3F2uJ^e#myUje3KL^P%#G zGmmLdT1ZUBFU)y?{D8v^-a^Q|%rhVJoZmbZ4Q(-N7xK_S0HYw|^9Y15WDTy}AA&q1 za1mEk;G+MsD`DGCfm98UNk5g5KR%l*%yx15{e{dO)Eqv_+<0`VfTskaTWzZPs@YJ7 zOb1f&K*0#Ufh@?EZZLYY)!>fEB^H{O`AATLHqxs-Z3U&fUci>7?1qmAc!p1v1rf^)m zPHz@g1`%iLvcRZhQ{WanjLj5y-*Rd#jn7}0tRDu{fZzL)ENoMrWp(nB4R zYcO%7w;^NqGL8WA)H|`Q8a|IGPF zJHobwLaehrq%wQ*ZlCv`1T3Bg(OhRl7Y2)(vZJ@)a7Omuz{fgI=vsOmaptmCsE0wY zX9sTKy_!Y1XG4Dhp`~)Q%m74?@+Lk4UVzbSN{#so1-i*5w2@xxQg5fW_!LHn7?)p9 zH=!zN&06@_{P#ipfI1;?u@yYPDkB=^`96RFked@f12C%B67T%<916xq6m-Q4L{ZZ>Z=qV>`~vykO(U*+DNdcto!WY3IT% z5rtux@qkv9w0#jIQRP)cHsnP(UyziAP3ehC-9hipXdB@1adLfD_?Gr;p_9PPu7F95 zz?tT}PUkpMd2r7@52cCu>nKf3qBP-n4$PmgPQ3CFR?)-*?rkLR;CR!WqEg5IEh_3? z0eazBAEQq^OHTxIf~cYq{iM5@x9jt|(MOjz-15fuu5W0|`_yIC`SE|BI)8T8yUL!F zPtg#}@Q+&Zpy9%Xhhzk9i~p4154xfswc?Ievxz7^rn($Iq9+3{z`z`Htt4ui|Ne9k zP{^+2LyA>Z97=7KklMp{cOwA${*s2nH@rH(*_KUIJfGfvbHb zx5K^cI%I%XLETh{!`C416QeG~YAGC&Zv2tN=H#D(w~4LEXW7x%^ZB~>LCzq0CyjL= z>*D;%A*F}-6`fTfFt>rod_f09gyILKTx#|?GE2UnheOSn>!!OV&Mf0?;knOsmzLTsi`tS&HL~RLqUyBq4jfwgGF|H`&4HI8{ zIezW_MtEyPhlJush$@AyCm?bjtgkoo!am3BylIUeN)ayNuuJ?G+t%l6-C+iCe1aoc zH}-(aDo=`0ne+^vx%r?bq^Wm)XD!Y{&gfEs@@J^(E^Zia=-xdMoHFO;!_}KlUL#LN zbK&dUfwSTiqJd9T5J)kr)GJUnko*18Cf%OaKVY~^vHtVFc>OgjKR`Wi|I6P~`xbuf zqkS8{deMP%aq#^>fBV|6Uml)meVGugw601#F0OTlj1Tmp6N&kadyrJ`o#ZBe6R0j3 zl_C0!J@vYgvm2WN^t7z1vcMIAw44_-Mi+#P(R)!NfY@z3Oy}p;pm&lxGCY*<0qf=Z z4X8N=!3*=5sCV=k)sWnzC$~VZ!UhNPRhyjqbA1L980p5)%~iJ+xT1OfCeTdwd>JE9 zgj|wvT3f?^IRwM*2TB+G+27AhecdAk#mrY){b37qKe~}S$z#XdE*0q)v>z(O-2|epe8d!%I=u?_u)!2uhu^B3TBR`wrp8;Y)SwEE;`=qNdwMkczXD zQ{b{ynePcDboY(fVWVHr$b*C&z6ysLg?}BPA&K0|Us6a%)**_2qZ-5`tN3T-$ znP9BbgWv&aFEP0=s7-uPkKN|;aGH|~b>p^@kas7v-eGORI`if1HA(EZxk2yV8*dI7 zJfKn|lOeI?$Rj~xEQGy_aeS_(@gc zVVNV+YhTjhJHeHMPhT1`WMIkNUo`V!3Zm!T5Q z3e7{$s6=g*TDukeNF4dnR?)2({D?oG?gbj4v8rMTd(6$pwTTBhwIR`F^XXp^Os%^lBBzpzkbjl@mk$aHpn0L{O3mppn zB=9vJC_$%gb5g2P-0s$?dXt@And&s^C!zrHZB*|0FQ`079r3v@`{%)J&0S;=8LU^w%!JgTXOTFy&XF0lRY%Z=oIh z&UXp5=GbRh(Mwhm?&c3arLxb;5^9AXlTa`v;s$f=dlD7tC<&M>D_8l@z=934^L*o3 z#L;rsbzHx)5Fh6FeKz~%`()4UN`ufq5>3kN2wlvoER|Z)4n~5M3vDr?wCd2jHD_}p ziS`9B)x2UpJznNt^B-atu*wlxx|FD$@Sv<*-bBD8TVcYsj`6ANZePCt+0wt&7lCFi z4DATeUZxkxgJ?bAQ@sqm1$pDl^AKuIsVPOD$L`f1@ z9hOv6n}k$^;Ei?j?rUXLSCXQc&wqjig;Mk+$tkGfV)0bEjtf9wmi&%UcdgtpWgTv& z>ct@i08kl>sBEFT_x;|Bo4jBifuaT+ z8Y9SKO&BearOV(_z$x|qRa^Wn=u$h?U$o}{77+!f>*SbhR&aXYuf2ei=ePTZQwC01 z!-Lw@PUr|Kuaq@OLcSiQk#I|I%uh- zOozdxR`yB4YKinz>%-2h{nKe)gYZEq#}S!m6F7^J=t5l|nBJYbuDRc)uF^#Go8WLG z7uoFyp;R%sBsL@<-q!hN%&JE~tf(ttEubD1VTH;75W>bZFM5tdG>=qpjZ)EhTj#+p zzf&tzJe|mpip|rF1bJ3kR33g=EGpz_Gb}16^8 z!&wKmK-YpaTV!aHcTvQkt!^%!F`it8e`9--k?+~*j4O%7#yuX{70}pbW-t^A*0#@4Fe(*gUtEW9JGQNqlZCh-h*DXol5&$?}Y$9UI=2VxiQ!n zBQp`USSYNk&U6N3(0IAM;rETbGHj*rZP>-og#)nULO@B!?nwbQA6G12(xxUD>0rZa zsv3K?E4mZGy!p^Z+#pJp8^A$dJ4~+=GTNMtKJsWKlOBX~GhWcbdB6)q3H;INnsfFJT6nlUx0qp$(%U3_VK zpL19Da=ouB7)E&^-!^>|Ys)3E%r3v7j|dv=rN)a$FX*rSQxeK81oQf*)R*lu@CM(!lxsq15HDTMmzWI= z`36xp#_r(|qwzRb1(b;{ANtGlS5+R9j9gW{p56P6*ZpyQMD;s-pn4adU=%NgFeuKx z6S@C^Ze<9mzN;4C{bSTa(-+7?Gwp|H|F_4e8`FTha0)G2je{sx#H#-U+{4DF^})vX za^VbtnomkP+zudNm>kkM0+xwj$xmSm7)f$2I-#FeZtkssL2NY~4giy2Hv6(1yNvTW z33x+R|C#R(*bqM-m6!u=;}QUWU|;j~V<=lqbHgi5H^Ls{iV=Fz3+h=2>ABgh%p?b4 z^!BU7UQU3*+7Hp%p)W7~hfGPm#P~1wSjc!Y7@z71#wWY!{}TIfHq4Z8d~Iwy9LGpw z=i#x2&*&Vn=yBjjsWHLhZ)_XxZ|of5Px$u!8ilEnS}jv{`D2}^u6qZ*F;7m=n1t18 z490IVN9_p5zuUrfgY&FEev^`lFXMyp?+zRFQ80d6TR1+W6{r@D-_{&#+{X2U*P>Dl zoe!NX68`wn}_BXyWybfd!E#>$dca1RrJQSK_W8qMvHI_`GdQl4u#qS~!7EYtl zJV~m6W7y0WoJa16hfQM88E10uTm&D)MDA-#`5j&&Jlxricc&KmIQ~ch9UJ||xx-?e zNgN8TTBsEwWMZ*gH<#_ER$~(91C=l*3C>8~NWzSLzc5KCE)lO7njN9D^!aY%FBUk# z&hkORGURR3Zf_AaEJE6)L@F(>Kr^H%wrcnj#}W@5a8Hh{#e5vAXcfiXfZ&HrPx}7avw7qwBe0{fzGTz0xs3nE-kHG1S(W=gX_7Ww-zkd} zC^Q#R305$)sDTtZ(`M*9kdas@MA@pfP**Cp@?@X2k1-*KgzkEpNUCuf0S)TKpXMgOA#Q5O8 zVNvZSr}+s=`KOW(6>*M9wCG>@j4-{#$fSSlm|aeD^rP&;B?5^N21j+w7R6GuY4$-y zesK{rN9L-AZuNIs&U*rgdJ)-xd1i?^W5R?SD_eG~8i9L37*|0z2=|I1`Fr=lGo-#- zc_U5A(45QLxZLNg*$gjGHMyu{cMd~vPK42$`L#gmH51u!6YJDMw3 zQd$2&fEm~kw^VX5F9anB%G47;n|?TfV-%D=wJ7;1Tqjs5vvJ8XL~z>((QOkjIsu@ws>TvKl$>F$bRPHH zvFVFv6-^DJzdlZM1PuPOb=p`UY4Gc=`wX38IMD|7Q(%=LoJLmwE#W(etG_CkhsIlB zTvf1lGIS}psP=1Be9vkAxj-3ZAEr+-JBKO@M+|}qbe|3L@^W8}B%h?>RZhz_2K+~x zBWe-ChTT9Ps_3_3;Pw<4IJb7M7`WMnf!nLQQ(<$e+;mMYaRBYk{4b5v*R+*0Kga%;b7hSG96C$)^7!kRXEt3kp1>3Db> zUNmnXZlNdU%HIY`VqTqhIw~-q^B60JbQd<9yQVu%^8)5JmN~CH;yu;ga{#2%Bq+u= z^smz#(K|o}hASW-x^&!4dyQo}(GY%)seRQ>?~n1!<((oKi~&$yKkK%?P=*x6DlCAJ zI5dDgc~LxVYBtAf5x+u)U~+IB;+|^ogMEdugAl=|z3YH! z9g{)r%cgZiGN)Dc3{xDOcsbe*Xx&K3GZ0W{dKkSKJLaWdn#3YTy*S1l=Fpcml`BSx z?j{2Er>$rvj;{E&%9Mte-Z)QI85jH=4}Zh|0|3@+Yf;Pt_&MBftL&sh@WvAUba9Ef zhGOdZ=4meoB`*j_0Gv=uoIU=Ns0+ywePiWLQvp{YrW4(HU90ho!?16gU8e6(-H_{H z8jK`95FjM5KnvQro_2^Z-q*}0&JzSi zHF`pE&j?G2-EK6Gxf?`}=pWYIx{#+LS7m$>Hox~9e~)@Zq-qCzQcz$j zG-+^C#~~iE=Qj_XyBAjYhY*eyRif|k8}qI!M^tt1BFz?&Do=Vs3fk+8_)20;Np1|4 zlVLZy75P^g?Q>fy<6_fb8o9V5%&f;UCn#wnJ-lFTg_h$f8j{x zlWsKgg?j%BUzJ|jjzAQ!Mrbpce$)t$t~JySy+C*4KUbs91=?F}*TR5N-@0*Y8_vig zQr#o20Tk!?_0LOEVW}o_81%e1-$nzIG?zxu`=G(@t8yq+;vNhOu9MCh;2Ew|yRti&22|n_kgwz`hF18BmHc)` zGELaXJLK;F}D2S`fdunZVYoAJvz(B2ocHt3L@q=8Yh0O^4 z6v>X^W3w6}j=NcNJ%39SIrIDzTO}ZVcCr*Oin}(efkUaroqy13u33zOI{ngbwj*IQ zvksc)A8g#I{#pYX@QJk90TWGG>Vbs;{0?j|G~)h6PG*Y(!Z2x6~E%KhFwC zdff{J@U`2sxv~v7F(!!jSFSdfc*vMlC65JzW!rQ3fn5jVqbEV3b53N&(#s|kCEt_B z;oykW~3U-7cJaMRg2Ezu1&3sx)6=xBZWp{zC~Uaf8mU zZ0V8i{7(P=%!b^w7s&{JU9DhwJ^^_xhOE!Nw}q9k4k3B^sm^-@();^};qE<9%LMUM zK{bEkqvRPr8X=~JHP7u>uP?Y@M7?$S;L4$E8O? zdYMPkI4hVq=d1!~U)@HM+FZGo{&I{~2@%XQQ0Q-Z&7>=>$~`zUQ+jMH{a|Trk8|xS zNLLJHRUe!v@c$F|Oc6+=W45IT5C{lq7$5*9x8F(Un>HHUjIlWOuy0@S@D}*cu=Vd*o-x@%-6*8T%J zYjWY>56MfFwktSVloS-aIqsMZx$fE861c4++%QaVpyDbBn^vqa)9mAG;Qh|uHcOlN z90UIg15Nb8{6?an*;K9k2AgV8k^hYr05-j}0-EU@b`Z4@*`8)w@F$Pk*r%P2Unaa; zU%Aj9$KyOx4pX^5UNNQov7)3juZ)MG)oAN5HJn!E2!)WB!#E-onm_dRhd$b)S3jkxipR0neb6K)I_fNc2Fb1x5#(UK?B-aPVGd+(GSWYaR7RMeK}*H7T@|E7 zd%c0ZE;3-NUporu&VZlbCm7({iUP|xU;Yf^%+CRuZrAj*sX;xP(&o;`Aq{xny)I&R< zcu_=pM*KeBZU0S0UG4g0D3WW7<=PdOI9~hE)w?#BBe}4e`*)7@)|3@WxY?##``?F+ zw9jyN+0RsNL6EVViKw6dD-uRs8uj*(qI_5)%)h0H6Zp40aTNcC5(h@sY1Znq$Ibs{ zBWb^uT-tLKH-F@&2Op*5zNd>27oX7u%X{1zTu6#x=uM;-)jDL6T8Q@YzdYSCAR*fH z?|V?8Fm?m!PhNVi;>S46KjHbT?8F(d%y7>9=37f%^gUJu)>N;qr1m38D$*zoj2(Zk*8EMYdSZEF4gEoybCoHL#gjKAQPLQiph_n{X40JRXS z{n?UFVmlRU?xzR<@jMhYpW@AW zXMFS)^L95My84@`1$XWP6jAB7`L_tHD=p--tm%)n)T@Acwm0 zT$~nu+Lq=v*NLKe<|LGn9&l)W|NLSa|5Otvrk%5{m&V|ifBbmBFGt^(59+ulj^|mk z{22{Nv^5{Iq*L;niyk#%N0OrQ-VQ|qd37zwuZrxh&jrZDHb6bOitX)x>-|=ucJ%RV zN-KtugXkoX$%su+N4CtV=?5Bti+IZT2>((g@Rp%o^ld_#m>2 zk!!vFL77S^nA2w1NfWl}-v3~Xe(5tP!K7qEIZ&Niklsh>)Pf!%gM-c&{(N;`)2@+3 z$4f7`CDpWLB(u~M{~{3M9Xs+TK{Q!9FqJzL| zZbu$o&y0D!SaqR`ZA*78p1#;=KGc9@(_(GvcE2Qo-d1FnVDofuVw*o{nuWjbOfeGO zsguvb(7g@lI|fKOW>fTilI2Ec_=n!No@}Gv(U};=#6GoPblWsm>_7q}-pzTaBZ~8I zJ3qxu3w})Ny{QFjSk61cv~`OY{nlg$0APt;7%P>pUBhpAQO6vL@k4YdW^_v99-NAv>Z^Yh5$Z4INQqH|wwd zEX$akdkZ}PaJT#GUSXf21km8Sm98Kd(4`;gKOm-Pga&0`(~Jw)42G5;Q!vE*(29z7 z=P+_AuN%$G#SbAUi$2SphEy2i?RJcJ^&2B2GD8f8KU2_JMf6ggjs|-*ZR}!T|AQcQ;KmSto&os>>4YAJ$*gg`CdtEa!78txQXa!K zGLqX8!DMLZB#Ofde&Zuo{>|7# z2$RC(!RcKa(_2b0a4p}E-nAjUrNmqg?5VvIw+ii_XNvpT&sbHsVU5WT-izh#w5Mf$ zB|pk-e(Q3PT>})@XV!byR0-pH=Qj48uQiQi#?bLPFnkP;6UGYNoUWG#X6UjQiPS)Z zaoX*ym)7finFSIa1-y;Rw+VAnV7mJZYP!GnjlYl{;(RnJZIduv28v*vYR)a!E6Z#P zuue-68@k^6X^I~Vis~e4MZR3`b;lK1vx9I7CR)`4TmbK0 zNU=hy7Qs0+PaRY@ndIr?VbYRE)OqGJTajp5t6#*m=bpJS*Zq0ZJ=NDCT%|ks$_jqv zKs3Spes+cR?SLnQvqWGtBma$s`r`3kt0>W?Ze?dq?yF`nwV8J89ZxvhfM|^)eyXd5_`nI7vBz4cNh=ZDKV|RcW?)Bs0z`qyk9j;*CT$) z)-0Xc)-!B1_OnkS$gS3kOM)f`bntC8dE9^|i7P^rC#cDrFxdbKxt*%pYq;flTDa!w z%BfDvu}nG^3@s8h=~1=Q@~+_W1gB**m%-@z!^IpCgMl&Pv7a!;h%Ji^h*_<%Z>HaX zQ2(NToNtRNXXabA+O(@}natW#NO_X;vCmn7nfdGOGJj5<&3Y%!916M)Ua388K}mF% zKuf9PJUq$t zfz`jb|459^FL|uqw zh|@03VYcjZbHouwt0lK539gzm6dqOm-w@8ZyNsFX--Tcc^q==@KCXF}4&PAX*ijEy zATy!CUd2knpstEKragiY7OD{c3WWIG-!Mu#O@%Nm`lcl*{#tdjQ2)#u&}v{AlaN8G z&_zDHFKhz=scj@(xP|`jEXL8WnPp7k_kWk-o!5({*VLlKhY4T{VzqV$aj(Uy@!4FA z6FW#{KZ7-b`x%am+Bk3_Ei5>2DOOc2d=tnUex$968BWpew4%iM`7p79=b_s@(#n_K zQR}VUCA5bSz`1TOqsYUM@D%X{wKU+iak(2T;_B^|J){lfiY|XgMp1AcA?~Yx_!mW7 zY?jV!p{%80U2wqXfi4>2-bSQYP4gxy0ezFp&!nQJdFAr4NX;8toSNr!rRI%^r00cF zO>QNCv#iOj;-}c{;CnFj;c;*};e&XT>j+otQAhYhBhd)g@bc*qC(4tkX@Yzl0Lk_G}!>L zP#E>b9%TUFf`$zqk{L548id|fvnRl(%n!QgNBn=`R@yG^7xR~}MkyIZI{`hi?3;B_ z&jp)L8q`d*3zw@^{Q7#Zh>Knx0P9hS}{7s<~*?g@!XP==?%{+qhrkW?R~9^~EZ~zHLeAp6f8zt>&7z zMwymdb=hI!wQyDBzX!Kmq;Mdl&ETOYZfV45Jsx(wH=Oar;m&Ysb?~~u86TU#i+Mb) z;(ihLHBKm-q6r?kPN+rQ=P3~?A`6X~rklx%AamQm98%C88#IlQZQoK;H{xnPJzY^{PaaJA-;#*Rra~|H4CAZ zenM0ay9k}^9RJ2%9U^LubKbP1YjzpeMmx0KTdl4UpkM`!*hSrB!bAi1-V^>U+lAgq znFzhtYj^L!1L3jpl9ywBEi|vR-(57<^S-z2U}#_mUwvI2WYe4JWB!@V6NnS}Xf$^8wMljfzurq-pA=HZ@xNkaN>|1(oarHu$AgDs}?? zUTY;QnnEn6U+r_7_7;VTiY_}C98SEg^~azq16?ch)}$*B^5+|5xS@L(yd}0*2lC_J z_Z;N3e>h=;hT<9i@$4Tn@V|8i;P)`@EF{>tqq5QRe3DhVUfE4;d7e+m$@P93;yFB@ zc6K#9pLjoxo0lU^y{GaYR!K zx)c%#_rt!n5B4N)$m1l-p&bJ1tM~jo((6@K(tTk4-@&m+1{;H0qan~}Yzk*BD)O&Q zSr1-)v=^1MF+R0O)}{rC&pxXNPlWc|5o)L*cY}@=+`G=-Cj+I1)Pjv|kWeqB8WAZy zyf6L2i1a5a7g-5XGn5Q+P9#XJTotFEb*Oh~7yo=FY`wr5Crf_R{%rZ^t?e&NFn(as zm0onS6?`^IYJ?`<8}S%;)MgJMRmhSydUds^0-7r76+b+0bT2QiuKX;2 zm>)q(h@_(E3X+P5*s5z?aw~t=c0?iEz-jMZB%<#_te!cieoH_j(d^vY$uq9`hJnO_ zC@^yV-f223OdY@MEL|gk5c{hW?ZEzr6Dw=Dl@E;GkTb{CTudjKGs89c6+Bh46-a<* zqmsp)Z53|kTZLN@0!ERG2pA{ugTgI`WN{yYVl4yRi*}J|WpX(JMhVWU$Ck6YnzJwj zmKSYgBAKmunn)&~0ZPV;j>%8rZYyKt#haPv7-+>(O$WCqSSy2xs$!xhc0@yZgOnna z2N?x~{}A6Yo(x7muh{^`zQ!1*tmnK3oI3pnD#Unw$Z}-(DHJ%etsRC{D>vt@h%9dm z*Eqw5P4R5B3$m8;vx41YVo~^$%0>1DO(BCXG?k($PDiGb*0b~ux1(zIP) z{AU_pKjJMKKiV{Yli_d&wGRo-xUj}npKOQxyEo?Bfi!=@&;0?&NYjN7prPrDq&tS0 zDYOEstD$$QLNN!n zaJ<-~3zG0x$RkaHlMPZb+?xcCDoo{89y2~RHIzE(mF_p*QPHWWoP?hwK#-<$ShC`^ z@R(2%VFXeH(kZd`TP-gUDfh}bE~^cBEaByDCPv>V{fai2=`x76#P&o2w&kXP6>5a} z2%@7agTr-2gT22be{a44FBBi}K-)VXtWaiZg-~pEDh?RkHx=c-0nBvYpwBado*N8$(2SgFUa}y4;u*mUQ;Ew>n`U4=Y?O{Chz@{I8r8@A zSO2g+*Bzw~LpM6vG&<=|H2PV?oArG&Pg1lotB8v*Yk#%-WM(nnL@Z+$zW?)m&a;vUnz2ir%P0TiIAFGRL&UkMqx)9V69Y(t z=5(PM{>Sqj=(j9EPAzk2mn153D+FfXb*6iBZoNH91hGbn*fZHmPzJ5XRQNsnzUso^|B;s9@HV2WYkN^2D0spP1%piW^GnKnQ#&$Z(+`9r~EW-mfmF!I8`ggZ{ zA_s_%u@V{QwA|TmZ)+0>S8Gp)Ji@?)@BPkVBv?P=Xn(d{NFpO==6uNr{vo ztt<%UIw5qK6B47`%v3iW4wd(e)nJ85{JFmpgP|IRTpnDbK6CQm8b?z@^Ub;$RO<~` zx3gVu5eudRaHuX!$ag`RE7GQBSNCh|*g}Uk?xI7%8wzzl#Y^EPGA9ui6iv!-!edzG zGhl+M^ZK=5m?1alw5or-f7?H~O;tB^x9Fiq8YUS=``7$RP-Vomms*LuWiyShZ&!EQ&_aHW&snRDe&SWgu32XYEYN9 z%0Fmm<;NjD*ExZEdo><^2K(&A6AFW`?={G5=iO z-s&Tmd;R7;IG1@A>h{3- z2}b0n@?T2y|I$_FO9N(KzNGn{3~Z}=>BrjsJA|=e`9jad12}sJNYI!^bebhC`_zwu z)2(HtS-e*i7d~u|X9;l04X2k43@e3H)LwCdPNy{ZKfCXnePUUtiKlfA$lthxhxmDJRPg{ zIP*zcyKFMz-Zv0l_ri-Oc%XPdtX*_Cdex1-b*IVAkv5KtC z^}eNZ7USyELPQNmIwkN!cO!IFyCHF?0*fzn#*cQ!&%zDRpy-P3awVMbuGi7*dat@u zUUu)5*oFT_;1XNr*1qC2AE7c++Uv7d6f2;H==4XsCC;y1e?=Kd(|ShNXQ$&4@ki1! z{E^01(O3-m9Wd;F=B5p3oU{~#nqx~i<4f^?Gaad`4!PbfHnO1YK<&?yQ>030mNmYK zpBO?}fs5Sua95ubqr00j$>(}L?$&NiR1b(>g1_U?<+moE%YO?uZ`j<;?v$-=$u=ic z!c>i}z{)?wOpV49NdA#OPyX7-mlPlGjBII5ykvKM#?UYInY&GoGiKVmw`iz>A0k^@ z5HcYn(n~_6$vHTee8_@G-%3OGHu_ULz!F2Sdq=-Hry#N2b#cIgJYgZV`$B!n<^V1b zYo@j5Onx}ylBm2ZsKon0v+?dJ`6c|7!nJ4B|?4}y?PKq*}mDSvFs`ITnrW&r*>M8LY2A@{=UqXGQR$??x z_KQXokJ^(?%fZy^n=EY_nWY3w#wf#66_kW$)^H9~i#0nRbSu%pTwDC;X|u)*!mN%V=JG zwzI;?v}E*K%*&SvyGjkaSazAr7~-j5UN-%HsQ!PKRW{2ZaMi^B>sNKE8Pn#%#LLXg zKX(5Q$gHkAWPvcZLOfu)*GXKQ-wF0Xh|DfSZH+A(f{kW!)Qjw(BT zhrA)!9Rs$;@90qfMh%K3o4IkUC7`fNI7jI&!HA^kJT>AybMXo!$^_3Nu2dCB5-QaH zRZ4)KMDPL%jO02DdI6%XmA$EqAol7GgX{Zu3pv=qd-|}!rymW3KY47>(64s^-6G#= zZEgR`F-9ozu4rJYxZN*4!Yo|(Vf||LXWv|{2FCw^<>uaD$#=1(Y<+*!a~4ki(`@&X!bL?u6jrP2JP`6%c6DwW29QK$`M8g{p{TvQ@u|hU|ax^ft`! z<0*llow!wvZMp6}d_VsU^#v!%Ja+mfEm|1Nw;KxDwHZSSO^>7Le7~S3;-S88)ae@v zG@Jj%pX=uOnCWJ}CW>i7)FpinI{wnRG%D=;mbmjMgF7+2VAp{}SR8{fe>leiMzIEZ zH314(U6o0GniZ^LbNh=%?7z;2J6iH@d1OFN8wN9QV)7F{Xkz~0iYtYXe>nHmE@rd4 zm46JC=D*S^Zfzh^ko|{$P~k)7D}q~)LKqxpHra`l91^UM*9Zg*Z-2I|{f#5~`ck9C z*Sb{qK>&*{81NssL&Uo2%*|c28uK1c@5%yMf>ca&P~=kBZj zovdo>=qBbB_C8~ zF0bi+Mxyw~C)7soc5ZAlbhvq``pe#`{s$@IMeoj->fOh3=l}SRmdqsmxH{BA-f|jTeG$Y^NJ9^>yRPBLCn4-FV}pZ!uSA&}_Xo_a)Ff zvX|(S(_X{O?1fl*Z-@+jo89!@l4ON*cQMHiAEt@qLC%`Uu#?Ny>$*I9*|6>}(E*jl zrt(Q@U@^S6H0gLnwPh<+rYw6|Y0t-Ofw&5&$q~sarB__80!Id^6_@H}JgpBuxhxUX z9M*G;S!pWrg?{TCryUmX9Lib#E0SI|ahRYtIooS(W6?<&I6AXhSKXf^cW3Q3r}<<2 z#=IGbzINOzQ^U=sL7I6V%>?jsi-DgHQqpVPXq(xXS*@$?qj>1A+V{5S|E6E}2ZJ|0 z@)q;I73=-}^KYg~D`2OpEctFt)lRA>Co(&wCzo~VI;6pFO6{a)#ofzkW4|>xKx?o{ zWy`ZO%etQ^tW#kbMkn6`4sdJBu2U&3L^;cx(Tx^j)X8PbbX}G`{k5K&K}$HsX}MiM zZ|Yx2F{kAg?g{%+TXwFw6+uEx_0wC?skz*dEYGy+s%Q3ESf!%cM-#Ks-NlJR?BtCj!uhw`$u*Z^Sk1b)3?b9CH zMnatt$*Ef9@6$lCD%cR;(9Pj?Lwr@&PWH;ZVAy>8d&er9j^k58-aE5MZ;SaR%Xb&wM zUzo>zDA>zB$a}kQ*pEcZd;c92G7DrkrCIvchqd%(H|nbU={a9O4>u8`7@P$d3>A7yrK91RmW70*=`@k|xHetGQFm z?;6DOb$s0fmn_N0I>2Vgzvya-0MSb*IfpoVur&b;q@Y>>dO=H}6P9Qb$iQ4uLu^Tm z^cNG6(>%cs;2vBBk;d_QN{J}-+~!TQCKc7TJG0x7YqsyIaYu@6kdaqzMG-B^R0ws3 z0&oErMw5q>E|7s%0}!)P>oim3_{qOU{n0;8nbr7w|9MVKyGG{8t|lb6qLY8UPK3zKin{3Gu#qk6JQU3r;>sEl`C$2wT5!ic=ict})PjSo zmGDGsCES+64z(%%Gq?;4g?I9Uq3}8kh405uSbPv4jbc|lL3Y*gRo1LJx*NwTgg;*N zVH->WYllaNDVu{xgKo5byL66j)|Rh|E^fB0cc8Z3X7|3Y%R%O12REOEt8~N`J+V zw9Net@~l{XZ0gxQq3p%$MCFm4JrK%boOp;)r^ykWO;TN?u$k(g9BS+i>z}f{Bss;h zC}Y2NZc%a)G!raJiLMWny%$R4j-az2nND{AL7dTX<5BAQV1JosvIFJu9!_{6z_YAm zEN?u~mjYRv4R0J_yu3LGlIZkFMTE*7{8Y&e*})Y(lkIoKr)&N-Rn3ZoHR!RO#AZb$ zHLk9{${N|4|6>nKs%nkqr6$MD$AmKHn!5ha6ze$S&oQopD>g+_v{0`2y-3TkFHxSu zbZ?pSr5zF_kXb3fOtD%*P|t*e`=ZTuNxFyiWeVH5*xzv_iwq80tQCKHst7Qr`BAf9 z^4&o7{^gf+jGToeL!YqOEEfZBE3|a{-YN!F-SIzug23V`1>Zf(1m8Ui;m9mo(f`do z8~Q?r{(Bf}Leq!GcpUSZD~0ypRBt8q`-*x`qFd@NEU%x^O{CQla>o-#RRB59%^uXQ z4ZBeJb5E`VS+k+9WD?M=URa*G3OCqu^7$(X=ObMa1ZEZVG!9l*g;8T8S*dcpt7__N zUk8TJ%5L(%-)so$PsM8gc-bY=^m>P@CEKBRD)ApNZyEV6UQaX->_$Ot&Z$y6=g`iD zuqp9Wj87rO<||ubwZCM-H~4dGn5Y93- zWwZNw_rOq=?vy79p?gC-TiT`pEe5m`M+_Ce(tPLl2@S}ec=;22|K6N+w}n3is*HIz zR_dU%Njj#GSZpt`DzP*nF8OC7+6A4`4%BG7JT7{QWvD4iM9f2U4SIfhx4vp|QR0~9 zr;`%`WQCZ`6!`MzL|6m`=$#=1Y&Y$J)7wlG!9C26kiyISMku|gy?g9y?ZwG)O*xt0 ztbL4soVxxe`n&RmSQFU5W(0L!2ih4Cjex1?_7f51D>KV|%zFY-&m#Ebg|<(^@agsn z|KD!UqtxsLH3+X7pxdTbBDms?E@Nv(tFZE!6WPd`ma^P^a;qw95!Z_`&{ zJrh8~Y5uCYHFP9nuSTW9%)lyY_MCNXxt?Tx)u2;w=!mQZq1zGV8A|^K+1xS?H&4kl z7(8a~di%&Jrk|l7B9wZ=N;55ISEAk|dN2TP=17aP*#A5c+7y}CD1Tg&+ALVD^AEBy zi|w1>;kd>9iw6%+x@3rw$C0N&6YIumA0cocT?iIjYx@Ipo1X~w?Pe*aZ?Fm#yPUnK z|7^x^DqOdi3dZhZQZq9md^z02$=e3?D3byi1K9TM<2r8<_roLYzdkI|{>Q^a=7()b ztq=-Lf91KxTx>dFV6c@ucS7RmI@wCj4uRb46Q_A6U&=r2){W7SF{l0=$Ku)jguWni zESP|yI)UPe67A0(*8av}wgh4rqhq&Sc>F=>fD_jjnjvyczlI_JLE(%plfXOQv&5); zudH2XSY0}lE)`lLu-IF+RQuG`Yx>pORb}ci3e?ax-MVoB`kE1>8mwwpF*&WUf{CNe z(wck7cled+l^TIys8?`d_${s|1-s z4Li^P?bKCBz;%%e;gX_#*Gs8~2JKG4ZFf&eZcBR4uw~TLL)X%-r_3|3s;4jb-+9Cs%A6V$3;3me?ob$6k1cru8VwRgH8_y} zxVm7s14APf2%LFMA5!@rz@Pi@=OR~--faF-oz+;m0D) zmzwhdstGoUECLk0O@Iak449>f|^4+Imif5UwJ(Z`HX=OEe-8vj|LegB4C{lteGKE?S+|0||# zF|0fLSF%HXDyHqI%f^_{&He}8Ek(C+mX%Ybp?f^F7}<1S@o6N#iiM|9CH2t;85ig<)6 zLyc5pfC?Fl3zA@RGeU!B3E4Yr+SBk84MoX0!J6gecQa$&%?5UHFUifEU>0}Igj~ZyHb7WR z6SLt0&`@w6Hr_6Wx#f3w$?_O(~g&oazb?{DNDZ4uREF$3;ttyOF4pT1*Ft5Ym_V~6SzQS+9D30vToLX)8>~rY( z@BV@M%178vXz)V0j@XphNVhgss4pNE*K~of^VeQMvq}Pqfjm2{2eXV1L9TA}FIg>4 zxqqXNuA)&sNTZUu!%BsjP0hfKGo<~ax*RQfP)IAW#75QjFMVFt!~L82GR?@gMJ)mP zIm~aj_ib>DX|6q5s_@`U4Y9Qi#teX;nP{~08*G4aZU<5`CcJMGH2QZUj3LU!)r#sc zwp5;P&tV}5U#&my|bQh9nq}BySGu}M!t&Z z)*zIQ=v`KHyA~1K9f)pM>ZOf3mc`2*%X-2SD510d<8r0B;BwP7N=yLQ#f@FwikRUm zgfja`fPaK5c;`gy|Kb|j;-p3=l}hTKqH+TqC<^x^$FAo1mbx#k%qS70%51+dytb>j zx8>Q$8{pybU|M(4wt^8THV2+b5TRe*#8;%}KwGVFL z0dgFjirKP;ts+^s8?2T4s-aP37_1;?h5r2I6K=w!%PQHZ^pq#krjd!1$3$C#nvAma zHzo_J%=Qu=*UkcyO}_gf89flW1_6xB^!x)7?_&}Y6&TSnsxL7JFss>zu8hxdbKDoF)v#h?SbkppUm{zRiE-X*pFN8X;-lOq?@7Y34w-jZ6u>y2IeOD{=^kTXJ zJ-ztKJUz{4Ul!>MZXL++?H$Pmu+6V#F!3*j6Y2BP`qC|*c2}X{o6?Otb!4=6BH-k=@&v_ArZ@SFH!rZGD!3@Z1gRb)L@B z+QeI4RI1~^!J8$XU%aWVG+c}`9h}?+Ms+81Tx}1N45Gg!F61xpKL#~A`zf5;;AT-7 z_1WRN^UF8YjR`|e%mw{Kp#zmgqNH}`)eo5=7p5`~8yHN`dnmw0cm8HUeb_B&myQL0 z#m$Km$sd@iEyB5-FV*f$zS?t?K}}=de9-W8q4x%9u7g6tf`ZB4ZMmg6$$pfxNJJ?>>Yt(9wD1UUJ<5LE7{2WTk<55%FzvGjK?l|W)9lv#!I-VbGhZ(K^>TLr?Q#!z(iLT%t*SoB!Px(lE3I$Z7tcTA8;6EP*_8? ziF`!^)}MkE@oK=WK*3tVc_RlG*3uBpx)RMiuvDIK9##0twKe7|Q-=DAsr_F>C+8P% zpgr9OJ{wSw2GJ6jjBpemo)A|&vOSpjIn6cfo0u1?h-E**4kNC~o{;>jOHwuSotDFS ziBmwa(`jGmt=yB&uzgOYh=7N>WRo2Soa7<8ec9+TBZ_ftXNU|2veGNKn{`C`h3rJWl zlB3RRBVkHuG;`WPW?-#qGyO%`v7ByQ#+?U7rn|31ijQIYyY$Z}tlN{5vyl;`Xe^~T z;@`HOvbAGu%?ZUi+yJ*y&;nN?v>cL=kWP@j2+JLN;=``LFm&F@zWYi&Z)iwRgyCg&-p(Q%ml z+@Ss2C_#0DL{qLYcO}DfiKvAdzv67I=u#ZUUy~(}Asl+$+GlKrM#+Z})*)K*e=%Pf zjytdk*-*v%q#v(+$!WfprHf^kl%rY7>yr?6PN*kMq5DL_a8J(eZf_h*lOj0ja8F0HcYO=BTUKSlgo+@ zKZ};enS%G+N+&3rN%4Cb3Knw_OW(7Cdn)<-IBTfXahNJ8lu_J^E+SY56x*XRmC`g~ z)%0PqRPG&_{DA8XqqC2E{~WT^J8Nc^pIo*@*GERY=E^R%SH!!vawWg%uD!%cOYhp7 z-ZHG`@_a)Cbl5wFyftRTi&b&7aeGK|nK&VqZf|5TLJM&*z@>x_7`yY{J~{9?|0IGB zV+0}xHZZ>ZKe{Kqxj4ORPkKvnBx5@g$=HtdoIb<~lqOG<-^VrAVyXyLVm^3D-v`Gg zc_CYYY}r*@6}~Ix<5)m3QOQJA2wv+mpC{vDv9Yg<_#8MfASco#$a&7hYB6-4L<^Yc zV03%FoNYh##lJAS&ff`%{0%?TFJEl>w~Jh_?DC8IA7OV?wi!t5MZWXoS{*Es{E!w% zIXe^?`n|`)GiA%(uO9`oweWz~BkIN8;>(Y*4AyX4>V5fA$cN#ZEQ8f8HIpLVtmR9> zRP%^DqjTyS6O~cB)g`wor=>Y5%~3f07#)R9bC;@kQG7WsE&I0427Nbw?uA=fE02SJVVuD)-;~$c9|H_v21;iY}#l=O->r zw`Ec1TyZ%Tl)?GxJW#@n?S*xedB7_U#cyw_?~s#68+p-J%HW3~m%} ziX5IQW}XMk;CmpB+Fu|a*0O`Tg-9-rG%c$j6;8;xyV-<*y||>~;z(w8MZNd^m70XL zKm1qwpX+^7>4UYGr))(VU*^8P%YF1Wm<-O5A7+aT&tkQ|un{uNd7#n2wQJzDuJ?%V zo`6x@l-@l4ch-cQHDhX~JenNg=Gw5~`5oR3qd7L_(M+4FmU-9pl zxHerfF}I9nvS)_z4GmYJKa?n!5bAZDGJm!s-^ z(_q-q#3#bMuHKow9uKmaQ}7`B=|>E(wR}UB(tj+ovtp<>Tc-q=Eb~`Ys#xNSqDj2j z69kgZ{X&_LVHOGvAts6p@W$x)Hq#zP$9ZexJe)v>8EfNe{}X2n1&_Z)tCXL!zWK@v zGrkVP3Z$Gt*Y|@IG3S78u-7DCEznBeQJk^##zlFq4z&2OFyxYdp8oyEf58k4;)gbw z^z-l~d!Xf3v7qD|HT;pxG|>#lBsa>Az3tAz**W%?qji97XNe}t-+Iz)x_7HU zb|9P6{q%9Hja7~Yfts$@w~&1L2W*wt*lD?!`+9G=9!tiATaIbT_x_cAW$h?1SEWiJ z%Tl3s`deLyYB0e8 z_tt=y5s~@{oGp;F$|mEvKxQfWd%vKYLxj-mx=w28(n?`yNcsJ$xEU-L2FB_9k*Q*A zcnV>?Bohs@_)drpm0avPOEEcksUn=(j$IkTV?}o>_^WNUGIr>Gj0P4$+Kz~Hz8Fb8 zpLf`>#`1Fm?Xt86rba%Qjuk{%xwJ{7H^m-dx2zV%mIy0b_TVHVF*HdbEg68T%fISq z3KR-Pj%81B1l`q~=sTZd!09*0R&gAiSHg&WO1b(o>-F>t>-Cf(H-fa+xIEp; zPcg-oDY?Ye;igYiF6P5%CvbK^bW3gs)EeX`?J`>POk7Iyg0l;$X_7D;o#?-J5f zdC_Z)+9DHQX_OYN@l~1VwX9fc{5IBA!Dm-1@N63@jOLE$ccrtyJw>C)do6Z~^`GaT zLE3L;P5fsvjA5l&zSOQanYjmtwT;@`8aJj3_q7R2^wR_lbcUnmJaCmH@)`^re|7dCHcYXEcHb^RE{wIf$m8kH48n*WNTaRdI#ub!gsaG zMA;x)n<~||Cuik*WI)L*7xNVkme8+M>IVsTbaijCvFKw+PU)Q}asStSeuLaX6!?w!*a88klpVK=maeTUWL|!qU zIa&+}MuO;%1}Nr3o0hlprQ)6uo0hNFMP4<3ulQ%=5?BNDMREPhwDK;1lxe`iqUpDi zgb-`=^pJ5cZ6pUaX^9r@j;x(whP%jD%8JaquKLWvo%Kk3+IU=_S=33~Z&0|qiV&r4 zn-dyFY|qtEH1#dLU=}a3sNEmC3YqE;0Z=b85w_7J?DS@rw|5=Z-g{WO?G|3Vk zOGq>Bprq3>nL7kW#4A~8?iG+Sl5IS!`@3{6-Ae%0@hX2NsZy1qFdKRG2PTi{G3h+HSVC=DwuGN|F zin!N3A4})xCa%==wOuebN6-KkX0SSK{!{fvwj3uiM%iVvuZ)@?jHpeGb>8Ftrs;3y zyfY_G+uUSweNH=bV&=?=_S(DVVGI#+?f6sA+MKygH*s%Cg?eJY7xz8@b5)kChdD>}_Y%RTXB2$ynpjeQ5@q#VFRx^aC)S3B7 zI4C2Xl088!5{U-`e(gdU^vBw}6v8!!@xTely$~JU}fSagy(sooKf4pO64_@jkMa)ki#K zY)l^a7tk%ZVA4qCCM%mN{BL)&K4(6_6w)3oZ=$A-(f8Pv7nqhW$~GQFtLu5!vr6)L zF#+i}j!c}Ae&d5nBk4CzT6$dijk+YVSb`6X4c*>Hq5m6oIH(}V?&8W4Vm(gk%(1DS zky?OcNyOX9P6;?Uvp6qr{eiOZCPVGd4xhHO=~>-O+nKqD-Gi;4j!b7wvz6*J zwaXz5#VO{&6~L4~(HIiL8A}|u$Rt-K{6LD1i#uJZ-}GWDHUZO(;CvBwxaco7`}v#U zS0Y9D3 z&n`x!W_*-wb2&p@DqQ@?-0=U}neO%)&m z84R#VcGQV_H@xON9a9S>{Q%ZBHoOBkQvVPs;(ycM^CtV5%BMK7IyLWJQ>*!T8D3D{ zE%e15^C^Y-PLTXL0Yu%1AbfNz0R&C6}<5Nkma8JpN#v=lhF%b$Ms3 z_OycYjWG^8=k|WiHyFL=w#U-HHI6r>_)PrJogck~s6!w4ju@=?GDYql(;lw*LM4eT z-oz=#X+8^V6Y%d1u9(vg_uU2Do3I8(!o;^)rg*kz=HuC7yZ8QId|NHgy%a<-Ym`M9 z2tg6{y5L7RxBCp|2IWmwi3VBvNH{x_chp@;-Im2H=IQP*h8x6{y40+^HNF1rmt=Z97jy}a zN66*Xruc^xlQ>9_caBWS3jmtad&Xr{5zwnLb|OK|Tm zXXe^>5wAQ-M-Cd#m$1$0;yZ;t`u+MClF_@EogpT;?D@-$yNc9v6~JyF89!jassUas zT+&E!h<5<}wb?N01c47J-hweu8t~Y0S{ASfeXr7sMUi}%X9GLIy8bggupE;n5{n?y zm*7Y^e81v%P`n2VMT+hZFJ(8E>zuMp6o%s`aDbrG_iBp#?|o2)0W3SSaz78e`1SBZ z-+Nppd|xFiV|00H!5eM)h#@5=Vn}+y?O2?{9o+|iV{-k$Plxt>xBeuLIPZf-%S@ei7CxhM3k zg@v&Gpov8mj4@K;3PcGmN&p@_+Xi8HCHr($k;XEzdTXHovx5Jl~r`uji z_l~?015KU9a}ROWL@#lh+QUe`q4o2}@J%1nCIMmIR#_oHAqXu~*T=^FBQ@V&d%km? z5h8l##E92s2)k26-6cN|Y3eFk#7sB!7KOQgcj}8r<&qV!Colwx+cI;^sxisXYct0V zPmWqOEIItOnd6ER2Vek`-dME(wNi3;>WgEGuKt~W`^(0K=XvwuZFDx@A5!2A?9#b| zx-{E#DN;wDBH1tzSBtNx@=mYx+S6UmbSGKmwNKuiD=9if|0EA%pBC*~)8- zeiRpXbK9T>38}tnL~`1y#mV=jzj#nCd8~8y%!*TTIVSx`mZeWwlyr#pl1q+EeX+VI zSu(Y4!|LLps7=dHRuo_{klEBBl7fc|2f{r#R7xn9{r zvkQvqd6?7qx1ESz#H?2Mg5rGB?X=uV!HHwLo6?Hh8jUMHfRLdXe zd|6K?B++0VC@rFvNxG`MuIAE1lM7rjH;UR2{T56A5$&a9zu7YtAm>Tci#9;cnZV_h zHE!+ijQViqgMP~?R&RKuFl+4}oG%&sF7FvU`_yjYt{6gH*1$F{SBkKSwuAc5M9Mjf z2CrfiViEZ&0KxaRyS1>HGduiag4VYShA_rSKg@;VB!us6;L49y3$@qt0dZoSCz_KA zH&c!WbcKC^!)E>>L}J~A6O5^7EHg5uZ^kp9oWLK6OpuyJobi!zCxjO&SFs6pPUS|{ zH=UVJR{6WH(uoLL*AaH1U5eD8F&m94CP?;tg$_F}OgK9?NC_IbAaedi8=TDZiuda+ z3w8gB3#au&9k#Pf6Fv96GXVS>mp1!dTndZ^ra0Pdd+X&xx===v?Ee#DYkQOt0>uAE7BtnH3M`0 zNrNlLB@=(l??^D!aK@DBYxtcHUMK|om8hJcLD5N2E1Xuqb=j!*2*2dfVyKQFU&csD z!|a1bz#D^Mqzk&&{IGS7%mJ^DKvrIz61K%@0K z%#KyxV~Vj)l|7^x1kjB(_9=sb9~2O3yZT=_T(W(8pFP& z-&_6241=x{kYezaTm9#MZJ4q1>b)~zK813z&$2dc*k>7G;qc@k649NJ!<=a>Cr&9r zWM^`dcz3>}M1^CNpH?PkcdOhH#sKRsUFx7`QCW>d9%RhDwOtK>=$)_iP&Lq?weK3= zzUPqcYkoeIp5LCgXtPDi+LAh9yBmir{qV!t$TRjF4lub{AG2SyAG{CK`Ss=f0;_dw z5GjqJUuybcMakELm;{BGcHUxq%$~vOADp+rpH^c8YL#y78fc+3-g<9`xW+5SDwWL-@2_Z z!JQ}A30})@euC3}sX*!$Gf8GLnM4_w6CW-KeW|%C3Ff$1zpTQF6b*crznl2GgTE|) zckyTbD;xY@@vvcKB_)NYrCjOnFZr*u^sks5@)<(k`r8##7SO(FFg2@u*gAVG1?+l1 z&oxYtP+(?Wn!^!}G((|LEm}@MLs+qlk@^sVBe+Yi6-85&C^z(Z#d%DccFKAC5nzKx zgABf0bDV$Nhkt`jei=CNqu|7?m`WL?$Y`jT5TU)tCXcb$uDcf$ceufJzt$xNW05f@ zm;I7!r&+nUjcJvwTtdat>m>t}J<&v@PGxw}oQi>!z)n-?Hq| zer2yPWk2>N|})VC~q4t+G^p${K2{XJm+vcnlX{T-!t#|JUai%rAN8+p%w z!3Bk%f4yJfUvT3zOMx(8n$x+Ua9jVvcbmfA{)NXW&YMo3uc`P%vmQ6+Ybxq_*3`5q zaR>CNQ1i;Znu-23KW%Crvi~;^OCDl8xDK963I7vQ4T0SJI}ynJ0VbV0Bww&z1#5$X z5AI*^zzkbjnIr}-uJ;h>6z&OWHpc5T+{GT+&IOigiqgKCD7N7z;Ujww#` z3}SGWebW@T^v!^!3?&b>#jjOy0?3%+%ehJ5@;IQVXd1xwN>eZZ+s~;W!SC#5J)F%t zBKdx=q_*q=l_D1HEKxpZ>*h#j%`7rnoUZG?BYl&{Q~y_f&H3=-6W{WD2=MVBqW%>~ zVq-7mLm2xHb+5x_F!8CpAQ9RwI5b)f3=irYK>IgI5qiYjtrC{=Jr07))~~p{Zw)O5kCzWbxFt9_VLe%E%+}58LX` zyqsY|2Z#Sk9-;r*1K|@2hZisK-!dT%U>d?==VDXB9A3YXn=yuc5wzM_f{ehmz&X@S z!OlR|L5K(DMZA}dJv3^IlVS*2kwMdQl1_i+>+1DcFjeyTJ?ShHUTBz`o<(?}_sfck z>E7yp_^9?=53{FoIIHB#kwRPLOww&ruIpl2OaHDod9yW4G8_yCb>uIM6+T$1HTZro z`~;bmSy7|rGWL!bNHa$W52kFf0o>gAdk6-$$IOR!Ji$F>82;TyB$3)_0?AFbf#l5d zFXO8RzX&OEUSBk@r;`Wc4)%0D8W>8gH3}xj%J-vQV5#$WR`qd%Xc!RkbL_cGn)N@sNZ!x3{(uPnOcmA+Tk%K<|Mb`a(Kuv25NH7_KNfh z12u1beP&dD&@-*5e!aJ&(8LGhUXkY#AS_b5IXNmu1MS@vC%Ki*ZR?wNVBt2n-N)h? zO07qKWq$hgZ0O5D>nq@^up7YjzJT4xZkq_f^)4zmaiQOXG^)bn8hpg>{IXU~ogfM` z|Gp7~d`>*=W=`!PV*&fzaIKpHM*A~xuj~~pF$A#tjeV#d4w%ow@GNCIm+U|6?zfmu zT-y7s$6s4Nzn(*M;7_e*VKM(dtS|VgKvm8;H4h=}Lo**e*W0QX%d#|Yju!6 zR&?6I`RG^t0BzhgLxJo&dZzioo&YtkOy0WGZ?7y@9n4a*b!W*7;gBs3l2ci|w3LSZ zkJ85M8NGxZx}v6Eq(QPI>m+96*$wvI-R+46oL8{-0NN7<1 zVnp|lF-oVA!oKYPq)Sr@mfvZ(?uL1JQc7kJ%;{rI^CsrDKa*>6`I%JIG_SlUmCL2( zjV(^ibGlOVP?gOKrJCGIWJt@JT*ap=#;RQZZ3>UWmN$G5k8&O1YCY-*pD6wFrf>~! z-^(pdUOBU*0piVz3%h@ZV)q@vWxg=`wkFclHkr6HsO-v}bV=3g~^$xq}|A z(!+BGJ(T_CJs%nL@D4rv=%9x`(!=xmJ%q&pj~tQ$tw{O|!FupZP^#IoBl*c2v6#-U zIAT_~XexiR`FoJR)%=~$-{<+ehQEL2FF#lR6~BF++xB>LjaZXaoiXTs(%ZeCYyT_D zm!D?;E6Lvve*fq0V>eXl|6%$10y+LGv}bQ~BL=-M+~+;h2fZ)UAN>9Q>i)jP_y4cY z?_WH=ceb7p2+~y}664Yz5A~+IMvR;pGEWv0?cw90<>{`)dXidvbS_bj1U-B-I$-_2 z7do<}b>@31T#52m3D`%ZKVG?eq}0RV3CdJjl9@RHT;jAm2L|HdL@%&DZrURoip034 zj~jd0k*8x^5k`}bJ;fwyU5pRZ{G1fd8Hfr{mRy{mpOlnst9!6(!eb$)NugXU~+Ip^@k4^0wHtNi=t!Jvj*vizX z_EuAOoEjO&vvHN7QM1Rj>iUdvsa+Ln#6BOUvcY51wtZZlf6OOCqaHG!oHfQAsg)Ia zH|CvC427wGTNju{NcdrqBQ;2#lp{b{`U~YiDa<*#i~;RvJwq}zfzm)#`xL5LI5w;< z>om_SYXp~uD7u5zcrn{Xij(W6+N)tsv;3iXHr#1>A6M4gPb}afWmc1xcB_B=FIk&V zdIg~)?0YBVDUO75EGH)~R-0?cXr8wP&%@5KSO(CBvV}r3qZ@BiTZxlptpfM9&9uMG zLa1~Din_|gA=pHi^d0{67klltZcOp(`#C@{q zaK=ZU>8UADBg?b()vZI7~@CUI6})*we(Hah+KYrKT5OlqB#7J~7$lg3s)kZ{o@4 zELZH60R^uvF8(Y&oc-(aD2@O-d*(h<E)kIkOoYh<(+*JPnJce z?Z~ye^S9({=uI6lY|8Z@l5X#emOP|db(#2fy>lL@D=&^@Pwy<*oQXdsFQry7a#2#< zWS`+e57zTryWPpkrQ4l9oatEdF2iF)v974wR+dmmoga$R?>?* za?E>lH_TGgM!`$uLStw{tP}b1LHLeN7HDDSo(}S?`)M0vg_VeTJ1kj@Om-Y zh;R;6!|#fp;n6AP5y?sQV38tUR z!o$sa*vZ2#zk`Pq^Cdc_`!CIJHhwfwdfxTlZ@&{&Wg#$COkS>|X*e&R5H2`TydfRdE;@rNWZ~_*vK>t@7+lE0?2(~}gL41VIjri0r z2RpFRxULoUvvB&3cPWqpx{b!G5-Hg(R*_K^X*`CQSU*1&5G38Q%S`8ixYyNwT%UXO z@D?@+tF-%s^d1LKuPjrhIA9#8iOO*Y1r z*03dt&dGT|^yN%_4LA?l&1(zT!GX1&j=qraKsgOm&!GMVaaJpcMU`PV=rr?Yf_GxV z%wZ|uj!<15f*YatGG>uAVn)bS2u%O>@@C-eQU0a?D8$)fxkC8t2F1B{7vPW*N`P{t z&r*)`bw?rVjhYo$E!2!`s2#^^H7s)|Pp&ZjF@Vy*hVk$`gPVwVjdP2Uy*>`=lNgfW zw(k7Nn}IwP<0UO0TX3R@)|+xOlIjiN9*`=b)Z%BI^NdTnViNJQnUbA@IZlwBC%<=` zxkZT5Fm{GLM%Rh-^)i(cn&yUPjfZb#aPi$|ii=3u8sg3&y}P!H6{0+dzq1_;okaS( z`+`+q>ac5kpMS_qx5-R{4%K? zJw8=S^Ekp|HLXM6lqj@O+txF$K7FS*xEjps4lu7f;E6QBI3*E=e8c_dl?JmFmkV{q zojG7$L*s#Qd?wsKvx?cKJ5aNDJUVCfqMbN)nV4_h@V%KxW^@weQYu@6qF=EM{SaI_ zbogPFshSz{p8{?`uZ$LVDB*cFYHj4w0VHlV(B3*@`A^0XszwY`$4m{&Fp%de~mVOCE42%O@i}Q`vl{hp!_Gw#$_?1RALn^n!{xDFw0n6U_V2q!<_H!7o-lt{npWN! zEY5ULVkCh#RG&UmhyeDH;C8ID9ZGGH{GLx=%+*c{F|q!zo(t~j@(dSUFHNEAC0G+e zRIJEyy@Va7Kc3viT`%>7X&{v%4Yyrr;#%WLJOw7tr~_^3luU8G1QNk)%Q;&t*Gnp+ zSO1OWNololy<`ns=A|vucn0e5!u67s{iq-Wp~(9a?uJ9THT|5L3O|LaG@lpd{&_%c8M>@2Db|Dt z(~NJ0eX+W!1O>7`LTlpEG=E!{?vNcaC8;Lz_OqvL*`TI6a!ji*mTdL7P&o2aHe zeLKFzGPmHG$hRjgZ6ZVS>GxjORE3&PAIkr6_>FIyYC!Y&JHb)op$!JV;4;ap3-TY3 z*ekFK_IUGa{GG%$3N&h6Y0$^z7x z`p|L~q)a)cMqrilgIn0-T(dLJ@>=^>G8(#4Mzo>(s5bS%auXXgLTHVmXI+) z)iaw5`l=eC@@pj=scYZVzF|!_@|!rJi2jhgH{L-Z;U1%$A5k;P)*#hrRKEHuAo-o{2Vr^l*@1||(|=+ECX4>JZ;t-6G|+#v9`qlsyM$(v z(~?afQV_y^)Myhx_ZYE7zvvENjjZ~c+r)hzyav=iel~A`ws2hZ4(Owz0dKMVeSgjVr9 zM3u3(c#RiM-}45=owU|yEP0jcPSmx<*#SPnexs6>a${V_^Y4c1d& z_a(a}x%oPvhAkB*UR6&xHgKXzuX`26)n&0Tpf1Z;zrh&+dybc8j)%cAxT>i0;|}DC z94ZClBCZv*1!GXQ3Jo1v|H0fab81!UoOB*Otd#YUYjD@M6!&?s$k>WFE*K<%x3w6Jb-HmW7V_-UJq57A*vZNNjS8F}bGe$;rtuFUnBlUW9;LJe9j0^wG zUf9TU-|+>ZiMW?aK3i&;SlgFFg}3k%JJFx_W)bM)G&lVuiE^Y{YJ4?MS(>NJ=mpMAnPVnxNwd7_nnArtu+4rp_8 zMXR7g!tb9i(aF|yy%-fSr)x*4&LPwFN~sFLRyF+BTQjA(>DtBQPrbj`e7)6~|sO#LEx(QCIks8!qn6tFv} zm5)V$@0}sE%P}^bN*`g35P`R|zvLBl$JNHHS2zPWoS1d>i*eglj=qetMImmCEA1aj zAw-+Lv%Dubq`#Fq{h{;$_N%YSrsq4*heVET(Fjz7~PA ztRx^PLPze~f;oqG3LrZsws_uBZ))kGP!tKuQUl6@^ojM9<+MSx;9LwLCbni@uVUqH z+86X#?>sPstBiiB^`l<|8rje`Wp|9m4;+9l^O_uh(OV7~fKi7VfaCez_y_ktI_eJ4 z=a{Yky&)PfY21A##l25siw})tFPik(){CDMu@_;6&Fsd@vN9mZ3LWPQy0dH@`KEE8 zEiHPGaJgc*Mdq4t(?#<)FscdTXmT_D$~tz&!j`XiKj~enJ|G#{3I)Uq}*FPr{ zB}!FzTW!&TK``a-$GgfyC+k`fz2Z!vB6DFqTT$W3S6b)MM6nuSkzcS;MJdL=_G6KP z|LTft4Wjw6am5-UBTlhl2N`joRI-uynl(gbjkqH0~9(sd8e`VHKD*SK!K|`x{UQ zx-FT{!P?OMRDO*Ywj}7gH{7!V*+E#}HI9kU_a@F^V5B8+43was&AWURcMLxI)msazb+E zOY-Hf3q*b4q(2vghG5?HOT$qFzJ6KPP``}mS>F5)Z_D&{|InYV$~Q%#OOm|7XhHxU zn1`fA+u#Z(ob(WLt1AqVTFG%ndf%vkXV+h70rQj*g8a|Y3TXVT&BHUdBrEpKHpxJ(+^XfS^KlF3Do{6|%gd@8rEjPh8~P&^L+Wo!W&Mij7yBWJCu4Zn zlLOG;3?I)!56car*y!9N_L^}Gf+uU`>SED!E`-~Ov;sX!r?Fzvxj^rpyAz%p3cG(+ zkZ)jwKPQ86HWk}=LxKIV50t&mG-6*biNRsnh2Ge5U;ej&?a*M##AX8ltkQtP)Upub z48Esb0Dh4ic$a0 z4aZ+=<2m;-XNySMp*d3n9+mT|33!0rOBH!J!)Fi+>@Qrx57fF9G`D_(uv}iiqh1b3 zfs2-3BMYGJso&l?-0vXON~f+y4}kF>S2M)H_nswDc^%lZ-rrFHkBM{&^2jAT7vcIB zsH4lsp05FRi#-cABZ5Fu^Aitn-Qwh5?kt^R^i6v^HAB5{aTUiK}j7x4eLF*a%3$>;FLl zc#H{X2LnS9=*z%B1g>PD9|E^BZ~+39 z4D>|cQ3kprFpmND&^rvUhrVEdJ=AtF0_>r4+76b5bu-i;aDFg*v$AbD&5giZUT5%+t$0g-}9!W=BW@kq7s2Hd+3% zKxcsRE_A9wc;>|>xv@x?mt73G-&k-bId)Ee^z?@&I32U``zL-2@vFh_P5j=$?<4%S z;kN_7J@~ai-?zoD6MiS)cM5*L&^G%k+MlThO#Xm-4+L`=4VeTd4}r5}ra@cdV@#si zeoi9jkwK99wee<4O41b9pO^a_s%JuQE|}gp8!(FCGPZTA6gFuot`F z4^=N$Po9x{It$guf_;anG!kah>XMJ{gAB=m z-ptSmoe(%j`K)Ni@F{qkeZ^I>oZ*Ex^;_6}MqizTsK|#-EI?#PYGP8 zJZ5AFzB23xaDAF?)$n+rXipR~k+p1;yyYs}#x$)?83 zKTZH)09^V#rNEKDXVN)j`2S*PsD1R&HZ96*sYHI-IGs<*NuIM+H_)V!l|o}C3-3v za1k2NC!UCXb`T(>7>pE1pM>-r2#gE2Sae;y=T&Yke6DH--!q~e$PHJbY{v}jZL3Q z)5?c}$Tcb;p71dyoNFdLtBHhK#cSwVg>@Pe2UX$<_PEur5YuA~W1XEl)rkj1;pF#T zAxXf6wl#T*kUBDpSsL~%JS+VcP?G9}w{pc?f-lSo*xLJtd|!xf%&U_lBM;5oHsDm< z6y@~kY0j(9`Ejb6S06BZJf5gkT&h^rY5-8bH}EI2Q_T{q5o(~#j=$pQc*hT6uzqe1 zu+l5aa_)?a&|CUwPv>cPP$^-wN z;Zn{@XwP}W_erROvlLo%)1in4{j@%_pqw@f-*fRj7vEL*uEO_Pe6Pj#7Nxv)@eV4k z`GVUM0?*NCkvCi>ytcv)ML5WGRY5?HPv8cA1b`d`5F#ZIB1I4)We_5T5Mq`RNeIkd zUY3UC-#|Qi*!DM0uw0&#*W-}$4;4al#BR+d7wj5<1D=HUY_y4T!u448yIbInq@CLT5yZ$ZX-^&5vWFahFY94tL)O0hi|F2j?wscl&|zQSt30Jae)#M4mi z$#d(U(kuGmtu+AjSA+|xiAb)$AyK-dK( zHTUU%nt%h1PrtjA2d3^zL@ypEYuq5O_V(%lRnpgiEVdk9`E}#IMAJ3xuJ-^^qdhQB zhT+bpJ2Y}%JmD!w=+z$(Q9Y(d*$domSKE9J<8dZjaM9(|zVjL+eYdHky;ah+4U>*+ zDrpCZ@l&P-Ki8^1Pjt1u9Y&U^hJfQ1MvNZs(0StaZmBgfB|W^&jzy2a9!m8VWP?hw zrRk2hIj76ZvFOWGxtU;`_YJI(J*_Hq5h{e{{qCPl%zi1SsU=V}ltt2H3kwn>&{ka< zla&AJZ$1U8zfHpXO5O*X3iP-N#$D(eVrComHKuM+2O@W_GtC9dHtw_WGL4!ZMRFml zd((37Ws>05R%hd-<6$mB&0byZ>eZn90{sJD=&B4~=*CP@`Xe2T+lkxou^(@S;V{*- z69;+KOQg8}rqWrFFFd%CZ}?Ch+;_n@2XAkS1VX>#p}wVsp^;U_-V+Xh#Sag~OmpdQ z99^EJR({0@S&i~ag<3?VSVtaxKOELUwGh|VG}VFSL%SWAcU93ArJwMonx;FdA}va{ zCY--AfO$Plp~L&@@{5FQVCpXyNiH0q(TBpjKw?}~Ant#LnH7n_VuY0M3)Wgsd2rJm zG+cd@E?XrkV~kq~jSQI`=QG$! z)_x=k=(NO`+yd6_pe*$PEyrP`o!G66>jCtJ!$p$Rd|HA92fylgsu^t~I&Q|Rt)Z}6 z-#9;RDWK^7fD*q!`+dd|h^h-hPnw-MOsUi|*5lziOM`Pa6^V{5Tg)u9Kpse?eGBRy$g+~4khLHCdROYt zol_}2;O-Mk9J&Ty!z@nXBzQ~Roiw>0{!I>yGaDuz{V;X$jK5!A>HHVSX!?_#_STTEICK7DypY z@)%MlH6h^3fblUa@vLNQri0NI+&yxjyrNzRL$c_V@(?J3jNTzuRE;MlGkZxUZUE_`8u_4f z;Zb>w?yYKK>Lw3@w81x`>xt6n1Tc0Ga_B|bro)#a$y|iYPBZhrTGrr!>rPVNp>P~b z))TBf^vB<%X3tpuGXdwQ6uj=r8i8|E23`XZJT?R75ah+IyK*czsE)?kJ!lYK31M%^ z#H$Frh}fuAET!}V+8OL8ufDthUbtpS&>Rj#so|KGRZ2K$b=lKsYuQqcGp*^sm<}>V zQM2XIjX!#w{!$r8-+0TVPJAFhP@4h=0}El8R&~aQZrM+vnXT-VdJAN}V7tWoTHH^q z#L-ENcdarW!hz4L3r|iaf2J>27Ud z4tn3XzJ{u!12J0~cs0X&F_g8&8!Eyd1mRbHbgeUk1B?p!LLF$EY^bl+l>#IVH(S&+Zd-A(*Xey!|fkk+&i$Ug_uQ@ zWp2A0CgYv43a|%46RSk+tlkZHlC`vHTS=af%&^p&%e$hw-~RNkAr(fD92DFa)Ct zJwH$ir?DLt3*rRisOuB~aT@CZJ{$pY8qd+(0S0_5-pG?afP#=-fI47CpxaFxl zv{##4t#wdqeYrCQj}69eN+Glkr_VIfn6X~1FB}!GF&0%WjItFit+5_sJ`vBwGD(hw8n@zy@{> z4D|Kn6MGr0?ifSq|0RbG7aw|<_U5q%UV=?z6Bd)+7wIv&4TcMZw7ptPovWxYjl}4y zyhbZZ;Nm6_@gZ+~If0DRO&}(mwV1}=#U)953bJa|d4VKHIJ$c0VMdo*g!9*Ye42x^ z05r^;6lSP>%j_j;=;JOEu^=nP(>wXrLH0FyuftJTe{utuDyE2Lma#dJ!{$OF)n568 zQ0-axR5EHT@E>HU;ujjk5 zYzrP-B`?oZVxHvujgy`;ZK}{O0OcX%=v~8)bWALJCpaCvCvW?!Q(z>cwvTBuqfbU9 zl*zyY!>-M^9=`5XzWi#uPRFXgBSXAXwZ1sqDWOoWCNH$}RT3>IT=Ge#G4h{{OqDk| zYE+WO^Yt7!{zEw^E96Qk2(ipQ*iP~4GvtD2!aiXB`+x%ZaIkmb`R2tL&FwLi{bka= zXQmt<8tmTYmTg-46awzXcAN)upZ;8K{5d$rrcl2DL+F(C?A0$c7C*`@neX>vAO?&H zfiDyTN$+yYu0EH|rWZyu{D*mIsP77AF`p)KH^alkbzp;K-Ra3a-ZHl|&oQt|nFhMH zM|_8T3~8=beibmpQlZoPVImP>Avsn*-qtM zj!Nv|;x*pzfHY&>E-JWC%^!pbFW&Gxs&j7PnzF5=C}(>+N9e*9qQZ+Wl?$`=MRKu@ zk{5TyM$q_jJ>o%XJNj`7eb+d8?UlkcqeEVdGl(2sA{Nn9JXBSpr(tgc+A$Vdl=&N! z32KX0|5l1M^&hOg(QJVxMQG)3h@8r5Md6z2ty-?PGfk&nBn|mH;_X%20CjP+yq)e@ z;|ksFM66YZPfs?RhB^$IZq;GqK!%#GgAQD%{4>ai+Ag}9o`$sYe!!`)yAg_<*Qf$R zR0Y!O`(_?ouzRy34kSd;U)_r<*h+Bhuy}*<`bsK~A=gsBjk2`QY(0mtC)*#rGw*_?^zOW_7sfs$EL<$sz0R)b1+hFk6Z49{_{9H z1lnK9v%8-vQOnRJXz$gm=;u%gwRi7?@7TRsc`mZkfDaf{&j$SP9(0=;dAAPhpy6V2 z-WX-0_q$MHNVXRSYySxmYBI!o2#^+$t&Jdwku{AVNs-qZL6RfSG=j8>Jk$u15}Dcv z(mE1o1Zfi)*$C1$qI|`f-H95ui(J$wO=^THNcL8=j~w3!qD5Laf}}-uff2Un>Ja&? z5#*@I`bLnBk?KZ}PLbyuLDD0SG=dxx(HlWBB77BTFa6lab&Vj$MT#3iI!F38f}9Xh z%Hs9?b7G`RqcmM2sf{3+k$og^7Ewa4c8!RdybY2S+0ZCWx5%hggwn^k&;G`?$KN933^0_+dt2U7TG@?QCIx4)Z0EOdXD`wCEC?f{$-#C=pEM1 z`O_eeAsNM%YF7n8)a_Sd2MebTIguRq@xJ`wDOyEWxLxHDsZ{D`8E8{m3hvI1A@8^5 zA>sYFB?<5M+u_6LL-m4LPRB<4K6=#YxZ*LV;~xAD;+OWg(=i-dLvz0p#NUhGWB9#@ z-!l9*;1|JfAAYG%z%MI)XXDowzheBZ!|x9Kbo?H{?|J;H@mr7IXZY>Hul18o$MN`` zf!{^=U5ejG`~vt*#qS~fp26>R{MO*N6~AxrOGaHg;nx+vbMSNFSA<{v?)+=$zr6>< zp0LG%J)7m^E7!6ws<3ZDuJBZy$%IvKqZ6?LuF@e6#L>GDQb`;xo$?|I;vvWchd>Oy zB;`n*GyiFk(vFL?L)mb`eAgBPw5jjm-$H#UIW?-V;>=eVTC}z$tFzijz8&@ohGm;J ziE+sGK*`(~YWt>^7I7NxTy26 z8Qn{&VqjJ4$RtSpjnj@I3$8YX`tjZe}CQ^nd&|-iU(ygIWcRhMS{= zqap9hi=@xBidCpGhE0a2+N!>Yz0G0KDrNwzhGyRZ4vkhG1ms8?_lJp%8&{cjn8taB zsSz?8_tG~Mw4(|3VWOFK87AWf8m$a@reiKc4uV57XYhlV-E*w>!`eMxN~?#>a_I+r z`ghiRL~_mnNKNt*z*93=ppU@0yOn}qxTxrd6%Gjx2bESHf?F>t-IE-cVhzu9UQl5^ zWn$;$+N3)*%quP)r`#3btdA7YO9&a-kSHKMr{Memwq%r&=gt2HPa<%l#C(LQkXg}V zxiIs@IBMZ^sr4_JwP|O{m~+lzbrS9V^J`+IqdwRVGbMi>Fvw9l z%3UP}Sqf;7B{*tFDcW0Bn1pOF#6lD5FvRi|46%FxLo5b542D=dYjw}Yxb>Ax%lb-A z$g@%Rc*Xk4%|*)k%FWJ@2Lg)yruCJZw^-I!ZvHal*^lbt82T*=f%TP}(`r4Pl=YRH zGu)Lox2yFy7z4sdUu0oeP3PO;@D5bM_!g}&?xul98a72w8m~Ny$&O=s8?OJ&4*33r z$(3cCAx=CFTnjl{o@+i%jF{(ZNsBV2Z;g-WKqL6N0Tejf%vg)RrfFTAa@1$6s$X7@ z7J*$vfd!v!RQIDiuU{S~Nogl=(wrNOYB?QX;}X=8Z49SJ@8W?DXWmR>E&P(26n3nQ z5-$Ka-k9yrsK($jzs@)cjbUYrqRE^(MQV^SN z=}4|qtZKfG2O>y?aJyjNhj1x`3BKBJk5_YUXhE-0mHzg=5Qt51Da0+KN~1^1MG;mX zN&Z;lFHg`i@+eG~f~?&*0g5?}I*~s5XyE}j%g3UvG`BQ!xL3o1 z|GsBQEQ%_3lq$QvugbCh4XQjAIfbkW<&3$l`GtaW^6Ru|PviXU#YQNr%NPEu$bG^U zbyz%*BSC!Ga6uL56(n{L09tFx`0^>v9^4BQgey1*CQ+YJO&cV~V7AhPFM4xKY!FNz zZuGx3P+ zs+dwS7xAgBff^s-Dtv@IWAuuR2nacRZVN+VkLo!}0LB8_9?q_HF<5#HL0 za>R4KyF<^-La?^tN&Ks5Gx!sD@! zZ^Xq<`q?`nJA(d`Yd%;PG}XF|7C?Hs#P@egD_lQYsn zo(bb1*Zd7=@d&wDSZ#FtJqQM`AU4X%2N+@AEvNydq}qXd1hFuTH-Egf;a!A~QW%?m zb{q%BpEX7hfU%UR`X@jcKyKWZ3b9^DJ&y%X3-R-lV9^j6h-0%A7fc7_EH-GMfk#A$cec zA!*rCp2JMZ!_`;)qW8-G?dRNI+xKe^97zwz{h-qqydyJ>7GVm(Uh_dVDX@-vKe3LP z0}>x1MMBkJb@VSLsFPo2T0E&n)yw;X*Gz&Tx{w`2t z!+k@y^X0yw{qLyrjT=MkkV=Kktp|o;2gDnKNm*m)=d7G;f?k+ey_FmzyhI23xx)Qo z@a=nhI<}V19&C{h>JOA%w#e!5Ca#Np44H-tW7Fy^qnlr66 zHoel<*<5Vnm`A){AIsAf_!dkvtG_m}zv?GKBvC6LjfTsU*yoU!J#-^_$ZtOJX;I4e z4Y${pw?-Mud30>%X3xDR1l!7i*pTw+j} z^h4JWEYPhQ=Jw7DFNY?&`O01HFv6+Foh$mKreQq9`u%%h)8Qkbb^kx) z5&a1DJgn@CwKCx52Y8h?sW+LXLF$TnRvp9HKxsCL(kvu!_KIQ%Yp5Cz$oq zDo&BrPuVLq5_T{eTDA^AW78`cr_Od`Q{;4^q_jT$#2C~&cp<-X7Yzcf zv4O$<4RBvZy&(P4l+rt)@S5T6)khRw2SMRg zOuZjPxZfzuulBd}riI;Oi$pbAS~`*1)IN6;cV_sgwp$gCePcQ&euTtvD<* zy43ZAne7tO%(gb8kpc2X1NoEt$N9hBKdiwo)<2wn8H0zI?^m&*lvQEUi1zM#qSWif z;q}%uPOJ0O0}(l=T8GpjV&8Uzx7QG5CfFP7XIZx$fwQc!?t{g#LUMJN%X&m|YHq?O zj&k%dhEFL$4oUUeAO)opcoVv;Al&WP*rgy%ld>jUtha-<8%QK8CMo$M2VVQKLBnt% zU`FT@vSDmJkVU7x733iiB?-EK@`Y2M90Gnhoc!h0ct4EyJu$umk~LA}{RJgi!f}cxOaeP3Ew-$_571Qh zKtX<$b{B=Tlm&pVMysjdHb%O&V?pQ~=~mg*hr6!68vYj`2>{Eq+PL+7kXY{33f^e) z|1W%Uzk|XcWFn%)se?I#PoJ-$X?%^S8+L~|PO9>;)kp=g#%(EZ3yUG>fxTh$bhzO` zr{Mh^hJA(cubtdM`cp5nJFW(IC%S1+sBYXQ{g!MnmDv?v1{RTh#Jm;#KzhT$r)UQL zuxH#qZ+$OpzP@0}mS_AN^~D3dYIxg)^wHPg<&+w1p?7Q)7N(ygfy0bT>1T$M*Hqy6 z1#`in1mnTh)v??!eW89SzVKuyN8gg^tL>LfiKRC@JkwQqOIkPp#}p3Z_eki)-Wr~g z?G4?y+gqE+M9#_^VZ-Sv48p$>0`E)j`zX4*i91=o*M(6sbpHyIbxT`A7B zsI!;y*5p?END+e5d435e5552=k5I5qefiWE&s>Om@v~ya%~D@atFJlg>rwSJSAES; zUp%`apRT^D)K{7M;<*iRx2vx$>TB3Qa8aS)SoJkneN9kbv!%wtQhw<*wZS~-G9c`z z4faL||0Cp#hk7Ce$_JPmA(hS>hZUGGtnnY_ukgn%d9-XnkUg9Ld0?olh?TA_8;U<1 z=E^cB0iiOUSpm<9!!s0|6$U&d4&OmKA1d3(Kec7Ns8D$76nw6N&yT}rDY!7MwPn-e zaN$luWg}GjF>!d2N}s3T&Nw_eUKj(U`(xeyh_ocx+Y@8eUL|fnEKZo=fO3pf-SshcL4@`6G z4*e)&D6TM|e+#(=Wa6uhP3)RrO?EKf5m;*yVv=M`*~8P|dj3rL1sZt$l34JQ2}DoW4*hGlKZ8S_qg=scv%W%8ohrf?TI=q*cVCY zE)rH=w?TOrrh_@(tFMTy09w- zUq{F9?4Ob8Pj@NPfw1`si4JkxkK|zOhQdRXws1?k@khJEeUCx}>X42k#(1KWxYpw{ zT=T&$vwBCFxr^hmspIQ$ubrZBpC?txC|_~Msd#D`t3x$TM30zlvHGsQP0>P(u)imq z$%Xr{&aHP=x6&#$qsVZdgX$YLnb+XE;(e{+W&GV)ouO4MLV#DXO?A;rZ%S`SAC#c} zX7`@R7iehx3>6)#fwA~$>miME&Brum3-io2j7JJe*?7HFn*t#l%-24EOJ($l8#6Js zbWWG~$l=gtR>i8^`CGJUL*&X?+-ltfg&B(7xUS^t2coj!HNkzj^&J3?bZ0f5_4Yxa zzEk3}Meg5XReef(w}8LoNDfkc59Rv58AW;mRw~ZaQaElNmPUB>4iGX z@B~0|4|?&k&Yd^%*ud57=eRxqhE3@fwwn^l+87>_?7UD68rp5t2F2I^RE z|0l>dUs4!W$fSp&Jy3j#Z{(Zs!%TxjkVMJ7G4#Fh!UjvUdTUEOz__S17HiF7puIv3 z?$n!T9|LcIefm|ns=d+a)5m*#`X}`(>py%M9A>^JKN6qsMVRiH!Yjan8AQp(xod4R z{aUd9YNk6m;&R}VnJ&}3-X1{1`Cd8^;-@Pb&iDN?-*fQhiSvDJ^YeY#eKNRy&i7l@ zd?!9B-v5d<)rU1R)pLBo{b?wmj`N&mX))EuD~zo<)w|uE)Z9EjCEDSRdu5*Ao4dlC z|5B>V@Z;1B=QBh#yX%xr2c}GOQ>lnkY035fiBl=KH^qN+*`B+w7$>)Nfm`$^2lplg z66YpBU|G*r#%K9q=F`i6ZZMyqcF}-*W*b{p{oqL@`oTZrdZr|V#Y{U=R#Rn+;@dKINi zJ~lX^onvxxucD;M?RC744_0Mhi`jxnhp88zZifWCI?PWE#SRWT8=(oAa=ERZe~x*~ zG*qRXHWo`V`Sb_PspvU|&*cZ_U5V`mZlpaMJk*{me8sJAr`mHXTyo<*&!4aY%J%*S zJApQhE)~yttFm|+crQfVi%(bC0TsuOb5^+ZQO|pF-`D1qJmc0&o^pqV-CJ3xL%sr` zmpfGWm-zcn4-G>V&-7Hh6-f5LdF0KwJb*D~F!=!ahqC~GDv+~yZQ7p&{=UDb6kM+3 zGn$WBYQkyZ>p^*5NQhjEKY($`YT;Y)@y~?FO@sj#&MH<#FCnhnDtE|p|Epv{&HL$n ztpbCB6H**nd9o@@tJsfdsn$0Vz@5}~3B2Xc;M3lYjS#OwWN=?%;0DRF7+=wG;l8n_ z;S(ViXrpTWG@y-P)GZ9|YvFH=mTMJL<*Q}j!E$`ui4Vbcs{~L3N(k6PCq=H7gh>Hp zgVCb$715L+4wL-SD*7NUcc)(Paw{qp9HYw41Q5MI>o(f7j*>e$aFp4LC9S<+Q!4hO zLr|cO{yE)!%7BWY;Pg1na!Zd{DcfvoCb1hpi zqpHnXSiRh}k!X%vQM$E7n|0c}y;&HxQO`Tu?1tOTr|>d!GmPp^#pBYa@b?*G>_13D z3t#c*tK5{#Lf>LD64j!@S_ReiwQSE*bp2UtO#WRJYE&}Stq;4`tryS49rRz^y61ja z@`tTm*k!N60R)`UhFFa@4-=)K^z%>S94S*fw3%n1qYtZUta-9Lv@O4el}`t zOkB)^r+PZ~!0$-Z9?sf=2*rDi2k$k}>(a8v@31jocubIDn{4OmA#&%u-deEwM|xue?lidt1r z#YaB;zRKOOzd9B<4P_rf9)AV=#2#=K^E^mn0@c_~W?}YWE7|x$xXmv2$`8lmsc$tAJF*@Kp-qt>w=#{(aCS(8*YeR$hs3)I-t9iTE%E ze~noOO9)L_K|nqYOLpzQu5c)UP89cto;9Wf#H%gBGJRkfan=i0upGWJX1_|gfBG}u zGNU{(A@p8AE8Yh@@lQh>^Hb3tCU(v5$d+mDDsMRX*ask!*W7E3kw~krp?=U&)S&9> z4!dBWApNB8u7Cz?Tt3w2X~a5*>`#tw_xo}x!00!%-a7JaTv|B;xRp}cJ)C_FxDc_$sO(wtB~o(TM?%* z%lrNzR>!ArwUB9uX;@GA-)?gJK3l*}Qv;X&*}u)otN|2yZKx&`qtLtQT`kNnOL|kJ zHR>ja<=C)C0X0n|6z_tGwpKp+B-8p9?=s2}6%z^7J;SkgV6}Lv@K5n#dTwf=P3r+* ztTq^fs#zBV3(&iefl+#@-E)9@3zm>p-WK&xvp#_#nc=%oi}(!Rj*r|Gp~989Z-t6$ zz*@8+Cq~&@loHzVe=xo(kcgB$)ud#AP0B-gZ~;GdLdfY%@Oi^03S9 zifDYuMJjfAki^+L3 zJ{Ij@{m`FkvW!E*_&Plw*8gP+{T5IkO?COiR2SY0L!GuCUTmO6PQ;1hheDWfdD}P} zpP1d-OzH#+9D3mfSK>17gXpPhF1)z>EiUgAJiF(at?eExsg+{=nrnU=HO0NCrLA43 z;nS!^226?iML82tLG>I_9h61ckBjndE8+oWdEbAvH6ZB)R?MAr3zS@bz9A!b{gcUv(ThzXXgboiTU-x#E_waVp-L+zP`IYOWz}oZXVLaH5coXfA>=ccdP^*2-BYU37;T(1D(DHlsB@jm`fA@f}$!wzL)NqT~q;n7ukB&P{Z%V@u_`vQ8@05$=L@oY^G{XX^O%*g zd-I6X5Eb9oM_3v5{)12x&6O7PQ$U-k-wMfK4zKTHb1J?l(4$msCVpl@9}%cI-(I$$ zQ=3PAlVmV?kJqdWL+og7v7pZ8(R7mxW*uj5HEW{@)U4wMYaQ-+jva8es(Hvl{t2MX zbU>YCFwso6(7Yf}bGF`Pp?SD@G-Z;(tYd;z#~ba)b1me>fMVK3c9SDov@#e;X~LK8 z34ee4Qt=df!hlae%-|{ZgmV}GbvWTz2A}|Uf&&3O+yVdo`5k^!K1!3%7R5=#EjV;y zWU_CD0fhm2r&HpQydsyFWr%5}cm9s3IK}wa<0i#;08pT@(@%Rz0cIjO?&JygZ;zS( zm^H7i5_IM=Y&+ash8{p+;WEV+Jea55brA@se+$%mnoN$0s29%;GPw3K|Y5W<7*Hb3jwUE(e~(GrE1)IqtpzW$g6K zZi(|LLKNSYUygu98wVil3r@<)NCU51rPvERSOAAHE~!w@$`YQUBV0ixWi{X`@@#C! zq5Q?@G4=d~yw0jK7S2%og|HTJo&u9N2|f1OM_6<@ah~F3d>Z=Ghwv1({gZ5oF$PKE zti%Ll66hd6VPS#10TkI9u?Oc$mK-%u9;^SlFiX?(J4rH_)9j_I%xU(oIV{^B*9g> zKM9Jv-R0uXm3X4tbO4c+QVCTve>UP<`A-(!T7%C##as`##N7}DSXVG4I1?FyP&bBK8csntr@StA=6`b?J^$ykQ!HXJotG?q-#r*(q_m+tMP_)6rhlsi(&go$nB#q4_|l~G_cn5y<^7$7*Iwnjp2w~Ksu@LC%ezz z8pv|t*$lS8+m6S6_?4^lGhDLVlywq}e}vOJ12NvTMUP_?zCS3w95*tbB`KmN>4-K3 zXw_-!U!dF^1PX~DGyaG4@E`C26QNpp8KG9cy!j63Ffy-vy!qz7gft6yLRWi;+1!r+ zwVE47Zt+drxT$_b#A$C9>MiXjuY4{3k*M z`jc6us0Q?!pGM*418rrll;=Ol@G({w;`(SIQu)HKiA`+R{B(Trp=UU~53(6s9&4hq zRK2c6ge!Ov1gvWUCsyo4`g4%pC2o!57bHH-{Z6#6#P&q2hz4BqQ&5C?)pI(aa(yxZ z=zJqvQAJUIU@2!={qD}6%i!^l|uGav=pS;~4udp|x5c z$JXE1HUAinP&j?xdNmm@1P-fl@wRa0bhDTE&LB0N(wG|0X+<;|w7bv!VP+-%4^r;` znJOP5FT_pqR!9uz%6dwkG2W6G9>bF-l#w7Qe4eijLdBawufUeibcKf}K`?l~CwyHC z-0#NxCu{TiC-g{~b3iNa*p?eh|D-u^M%@bGIZ#Q6K|}yuBq&@w!~5X({kUAZJR#gi z4hQQHsm&Xhw6hvF&r9(k3gE9IP`bB8AXS@Jos|e-P5ILTftJnAYFr%u1z$>&=@n|p z^Z{0_A^>0<)fjvTs^J1L9Mk?@d7x6qHfl(w(hQK>sAv`U`|`EbkLeYVAsdUP<5yqVd3zGWH)= z;&MUoA`^j_ohntGEnm2?dstyXlkP(ZZc&p0T_aNwluiWli3$vAc`HKf&g=1)SA>rW ze%ur02ue4=qN0?KfR+0!Gta5`3*^9Z0z#OS{$GQtO8t@n2ca351S_H1qW-uH zUg1rC6O$rT{37m#F$-RW>)=q~VqZ9^6axrHxLfeF(z6X}1=B~5j`x@DaGtX>vCdf; zxYvU>JJ5S-;nE7;bm>dh8Nn?HC@!%MmQg0RXKZWdyaatE)1n!tU@B?lSAy!IrWm0j zgpf$9=#PL)#_|G$ydyV3$pCWVHPU|S7o1#r5%z~YAb=Q<7XFUT@|}V9K<$kQZl;CZ zTqV!Yi>G+-IJ779N}&UeEV}3U3zQ7=8GNx06^}~*GwLA;Kpks30?|Yy)eG;(y5OYG z5e&l-VP?M!K~4_}OT7qFSn9-IUd-mOg!D&zx#0J2V=SHChI2b49y z5MYN)cKUI*3b~FX!XlQfPjn!-9Y#;$JZ5F5$FW3H@ww^QV$=#PRY(hgG+1)KT+D(I zB*yEIK?*!u;-0Zz+9p<-*Qn_d_ozKzbgCJ*=OI>9uJu*r(>q%zKSETnAk*<1)kt zOJ0!9r8UCXR-@r5#_2K9wWV{)`=y(MD4BUXgLkB1;9c5U6U|kK zVutwB~RF=ccq2kI3Ng?U|F2XRYKBMf4P4n62aN3 zlsFJ!^BN~_ROQ#Ap5Ba0}BxKo&n^yuAihxWUW?imH`&mboa^*2)h^T5Ot}Wpj}> zLXKCea_&}q%27qsQ8f2%kep3`p&~ondM(W`b|B)BLAJ!AX>6mZ8&N;zLQFoLL1ws? zVdi}YpN;blW8RuZ>^jGD4ioDon<1~fHxh%eHclZ1vVo!R#nteBO6oEc86sZ_9+L{uYAOY^J+ zy{`tnhr&+0Zyu;=M*pJj0nT@m{JzwQbRDgJ0Z?4+fp^;JKb??j+4L;7u0ji@ z2qKd}p4H#fv$!5m&cVRhKt%=eFEMqMqZy?|Wf`ey?F6eHW@3< zGhLV(s20EK4v##j7cPd6J>9d7Tn)8@3nlrZxR0gk@hf`aQ&ie`RN@}nNez%1ymSE-?4D27r&y^i*FJD)r+4|>cwpYz^inqD%0@Vif^gXtkgOR zf1{+7DO@~dOUZ@XrIe$m*Cx6gGx1xG-)8)x_9cL{zY@cW-RY5ZEsuRZXe-vc}k!!EyNzeJ44fVAR9e}ND#_1x1Z zo{72nntVkQ{0F5cSKLc-n?{NkPCu;kpP|rAjluBV#6^o>~kHZ z&L{DQrBc`$qZQKa?3a|pXX+;J+F_}}`^7yrUglw!$eQAIY4Vg=6dEsx)F9!{H4=^c z%Y2)h8NA@J{(iRbgg@hNp}q%?nDp(i#N+=Bx5;>a73ym|`f~jp*my8X--yNNSIrxy zji&X6V=)M$Y1m-{Fs1#5ZQ9pN{xybE<;PLv9vLf`Ykz$aQPgG!FLDIl7TI%~vIDf* zQF3(Dsova7$|FKcztUcx9V?_h#K%2~Rk~U5DO(e;SWfPF=WT0 zSYc>n8V02hM#S}h7mR#1s|s=Oy~g}SxYq&8H6`Sq zL3&?ykf$VVS~=SmPQ5yhGYBP%+W8#ZPa4PE$cH2RrK0Koo+`xi>UvO=Ua!ZuXT^J17rRDb$=Mv zQsW&moCWx#fQ~VU?FU0K6Hd&RphL{Y7vygohmJa=LtF*=23R^- zB0Ex@NZ;9T1f9@SeZM=)R^OpSedm#&Zdl)0cBI{jwA+y&ZK}Q=JL=u<0reYjLi`i= ziydd$I^lgH4g4Ua-Pd8`tlkR_=Pm#FI86HVc5h(6e9Vq+Dbbw*bd7ir_!T2>1e>OC zBCD7s@(w1ybRo7LlcTxHj_t1EAr52XJH!TtgD8;+`5Q4D7DfvlH}iV-tF;|t9x>j1 zSd0z04H$2=n3vbjuyx(HmjT!Lzy-D?2HvG_N<+?NB|7I}dxp)M6bIdQcuj1fl4+){ z1k5_5yt052y1|NL1wR3%%IqZY8RSy>qhSsBzYFZ>9|S7n?{8c41AV4&nEWbm09!q; z0_;|YaX!~~n9;-5$g7C7_=h0%b$_dVe%Ls)hwSLGh^{5jsriAP!{9aSwmKQkdJc^Z z=L9iXlHb|U1^QtKURiGr0db-kYJva(o2NL^?$!0oBSaKyrkis&-HyylWH$hr%r=fE zx~P8Q!hvI3G!WxM))51u3TRZlmECQf_m5t{m|<0~J}XDWRy`mSmed*!&R-0b+2A|u z82!Y!{H^$$vnq2Kj3zT$e_w9mKEaMVCzI{}(YPDdcID}|_V4V%_WwkTci1t$M2ySV z{cP>G;~q=gH~eVajoN>jt^H?8`+p+FJM0+0J(2C_jlQBeKXLqTw&Q+~8f`cHXxt6k zf4m*z)x?2rpJ~mLK98 z^RY!n5opDqfxnsg7fn&916P6jkj=G4b-+SYyHUHJFwhld-7%P7w#_R1E-yQ&rzxmM^n_C~LcHGm6`@I#1ZNGg@ zG@{3^pKNRWP~!Uo@HMj@$`1CR&>U{(QV(>ut)mgtR)OIAvcV#bhw%IoKo%BZ*%>cA zW09_X_{0=9j{(*yf&_j8_XmtG*H3Dutv(sRV(hI`?SuY_xqdb%wsq||o*zEwV#~0L z+A65XC#XnNS(FoJuWA`jnq=-HNVV{MR_+*74mh@)WW%x2#4&Y{)tGhh^xOU}={MTb zzi6hv9O>0+p43T|^Urv`=aFwAEfk?^)^D;dUD_Jko&}tS-2h){gRcP`XC7Qj&IZ&q z|3sDK+Q}H7@lRQC4@q1X73XE#BVTOcLTiD}fn{hrB_xXvonH5?OzZJ-L z2I9Qo3*L&y707#uE7z##_RK1fJY+EM7LaY{KxRAR30t;Rm?3@5Y#R_=fWufgy;p;5 ziv`a9YYq6qp=@s#v`zKtXR86bg0Qx6SoK?gT}jw3nKR7$A=6z&*e7w=I;Q(AVQT=R zj!{c?Sl~|O4$ShOco(vw*{Il)6EVg;Ut1ir65J#X7R%xZf=tj63Do5GBEmJFwL=ZA zW87^|T9d9o;#ecZ4Pe}rh=XF*_!H3O3qYrE&zO8PswjTVQ2Loj#O{Cb)%ptHsRUAO zS!LC*4H4aUNP_3rSqUO{BEhY;1gZ&(;uz|fpy-eUv*Q?^VuG`fK(*122-kd$3fiGF z?!G6iHhO_I-u~Y+?zVVbXUWG=LcYO_yD}b^Bl*m}IgfD{#^Y2zjvDeE&$yE%j)R=D z5{v0PL>UKXvkruP@eUSA9%0+#upNZ;BJABb>|4U}30neK*}*?!1WGz%dFaR4mcZRe z#W6U&kdu{j;-)*PoScb_C@gpf>T}=YR{Kkzfuq9tXQ;UA7LuHcjuuD>aZuW(H6D3VvKPSFc-V>U!nQL%;8 zbu~W2gc0?fqf}p&9Ia~K8C|OSOPiL4F#2Hc(Y8KIM~gWOXZz4+&`Yt$bui=7Ror{_ zI4j>CujE@~kF)Z9sNx>C$EBJ$t5w|H_PEw&+-wzhgFP@iWio}bMnC9F|@ z1`x~s+}i)p{=C(UTc+Zc*xNVCjC)$e{mmYCg&7xSoU~m7WZ^{C;mb#@ws$0K5@DO- zFiBTJ*s?gREz?aV?4N)MCq+GESaHJ3V>q%oo)bovTbN;RHold3EdjG@vyh4EY}rZ& z%nc>LO#NNBjWD`EN60n*bH<0$_nxTs^99SPZnsSV517Cw1!yRs15!qI*1ZCZC}5%q zyin@ZT!?M__x|qSpoZjRHnY;2Z&dtAI;Q;Qa#pP60QVz{vs>ow{)P z`DQ`a3viE0d4UPMOn`e8(CW{N1h`KD_n9p^U4Z))aHk1O7vKQ}{MrOM1n2;xfYGGf zmMw}dWrrjv;8!N_T>-XG!0jfmT7ZcPX!Yl_0;J3kI1Mx9OaUe<;3p>VE&;Ywz>iGe z%>rztfSXL}0ehHd^1lc$R{=MhXVtp}c&-9&H-Wbj zNDV(e{hot{QMI+FO7k}}O`&9bUIBaY@im4lPk`dlEu7AG+5~nLAYYPWAU3Q~UC~~E zFDT%@P2isY$KIDfM^Sa_CXhfFLI(sz1{n+rg8m4I2&if3KnDYYj4HE$C@51J5CSA5 z0b-{S5fKp;hu?WXKxmL5fiTaC12~}|b_gOWU>NhhJyhj%2!{XOyWVAA|1*_>6)r8KigjBh9%A)?@HJ z0iRc}B7^S>xIn?bGbs%8b$h74q~OmCekkB83hrW%-mw75cNO$ANT1#USnDGh@4dm` zApsjJIGe$r1iVebrx<)4gBGZJ)aDQd-w<%Lg7-7{rhp?9Y|Y@m1stYe0|ws`Fzarq z{ZS0QEnv2S=ke}(r~e%R?^N}p48AMiL$ySGAA|1+*i*qZ48AX5R|Vf@kY4P79PQXH zr8$?u4@9!1N={+$Ljmtna5#e>3D~x@q~4vuj|IF}!Fw27B4BF;8!`BafOjicl|lM^ z1zc*SVE#JF`!WIBD0qy)P2&8F?UMSJ0F&(A}EQJOO`P&aknZQ2~7 zHk+H0cdFzKrsU%)S&l&sNNtrog*VGP{R&oB@J9wUO4q3Rb`!i!!A}{~9A&BVi%oEi zf?ftSo+}j`Z-T2897G_G_}1eAFQ-3E+MZXFY{xn?1e~qltqjf-@L2_`Gsy2J_ElS? zU}*-^Mej1Prz#w{Bs4V zPZsbd1;1x7QNTtDZe?(afGreU#^6)|?^N&=23tvIKIucL)9DP}C7?&a1O{6RI8ng? z0Od)L#Cx6oHbPETvK?!*6>zG8w=#IQfXNEdyYuyVqXIJ(uaWEQ`A;d^YNo7$M;TNz zNqOi-{p zgU<>0w}SUDI8VUxA4z;0F-RZnLPE6_tjgeg0h=nAznpUPf`Hu>JjUPx0mm!&C4(;t z_@aWD4APATB=muT?=$$4fa?{U&)^~fKUXlB!IuR*t>8!oUlFkS$C9Jo48AI$_X7dj zF}PU3`MSh=D}%2I_^wJ;XYh3aKTxnVgVzf9StF?oCzeq_t`qPh1rIP-UBK5A%x3Tn z0W;P4j~S$QmLMP-6bwdq_xE96<{=jNdm?z_%MUX0`^w01B1^CI9S2k z8JsWR6AIR1@C5;r6fDbNcLASM@Xw``_Z|YySMYlV2MhS3f?FA!F5tYH61rs!rU>|| zg0B!rgSA4d)m`uo2y3;vEsmZ3dnG;1C6$ zWAHu!A60NFgYg26Rq!zeI}12PL3ww67XfD}crQ!dFW^fG-ojv40Y6f(8iU;gT%}+L zgAWLptza&{f4;kbTNM0?!5#u`S1^mgo&xSt@B;>W3Ak6m7Z~g<;0^_+GuTJK%?duj z;DZ8YDcFa>hXh=sV0#817I3A4w=vjPz@-Y(yYrp?egb}|U>Jk+i9%E`zk!?XaS#8(8J&u0mmpfkioG6CMtLzgX098sbEV6 z69k;AU_Ays0=}$ZMFz(U_>O{q^ZV*22>8B&KQlN{z!eJaV(=*evlR3*I7z^r3ckVM zWC6cca5jU90{*PvQw&ZK@HYjAFgR7fJO%G(aGHP>DobT(&0vy%Hz?SE!DIn%S1^jf z=>obGJkM{HPZ6-Uf=3xl74UHd_c53z;1mVdFgQcNISRhb;7kGEP;f4TvjkkB;1mYa z1>C0Ka0Z_i@H+*&Gw2oYcLnbukghMc*lPeo-j(6OjV!MdngI${0!S|q9gREI7vu37 z%_UfhOvx+nm{|jNgXv9SX|)#X!~NC=_6{H6yML~8bYCCIQ-{&JAkb2 z4mQv}mF26N^3S{{PAwyOUu51{!`2(hy&&9oCbv?#$--rt+z#aifXlfDPV&u4+(d4+ z+}hyQFi>U&aCzZq+$WC!b;Pdch`D63SBoC|=auVLvko1?^-ZcueBCi#{fFhN9rIrG#PuLtAyNNK~x|Rq`W}mmivTjA7otF>)Z4}+tcgRv9rZ#3mj=x}o` z;FWj9bS6;a?!qqgnUdkP#IQSy- z&loYPq1gQ77wwT;4syAP__f4*Ya+8F6#^eSo*I&4CCO2QXcEa^Gx%ZU2 zNw_v9w^_OJ!qqXkgUX#~$aybqawnAgT)1CP8*wS$Sju6Aa63%yCgm0i_p!;%Rc@+q z&zam?$_*B7g2^>gu7hw7o1Eq6Ey8s)x%b|Z&g;xgoWI5<_mOf3!6jdsj%q)pat>WH zt(`nHc915x>|->oSZWycrddt!W5PNR7HMNF*O9QZQ>6(eBx*BC5KDuQ=xUbu8WN~( zhyF6cIu16e|LG|1W}Do|JA;@N#Qa;Br9sR*Boy!pvml6BNIGMLnF_|f8g+vT z_qfFIzL94>L|l1i?Wa?$SbGVh4Yq;T7^BU9_ot8<+Wm!|b4E98NPB(~$rE=YbGjMt zapIn`xgVKpD|%gs>t}QCGk3Re&4_a{N4uzgoNjG4t8M%B8DYFBt(=WbgAIAo=yamx ze|N&jY~Uwg+%>1sjYzs&InvgFK>R!WVa9*pn}}s^iCB{$rav)v3sWVC=}XLw!sMMa zt-ZGxOgUkG2x8tL=J#kW=jk@Fj7a<3|P7+g*{PMqfOj*Qc|O_Ng# zf25Oe`0lYw?q|8|E&ts}|M%CWM!zI!EHJsl%1sk4(d52X?h)Yzn%oZMItu49xh={y z7OtVmZB))7Tt$;xuiRhtITj~R7;mVktrS}_N>;zwq{boeL(%UE8 zZj-b0J{4}M$ys_Y3OC>6(lrlLgqvh?Y03=}uD{78D;FzVJCmEDTqEIbGC4~xQn>Oa zXQlT?UC#RnG*P=>w)DOPmwbszYRYKD=W|nLsB}JoPegy6$<_NnTH5o%y>4=MDEE|b zGfeI-<@#~D8>j*LXg?9v6H_i!^L&Tcc*x{Vza}m4dg1Odxm9PSceq%G^IYHLcB$S^ z!j&<(Eaf%{cMP4D9joWn=DWfjHMtj6&nMh=lY3sdF~WUha?dK)Q@FV%XX)J~+<23- z^lA(DkjYtkp~Br`a+aUJ+#qo=xtGj^i^5#PYO$X|ak1)Wq;Qi=KdpNGM@`o2Z*m9J z&o6~*XL8>ww@SF1OfE;cmxU{Da#s6G7Vd~ zIuZ7Xjg^Jw>iYXh1cSBuAOap+t_{g`A-O>|c0XbF6V{n9Ut}-S z&oN+Wq@ZzWZE{a2r*XN#y8(afh!87tjY*IQ*Z4qB`GQOvF%OA7?tKWFR)fcW({ zbstmvQ%Khr+0NvKDmTcs%jMIb>}HLz>cG8})&RmjB+M6C$+Y2A8@0v$pT8Qhyj!_Y z+x|6VYYf>MWZS=vu(5=721aA@gi4a5DV2C#Zn%s-69*#g4Mz?87g0N@ZoF2V^Y)g> zomDQ4IIiD&s4n-Qbbc9ap+v zyTSD9HRZyED`j#oE0=@xWNuOp^}(7QzKbO!csTr|Ir3lqD&}*qUB~(F62$B!W~MNU zkc!L}Xhu1|5(fPo7tAAqn0dsEklYRrV&)RlO_(l0%p79w6sAQGGn<&&!qf<2Qi&-o zOh^zjotPZ)`Y2)wcV`01p&ehzm*{pF4}aPmF^Z|z2^mT(6}37h_keQqg)41xU6h+7 z+^>fXo1K*F4^H1B>7(uND1a@dT=`d}inJ6P%S>+b>vD;#A>0cl_d41TRozS1a?wpT zx%tZdEZhK-qke((HVfC@G0nhtE-gt`t&f~^}eBm5PXLf-e5Yam^!di`{#WmFA zwTFzHxzk0n2WjGcXC~)Tu9a|UCTHo@67DgRi&wo6;X0dKSLKdW;q-1dxgN@G6|S1e z^-=Bv;<#gfYZh{db%KyUMdVPhrG)XLc6pCm*gC>0lH3s++fEoiYPZ+Mz9NhtwOeCj zKNH4}+PwqJdep8e&_a*e9YEn2kJ?Rww6#g$N%%-F3u%eyJ2Hmh3~_$(N23guKO<$Z zw=&0MipeceZn;~FcCBpatyLcO`LReL@*UHAOC5#`ii?*>Egz*D* zQH1#-<9;yW>2gSqsByW~SJl(F95A`I+BgMC@y!O$yHZwzi`PWS5-N`a6?TlO1VYC#hIL?mn7V+CTHml5w5byS$b~a zPJd^_#qzU>a0g7TmiiJU+**@ssN5+B=lwO4YoXjX!ljv9E9KS*H^$_wa#$=}Pm{Cs zQiXGxoR!{i;To8nRetfp{qe1l_a^E~Q{lcexw^_#6>gQuS@F!P#Cd<&JK>T| z?!s{y@ni}&)Z|Vo_oi@hCU-=+S;F0Fa^EO7Qn<<{_nmTGg*$!F$onDXS_pT*wM3PY~`dle6k)AK_}7oTb-RxN;_E>D3kPw{MJ?S^Y$qaQjTo>L&sfIPagD zoYjtY3Kx_=tN&agTu}Zjy?Md~<|=ZlG}C zCO1(zmvA{>8)ciSTtne@ncN)ZDhl_B$t_auWI4|J^CtI>a{GmQ%H)|H zNI0j-?NlyFxCSQojdDYTi!-_G88SX=8o_?vYI2#%RTZwX$t_nduPp1G{>q5iJIZ}W z9FL{?1Ca;z+YYqGQiBQO2lgA<7|TteF;Z06*6DK`upk8&NeGi9>S^h?9UIGtwPEE%e5a-)>1AY7hleuQ$rm*GHsXL64!_l0no zCijSPD}{U0o_5SAvQLaFxqt$=xSr*3Bz-IA%V6wHk~l~L{p%ljm;(u8^2NiZLHID)ctoa!2Pe)7X_PJ4H7m}r=#DsB?-EDGt%0+|Y#k$nGyhcS! zxDH=cv3AWq!&)z&+${gIG+X<7ufaW_+*iVVYjRzbTP@srlk241E5f~Da+cn7;bxkg zmEJJnMwr}q%-d)ksgrQ`o7{BeZWFG#$<0u%ig4GN++5|(l;XUf-(%$c73B^J_oKb}S>o#FFb_-#=Zga9v!MaUfq*7?zrryIr>oyx8ZLQnffVNz) zZu7ph?4NcSalSA`%Ah*s4fB4J%Tw+`KDG_}BC|}+(mN#FzfI24%N8!(`*`uNjrAgo*KOw6*h7Tz zx=oUe^(TziZARMIV8VFarVnAh$e?)k1xu}I>m`m^P(1r6_knQln)!=YZjNw1lZ#O< zfjG|lnMC-&FGkwm%gXyX!g!pOX=5zM`#*8an=H0d@D44RF@~7mh9zR;1LlY>RLi zCO2W4MD=~)Mw{FS<(?6)hspg*ZH^PJmC3bNz23srGPygIYa?8U$yHFBb-;1goi-U; z;iZD)jK?7d?00L|c7Gr!k&6@USB0W9XrK5?+Yu*Uc#{XMqFRU*XDO-=&U5A2x6PMzElMv@xYtZQE4_ij1^L-WeQ^o*n5oxS zxrV}>Ho1YyRTS=alN+Mk$+MjIwI(-Qx&6YO-D2d=O3yD`nyF{SWsz`Mrk+b}CJEQs z)N7^O5aH5Iy(Y@Jg{x-j)m5&EaNSHjx*tOIFG{%YO)f&YQ+b^C>rF09xo?EKxY@{i zh;nO$3-Z&_TP)nBqV!UQd)MSH%oIO|3wMXGjd{I4*o)s)V(I)dT4wH1B@v`dQw_l5C9S29exI8>>QcjPL*3D9QP4 z>?Rv~)5e++HjL!v*w{TbmS|(02z!*|hTB*#8|z_Xg9#f>axpg6-^QBQ*h7RpMsn3{ zjO{TNW@8VK+~Xv7va=O~E;ja^jj?|tNN%f*bs#y$mfKi6!bXzZVjE*Q#xew3{R9M1 z9dYR80%_doZnF-*Ve`!r*uaX*3ibr+gMc_>ogW}GXE#c7kMDd zXfs0|mo_^3l=QzQH&D4A!o6m4mR>92(oAl+>eUkNF_RmqT!?U;O>VSuNB&}8Za29E z<+c*XZEeG2$QRF*8pd1YxSKGZD^<0zgM{%t?hqS0N*K?Tj^AhL{z(|mmA<^xmYLiP<&OQyIe)?AmX4MZ+AZ8< zllw@yrNT`xIZJQ8a1WcDr8h~qdrj^=wb@^|8%^#l<=P2X*5qDS?k3{6gceLi^mv#) zqmvcoMTGG%eXNb`9R-Z{e;~Cdc!hDgV%={b!OIPk*e{h*}H@TzAwHEG9lRK!~4Z_tlx!uZ@B93E} z3PfgHgKfWN5ymsFE;hz;JmYF@V@V{(Gp?I}4njl^88s#CLkmFt+!uf4+c^ZB*hOe?S@RC(`5pGPp||& zB!Nbk37oJ6GDsi-0`fG}%OLFUK#V4CL@X5#Jt_4pbNU^K9>m>mb7{=gLoU#%wj!>% z%_TEeU$|PtT?fv3H@{@*mnW?^-=D7ufeC#J=Q;Z>YkqN%1bSU2a7}AVU=<160ReIQ zX_&@K?+`oyNWpiDSnEjQ2bmB&W3(j*5yCjB_z|MyX=eeHkaYqt(9|Gd>p;i>_ ziIQ?-;wsrGA0JIA_Z7}T+@I|zH+vA?1y~m;*t^#2H)^YdkB+yya|Hh$8&3+7zv&8i zB^#f}5uqkXg?Q$;Wj`4I;R^U>8&3+d^O23u3c}|zPLBy@(h5xik`0{UT1VKT`*6F$ zL)gzYwuI!KB5b#fEhlUeVXJLyi3cN5T0{xFWn;?;W7&l9-HXR< zY%gJa_o5eL6!X4Fx1cPx=UTBE5`-_c@q{3Jp^Ya7;nQvW!Wy$or`s_+6@)*21^fZv zyqJ-C9C@*B6dlAdt|r&7vQ7J{We=CDNd%`%kzWc##%05)R{A3A`3?C+14aIuW7d`8 zX&|d>Q?y$_USGVWpX8ZsbG5|Q>6M19B(;@6wlMxPxkTkg3rF9bv)4x~y&l57W^$>j z*GjlFlbfYnE#V$BxeVn(gzIc_bCf%hW99jW0mw6t@m$q7ezj&Y%_Vi%|M9yKOOiI(Bqaep$FdQ__)I1#Yw_UIt|t1IB^YHXL zKWSt83FEf^kc~BjpVAL?u(2kDaX-|IF^c0iLHT*>S1XRQg7Dck9#POR(f=02B_s$h zh)Xa|agjEkhoZCE{81dEZ8iARXg_<0NQqbFlqr(yfJmE9xR=}ft;-GhclwI_k)u}q zpASUZybJQdZGNH6H56N+rmYOMwSa8-B7a$Cq%%voMB%oXoTWEVxDQQkj_SFDd)DOU zDc4XqkI5}iuA*=cn%pAgPX1!$`PjqAGq?G!_gJ;<3}M{n+uB$uXiA%JXk(QK<9S_G z8>>MWxA_noyNNJv^T+QlX!CuLN}+jOZB#O2Ubl{=FMsixJd2TmCgRB8msj!-Y{3|- zouLFaF2xw5Jmu0Cxe~{AFZ(p4XdH0j2y-u)+={`%eJ$YggK!m0?k(kRA&z_1MVJlB-0$hORw*tfjOTvi zZEXJ_U_AF5Y-8UL#&f?ez|d@dC4eS=upMY^%LNGLx!+ATcAPMt`&F^AlZ5fy?@}Af zms5oC-0v7+zQ`LtG0NnXpJjD&tmL(~nb*&uN#%9VVY-!6?OUAM!MhED#MK7}n{`aR z4XRg0xY8!KLb+oI1I|^ zr}q#cv*Uge`v)Q5^sg0gs)CysTqj_gK2!C;nvOBEc$;06IV zDcG06jRNjfup@)n0)DGtGX^&actXM23~m;%vNo0o2Db>7JL>OfOGKS{m7-~B1?Hww7%I{|-YFj~OP3hpA1ZW!a! zBn^ZbF;u#lr7TZP6_w|Em#rShF;VfsIJAa z(|^6_9R66ku6As?hJarwcq@Z71^mS?)~hq94XmQJ?$Qiu11qcGiGCCaZD60P`T+*D zf&HdK|7-@efdv%&m_cn|8&!QFgX_hmUb;G*#vpCaM6kLkIGVvM0eb++NvMCh6l}JZOmkNLRKPo*knrEY;3@$-X|T&NNMmB8eK#a?s@ch0VVrkB^;?=agoW(%(ioptrX>fs{9Nq({=`=>;;(flCAurq3pwP z4kj>C)v)1@YSonTxs9blB#w6aKNBNwspUJ!GS$oA$B#Rz!o5yEJ-LNcH+?9zCyZUW zQ^2hX{{Ap!PU~j-Z>9De1nBn0M-O*5-x*l(Do#?eCp!E0@AvS=BMxUs=|;|wXZ3e% zS7*rb@y?Kg(~AC`HP;zZ$LkE)@uD-N)8@0>@T1rx;eURPsZy@}9|UQtnx?@;F&3O;&2b zm#wDcXDaz9B)zet(lQ;hn_^FGN?s|)?0fN0M@n9pBkcy+WjiFHg)=1|`FjrA#hmi( zv8nY^+Jq$3a<$1zxK7CNLedAC9KHcKNgDe81-!bYTk~!>ye4xMUh#s1nim|sGgF4H zPfG6m1>BpK-1%$#3r!lj?oiUu&tlx^v9Ee#-);~Zb~4|czC8L6lp;g%M9DD6wAlRg z*teUX@y1@4a_E9P-SctrBJ=mu!DFtTkJDp!kZXP< zTnfY*hij{QOYBA@hb*sb0Lyvlo*yf0-4c5^BriWdz4OYLS)O0<`|Xz4JtP%yR>;Jz zwXMEh)dLChvT*nfeTcQDJAGUPa`tF5Y-CO^y`_B=@*EN~Yh2ab(r)h$Zg1=~`Fg9j zYm-3EOz5Te`#o^FJlk4LISSlVV6A1~TV)y&Q;`^7wGrofpss8UeEfZ8K0XN>?~8ra z?cGb;Oc&q29*&%J=Xb2`_U?9j%ecM0tLJweo;0mqi058D-<{vJ6&&^4?)Ey|-i{IO z##!#HywdIkZeOh|O9J1Ly)O?o17!}Z&ri*Cq9RT8EGRIWorJ2(|oR zve8z4b4!a$UdAnMoynb5Zm4jto7_d^;=u9aOz>kHF!7^%;B+KDl}nE~0pDli4+Opk zo)bWAkY~U?YHd93{KSv=o?v1GJ&{09F}=>5KJMI&xPdk|pSgNs{|@3@HaC~K`odjL zTtk~X`eP4lX{{^V#UH>`w7GLp6qj3t`-!-dWi4M$Fn619n~2+QbM$>}Y~2^`UE=&U zca*uN!ug0>WOKJLce`+7h)c3L`mVbD!OWh-4FQK1m6im;dRjf|c4}TOepBbiD1PK%^KKxojFs=*%;~e+yNLS^991mOO-SWm zPt%8H_Qd+`KgWLH+4$qF_=)V-NcMJ0!?!3p6Sm{L4>yeSPHr0KJ?tFd?B8$W|GF#X z{~sB4rzb?$?b+Me!@8QE#MPX-Z?`u*?@bhU^K4v!(5%Nq#Cm_iwLPA$?Pnt#Y5nkw zn#dO$(bX}g`7YxlS*OzF~cVDjG`>OPh?99q{Cg;mHTLxl880(##imC~Fh3aqFtFku_ z_F!U`n4owU6h$E0TM!IKotPr)zvzD;`Y#3RrxveYRrLL$|6H)Xt9bqWJJ|m=vSmsiZ8rS`mW;j_iyL?Hx&JpVE@C4*Pkc) zJH`J(`q}Bl=U?>q7O9_Fyna>D-(RG@t9bqW+c^L9zz*V9$p5h7_2-HHcSY)F&niCu zqJK#A3zc7L@%mLo|45PguHyCgZ{_?4iqsD)UVonGA1_irduH+Z7yXk(>Zca3Usd!^ ziGHE-a}}?@e+%b7PxQwXs{h67&x5|NJyr-pC*bkFH(&;{fgvzMgM$em(b>kJaXB)^ z<1c#3HzlQV<%4?4g)<5wRm3&wHu3Tu(G3sQ?f=iZe{SX+hDi%Alx}@PcUV!^tL35{ zA=(v!Q$CVb;Pn;y_XN?WhXT>Q3hBRDynYMOr$;U?*B?^6{;5qU0t^Wfdm#3s#Y$vw zE^aWa6cPKSu#j>-%yW&)*M2z7(S6mb!a!glaJN^6jMf#^_e@1RrS~NsVb`G}h&f1f zY9a=kG)5d8ob(&1W&n%2KDIzA7-`V>s(-NVqd~e!s2WA-pUP%^8tC>4*1!3x^p}f1 zjZZrS>;IZ!`hKPK6GXo*^zRAQfBUNRTZlf5PYdZkdR6+THgf)HeAzNM{hO~!e>v+{ zg8I$D>VfHI_Gt)JWc(8({V*7)6l~z_AOly5UklNXfc}}_&gs#s(m%C<^IsAAM}zfm zzAF9YqF)vIUj^&`nrsH(O8zH^es$>Y4%UDBs`OikenaRNnx8y+Rr;s0sFlVJOlcM3 zK?nUJ7DLg1m%$b4puYm^OwONJ-&Jdx$R02R^#k#~eJ*4AQ+)e5;B+%?AqUcf2b7{h1tr`5b}2g60FS1pD*% zw1Oa9d47@#dj<1>=YmZv4>D2Ye8468I-cJcte;T4ewgU%c)pN+i{kaO*R%hbhzCOY zS#bKNrkWur(*IP^*YSKI{pH2$yF{PXBar^a3PJTSp?Li;(N8K;zeVx-+3Ps}8Jhp# z^iNGGKL4Vx^MP@}@mpTJzDx9VK2S(Mp?Li;(bxGvA^jG`>u0a!{Of$6kp8K};`1;1 zIv*&czr1*Tm*^jo_)iXwUqbQvVWO||fkOH%ir3Fx!}-_wKq388lZ(&4=<9r-kpA-G z^kUkJJ+CKRt9Ci*&4`Zid^%q8WlB{ZEBH zN|C;rl{gWBXoUlm&DgR*W%IsasE7f@z2Zb$(S0&lcho=YmKF#2#%%_@%fspI&<7q& zgcS@@y7KBa?!z?XssgeH-INJjZ&)4XsB^{f?3;e%&)Z=L)i<%&_cDtE+2WQ7X0WbQ zUwXhE+!_vh!-DfU^Q!c#ivCFG_Yc7iv1nHa z*6v|wUtvCeWCf?bMD$As>sKva|4q?fF8b%o1Xb((o`RfTA^joH=g?NMLVIm&nS8`wNZ#2uk?Km}29RAo|w&UvT1Y7O&qz z^sV*3VErM*>!13BGq3kI-Z&ZLe{}Ks%b{<#=hR$j&#w|FLp4Xn_uN^{rbS+~xOc;X zdc+N*3nElxf7L_$bBXp#!P=>Y_7&P|Rp{rI({3d(7Inlersf2jy2~*2PyI*s5~+U) z)K&2-#-yuCn+mglD4W=wgTF{BUXtn@oYd}71$i!_Iu1q((CsR^alyKC4c#K+6;1wm zXY>{A_Rxl{9ylvJ3YpOdAP+?DF>Ds$&*vYr#o=P{F0nYUD2qcZi^re*#~dcXBD@+Y z7XKBT!zGq3)`Q&nTawyhVd`&eF0gkLv?G745lNLCsd2ZO;KhJ|)d9M_ow3bfXW;e+ z=#6a4qbb+!ipfQ zp4fP)4^n&(op~ugAGrU^S z6v$1<%n!WtEjEacCe8HNt+Y@6%OP3V@S92dbYpOieg21r6OHlpP`s;lOKe~iPIb?A zI?cr$QDBq!sIoK35#^ras2n%P5f!u8QQ5f|=Sy(D1m~GJ&&2s&obSc?A)Ft=`AM9g zbf+8(^?V3h@#(P;2n8MmJPLAkAy*gYO>y27=P@{s!FgAlcXfMX2D;Oo1D&(xke`9C z4QyB2a-KPmcWlCgm4B4*$ZSZA)G}*P69a@my#3e`M1-tGGthKsB6~K zoL+j*yg+@!>BZ#q{f|&79HLSfD5cBmHK%_WJ|Q5RH&)KV zHxj;og9h2>@SOtK`1EzLu@xYtR6qGVuiqk-lh`K=iRSnm45jjxNO&S8fhkcW?vD4K zQH||axo&IPV#vg*C#f@SHvP&Y6L#A90$8yAd*`p`8+LK zOsNu29+N@~&F=M#_|s9fAPwt}e2Y9>52eoDODtJF`TQKxjm*6Xka$N?@^JvFwf}+A z*%LVWy1H^>K_FFRuZnC`5znm!Rz49c{eBcHi!BkP%B!Q1xx?eUe~Sx=h{4@(1ztuT zVtG)3C!i9qz9I}+6B$k8w{UMTDox|G* za+V1&iD2M7Swi7G3w_O-r;L)89=5U!nAG zU_*5a453gp*C)hKpfapD{ZEKeqhBNx7Z%g5rHP5n@D&Bw^YE%NKZ7YK{n?_{E=SZh zft1*#oF9@fB4-z9oQEY0#NSe$9?9q5M42Q$5bsT(t=9L1cxtkP@T#X2R>Qx<(qy(Y zH6p~3)*K8;IZ|_BPD{{7$2p-wg?j3^z1S*GyEJMz{rkkJe(F?Hm|~hext={i3uI3! zyJ}$21V*T-YdjEi@fnajnrL^ z&Y37ATyVYt;dXT18+ecG__vDj*H4J?=NZ&bVXQqVU=qNbA8|dDB6VcMqEB%8=_5=? z>1_?rL+V$;#N_ikVKwn_r+b2SqNys>+peZ?=q{MBnK2Q#*js z4W}jPaLXtfI2%R5|`-Xsyi`3i@q_sd=LCi7F(ZaZo3dc)!#C zt|a@}c{o~4Yc4dk;1Vu~<^)R<-moS_(#4x@7e%B;(cTyepGb!qk}nE3S_%-M&WC!r z17dS+cyI3ILab!l$rXV_lB5wFEGr`4zbrwZKAHP^^vQiCPk&bsk<}2PKAC&CYbi#K z)I?ZGK2Mt?92v*a8$10W_>1^At0+ooP->3nh#FK5U6((ni+B0Wb%%aR0#8*Uf!%?6 zr%;#iFrO3HV~Ry8b}O(46+8PE%Oz9=)>*M%6bp}Ob|$xU%!*KOPUW@<$98X5>{G?a zZau|bQ|x+Rl@;?T79QK|NN#E8^3a&nGmfDG>w$YDL zemd91r9U3Sy1J`F5d6TwhiOGDwr<>(Oth-}BJQvBL?5;%Fmw^Jm9ja)opLE=>=KuE zWVD-W-{V?A26Kx0^Vh;e45yb_WO|QZWqPMyveT=p>BXiVLHUe95}pCg&rmYB$GV&L0hD6dV{R=rnH%EL7FMjpvEZKg30O7 zz_%{Y#)Cla)I4`2pN~<6n$nGwTQ3UVy{NsQj=B=t zYIowuZS6~W9Ci5a#?Yiq-B02_+|ADx&DT|v`eaUuzQJL4MN4jE;klbd*kcI?`(^Z9 zNq4e>^AAyQSqkknm~EUo=zfOoipF{O2kMcC|7MBPyUnqC#K&A90tEItX2yGmzC(ld zuFe!(e?7QPqvUQ$K2K4cT9K~W31xtVd9HQ)?r-Y!)5p1x!83RC2?=B`pmD>HRWw0a z*A#yov46Nr|Ltm%;~53qkxE81yD@CIo;F?dD9_Ng3#Y#o{=(kuyJ0T@_H5#2A=VP{ zFbL9jq|u#lv54=l;TRoT&hz+BE+$aNTZ%?Pu>U9uv@r&EdNN$LMLH8Ikaij+iK7eVl&!`W$i?O&OW1 z$_bd9kdsrw(S0URG^p9xvUzPGJIs!QMVmoE+NK)cLJD_40fe+oB|ajemSqX4 za_it!5fS=S8eDq~Le$}&nlD)k_U<;Pzoy8&sB$|YXS;ldaQ~)+mKABB6<4iPA|nhfqDF>e`Mm~W=?_JpIZdukyd)aac4^J28`0EoUW zqVc|!#6ja0t|4QgF}0!7ub5iEM)sZn1LU0FJ zfoPhFPJ}3B2MtCRHFgJvvPmeC+#S0mQ(YO<4sF4sl6V^i9}&qLAD7xJFIu39!o-M> zsi<}pC>y?NDd4&NLrJbsj*R!&rGC=VmyQqvzdXm)ye`z7{)=L~%vc0qrx0!?x(ZQy z9EfE?jAo*_5F?3LD8vHO)MsNrBny#g60Z|6TnM^WJN+HR)MI4oeh^wc`{vf=;^Ppf z#bOeX(~M^l)Jz;1*`$>+B@pHI_1r79hP#xY7p&exHj?iG8Ed zXwj8DqA4Z9P88X}Q_-<_0S4P~JKAFOl~rVMSBty1K}Y(;F6zRx~=6){?6I0SW52+EOBL7c;O9 z2$A)Efof;L$2wv+yB)E6Nv0v??DE#UDsix8)#*PhCDeN|Y<_4d;5ts%s3|hO(8-w5sniyw)`?J>Xeb$jl1Un! z;b;~pRJhdw(i*Bjds6Zr6f+M`DIjiP;x5s6U}^zT83eSYm!yxC!Q#?sNI!2*L9shh z=`(&>^dp`A+a-a6NdBVQqeBvC%_JDWa^g`n5{K6Qq0Ow2Ytn7!hW4fbzpbk;4_q69SFadCg3K3VvjDE zRMMV_SV0lZPa%{$$m#DQr@K|>Su(^qu#=)84N9Tn46!V;xS=GRs?x7QTGui`YESm6lGB-7h=QYW`Yob)P|2Z8S}PNG z3wc^eH66`i{Y z8wZT*EO)->Z@Bv?pKGo6AqmU?D2ZVZr;6!>M!`f!JCtXYj0S00l0GFDBOAKZJ2IX_ zC9)$vOBMdgfPydf(z}=&=F_X6XvjSo@|IRVXrcR%p}TfSe4{c^N*2S2Nb-|GKRodYei~w6IwqR zZ5U)!o6$f`u>u>_>Q*ydG|qU*4PJnS8}bUGYAuyK0FvFWDJf2=8S9I^1_>d5%^(x- zv$o}o4lG-#_Df7!ZTbz#%w+9brjluE?AB#dS9bp~NsqqAc%^HIgjwrDFEool3qwiD zn@Z4Q%{U7tU7GV}Nh$wn&KbsNNnFr8pUFtzqI?vivFEuQcOswLDW7{q+$_fjk|}^Y z1D}E_C`VoO>xtSyGXe#zfx4!`H+Q3PL+#_uK8wGX5u14wdYv6nH8-)^*Nur1G_*v z{n`oNs-T}W3T0&uXMT6!CEJ`M<12RQ-}sA=z5stHy-5(rSpzKIM=^hi9j2JipvKjg z6I>xGEi^nG3FHR)lRf53yau(hF2W7Xi*@I2A^9<)8K^C-9#pf(o- zUN7PkwOrn3lBYF@P)BiLglf)abGkzDk%CVJnbU#hJ|+9I1~No#pviif2zO)+t{7F~ z@p)bBnb_q0g5H!iQt!*rgyr%9gj39XsJ27cjI~l)U&upB9!|9y=s2VB zFjvHXf_Pvh$@&%91B810*8yt(VROq!I$a34hN;p*B1Q|52g|lbG7-JmemPFNTK;?~ znsy>B^F}q(ounHHA@dw1S`!f^L|xdy@JFmU(F+FtPGMJNQm;fqB7P8JG;64--%)b{ zn}m=_y=t7HG(Hd_(@f)gBAydMCiSY3O~fP+T3C4ceIQ49N+@ggpimkaRz}5T$pZ{IYOb;wSdD+IHi=m z3k!(tOuQq;$1ae<_|!D>vY4Tg2`nK(jNe2=Eg_@?HRBhlXiEzrC8!#wUIcM0nN1NS$-vaNMC=nnN>DX6 z5a9=5T?8Gea({azxgwKcM~0uvW45?8YB817p1^cyIsE}1Raaa1l7LSzI8LJ8;B^9b z2l_C$TqG9*q^_<#K;&35c1;-PIP7hBbBhp?F(q=}0#R8A$=KiG%!c0wk|K6jS1rUYvV@3(ONjyi($BA|?wVUMUex#9$D* z>QXr;gQF?amq|Ew`frpN4f;?5*8v{ zVZ-eEnNEKU0JNhwV2CbLGuXOj=RwFSG^%EL|kA5sDT zX%k|M+|O?QIkqBpHS)6_CLxd*-G}dYJAEDV-#w3UtfxE&B()NFfEVArKp=*m`51bp zeeOs*4LzKdN+=hLmoKLs#cA_zosJcITyV_oTpIx(>!%2iycN`D&{;@3vvuqN zHH2Wb{XUOM|COnuv7(z+EH$fgsZ7@_XJ~o638_@3vwT*BGwd?c(03+n zEfs9TnR%#`3(~MPtMX=NXxRcaNiXyA^h#yUsw^o{npa3|=T3@m^`5=xg9h?kUCQx+ zc$n^1mp)8~EuC&}YIG)MVN~Xr{59lHS;TsCI^#i>ZWHL6G}q80Ti*NdnV9YFth1%_ zx49oV8`~UTENF4g?Y#{fNZsCDfgX6`j=q1>CN?6WLA)=fuHvn+j~1VRsR9FTcm5ts z#3S5k+dP$X%j1mJeFG4QQ=b-bq#T0;@R{s$259SFKwG6brt&-n%~vUPuIYc zsQd@$m=F56y~FX_GXnF@C~+_xTC-E2g^g=&Z^difUMM$oZ{ZL7U=Hd`YFmdsxR5fj zE_NfiBgTfgy>94FtRCn6+TG?yygDJ?(Qad4$X%KF*hW;=-RAt*QsZk=BF=oYgxDzT zH?Qk%yaClK+|}k};=){LhDBp(otD_^I=x?Eg*AUpfE|xVgfSmI97S(aSQNd4z?AHP z{3-=ZLI?cc{T4_}cc~2Yt*VscDEsjG?d+<6pdRS#{fTNpU3}Ui(A}e@f3k4tQ_*Yt zL;0g^q5KbAR{o5)#s=CV%0DW%T=Q*qeaL@m1r`6)gUNvKaX#`FCLY@&GvZjws=R! zy`9rOPpFTjmZ)KKoUJOOiiBcs*w(mwd>Sb$&buwH@s7AQ+dW5$O48*G^_Idzkm;p_ zjp;6Z*@3|0e;}B?@X|kFwJIHbES5sD>t5z|&OPB-X3xDLBqS&s++T99?LCOTFyMfA z%Hi;&^WmPz)dR8CL2G8^KcG&UySpuv%0G0(Y%jQfXo?lEW~d1Wz;37aY`phepo{}+ zQ8=BI8a)g37Xn)YbIUT;G=^{&R)Jo_Ql1JWK`1cDI(J1+47>?xs2vJ428x5sz;qlq zRs@_$m->6E#yVC^2#v$SkN0=)n&>%D&utT%y3Kpk>kyDOuY*5byItU9f=pekg|{_eTWBg|hCBczlHuSQ#-KAAWMU_U1Oh z$wN5Ft;<1x#0MhbWC@K}Q#yf+l>LCq!FX<)9Jfad<=9goj0T3-N?IeK8j|`qAr#Z1iK9 zI=`qZLU6o?&7q50lw(CGbp>skB!s*3vvPBrXSTvM2A?1FW(C_QG(Ohxdf(_i&3|)w zzxQJN^@rQL+2#E*HtpM~cail>e4Y<~Dmzw0q;5+npLCYf$jm(!)2bno*yPOLKx3!; zOgMt`tk^bRByJ;(#<<`mo$HlwonyuJz!BVDK*vxa>0D<|u$03UCLt^ymujj5>7l`q7Y%pHQ#43) z@*vTPhYX*p9_Fd(4QUfzssd_2<aK z-b0T|RlDO_%;FAwLpN62he`(8wq@qggSff5K8U%}xWP&wDd)zdv$ZEgIo4&ZDi;z` z*YQTyxPNjh>1>Q+p5b!R*;^7KlFm*|D2H?Drqzw2PGf9X92SgFJ?Pqwp1ol>U)%BJ z;_9&&V29%-yaz+~BXkt%32T;_TWU!tUH3439vO|rhXlOL2G>1%tan+jY4x5Z|Nqkn zB%Q675SeuL#w%TvFuTU^U|+z63X98d`J{9GFr>l~C@x<7uTX+XIo;1>{aA3xOUilp zOx8v7JUaONY=Z(4wygAy@Wsc|B=A`tU4=Y11~v#%gRX2V1gsReTfl$vDA++BAJDRl zx2e4>6NAnlT>!7n)eShpXtPBIPvGLQX`)p;HciyUH%LPrX^RmBS}ktMOE_`pFY$OC zT@lOS$y4rL65dDM#_*H+z0o*!q^3ZJBt=EU%X)64e)ZSeFcQ9AyVW1)1jAxynbzU^ zah%Zk3R+pFmfz6&h_o=e+!0uTJsSv`Bk6oEx=fsHO2rh6NheZiYv<1CUFs=rrRY?msN(6v`St4Ib;w zO8b0jTiKsP!G+r;nmZ^zEJJ-_R+)AjshKS3%)rET#b>n^EZ4e5qq9Q1f zU-k$I^!P0wOB$f!(A!pbdpEfoZ$>=`9oxq3>kt};l&Z(!%eWXLT#OnU9tX2{&a*9^ z$D(AgCI&m9bGzbEhi|j;H+KxhzFFXLxUV5*9Mi|6rp5cFqTZnf?Qz7lxilVTF6H8q z*Mm~Uy6<-Pz8v~edYipMRdD;lD!bcYk*Qr?oVQ}M+t)iZ@Wi!vg%);2Rgd?cjHBIA z@uZ422*0i)TM>azupr`C5jp1Bt|87@6RM2&*QJm62uO&oE~?VsNd*U_RsFCz>-J*3z*e{0NSnvs^7pQ9w#-K>m9*q3rjl z3DpmnHG!w^R7y{ zotVLJcrS*7>I7;yeNmw5E=-uv{f$NiKeDd}%5x{$Lft_0u_D_`DXuJ~{-LtaVurMr ze)pl>{rNRTsZaNAErSLk~`SEUBgi*8N&!07J*dUUjcLA_HwP<4b9aaclWffo3TEvwa$8cleI! zJF)dPs8wF1R(a8Gm75B;%8Ny}%8gN14yCrrviESS+~N&xl_&2eID84iL9Oz?**~Ab z2q`dazt$${pY=+II`jn=bb{*8e=+0R9aqk{Hnd8V!YCqcYAZ?;Bz9dQ&GcDTqW{U;rBg-~?N zE%s?sx^l-n6^oETjq2(;=JJKdeV&TNMrqYu9HlWKg*xWf7!Q9?aBfuh$Y7!Ilv))*!yi^niW@z3gcXbf}ihay|ff6^m2k3o;TbtgsXAA95~7+n7s zdgROcnsO0Wj*?cJ&UbLNdGX#tJ@OrlhbIdj)FWGQ%F5(8&EI5OG6x+7wodW+8ZR<#xVuRGM1qbQSxk7C#it+HRf^*wihvUL+i`FhMTBZy8#DXch z44!NKj*)C8Er4KI*)cmDr~ik&D}j%q$odnKz;J{a1RK(-1R`$`y`-15-<}EA%F_VDtJMMK?PARmHGa!s;eh6 zNk~G2`t6b*&Ghl_*Hy2oUcGu%^&YMMnv2ZAKoznqKr38a{Ck+H44ciFlQSGR!-4+| z4(Rjo`SJEDOGg6gVYZ-CZB3?LwvIKDR)7q^Vs7TWIJke6?AYG3M;wIoE7}0z#TJ1N zyn)siW?N}7tWF|B-9U@2X({-65XA?AWUo|+?0mdUrX`|x-+e6Ajc)Uq^*Ss_g z^vD4vOW$I%^gjKK`3DsAa?R4as1xz;8+89HeND{LyX05OFPYF8y(QP1b+E7RtS2&>rCeN5|+NN1ifiy>Fxf7^82-**TpQor&P*s zv7ongoXPx-2&K2cEWI9#98sqg4N168T+hmR>h6<+qiPFS%yvUBuG&gGgT!v-G|{ zLiuek(zoPVll*&u(d#7WO*Bhy0;6}Xpx4eUy$cw<4uYOnM}?-S89jmkA<$3(V4+-HznTx1v7xF-va%qqkeo+jEV{ z{7&^y`?ZPuK5CZUUn(iTc0q5TS$co{nd;wXBEN^PHksevjNSzzeT&V~Ysu(!7W8t> z()<1=%5SB}Zxgfh_7+h2mW%eWWTZ*{J;ms)74#;WrPqz+*Dvzh&Mdv}4-)_O3VOa= zlli@GH`QlyY|Z7LS$Y##`d$|4>tdGPMU39R1--2!Oy+m@JgP4hqI?&arS}x0w^PvT zW0v0ajNX%i-k#wm^Ly+7)fZX<%*yvsv-CF4CI0Oa^ah%x_ttmRADtuW-{D~<^SiqV z)#p8;zAQFNuO;K3Cg|mwrT1wmrEiCz*TgKnrx?Be2zpC~n&jUEM(=Y$Z=zXxy&1hP z1if}<={08bb_#mFt4!v1LkX3~EhD*xA#txe_slE1I^O=YBtd$ z*LN&^hXr(t{LW_W_bk!g7MP`%HJ!@WC-U3JEWNvC5xoyZ`u1d-%x`~IpUH6u zE8j=W(!1aXsxP04@)&5A-hICjy*47hhqFxPcMzj@wxGAzEWO#4Bu`%y`OP&;@2aU( zzMDmPG%-uB8Kd`+ptl6G@22LX1~7emtH|#}v-EaPqx^0Z>1$_}-UV)=_r9R#lT7CK z(|n@0P2_i)S$g*|dL<%#UCh#Zgq81q1ih^TP3HIb6w2>=5+&n58#? zrEj^Qw`YLK{B~gURtb8Knx*&Pw*)6CMlg3&X|ql;O3$G;-}8RfARyP{0>Z)J?0Q63A-(z~0{Gs>fnS$YE) zJ)=DKVAqqW{5EFvjPiKYEWIz_w5v*a3^YscDMrsIkHgr$WGcU77(Jsr7MrElk<(j4UJ<|`43wlk=(tC~33kZ5ku+7RG{}??BHgPcdJkcz@Zj4@p zpx4eUz3*9n-bm2%rI^g`Ym8o`pf}Adz1fUjl%UteEWJUDUbLXM75kk`m2XQ%&zOIs zZB?e|eaiF$WB#p=S$bR_GUng*U~iMD^i5^yGv?nOHA`<0qi4*&4Kz!S>sQA7+hOco zGL_%maI1;=86giAo25s7N1a8+{9CSBdQ%xaWB#p)S$h2$J#t6JvYBI&Y#*AJQ zL2sg2dK=&<)LCQ|^xB!F_XwlcRM7MFGMV2oj9zm=Z<<+p7lqR6VwT?bUl9LVi1cmk zX)?d>F?unA-U74qW;1#%1-(9I=?!4?Y=YjN9wzhKn9;KfdXJi=Hv*0Yokba9{5H@m zy^f6DSt5OhyPM4KZg}UzdM-h4u~~YrF?s_;esj&zo66{A3VKb<((BLYWeIvql1%ci z8>1%+dK1mkdk^0HoJCg&dhN{8dx6n|+a@mWeV3Wc?_WacO*2ccKcm-1)W0rf={08b zMu_}w?PfB+W$=;cEXo!17MP`XAES4Tpx4JNy%CJwC_!(}r6%*+kVzcxvV)VucdbwuleZQIbceZFBP3oYR$ij?} zm%9FJ>tL$Ih!4v555C9fQM75U|0NRtst2Xnj5!Eku;K7Yyg-ii@^7L5rfz=o8U5y1 zb~BIPd|AJl#cqy;N{!byKt9szm$RGW_{~lHrtSbcAAxV+19WU7^la9%~8Me4a)@?=^vdwwH%TyH2T7Z&HysCQF_=Z5%R8J-&#+UDQHJcOUU z7!MTBjYYD0Oz{ju7>xIY+ulV^_@8#o5Bd*M2PW8_Ew>f?2v^z^ZmY56O|$xK()bcM zPoFD!Q*k4zR8gnJQrJ;RfxGi@uEImM`S0KbLas~cV>8I&6N-^7=bwk$DwsRhA-IWS2U;iRS4u}oBttB`=WX-$8QFjTxzE3&vbld zyZ<@dAiq==RP4SPjt#bZXW>q;eNd=k1tC|}c2wFZ>5g#3&)x52|8VtvqVD1@Zd=skp03P$=sbOZ_{bk9IU`k;6ni1cwc&hu|36hqrs zOb|WDN27Jafx-b@vLt|_!|?fNAaOm z5&2CDzCKO}ii&msUb5ja7}X9DC~l3HTkv_68~JJ9=D$!@hsRNvg|OfW+nAenI6K`2xw%bNU9h|kjnK}08|?DTu_K;_ zw8Wc{0CGKpr8tsN%6apqD9*JV^VBwE$t2UV3jJC0x!WpdM=|h~%an7CH71f~; zTBV}SL2DrvAe=eH6N%0v7DO8?2vlVO{2rr-i3M+c0GG>KrxFXIEtN$zvmn}bS3Yx9 zJ^|VOj~N!Ue~VZ!F`NZRTpMD+bvsdSVmcyCER+T!ZEw|FbT7IYyT=@uM$#$5XhcyM zjc9b=oEfs(Qu39tUJ!zBGU|WX+`io{?!$^Y5xi!#Lk4Rc`=?zdd!u?AoY5^-+J zbOf*k1*5HYgC$WNEtRhlON<60BWyC!D6`#lJvk*uuO$ugcI_>zpL4csr<$>yYDNxf z2Er_dhSk_E9Qf-s1EF0|F(ThYKxI}Vjwqhn?Jia^vQSxBOxS*P{DHER-x=GQ;1EGh}ixUyPJh{!|RLt{YYMSGA7cunXed0X_d#qIxEQGlHiZm!GrA4CS*0nU z|Ah)yo~iD`PX+O39CSCyGkg*Gvz?S#_}%Qj=#M3Y!cL<95HF}vFl1?|-#_;X3;N%W zDJV9DKtx9+AtbNU@e%r8P*GI(V<1R$`az+~Pv-H5=#)a!H5RnwK$(B9b8df&%a-v| zpak(~aEJAJ8T*OYD#hb|5ecx(r{%y*HQa|2Ce!oV68ToBPN_>Vw*&<<(l)rnA4NCF z^)6a!X}cT?K!^-{-|nFnQPpjOE0D%#D1TJnd!W9fXGeXX1IdTF3N_7DOm)61>U+q~Xby{z{gc3+b&UV@6e~G+jIN$`?R!Cc*b)_^} zi;ou_Ef+9V)a>AVUZ4#6b|0p1A7}b@ndEUp-`jW*EV!OUcy)16@Sd)6FtP#4|-M`Uuk}31oc+(wM%Uliqp|bXs)sLary$IH#+Qw-U@4|2<@FALL z<@jHzc*1(A$UF(MDYB|yy0VBG0J`cv8R%KPXSaA}IQ3OpkI5yh>{CgxU@9!rCd$$g z|A`8#hOQftMn0gv(K`W=phD%A!{0;z-D8NwsPtU#?AXwWSX1nQahU zOJYVoE&On!TidGL!|q0>@w==OOU60XydrNrTFh>ggNu2GaUGnascs>JrKc0 zRCyB1Nh)bMo>mm5mPbB^LS|Wr=;lG3$WC3)Wfk2Fk&`^Fd`=8^ES8Yyw{<;7$abX9 zV|<&(N5@@tyZ*o{#c4PE9dSK9=%`bzk_Rf-Dq3nYD&#|Yf@^+1zTWTGFFhYWW-dJs z)%*QmdOS{Ib9kOl_w(>iHvGB~%JJmu7uCNL)vvmqE1qT;p9HxUey#h*zqP87+&KbK ze&ZyB!0A z5%KeA1gr_rE0ZL|RK*}t@niyXYkacHgE2D&tDi~A6n>$cwj}K{mFl%~%qnOJzt}Oh zeERW*cH=eXkGcL|8pkpM<@YnK4RRnA?tnF(GKO0U6c0}^R(D#Krx${IXU1lE^2@FM>j}u%Po#+= zdZht)je5cjQov=`-kr2OAbUDG%LZ62mE@pFa;$PUCNlo`EHz^-fYvOJf?vmmd|0CC zW9+V^-&Qm2wp^%p!;=r%>}PwL-tcA&s-B^3jHm1aO zS*B&`O*B4ErJ(Sz|4nHo1f2gYNrWlH9BjpuNQs2pN7`GxsAw?7k#c4J#gaP5%I6c+ zYhgV`L~lUAb_I58Z@OJO`#8qij-BpZ)F-FP9z@?BU`7666k?&jZ>6cf{P>X&j!EdB ztBJus?1nzSf2Mxw_4Dirr?h@nHaTtebMya9{e2-Mj_78Y#@>sg@H)h`x`nCIYkmNY<$K>8nT)ot4A>) zW8E*5W<~ul!?wbOiJsc}->dch7o#0#tX%SS)F8D*EL9o@I^bCFh1H;LnEyxrE2$q+ z|EnZ^SX=))Qm;R(JkkF)pgd*us#rO43(8VklP;#=Gh7NdUtkpk?NG+og7u6N2 zA~rTqWF7EEIgn-7dR>RP9ZyHI)S8!iN8Pk+(3fhn+& z)3B39rL~UnPEk=ZGJ1I;9vwBhSS}G1H4o`LppQ^dvY%;r3uug8E-gjJOn=};ERC@h zwTTRSK$VdxDJY42w2c`Y(hykN13_%bQkeFGA-D?zY-4QwbOfq&`n@MprR$six9&cT z>ECHV`U}*PN`IIMsloa*HyavN0%pGuZ76l<2-ZeXhB6jxK+{6yI;y$nQu#)GPO__zPeQf0*_>`s0qR(QN_%XO=YfbBqIyvbs=&w zt+YkK_grdIm)B|6F2~dkRdRd{x-~w;D*KpGnD-=eVp+PCn>gr>H)c*?utn>9&&lxD zV2plJ3qJ}Q!jB2_PdPt6{JA0gxcxZz(b{t=_)%wlgA#Dggy8x(vU)%c7L-_}g1r&$ z{ng(8li`^yXS0$BLry6SIeT?O&L$Vq*;Y<0$IvT+8C)!KK`{(2Yu(>rDmA1Dg;b&c zHG0*`*Q~s1;QOq;H42tT^=ov>P^Oys(yC8(pyXt%y*%-A)aMh@Kk@U1+CRhbVfqwx z!rZ742h9lL`KaCrZ?9tS-aUugyM>jzIoXB{aU9YY2QA-eOeBBGM6$Y(Oy972R~5jIY?9-9otJsu&9r=x>{JvCRI=`X%6)gxh zN){?`lA=zvYBrY55EUy)pT9XTubII9tmIcL-X694mFM zkV?M7QV`hWB9s)T)qSDtD0a7%)pUp)tRBpU-H}c+npyp4%PP%=I<5ZZ1ZvECO1jA` zc(RHCBH+;bISi|zZckHrJFrdUZ?$_@~%GW+$UuXIZ`}>GoF)tf3vN&gY=*Yr7!5C1`T| z*EN=?+!F}+F&>R%qXrBrawvmjD(3yxSY|eH9E1SbIjg|}Fs!9f`@)z8_T5_Y@2DgH z*s#D1S@j-E)tP@!WxewMBjtbQsmQ;T$rrUz&j49Our6c<dhtdx@2&@ZUrg)%%S&uaYM4y^gF&-Z@rcq+aZ ztKCx1?`57}@9(t=X>u69o4fX5H6ndmpQfuu?-V}|u6N;I48IQh+@ zNq>a>8&Ys+f|R%kOG1v&T&dk+$-~A5=Mkx(vepLV2W!fX6ov04(CvF*gB9`2W+h%1tQ(fTEZ$V@vRfr z!XOXLeLuIB@4x(JeZNn0geeiWhlEM-B(EP1d%yN;uAk=9`WRtK!dMo=-csH8zg?St zD~Ush72WvnzC}{IbDKZeAr{=GtEl?u-BydaAEluiAu^eY4rLFwu%v~|{j{V*!8e4# zKjS|%?#Q5Z9!xPW#!M)g{b8}7=}lV10Ym>Id!VFVk!M0lrDlgjoG|~7)sg>OPecB{ z`Mh5F-%a_y!%Y5RTJlC!7>W~_YQnDzii3(3J^!;^d$7b9R#%AFDhq}6CQa!T>yIgu zblp&V`1=jM&Oy_m1@;D)gYt%@@3cN|#>`h(jDZ=9R*SH@P4dbSk)`a0dw+P6Aa7i% zRY@$jb(%{91AYCPHDvvo%@8NSjOb@dVyW%DW?1qT)hMx?mb{e~7GufVnxI4reZ{td zrw^jO4XyuR>ANZ-vIGyXSgv~d41H4lj3y>OI1~ub*7=xasYos65Vb8%>bRJl*2g-^ z@GOQTAgG^mdi$!;D=)9}RY`tM|mfE72_UU?>h2;iTf2>C|@!a4i)JQBf z)<@`=N}%x%s?3GP>by=^oj2`#?b&N-+cxiEy-`O#usT8KWAJ%#&Cd<~Fe)-Fw*O3fh_F@G z-&b9F&zKOJh$>gX{8y!yankfKGO!0rNJ)&4u~ZhSkhG~%N-R+v#nYN%n>_r9lwx6J z4f4_K`z$|X-{PI9uI+Be@>*!tvI@QR7^!hsGgUt|E{W7Qdw(=xZ`2Qx$H7;&c%aRB zqp-)D*1C|^P^G#JezCr~6&1s2N$WHz$*qGOK$cc3WW4q{2QcBlpA zZ5;{ZQI#@WSs5b2SYoYhu8O&kFoX{4UaCm0noq;WyW!UgThmx7sb|R^G}|030JF%R z9DS8~K*qiD%D5|P9m&?~{aq=wzF+V3#FF};r)N>^^sp6x`dbv3H9IA$1R4%$lclS& z)eJ0g!ODTKPWt!2)3&3MT~V&ca;#pEQ-)aGogwet@G0WN*b05KjCsT~oMvDH6)iHA zG3&UBAlN^KtyK{xD0E8y|7ZHfev}XT==L3bf66Oi*H469-z%$xvp;C z4!3uoxjw!1hgN#1YuFGE{w?fK*gMiN%J9#k?`DcDCd&}+e|CDL zud_X$MPfOroCr@prFk*%^aC9f0~b>6VH^7EC$Nol99M^Jr2h0SA$l9e)A`-7wF0Jxft%Kp+>xO;OK7w6jf7zf#mn!`&9fS(@!`ANnKNQE6MS5fgOS zd6gQ`TlnO|xsp1AO+HA88^z>b!fRrM) zw3?XZ_DedUI$C0kV8|EWZ&)Pb?Tc*@zrnZMZ?3`s7GtVgWv?q%yXVl#K=5m_#~q6! z4o89n7`B^Q5XP_Se%X@=AQor>t(296wBr)86?M zlvQ_}l=wq_M@c=-CZOTfv)A|7itBG7dwcyL!Iz(xVDw46%q$NhY0xr`1}l^B1uR{^ zF`0BL;pAoPD(#Nt7$R#AKi-g$fYC%x>j@Rh?^1tXn?cO|!|U(!m;KT8_Yo`+Xh{8a zPlr9EUiEjy^YyB~j}ok5^*8pPFu7=-JoZ0ae?2gR{R!&tw_X3}`g_v~FhaPB?1YL` zhy2YMU0?ZY{|OQ|*} z*sP%>ZkVtLE7v11``o5!Mq(*VKbOD*fuFvHE#IZ?P1LR&CFF92JgdO9*bw}{fQuP; zPY1eERN8Gp6Y>P0Ri&7EQgiv1Z}>JJY<0tjHlPEs)z+_1ggG>`oimZ?jQ&uxXYQ;W}hv34As z`l=!(PunTkkdZ4xB!^$uzP`*@+-B1kx9R>{^!06BFF@m@#ciG3{wmXXb!FtFzxToU zC-*&leg^9^PhvgVKzx*zXNIpwdt9xruraqD%@HF~T) zR-bk0Ghv&;a{bOnqc;QKHtdv4br!1dW<@lQcMlj^tts7#fRs&`ZYY{ zU}rhsM<}>t6erfNnS9RnCk{bh%xUxQoZuSvb{NyoUIF9xCaJpdo9yR!{_}D?f3vpd zV4pA$G?7YnMa#Zo@(Ch2Hc{M&V!u`D$JV)DEP16a=qF{{fO0JY3CNvm&qrV^5+=k3CJrAIIa(J7+1 z)5rQS$X4$Jed`nnx}eSk1*;lw&s4rAm%iKStMw|tOe1}F&994L;pq#rSEGC}*RY?h zw#NcNsCVQF6=SnX1^z}bMIx2_7Rja{9NTPne*g`V{FWriE2u)^uaoTf!nWXh+?Uk~ z@~5;3@0Ma670p8U{mrwyU15^(V-~_s12pJ*&?z@+(O;|#^xQ1LRTQ~=^5kOa+;{mG z$&T-B3;xBlR5*Xys7>lk!@>&5gH;3AlI?AwNuI%g?#Pb~>a%d%*9dz(FpuR&|4PnI zpjne2snMie!*@REf)Y(AjD;%{L}mGWYLeD;#Y#|yf0o40^Uo!{I)t9?e}m}ZgI53B zh%*3%W{b9YIbQROwfg_5eev80R_%o`-NYr06zo;z$Nr%5I)7|QJ<6-ub;Q-vQC^+z zJE`*8=QYafVJwR@Q4aNewR(SFt^ZH1+6|+Bs_Pot0D=xZfe*PpY5o2`XP=yYU+eyy zI>s-zp4|7S|G{D%2$NEI-VwgL3#!c#%-eRsf=zUE=-{xs3xh($(y0(#-0?Qc1KN#q z>K2YCN&hLLAAS1h_b2+#&pvJG|DrYMXV#NGc%S8M^C9H2#n@p7i#Zry8d3)E-BuzB zU>1Ggn^|>cfcSqh^v@&u^Xow$@{{kUl+^Q{-aZWho_6G8rPn&`Engt8ER}UO>$DAL zQENEwZUC_F($mkaBN1I~owl$%fNhZIN7iXCaNGoX?CFCI+1X5{IYLMYb# z)I*5WJst=jKZK44s_Dl@{{O80Ifk|Z>ph*M{}ulnwfbL~Vmod5g_3s+ z-(}l8We;L)8lznre$vYLLoFNlab}-qeH_|L-Si)6Fnx9Pa7o<p5d*+tPz=^5r6|93O*ndDgiVOND+Vv z1AwLT1Xvtkxrh~j*9`#HmJ{GLPT}xooe%c`;Ikk?F+IFGg35~uDdtlGpp3NJ3sr?Q(;{t0F|o+ zAI{R#a4)0KT>#1rKx+<&EH(gbIG_;+{IE&q!`%h|{^u!?4{%Oy5P%yE02byG zV5Y(f>s0~BFaYg1pcAhT_Xi3R;8G5_lmp%q0G9#i z#sO_O;9&viY5*?dfP*qiL%sksHvmZ-@D&FP6@b04P4e!bI|ppyfF1&{#sKu-fMO14 zB>*oPfSw%iItT3kNaw=>0{|cL#Oi-=z(xU>U;r-XfO#D7ngC=1;Is5*4_VWDh@N<( zuOl2ay?BE{A5LK~r*NyF5NQCCIiNQOWDCGoD+M1?IN&@ExI_R-48Ro}5XAva1>hM2 z;NSqi#L7Zjuk&G!0qDyCn>oNI0Amb5KMq*R0WSzZKLgO81D@f4LIF6}09?rd3pn5g z0r&-$KVICa9FWHW=>qVX0dR7_bsTVk04y~CX&jKl0TBX#Ws)eYbp9}%9`dHQYaNvt zn%*>nLIww2!YQmI0F~wl1CYr9tvKK*0l3@%4B&tx0~xDl2|ybIFpvXwa=>T-I7ll3 zn3^PUKp6)(1YolPkU8L04(K2NZyJCs4tR(Ij;_^nvB&^qbHJS(uuTANHvkF;OyGbe z0x-w`xHw=q2RtGGml}XU9FV~QZUJav00whFPYxI+0R9gIA96V00uJaY0BZs8S%$EO ztm(CbIG~vT z{L=tj!vWJdpt4-&!(0O}iUTHcK)C>nH2|YIU<3y&7J&W+;93sIdYx*2nst4z&H*#ivv0fz%m0cj{_n&ppgLl-2mLh0sAvq zaewL4`7qr8&^8EErJWp5EC9I%fEK*~uz>@f7J%LcppXNWbHHo?INJc+%>l1)z_kMK z6Xtk$aWCM2$2p*{0BkV;3pwB(4md{u-ZB6l4w%6K$IA3O;nbMz z04Sc@?Al}oxbQjyz_)G06fwY!c5N^KKFhs$P4V{2;^ZGE@*t;pX4$oFjKbwt8WgdlT0mF%k2Y`KuMI?Fqoo4{<=YU=efKRMr02)p%q9@R+GgxW1 zW&kw*e;a`7IN)0j`0+!X4;}+>JqN7kfK380$pDP!fVVl|4FMQv0B+!be{jJ40&tN5 zxRC?qall^$Ald*-;DAXS;1YmumWcW=kpl*EKvw}+WdJ5|KyMCcE&%@mz-PIMKRllv z@}{?UH7_u2o+0m$coZX7U20NNS=HwT=@0b>N<=XV7krgA_F4(KNU z9|PdCz`Da48(M8=dg6`#DUBDb_O?M`I;XIgo~SXul2j0RGAW z4fdVg^Z2l$J1KHOyh^!`HTfVBc}odM80iZ}3tbrb`QCwdR@2z!Da;!@)Y^%AIl zGuac!?bgN|3d4zrX-I$N|@Iz&ZiA9sr-^Z|ot{GvA~q-sm*Kk$7|(6dvLfk~syB zpb%#O9_D~9956`$0&j|(Kf(cRIbfgwd|?0{<$!1oxJUq&8-T|+;3r;)(E{*<0r)!y ze9ZyhtkC&zrvdl}2W;kmRRVC00eGAPN;u$O0+3<=p5TBtIAERt#2SDnIpApy7$*RS z-w=FwiUaQBfGY*yQv>ic2h8Gtjsoy506xnz{NZGJ$XncR%c;!J;vO<6{F8%5aSHz- z0F~wx1Mn{n$l`$a1>hW@C^t2{DGd$dkw%#9I%B0J{Evm48XrRpp*mN z7Jw`R@G=Ly$pH@vz{LjO6%KfY1MUz2s{weG1McU590Az#8kOd2>>+D4 z7Jw%WKoJLg%mLpn)A=yd04(KzRUEKd07e;rWgPGp2RthPR{-F%yw4v#PY-$1yNdwS z^x7K~KH#85oWga2!jV@*HkWh291chofUO2#1qb|v13C%7dj?=72VBbm$Cv8aeAoaK zbHF<@m~r)U0mwH1B^+?)AqMzB0EQZXQVvM_kpUhTfF1^56$hMukOBTG0IdwbY7Qvx z%S!WV0oebt;KPR;u!IAW1z@8ADC2+^IG~*XycQ0)?ekpfg%1_!eDE3oAE)rmbe70Z z1mIQxe3o+dkTt#c>4`U5p)XO>%Qh&i;S|z%8vZ6ITw(y$azF|P2Qo0l2^bZ03M99B{J$L>PcA98k;wvH{-dnnJRtx*4Zv3%(EBR}xKjYm zG5}w5z@{r$oxDZ>4lJh9{DwVbO)r(6c%zpRj+$Nt0KC_$jvOk4j97| zdH5Zj5BC{>-5hW=2Yf03w;6yv9Pld#yej~T0nj*L$K!*kMm;0|i3Z>Y4tR?LrU*c@ zaKQOrGDck`0F^I@Y#z|lu!{k@3qZL6_>lv?<^a0@EH(fK^)zt64{z&yxZ42y!~q|D z&F1?y2*8a7;AakahEsS|05SmZSq|}s3+N$ldiN55nqFsv!eI`&nNzq$P-tWTj&Q*9 z9FQddUp_DRaFhe0IN)LdC^i7cI3S(p!YTky8-QOpV8c$v$vtoBe3%Wu(o{V2S$@U; zTHn?b5^5$^JY&x+mN_RYwBT7$Zy-N}`SFu!rAVqLc4;h;6Kh49;H70&BGROe)gn7# z{1>Z5nj}-L?stQp6vdlq$KFAg9n7nsWh0Rbkb5;IgPwb%zwE=?KnP6Rc{jtvam?^F zd{Q+O^FGJ?`X;0Ee2sJ-<(O?8b3XO_D9unhQ#j@wj=8NyI)gc85yuR#5tGOm=@j7}pfA-(XDG)!#4!)oh`EeoCUZ=5jd^d*F$%|ATO*x4^I6^#IOaxQP5fEK zF;N_onOqZ}pXQidud{qb)R>+-Ipzb7`S$Xf_?*izk8#XV()+5_pPn3(&oQsoNXN!8 zIUMsqjTnCc%X?Rjao33Pag3E?=)0zk8YER;f>mJ|D z^Wjbd(18Ok;eagyaE$>-;ehiw;4J}2F#viRVmaUe0f+^_XNl%-x2A`zkYXkifcnbA zPYXUoaZqDUVX&a^sR3xr0YCR-rP)mY-ZcP`9PkYX#0bDc2Ef4qJ2+t9%Q_#X7=UyR zSjz$H1mG$IFpvY5a=^a@pt}LkP18jj;1K}30hr4v*nVb<>m~`n4^L6so*6%#HXBXy zSuzM#usY}3syjUDvFQ5@H@$ZBSM zEN#}0!@ejAE20PHcBv&IHuu>RD87-)n+ktYrMPL&g!iZK;C31AE+|6xC@V$iR@X|A zYv5@C?h<ER(v$T@&5cg;b`b_w})nGto+HgfGj z+n8E>(NoD*p?BUXruWgbQ;|N}k9cg`TYmj?lA((>B4DqzCYa?({6E0(Gz3vqD zJpB4(->=KxF62+Fh`PqKBDg!ENULykbR-fH`)qf!#T;1g&HfNvqQbU-t#g69PUu9p zz-Le;2{6V~I7iY-zgr2OHqY!?%)Qs{ukO9pWgA#Q-fKH7LVqC#imSMh(!9Gml4uSK6yB3nZK%Q0;?NZ6H$iUiyV~u8a zMS!VP#T)(EO@rZb0Z~cd{@jxhpCGGi={F9KUixgPC9p_}uvl2D4skD3tuRSnsHzRs z<2uBzAMn+#!~7K?13~{qLO=RUvp%^zKylbZA!H#zS%bex$+9I1F>>Hx*I5Fc~@wv*EasGVotc z#zI6GDa(i-Y0=7;eGpJ93XTM9^UndJ6z_%4KKB83+w{9@(qQ-k3;F~5(Pl@86A40e zk}W|Y$HeI%ot|uKl^y$|tyOx0t(BEyaFuHJrbYC77Uedrzw{UeHuIxak4?8Y)qCfE zGbY_4N3IWiN$zhIZ_K1^L-Ez<8|jAvNlV_L7<5JOa`O-7sOZ_^alx@Uv(8&MEIvu` zD)C8_k?x^yoQGi0sroHNWu>2)+}$1NQa3sSaI`ihSr1R0ZKtXx+_9=&;3!M$7vjjTJq_d0Z%t2?D&{=mnJDbkB&{0%sbk>~Chy_Jw(b>;*)|Aftbk>Z{zNE7jbheewj-%u&KcchW=xi08wWO!y zlDH^_&R(Z88=XB*XRYY$aXPcp*#mSIO=k<}tTCOFg#tYeZ*b=`4!Q zhSOODon_M*dGDxn(piAg(udB@rF)m+3>p9$N_H|0OTMGWv0*pAr<;+uNp+po?{QSW z2XQ=s;{_aV;8=!ZHI5B9w&C~+$37f~a9Gfu+u&%1qa%(4 z96fOK#W4WKC>$Of|H3gDM>&r7aqK~QEPd+wivXZeWS^+$#!akEn>7!@Tg0@q*;@s# ztDT+Iy3N_uZdSR`wq0!dK7BfzbMAQ^JH?%ULFf1jFY1zT@g<2}FYR_&pQP@D?9sE= z<-MzQ6lZRn77i%te@5h@lPlOa89m$GHoa#<`-B#Np5}n0_S=8&G)UXEvgejqmuE^G zBGaA40@y*Jw6pl%RpOJwYbW}VTm-DEkUUSsKZZsXG~nR@6pOBg5zp2MX1l#)$14r7 z<4r*PG}!Ur4|J81xFaM!9_)G60kGD^W+GgypM~HvZSOTg zM;O&1Be9swdlcTB{L90>hY%0%#J|WA_)7dU^y|pA=EuN0z4qgb6@khrkXG=?wpXP= z%mDC$jbY-n_I{E+&~<1G<7W6*-+@?32VTvI^^B0bX@P#Uf^OPGbg^rnfLg~oW6MJ~ zu+DhyLj1~+<&fV(wiY@pt=1D9h}jyfGS%Z*xhr6iD{4vI$#_Rk(_;U4eNc}v=X z!^;C0EKq+8SHOc}wM*cQKq{CXYtMscCJ?Bg_YY*#${Xk}Qo%8MUN=cqfDV+Bi@kZr zm>)!Vv6HL$;2Wz&t|m2h7_9)@sJ%>7yl3A$juw4x)Slp%6Dug48#OP#+GpunC|Z3YrX3)e5chYZ_U#hXd~Xzjs*@*23{=Jj zU)0M8n@jXF{!`aAe3vF=_FO~0ko&?Hda{gZlP(C_lcdN0P?*Q=l4Qwev7vfpER;0K zn@TYEH;N}K2}d%HR3#menG8z5VfdwyT}d{~NeWHG9YsVk+x+3I zf0ONU;u;$8j+9D{MoQkvm|xhWcy55~-Gn%!#qg$$sWtMZUFL6&%7~aMW$>n5Min;q0MIdDex+l&|E;uVM$gQbS)>VIl z`a;?D)%1nt-kj;$KL1MS5hz7+cbaOS;7g5-fQCY0sA|wB!rMEiPg?Kx8WbC^WY@Os zM5XscVv^R@3R*Kl6JdZ=E9FrAr@DR=%+I0gYR=EOryxJbjrK?_^gq~ZhF_3BAw^c# zb&wytp$4x>e++B9D4e>Uhrd$on&cP7OW;OiS_Bj49D(6=9D-V?+cU8tDi*s7KBOTJ z6j^WdsNr-rkGZ8#BVbHc#-~Qn{Sh#*d!no~Qd1+O@lup`h~^pA{#O`Tk?=^xGsQ}G zrO0*K`8i-IY6e}xPb;Gx)joLVcF^)ZFd02F5pa43A#v$;ZT9EXKklbZS}|`%XrGQF zU&RBg{zzFpM9W+xiMjaAPLjN^lY7z=@JkarxDO+=Cmm+#^pW@-hu_ioodh%QWSaef z&AYq$5lnYEhc^{`*+|_~uohu~l5k^E2K!0iR}%jjM>oCEHzAdvVpl(m2YSkMjL_B6 zf^vK6+;0(*9I@(b8Ks_rxllK#{tK1ZIVLDP!yDIWxURdsCj6%%?KRjQCyc4NJ>I*= zRC_^xPC@QOFH8M<)$8E*cVElCA0}Js&Tlde&rec58ObtAiuK>Y_LIwIV9Mo4qww3yF`RZZ}{VxS<=CG`^~)Dd4MS&Ie%#ryUy zJYwdV=x1&t5zrV}?>&Uh?j|82tBv(`o^sV-OO_|9yM71aA(QhgdMkBp4m)3 z$dMbg2!#TRH>PAs<8w$xTn^HBw+DNd-N^>E4DVeeBnEggdi*MT2H3UH+e0M8JEMaV z;;`(QI$8D(K#b!72~fJ@WY3@^TqomN!fz^mbMQM7zvJ*b8o!eiPYRan1v_#v-RZk~E;8N-2Y6k9-weoRlGHAHs zeS`{iDZLQDFhso)&)nZi>U#+ccPM{~qz)Jd%N^d`D5*^t5e#+^glIz`2O@PU9u7jx z=z63AFrEtfJZOPp&54%P#>i^T&q&-#x|B^Ni4JG+tK(>zt-1xmXuAKEC#Z`l$8#-Z zPAl3w$x+PpR-LfM^BL8iE6}_2UWww1urWL=qDd~b+@)HyeG!nf6mP5sj=?sgs3l5@ zoIutU8I40u!jTN678M7w8-ZppvFwqpE{_x|J5ufW3Df|L`mb7H!by;Psmxpg`wawQ ziR_T|UBe978NcNPpQ2SA7b^B2T*^gu- zPKG>`1$)9jAGFUcv$N*aRD1hX490z!07jDvovWvp|7d=d)?t6EvHSxNqqUTOI6b{T z#OhJqNa&2idIJm=Acfk}{0X9ZqNw8BQIhA5Slo4gC#f?aqyqV!sa`RC>Wd+BDfmpWkxZBTt@Z5Q<&_EMSIOL^_boqF3#ow~i$$?c^OL{;-u zIrZj{Adi1^doc7#isOfh)t^3ITsep|?=97>GwOC5RLt{=|zX9+gv2iGsTX$}TBCG!RbK=6dK8 zf7?bkXj-wCq%u{QCKmNs#dEUak)ZhiDCiYL&8w2) zox1S-V*F^=O(ebbZ;R-O_|9~?sOvlb0!jK#e|!g|7t%Yv0-{4719?V8WqBhW$oR@g z0@b62%S8Cw7Z_pU4d^pYdERFfFjCQMBUiwPjj1SawiU_(O`}3-uxQJULPB9gp3Hkd zt$C~ZwujKtH-AMV6W=_V)+dH2+;EYxaNb)I_bpfF6THLlW>RWF;3K5CuE@$ zdJLIe&}pFZ(F7hv55^>(1LnFo-d{CRJZTW;&?rDMV__QPIi_Qr_0?Z|PJO-zQ(7QU z2Ju-{UY>6K1^QsqpU|>I2zFc_Jy`X+ihUb1eVB}qq1R`fcyxi0g$Mn#KDr3nKI);2 zQ^%PSVSA`pXM%qHu(%fT8mjGQFhpzjwT5n5yLl1w1Fc9uRkQ5Qxii{Z^1D*V=eg6{ zTioaHc=3)LyBp;SdKD5vKhvZ9y|~6y(kfYPN-w$FPY90J)Cfgg12MyZ2V4|NTBNO} z+WJR-U+`-?32{|UA|a5DCd(#LyYY!s3`dRpop?Sq8*L&R^Qqa;53-qlkPYoP8`gsC zxI?88`7z5zq7Gx$OMCTSq;=J5_N|Fk?4F)ppRPqf;QNA#1bw2}vLt*$bJdf6aDIiB z=N#1{XA}nxt)i4}qp>U|ts@yFrU&{+T%EX*8vW6h{h~kOsUodMTk_Aka&5f-x3Kr) z=>2K+eP7+al*Sv{E#=jXS=9#}Rk%(1BvhSc)9LLmx71{+3(@px*ktTU=%ge@u-L{B z^_wcO2LN%4r!~#;Mny=D(kWPsQ$sv)ZeI?L2d++5f28Qi2rJnR_Y{g{qHLST~S810uYe?T_v`1C~NTW7-b4`UnU#zJh!^c~7U6a0c5si0yZszjN zlOxs-EX>hpsRS(_pyd)Z4nNite<2>RzMPHc=Ki%k8Vy+y|XM^@ef6|(O> zCi`2)Nh!A^AtJlymLwb~kXt};XKM28?eo1l09o z(%>U44Y{95KH?52*fO9VV{*Tf(TjAGr~^ThsxW$w@BEm`uoI`;_C=D~49x;d6j<+b zKvr$CisVDwu%0D$?i}=yCY*@J=i|Z0t%&cJ~paw)iimRRro*_J#A9xzUjC=#*JValQYNJ+QsD zRZ{+HclT!Rw~{>9*df5Nu5Uw{0%rD5C zg#OTBp%s$b{GEuPq>j|{fb_~V_LcBO{16-&nZYvUwED4IdazYVNui8IP{y3Vks={k z@rl8)w)b*kVH|QU%#EFUEW%be2O25ZA~~j8ZS()a)KhHZSu}S}EHZe|Rycxgsm&$F zQClH%nyY5p=gx?=xQ9W-0wmjBmL3ZPO?@JN5iEcBECNK5NMh*&b)+6lmykYo+Yw9Y zvr_sbRE+jq&mqd~5tniiH3zlT+`q;~xKZp*uqieoe}*`7w<}AdPj4b654KG0t-h?0 z*lq7&zDnJ)&>4#~0YF*bP={O{fP}1A-q;H|8NW7NE-fzyzxg9h`R62aQ zGs_K5I`HqnFpE7-*qiQ{Y_%2cz#?^jUjbR$0X0+{yRF4TJ3*z$?Lk- zj|FGOIJc@@d&Bk@gv8-V;G-`8yJnGSux;D zgS4}|n=2m7%JF-6ZWre#5HwIvLKZFJy6W@^#*-w~(Y3cmmkR%Nq5WZ4Vc+L!Gd)2Q)<|2^3Q+pkrp787H{0ZmR?|mIwKGpdZ{ydal)$XPSXpHuxdoM*85MAtzUD_Cm_eN6JOpW53;3~wJfRT~HtSGtX6q2FfB zML(~ljnp(BvHsf=%twTe|4zw#(BKEr$2NRED2^aIsa^kTO^fbo;YCfi z$zFFV=YI_S0;)yB=O?;6Q1kr6oxjvKn}7QG394UgXez7QWLV}Bu?qJn_9JK`5e2u7 z%?Kz!EXBrKm5Bhe;?%Ft5!cLK;*D{4A8gUOe}FygVSns7g8s3;PWT>0E3nAEV!9zY zHqpBBV!u`D$F?9{jKMaRm6u~#dAaubdt~${M>Uv{E-1#aYZrzU7!G5qo$j`vr?{vr zBqZI{N?}+JOTmdRsoLDKd3xoc5}tPSUob3ah5%vL7>{9$>S zB4}WhKEbPB4~dnEE|edPr+-o+CO{AG#ddtGh%1#!v@4~^P%R;7pTizHB;zOy1y(Ju z8x4%G5`_)N=ojN7c8Q@Hnd*E4N!`X|NnQ53Q{5ixlIN^GsHIunHf*DTm?c8;sbEXH zkmHPkVw@i7G!0|)5>dpnydMO#Z?Mzt#KpP(Wa*zr^yi;G`pfSH{rI}+*Tuh6{k+cc zRKbimOK`e@>NE7w-~$8qRG{JJD zI2yZqD~=6r7$Zkmwfhp;A~(r184%bQlGy)~?L7}+r5d}XLZP))+R2dN*lC+jyVkMX zmZsa(E!Zb2wa=Wt2F5*@D^imuw}ceJO8 zkJKvbZ(wi0#7;TG!m3wFL}A~`!rK5RvZ<^KSxuGMt^Du&Z9$Daje$J~@AH>`B9q4B z`>5qspt|Q!cLm=ZsUvC6R%a+uSaSnKesZY2Z!)v@vHe<-CocyF?0tE#_vJBrUtSWf zU@*%|B_0$WhxI}xH)Rk4%=Ezg$}s!fA7gF^$}d?RX@?~fGVB;c{@goZ*Xx9PRyuR{ z!QNXt6+9IFQS27jc!8w0W@f^W`6bjf*jFn^mCJ{{utJltz@5$Bl*79TxVkw%jdQgk z|5Cn^smgjnK7Ui|dZrw#%U1Xdf}@~W?WB~8r|tvTE|16bSBrAz z+`i3Y@~;V_YV$5+o>HpOJO?yGDB8T&6B1OlFsjXLg#+;@HTmX|`HdmzQ~jOMh7z;- z2G%&T;%u(0xWYBIK_5xuk-ipSa~hVAw?T;xKx8>l6Ag03yzv(97W{{Wn9rIWZdml=TE4>eh2;)1Y%IZ!7pNtt*{?)POpjY zpd(|=7S4gPPZvkYYd|PRDP-WOs*1N&nIHLm_z5_29OnxjLW!G-zaDdk!cYa;d4l28MT)sh8lwImrP;QEpcUp;*NB)bt_L?PEw!A)@y zaD1aL=&5F5pv|sFs@&DfH@IHJi5iRL9Q)bYv(To5D)}j^m6M@V14hki(20u~yG^RB zOk-t;`AZr^)U(P;o?*gY=)4lPDw4EySUG3|Z#&7;f$iSqt&j0b3XDr-K1H=5=g^`^ zYDdO{5LVTAQTzVjMj%)H72+R;qPND!(xQzxUB5nxDRgaV9P286)OtThhNo?0Vu~$G zrHvwR!Q+j-ZauC0!&2rcvE;@;^4`x^eKIcTIcz3!=x;`uO44R_5Sa?(prz@HFr?Il zua9FY0>bN+Ew~P+^{~}c&keILh4@3PRzF}c!q8#Qvnv8U57GEi9SePED8>ueRp;1b z^F9ZqTv10Qz)1tN1q>RtxE$wJ$lj=mybg-`DHhmzF^d$ymXkF$@10D!PnrsOicvPy zDiuQpcsOd-H^w$!X=JhVh3+$gsrgf`wiU9_%Hy-+To92XWp6s{%CzaUh0K(21!^@? z!p^fv+rBC#zZ@${qRMBDLS;>$@o^jWA+=4#+`i44(YT>9!u^w)o{(6A?W#`L=KWB$ zHwD&UeO=+2*)fy@j3DHcUd8!)WHqA#3!95+fx?soKPKMG+4nIxIR65!C$tXHZk6&D zfow%l2gka`JL6pAhhRiiI2b*YD&1mDqVdeVdT^lH{CfC&Z}>Iy*MK$t z`V5KGK>rQ3tY5EnJv*~6qcaj^UH!VI`QP9aG_*7*WTDsCu0Z=fnd2KgSH@eM^Nv{1 zYt4Z<3Fd9plD2S|1(GEqU=iOHtSl(qTyX4)X>BD~Uogm+8;zxB(UR@ik|~jIM63$e zCNY1eX2m*-K78`rd9Zn5X6dioE8kf?i(Tm6+AXrJXwe8>51l>BGj1yRTZAP-c9i7p zb=JCOp5`~?g6VN~mshgpMY(A7RPfh0=qFjYB(pS`{;-cU*4;)?i{Z3M`~2+{0rY~= z(5ezvy#aRAyi=9uumSYj>hx!E`b~7wJ&I5Cg;UNC)tTUmEY4C}6xTRM2lv+W9OY`y zPKhdUV`n~_tjJa~$P|r#p%Z(U&jm9*Lt^uqQe7yEvRhV_WwbIj>A_5I%ncI98r*&w z_&)JVQQ_yR)GDe`XccN(a}AQ!v{WaiM>~fupApsA_*JUR-O$bO>+1Q%d}oz+Sc3_@ zPC$dh{O4ELhaWnZN%Z;sA!uCu8Rs{cf>{!BSBYP&)MqkMZ&7xr*8TWgs#b`?NuWC!Ix)fn5M^<2Ka#b8Up zkuJ9RUC}=?6FV8uBy|BF2x920T;4aY1TPvOYJu@J{6I4sr%{zWvx3z7OuQTUCvHnujghI&?{ z+W5!+kzhJudt&=hc%4m|M+46M)<(Te!VE|qVx5o2hm*&mB-U@p-pSaCNV}>lolB`- zg3_56si+;X6Ockmv`e?Gh>FClg0p8y#!cnaC1Iv0uToNnqtVg?*ll(gT&2z!OwEj+ z1o=mEx(QNbG50&Ko{JG9T;8fJXygcwNKp{53LH)#n!q^BS2;dHlGP9WSapr6fce;M z`Lm^h*|BJYTJ8qaoF9$rIu+eUZoB#AIk%?L~RN=A>)db=FQ-Dkn0AXfX+u8YmDus8AKb9xCgsj>d%v_5+zoA0|!!D$?= z%tlrzbEu_bt{oMw1DwiQ1A7zV5U^$uz3tsQcpL(X5CG;*hj=5;jWFLFRbaB1M4TQ+ z+>Fz#*oaRoO%O|Id1=Jt)WxZz}Aiv)kc3EB@&(x%j5 z@e;F8DBvJ!#xbxMB5@hj2$wCrq~{t};i3Gt@L#+liiZC^OK+;+>dA&YKWwC_=r`5e z1gZw=92C`dDRPJ8(fuxabU)0f2Z|bBs(8Bsd@gh3tT^^i`TNK}bf#6W05j?Pl6ML` zX<>sb3QD%6qsv33phAROm%m`+$MEBEjVr3pjDfi<8J1OhqFn>;kK3#!@b`m**1lvRXNxP$Z7W*Ty zH;~u5p6j(icfnFLZ}nX8{j}DS+H0KX&$yWq#x#2<7V>2zO-8Cw6|7q}+(PS>n)=h& z;cyu~3~onRbc|c$_oGVMA!*=1Jo9b6N@ijNS_0c%D$TT`-sL!H3B`fJ&9mEpZo=H; zBzJR~2@VuzU>176H2#=tJf@$)QlIQNGP^xv8RY%knbs~z?q={{5h#aS(K$b;K4)S{ z!4VsY2dC|+)$sh3fjU1rW8n?)H{kx9idA4PTVzaa@M&spSQuqdlWjRrM})nKshCc7{ryAXv4R*+bf(kp5T zyAqX0aI=!>IGTF3rLApgwY_*-Z|&7$L>>u`B#1(MVSH4Bk2>p$#TNvq?*IEeGqaB* zJhXbRy?^~kcIM2?dHl{fzw>+lw0EV`AI*25>%PLjOQ)~R=ZT2~9Wu_iZ+GV4fIoPa z6nzhr0SmL>p-!S7>x<*5n~`0RU?wB&_RJ%nL9?}XjJ+z-d9oC}7N1AfccNxE=WSdH z3Dxav21vO$^0=Tn!lewfUG9x^_FCkUqMzbv%`FAzNVUuqfyhMGIquC9$K}R`Y4E!i z=eTuSkmW@ZH2lPK?!WeC3n;6!UkI zDkyiE-H&t@Ened<`B=KsKqs*0EB#~MN^JFN&4n%5t0mOm;StHh)_4GWfqvX>`U7v!}GoK1*CqHHB8nlA{_MrP# z-46M2t8A$#tEnzHQqoBY}lA@4&KX z#+vt@S1KTbZ`R@)&U(Dr2Q)Urf9_tr>$>i2}jjJ z;|mX>{zSM$0622+Os{lLv#8qyHY!O0>=515%aALl@51qO>bbDLuTMCj=PcL9m8H$u z(Nx1ly*^%$0_xDL6i|Qu7XlS$Ws*21O#HQbrCKfzZ{eq~D4Cb9AVee9^X5omI9C21 zJP)0X1SQ`d^PS0#Xky99xXyjY%_KfGoLbM`maI_Dhtd^$o=MGe!J-zHvkp&2U zu5g&3t&L*e>SYbq9SuGz6awKZ}z8>dM%*q{Y%!q*L`*9UTg+# zwcCkrkX0y*K_Sv|^gnPbR*#R;c@w30A1CWVf&t+ceEDv?;xH<#fQPpJ~-0SBuY3*}l}L$Kg{8(eYb2K;mF^gu#gj42CoSze`L43o=z?iMsVsfLnt` z082Up;^yj=?)niRlD>jjr-`{@-^U}flW85q$yIE!aiX7D*eBD_hG+nXP@=vLm)MCk1g5qx zxUjxB#9?55AmP0vT(7t1Ee)<`07ii8PygG3Yofm9sDS#%Pg4_r8$Pxt{_sEz!>+8$ z*_sYeDf$N<1!<599vV_65P=K@q~aq0m+;9)gvoU4%wKYW4Geu)$3G@H1n~@70I(QC zSco;<(_*&ghX;v+xZ*NIef&_7&S(in6E`Ds*Yw=q2Bsi<;aU4`85{GoUDFRIf8D^hNZga^H>&TOcgxk_%?grx`aeUq&E zSIRB^Mw0qCcFSrO^)7IPKS8ueXxM@)jlOr2%J)M#MQLBn?Ou`mg({lYy`n()*hBS5U*Cb% z?Ol)IL!Ht`My%Wh01s-^wdXJlqr)rto7LKL_Ta5(?KvOgM~a>b94ki_H-bH=SQSvi z?HGCmfa>oc7=3l&RyncBSA5=a;e7rp*w^lMKk**pDUTGT0Xy^&ox0E9L%&s(??p?IO|fh}qge#%vs zckkw2;mP=$7Xs5gaW34agt45#dh!5nMh@yB7;`X9Oe}_-S=&*w3BTZa69Gkb;hWiNDe?1HzHlC&wZUG~J z%g#~K@&-Ul(VjM1W-=~kA97RWOqn-Bff)g(>Jlw576v(6q0%LhiU@EDLXB)h7QI^J z5uo0fpW%zDIoO-kS&nAE3M9%8ef+Qy%fE)#9_b!`T|lFa_;yU_3K)r_IxYx3STE0> zo}*;HZUo^KA{B6Mz!lDr3W7BOJmryB6wv)O0Vo9Y3dl3S9b+=)NK5_o_!F!lbL93W zE-N4}JQ7u-k)CaQ05G)4U`pttlDz}I=KZJU&oH)svTJ%R_7=q)AJz3}`>5Y)H{Asjj&hs2!ogFZIMvf%#nFrQ;G$mRt%y ziA&vM8bMS{YNG~PAL;>{RD|C)B=1G$xgj4;A`!du4;Jr>G=C;d4pDaT(a5o>|Fva` zmc9Xb;VfBFL2YB`2x{KLe(yet@4MO?Xz-UzJb5IwY;p&Arc_*>lx0TVgSZkNVFv>0 ze79fwo3HMB;L%{y31a8b{Ca?zzcu*fsji>-!XC0UYekkrtxd!)h#YW-aw7-&hFxBU zbTJJV@pk-m&`mhQg=-3efK~g8tKit8L>fKu0xz`k-a;9!E#49t`4xjQtkb;Gr0te> z3p~<6c;vuz&gIZcU-xV8BSV8%8rAX@}e(Ml2B?B)X4YE+=9L&1s z9g%ZznGe58_SVEMdD&+aaxEU{O>BYP!gmVfM05NcfAp>JXm$~+q3w6%(4MB%qZ@gY ztWJ{(5jsQfT2KI>Gaw141vAqaU%etF+hwHKZhEmFdL4IMYkfI7lr#Z)Uuan zr1dhd;cONiD~ifo&BE6xt3ItC{jd<=PPE(V$3&N>?$1>KUF^-lprGoY3=uZv-t`10 z0okd`t4vveRO`hQdCuMKsWaCb<#c!a1@C#0nj>k_JZ5)&ByoXs*N^caZCaa4>lT^Q zTFPm?NUS`4*lF*lnDD~H`2BXj?zzHpD;lk$Hd~_X#>?gW<)T@zQ z;c6Va5qlSmf4>`7pz-rr$! zePJ&EfeBf;WJ;TT#T1vkg^ee~7bSZZ=28xFrnQu3#8XT8+}|E*DN`%45Ueda_@h0j zHXZo0B5TAU8lEWY7fGnX+ptdvN_H@F+#`#~uwZ0*?)~*YL^=-Wuogi-2!0*O~ zI*Hh$dhVOQCOFf!n;2pe`NwVpw(^hJ%>zi=o!s+MGXH?NrX~G8v?rGs(sBw$1wtYc zNpPW4lt0)9Z=NP3_E{nKH)1>Rjy_>Sq%(Kn5TAbIRzBfLfk%&uN58foJ(%{0YsXp; z6Jx0baiSQ(lRe-zR>?N|8}UkF#;F-QGt0(BP%B?_z+i>c?(4aozamI>#D{~YeM6L+ zB5Y@}p^SsEWeeAAaHk<6#?he1t0P?wi=h!YMD}!J)tZ zi~aq>hj`7dGXwQNwQixFL*SjXb0&p%5OA+Yypx~Sy(HdQ{|k1=9$p-H-^Q$bV2;gy zZX*zojd*s4mL39cd_Ns;oc+r#TlUuKB;L60j-$gHS=*Vn(mdt0W@3=oCfIxVLHeQ( zM@Adl?(5QreG8L)=yQ~PSp0NaAGQ#I#4bi3>~7gO_@;BYX>1(a{&s51?fk_daWJt_ zOKcCU*#v!@Ms$jMdoBbSS+oeM-?2-_SsQWDvuqERH-akdg@I-uCP7Lk5tB)+#Qzj& z6o>ukKrET|w&J*l2HvZ^fJ5K74}le8SD;%s@qE_C(n~XTRjGB9e@`#9j`G9os!s(` zjiY>vIYfI`t+sc?+gNM%Xft*dU2(n34)uNVK>yt#UbE{w%&zKQch9FeB*i`Msu5}3 zds+++r@41^I+2ogkOyYpkza$(0u(qX%q<1uW$8{H34U#hvgT*ze zNE^@V++fMO@#Co}8LTY(^k*ZGME$(*@Hsf4;)7W5v!9Jvcybt=Mef3paH}De13B+T zCHrY8HDEX-)3W0~>fZkR)lhs5xR}HC#JoY*Kj6_2Bj5& z7cIn>_p*F1$RG2|WxRbyP(v2}Z75{X^Jzu+lH68=1cyI4L4Zd^FSeg5E&H@>V07!)-%wry zZPQE7GIk=zU+mxU0VN4%@$1{g*Ao%s@gOy4KB;M7@;Rslg@)dSq%OY}*?+mT{1UtcV)2#ZQWo9? zhH2rwN621a;l1HBc9CyxIEh!(&~LbySLgF;2Ct~g+0chqC-Dj=lp~hMD;jyn2JwnU z;4y|T+Axq;2k>VD&TB`E+{gyng~$GeKVI#9FGCfZyUm42FpX`bz56G&G`*9P-Kn+4 z-_X5+>K+h@U4XL0mhAoU?YdWx+bEl6m#wjD$&2m=_x|c%Cjkt%p$&}q!F#7U;+N~y zZR^k@7@zI4-vyrtR-@0t6TFe;0}wXpQ!)rq zs>fEC(K@*Pm^aHDtKTYf-1bJ9V8nL~b|%;9;h%(4G( zWsX1Ny?5|@0G@4puFUZet}jB_30PW=tRX{sW#i2`8ZyLn z$p3~688X;)xaY^nZz`x((-yiXBF5Yzv z#D7`*!~c3&|Cx6Kv#sAAe{xuw+Z%uSSkImK?K`mF!2SaVB;~f>Tzmt8Zy@ju1ipd5 zR|^4}w75k6a$C#CkT5UFrmjz_U5W$Gl#ObwX8bW`i`z-IyxeKVQ=4o@La~y{K_795 z7%8xS%hIRyI$S=vU(+{-qF50c1J*%TZ4#G4MuC$S_n!+OVtiJ7k7TNLS-%4AEg0uE zqmb2 zxnb?YJj{h*96=ri*@tNZlwp<62?3N{_?fOcX&CqAK>0kFePw{@OS|z@m?_ltKjw?D z56j+b7rbfiFP2)KI?;#0$^{@MC=P0!Fk~%)`v@G!mL2#hKuhJJsQ}Q2z4J^`mNM|6 zA3>I)=l&Odgq+=?#l`gwV{r%gu5VKypx&3CCw?EzZ$rBQ^@03W{_3av47CLycWcBg z#6+@w{BH)XP1M^Cv}2bG-^F8+xPrC-IS*&Wd!5@zlfOsBD1@(RvwsC@x_%}8)xb29 zj3-iqUtizsUxip0W8WTZLKMV9^x~y8Sf*(ntr<5}*<{IAq$q-J~ zHzMKXUFBeWxIg|>Or;WY%Rxuy_()% zZI9LC^d>{Hcu5k5uV1tbtxC&JVXs$6 zt826G*jMJz?ugXjN6y}s*rn*R3gWX67p+>Ey*;1}XjKrTRf*h8=er;MlAgFy5vud=xiq2qjlv{q2!mpA(4^^}P7H%96JZ8E~mK$rYF?xPqnt`_R^dXa zL=vV4Wk9dlPq0$Fhi{ySZ23QJgB%0$%jN#bfv;+3$fW z?tl=**KAQ3&jd6R1HzGx?xIABw5=tQ3}_}clr^0wnWncV$dD^9+f0;A3Bs(Io17n) zIeOvWU~ESRxN7^4qZjXz|6y$=uY0~Y{PR?GRz*ElnDwO{Q{Pnd6+wXX7Gm_-@u7uE z+e>=BNW^yBZ#>gZdZ}3hKG|WsKXq+FYZvBK@PMtm4a-?S^Y2?H!4dZ4uoBr|U>Wqo zW|pG2^2oy%t9PwU;C(4tY86bKxglW^2wl;f#rF zFpV|#Slc;eI?^ljDmF6|F})U35rggnKL~H!or!X{{klHvqrYAT0D%iCM$m-^)5BhT zaIEm-EnQ~G9L0bw^k5Bs+>2?Ga>W#DQlw}Y0?pV@XbO-FqEYy&uu!_ECRv+RRqQ6b z_Z6+Gqpvo}H3|X<{^og^-y#>)m}e0`$Hf>rFmIFwXVIil8myoMMwTs}JRY=lE(DHH zFU?3DBr0OIc%&R;JQxuG#*WANk}>=Rp4{1df%yk%g4IL%T*jADv*@5)m#ibbhevwe zwf!T#e-zLEDR|g%a_ljP{clCBMA*;H#|r>WqxMqjD~AY927k)|J=kF|SQ^qW&H>E1 zxsiNQc9Rc0T*ASg>(Bpk>n9`avIYS~(93JkKOC)y=HF>tKVt(@7rla@jSMi*DKeXg zfmCBquxn#bIOdi-!Z><_7hfS%KpH({L@@#1ODlCF#Hd><&Bsr^R$73c z0ds0h=jlIDr>%vc>DYhQih<`p=cWeOnRa?gN3cizL3`L!6-lN>c(1 zObe481+qKww!ANf1V{)9VwB3Ztn&bV!M-7%snq{f9IiR0c!=+iSH2p2dV*N-(O@|B*5%-vdstqQ(a3FR$ z9P>{@G(DuDdQzmJDhOaVz~{bJsEzgM$V2sJ2hN|)_)z8=8Hk3B9KM4zG6)MiQ6Ig5 zzN55D%#K5TfeJB_7C&(uoKjsm`O;uNF9P}4>_L|T=2N`G3$gON%{lo{_WJVOs^87u zeAS=N-vZSS-vVF$Xw^TOzeTFQh`;Bl{`2@-ton=jJ5KeF3|&cZV~9sf+ynUf?R-;XrQo3(LKURbm1hVfn&b8`%eZ_rw>>yGi?oLnd~KI zMsC^#2yTSi<^uGA6pAI#1{RllDXMu$yf1<)w702 zcs~>WZ%{GAP+}_xoeg=A&@1nN2LUnYu>cleN$Je)2patC1&I4R=7Bk0pe- z-XDmQ8#&Z?az8S41C~dl{P=_aDgHw&Y`7R#;Z4N-2IIEO z1lov1KH}zSy$;<|1pO`-S;^T&Ct{ANE@mZXH?c4gt{rWNX{xhOmqOp{vxrbJTQ_(!c|!D;Bg+}yKzq;2Ux%3F&EaJ zdIWnaGe6rm`z!o;_Low?4EFy^`%7S150SrY?y#1idI1mhqU0t+h*o{zPd>)JdSk-B z(7v+w@jt!49`}B;zy6iauUP)S!2UY_1MIKceE*{R3r831MlToPD&gWSQZOr8ETD}Q zi9|o7IiL-*(f$ zW8~NkA`nf5py15!129R2DysnX(C~v@U`W}I&P6R#@Salgdf20AvtVhm1r(p#c(K^5 zgaKCUPS}+|E}mY=f3Xsp0^1$4T1#&{U8A88`6(?9?N3hQz=T-hoWAGMRSl2u~W@Z$jLCs zw-!S-H_^?={u9A=-2}?$ItH}G)CD2dFtVnuN0v)O%{vwWau@X7fT>UHdog~+m;~-U z(ob7(6ObdKnkk|hB-|0vmbL97wr)UM09xz@S6ZD9O|j}6!a8&H>O{P6vc9IjkMh(e zLSQhz1#()u(j|sbdlA~@IbOvOXQ&WUMfGP5N2k4xFQi&VDGHPnhc6Ht2#dH@_y#lN zZFW(6U0Lx%NevF=>-kPPz_zDVjmMeZaf-P~;h0a!x_F6Cj zd8Yk8=}3rVz(ILLdFXw1P?r2KD{GHKioho(gEQE)Z%Y=0KH|28?u>bQkNY;W4{ygh z?~5>zEwLa5C~NnKE*tLeBC3-*GGBBOEB`*>mQF3WZ5ob9N=Fp+eff*=C~8d6C#D?{ z6o*0W1LzKsRyDw!eET24%JrHs#iQY}MlDz;*fn}>W#pQLtLM93jB0S^28`dY9$BQYJ)j{zfF;BTszZ}wk zETM7*vi`BMd%;=VYQS`C5>+r_*u2bIz^(U2rI?Z#8MS=%@PlX=(NE0fh3M`5#3c9T3c|92@JMrreQh8`bdS^3HNy($ zgYm0@bg@i-0Q|V0qGwtAL@va#epzn%3<8b`dCV){)Y%KdVd?gEU=vwn4#lRvScbHD zInQ1smFBwg$j`hh7e2{o_A*2@lqGM9_d_lVxnvVW$-pBLB2Gt92TfW7>I*KqU}^Sgo6}V_vDBtj_4wIawVEy`IZs1a(ij zG&mdA@+xUCqQj`uSILo0F#hvAOy#P-Zu$zZ=4mKXeZ3lRv6dHWanZ<&MqF&>#b#Wz z@}d)r7%PfF_Bwnz<^a?=u z>bxs7Zvzs?Xx_DIS-$3NRLcr9?`E}ZwB~J9%ZfDbQ)=0Hnzv0YE7rWvt7YRfZ@XIN z(Y&v!Wj@G>JD?MTl5Ydq=|7_EdW ztVrO$9yZxwz7HMM_ub-=W#%R7u8;ZWo(m~|uhc;P`THyeySW51-%Ct;oL;6q4oiUT zY)pu)it7W&$oX4@d1oW89gPG4vtvAmk1>9cUwi(*dOc)dMvaf55G7vgQ1J6&S1F z9~Ku52U>e6=J}9m!~&&>7xrGThclM^g(rkCCKLoZkOq@M9jWK$bF2S7*gt}~P7UQ< z=5~*Cck_ZS{NY=i zy>c9RRQ!BLE;-I*5OHE88N_Xn4www$m3!AFOacNljAS#2H{RS6gOgDM7{ulzgE%a+ z7BD!ZN^pn>22q$deW?s0NBF-3ud5#fLoEodba-7{{rTYat;|}!dUze_d`-ghko51u zp6TC{d!&C0zH<8a;jfhb<@!1Ve>CwX0f?^rQ8{v5lRpAuWU)wG{DE;#Kd`J?=B z&q$NInf%ece=6Mp^zpX;+nfAi{_3}Jpz`58F zI1O+NfMNx|b65gARo_nzQQz8gzF2+Z4^iK|&sAU7@qga?uJ+F6cu@+UU>JkI5F1`q zM*b<-Ha5&W;@r%_L)eoX7I>Jdp6h!)|BKewZG0_|+>j}-$nGOO?>b)deHw&-9ZIDM zPA;-!#a2mbJ>35Lp4ZnOA&*GH>WJ%0)@ZMuY9&?wsb>9MK-@DtYft{7@FYB7Nu$Ep z*wssrZ$0c3JUNf2jTSoEDmpH_M`+Ao7jH6E*KOjs%dbwWO_R$$uIS?)2fs1pis zyOOsPM$0V|ioj$i)LAeSpXD(+9v}{CT~mk0#$d=qV9FVC*MVd7=@YYnObfs(k9n3@ z6|Wh~V^84qcH=>OhRiOMk9gJ;;afcXNLmULO5>?BA@I{tE_^$n6SPoCYFqHF2Vt~E zA{xUEL2ac{BqTf(UK94@L87rNQ9T&VLURK^Y<-bn@O?Or=3qEgeFP*DD;XmjZS%o6Mv(3WDgK)jfQP7(sK$52bx89V$vY%4`Gu|?*mun)(=q4`?h*hg1)PrPv? zc*RanWN7`9_y%Gl*%*L_nEea3(K9?7dPBD(G>9mo%#D9o4P`>m(v9m+je+=VY?jnD zpL^H)du{2y^?vF;N$+v#7FkYhRo7cIUZ2ours!Arl!ZqK(q^cv!;2sA#+tL_i?cQf zp4PbT1g=x5XL+X(`&zbZUFDsYxHBp3lp*buEorAM?8GV|j>f*WT1W8rv>v2@@;R;$ zzutD|dlww7ann4DsOueaCxzbIja&1?$Onp%3wbI6QFRq`-*7w$IcU+7f^H$xMiKRc#4qT#-6na}~zO)@< zo;7}W`jJ!!l)sPdCEacBVL?w=+UA#FCCyWF=RR?2W^F$7sTp}E*He?o4G&yXDaeCu z#_xY;A|^p596foo*XwkK2FUud4%8Dl&^v@gXUnJtvoL1zd28BplFHU|`fZV>$U~8l z1sRD=yTPF*iFDJp9p5*7Cf&#O#A9^*EFC^+uAQC6y%0kj%CGYaBiY5 zj;=h+P(_baN$Pug*%()T-tS3o5$zRbrQB?keF$}*?yx2|*#2$lUT6#Z(g6+LWeX4^ z<50YhMW2G-p?u5ouL1K7>oH7|kh3136V@!mF9(v{WPCP_1VR5)ZvvoLq5M?#z1yWz zU7fHn6ybzLk1d^-oud|BOb@IR-v`s9mcX)LwRseSFQHXEZb45K+hvg4c<=y+t)*{c zJgG~k|8rhfUH4a)`TE1qo)#TR(<96`oRcmqmJy?6KH{5Cgd@U6+qn-GdEMb~7U3{r zH{j4xMt0A!M#dl96jMzM#aA#aBOlZ~QKMs=r5WEHF<}h1F>|!AZx4b-Xya#k1@t8DWD-0;5h-eCcN{^nT;fo7p?`=Mu@SMf1bG0Bi==4a|Ii;n3FQeRJ&67H z$6ET@>Z*z@j-#HC3Mg!p@Yt?FqP>Y91A-^ zyQ=5nVAsG;y(n5ZUWC_4r?=3VB)z4mE=3z27<-Eg>56GD2sf1PV#RKQSIeb&F@`9H zH4qARaNOZR7*85K0v#!IS9mc#Pln`67>2;;4G9$?6Nryug*4tY$AJDS8kkZ#SmB4S zV<0z+L3!bMq-c|!fw5ybFeK8%3wUob-*=*k$$8T1^1M1Z4|#*~Y7QXZFcYN%EOJS; zQ>wiIH>Bo^>uZ+M4eBE)dO3@*?@RVe(G6l46NU3wc&h1GHPO{vMt3f-_S~XbVti

    2Mm2`_Ny+v(6{T>l-!cV=L0;TJaC z?D}(jiq0DkiSPT1c}95uOR?zC^2uT}xH!&i2RgmaV0ntpS2?BVEAZZm!xk9>#w)|S z^yt%zxQ+UE?GUJUvp*%GMLKyQxtF3%!Xyey6_2^afOz{L0WC~jfO|vWFR|UcUrdmZ zcBX!vFT3F@+duUm?+DQa{Z)w?WACNzd9ub{HSfE9uX~;8bOlbH%=<1UV^=BR|GE3F zfj>(WV zbzk|iUh2+RA6llza`*W+ICr*kJb`bxIe4{>@u1)*w=RDJ^Y%u4@bukTVB|j;%B>d7T?ParZe<^_A^Hb{z;sq z$6EGTUCvW!gTs*yD{@kn?ADSvo?tYl65XtLAsC@ z795D6YDsF3L_l@v_mSkQVmuaq*qz_Z`qq*8&88sDU0;Sk1@_R2hQ!$0Voj25iwjPo zhv&aJ!t-Ux=UBgh2L9g&Kj`$0XN^C}ZI;z&8x93-Oi;GSt6eVaRa87gf`LlTMzJXh!sodUSggde80)!_8&{OI0GDx#nMyv}j)%DEUBIzBiZfe@%{TlMq#a zR_rffj2dYfxuCOv-0^9VkZs3M5ot70+flGyyOp zo#Lb;68TWjcgzibIzm1$9Hc%hfASPS9Yw=Ygz@5S`1Np*C{(1f7mZJ+*zXp1UJ4kY zgZ&%Bu2UpXlZ+HG7;6;|bK@qfQNRN{SFaw8N|f zKUiR>p%ecQ%SY5=Shb+6OD!|tfJRm}3a}#Fh)?o$U~wf{xV*5`u)cmgBVOU_<+7|@?m?7*rd`K1?LTgBDa11U8anWHWPk5aZUcE9_zVQ}1&F08 z!cD_vkg-G6zck{}e24^)elCzd*I0UxMDuuXWY^bFz7EGJc)bO*%DId*i7r8aMb0l= zLC!~sd@4YTWjxVMxC-Yk(?3k6FIUND@L&o^r7gzW$1~2S6s_gfEZHaBwhR{m?M<+i ztS|Ja&{YIV&`79Mi6CaDOTnbM=VQ_0hYbVD=px(1Oro_Na>?tcdy}Dxy2FTNad3X` zg?*!qH|GX4_7<kduJM0 z<{mJ?!cLkX0qZrF=oOHPll~V#`EEc9*C2R-9eAgv;81Cgvzmf*{(VN+q(GfT@7@oT60#EQ?L3$l6To{AO$^mkF8A1k`Ud zYXxNX%`aG(6K$-92P#yc@slNWsfaXjr7N}w7dPKQ_qjO!&cwXqjezz(E1Q1~H|7z+ zHxjs#;JfD4ClY~@_oe9l0s}KBV|siZr(7r@J`cPQfligCe_(Dmo1vFF#JWs__})%J zoC-7nKW!4!woP*l`S0rzKGiL26*WShaxS;qTnbd6bg=^bKtO=7#t863H=E=PlchB_ zzhX_V2)0h=1hMK>G$s_{Y)foJpn?t`Ry>@}nz2&~yuw2VuDovIXQQl;a<4W9-#Ft| zcC-QwLcDX1tOYxcrZ=x++ZpGhHyp_v>Bihk7f(W*-lhIM&HfI^c2L*R4~>EZBla>Y zqcj8B$n8e-jdcmN?5&z5$lN^{JG$5_66nwgNOO9hd)wFd-#(6?FCZM8jlCjXJeAO# zK3UIs0G>lR_7{Bvh=i<7D%SeqJAdD~J}+iX(|M*cjO>da0LL!d%rn`!@#SAV<`rH=XA5|+4jepllkhQyo=rW(aFoN^xD&pu zm1*#DB`$NrW!AW+W?h1a#;B%Z$lp*mvk^8#e&j_=gin!me}i1o5*jH-mXfxbCTJ@L zT7yR)s3Jpl65+AwM7=c?#y@fhNH(jrn+^K3ZIFx#PT^@|8DhIATF~P|;C~Dax*(TS z`zwsfcxman1pPojK&rtN__tEO6e7A-<1;7uD0pLc+KM1l57N(^9ILJA&ZakyYdUzG z*`x@PjwtK(07*GWv4$}aNVnle##{rW9)c9N#XgW!MYt#srn|vj3tJSS98^=GwY12(K*tvP%(>_{WbOWYU^>Kc5KE`if=lIRdlGgpp zs<^{QsPUk)zN9C;^{Mf1_zqMjI3*CCe(fL0RoKHW6@!;*YcS{5K4pm%nh&w80KjoJ z00wsfz|zSUWt)KmWUPN|@-g0J>&bR7EebUICJ9_$FE)oj7MFQstxnLq;4ghzu{Y6T zT)Ws@{;}{R2iN^7E{AkNUC-@~g;re7T)+ocln@G#Veu6l` ziG9ku;>2dxyjOW=;;e>*YMZ51i-WG@gbvI1OvWO3AG}&OQyx zu_;vnQH_%K>A4MuVNRI^FYyp@VR z8Asfs`IRid^70tR-$>-1jvsi?!l&FmT6ilEwK#5gprsDa{do%qH8>s3SBGS~aVGtV0hYS-ilmd#D^&eIvj)EN7lVz%R_u#N_Q{^N}wX7Ma#yA_! z5(oxo+;_9Nk=^rgjv+_~<2eGqaZlG_PgOfioEshjx1KOMiBNhwMC|mocmX|q+{SmU z8eaRMI0;wa@LR#pA8z)qbi{`Xt{~WGTz(8rRqW3yZu#ST-0~E_oR!6WC|a?oj!?1P zDv^Kq3{!~I2q6*jE!;5+4%t>1$v(>Fwj0(DD5hfKb;E!QC%8;3b7K<7(V~2Y_(FiEg&pyyJoxpvB1})``u@ zUnp47r;L}L1}lm;KnI+cA0H~IlX0Mt$&Cegvhj)FRDVHOT0)T||5;_+^e!b`kiw)G zSVenE0sEvB9?Q6$zYdQ#N79#8#7t7i0#;OjmU3ua-PV#V7N5c@R=!S6$`fN=q za)DXwX_fJAjPsgWVo%^*9)wV8o2$D@+Y|4leMHU`h~hX0f!MM+36BX@AF1GP#I^BxOjjE>v7h6Z-QoF(AV%wVijV2d+ z7Fo(J5EzDIzbk{jaH(+`DnfY0VggxnKKEwd?|vLVU779oi1CWSnKPmft>JqN>Z@cQ zYrg7Zgdgq;9(vp-JQoFiLn0J`^zbXtn-(l5+vd^Dat_~7^o&5XF zfB(}EkhRTF+2nyooQ4CDG@cTvu66`91IM6L`w_ObH_|W^Kd@1Fn|C!0Zu~f;s7Up! zR&~IJqa9M#R^!q$kb->7UhIJaZWo%Kj5cO1z%s}3FZLom2W-n{k75EIph(NT!VM7& z4kYGbf^d}K#_+Jp`0qVfD>mJ4yH>MAQW;ywGP5d)mxtWc;m0G1M1CWkjww!WR;e&3UQUQ|AVerE%7Fs$Cwp8vD!%F5#`L@Y={@;Xw&$t19Q)i{ZMol zBx3bp7gmCDwg+|QUXl(OgEDq~$gDyp8*H+>Nzo7@K^b#~uZQkzk15chimxhhH)qL` z@Kif3Mp;Px$Rp2X{3vLmt^P@?{nH`lnoiDHaLu-$hc}S)AcQZuW{Xok?+nfksE`0Q zStB6FZ71d$q=J}#l#6wNy(_vwnGolYld0WdE=Q0IyI&S01J^5pTYZ%q<14D$)ThJ8 z<#98@_MG0}x3U#0vth|I)DSm9Lwu3L1+C!eh*5DGm>-dN;!iP*9fu4Y7LjwJ5&t?m zWR-~&XkdfV0ep&^Sd?$F)Yv%sb5c>M{v}PAp@%rC{z*sOzqbv$eKJG3m5%vrbBbiu*_ATk=4dQuvL6><>vuBWD&ETenZrOVs#A90Sgnkx&j5cDc z__W{2q8u!Aum+J5HN7172s#33!J>c$1_eo9^yw%=!8Mv*g)3>b$C;m{2J5hSu%(`) zxE<102nknl=Y$gFf@3{S(fp|CY3P-4hE--IPxnwR@6nn5;uKYb52JAy6x^BzWVAqJ zcl;K`+U@L_$kT=cb}6->3x-IpZ0`nY&jae>dT7>N@w0;3XG&xTl7DmpcXhH{(Whk@ zogc1G1oiQtjQk*=o+E+{xaptpOOF`gCvwRwr?ze`hX$hrd{+QnyBqW&WbDEq*Vexx z6(tO@b|5~dEz#TK)s_>bo=M@MR67)qj2Kx`?Qej0nFua=C+bkNWARnu?s|ceS_O*s zq=^*e*~R|oTh(WvUcQ$hqcl)2dJINie-H)&*+PpL3P$&ahMW1^fIk27Q=-qH(^xo$ zBIQF>@*>t5cuNmhIz~bp&`(f-1wBe4P}v!Wt;`$+r#A%l%f!|l=quPrb5fzYc7xxo zirpbp;fLxJ>gi0LS>b*_yz@|tBYuO;i=wlxrd`K3?LQuZZ3G`rYTP1%JX#vK> zm1@rti}#RlBLkF7WFlmG2z&B#c@oDTstj8oE#Z=y7TNqUoS>{Er{RZYm)pN+^ zK&1oQCG@^M-L!~|d4^fhX{006#h_9uits_B@zf(UDY~c;y$ItBU)+Y?G{!4aCOtI! zUcPWJySYz+Z4pd-Zi2ZVB#L^>ZRmVr^h-zo7*wn6I}?2v$F7~zp?6Q#{L zX9Fi(-)L;SmJ@+7+7mIe5N14wnuyiA5%yNtS5!2zc1#q+Nl1rYv>`DDH1@Dr&tHn2 z2x=@??$aj#n=GD-m&);5Wtrtnx6E?pf@w?|_ju~6p=e>)1pVF`^o8%D8or9Es^`ek z5}@2_7zIW7*tQ9R^rMNN&XE?hJLf3Ul2*RiNXeBnSg+@sQrR=;fYVrp%0XVt<5~e8 zk?MB9oCgc0TKZF~FMF53#IYw(##O-G=3fa_0_2|;W)^--S zTdM8V2Thq9oF$S}yGK}oO%fUxgrkJ>KXxXNK!(amx@)U=jmnEM&t8wS7rlHk@Wf=p z4RV-bo(E8|%>`h;n!poLkm?z*1&^sFPl^YV#1iq-2e4Riw+&5nBQ}avQ%#1-bjhM01GE>nRc zaIhKii&I-gfp-9oIP4f%ngB2VR_IojLq8dzPjrh{klKf&>+jiNZN_B zuvh$itAjYJ(fDLETp)G}cm`JqG)%lA)xLZe)%+sUt%=uBIsJ*weSn{$;4sA zWxy}$_3g&cJkkv)SN)C6ImHg+s;kp*OgR9z|5Slv=3?H7?8^Z>Gx@fEy2H2(f>+bV z&Bih11Y5nazHoy8KEB^!W0`8e8qvZY5_??_R^xI7SCcRSjMj)t+7b$65K!kPF^;cp zuG5%@8i8?0n`B@deI-f+(%~mSI(#D?>G12Gk&fV^O{CLd3_$%{TeP6uEv?q8v7&I` zb_gBM&VUwNSqCkX7OVrcSkBW6zp|!R;x$}(P;w1^i}AY%zeT`5HAGZku^>z~o`ED8 zD6Klt;?3R+oaU9}%|5LoR*TfvAQ7(Nwt~{vBOF5eLk-Zop%q0iO(ck9eH`o(sfws@ z5x%$x78xHuD{M_YoKr=gG}q{a(N$1eG8YI%sgE$^zFLj0b`P6e6)G;UCk5ZFrBf5y2XtGm_ ziq+tKkJYKu_Ykx=D1a@_?+f&_j!Oze)#b@VO$IOf6wA6CgVUSQfK zC&{xBCj+8<5{}u=`bvCl1wJXjzbgKuDu2nDR{2x7u|E`zKnEaG2as&X7hA=51bDbY zt5e263vh-YLeGr+5XpC(fWaCQWX9kM?2dK-KV*s^5|^c)1_JZq;k-~EfqlaR#tKk` z`$ZGs-bfuB$e$NYXxk+Jjxh;XwD`2YgW$Ws^%PX#R(RraFo6 zWqmOh{bHBstg;py6aQNZlw}?;gC$p=jN|3ov_c`Xy$x2~uPV}nS81bZG`*cVRG<=RQ2sof--|>x@jm1FpGeJl$ZbZ6-l2@hW-w|ZWK^~4u$v-G~ z_y;Y*6G@Bk{X8i-h}c_1@2Q$q)&=sh(>VVaVVpjSEG1gI5~zKxz%;7A+7Crxi|`r5 zq6CnKxlSaaj|!A5N`lqR(HcH9u6q-sHSrJ5Bp5>kt3gV>XtbYVk&;87ywt%8O==R) z%Q17H8jpgKya#n09U#F&2~q@28uY(j3{oDJZsNY`hf2y1%&Z+uWPhuFKt0P6&o z4?>y33AFLbWsis=J_Sb7eksr@x2Ov0g(yPc1mXzd1+fp+iZ(oL7Zj(35Cm687lllE z({{1|z4;PAEl|VncO_9nqlFp{3=*iJoy!K4CW8N`ODKlGT@K5U!q0GistgFdZD@+X;d)Q(7hFlxMjlw83$VsQ5DHAE^b6wedHJNlJSbg+HjCLN?h&uL4}L(O z(OB%9A)wCyh}d)t_VA;CDPC$6Ib#xWh@H#=Z7c|Ov+wXandvmegVRYyHUu@~cMyZX z_{TJwekepM>@)fy-2Cxd%x-q;-rdJo-FqCJ$81`Skfup*1m-b^Zv^A_V1OKd&kdb! zH58vBt-jYHfeF@?b@2XzlN-z^u{F_Y`laoFA9tOQ(LlHtzvl^D_;gFzfqB_X7xnog-M4HK4c#6nxPxdV%p z)_F)OEUf8Icn|(>#%W7wO@E^J`z`+c=D%+s@C^jMfxtHq_!>ZEka zNfs~VzINy3%)!@Y+}%j=UIKB5f`-zvncOX8yFnx6znR!vRx|EIM|dwt&pMO*+6b@0 zKuO2KvuP>`ZUf=ZAXEW3Ye22zDhNI?8xgaffqk^G?B^TkK0VSAKLNxY?M2**_Ppqn z@x3PnX$@ruDA#~C2lF1RgQ?bB=mj8`fCw(Ajn1bjTDhYARY7!E5gPWI4Ex>v;1z`Z z?j-u(K7(wE#V-2aPIANO7iPGy3Ed=eGhPdSKyVyps`rxDq}z6ZKB1GRc0Q|R+oH|T z9~5n5zJCndIMHwj*0cU%`kM+9T;X#n3wM&peyDrl|BrsblD8S|S#2u~ zY)MS|ikFNC`%?b3aA5~LpAt6H#wVME1Q24Kn_Tf>k~#|0$?MoiaRHIZ`TRcgq@v~I zuSX|fk=ITsVj1fYU^M=0*702-vU|!n3({gm8<2127w46XXhkrKz!yVt4Qnz&e~u6O zAme^Sa|<$) z@x6@gl4j-G4lCc+Xb3ykvhsZjNxy_+lSPq&*rz0sJ0Q)@_uf6Mw2jVhi#)hAUohUd z5DU<3-?;Z=j+C~y6;2q`{!J{=zVkme7U4lG3}FooaZT-7Ipg)s%o&Ko0|L0fgA7xPpiZI1A4Ci@_QL8y*8?OmAEN(VaK`gpm;Bk`KTee;|0{ z%d?ChJ)1;`jly@f)p#udi)Lsk0cf8oATw1fCV#VCh{uu9;n z_z%(*B8Z_d0ze38dyhil`q(q%8POI{p4}MRrBWpPu#xzT2HSiF*E(O_xFSQAQ(BQ| zBX@>AtYhF5VAgf*;?4?E5$(VomC3%kb*=a@&S@hCrIULFdfyBCRk;UGd#*U$`YZW2)Hm{G}i{6#Vn@*M%IdzBb7jeSE(|peG$oQqw>WY!4 z(8#u_W9UVw&$V=fw{~ZE=-!RJLg&@I@hN7#9>sMPBjcx_whs~sX-&*o^TuatFpq@* z`veS>0hEq0&PGS1)u4}XT;luF4tMKpP4D=#)Inc|Bcquzlo<@@) z)u+HQdw^s1FvN;+`t~G(Sz#fV#Rmm~!DdG%fm>Duqq{>xf}kAqVJj90(ObRoU5QhN z&f_H+ayRIE4lQ@9HwyW>p8L#ohhDSXvRt!o3xe;6Yj(4>X3yoCJ;j%{W-oub+nQC_ zF4ydw?rS!nEd&WOiFOB4?OUP~>3d_dbmtCHxZQXNTFM~b#6Paq^i|4WM@Cz~N*8Xg z)Xk}tItau1+$(ju&w1_0_+>q=)aT8W`t8h>dTLKA6;d;Mr4BvUsLk$Ssn#1GoKEL7St`N_Sq2 zwiWftJVjm5p{TdE2i4haa5o653tBDxv7-I=D!epNA2%SNFGLCmKjX-N!tuXDs!VR# zh_e4rA9Dz(A3udBRlpVp*$rN7jO`%i2b`8w$R5 z&%!gw*IuIMAn?yjl0L74nwz-;EFQR8p*z}U{6X75v%N8nI0g)%0T>;jx(LG3cBk>9 zCxD<@gsxcVhfkn>IMot^@|3hMgnPjOkc~P0q3g1nS-b;$lbj7RshuFZ3?G_l&KV_I zfo}zl1FIFtEsT7&5?TBX>OeQyMdP-MFgVr!ciUdP#Shj)Ku02Un*IA6NM~JIGcH>& z^iU=S|8Cs4g*X{-pu6TdfX0raaeRCT^%)EQ9jAC?F-T9nVjnC#(2I(FMsyk3-)bbZ zxrD*liQoJ3JMc@722xV!|FJwI%KlRv5~2feA%b_~`JaA){G9*WJJ~aZQA32rcB>TK zD+ao3C4T(OaK4Q6wx5|b79n8yhVNTG4aj8FEhc*O*(Kxs+D5HEb1*B~kNKr#G2%^Z zD(&m*^)WxwR93DOs(jwVl)SuX9o}io{6ZyCsU zPT??$nYxE*l;G3wa-yCB5QGOBAYcw>l;T-PNJC37#4Nz@1$R(Maok)8T`NIuW_xSi zg7MzG{30?1Zc8UU!is=Uo~Dz|_5LLbMs(-ymbL2;FfxI7gpiqleFvwpk-B|wa;9Se z5hD_M?M=z6AX*zvh7$Pe?Vk|uFo=TInYg|=c@#*7`Bx=Z=t`A)O#^tcno0yN&-UmrT zF^b*zEz-(H3p_bAM$-d6O3W{v@%!)mZ(hP`wz8m5@h=o9(Sf~!MRIvWg&X3S0 z_h+$jIUCk~x{`a~6}j-I+ziTk`!Inus1|3qhm6BHRE8k<*nhHimpCc1w;TUpqD<{B zRznNYLi0gl3r~?qb9v_Xa>={%8FOdqSomtb&>%*hM<{INwMiS8weSR&*@G_RLCA|Z z{PlQMynyx>ne8_u+ZPXx(EjtqXura2zhM{JSIqXssU${WiVP0ZzIcJ-hua0Z)8)$} zv_F;YzwnqCeLlF3!5?Vp;!o>674XA_sdd9pTgZ&~Eo8V2z=#VePuv-x2I@0+D-K za`0C6BB-_oE@h<-F%U@hP3cwSi)LK>eEa?D_BJGTvI@Gyjv~+FGrgeOy-A3_~It(Hgl zYq!D^7}-2TSoS=V-z=GqsOus|qeqm7Kqa-uPeV=;bX^2ZL?XL1c`N;6aRyoW=>RC! zI!e|qF(WJ%$|YVGEYx|@DxxT~o4$nR(}BQ$_}={ZV-9-HsI`eT1?)ELhTEf9o9KRY zJctiPMXd-SEHY|vt%LsXaMjB=X#U5tXbAdS97T%8pnaIit?;-O0gy+b$c)ldESHqI z!sk-yX$2O>s85E|tpMP0>H6PH_$k!!Z8hFKAq@)8)&dF~e2W-AM|<=sL%Q$_B66Zg z2om4fB;{$lIBoeT4uR*wUI>>G>?eF*(z%y^FqkrdnH>#fV0=F zjCIWKgCO(VivebEwYOwO19rYAY*~|!s1x`QRU!hZI8Z@wUy`EdZ2~&&H9LSJqda06 zg6>XxXx9-!pk}6wGXG|D;jlMY?-@WMY2)I0!n(%BZ52s$KeU*afu!fn1zt1@5bq;Y zSwP7!sZ96L?Str|aM2x_w7(tmN}7W%kimB8o=y0MTJ~}Z<%Lokm1X$n-eU+`XjGks z^wI8N$J6zp4S%2nMW&bHNkZo#&skROP9zxJb)syRNRN47l0X;=H}gXP5<#Gya^x0M z+;vRsUBvImXp+>R8yN&H2MFEdp~mc03Xz#ZGi2=+*n@sZ19HH)9RJWCFldX3T!5uL z+G~u@4@a1;_T!mlru{fNjaaI%A4i-=Nd1ATg#GxrAAvHa9v1fF;GUdn&Y!_RQM(Nj za(qLU5(ertVlUY<|85JkCa2`~UN!3|c1*@_yWL2um$@NNOiq#we|!B4m(tK!n+v81 zP^j?8!8@IZXCvkYk!!?nw}!0(yFK8NHe&?ih^X1b4u|?Ep!HR7go+dATTFD7w(}8F zFS+xvy#qZZlmN3|niJ3m-ZSlqgtWe&cW)zHY6rsxKN8Cdoe+ujl4=KF$46qhQtkV^ zKseRf9{@sQ8aGMnOS2NKk{*{X+p4kdeQVi&S#wLTMz?8*ua$4B9l zeYH&uS8EQ(CQBOa5`3aP)AVky$QxOq{*eP&p<^0m;e}0RJ*T6d z&@tjO=a2DOfBZ>S^gULz*{+CHU&WFpyQGKSY{9d~2iB)mQprySq)K{`d2k@NPVQ`W zqhTYyNFO%s;>}?<9&Xq#vA3_L_jWr=p0i7O7KDOBaH;O*IRmp0fk0G{v?`)ljj$`R z0tS;vrsFF0lh&`*img`aqoqn|K*5Ap!b4t)1Qnz{>cprZC`459{m;3xo88Ukxf?(W zKPEeK=gxhcd+xdCo_ijfDdjC+3YWU|Q-Y-xu=JdH?)o|FcH=EV*kD+y{@rcPx~<|7 z<#nsrMqj^ceqHf4ZkoC}<6hCtT7NgGzI6n^O#u+Ds_Pa!;Jv8K-e#HH>h<)^X7ihh z4Y(1#*+}VqP0&}oLFpA+=x+d)mE-(Rv}0dTJGRodZ{rVR1Nz;p9Vbyc`UJLP8-26G z{HEef+=zC(Md^~S9os3rqL%*Bgc!;b;w6kaPl$8P2~oBedg}r0+=EBaPRrlS+2DUW zW14tl^SxoHsHkx1XdmJ=^&o+!&RI0}=T>#k!+X(47iAw~X0I5@=>k9coR$<5Q?;kt zs)|vRT5&D?ZK~WYDo+cld=CNVV;^u@sJssEMdkmd?Ef*dSA5`4|A^8*@uh!A=@kb3 z^;a*=-9h@FOeb=KnlK*CTsjed%n_{Ax0qz0k3ij(eF~^246J<0e50AU;yO+jy+_CU z+(6G2*Yn>A{Ekrd7r0wG1%EA#?6;ZOD{kg=QH3|YY%)Do+`@lvrN3DB zmMzST`5afwUo&H5T=(Jf;`#@!k8mBrb=C8kF_Uo>;d&g`^SE~7`UuxST;Jicy^t9* z7}sQ6ci@_hs}xrT5IzrADXw4R`afJx;ramYzQT3xi(*euk^1_2@+U(S?9-{rB-3J_ovxt%48Oz?&PwQr&Ij79JydauD#z#Y}k&uK# zp$XT9enQK5P#K?uesUl*AuqIyod^LEP=<(y(A2m80gFRA-A1hY4El2gVByZA{Q)uS z+;kt0S5RVr3wjwm5Bo)$NH+i++s*~&d7j`)zLUrsCFddGS8$#`(c*y$uf==MBffW2 zP>1^xO7BnKl}*P6y`mb#GoU>cZ-hK=41R8@tn;a?4Z(RU)`mQ<4}NZ`EQ;n?u`W1o zMNP=_n&9V_%6f##l7k1bVr0m(EBLvkvNEVFH8^iYPRR3!;OCagIs`7GVt8=g3MJ$@ zJNUV!vR2|dvQNn8CEQijP!=|O%@ROvaC*dbqOHannMOykr_(|2$al-7lOiRBE zKWSQe8h(ap>BI2j(9#|F$<)#_A?|?!d^&_LPD}2px@EuZ#7UzmAN9%WeWFn^9)1Vx zh#9~I&P3s0<{pbN=uf1VUl|y|1?mQc$bBl?l29!0lo|@+G7X2XBq41COpwUJYAqWX zA-Z;HJ%}+vyn7tB{K<;Lmh3;YQ}>hFo0vDwJPf@J1%qXRKQJgQr@$cM9l7cV*r=RD z($Qk6(-!H$T4H}V`WaSMIAqu=&F#zUJghEAe!CS;4c4IUS!oMx zl#-Qk3N}Wv9Vt={Toi0`pF_t7e)}whhi$BMYOyY_5-)p4$Ghw+J@v53`lG7Nz(Grn zb%ZzmN>VkDN!0H^3Xbx{;j(QKT)4{i-S=E9r|c#l4X|Gy_$0Lx?KA%KEZXCZPZ7`$ z_`(hS{P^EAOE!xC);v0C;LMB8J)IZ%g>@*B^ar59xDc)G?!xetG<2H*>E#wEqLMXYZliJQoFj5a1R3Bwy%}X*h52ePYEY|I@-JXU^zXL9Wm#T8Xd1U&Ye- z8O=e=wGN80+dbI+{R@Q8wU~^?2QMM|sTF{zmJ)K3B`c!WCyYvytQlCm(H10vUbWmF zBB3~OB>KaFo1^!vK@TV-7&Lm>RDSsPGInJeVs^v?v?&lcPPoLt37$X5G+8C3QaH9M zErAeMd=G(8Ou4^Lf!`nN_hSD_{nK~q)*+Qz0(TU^@XEQy%z3XvppCx6Z3mP^mj7zL^D3g)Q1v}*G44Ig)a+Kc+TKLNg zKwVC2{!H}Y_?_Qv(-;5L4BI~ePbwuGeVFi20A96=KA@yl>4UF6oNwP&EM@Dh4G5 zJpcpRd=~mWe*J6bIG=V8EpJ~gO~c$`9iRQO4prG%79;J~G>G7~8e}aQhUZp__-MTP zETzI^Z0T>3lt=MD-nVbKjQ9ix?;G%1n}uRwX|HJ4_$&!Q2*4q(RkXgmiI{|AWZFku zACG;+k%!y4k6>iSpJwpz>o1v1=1zp~SelDo8Fy*qtO2VDOgrF77hHB6Lj9n5C(D`) z3kumr>mxG0{|sC)A~+8ztgxaE_#SOkt89<2IfB3SD@E9rqCCL!OIC|`$M~!qP=h;6 zs5F4t0zi2)07^-*8T*Rbs4XosSWW!e(o`6aI z+UAT2a*-k#0lj4q_}fM|P5WQpcq{roG2ZucMQ9)39MZm~!G^O?m0LFbdzkLTcZn z_O@^H(;%bIS!k!l!`Lkr~U>?yn!qrDv*w$S$Z=@F^Hm_(=!BMAjH<6mV2M}&lh zr&AhC!nZUcL^AwVLv~^O584+-t*c!a)Qlepr62v#1S}^|IIO|8oE+omqbm zQAt%18aR-QC@>N){uLA;0gRJaPwo`f&%y3ut4~GnONB5I1{lLJQ=C@TB7w4E4Ln!y zgZqH24Mz?FbJHx~XBTD*RYr3ItbBXthab@9jhwO->VB{jVZj$QtZvfS0KtJ{OrCQr zM?b?rPGSI$b$hng(~V>N(6SFLXuu`cdqq-(`0c+ z;6XyRb+WTMn`rEPPr)+-X&yl#W`k49mSNuK((XjI&8RUmDbZP;ok%WDq$RWZ8-pH( zdLK-?kyn9BJV;3;j)W^%W zzX45DEXF_KTuUy=urMptY;R1BY_)y&;PWWslVc2sx8Ui)z9+!HGSu~zSO2VEvds9C zeu)cKais39fY7c|4%I0s&}BBDW~x;1`(;Kqc%X-qEuRN^WD}M@@aP5GLh^;RMX_&@ zO24I5Kp$bH4A5cCMM<q^l zWJ;4^B7iA%s>|Ns>1iD3vAnT<00R9Q`*d>0pJ9Q6EEK#0B^bLn2`1m*IZ@LFy8LJ7!D_>qp6`-Z=808_ZiYb2w%FQ{`2k zZ5R*dHzC8>z{BY~7Hj8lO5JEUN6~NwjwB6T0fv+8QZa-)oIWf78=H*sVTI=Aq~YpOSC4e$j!q1Eu@)~MKPXzW+k`{KM|1>-nxvXs5vsJ;(_ zKBK4 zR52|>Rd{yrV(~9&7&K$JN^bFLjPYZreKd65-b(}`dr#Y-czX|IgA9xgb4oPE8Y_7A4yb#Vve z7t}aR`(a5g`v!NSnIBd!ja7=)%>@dBbk7%BK*8lrsp(zRzseLH9eDbwCgs{Vls(w7P! zd#t9cbLkD>i%HTD%-4oZTl8c zHt$7{=x%p;uQf<$5e6N3actnVmirS5uSJ|17GCr5ssr$v%q0cjR~`~N0+tr@9vgUNbALkN zmCC7M;nfeXIsmW#Ob)@X?MP@51|4}png)LMK~6~!j(VE*>!C*eq=}KjoP&_YH-CvcHLvdBxx6F%F_RGfG2Ii(*xu^-&W7IjDsgofac9ALyI zT2$%p>ySjx-2(385XLpte5N0mk0-j$t#ZXx4%g$!!J_-@;rfIsh~f}9xYm7|Q$LB% z!)~zHM_AqCk>-JpK~H*jF~xRdwhylDwf+z*;%6va1mNQ_xWyx9ptlfF=y{2#0{XpK z7LRkdHf$yA)DwqmGb=6iKPMGlcvVCu_*#HiA4;8cJO>#vM1GAftMS!4bd)s6xi-fV zQ}-_MY4%l~9#l$w(r`Uq@MLvxn? z!881p>2Zif369U$Kb16+Juor9!kvsT0v6%#X(IZ^rW6o@4j^fiH^XY&zY-gF`)Ac1N&3^1My*ablnoh5ov#Ps1>LX(~_P#P=QJ zh_itB> z;k~0{3MZ|$mo{EJyWTOnaeHgzrDOB>AN-GS%OT@)>Q*RX(D8>8#~)4`E(|ZVzs9F{ z->m&K1GxP{XNDE;FQE3nF|||e_no&B&~1T0uQLzd8R$QoOyVGj%5mbJNGI+Dd!up= zrNS#jGu0pHY?CV$G8w>YY*BDjJzcb1(cqkg6yS-4!RGUMilAq3n&CU? zuyH6G7l*RRO%w+jz#r$*HBSzlGcDc)w>CH)CFT7yGNcvpaip?8q$=~an*WWBiG{}g zv^rJ47bou5S)6*6dM^5ok*WFwrw$i^KJ9XkRrCox(GL)^UGAJ9{eSY0BbVHl3jLum zi4^u^OrlaUi{k3IEYnbc%i;oYQtcVZo?gaHv&b>4do+si;K(7{!oVgOJ9c%D@84oE z*5CX(7CanAH2Afx3M_`Jm_VN0T-!=|;BDX>qEc&TIoHB_QXSdK2k2fYB-~dz4|`ao-;+aO5iIFRYg ztMEOOPP*A-B$bdv8XZ=&tEt648U=6&8b#;zIAMWj5$J?v?*@*1I;CSM9yw8Jr37>S z2hX3eJ}o*kq*5UUJr~*wh^YkOVV%H3oH9+rn%QH>Izq&=On=Hw;G;!utZKqX#lD{K z@fP6YM1hYW>RG_YkATQH3A68Zj|M*CD}4YxWVMBlh{!{Z7B`WX#l9-A$i&9&zhZ36 zMzW4P+9&Pm2= zIE~IprNfZ5If*gGGgl#ks<}Sb4{Hs*hzrO(2Zb?u(ajsinqvC8Y4vlMtDns4B9W(j za}#@`b3!@9i6IL_=~;hH7Q$M=Obyc;uPvU_;a06aLDBBU$Rk0vdgAc`9;rQR_(EtBCMh#U{~qBe*iO$g3Wd@pjAvfmY0%Ek z3CS4s2xKPTLhX~0wgvp0qFL&b>9swP$VWixDaeE)M_(o&Xw6z@B2WdKn{2@?aEEVY zJpuFugdgwHh29h@CH@dKGIxhsWebdiNC^=-RCN`Mcz8>Fr(}GLtJh5P!(EXU=4UJCE$W+0yDVb=CTUqC`bu6 z8&BMX1;g9tMzYO&{-)!IezrA79eCm(rxY@1XDZQ$C18;GV)|b?R3;hu({?-$8x8uPG>ms25K3 zjg#r4<@m^~Y1SwT_E|uCr2^yX8N_>7P{gb>3O85)SDn0BkV*?7T@5XfL#&G6LB=cl zQSL1$cj$e#SvLlhxp*ZBEU1d1$?hIbJIcNW_zC9zZFGY8dtb3lt#n(_WwhIvNTo{D z+C{NOEV=Dx)5z4Q#zUv?sSR;Yyq z3OhA*e?hLG5t|t161DY+uS{>mhATnHpZy8$1E`k3b#`EzAo61*p~1RQw5A>vJeE|9 zCK>VLF>f>!OBjOzfa_&M_dJ788(Oh;-03D`DW zic-d)6vh6&2jY)Oz{NG#;oFQ@vk>9XUrcIWAwbr^LNqFbe608yu%?D18&3?F7~hqW zKH(bFDZ^U4WTnkmATotcy%Axi9!H_v#EmuvQe{sAJIsbsFY-iDQv&MCAe(;RO@TTz z&3&rs%^}E8-U~$DVKgg6xy@!JSLE(v&dL{3Uu&!%g1BKcEB{CjKlK5Xj#fa5-XJ9A zSYIgrA3dpJm@Gh@$A`AO_dXucwh147=Y4{{10NA%h4Jxl0DW%>9|0U=_&cCidl?_y zMBfAOamiYNkAI=J=KA16B>j@u89Xp;%d4}>4KFR_3c(+-|&%+eL_}Em)>pM}% zB;@nq&(;DTts+zV@NoxyNR2i|Q)T;`@R544W{v3ZKatF9jjT_% zQq*#CMm=4GMbCgkf_XF@?Acb&6(qDPfc6<3+;PT_Nkrb4DSrPz|Ls^4vGj@%0$+-+ z?1u=!vkAeea+xc4n+Q$~Z3DsQ)vjO!-$V#rLJut>IF)}*FB8Ebprw%}x@^i#{dD>G zIyGz};!XG-%+GX!{_Z>D)t2b*S`NzIF8cdCl@gZz&M^yV2mQT;3JIjYS^RAfzAt^5 z7?VKyYZIB;hwm_gH}SpUbX4|q6TTBo-M*6PeIWf!eUUbT!42%zzv#~B#39>@Zc={bUhagU`VG;M@oz$=(Scx?q!*w>TH<$-6X)yomUf9*!l zJfQ~wnYdIxE07}`)GG^NK$f9QkQ3jGZ=!lr4y? z$m~;r4q-rO$et<{XTeRAISO}(kLuD!*s{tqa11rVG6tu_WX>#1sIdHCZTeExUrbuS z_zr_+kX(3tQuPMMzc45w{)trf6<%Y!3`Ls?{^?u9s&gYk!)zOldB@>g7e}IW>I*Y$ z?}%i29D&o@dlC_kFHN<7jaliE($^a9Nr(&HfOs7+MEYVnh%Ejc+EIVQ5Ewvx;gEh; zjfatDF=M!xG0A2nBe@a^nm#>E*6+jtvcJ@`e5IaBrFQogHP-j?msquT5Nx3dV+Ih$ z++ZbcUMd}mnti>dz@4-`U{6;RwX>KXUQ8;-ucE(??|u7?G|yn57TJC!%U;33gHa{y z=B53n^IvOpuFXuMLtL;&y_4$xj3S&A1&FpCldSb4Vf9T|?#9kCN8tM@tz+20z#WG) z8S5$LjNdpOY%GpZY0bK91rw-VPy(y2yB^(Bs!s3ch)xk% zeUIwBJ72Z$mr5z}JEE^ci{rjTmp0Yrq6qBX*~uh#lLnQdELzdthI%WEf{qwz*Rwrn zPwW)2Jm>9|60#n_ySez?3v2isIPT1P3Ktp8=h$%bcU+P&|Hao?mb3(=srG|VZu3ss z=l5qTdv90>rUv#+_Zg(dbvpPH3n{nlBlV$E;4{m3U0x2a1sNzlV+#C(qT~@pc!q1x z5@I1>%I{e!d$Xz$G0J_V86Z6mMy814jx7fwly5d>auHd3VZD!{@+30lCnJ6-VVqpI z9fiP{{}H@=3NO*>fR}{9E^iLnn75ZYi^dllD_@{4xyLd8`mOs+w3#@yF&4AU8Q{z| z8$Ct48CC*L?B5iXvVT)}@yG#x`mJ12pAVhdWaADl)$@|*O9OOpMX+~YUpU(OW@Awf zfdhTuzGUsK?;YHDau-6bLdMI8MVzmcROh?wUrA*{pw*!wmiiWS2>b|fXF_KFT9Vix zJ^{XpWMYexY6+^k>wF5U{@F!fsOPNSgCyq!_z%XX^$4c8x_)=$yvETeA?*CvJFzR~ zMd!+56@pCoF7kRMLa(ya1l|PAAf>di?-*-Cz;&tcFzx$OKo$0%;RE@*8JFb z!H;l$Y`(rL=10SrPR)Ts=Mb}b7qt#RZ@z^mX(KP z=r|?II5MYw`ZEY!M_X~#doT9sho#boks$Wz)3Hy#3H$V^25sb>E3kpbP95Q4{QGG- z3MU06ML%TB9nKRbhrHI&jxaOHAtjWu+$#2|Av(C5R2&*Jqtcq zt)s9#Met@yU5H9VkP>VPakc~jc|zl(9P?zvKpdP)R+OOX&v3zW{vA_%P0XBcVu}YL zB+5W1V(SjsHhIo{wnog|thdGMEN^e?kZmH9G=Jrgbt2j|GHjaclxA=8#-AiDaiwKm z^`*PJ^t;OXgiL#lxPxiQEy*~hq6Kd&+NIjRcTdEgJkckwXoo!EuCzAh^Y@;m+$TDH zw8;oxT_D>H_i(x7wWMOyiJkt~q$w(#$rix`2m%H?8E0~#0=SY@fKswP#=wIZ1bcE9 zMj%hFBkcppN<(2COYjYNm5o=5_x`lyVpypzY}K>i+2#I)7$M&njB02;2CaZy%G%y4 z)TOL97~WENaNoL*!R=0$y_0HW`vH=6+;0E|g`1#=};9C#b2Lljz$57;f3KZLr z)I-b;)!rzTeS+w9O@fVTl6~v}Yzb$D3}kVL3`B@YWc?vAOCbmOXaLh8n#OQdN4^Ai z(x3N^h799)t|P2`WBun!JFx!$ zwteeA7kkv!|HL2m`XA~KEYfF{Gzx_3tmjPqqZ+!g3CeEbbp_F=uF z`TYa??1{}F1~AtCl-0r}S?B=YbBUjyAWcr8^3K!{9L0P0T?Rol-$5(q2x}rUxuVYx7WX@+I)^PX1Ier$BWchHgAK(z? z(5IwfLSYTRg*wJ6;X1b#8YKkhWMylktE^FaSO3eVhR13y(i>iMN z-m=Cub#K11^*c2VUX|~_5=#uGkH1n%K8MR?l@#{2D~+3ta~y8bLLsZ{>W2tZsE<|qIkz8t8ta^ z0!_8rjGRZA^u@`Io8_tR=gU(M<|}c#mAHe%nha<H_K?e{kxfS35Sz$=NWx)RjkJ)PhEw=cjqhK*$d^k2Gjw4QmWv7I_VkD z>N0S&OOYe>4aPvOAO|e`*WrA%tM((aegzOBJgn@!vr*pqz3LSplBa&p;It`mM^J3C zaqDlme>q%t>y(2Pu_vWV>}^6u zT0ThAH!$;6WVlc=F<&%5#LUtTK(dM!3+4;Foth*Q^M#Q_-Q<`)VGMu?AQFl_@)iOR z2l83OILSDE+Q+|(lN$K<#iUg5yu@cQDud6Oc?#2e!gW&5KYkTuI?0qZpU=O@IG*P7 zm|;hEKF>g;IIuDuo6j#@*v0c%O+5l37lM^NvWKN6vA&bQM}*j>HsnCI zmBTjTt((mhwGODL1Z_mQ>0m z`(ov|eJpW;Xp2R2M`ZiAEr{ke8y}oWlkf`xr{?<63RIUL`i33SVZ1oB6p}n+90#je zNLLLZ-L7^D>1LoRVj2|v^A_Y~lJ|7L9VTASu*i$#S3G6``tY*X1Nq$%|B#Hrfw+G> zFc76l3kWQF4V)AN9+HbOaV{g-W=p5z+gd%R#mKDZgW6GP&Z{;yKNuf+mpB-Ak6@6r zE<2ps-voP0vcn_NLkVoe2V55sy#VJ92@x%*qIIDIj=)L907Aq9I>8lE%m7JZ8cPy? z&xf~7C$>V8xY(2=zGzAkpJ*mY9DD?>Nt!sDcAZ9aQmFR>{;at?a@!?s)6=7OzOd^2 zqst$Ca&IU2qo17K#r)B0{i4Mm^%VVU&weKdm39q(^!aIRk%lfiUl@2eh${T(&KHOW zfjm; zBEv<**ueYNMr42!9K3|lIF(|&7F@y$RD!U%7qLs>cO71}J4hSb-TteCYrnWz`+pML z{@%^n|D7iY0`*rM)%MR0uKkx(dl395iVQyZtH=-x|6#!;q#WJ$uW$!J@1@H_+yA7< z;A{Uw$PnEAnZYGYr4o)F{v4Se)c(&QR||&!E|J04{*A~G-2T^sOL&1wh)VmR58+O- zvTBBcPzdDKy^7BCG3#XGzDr|cAh7by+smn0IOwN$a1m!r5U=634YPKWaXP=QHebJK z{4DtELqkNH!NiiwZ#Z@CD4W#o`TFp*Ab8KBnuGBDmm-4?-V=}^7~X1d33jvX=yoLZ zCI#+ID&>@wDgs68Tfw;3z5Zr^e?=yx=1?@ShVEAP9n|Sm*?TMusBq zVe8t7!2#`sdPr#h-rp9|KU+xuW(4<-JpDOb`aU&fKm23Rez(p3^)~y5_}H0e*`RWf ziaYfzXlrITIL$%5e1(DxqHpYN-s~zyvqN2#z0UZ+HHMmQ%M0+r;(alx61oUb!FFJm z598?l=bHR&8QDKm!~`f|%d+MwcjNy7%-V0HI zNZc+G`|zljd_kX1Tc_CHqwlAKUjR$s%lf?Udn$B1vk5k1zW;k@)R0B8{k>@j-gJOQ zD%X_6!294=QVHpTP>Tyx?>#8^CK#f}xB`nB&P7ROp8<4KF&n2-!!I>od_*v{@0Lne zGH~C7+4Vf57^=HaJc>_(F3}#j+>DXW%s zoLz_|04<*@PFhX{^?-r)JYaEr5*|ic3A2;%*P3l3)P}}5?9j<}dlA%Y@*amBI$+6m z=#Lv;^`d#7R}0(i8mK~52xS^fN<_>>K~ z$uS`2WiENukyU$x^dLdc<(;tz(Q^=s-6x-7FnLiF4{)zv(f~_k{|0!VU4>NNDDAyN zydh~0jkL>qXM_yD3cCD7QUbJ{q=Y9)3MVBX#*CEkEXj*V-gRME zRkY2<{+`qcD!@t~Tj?vv2mug$-CX`f(aJ6YI1ow0o0ku8OaUSiIP#5!ToP9(Sw$PH z)TS|L(hX?eO)?Lgm+1@;$tZ#<$xMpcU5kc$QKc90FI(bC3h|I4@FJvubM0>7$WRznr>6yX$OQxAgCvs6EN#!a%C ztsDp3sLq!XZbZ40Wg;g$3+i6`7UZ#{dLfT04Q1H|j42^9831rR5w?u+lCJ~f&NIM# z_%!)|dL#s6OfE~qYf3=z@G2`Ml*wiS+7EjVB;+Gu8f3{r`HyJoAZ{+mptp=l2ky~0 zLP{sPo+DEV`rhFFnOw4*rYZHE3=h!vWc&b_7*b9#wsohz&!<`>tCwn*tlX+lY)4zD z*}~I<80kVP3+uD-@afG*8u{lxPQ_uQ(Yq%X^8L-!$!9C*!&Z>?XWXc<=s%Daqe)*e z(w0$`qQ9g7NFzKrgvfR&FQ|1N0Y2jGIYtWDLrLyIbYD&zT3vDwj2+=38XlOS}sCeHac?MF#^Uo8h@D};!=WhzbKhGD5?ctwq_kAD8^yc}$kC=ZxiHi!uKY#fP!Tp8h zpB>gH@y`d3z<*;z{PSXza4h-fbw6*3fBw7qhM1`q`R9XuBjca{`8@-$ll=1xe0?nV z=NR-l4By!~{`uwas1woPpQmt19pInS`h@LAr}^hkz75lrXz59FWw`M-~te_lUcuz$_u&;KxAgyo-Ox<`qB zUUDE({@INZjwS!BjcbX2zRP^mD*wDBE;9bvvp*94`AU3!EcoZjZq2z7$e}vNKTrEo zup$teMJRtx=8`(VKR3jN?MJ8i=jZl?=}I*C=aF1+7xK?v#6**SerhklAxix7Xf7;5 z{<$yu7rNt%gnwTCg&66m^UpVP!JXlsQyN#Gi_w!mzk@KXw66{5V$}HO*<5yX_~-Ya zJa9t(+;#lpe|yPo^Us639pC)(vf6O`^D{_ofq&NUDwuzsfs_{H&s2De^5+X(Vfg2M zBC$RE^QWr$eIWn5T_ocBi23JVb5UXB&v%eQU{PUszFz~>69$o#7;zP7lM@fHUFn1yv@@L~?0!Ih< z=Zb@2`_XCs`BrW~NLQl4Klc?q>pK07zkLlRBx?E_lRlz>h!X#N3Kte3|Gep|<|7>m z|2*qM>R}Lb86EwNBrdo!{Bu3xYDbfQ{{08dx)?S7`D!jZI{fn!)hGDp|8^d?EBoIz z|GfX;UC<<2Eo;ZC{`01A{BsggTi~C2;Z-pIeCUmq_~%`C(=z}3sWS}!yj>)=hkt(F z_kAG$Jm3F)#QgJcE-DQFe5v^&EdN~mMU?pGD|SW7KY#TeQR!o-|Lkaqf8KkIc+)EX ze8uOH@y}ns8wvmXFMNG0wNx=Z|*qNLP?v zNeA_xjp*{v*Kk>a7v5zgLeg)4{i)^KKNZ2^TB)l=7Yj?kgNzfq&mz8$!^dU z_a9gg8n3Mi$36cAsV#8NI$i~H&-WsQ%<$McDz(XaaHBDa-gsx^3(rJk7YY-IPo$DG z&@UJh)>1rFy>Ea+oRMf^t^aw*Hn^zQGX|bVA!2?;5n`OWW1txT#*7g22EWYo_C9II zHqIhmJLeRM2r|Ms(MXH5WL$yIEm1$eTOwFRXXna8vl~Q+n6jtXvWQyY_tAsqbxDf~ z&>~Ct7B!$nx!fX8LX#EcC(;9(VU*^Aby~?V08sJXlSc99M>YhsmfQ<# zZ7tUEq1htli)6wt$j1>iuPa&v)0!oxhiy^zK6xliohay!CxK$xlEn;xjp4^w=+eKS zUl_=JLXN!(UG}|F$$30IZ%&#*F^v_khYhu5z17|b2Tg6G>H0R%)aR+G9et9@CeZY0 zecYqlu6B+-1x9w+zm`g0!Hoz6y}%f}hj_=?6ai@57O)6C$uKV8w49|F(6F(@Q!Q~1 zHhRLJEQ8HxVK@i_>rKWNn}{F4uzIr=z}~5+WbKQeQC6hEjy563<}(7VL?w9(Vf9#H z8i6h}UgmG}3>+fV!U(iRn8oG$-O-~qU~fWS7=T)R@sE{~H73q{COz;iJEp%msgOLn zc9Np^44`R*Eus~jr)lkJ5n6*G2_R|#EdrTsP=@w2sqDL^&4cW{aSIvU!jw=d z{U?)NvY>?l+%CqMeS|ZF7>qN77i3c>aHbGXY*@!QgY9LO?86y@j7^tqWSnUL&X9#A zaE9O|kS39lhD;90a@a;lV*%16nx?WAV-|m$Cj)7)@61XTNMj?UDHO&830N``u&N}C zOH@ie1Gant3IlA3HO+?M1C1BEJ>&}wSVQAPdUhf16}XLnnIdd%VX%%s6N)|#W{Se*_LU6;2J_4Y z9l%!rA#FOd3djx<55nY@QZWy6ut4u~4~8XXF-j)LU{%j5!YqV!V%`+vCN7Vw#Ri01 zV&%pGq~lN;3~ljeGKUg}>18DfLDzWJ7|HL2?;9KJ!UU80#%Dlg-zvSWLwLDM5ucPn_%ui4s>sR4Sr#QNn#v9GdRV# zkIR0Rnt*q3B&6+Z5wwBK7qa^mPqJ7{grmPZ*xU{vKAv7;hTnvUgB`uqysU zD*b>fc?)o{A=yZLH+Wag2E@XwSjKxanID)UvKcX_V33$%mQ6vPK*QpV#@clR5Z+i* z1!x=I+)H>RmO#BY#Ud zp)UwIb^pc#nZb?e|612JuQ zsL|a$^l|o1mYin6(ZpN8CJ-g`ri=`D3IBkIVsvR^O9=p*7+hLLj5!ay3Q=sZ&wo-=F`_0AF*BL+UonF^l~Cs7<5F86qrDGiaR7S zw&E5eR~JhjKJ=_&m=3F2A(;--Hib-w&wfd4ofitzVcO1|FdhDH-|wF2e{>-bPJR&V ze`wmfKKa4%>3`_L#o;6fry;ck3Bot8gh~)TK}vZ2wKwpl<@2}O5iGu$|DimQ*q-yZ z3w_@Qp1<|;e;@Jr+xqjwAyISt5A#LX^S2oI6T|Wlx&NUhRgs>*xlzKgJb%-YS~`Eb z%X~wOTZ{J7OSVRK{^qHSgniJym?SATqB=U8VR$Kxf>+TMJG2C0+vdYt?rsH?2+ zNAz7f5rk7w`*z9u5SSVE4%_69vGw@2g~qLLR@vcrTTlLrhzCU)2^-&5MkLs|ig!{Y zZag+8h0ZurL3~|#>L!HFfb-9|ElS)bW6RwTSm*~-`+sJ+{r)4(c(pDsE9LLBt+R?_J^Wm(r!}v4tpV7ddd3SXXf9^|cH~zf3I4bz# zMlmPw2lBuc;%gTgpPb$a{Q1c%(ZHYFUv?0G?4qshp+EP%92NYz48@$lpVsi_xzjp< zKf4x11AnYjJBUBup4x8uV@C_4uzr2@_Y?RtY*uUdb1UM%cX<7J@^8_=pDj~5h(E6; zv>SiEeJLvVvlzwv!03;@TGeFR7$?OTfS3I#IQY#+^u0pEg=jQd(H>%&wE`$q)T!E( zEvo(@g6z3;17}w?s=l9e>k1V6TOu->^L0WUSKL7b5%J_WFx-#qp|z|@yQ@@E_C`KD+jc5C)wz10$rPlkSA0!N1;IR*i#@70qO|rBO3ny zQ3qz9r~x;j!6k^yq9Pmw0w0J6_KxtSM!bX{?T0lUl`| z!g}EV+XZa_m@C>yeE{)&Ap*6pl)V2-+!L%B3&@l)l?)P+1N8@{H_BU&Ab2Cr;~`E2 zJCsWTMFes*Qodbb$|v4!OI$YfcLeqDvNBoUt=f;^JRSlvaBpY`$;*;S-e{AjilXWG zU9s;bQCS!}r47c(C?66ss3VBud1BO9R7OTgEGkQL-q;nQvaW>h1~{S=@}D;0d-89) z7QQdc{}IA>D%?}H6TUAz*0t~*f%1QJ_^?|(`EpKdSncCz}0%4#1=TQ_! zJJ?#^)#7>7oNvgTgf0(sO7km+Y@0mCbSJUBt)o5RPlB8em1(f49 zvmlV9fM_Why+a(y7RxYur&!VYKOs)%YSz=e#OU&c#U!7+fzV z?cv`h@!>mnV|y`YH9^xkX;POku>rHJ`S=a~^D!E~v?n?}e&78%8soPpD&u!%;jtaR zX-^-c@hkd$r^j!Y7LD;s-5!nkcm18mcKlv`>KKh*#p9hGznOERF@B4pGJe0mv&1*O2|yUNz+q zd>}3qd#vA}0%`*GSPtW{d4%I+1xOP2Oz2l&KSVx)ill_nq;kq?Kh%N}?It7denN9H zI`(a|HqkcAL3V`z2x)HsB5;((dbQ|u^KDkPY^+;L(D?$}tku|NT@en3-6XF97}jls zd$oYg&T)7f9{=ZeJ^oLh`2)lMM?>-d7wy9T`sm`nHzNF>84djJ_2b9?N4p;XUn%{8 z;s48__&=##`2Xs)QKkRCjtKwnjRyWJYku_f|B-tDE?1q7yj#`ql*7? zBf|fCqJjU~>K{G+Kh*X3KV<$74FC6s;{SE+!v7n_L>2#`iyHy|KRp`wzYb9Xe&qbW z*7f*5{mCB~{-1IsA#%X}cU-&hKV@uG@qbQ4_+J($lq#Gd+Gm{peC?=|WwXToXXcK+m=m7xj5)t0GimZq7m!^@J4$4sl#zj8|4(TprYmhYy-)XY%*E+e{kqF_UF2TXVkV;vD z;7-d)^~$-%R|P8&sArUoN`bZeTG=}mYQnIb)ljel{>&WwacnGoWIUTg#>$zL1C^5N ztbAb$uk}DPooll#u}w{kvW$-Hr5MQMAi|aOUeZ8kUMA!8_6@56W?j^%OxwkG2m91_(#?rz4rCPDQ;jixa`W;om9WzIq4jqpC6dazZG6B?f!JTw55ps#tRIo}8!g56VWylX zd&dAH*O0V*&)dsMUlQ}=2A(YkWPJc-a=%ML>Vc{^+a~MVDd!T->FK3tS31jcEcFFT zb1?=+pBv#1m;z317ZZf;F+ao)49sPlm?Flkd&PXH&XMt549y6d89Xhh{3)jqpfLj! zt*3Ks4)C2O0rZ3jzy&k}{z*EiNw=yqQ-R=R^LY?NRFVCFlA_~K;v3`cUoAr;Y887= z_eHALA^MKUC)){1p8n4AZ1ilcqMb#J^S5Urhz24bEiEFXWTJ5h8*fFI7%KZfHt3$A zLO+2}xwU9TBjG8=P1dqy)jN`Ya|N-`vZ0uWva<^m$oaMGDYy!ai{pby1#0HjD9uU5 z#K-_;0yh%;Dt@cI_%)7mHsROwrGZS)0#_9@ z&T>cdlf7&c{bxTBpTbXsY+vvG1)(NrABkJf zd3&D)jYQZM$6qR!tjd=XVi7XqQiP;Z5LznpQk#_Ew8{2e9(a!6b44zk2`bNXSy0X( zaJBhB_=)w@on+V@O58-%tIB48peCH;Bne%vWBcv^=)d(R;6TRPo?V9I3Siw%Gv4y98OnKYKH6a zu}Wi=qQxjBl@=GcfzNS*9E8$A@Q-$RF1?0O9Xj$`Rj<>6hGq?UH)y^&8eCpSvZBQ* zUb$hEHldrLlvE|t%|2)(J8Cm<&fBdPx3Ym-wVUD6@(rchv5%-vR(XCc%J)<#A@ek- zQvna{#OI5qbrC*C8@|ylPlY1{jMs3YfLTMf&69O!gX~o>K8S#MZG%h8O~i#LN=^(( zg2N(N6$3YNqN-hsfvZfGtDQVDndR4Fso&~Z(JH!aY(`&0#_`1akoD(i!^ayxAM-3m zjulGxygqhoq8~^5*)fK;QHoA`B;7KkQacH|4lGdVR@xW7HyTVw^F3e&7W37%u=XM- zDYzIEmDtq1jZ80i>4Vd2Uj3l>v&HBQC0#uOyB(}zv@dOOArtLIV--Dt7Ron&xuUT; zBbh-Ou1%r&|BU>^!=f%NBNZ1+k1`y%WL)e4I&8Q66fd;AF(}VSd5bu?jASm@Ay;R} zL`%z2ez+$2%c7eW;PD-lUc-6xV*s(ksum#BLU}Jnxx5LTEiY31Cap1jOWk`@SBPz@ z`MlBhEXt>Wz-}6QXj<|tQbM|g7Q93$VR)jVITEql*=UHIY{_-@MvZ)jSX6>U7AY(4*>f9uX391&&Bt?@@VmI!`x@wxc{9 zQyK$r7FM1fGP;;=5!Tn{_kdj0;cgHDiC*w{(tZWNansHPVg$D6$9CNbn1934Aq5*4 z+6KU^&towryC8jlTB4RLBJ!OKQs);8X}ORUF%D}E8-9~zJ;yI0N@oet+t^iFfi|j^ zWpQaeRD_`QNr(>pg?5pIAfz?v7Q!LyA7(-D0QZ zDbRpKCZ)uPccoyr^QNM&H(Uc(G-^X+61VWTg95&FL2ReLY0P|XId>G~y(eXCfm|{U zw)O}5e7ss=1^}ekY2J%LgIB_8_r zpXWpDqe4C%XCPpuQ8rn0$3-+}1Ncywi=tP!;Xt@DrO2v|^rp!$En+V_+cI23_rdfM@j9&kH;VpFv{V9G3+ozEzzXckk1gQPV|v#u*W`1 z4T=UiETs6a=Mb5$X(G+0JRfr-Q}33EGZP}zPB0u!5Nc;K2(`s0%1;tR81j4#iI^6c z)+2EPVUA1dONb{(@yAsl#hTiFQrzNtgEoH&ax4yu^iPdgwBDtQGba@;TeKKFsW|Kr zKjvW(4mk7#>`!Tp&j!n!&BsM+vPnEn(qDFt4B-<=-NS4YvXhOXi%9~^QnNMU_(9Bn zPy%!_72WL6*tOX|W{=Rnv(ZLh|KJlG{UiB)_&%OuJcNTY>QQyJDez}0xe%#uGVc9O zEG7(=pdNK7@30k$37!x#!(v< z{}{H}KN6H} z@90sss`}Oz&K|+{&_QE@qK{4uIBYy6;QrKrLr0t@CMxHGcl;n;j$028_3BWk#dDrw zuk@U*=(Hn`jL}jJGM&2Bm4>L)SVO(75jkkWb3`NQ>&tz>cPn-0c6Q|>+%JzJ#rw`7ya4ybC?$7a1j~pP8wZ-@1T<~;hP%$tGs07js=DCK; z_!6ErJWohgkTvFUFU95bHjD1b9q8V<0o^-88dOT%J1YId zQpe}9{;di8j0Fy$RO)jvmO78lO1)!b7c?2DgY(MK#?Z8R+-`GNf9fAr^vMBpqOe1I zen8&`P`;M?FO?OMITZ#r6?=Lf=`^Ox*u(fnnh&)*y0nDF1Q~W+8ur)P6ilch+Pcm8 ztQh@k2BJSxrzwCs&a26`%4Vd|Y2ZzO6O<_+;Du1gIsy*ZdOH-o2iaQTIb#Z*YslUT zr%#zlQ;bjd5Ls^bjIafO?KIXWX+9sMvfCJ5i`k(qflT#2kwkp})D-;&P>K7J32=%& z)u!klMg?qsSVjQ91}MaK6n@XY|6_w6?WcKujuV1fV&Y^t$Om1$oLJOU$cS>A&RYe2 z&8gMTVETi@`TK!$Ig4cbD$j@Pp)X+01WlLrF=8#!Lo^DGpSfL0&FFnjvhJgYIB-QY z6VE46BGTa)DlWGO^ul5Mgyz1A{WmS$HGeL*K&Sd3!n-qAR3 z9;r%!C4i7fZ!pf!XH60rnj}M2Xp)%Lu7$6#Cdp567>?plQl)Iqkg@bysXUxQ(+fao z1c(J8vGW*i0G1oSFUyi5N#PZ&hnB;1rrzoJ%YQ@}bESs`A-Ia^U}5WccyY_9REJc4JF zWo&bJjtqgPqK{3o0Gx{6J4w|q+Y0!SuF(2%%b;F!327YJ*SJqL;Y)9ad-~=ka-A@p-|bA0$3wu0v05 zEF07pW7H4`%ap4Ew+W?J&@eMf7cxo*^H1ze%Vs=}qdd|mQEnO~I1)wg>2t3Sk)FGz z2ybPeWdJuKjWtnsAE9nPfx4TRpE1V#-G{ti%l5C`i9%Z?8;D9S`$s~nhN2u{w$J?*% zJU&*B4vUZ0zx@~E9%FrkqpkmNqP`$;OQiZZ;yeTX zK~#u0^mmM%P_!a-KuD0oDl!nioJigsD?wY~-SM#ZQ@w3Wr5A}Ij^7AfHg_7Nf_+)RAnGf9tA5r|cIpQP@~IJHjRzCsVSNfhS}8 zRaBg)R#&q zzrr|s>A?4QFN^H^OP5FX{gA4)&o8rd5CxLl4d z{rKpLsM3%5TwDj}M_(u&bS?d0)%Ig%Kla&$)W43~k1fV`?YAGhCBZZb3A6$UHYMYu zK{jz~hQW~~5dQk)-8d)eko{4?pP0pj$hj^1qboRPlYNM3f8@OY63zD5AAOI*F@k4H z_D9D1bRc<*?T^09;$2Os{n1rV^RA{p43A6`Bsz@2K2R7fHn%^TkxWo&hyBqf8DS4O z*;)qYg5VCC*&n^MndHF?s3zM)foeWeq^5>NhFRk4NboCWL3{D*?WY*Ve)~4l{^;WK z+lgOKrsFu(^H(}f&1t9o(fWf&3*~}_f!7-*ioQcv3#7~~oVh|QV%mE`6y2rvo+k&} zd*a+3rkrGnV_)f+D(iz;tBYUt>BC{VIfR-5b^$Q@^!EAVQ&1yGzp(vkBtc`)kq2q9 zVv4V!jRn+1*x(r|ZrXh~^1IK5E7|A)J=bY3qGx zd)mlPN;V8;v&Ocb!@)PrC_Os>zD>6Et&WtKCE?1;H7<*4c}2!Yv`_X;g^1f%Xgn6x z^3sgVsFnx+2ZN&7-y-9gsFqh~jO}!J9i9(u;J+ODKJ++#J#OX+~0n-+y#wK>H)6|GCCvQ7x~?$c$=vg~nI? zJKNtTeou(bjr7ZdEg9ReJ!$rRH+;`BafB%fk%%)lh(wvB`z^?=o5~vk2687fE&{mS zKImq9xZT8o?c{a??H8NXmu5Vf*uMHcRocnzZrm6ty@>StCinun#=dEuR z;BAe3Jd0OeV#vn{+W^TIO12divky3>X$ z8CR-tXa8l5j`BNY**mgG)@J8sdb0}kxz_lYm?7IB5gJm7ToWK0x>?Jp5^E`3=v0(A)oLs@iwL`oM%*`Tsts4N5laOKxII-teDRbH1wH-gMgV6$CFiB0%cS+C4g`9y$A1d*uSwJZ`;ZzDKr9euUQ;c3W=MJ0qPViq%9U%O%@>F6| z(mYaiV;@>xXwo1$0#0@dx)DITUv;^8GESbH_{to;_n=wzz7U5RbRMN7JrT$Q#t<)dtGed#;%ut{{GZd)L35i?s5sgNn3?R4Ou6q!viy*WrZ&Pwd3$fOJ2O(v1%iRy1Y}X>{s4$jCA` zOFyJ)vl{#pqlsi^CZ##C#%oy>xG)>C7U9|_Yne%fxB+};EyT4)*7AyR8JT3V>EzOC zSsz|se26+AmmQQ!6F~1|{R&yX8oqs`((ilX(K{Zq+f`tEdJ!L`LBA>ox>cj5K)v%F zR_}yABZ#dgE`ataAHVByQi7M1s~YFg`hm9uZyCuKxKd5c&ype=Ojo8r`SF*Ps*Vas zoAj1>s`hLpKAZ-Qb%0C%o-9k1lFgE;c^)SyOi@a{w@x1r0mcplx`lBw@Qy*2z) zwg*4;<8Xd7Pp+T?ZT!1mwKur*PgE&q4=UKA;1EC7xN6{Xm}bGHn)r}BGQk2a&J9=X}zLidF5UTD*47X{0BqG!s+@UoIff0zqJuVBj^C znLpyy#>Sepn7A>{xM~zjFO-raR*cTgviC`Dx0J!Z+_!-NeJe-D2%peQf@8hh)G3$# zwNkQ4QuK|geINR^4-hI>yyIexNdwR|Zx$p(;#<+TMKb9vtyQ&uQb}w8>q3+o?Il9e ztRWwfA#9;5vSrt~@5c9cVtOp@(OYTdw z(y*NjO$)2bUgfdEH2<~6vP$=rs_vy~;7G7WSCej5;?_FteP{N_vd@m6JyvO4jS7wic2or_}SIIKnK`e~_|_QRetsetsMYHGZvH}_&0C{AO265jEn zQ*!O7Kb>!J&J3_S_0xLbC8d`fZj?&rp!l+FQu%MFL0)eq9-YMvu~J!WFK{~YjdU(p zE9>xn1BaNP$Vy5jd<|SCJ&8i<<9n+1J<{Bl@u1khljc5+n;{45p2LrdUKFZBT@`NV$Y&-MkgFtk=TSl03RTS& zQ=g(jAEiJcB^XzOarF>FOiXRvh53(Zu0wxTOmFC2tNJgC)uF#!B$Yl&pevcR1;Zl{ zOV668>a!}Lt0E8#)Ih1uN<=pLwefFBqjkC!NatKZGm3O`E%jFr0H-uzn}P#b6VDjO zzD-;XZQrcNVdf4bS3q@)QQ0uo)n>t!kjJK!tVzbaF2-e0SIR0;vO;R&u06)vZ_)xx z^a*rI&ob~^jNd)@U5NR%04NQ2mr0HDh*1TqNo5V)>1$FQ-Uw?SjGJ>gQexDhQxcu} zF4$CBWGVeRt6Xxgz`$OL9jX03DpvvMRdAiP#^`+>VWL#_5*20NC6zrBSSHO$P+BH1 zvhK)7Q!0T1fHzP8Ht$sp-DP}TIt?FX>3fIky)U3io|_EY7u5@c8;$Wu)s_=gz|S81 zC?&HKtuB2wu*9Wbp%9o8u~hYttC>m>uuZyEe{~?F-Q{L zFc5yML>n=Q(%=YFAqTSJJ_n=6i850mF87(x!Di&WL+CmYR*V7xb5X$-**iiuruKM^L1F_)j29jPH>}U6@ds5g z5eg$lcW_%W0As`?u$n134Sr_%aw4I|^i9hfv%EP2fU%>m0Ra(T8?ob2ZwX@(rt^Fn zc~vh9C?AuWQ;i+tI499{NY zjlnW)9HB^ifLqbpm{=yF!Y_yJscobkK;v2{!sYjsHBYVd(CR~^^6y&cg3Fd$WIeAK zj%nSOC|<=DtZ$}j_clOgOMPDJG|)i>+IG%8bWVw72Sfl=!G&2?aVv}<=pRLK4hn`0 zI%q7r7_*@4p!*DbQbAPFl>(OzZ$r&3&e%PST1~z?2*24?%`-b_*zn{eW)0NxI^YAn z)cTvhAQ;G><{&cqR&v0rOtK41|H zoexv|l>GUH=$T8vb7`}bsZnd3Ls&G8%S7O}Bz0|>U? zShu16JT^^iU}N3>f%a+GNL>^JgKqXb ztS^w?6hHVo

    Ho7ASSm0B}DnF=g9Y@LQa zd%5&Rcp<6sIbp)oQ5whz6D^7*mAGvfB+b1Clf$s?UP=WpeexAhNxg4J0hdz&n|Gmr zlI7v3SjwodRBSXkOc7Kphi<+7p4SBxOXD|!iq&29ZDXTRI5s?Acfqv#!P8+iZ^qO8 zYbf({bMXV7?w&JEer`qrc)1zzLk`x%INU^)3;d{pf_4~#;hDDyRj&LQp$caKs$39& zDnG%SCRCvuK$SC4Uofg%VC<}KAF4P6s-%WP6-s1O>Goi|QN^@x4~H+i`!K%9K70Wg z^>P(K!`&|ozRbuqK6*C@SEL8xNot@o4;6$j(gPp!lx&7{GfuACfHy{uY`FL`V(9OQ ze&^82E{!OOgUTj_13JT(tU z0tf_bH9m<}?Zo)N+KWLed;kA4GyBRWY!K|@;?J;iX3m^B=R4o|&i8%idl(tCbI@~k zUI4lu{)yPnz_WO%&jw#SUk=~fK}wD5g}4^%y*OVh=;bsl{(Q{b4AcR0A+syP=urBN62!~V7zszfX(p&Hb0Jo4eXHxZ0<4P0lnHYCX|9Ax?1nB z;cP|EbFf?FTJaxexy|^G-8Sn1PSht@kNEhH&-+vmLt?`Y6d>;X>*5v}HI-mQ)TJB>k7qGk`RxV=sm$9;_ z|7ff%>fawLi~4t%WpjKgqSSx^DPZ(&?WKU0VdR|8J$%SI)-}O3&3qwg2}RcnxOZ@X z;G7W(v{dLy`xOfG{pZE-l3Gt(AJO)|e;+$HXk7(6mtLq*y+7?&Z=rlRXkB^w?VsCQ z`u$}rpjI|y-CKt0p|?{W-!vX1er%fGL)h=Q@40*bo>!cxLLnw_1IjQ^M;!j)qz^wW zR!~?^D@XxEy#nZ?w37tB8?Wvn9|*d-4dP?S5T|nD31l;I64$v7HG1Gn@(qEXN$0!h z4UTx3#|2aY{ekj~CyzIvPe_;ZQt(Eo8Eko6)}}#D^^o#h4BWOTPv4Per;_rFV*kUj zvqiCLDe-2Bfg#Du9@(=$^b_lT^sE=URj)a|m)q7x44KHAOs5H(3NXx`0(>CQ7zEx8YU zm3yN8%6cY%Wk1@tS>R zyk=iwyyni|y`2!Ev-7m|30?m}n zNRQNN?0AmU!~9S=rQ_P^=9Af)hQ%$7ouBG zUD1e$4hfhsa#l@-_Vsl8^u@ma`)#SeKjcuqFIE3XTJvr1f7X1v6X)C3Rg+EaG2i-# z2N6Xv>)><#^44DGJpXIy!Z&WJ#U<&b9sgR`APBw>8v|Lt9J*WM2icN#WMv;;^N$xDl zG5o+0sPV}gXid-gu4pLBM7G4266?2^_2;Eq{|9FM^Lww4uMZbbGtCjizPG%g4#PKg ztOo7YrVI=lV< z{fcOR_m2*x{e#iV9^e1qX={9Mn-@h!$o&4LhxYxb)m=2tlvLeBECZqz37G-{MP$6# ztFUzm|L}r7nEn%FZ8Q!hkR`xjxc5_?ISGdi;3F9jl1+xEAlPWBqw+gAiku~D$A}Yv z#CVnnjb-Wol`v>6j^UYpz$cCt821wlkJmhB_*f24MGY8>*=$==z-F#+pErd9pf_{a zR8!vPJz-j9@zhpct`zXv={Y2Lb${|N2rt{;O~n5bdDwCxFhK`!m&>_0Th^`sdQ8bR z#$xP@5d~*7M2kbD4~B_Cv=0#`YLYDY-83i{{RfLPrHAa4TmK;Chm-nqku{SQ|EF_I+%GsBKBehAc;sJLc#w#>A zRi?-GRX8SuvvgdV+0E~6G(EOqM}oy3pDxnQF?+0)V|KC|*0&;PcpY9!2pW!Uu2kfT z1TCU`7_+HE*l^!2EEVXrO38}N$9WeJhaTI}KJ~eZ(|;)TYs#-?$VKQS1x;kIMVYo4 zw>v8D0wFs$DzCyG&q_x+^P9FM$6X>F=^j~|z{*TV`nqLEVWuPfil`YH2&l?kbJmt} zA6wo@7@E0AO)%nQKUFT$kFryTCO5&i!*~_G;3lN1>cuiDqh&2XhS~e#u@#ZuK*YcY zSO^p2Z#krV$V4_U2)hz1>F5r_{|&+dv>PKdzl@w0CfZQ@Lgs$H@qm%$kPl>~>FB=$ z$h8oE<;JG(CgBS}VdKly=u7$-ky!H!;Kv2?)5VWLqNar(Hw!aV;~RfY6Iiwha z8@RKi3XLwJBVfah4~~9-tc_S)M*?LM07&@dGIVVLIEw*P3Z+cdTrce0CuXYBQw?fi zy|j8FGc;S5uxq@W$(vc^4`SRRL369BP0r={cvfV!V~GHqeXW$hx% zXMc&qc>8U_r%evSHl^I5_3g6{kA!?^%#feCMEL9zC!KQm3Xz`~ixlKyI+7}w8Jd?& z;IVlLZwl>vJw||jaQ7?ax)J$z_RfR1{zLC3$k7Qv{Q?DQsr2l&=z2)242jBqhxM!K zV+Qi6%cBz7uc~()=JLV5f25xu?(rPf_M)&RnqYpC%W@d&5F{Du%AR4xIG>u6%PKsa zFS2~3>nDG&ud*#Kp_ebCW5&}63E5YC1L*ba=cTNfJbp*YS~1Ak^xISUU+Dx!Lh<4pP!uk26`Mop4{g`$a%NBbK(3SWU7vGuv@ z041Vi${lO<>|f~8n)upo!F1BauN%)`-14%4_Nfdx-!F!6go^e2BW z@%hpo&xL$Fo7qB;#v5#y(85lIwgzsHbvRv8wL);V^dr;^W5Qo)V<40_A`gXZs;6pa z2t`GfqMfFAP75N<7L+)}Q{16kDs0U}A3|FT$5RINpR~}FSA}B_M?1wFEv!u-!y)K5iTCl!?*m31Ygkm>UlopmFY48r?r^upNT^|INU!r&}VZsWWLLium6>}W8 zjf6Hxu3|b}rCQ0t6jdO2+URZOcaJv`nhG1wZgCce6-tK-S(}07+KvRlzR34@Lz_0r zU$}eu8;D4V<=eV^e@5kKcs@2tzn|vvX}dM=D4+Cj{qp^hNJhqbcyDC*w5^i=`7>Gn zV%C)&Zdl-3zSI?gYuhNNwEBvo5@c=`kP;t{ zi;n6`#Yatn*X%^Mc4;X^t;qb+#PL9G;bT|>JA6nxE~?0JRXARp)mZk**m0O^G8vyi zvD3t7zxHxUd&g=FCP84;eBM=T;IQtAfbMZ$Na{?uBmOmHAC@x`LVqPMdfgw5DpN*QK`V}W#Y z&ZP?NFQ7U{gbw%?3p05(Zby57+A?w}dZgyLF!kGGpmrFaGU z#z<4;_>(h2pWvXR>#M#sE;4cY$e-}V^7t2PNw8CRTJo#Lwv(X|fsZcy*7Z9ORYtoS z7bD+2Q8>_v8{3SN&!hhDMH;F~ywpc7zRdKS%Mec{=fe4yPO>sxV1K-kI+i&IB?4Mp z0n9G#)zKk+lGCr?mHg01JTtZ+u`OfPb&tGO>h{FGxnq#PQ-<+ut%# zHLsvZ4XiO~35+~|2oAWhSN{>4mV#MDpbWQ9n_a4g|I18W1~i*5s=>iE_E_9;_PB$+ z&_CW^xUZ@kfhF=WFBfw|lYIcq)Pmv;u$p9VNA) zHX~F=@9)W{Virbaz;+6ije#fO+^uSv%c&qH(&B71g2NlXXvlaMkrxo+!N9aG15Z7V z(>vq@F}=&$IHlteq{W)u3wWuIeCSehcF#ajfgJ>97x5f`{MPQjV0i`h>EO2!gkg&_X@b>0d7^@6QuipLa1F6NQBxRzku3FiBOyH z-HmXnJjq-lLnD`&aNB`E3BAGXfAB0BZqJX1gIjif6mI*OfBIX}&Mg ztW<4s_^J*ZyZCWcvrrW45GWeh%hj2&j>Fot5Z>r>=Usi(+$Q4;H4%V6E)f769tB{t zzb(T!pc8<@O#pU%ZUIm~p?3h@f@jG9eDL@<05&1BfQ5K#c&U#(rPKuA<09vPK)lXL zSe5-+{r`HE#eQztckP$;e*={s3|DNJD2bg)(eq(Me#H*JF(7uJ~YyRvu)hD z<3rYfX$%bhc8c`Yt=jX(yFXq>(JGgo_j2??M74RgXdRzG$rq0ht z=;JoYHLoC{CnA8z49l|3nD-}g+E92P)n;=L4$uIlX{55v_}L}qN|&_*(Z)@OxmJ^N z(8@Tpc!Te18$PF;IS$YM4-NM`~bll)swrbFh2a&2JHB_qTeR$ zlbZp4ga=xW4`djfQ`gfH$nn)JT?4_njQb7tyK3?ATF1Vo%;0zgE2$G<4!{tijRc?b z#bD@r_?t`jE*px5^B?2na$GT1t<5oOT=C@2E8K7BD_GzV}J(?#%;^-q=hnhRtO0MDkXGC|h z4|u7MoJqzXPxhc_+f<3e; zI%T1?r0;Ukq@v(cacvt{mQY%lMYc}>?~mgJ2*xLZ;A{7AKs__v5fINDOTdmd!E@Uu z7I;?TZYmHwJtPhU`-F{vkP*6gsgIm4n;>`<#m+2jCs7h66h^Y6l2jBpMu?JQk*Z%q zSchn>1S;CZC)XgF%6Je^@Xo�U$s?cN(XOKq40k@%;{LL!hE|!eTz2S8UVJ*J0u) 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� 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

    Xm2b^Au9q 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

    -6!!w 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%0A*+r08g<1$0Pwt-y{GIumBH80>o{nq7}ZBc7KSA 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 z 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

    TCqHFha5LkmwQ6=1smf@xCFH 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

    4Q;^(5$~iFa~9qTwRiwH#D& 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

    FqY2?{y3K_q#PNy?8anZM)?I8XbGg!j`YA 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

    (0J) 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

    &hHj=%6$ZBtw#NkgR= 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≀@V{3kQu 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�#tmF>Bl4S=a}! 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 v-A+r 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%0D|?{d5tKYelY` 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 z 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¥j<>b8yzKRp4WOpy^Ow5kfG{J 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

    uRB%OvBH&s-iru#Gw3$L+vln<=omVjJkwPP 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 z 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%0DoEt>yi-3 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 au{pdv7SqR${CyA(Jbv> z2}s_Lnell)GiG2)?!4N{?Z0DDraRwQQf~x(IMcCtM;Y5(UL$tW&r9j15l3{fO^aT)MEyq9y0*- zm;u;;_(h-|GXV9N;UY6;0O~OVP>&gaddvXSV+NoeGXV9N0jS3eKs{yv>M;XQj~Re^ z%mCD52B01@0QHywI1citi_Mq;*a~kHI35@S>M;XQj~RgMgOWf!W&r9j15l3{fYfIe zxTEgL6U5%11L<}-QN{yD0%?mM0BMV>fwaY+fwaZDK-yyXNirVzB9OND9#Go?NLxGs zq%C@VPsRg#0cnd)AZ_teAZ_tyAjbnA0cnd#DH#tO3#2VB1kx7w0%?o4fwaY#lVv<` zB#^c^3rJh!fV9OcK-yx+5*ZI10;DavfV9PRK-%INU=-Nz6d4ap2htYb0n!$~0MZr@ z18Iv-fwaYxE*THB18Iw&0689559D}Y*!M-h-vH9TJ#I()`f7cA0`<-9B6_^45>$PAnVbTvjRPp+tJW56TZ{hRvRmavFprsoxw-{zVG+e-hKVe`djeMC3SP& z=}Da*KipC$9P?}En!|5QGMf4!Q0oEz^*F!j?}#d)1SNvc&Opph>(zkSwWU5q**7@p??G8( z8WU?oA3q0LCu7Foo27jIG1rL~|EZMCq(R2}-6tZ))4*~*#`VMVlp)HT#EX?Ic~^0{ zlU8(bwkbb(d?Tk(Q_F%2UpW%Bd zPpSV3DNjy&u-9zie{Gfa!15}$2Vre}McE13hAob)QB!8(1}XcXcSY}0fmZLK^K!fX zYx{+s&hTZJ*}b~02WP&XRQ={A)x1N4I_=YR9=&+c(~_zU*GeazPb=GN8|_NszmsYO zuBV)|DrwTL`1G)LrTOikE^MnDEd5etImkQh%AQN59K2PfU9r5%dHp|VS7tf#XHA*N z8yvV*%Ee@0xm=7Kphn_3!brRyG7`@bMoz=~tFwm}nRi=03heFE zq<^n|mT;zj67RIb_D&i;&GHQ!8!UD5moek2JdpV*8vkXNNj?iex)PA>1D#1bQNw)^ zD=?Pw#!M|^YSkF%!u>YX8iyy-=&5bE_{)`LB7!#2t}!tFqK`$s-9Wc?aQhp}&+0++ zUyB9eq}m5p!SHBhuDZhLVB&?fY1#ZXj;qC<&IZ*uTYrC7ziYD5$!Eljv!X!C7L3Z zf-81-P|uY|lX_kmH~!P4Iv&>vPF$Z>Ep9fQR1e`=0I?kNeXT3Tz>5WK@Q1Z(p{-mBMZ^7fw0Eq4l?Tds2QkTGMU zqQNYXvgM3F57e^#T-L=RK(r7l1|+>;?%T1V5lzDzZApz&_DV{f2huG7lE-g>T2Ir& zf8^dto#t^suKS!0B(KYWT!YI2x$g59AlH5BzaZh8fTTZc{F{KhKV~1fkH6hq5kuD{2*!P*L#1CYs-i~Z{7;oPqB#r?>s}&_rpzkHwZ`m)^>;9 zl+>|r1d>jVX4_XkA?E$Q(EGkt~qu=77w1!O#;xmY*b$&t3N=PbO#`6ZnF5f9$AKt1BSlv|Lm_sA5Ex=8*)WJ?3-j{qr46i8X(hF(HlV&1aw z6BW?9&-WL-&O9KgNsEDGu>{DpP6slr^MKUT^+2ZaIgon#)q&za=ZlihcfTb5>9Zu= z&F23v;IsQwG3&6)-NbWF=dO*B8`%j<=sE5`xK8wZ?f)}JO+83$N??jEV7 zJ0L@HPNfWSXP&eF(V~~mD)Su6tERq>s>eC&^=3yDEwFD_ol3MPalAlM zWeqPq7QwSz()uNnDrf147e@2rS8E5|b*?o=2e0-P`TaIizq5yDvtzsP?mX9pYn!X2G2NuWvSaz~ zo)*4Ap3OS3KPGX$ORzX3oppUB9e?lGDlhD&X2WkA<6kR}TlUvGX+c%xI>7(d*|NX! zYnA0LkGeYD1e|Ef{btY@ht8cxSzd0r-?{_*=YGACzjDg`-_7`YLX~oFdG%E8(+iX8 zGF+<+FI(dEYvnKklja`jo1ETQB>g&zS+c8kBGNG^<`Qk$)ECzuhpQytX|VyrM%> ze*`3*9>0H+{m|Xpx1~sr&ZhOJ+NAb}tv%}XY@E~4Jf|LQpYR*EngYt3;1F z5&Rr~j-=PfGl3De3G3MSX1$KL(TNxF;yr(E^>}sf2Qo*!c%#lY@tXT!JqT-Bvuic4 z=}sK#Y^QIUaC(h>AlBIH5nh+W@*4YMFOGuy)7MNqouBTyTon@jwX-FB*%pk4wL6|i z&@y{i5lPA%9`oYDYaQxsT%~VH8`g?@K24{y5cMMDOw%x0m>olDUOU3?gtTlJRvKDt zEDX-;^`@AfyE%EJ?Am2A_FuW|+45v>u&!|2$U5@ryvjB@_miNHuyKfoT_ffBY9L+j z)iPh%4M;Z^NM5G^IUfDY_#a1lt^>!+OtEeeHVSJr!&fH<+4b<@M>G9Xs@QHV1G*V|4UpC*SBRvby(?_pGzFSldy#AFTiyU0nalPXy)Pj&EH0G|*?6aF5<(=GQli{ifm` z`FtB_%c*NeE4RNNtxO+-bu^qy(Tw%r0ZW4Cg3GJq*NCCP=I@+jWnL2h9mveUv+`0N z7J$xpbXrdHooLH%d+j9QP~WD(rrqkCN2}|j+`82|v5%U#c_8K;^(y&LhdSh8>!o$YW8L%LG7kHV<(Wgb??ugW(y%g6 zf4*ESGi>{bA1tgaZ|c&Z?l7HKS4#be|5W7oEs$|1ARN=7bL)wfL&_D-R>R!1e7>6g z_ILGfd}r_IP|xF75Y0~1@_Hrc0itVXQeGNPJ8u*yF~x5tQENi z+%5jwOuJQ<&$I)Uw;ngFs2n$JtRkD$nMKlVEx$8|YNYX;4AamSN#+Dw;zALw&UIG4WPig5ZlRp_sS zZu^nibz+aTrahj9d(_pLK<4RXAayel^_sHN`F)7BMGNP0ZQZ}GT)x-PS2fJAUtX3q zuOKtGG`2&-Hc5G{)}Bsx!WXytM9p+>rzOct&8X>F)Jf<;11jFFqsoJ?dGBM_K$fNUu#`{S9k! zMc!}KXVCY<`+l`5c}s`72-md5L7V2&S|$#_`GteAw`dUBkOnn)Nqq@V67qU{@5sZn zZN1}v>ueo+!0?FM8^Ds&hLHTs?@j)zj33q;em0MM28VHho@;E~0a+5?scg@RPWxK_ zGtukkRoYj}t4jN-bu;Ospo}qZJ?W+xB2V7Y&G36fFP-;_T$cdpUa8W)THdaH=I($z zspBj46LIDh-!=M~T4i2gd2M$+_Ufv?jf{8P0ohE{159HEz{~%{gQq~)}1Ym4CL8U`A{cR+9T@p zBlGSPxxZMY-dJ8O&U-1%TerV_rbGB=o%(W@8IL?rrM_5R<#i2Xqp-a=vmCk7X1|ZM ziACF{*s)^t#7g}n5ZBJLUbs~3`!SGl7vNs#_|Wh!+dgFd(%zG??jY{3={D9~>c~%d zd$Q}s5V_+{J^S@9MDAySbRQc3F;(iFZJMj&PS6v*+_ z;NQse&aVI|LkY++W8_wOo;e1{@#29%%J3~F?H$~tT7&pdH2v2 zcrQIQFd_H7vwrM4wAX&y^&?$ZyuG2hvlpm|%ND3y>K4tj6~8_$EMEF&3)Bi+Tby`4 zt){$ZsG-}QAzNq5?N2#e_q|2-e%QXzHBOnN;62sr+{u!+I0G6NTNAWLt;h%Ce*-j@ zA3AsbW_ek8%JTbq{=fE{c3D58LK#UPy+HjMS8_>UE1xD~-s<~76CWqlVqDicY4|jo zKUr@H_CarSbe>1O{P7>9{;dL9XW}O0`?u3@&g)*-e?Gb5{lmIXx_@so@hhp{Ng!>I zyjCy+KkIPH_zUo}4oBgqqn~po`dNn)K>CSv7PZIwIdswjP5Ca6Jn!3eflm8LAlrwJ zfuzTFTcF#6TYz-W0^Rav^IQ$LrHkpFE~2YN_83s}w>p8Jx`-Qp7Jl8Hneg;8?oNA4o@1d#3Fqd>ZkfIE`^YW+{Q@u)dhKkVI& z#n2BOc_y=xhqOV`@Bc{3;VVGqgRZg4KG;=GT3M6EqOB7DH$b{~jGzDgIi!5cDS>B` zhX#9kQoZ&5IPP^>kMzfz!3^asU2k-LgJ1;6+fm~u59^*;EP8znNcY0=qW`ynbmx9| zfsXq*kmVqGg3z--^2!5Aw@%&xJ_7FmAC7l`XI9j~t&nwyBWupcnm1Sg@^;bqcj**9 z(|~k094GSK1*H4hw?w`tfRtmeZwvioAmv*D>?WT+<9>40GwvsS+Wn0C_;sSggu$f2 z6p-nrji0j6?L1xh9u1`Hy|2g{0n+_zKascB{^EZE$aKDVzydvnxdce}OCaU%b)e7( z1AWK2#4erV)c9#*@x5=nbE#+LINLBG&wl43FRM)?rWJ!uiE*P_-a7Xi!sp?6lKy8v zhB;}z$o&r>{S4c(C%#F7^9`Nv7o=DUSq7Jb*YOMl$M6~Gg_t#%GkSXUAW84nap5=j zVDbMBScAATXE^+(_QM$$qwp^2aMee1l6E!I)80yCSHuLNZJ%G$x$g?>G*HW&r6ABq9P+}%?|-Yr17+NqMiJ%Drv z1IcF@km=sI=K|fotp(EmtF{F?{Xu&z(BtkCfut|oThh$}>Awf)kIO6i>Snxyf_3?3 zymQ@*J?_mbno2{8krbj=?8T_spV{$u6W(ROc)e*3-j&9>o_$}sW;D->8G`d-8c~-b zYV?ZWyco?Vf_Hwf#u#bSr{bsjC2LV5z`q*ZA8+dQSG-dM-Xp<#BzTW(8(!3D*k@wZ zWNX2m2COT#nDg>mmgwgIdB)Y_PwZJP9J4@ui0hHlgYlb$nti2O8oZ%=?0uE?Lr%n4d5H@14`Rv4|6g4q@4W9z`VRnkf9(%M?$3dg`^M9Rz6t0$Q^qUz zF@>$8Y$vTH#`juB;QYJcYRHD5mt()P5&2qZ1fZPhYa~AzAl<}4BIjj;Mb4)p;^#eo z-lEGK_M;YuFHn1oSfCC+D=2e5t!6vQZe->HH4oQvCmo;WkM*|cw{^-xDdVG2#+~n5 zq-2c9GG6z2P{xZ!Hwt5R>a1Y>(8;EeqMu%)#NNjOY41K`g#LXX{dBUvO1t3uD2`po zZ@R;;V8*;9Ao=BupJ~kOCFy<-$l`epkm>K;+p$xBv&YTLbGfW-XE_R66KR=*{Z-S3 zsJh!_guybk7_xtZ!ogAA6!bGmFMI;}_~9oZMcO;K`Ya2|Zy1efc8ibv z`n^Ld5IlY2L*?!={j++9DU zt;1F4(jgCNkK&qO>EIJatB8+qKChNGzPB_I?;xNIm1>LbICU%Rd?Dh{u^c5(j))N; z%X-xKlLliz_APOsbtm zJK$V`CABF{uQo2&Q98#!=mhj$g4vaO3FabybXFdVnrMC~JFms(-l8dS{VP8i)Mxt~ z;i|`_o^Alr#hwuV?Fhs8bnZHy+x|u|M%j3wl&7%zpSg5_x*V4}-^gv+Bhpsms&nb6|D^o}*91$4 z&BACE@e$7FRdrn6)4qhB?)9LniZawg*f71W_4JxTnVtA2DZgQQEk2Y~Z{V7{yt`gW zdkT1o!=Eb66t-lhR&Y1El+d@qYths8c#uKbE(Z&wmb5bY#mS4Z55`{{P2Q!sj!fO<&pz=lhpt zt-wFCAkugH^S%7yN;{;Sd>;t@EJsHhc`mGyU(3_x*P=Xk!gojxT&MGw#MbUVvX?}v-_3(5)8?n(E_Or`E~zYhAL>Gw#!&jZrEbFcVI2vegeXwT|< ztNIz-$tgOp{2O=Y`ujMnzmLWG`xvah4-e)c2??8UWxY-2NyVI`T>@H{+Dppw9YDGV zfaL!Pkajq5Z}Bey+Whj2p=PXsHevmFxw} zPq(pKx;ZD^6vnM|X@mTqxnA`5A&_!6-XQ+-faP>Y_Qg8t41C8ju6m_JKSej)TXD|p z1d-zaAldL!-({SF|@cBC#S2YHjng2C&CNje*VbR{6=Y8Wnl()78Yome}b zBkR-yR|Mapk2`6{kmkc%B_B8bTk`dzPsINw&^lXg8=bxJDJPwrsc!`!WhnuB0VB5r z<=~gkivDf}^4{G*J05DpyJ+Jv_Zfrw<(~1Bb$G-KkA&foGCVSde%mvW{(V5E|1i*| zUv+Hi&3jt(cfT7TOGRIz_lFi7dDxDJJ%?8P1KY(+{u4mzB?Y8x86aiL0l9uq09tqQ zMv?nWAn#oS_@=1+m#uh6`k z_%8+W{$GHYiK}n#zEJ1k93b=XAK+l%aZ|+qTVNynUz#fZ5^xCof(ex2b)TPIN0iE-18G<_!Z{D(lgy3fTw0Z6?c zhE;lozYS=LkZD)&4TCvDP){4xz}tg%CF7L)9C&OVD)B!D(w)&1=%EH@xlF=1a2WQr z4VzP^hT**6VQq~?hSOs?q&5E8!>i^n*7duPwcek`(n2Ykm2_G zNc>*{(odfHd}r)67=(4ienoymQJ%-A!Q*xYfMeLG$$QKo>67*myPpZ9TMJ~^R}7uB z(DnH*@cV4l^Oy7Tmp1v!7)+UbGJU#KU*WqBNcW9e@!tfbnqvLLe;BYA{HX@J-lTvO6!5T%V)eijZrG3B!CQjT}>YN&KsN3;(|Wd7nY`Gn~zPsR>4OEBMY$mr%fX3A^a zV8Y^9;a4+G^u970=t1_i?2Ko*6R@vkbj7}w6nJc)AaGiDCd~+tx`-M-?|(2#@_Wi? z;qwfTZt@u6*8!wH==}b$!e3=wn(qt^ovp|4dHV(w?Ui-xl`&($JdiRLftoMI&vg5& zk$QF+knXQQhI<`Y9(UBDU1;l-Xo=!oS9xBg%US_^-1X8D`v158F6sGU)xhpyQ-=S` zw}yw0dEu3r8@>Fngs&OcTMe91SFBA^YWv*2UKQV7px(!oxzfyE`tq4oA5DwAvp{7n z9dQ`Wr}^<~>UyiX892>2NiG4O)a?t@GF)42dWH{a*WjwV%J4^=Fq$8~8lS==cvglh zY11=&NUM2tfl66A_=M5?_)@lw&xj-2JSIjFX-otA?Csk@v#%^xYh_Zh<-)*UeW4 z_Nk;nqRkjpd11HpUA$^KDLL{bj1H1UCn@94K4A0#wEFPtP_&_Y9V()&%^fW5Nlm}r zs^1J5GgH5MJ`bB^XDn2=;mZE9dwn3SfGcO|h!aNh<5!fQo}MZAGI6cu1DtmP-45;= zfcF6VtJ0m=XL8p9H7y(1!>3i#YXbV9V_C~sJsQ2{tp7oyS70^0raiqT(Kh|@H>RDb zQvVA%)Jt4jt=zU=f>v`I>i;!Cei+WD`SC0Cy1maEM91YbN?W<+u(^*Kj5ETh-}vtq zsITE#<;dgH{QgGjA-`48pJ$Tk=Mp(b*J;ysXAIH?e_bp6$Fo4zbvi#?cMZPiq{pzd zA<=bAhu1l)MVE2sW)!^bGXRpmZtOJ^bj#me=eGPB`7O+8!M7_TgMuV0JyHMxTu2&mil{J}G-_#6SZEnU7FFhmWyJ(yc9 zb<)lu?cZD_>3#~duA02^j@T}EM{FYA5jz%p+7hAfh^=vWB!4gRr-3ZPrF+eI82(;l z2;?|7Z!iMn{Jdx|YUo6UCvsjN19Dy;2XY=?0yY36e-M8He%F2W56Ne=B;(B~K&E## zkmI=MKV`g~1aeJe^n0>SaKiht?rkJP9$$t}&{15(@tRtKUB>&Ywt|P1kavkB< zAIkm9KNA02K+5Yo8Cy@l*m|eXvGqpi)E!%A)=K^ocME3WXMS>qo;374{LD|m&{Kw9 zH2$>lm*8iu&m^=<|%c=x_f0qOXU6+z&Z;ovg>a2&A6I|7oF)egu&D zKMqKJJz?no2D)urd7Z>O8?$vq>Q?YhlWtQmPcN)lsQ!j)@eQU;VSh8HR?|KLeW|5` zC&T$PKfcuKD(wu?Ew(OFpW!Mv>H4&4{c>F-XkViDiTz>*<2xw2o}nUoLi^Z%k?O#eS!48sI6kdLKLe@9GY~un33&#Rty!cV#`TCz zgSvj8zou;heY2$_ZHDt{e*9`S&5T>5evRvZUw5}DX?Ni|+|t1(jONF;WypVqyV%ib z%(V9_R!e!UXv@8IyJ~CNtDH2`Ce5rth^yMrpRl~o2A2Cxw&P3iosXRc>2cuL&3#qN zQ`j^90PKi;Lj$m`)fYBNJh)JujcewO)`n(fNZaR zXZ-vBRodT9Ak$!2x^g=}-C&Mw{f!grarQ-v+NrZyjhi+?4Ym9H60#<<)sZ)LkJPa^ zkh~Md&-8!&u*miOM?|iNfRt;q@gMuB+-KO9gBq|m>_=+1&L3i(JK;2FoEE-H89_c0c^*T5FY^QTTwyOo>PXZg@ zPXXEgWDGq5jKCi?{unUKje17(UU*jWd*nvZM;=HyFWDq|x#c-&@9zWZe7q?4?=Fh{ zo&hra{8yzPT?u4={+RLCzb5@d8<6?>Cy>t?YB!5N4P-u70GZE=Uzh&lCLsHbwLs?c zK_K(F0my##UqI&b;x}cz{+B@d{|#h1k8hE6`(yql{?mcvb3KsqJ_%&_O+c2BH-OCF zzs-I8t?I&_!^`^bM6BD74a!I=cxE#f<>Xb9BKgNKZlQ|~K9l?W-?9hZ->4ZC`o6((@Lk71aO9grxgw^3bX|`deLNxQz60d_qn{Lh zok02-wxVsU)pax`@1qS@LvOEKhg=K(?wXjwxP$4H&^8hy#ve7~lOcBqzk`8v4*{9) ze;N9{zm@X%pWiuhh3sbx9jAwcYuT+Yo_Szx6VF@vq@+%7@pM)&?Re2?&tJb){cRad`KUI(u=5rhzGcDyH34TKM5jemle3S4{n1j$ zM@OD6YNGj}9K5c*P5Q~Wp%bFN?LI#~EG6<^2&DVP$>N`Za5g{geA)81GQ0D~HI8gi zQ${YiM$)aQGuv2S3_T0h9}^pYSXgO?#-bgneE)>~)kes=Lg!d?nKJb+24ueD#-BEr z0CK*T1kxS8R`gW5Tk?19J<>j1eXq3VuLG@({Bc*^(7=WnQ?8!7Qqu9mPItnl5%%~h z;TAjLQV93S6-Mu->@|+*gR`>aoLH8lRZjS*sW&mF{#-go%5&J7&w3|r%*a3gQX{`! zhwZ*bwABe8xkL1K!?#R$Z{1~5Q=pqD(!S;*3CHJJt?!L2H5Z2$n({+Zjme1KQ#98J zuMLBroZ*oN_JY3vw6?HeI8>oMY3oORTUk$%h~us!y?DIX^RVxVJSiaKJ`H4AH7Cmb z%Mp+1(z*4<%4zGkk6~rFW=LN(WCqUuP7X}e$4r_%v<=HWUHExs3Y3{w{&$smjyie% z`?n=OyDgUd?)M$>&p;T)r*rdXdDrysi}SzvEY`jm0DfUKZ$1&;KGZ6Fdp1R0zP_yA z-#fZ?2Xyejos~LBVcg-`{k6{}-z&|y#Lu_oXWPTDKFr)p$=Z9Z%G|I}-HmI)UBbT= ziTbn(eMmhnr;(eyNIipVv6F^R^Z91SE>eHSb)^%>r&+xQdw+tnPqsL^Et-0-OgrEH zOVQJrKwCa4@<5w+^}<|ELTFue^;QEq9oi0l4>H?(ks8rwkvd^*pi7^o^)S2pcO)ZY z7OC;Lu65%1G^>j;cI(ISJZcW!Z^l|flld03wlBUVo7!!Wx*gXCPTG|;v`isk!_N6> z9u~BTEPp-K>s5DGmg%BXrdvlZ((wmi?Zn#2t;d#EInRDQZL0EKx7Cg9qs#pczin7P zn_fRNnC0XrZpu&6;J{x=IhqW#^7(z@QYU`Wl*8Ywl6dz5t@GopapGl7ys1}7y#0aJ zmFu$2ldl6yuksAkFZb2XRp02yL*6~vHFa-@U7hy&J10p#`c@gYSzhJ5RaqyCbuLr~ z;aY3>wL&hRrppG3uRS|mow88P!1aL>$ER7ozD??e2W7j2=a#dN5Ig8|Eb$&p6#G5! ze7Q8RIG|9MH{U{V;<$RV`m@M;*0C({dgS+&@4{>bjV`W#OpdWDQr-E+Zg<;6P zr;FYn0YW9}6XQP_;mGespjj5_)?ZFHdGPlrTY68=suMq6sD6cO?jM3SuaX97@I2M0 z`(@MGrP{h_cF{t0E3WkpFQ4X@hxn3(Y8kFR_XYC#H0dX+uQNx^U#OwKUdnB(0+S6=gF&({yLqi)Zv_2yT}{lt-sdG`t+!Qi*(5OK$g=} zfGj6;p<``VcBJ=4i^LC=*S1R`a+mGAJ!3I_?s(-sz?z<(>HBS@mcg?x-y!GoN<2qM zE?=n5z}1`&%7{*?khaB{gCG2TX+O>YGW=P%$GCKEzifH8jIYK1?E#p} zLASHz-N5CZTvi?*B~|$)FJ3P|KJw$G=P|$!LS!yFGRG0dx<1gi+a4Z#nzVzTBRtdJ z2lvC;KP$7}{#m-%-r0X-#}yXC%6JGZY>j6v^tH}pfI7+>+ZUYq@8WNYJ?;V0eF|jQ zA@hVzT38v`;@N`X3eW}P^1pS|4RuaD{7;o-BUAF^U*k@`AbC}_{HXHd{nSe(NYp256x#s4eE-H*`CLSkx539Gc z+_1)GvyYPSVf?mLmfZa(OWm}Q9p7%uB5lU2&x4hAi$flF{y1^2l$%b_8Hdibm*rQ{ z)_Ln9YaF>EXxsL*>moyY@f%TkEo7q;hJ1RGJs%=_+L8SSM(%5?$ZdJGOaT9yq52t6 zbTpm;kue;37az{3*NW0#4Sq%XJKn3|dGFI|)u6TkQs#8OQsvC1ZuK3{=$vP}HGKYx zxuose^m#`P@!kFI$v?~ZBMw>UQt-1Lrwu(}=o$F=oG5GPIfF$YpBt5c ze2$Yucw+P~@?0zh<$0EYmI*HUZkIYwFBuc26BJIoj~$`6G*vlzGsnsp7%VE&$-6lyGXxx@@*j9 zQs5BaO5^_ra47t%e!ob|c|C9#{0{-?ru-o&XPRJsti5&+W3rCC8|)hmwQmvjeb4Y< z87V<;MD-&!wvjXbSDhnr_dZwhaXye~-vOlFUpDln^Q1n#2xNU~IbZxsf#hM+ zt(Ipwk2i+*U-v*>CspJ%g}k;odCfi~vgUwHKM$lld9?Aw68yRx7=H}Na*zfxJpGiD ze%AY(@e_HU80NnFoao^}AjR2e{Kr2p`8*d${`Ui^^W$HT@-g*AX@8CdQr9bidjHu= z67K+@@2cs_()C%gT?gZQjyTH5LD1WNa>i0Z>P{9qTj%I3WptJ{I!l_iAO)nXS%XC& z%W}-1JFg`8f(mxlRG~$Ag+BjRW4qVgv}vcaK=RHTe+EeROkVi5-Y?(|XSYIMQmfa}Ox|41cIerGD+`pZPCxDdy zQ{&(H7h<326;dvrzDn}_36MIw>T2;%{H4_UX+X+zF_7{dpB4SA0J80Q+4x6YBlq72 zGCzG+%YFRq=45W?y@%@9xM;=`Th9==ho33=Iu>Z{px@zIhj(uilC(Tm!5I`kTBOdy zHD`m&yIOfR8TMa}>%yLUJY(oPZJ@q?CBk&tFi3)Nd|E|X96jL7D24PC(&JfW3hDXb zYK|JDj{2ZceQEO$bNQ8<^=-D64F z(vEB~)Z;^Mk#tr9={_=k{+GHKMO}2x>qrIdUJhxkWx++EI)spr6(EV zJ0N4^*-9Bxu8gxpz7?PFCO;e6M8MF6252WshbgK>& zK5qi)MtxDrIset=X@Ah3`dFQP1J=}7;V%Nxe_#Sck zm_=&Q*A}TYn{4|63z+W_`}cZ!E}8oJBK0R+rE)qL_f*i(+u*sRPv0)RTfK(qtfyyF zJ>4sp3#^m0nKf|VzCH1Edoxh?UY#rV%Q8u5MQG1vp&Si(2b3iWdSL#$TMwGtD8vX(Jp&ODI%EE<0nNPFji zY=_mO(hl=4-G@Uub@{k>Xs7ny1Z4b2fgDG+Hg)Rw^M`fn_)iS))Z@dKfK2bOX1T8; z>xdz0#u zk~Nte(pll8lQ8j{8zla8Ak&xleQ?fMlj{FouM}k{BJL6=ZW3{q4VLihfOO9pKmXUT zjcwB>ZtFfr&s*@$ZXP@y$2IU}+rDC+=h1Yzo725-(D6I#RAwaNtjBcCp$x+1|I|-FDHo zwcAUxY4~W*;`iv)_FToG4?1gei<)SDZ2PjgSXqA~C|8DK0)rFUb?FrMeC+5GMm|NL8g!jR0*`KvbciYEc^F61EoZkc5yi1!gBDBp| ziZtjLHg3vH0?5224W$Wx5TLZaP zn+TLGZDhy*>F1dsbm?i5&ztv_^q&Ayp4u;nf8cbHYXOk)egSlyZeKCyw)>EEoy4=t z^yE%;Bd+4BL7nz#)#9p2ooWiM(XRz@eOk4+(cL@M5xC|$aebQf2?O+d^~{U-opbJW zAL9AL^0;58x&_w*4zILF3r#yDt?a~3^(d~$<{-~L%}=XwLOs?rcELN2mFt{bJ6Jj~ zD4U7Lq@PL}wDx~LE_R)Gu-J7LkoG?t$nyAxp;J$dJK=j`b0T=Ja*#cHTlb&jwZ`EU z2M@Q5F>WvLp_>C_`o|l-q}gwnhMn=e(Mh-9)FZ~Tj_L8Dyu{OAuWXmHi0igXCmbO8 zz7WVbx8XkH)4A=DfmBW3EvE(yukK|s38jGzCdzwvB8rJowr*-|mC$|7xdT$MKI?=xG{y#;8?LrZHf zj;Z8qFvN4mR2dWRr$ypM8UjCDmU$@O&IHTZD zq=9ScmY}WiX+6b{&FoaOajkXY`?Q|oN5H!c*H$OKPwOdu`j}3&8rSr{1@il}p5o^Y z=~NqVEp_7iG&`1SX~lb0*k{di^#&~&P{PS+y6j|j?OwO3-(*4BJ^r_j=CJKj(_58w zJcc;7jx$c@$ztDM0U5Vw{9i%1u=dHyA$>#0`#}C&eFy#e{B5jFkHp&ap!a0{!S+7y z-dF@*M=E9A^Og0N*nA@mKY@PuU-1d-G|TbJeQ+DV=H)uKe3U9rS69tpikRR|DQ} zk+WBa;r+_~OZpb6$+6 z7Gumi81sU%p1pQRe+z0u<+q^XUVbTK3bOh6W`0@jiKqXgGT%|ear6D|e97mGcFFf| zfQ5f=v{0PT1 z=v?_M|BCYMt|#=c?igw_{Z3S1!=CDD*2#YaZPdfx5xMm{C}%=e#3n?EvbB(9$Yv7;2ng69U{sbNAVySdkQX8- zHi#Mpu|<%Ghz&%DEWQn*L}h6pKtPo5dG0yYx2F2`BzfQO{r>vu_q+Xcom+M4)TvYJ zty>pkyEe234J+k*|DqGVfIL09P{R+vO^vp^NJlZCif@Cyvp6?QGMDYA^h>e7{{ct8t!St+q+_Vz&o-vFGpEe|;qV zxY*AF-;w-p1zP*)++`@v&~7!lGbi}+8`nQqgNOUPI{|*gq{>G6Zr2IF?AL|gyFiBd;#z6Ho(0m+u<|Zpcz)n!hqqCl z-@Qio=sYb|`QBVc=V|RjO#7B*oQsM5BUpcpU%kMbf-Ap8>PHuM7~y`fA0+a=sfuIg zgi-JE<`ZH5nFpH}{%O52CK0vyM)zAM{ zhrzk?5p&`Uc)4@p1o)l(nDBcTNLNxn|94Kq_i4CZo6!BEh<`C}z)|KT;y?Vj#sk`X z$agUg#dk6Gt(s4;-WI{4?EuT#7lR2RHR+)l{+1?*Qozp0+SZ`#d1W9e>(+VUXtV=?huY%v@l=6UhC# zV`eN2-eXt*B>fLSx;eWD-@v0kl{zl%XJ!A9rOTS~G|Wq)zbRq5`|r<6|4H(h0a9OC z^)tCA|0CtH_Xjc`ISR-yUo;|LTU{uhZ^PD(EXsGX_le#&3Yo4aW4NF!VH0%mCj|@e zQ;)GfN?S^Qz4}>}DbVRBGCq-InFewnb_R&uZYHOGBK2NUKauZ`B#<7l41Wx0)Spz0 zsXV;px)Fa8yG;Y>4tZMiwH!#>yA4Qre)i0QK%Vro3j%q*4rF;>^4x;peUJx%O#h%i zF9_ZTxfsazK)wqkebj$T{49|CZUr*Ge^x(8{hYOlZK3REcFz1yhx?h+D4WNXE7MAA z*<^r$y{Ml-p4=$%yb7dy@QtL%p31o!+59Vdug?^|<^Y9Hiu z_o$Y&tTIojoWQ^-<`iQ<+E8BoabVCMsGo7Jcv<9M_KMhl4oLZb3}pGPeO2y14XlTM zm)C?oA4qpec|pMQ9w5u@5%q5Y(#?5Y^l~YX{9I?tu5)knO?a2Z`RYYw&w0VCKPlur zC@Ub#D5L%?FlYSyPt3wknTi^Ye#$^U z%QuE_^b_fbY$HmFaiu4K!$D80pU5)_bLuDZ8$xBpywX9cxW5jUcJjm#(rykLDgDBs zK$gc_K*~BcCjCST$UJ-*NST^jq+gf^WV>}Wkn|a?!tVwk%lY5x|MV#7Prd+TyYU0{ zzYe6V549}}+LeC;>Az~U@cBEC1Wp zb(B$m7XBFgMGa4XtNPg%#}JNwV!#hL2L7yK9Jnp_yAILwot>iJrQ@XB*8pjg4+E+9 zVdJITuL4rmCxEoY^Cm6~WXuCue(wP(!v&KTns(rWzz*P$xX_mZDeHYe>SAP3fZ)+@)LfJp8DN>F+#va5z9gF1DU(hkhA%jHTQ|m?k;e(}~dGuPvo43@Dzt#JTYkZe1HY=R7rF4vR&J&W~TY+>xS3m!2-V;@8 zeT{hcyn9Hvzt*ms_~Rt5!Ss6Pj4=$>Ywf-cnS1u%f3@8-o37$Od$^NM-ivnK;|Xnt zf!58rRrK+7Al>hP*4}+v7%07rlU_#C%K>Q*MC%%Ek@SuS(tQP0> zzq65peEn?H>Ok${{0BsizX9n^dQjwi{Wsz#&8Ag_E%heYvyf>_FkBa&IZSwQxEYP- z@xyh!C->6@=1yGS8gd7Nm@Zt^G}KVUGl*x`f&4H7t&v39k*}|)b;1Z*)cG$(r;M2g zmTeT0W*y6x*Rw8od|P-d-mS*I3HKSOZI}1$zs^&}+FjtD59?#!(bCV2__*|cFMdM&O~*>V zx9?o>2XY1TgW7d0wqO4`R?zf{x@K6i>4VwSBZTkwfpi;y)Z0BDk$(FlbHx89kUIYK zQ9=&_Gs@wjP5%SJ#%2f35*1ArBqn=QZtr9wzDScX*hux`sM@ zV+}mLXSTsJ`vt?RzIT~%_~w-F1&0dXY2eTFm~Q8cA^2wC7&H8hA(_GH`rtc(ImBJb zn{W)*r|~x&BJpP@!}zwHX&E;J@3f&UnJe#qF>ggjhPd)b0ja}``kBU=2ME6#fpotD zvM;7n{wd$Kd_B~B4sb}5*<;p;m{-h=90#qP4g1r?nAd{ZUGfEyGYzCGg3h{|g})w{ z1JYjton!F={2arSfb^F^=NQKPMdpifVBp97U_JpqF{b{wVggvpeR8Gf=UgB~z7|Ls z)&mCvp8zuLcYqv6wVt^!NONBx$MvTGnda(VnIHTb$T`h^X9<1Ds)fOv^-Dm8`wK7z z{MfnT|JZrLZ|70NV-wC8#?JL53%loJDT(fO%EK`xKTV-?5Jr{h&{$YKOX}X_1LDG{k zU3f-`*u0!M8}JXtX^!9TH>3PkM~*yId^KL@NYN?l?tDj1rcFH%T}PepG9#<|kT~*Y z`^a-nQN4l|ghv#&|FCKGD^tkp%CmY0Kh zXh2&$YLVG$>4?X0KFyD>?SG;(m_Om07I=rm{WjeOM+a8d2mVCslQ*vkp2gyQyNSKv zv!KGKOncuN!ROW^7BPFKR@yTTlJY+AL!!5+xq#S8wcPVHF3Zfy{mtDZJ)390&uhVV z3vqr?$^DM)YKKqZZ+(HhB_R36fI-*xlJr$^ApLRB2LqEp_7`a&`>rgI{YDbu*jJ^2 z^yfg2a#!6Y_M8XOUj76m|964xBfEYi{nD{O^1lE`e%}UiUGh#K`z7l-cf}ZDfxiFr zMt$(!(R$?19gE~)oA2x-`kqlQ`bq+sU-D_$rOE6vYj3Q3%&6+`Sg>iDkCsfdq#Hcgn154Gojw+t~Y zZv=Z!i}i&;X{O)RI>fa0;@$drBTWOwYWWWqni8(V+oVo+Axt$5C5t!)aZE&R=`wzZ(H1Jtj9Utm{R#q0aL)QnSZ6u*%rjiEI zp97sXl7*j`ho81sP&+!!baPo0bEa z_NJoP>1B_JonH31*k|7pa=&q-*y)i#hVKP3?Wup1an!>=`d@fb?w|aWqJ0I%!K>Ll-o+J#aJQW z5RAcS^K(!(bgUye)E}a4b4bs>CvrBtFLF-+vW!*&8J1zBZNu1P9`^R>{>h+iN4p)A1(J^Hk|6PnBky+h5X@DAUoi-YfR7l##wriLWQ9X2+r31>;w{`TQ2P$L+W0MymVV!{8JZrFq6|DQDZXHo8IQ9L zIuNG$E}Z#Nk~VN1^6q{wDfaiiKP%(Enz{CdXEo2=x^t z=KRn$cx~;Fye6G{$$y4piXRP=c6kA43{U5dCu~|)mldS!5${bE)-N=#;F{AJ>e#16 z^}*7Q277eVltIdDh)Ep0$b1IZT8E!cs}(o9`yz82u8mGypJvB&;aQsD_ahn(4(nv< zuTq{F#S3qja=Za(^%j{gU0ksrRuOdqkxd~0l|PoEa>p4uFSalWJ4c=dzEAOK8IQc26y_6Ndl^46Y7g({I;9Q>J zrr)_dUK?QL_1l8APFhsQK)S1+P~8?7M|X^WoVEv3Yv|9WSFvYnGd0?S1lod=aLw1W zyO4%Yi>x<6xm33Yd5q(q#zI~jLh;YH zNxA+9SSi*4SA746VmIU6_Mk@HugGZ2Wm_0!f3?1qVAC9mdCp<-OqS~GYOOb|Tk6eV z%*iuj7nz^oig#%_b1(7(jb=peFw9RHf_wXpTVxXUKH@Wce;P*D;1`^!`Kl}~cfbXjL`nEP@%fm-|U$NG^JF6YtQiy@tgUwT_`?w<3 z@$EY2u*)SsZ-HjpX?MJ9)2cOxtMq$*UVVR5UQrPC8$^XGQ7%_4G^?hDZKh8P>bnys zi}3g3`o0s#r%8R$Gr|UVpQzUPPU~yv+Une*ScCjhkGxh*t9~}y2O3>6_?4g7i(z@V z^jV2EAFKf<+DW$gm*Y8nax zZJ0g4k5Rf>H6z0Q zL8D6szw*;p!~XAf?Em-IiT#_ei+=A=`+up1{ad+x`?vHed*~R%b?V?9);Tru?1&uH zJ=(;aT_W=1*u(rUi@d9Vba&UV3!7%7UHElI{jxV_YR&f{GKcox4;X)?e?OU3e*(xh zq)#!an9=)z;QG`2X&FC01*F^gGmC=$^a&vQ)6GEg`VWwO`5`BW{}>?q^t}4F0Idyy zTv?ND8OQS~bUmH#)@0b3*x*i`G_f!e${azPZ7v+Sw2tvyeE39{SAmBc)!7b zaO58c-yj|2pO}Cjt({2%nYWnL5B$tyLGNdP97E90F+^GYM8+rj?%Yp`oL2yu*4;qL zf54|iub&4}ueSl2)>A<0vHkc(!MNlEAmf1)IPH(C-kqr%-;8%3hhwb{h;_^H-5upI zrM6;gL7xLhjE!Y4%p~lEnTWkG6YzZ6Ikz_@&&nGP>%TW8r#6#UEGS-jmgIAnvn78k zfpn*>l6%A+d0bO>599l^x`v&w52n5} z2s#VmN-2$e;UO3VEE0dK2u0+6Co51LZ#* ztUG0UKcE_O-Pfet>%Sp(F%8JNaxakKQ`d|AF9g#6XCU3h-wf@9{_4G@+#ibX0NL*k z2mPbtAIOIMu-j=%#Y+~MH*g)aXJ`vPZ6I5Ue|3>L6j#QH@6)!&mI_~7WS+v6ukZq-SBW>Z*-S;> z6Q9?HHgc3bySd1-;VECv;gwdoGC<0aRe#sdg#TtB-MF8NJud|^-19)X6Ydc@|F?`C zg7a&dP4nD_44kQbCG!kS5edL0>6SsiyV6eZ9&Ak>mRW0iYvZ%SO@YR zP3lo~+{|wmnd@<#=*0DDR_9Ucu4zZlakYu0;-fzhy}b&wdW+20|8m_mT|gUyYwD~p z|2{1!8}B(xc?0a8d3WOZG@JJd+Oloqx2tPEhw1zMBJ((|?>oG!Y3N<>9LA?dt-JO) zdZzsiWY4L6s_i-UdT7se$T#C30Gcfq*Pd-!l{^P_=e*w#kvvmA$;Ef{R$AQ*W(y;b1(02%J7`HF$1*h*WGKb+R?;F~&PaE*vfEs+0 zH!U(30BM!^!>V9X&(mI2bsBXvH2pdvdR_gIY3`Z+Vt-t{R2Wx+oOXs;RO{c9M z?d~w{-wx{DIxpNylQrDl97DEY42gX)vs(L&A-T7F6XMO4VhhSO_qL4fuKcLP-{)f@ z@AW|I>VoItjb?av_??=dY~~F!<@93nZ(KJY7?zDslYQoUVxRdQ=&yIjJZ|T3pJ7Vp z@kicZCaXcQ{m8v1ueA(iF|1Q9xpr4`s>wygS&X*)U{#KmVKcqVGy{SnU z-;cxiz8&NHCf%<&8+mv4YZj2_r?R5|x{E@-62A@cM;v%XSmOvAbjgi zlys&5S^S3rssDLE#<>hg9{8)@$D0&+&dFA!{{jQSF?(e{c9FT`pJcQf3e7QJCN>OAk&%FBjExfez@PbV?k@MXRYCJnYYcD6Y3_V>ECsV z@OcnOK8#99Q(zQaGOI?e&f zH?6wQD7}!9^!^THeg_{b`HCMW`6vRZ|LnXlU$W0|624hE9^b4SBj;ok2WRTF?yg4q zH!%ZnOfwJrBWASjX4T&ZB<~#1x^JE@@^oA%@>~XFxvv9~$M`Qu{rVJ;e#YzEztQYA z3%a-~Sa&OqC^To9(v87;SnDB+yYH`rc7XB9+8*5T72(tVRndPpkoSu~>f>{lhv~>! ze50_=$MTFBTb`R8eJ8X$lZwASN%+Q27Ji2V>3$DnI{a_PqMeflnW1$p!8<=4ANAS* zEw2MUBk@lI+W69*?t}Jp7TQzp+jhP!sAVz-{N^%4aEzB%`3gXii$LnRq*&JbZA(S& zOM$$g zpaZp^7?62MDy9_UifP3Jkj~w|8xZhw|Cy4HYkEb#XMp56>MY6cXU`V@6F|1}JDnr` zhk;xV?_DMSD}d~O?oj`n?!D;P2M9`N2F&E^p7vu($jg6&v` zZtosdZYhl{4lguim`2^U?%TP8i{5-Wb=6|?5U$HV9QN-%EwE=VUiPlVW(}?foOnJ> z#ufd)f7hAdd!KQ<_c;mgosBiYnSyH5n_vh1&a}|6OVYM&@Y80CN>3@h1V78FtaPLF zgd%R4Z+~3u{DNbo9DfX?dk#1h_!f}QR8IPY&@TnL^5;KcCo7^ic*!MqoJoTx43Fjc;n03a-!g`)XTYBuF!nY4dcZ>S@ zKdOF(JXE_#0y1d%Y~{Zy6xnW$NeuC?2aF9tq_6j5d)g52X8z`uSg;2T#TG z;3;?>JQ?c<&UbxMvW~DG{2pguINC-U{Rv%0@rT`_$H{vO|D`~NyBcWqE9bMeV@!p) zj_v{B+R0|{zBu3}y!)WX(h(AW^+$x?bwKiCu&Vm(+m7e2m2St;{nJfC*V)%a&okZ- zJ?{&&>DJ;i$L9lm7siOZJ?$d@*}w{);Q9N`(DyXxdn)ujF&xvVzE^?g3yx08c)k!g zwTHX^F6;SI{vmQ^faHH2u%hqnNN1gwPE6}ZTybNol;4L(Nk003Oy?&+n@*+P)OeoG z_NKLW6y6hTHLZ^~rTD#=9?e^=@1)k+BfAOm(oqH%1ET&=E?&)_sBWiH(4SrRX7E3~ zDSA5#bekV{-PNX7WplQj_H3=93-5VE=B-8ME?ilasS9cQv`Sm3yyY9nBXEuwz9Z{> zr@7(d(R$b(z06KkKO;ziMwbkJiey`aA!9c}{RUkTUFrFx2M~ zAjf}nu3oMD{ysiSA7~$Iz8+)8!RY%`X6mw<#=ftqie9rEz4FR$!JZFXiDSb)-=_&L zXN>8OC2Q0NYa>zZ_H3tI)95>I{HD~m5|Hj4_4B`IPCXg<n%&Xv{Qc3BM>=&aneFbJeS z)_!_FS#3X;gGQGOe&wgn>1SN}&q23sCqq8=j^y*0cg2pfK+1DB!ZFP^fl=+J&4X`G zmL4_MbibFpzJ?AclXW)F^F9@kKa`i-kDl|q$_=_LC%3(~=|#%rJQv=)19H6_Ay>+i zYhRVCw}xCcz0N5OW=b#4V?kTfiMFO`?$F?SQHiS*n$0y9o-RoVJl;h0nXcW_F~jJ|D%Q9k;M3H9KIFNj`jGa z$LoXVA89A=8FO`zeyXKe<&uQ-i|N9vL zjyz)@NFNecOepgHsF?6y45YgX$aMB>5&vI+Gw~ z9tBq7&BR#@cwRBQjQxGZp#?kvO7DcPy>M<6Kkf!|p0LsIQVubd@%J-?Pwy_m_g_Hf z<%(U!|5u<*$8YzyYR@Uvl{ODc>BB zGUlCht{*SyoHarCes-dyb3Ksmgh_J$av<&TLG=eW@zXL1`_Jd$86M`?BOeb>-e(?T z^TIOAYMQ5v6@E_x>Ap5j{QTcCtI^EFH|yi&iKX$yv4xIIdwNV_bkH^=9bQT0l~PPQ z`8l>t_#QD@^6?&!Zt)nA|I&8xlUAAkcx$Zw+G@s0oAIbaqU%^TykaL+x5;_b9ou(Z zlaTyw1kKus+i%&l?3ld@{rMlCHO;Gh|20jS>=_^Vqk7D9xK^o5UAR|GL#g)Sn|)qb ztDC6x(43=>(!aG1YMs3A9qDiW47B<4>%F^Arl`EGMf%ihT)SN<+6Amv5Oagp51$qlukX+va}%yPPCTDx%d3L6uinPGZfZ`C zS%Yh>!@HUW8^OA+PmfyHP3%CK9F(pulQ{Hk>k9RFV^YfFs2b&9)2rm$uOC7F|9AUc z(@vh!YUf$S@4qMZ{s_?8d(=MsK8HtK<0ciE&xy)sw!>$eb>C~ZD&e;`&w;M|XIQoU z!MEKaK!&6s;HBo%nqeaqjmWr2VMYq0vdH$9O z^;kQ=`SH4TP$k=2*|V%+JEu38iEGA| zJ4$1UZH3lMOFEWde;xnS_P3{7PphuGx%b1l=D4S&UYrZ0ds6++A&jjj{#??gA60)+ zj%+2XKk%~dj-sTu0ciOTIH&Q-EiB()Zjs~Hb2L;VL{k#SJPl; z2yY_72W=Bf&7M(^e|E8X1K0S44nL1pk;j&=MfUedr{6bbBWShGA;>y;+ zNPPx6T~xgm(E%D=GWeCBG{ywB4R`66fIdgVO@3aU@27!G`$F7f8b1X_tv^_~eVeiL z|F_Dz{N!Tu9z{vf_Z{XuS!zAZKFRz1^i9$orhrtMhK0 zdi45plJDt%miBa#))(r;oj=$#CI4Yx9wlGw`0a1+H%G{qaOArha?_k0Pr=F{Q0jq$ZDs6H>i)+@h! zJ%7stypMN(IKSijtAi7AX2S;Pg^u=R_kJGJD{@}~B%SwL#tt(rH~Fht!egt)Wy}yW25WhZcggoPIL2J9x?&oA;Qie% zNxT`WCEk%h-XjnB#&5G3vPRyOS?|P6t6YOFk??y0t!o)O81F%kHN)yU%pmk+On0*r zH=%KpK;|K(ev9O@$Hl_;WFXyzz#zZC%J?MM@0`G%OXoe9Ot?q1<1_v1b8#oFfAzAa zZGf!L3H1|MpOZk=xs>|TK-TAs`m;cuUzS%tk$W7=>L+qfqZxd4u$M6bq@NfArqxeu zg+Bx2cl)xyHeg=;M1C``tbSq#{4waO6Bq~5Z&ZK$Tg!dt9MNY9NY}AS^tlwsJpT>I zwrZDi#h(T;&wm6q0Nc(J`W7JbKK=939$f-t-o6VQ0el9?Z%+cO?^;ZjnK>EWrhu8UMR?oez1&uBl z{K`)beY_nnyYvS@pW}o(EiL_g4oErf(=oz3z)Jh(jH|8e{`{*#Z?7{WPL;NHU5$J? z$p?92zLLGwc}P2XXg^8hyF}$94|lw4)2iybwanzZ3jN=+%bnE!Sy^oO)#jd8C7nM5 z>GppuwDT(7)(+-j+}SPfXvkSUvR=^lpB{4uu9r1$UEt@_f_GHs#n2azwC`dU_-zaJ zRYk~0$8t$FNuQAdQePP$>wcfoFZ-#K<9C59w;!t?f6YK?n3Kaaa>^^OX%sb$veL=x z?4L)HQ~(pxyMo`v^R@eU?ORU4A@x>No4WZ0 z(c|*Jh+eM&^8SB-w7sb>hISUkyWsFHf#=(sCHzFg(|`Avn=AYpaDEy_*9c<} zhR+hJ!uSsS1*3AtOxz<@YMC zqiy_K8_ca3=X@K_NMlrq;c%u@>az3M*6-}iuYZ>pdFD`QkU{B=`TQJFiFxx|qNnNK7QOu#NWDFWFtzk%)2~&oxf=43FO#)s=OGp? z-6H3ybQZ-I{#x63KO4@SI6o%6?V>w^bqB6JSlUd`xCX(CYYYr`IA{$(UY2$uXs$~- zo^nH|JC}aou&d2{4d>E-S%V&Hj1GSW=(cQ}WX;<*OSv5NUs6st0;#9jx5)VVTp;sx z6_E6OkS_E0Ga&Wb2)@+AQXuvDBOvo@onJR>8Ftc6yZe8auX1nrU^DzM`^7$)8*bOV z=6ciIjWY~!W(LO&l{nM!+3C9TpQ7gTmw_H-PcPR9-&w;hPY2!dXR@!{DE5)ncJXgO+Q%q_qkWtPqsoyUQ^p8)#qQ*EaQ_f`VwjvFoh z)j-zkpR51GF{cOX1>XeHHm9{qxQ#%T=fBjCzk#c)=V@NuGf=aTpN=x+b?pA=C`sQv z10|1e?mRaI`L7x$;no8gpM2anB`;1|^StMHi8mi;e(dSBKJU&VA`Q=#Q^E!}xg1oa1Tnrsp9AHm>=PrXWUhBj>a*W~G z=p3)*kj_nH1V^5IS_U~q(zBB#-E~0P+5PH&4`}7++-E4xvzd)&Ox@reJ`X8^|HX_1 z$FOM*u+99}EJ^<>plR0ntxwvt?3g}s&*TosllgMBJaI>! zE|uq~8uBDGt%^L(JSB~L?mQ)nI(|w_@^>zf?$_$){}$()*?mqPa)@_OtHuLb=Y}sh z;Zq3zjRpz-B+xoHeAx+~LHKh=Ncf)st+RRBUhJI0v-m~?&liJt9~Sk`e;?A>r$y5F z1d#5#>gRtye#(oVK>WWBk@z0~>5dyJe*X94XTA7o#6N4egue<%_ZRi^zpI}-;?mKU zV<`J~_mX(~b=TI9pMJ?p-+<3w6DlwG(S1_+^1qvYY;l-=5^}$*`P|njPrqFJ^poJ> z+Fu-e{y13De+@|YVbv%9+j(hlzSq3rXwRC>u(?>@$qWkC(Kq*mG8J2-554tN;a33C zy{&%!ue2X_ETPEvMJA%p7>hn*1kMqV8LqUM9jEtSdo!()&Zia%|E5Kf-baDfbxz$$ zo=qo&#~kpuOK-CL65v5h0@v9WPA8EAmcJj=S)5aAA_`7 z4WEP4##edrrbdap-#c6N0c8BM&vE1p);Y&vopUVKIniIFgx5Ooa{G%I@?^*$-fc@I{6BznoooAI#pW@RwUwOaM7PO9JWcTPf*10;GEz$naO6Ddl_vkp9MA8P^>IpP08P2*&o%8!_r(fCt+1z#^i@N;Ur-k3J&xn4G15z&X_1hWW?~ZA=f;S!G zX27=sddpjL;lUl5(9n~WlDZI)n8t5*-4Vl z`#`!APnLA<05bgV)X#gJd+^;loHL8(UnB1d->qXiz7FZQ=VSIM|KTSHpH)D*{Z14= z{|_YhCQt6P>L#Q3a#Hx5f2i<%7D)ZBMZ90`Y<=eXTtIf+kvhd91*^q&b`tH;AcHc`RJzFm#*BC6{s5Jz8&(<@~ z@7s6}WN_4)c_ZE*CK*Sge*dK1VNvHy9i6FvxppQ6@1>nAc@_6fw)b=C8m9OBqDs^{m3 zyc0eu^8OO{Y=7deL)o+|uN9u$0HKKr8=1cC#A%-1aJ|{8Ea~9xQy89U^=m z0a6bWwLLfxNI#vekG|ckcl4W6yZOv);ny-9=OJSqqW$sydwcdQJ{CD|eQOaqy( z!Wb#{5|HEGSi7#B0Xg1Dsh`O8$_$X}t~vD+8{sdhpUCqnv*6GDggIbvekG9m2@Aj& z!>d0I9LSycfavW4AocSlAno)aAjd=h0#dGn9z5L)16~bedOre=0G5DExBfS$n-<_v zz*gWzKwGZx2Cg!O65H|j8>Z^U4>jX^cSYa0iy2?Hvx%XvqHEc;8Q%}RMwwZ z-m9GS`oNd@%xQXg^=CD`YqkpC^+2Y#62xK~IfK2B#rT=8O_!%Z@zO@PIUCf(s%ujNxq;0FZL=o}}B2_3Iho`EZ$V z{cbkW?bgc9I4S6fSVFpiO{l*NKXsH*e^${bCV{>?(<}*iT~R0cz8*;4*AH3}@O}hH z{U>)4e{21cpdMv_40rP2CBd_nZvpAQWXO`Beq9Ho|EggU{%b(;ahx)3rzx1-`|5_mZOt-Up7}iJQID=zszw`Gwu3HQK_p5LWpHjYQ z#q0kf{71eheB(g6^MRIsr7y94p5Kon4LTd%VnEa%mM5>$x2yZ(GRn{P$2*M_{kBaI z8(?&|AKsv8*}kFbIk_F91>ZoyHyEAq##Tqp1loDJl;RBq$?ttYHOcC8rkwT38NHI{ zS=}P9T|27V!LwQ8ElbSTac#Uo^wI^Hd|HrK@7;~Q=}XK_xSGEc#`9^Fa%;nL{ROqZ zPZi&Di8&S5(GIU_8mt`qqkMYQ`ty9%jkN=dfx`92+Cy2>OgcBSD0^!UH|{L@y{(2l z*t9Bn_2&Jx_LSN1;dvC{_o!Ao@@LgPa*8MZTI}R}V8u>?@1XQQuUy`n8E))1shB;R zW?lPErv2hkr55csyJj|6V|>)Bjb&OWVD z7wlNiVk^$A#B;6ImCio+V6M^s{kEvNNy}bMW-rV~r=d;ppNg?>UGM5h+mb#Yb&>4$4J&wSh^?~H^(s9>>Haq&vz}Bv~U)o`7Gj7<9v%>Z^ zu68;3mlEC$H^&JV({T6SR~>GZ6V7P3Q#D*gr&e}5AFZ^r{m&;@=kO}%T(PLgGCTOI zQg5W)4)-&PAMcme`Y!6IA!ZcXuu-$Hm#%wcCMbU^i?w$TW&Bb5eX326)$Mytr`Tf* zNINbo#(}isg!&EamiLqJ(-u=ok10J3|1i)qN{=f&3qQx?eM(O#JqJI>=6R(TfGzMB z)n5Yo?)y)O9(Ua+GF{Z{P-6FKakEwAGT@L99*2c|_|rT`7F0 zUnTZ=0+8v^sSSqn5WkJzmcO;ZwBmVA)jL4}y}6oByFvqI&sQjZ6T0};>E`@f!Zz5a zRqBbgNsDTe{xjp*j$W9@f%?d{TP58j1FB0peI!Z$nkN0^k{bP_P0zL`HTy+dhgAN~ zN!UYxehAOIdAeI+Xl6+8EUae-ZIpC0Jlv8fnr zYA&v#!^@{t@@mT@s_%;EoBZ|3wN6|gEPmy_1#U2J)gB<8yQ1_g6+sf+K$>1HF zCNp+HqZvDI7@i|Gn6Y!mlqkzU@67pYKO3C9V#!FbcxZ@_J~h@ zX>TZ+!0xiQRo69xIM!Cr__o;T4}gp}3HKP6&b3#YcBKrrv+QhnMCE73IbmBWDWZ?r zMt)MaSLY|`Zfa!cVIK#9_I*Jt#f7OdwI3(qmNb(M9R-= z{`bTEl*&Fy-we9l6MNc?(!b__O#24hBfqDB`HnC|r%;rkSj?s*{7oqmR-dkWA`SL(uu;Cv6p zX_<;|*7m?g@GjYSyi3-BwG6xuTpm)A?`LjsWU=d}<*6dW>0>3`jXTYAp5_bXN9tF;DZIJQcNk zN{XLpmvVU(NH@DfQ=e!@!cjsmeHJJ%Z&CR%)@78t$k$hU`9z${7Yr@3p zX7<~ov>I~FRb!wnW>lsukmNofb(8~AM|s5pkk0N|;{OZVMBXQWER%l#8E3?3(c@$w z{eJ;cpOeN&zOz8mt@GP#_w2Lvjvg7_)*l;}NV$2<`EhlhmD@S&v+mhh(tiLnRYAZ0 z%BE%8gl(?1**?V12j=Q`?E2B2v)|gdCXEa46Sm=u!?y02tm)YBw$IRYr5&L9r7X?}nW!?QX|~PW=SG zfy&^KpH!DY33b!XB`D8Nr%5@~*C+>@o@)nlc0h*IPa|Y-?4W77rmt-{Wpc+YHm$k= zzR%uwF#2I!eVSG<568R8q#c=DYI2qi-cd9^zO^~`T<2Aq=U;4;eln`>Zkdep(Q$^r zgn4}K6RhW#>r47wbVp~bx05cC`s$y(wMoOBe5UBd$|C9YU+)d_Id6!G?Z4D?t86Z)Kk_VsWg&f{?3tn8)k(t_LR++L(e6))oy*$iZneMPiMWHbBG86& zQ>5k@fpjYxq(AvQknSEJ+qKqV5-%X)NAw-;o$B%O zaO7hm|3yHi$9T33+_mksPP`1pU=w~P@npQ#Dr42hWvsfv2^*Uz`HU-G`VnalazN|k z9Q^5#=iqO3c*Rv$21r$=f$T4`>W|s`pk1^@()l5fdimfjd47D)2SR@t$bN%P^P8&J zhHVS|H5J=VZEsu3IZ@qoBWH}`d~wv#(P(=sXN(7DkM97z#xsFRUt#4|to2Q_8QIW| znSWdE{BIrg%PW3wb$gbc6t=0c`C>Om0O?*)|D_0{=H9P;vuRr!>+EVUU1&qbqo1+o zp#)=?9gy*X2pJQOjFfBaJhgKm^Ltbc`Q~f7QSDtM&9jkO^WW7wke_RRQLXbV`dGIg z`^=S+kLy8?(z8v^>bZi!+6T_eKzq$IuBjWzmq+vR<y_nb@Pht7*{rW5-2doh#^?a8aKflz?o<%D`Z3s%<6Hz2yjLryc}a zSJh70`tI!$nd79%xC7PmhC+l6oN>!29lsu4W87rZvUZ_ZIrAg?1>&%F$t5*B+9J)ai-`#ZIpT z+Im=(k6`XpCu56V&Z8t`Q15zoGK~uy+79k#F}p1_=is{eS5kh|t4|Ab;_YWC&&T-T z(@V{>PCTDx^-{rp{a@|APczxdYd|zYfd7r^)jmJR?FH zV=+G*i!sXB?lC3uiR$yVwO6I#;;^kN>X@vgW3)1mZJp7%eFDgFSW5jdAm{6GpzGdk zl=1D9CYj$K0_6J0_eRM4{>hQLJ`xi@<5tE+)^2^Y<0+qR{oC4K67;3s*+ag)`2HY{ zcP@+{#`o{uV0M48*-Y$hG7WR(TVFx`yl}O~d$XPLV7!6qPwY3<{Xov?mv{S&*k>9@ zcftwcf3QYBZPTvw3+$_40QOmb=Hw;jE?hmDF554kR;i2L__o4R%gbFi=-Gih*FO}I zXK&qLv923D0J^Q0?!4Wm=Z=Tg?tl!dBVc4X$&UL|a=1x3kcGqJ!IQh5p+Ho7jZu~wnIO`J65+?S7 z5BE;a3f6VY9LsHu;Pdqhbv>a*+B3c=ZP4#l>bgQiU2UlmcfQ7DJ+X3s>?BFg=2_$q z*9ii>&*g3no_cQE-{B_p$`bP;uHOR3~Ho_U$exNaitu-)im@D2yeDCe3cxwZSc;JSnZTC z^E*(RIQ4hc?L*udQ!xGs$BUgERbyOX)2qn0o#TjF`+?T)fc!5;$X{~Wbjp9uiPDY_ zibuC^Hocn9aQwE}>zn-gF5?Pszk(mf_QPVkX?sd(*YtWb9sS{8^oQ~5vA*-oCFWa? zSlfiX;GT)NS0#hx@AXOfla`n_aJ^sQiDwZWEppCm`B{wW>n9B}lTIC1?ku$zM;AtA zTGK75SWrVzk9mgD<9Oays1GPz;~LGl7aL9c#wIhWx7jq~%-H&QZ6hg)nAS-Kic7sl%o9vEsm z(N2s;8(oiQgsF3vn3cFyU&XE3c%Sx%A6V4R>^L{Oqv91~jjJM)f^@zhcXdXB^MM znqD`~I4%rHQx9GIo&@ZW$xS4A7SqmM$^>#Px`ircbN2rZi^<%60x@)#aLU)|8r8Nja{lv7Thpifkt%%BI%7 zu2nT;wl-;z$`W>U~{vK%+|rzw#4@E!sNd(hqm&FPii^}HsSL}ioD0vXb)^!k>j#jb)yZ>Uop1o z_Z)Tv_TH>ST`9_Q+%C2+FV>s*1B3CMZPXjg%Lij$aPIOYrhqG}a(5w9KF!?|wrK}+ z(Y&!*7k!Q{sK5QReZ0GdK5Tk^opj5m;nMAIA9E2hr5%}`(ek;lhCDW{f!gcYJ0MTu zj}bb84cqp5-_J?Cz9b`d^8+B=ooes=AK0|E*Ea27{!nB5on5%Z+>R@&X|v3ITCFy# zX9x1u{A6|B%1+)W`=@&)KO<_iTQ;advW_p zOU-S#5>JT^nZ8excFS8Y3fl7iv=+VtFs}uBFJflo8abPlddxcdNvM9(imiVYJzWH> zL)zD?AAhT#Z`$#xMZf>F^pW-6cPi-*_XJh+>BVoEg7cs;{tngzX5mchx$;aV@5rCq zMeN|vugkn?DbPCQYu`UfRDD}Dkjs(7mZvAjj>=bZSK_-|oV1_k!@Tx)ps4hd#o1IVYacc$0r2@y-U?v5e(W ztNf*Ja^8jeKhj&#kvFB~_t+Yd^It&gs^ty7VVmeLe<&}{;~%-Q|C!C^tD&u=XNpd< zKa_9*Z^$3&D*!gce-(|KHIZ|BXeR8Ni(T<#bc7*<3Of2_VG|(Eu4$uOeH-hs)+e= zhP#}}Gwtv!D6gU-*qGjDgl`c@x7V}6|3)BP%X4x+_&<*4;>U2##R${1MotZ68huV0 zDdm0U6B55`V;Fy+Iauc|Lva>in-Q+EvcdBM3gEqliNmq%$|wtBNz3Hup9%lVfpqVw z|5HDge0(3s@P7eX=a0qYo%!MTwqLUu)7@H*l|~dQ-|fK(TD<)Mw1RBxO9Eb%IJz;8R)7xoOr z7h&d ze=Y0qkD-t4dS2qCfpll8pZ|mY4t@0~u9uW#t&=*+J3KOIuL2nr`xJB9jy>>e;s3P< zg#YRX#eczXMD9TkiT?~B>)qSxU${Z)-#>shUzDjcINK2Cvy|~nun?>lC-~fuHdcaM zKW88~#>uNJWtD~W&;CyMo%V>xvku6xvwtu0TmYn>VXYo5w#;laGqHz${Ntm`c8Jk>09b3I9LbU&SvGK06Kj#H16ysC`jck+R%ylkm9@$aaG+;pM=wlJ%BPqw~yXOF)!4!&67o2my>_3uFHMU ziLJ};eoOT7W6*4Ua_g~8t5V18Sky9pOdqfnJ?kWsVrT4 zH<-P*G+-`^=cpSS@vN;WxPLRkNi4q9do`dc_J_G$k3#Qm8UNaaW{K$)2f$MACdU~1+0p{Gv2epnA1K5=2)O( zZU6CRLir>W{|^1qZuj}H!>b4*QJ=(T_ z!Iyqq^mr}kQSE_EFR&Zr5ptv%FIaavRmWO<=hU_jy7tkz_YmZ-4f{@8P1_s8Gc4Ox zkbNa1!%^;XLdKv*%a-($_Y-^h5s>mc3$%H(?WAwRl{GN0F11X@_c?lpN4*nL;COhQ zqf5K5V$f$L{cXkFkm&aB5Y7y05Es&Wn|weDQ3<*D?F! z2@6JG&1X2@$F96fG+WEn+NDLNWu2{q#h0t=U=en2*XIu%BX;vVX#MJ+U60qaf_)DE zle`abPD*mzGII^CIj@BFQcYvO++=*ZJS!iD=k9p+j`uL_J0!s#u6aXDzGa#DC$5~s z+ox6R#Fn?k|7kf7bjFC~?c@J6t%zrykPb^&Hg7?VoQ^p*wxm+8TLuM6Bd#YlQr9 zNB+w`ka6q5Dj#{c<5ruN`>b)p4y3=TT&=&7GY6io>DSjt-=-DxO?Z}S&oK+?1NW?5 zw#*#(rDbNlrqc!aeOj%!$xD}+%W-XS;`+3zKC#BTTrD%2%#2x+@Lu4Usxw)GKJlC3 z_#&_Ua#67Wq>T`18)c=lEZ+OP*w1O_OM7-VkoG$Af@Q(l?q(q4?0=#78HeM?VQW6kur%gkB0*1uuf zS*&*Bp4q{Bb%zcyhayg+V_%W9?T{&P-ZFCpuA|?qmT5=sMW!Dmr)@9ih0n=k518!f zEPQCWc^Ox+A`hMic(h>bJqzEU?QYBj~G2jv4_g|R{6PWZFwgi0oU>qj3g$ zKRf5}VM{xpzfoKgSY?~5MNK$iKHK;C~J$ntIdxA>m{+V;Th z@3KhOoeSspmvj%BE&5psti;itj7m zIr}dU@^=!DZsq~YgM3^Cq&ww6C;bD4o0+}4nHdXq#d^gq_(s*_aO{8;3(8S~9R1D{ zm@WNkUa<_Mo??)La+Z`{P%HvnckMVy|5hN~J?g(%HQSLtmB;U7y)PMb?<)VKe zpZ|Ui$Y;ry0h#V|K$h!2)Q`Uv=eIfH$J}p??15{U3j4%)OmTd>Z9JYQjl`KuavG70 zFJigS-V>_tzfF~Ncbg{p`1;P`XQGuheE$ZsKlap(WZ#In6uy5P^lvTGhG9JO35;is z!JgiuaemEFW>`tmN;+w=4Pf5V&>{1dadeq!k#s-bD(PMcWSAcVskaZ*f7mGTgM@RD zxE~O6VvIE^=dwi6Y+ra#li6+7Tr;k2PG}byIp>SEk%6q;Obm{4mbDI<{dDZ57zeTp z6Y5U_S%xX~r-6KypHY8GZ6^zVBj|Zx6VND~{^9B$0Zf8UKap|}Yq@_85q+IARP=Wp zkb3(s_5U46+3Fg^zG6W7uLd#?-vhE8Sg-z3!A4r)R8&q_gICN6d|3y-X>;43P39)qnr4!tWIz%X#*0QZ7f#6#CDAYQm=T0GUIzV{YNE zu+!cXNbmYUN^O(X-itu;E?N7>|D_*DKXSN{bldART_D3w9whnQA4qvWt$t-+X+z}9 z*YNDIw3BDH4_9FjJ|r_ZE#=tf#K~$M>C-xL!f1*A1dww5Y>db= zu3h}(-8p#>+NhJv9k=2PCRG;qm2}|Sy&d>=Z}2v7$^`ebWCG{6xt&2@vk&^3S?Fu_ zM!cC}n}WF1Zvk@7)%es&O!b)n(qGhZSV^%A48~lJ-VbGDAO3yOU}%9_*r4D-T2BptGWs!3QP*r7Q4cB`wyA9v0 z-6HQlB#v8dvbg5e{g5n87cQSxSG%n!FitQ>_SUN1HSzdOQWs~X#D3iOQ&W16c_lB4 z{BIre!fVDLkuhm+0F%x<>V!jt|AHFxD4Uk84`PQh7bHtpuIvuTRfv!)>&SJx%5`%M zxolds*^an1L{>~oCeL(OuGpN3y7E#BY+CDyvJz&qC_D6{@F+5gpl4qb9=knMR?nAms2 zelD07+Vv5erwIFqvZq?_?j#-l%#W>~KJuP*w!XeR_=iDz$u^U17wPpws_SrS?{F<7 zi7?jnf^MIgkT(1VX@8SIroRIB$@5kq`O~@UCRTQT-P+Pc58gQlfxbK%b;;+Qe3!4mUH1D0dAkQ9c zd-FW0o@*$XmUJw^wd9Bk00inc0n`^)p;*sZPq@=c;Q;f_wL9y!@r7q zj7#U{+onCxdp1Q+K3^{Kv}Lk3LN0^#A8V7>t&?(i@p~fQ@Y}@Sg)l+BtbF=h&!*k! z>CD_5)?ubkSI{+T@yRcFTAj@rR;{x>M`w)Dt$Mov$hddZ(3?$vAiX6#83)o^F+#Q? zY{2Sm=UYTiy|;?qz73>%-M44en@!vH8?ugxb{^-A(&o~RY&q!ul=Z@Ip!b>bH!U;I z;7T=$9=njfPpkDlQ=gL_@zk zyQVwm3gH(OKIMc@Y51ou_rr&4<5?$s*7ComcKEy#K4bZ>k?_`T{drG?Zu{zOq5q7> z5AWTV^FX-4FD<1S`o1AoPdPLVT@4PmQsBV*s z81vh9Z`@*$?^qz+chw(*{EScMk5z2?oqIRpyQ_Oet_L@KAM47>fchvPO}gJMko3kc zl=S+5yw7`e9oXB8HTDkdo$0{ywT|w#a%)M?W3KTWxt9G#otL)hj<9@~o=unkt+RSF zv1+|#jtl$$mi&q!{`H_$^d#?y1Zz_@~lazMHg=$sQ2;OAOR2^h=~fWg^rK&~q% zfek=&q_)nf81B3 zzFiA?RDHAQ)vPNjXH-Aj~}pE6nlNtT1h( z!!evs3(Ce@ntZ|?J}-QyPS=rFBmMhz z5rn!ceN<#9E1ILkpH$2$_9+$>ON#N2NjsPT;;jpl1hNfF0ojJ7fz7}Sa5yjvr0Y{G zD#nf$dR#HBm;<&Ud>%L&SWtQq*iQd3f+eNLKQ4R{iW%T|gv$aa0Q=OR15ScJ52Pz7 z8t|iwDW-r^;ZFmn0W(U^Dl+W0Tw*V=vpGPz|L$H9l<&EFqn^S44v_A$Su2A6p?)9n zUkPNNG-clvL4R>0kZ!mARs?-h0m%O2;Mqd|3y}TD!u?kSW$`AEW%1<$Rs>}+>A)31 zS>%B%i-QkZVMYM|1RM!G;X}fw{@@kCcR#a0x@m{32%aPU0oV%vu}Pu72OI_e*@ue% zdLYYc@L?;0vf39o2L3yNq_=-q^l&hcZW)ke_#m(Yc=h2cOegROAn9F4NVuN?$HG7F zBP+}};FCbQe*;;zM<2N&DBDYb6XAanNc!kGD}plq2rv%+uYjaCd{pAE26n+;f0X#w z0w=?N*vD3wDZt+V>CQNMMPLK(0%-%6e0+u38MxmuE6jA@&w&3EXXh>d*Vwrq+JssA zV}7?sT`k9(o2Vc0|3J-9M=s~a)cj5rl< zJ>%S>!Rh~px;KH7s<_&RYmj9aW`-UZV1~5^5Kvj#5f%4#$0eqNsJKL1Ma2bZhC$J2 z((br7Y83Z&iDKf?K@%~Wq@&~wCNBLNO>m2?l1SXrK@y2e@;%Qzr~201zCA#a|Nr~G z`u%#IId!YfId$sPa_iQu>#;CxEx4z_UZMUtyQpqvZ#lOpJ-7sDdF?tt`km>`LfgtG&@_i9>x=#Sr7Ekh3I`I(kshmj)ZKp?~2O8*YX zbpHgh-yASX%Y*-Up8mMmqs{24ZDuf@p_bnz*Kuz;5?0aADGBL2v_O*`84gwS@q7-eqvDqPAO`?~m0QZb{LS1c(;6Y6U~w!fre3dl02 z^?FXR2xOT{N=Lt;`4!VZjxQOd^NJ9 zJfVBdm-J5oS)P}H9Dg?`oli+WcF+Q;=aYc6+m}G5U)Uk_{R)uum%v6`pR`cu=YX{1 z(Va3rpA974v`DV+aJG!orvaJ&Y9Pn!7nR<4j*QpGE|%*Doh#$=bwJLo-c!2od2)Ss zAnSi~!Y2D-S>H(fx6?@*7=bo0AhZoEM;o|E3qYHs(Y}cpZRfo7@K7o57eM;YBg2H= zf4KP9kAcj?v`skcZbZ#6(^TqTY$){0_f6F%`^4nC8f%=st)TP6B9J^wK>DIV8)Jwl zMisqC{j>2Hkz4mo(dTm@^Nu)P{C6^t^z;)X-J3x6$KOv1ee;Rp#}5G+HUg>t=#wPf z1fX^c-gW*7-amI4->}ZmpdK~(;esd0!UDzuh~M?;{|?)OUS8 z!L^IknwRO`eo4}KX9MA#`k|fp<^tX?(Qhu4nCAb;wVmtC&X6?_=SmEm+Sd$h_jW`j zJ$ZJWbPK;dlD~1D+4;M;4;bhBYcS69hrn7$;Yah#yZFs=@&)6{e!hvdko5EO%rp2c zb9hz8p=Dz&Bp4sI7P8T)XWFK_cC-8V%65~&x`*3tY95#RzO~AFh?Q3^?|)%EWWr;9 z+mGuSZBp^ezesx;UUJ&g=B|eX`W&lsaPP$|NB*X4n4VB+!i_uMgw8YUrt^H6|@e%EhUfhiSsI1e!*}igUTjOtuuH78dJZTXI9|1(cx7YC+#a3AJ)EBI=0=EZ`{6ZrElaM-(dc` z_4(B6Rs6%sE0_1b(7x6=Wk_qg$|~NDcEvv9X}5jZb~CV||4p$B-nuTHJ(QMWjpllc z|J(WX9gHiN!}3%Nw!xOi{XT#)y6eY!P7JYgVEljVO6kX5LA)J@-TgmSUfJh^cJ8LV zO?P$Gb{18f_rBQkTA-C%F}JYK0Jd=aD%>#79EdTjsO4{ioq};;?JJ3~s{_B5Nq#*A z-TeJyrvxruuJQf0=G&W2cE{Ca1F)cY}2#xE4d*!eGT+M$@<*(;2cgvvdDyn##j$h{k%l@#LJtD$KhvS8;03Sh2M=p8!W#t`z~{M zME6{3zPM5H5BzRre&wU*{&lUV)efH+bm^z{G^U$+YT~y=JDYH(NCazH{kdl5-3x4V zc*WID7hNlQeE_tXufQ=6;_k-x@KxemNDrz_8fYk9)2ha&3Xajl0pyQv4uGl;ETJI9%*SbuHq@ZUsYJD={z zp*_1BZ##FW9B-3xf3FhrzkR3J<3_~WejvC%$;#|bufE#Cqg#dfT;Q4Y4S_k68)i+x^o z?c?m1va&o~93R4IYO?2T3v_upM3+*az8<_s^oi|V-H+C&%%Hzl(450zDq_Fg7khB7 z>A-L7PX0V780XCkoIJS)=9=~R&2sVt12wIEJ|QSN z!#~4N_MP-Iv1jI*i}9y87F*$@!j#w{SEk3IpvX}kKii3Q?*NW>1@ol7hdu$nSDZY-xL}`9E`POsxz-NdorU)QrE9_aGu6L!Y%SjZ#hLJOCX06- zJm)pj{)2umwR>g1w*+wvaqqAEDeM#8?`=T5?e_+*lzwkHkp0|tPfEY{3DU5?8(F2l zv-$`7I~!lFUvF+1cn>QiuG+hLbN&N6E!(5gPC3Le#J#`rr+_g$Y<$>&cx$J}a$=Vf zkaqe+$NllJQ`mT5^$yy{#&7mJYazA@%PW4?-wf{XzdJxbTlOE=Z_S>S_A4QdA@2Q^ zKZz=Sc8=p`zx|>3*%2$metSPA_Dln5&jspl4^*+IEl1FvHa^TI|4Cdme_Z_^*mFX> z(w=d|F~q&U@+VQnA3Gg?{Pbb5U+fXF-#qol2Y_MzX!Q=-&&F@It%CiW=bv4l3%F+& zZmeQ2r?_4}!@g$f-j%kHAdLq~O@3kILUr#U56cD}Tur$X^{IKjW1D zGnM~%mGWCzuKbl-Ab?`Jb^b#P$30Kbd{QVUm)9rrMeA5H*#{q57IY2_rbcvYS74nUlv?DKZg2)?k zyYQI+WSFWn|8E-A+l<2ggP}OvtwG#g6Bd}W!=`K?7KZBgYN_DI+CcD~ZO zOM}_2v(1d39W`TczUYve7Jsjf?$3+-zUy~hlFBm$WFL?L(iSMrszf0_}7HInuzAw}=y9w_sz=ki24dc*(fwqq*{}_<8apax*UE%it zko;BxsT+g$O||Q>`!J>7B4*$I3eK@yRclf=%{MFXyZwMiy|isjy-gFI_1Dkl87uw0 zYoFr!L-smSF?}#D$j5C5DW?n+;_2>5^Z!t1{t^d@9&!JYDJ1=V__mysa|7b6-Q01( z%JS}A_5n|QZe}s~oG-ftx_uO)Tf)(eDu4Q@=+{|AKP%7rp^V2}$5p*n{x)ND&U|wa zeuqxiI)a>FTyPu=@<_cn-`s>>#^Di+3+BnMns5Gu-zq0hFwWZ5e-7oZzZV?a7LU_s zHQy9`@o=%zCqP?|!7_CBzLZ(xw+nAS(kt4|t2{3Z?kS3C{=Hxm`lDA5|KYn$xfS!x z_{Zj((m{Sb1>-y$2ln&CVdEM2O*q)k7mTxZE~C9~u2Nq6u2b?i^UXc@Ep~WU#-XP` zn-9i^Js(XvcBj90*OrGLBISuQp@zhXep_bLH=Y&ypNDws2X1?|^2+57&P%I3AGP+e z?O$o%PyOem8K+E9_0PECn@5U%UjnUu6@EIj7sjk@O<#<;J+LEzV{P8ynL1f~J`JS3 z>{!e4ANyC~e?E}mb|B?!vtHtF0har5DMLc!JI~RAHVM#8A^MdZ{bDDHesN$>zcc?N zdRzcxxE4tLhP^NGR{_KI!@1Axat>wCUaeF5;QNE^ID2iPk+6w<{|3bx%(ESLIU zOfeqfhcEq8^eh4y)&p6t=)Z*i4Upy9#fTps1Pm=#SUGIp<<51XBLjJ4(O309M&wkS zll{7%E`xN5qeah)fi`&i)o1UB^~Ggue|%FCdyX2>e$fQ)zhwPi(- z^B|DnXF#&(^^VX#0MZ^K-j#Hh0_n%!RT}?#p{pPJ=iOC(&(-$(fj+RJtyZb~RG_Sd z*;3Y`VhQM$^@J}){}hnnA|T6|Q~KDiq@2$IS-#hR%+It8BZx z#T3bZt5Zd<;XtiI6ZDaS!=t3*o>3l&Q$*jnK!!_!mQM}eW$WmbYNMXB`JP%IlRkgG zxfj0;GamKQx8ZLvu66sqIGc3`oXy&92EgCEZ@6mPGjDYDwUoBGv|=Wt?NQJ^HPW7D z0vRp_QqQ}TZp6S$f4dk+`+o>zeSD!b{`Eq+J|eaFE_H*6wEN#AWdg6Puhe_rgezP> z-|TwBd{a2wFKaN)JNJ(FbGRqwojB(PF_e*kdKB~?ZsUVu=lX}l&clGb&U6*NTjl%U zNr$iHPjmxq!r#i7qI2B2m_*&%HMrtYB7f*C(dTd=^*Ik|n4h7`JWXYn=V^g?m)bSv zeup5l1^Ui8qEg?8bMJMt-gix{a^GcTx%Z{{Es(!1M1IDRe~8|fK3+w>m1XTvWA|Lz z{>q|$KUnJA>F=yPL;8u}zNeB?uA;W*Qc~)#;Y6uV)?e7XF#4wNo7k+zWcWsV*FKMN zAL@Lg=I_F93Xp#BG?0EW@iXc7n6})es@$st{X0mvR_Ut~(A6E6(yDJpF&m=yU;ZKb zna@S?cn8Li+0tAj`vYFqF&U_07)w!z){VoH@~m^&5N(`FcH%DA(xwZXr&4s%=8!gjoap~Ypbg#izmd1P+BC2C1_i~U zVkvO1@a_j{rw>KW7$EJsm(mXdY1cJMU;L5S_pd;{Csy-u6+3r#u4#AI0(KAjRG9C_ zQFaE_cU*la5%8f8;n%$W6_8=XMk(j_fs7vt|6(~A%D!UTZa}AMew_-`K}v0&R?Gx! zPgy6d6Zs2(3|9ha|NE8h@n_NN93b_48_4nRFG@2HLs@69p9$<04C#AcFbvf>{7AkRhNlv40}i?nQE zdy`{snU0Y$a#@S$^)%3ivJa|#!gwVeUdbbtnl-h;=S!dso5LsL@F^X+)GTQfJ`VwH z*c?82hffrI7WWfAw*zh196lw7PvPjLX5A3sQy*fVFuO$G_WdS$6nvn+&=^NdD)6HguOi?c|R`|HXsV4nP}he#Ovz_c@181bkKx5A0Sfn?OU9+)U>ExyKkmmaVLKYY4P=@Hz;b^g?IRIZk10n^8h*f#Q{?|kB4W>nfDF$8gXQn8ezFe# zDD1Fgfbs*{(48F%PX09fj3KAU|JT(Ezk2n%?SVo4!pd#l@$09=exXkIdeXHO zVh*1?_)Jqi$88~>q{Al%J1uS&eQpQZusQl<96kx~nKn@P90#;vbNJ*PK6&;JP09yo z!{+cQIeZeRw+UKbhXQS|e8TD}`mR$?&|{tIQ6J(z$|tm+NH}~F-o!W>e-gdL!4P( z?R|sDd%n%7OLudM>?x0W>c+jl@+WpI{6*<=M@hMkK%8xt?tH?^lIOHtzk5*DH#o-# z-rEPSb8dmo&%OtcZ$n==dcK)>s_5DV-GXs7-g;D{iOdMBM^VEiF5cmGdpORyDH@**^4cq;f zTW>4%@ez>xhHWQw4bqVBu0YCQaO=tHAKdp=jvt9{Y}=qKehA*`?Be3SC?w1EGZ zw)tis{LY%=`%f^gHRK(#tW)+P`iih%%g(ys|0R_XcM|8EcV0g-QeSm7GS2-P*O-^V ztuHIP+p{|GfxaF|v=iQU;`_68GkM-@50lt+zL|&L%+vky2IJ(uv>(r(1PAbF#J3mM z)|pe<%(VHY?=D#PwfWfwJNtNXV-R1o z@sP`OUE{FY0Y3beZUrBt55`qHtEJ0XI9PY@au&|a-li~lzUen*zDb?o+b9?(J{Z`u z9rVEoVQ*9-|s(rEBHVBY$~mTw#Yu&bB-<0XZqX_eVo4a)b{ya zxtpenUb_MrF09he##DCes9HQ{YBWtVyswew@uk)zbxUr6ZfiqyGmg(uk3SC=y@res zy>Gf z9tRluPnf^~ervDVk=O7H;e%-0CAI4D9t={))kHB{r5BB#c zr~GfB%z|DAlNkcblsZdv%K|B@2;}AHT!~KtDJutLdeS^oku=YgEGbRobt2DTzG#3-297_ez-&@szo5kw5kXHr-Vi7d%rc44fF?y!-RY{v4H2aYpkaCj1My2}$OG*=YofsCj zJ6P=S@F7xPLk|^t4}x4cuZ4$+|8Mm>hD${{p<}OL(?fK?>yzxfaK{#;?HK+$u6~K7u@e}i?xK>>jU3^?EsB= z5qY)^>}dwBZNR-`y-A&$GSA=_JI`;^m2uD#=}k!bn*Ljv{ulL2Nv(o+wAMs7^ftrR z_AyPE=kUFr#5ov$7N^YBj*QAUv?$~=$Y+qxgyh@Q_*DC4*YT-f>jZN&hB%P+&*+?u zH0@8Cb(>e3=+!AOEWCWG)XxV%h7(Sc`uzux{3pzj`aKQEa0ih6#izh6s@Fi9Y8qc> z#!nq+hIBoP#(VBQ4P|E_|A_YeSEoe&lO4WXZyzPU382rMEe79Jn&a@Zd_4iqAGR0% zmYpxY6L+rVpo6`?UwDbge+6+&&*0vlT3PDnvC#We)mPU4yFRyE=IEN7BXyQmq^zH9 zEAsyUwDLn`1lQ8H@QlLjr71JyvXr^x0>3Q<!e!J2SqPW+xe(=|8q#h1NoUI4f z53HJxdz^CyZvw*##{@*Vh1e{ZO%KfZN*eGhLfY{FN5 z+bf{YSbLVVJ9$U7p6ODYug!AO6_M_^xst9EXzf~V1Cid?3(0-KeYh{UNIQFLF`amK z>ZX+WK7MPzNB*L%i-BKco3S@ifGkl|Gz?eZs$XIxF+o~G}N zUZwI_!e<>A8~U%R$2t<`iCB{@EK8Y>@H;>4>sJ|v9+6`T@)_haA^EyHD{ZAy7V2f~ z$Nz1xemU*JO1~^Q{nP1}OL^Y~lFwF4gs!XNr&hMDtEQp7@lKY14ioEoougmT_C;#z zk&{HuG@$jnu=;BGr|(xq&0BKnYr_=bGbkqd?hhotBZ1Z)H6!c2XHg?Dc8{Ei^VTt^ z9yw!ZsiinLPdj=0GdppAF?+BXhV_pA_>O>mH)T5HU&%xWTz~cVd(DyPqJAyvM_yTpwU?ZEE!mK5w+~ zm1|gd7LKzS`aA2x(vNqIt9Gu@od3W+=88)Dv>=Wl?){ZN3CEY*_)f%I`#e8T>|>gx zADgHC_COUoS-pdHvhiUy2#pKOU)|@Y%c|JMDVkT8tj~>M<#zmH9hUCtYrX5GzwT5& zATPK6txQ*s)mxxP`pQcCXB<7ILq7F5RrPqhiXK*Gg}>S7{napF&x-t;xGrn*)xQH6 zH+OaU4q)UwnNLK4tcN5Jy`xDh9RqUxAP(gEK?2CNp)Al1UyNJe0?7|#`}`Eh zd^>Klz~l2Vko3Ki7I=K-PZoNoDRTX+nDBWU=+*c3a=ji%{RSwFf6KwUpJ|ux&*3Rf zj2GJa;~78pC-uU3T4-BfhK*ieCSL823BkB>AFTD#G^!8I&S}GZF^c)(NN>K#Id2N~ zW1w!SbHxT}Aa%2#C?&7}%1?_k9^pWI7`A5y^*0 zzC_9)QZ6wVzCKLscM_1H6Uekz0GanrAagwiB=0`}DQhE;vKxjk@N^jsq;5L{`5m<7 zKt8*A5yU<9}V*aTby3=7rloptP8SSKeN$iwb42Mgct z0NEBOqiI|n)}$Lv+sp>=tT&AvbtOLiWxFvoe!Iz?x71T9uSnv+slx9!K-%r^N_Xxk z^u0iab9NG%|H~Ts!15Y;3^H6jbI^0yAj$Uv(CR7QO5GOEEu*2&RFdHHIRzjvPvIQV zHx7QJi=bJj3H84cXx6DwI;j`|vQATqQ6Sq;3>XX_)`@;U?kD;dft0m%z4*^9K>EqT z2JweyfaKl3QLY~cq<_`+7r#0PNF5&lk`MkZht_TSnx=QX{X2y|`Ch4>-fjYU{+U79 zPtugkmsVY~K++kd&ln(l9|SU7Hc;pXfRsDB*_T_>&=cp6^)2#Dai*2NxhMMOUZ(VA z%Ix%2$~?c+@0){ha!=e~>O15NX!=v$@u&FNV$XzPT9LAj`$RHLLE%o@ulrDm1XhFGHA2A@)F|I6! z-|Fq$(QG|?D$Z@$0cXoi?(+O5+N0|jT~gi|pr-=-jhF@P^?RTxBL~`s1A2%b91pCJ z&;1Xbd*iIOIL>O@3(t>s?IJ$``Oi3I%_#qfWI4+e;ohYkVZY*dltq`ct`5_R`mzQx${yh&znQfEWZbuWIDU% znVGr3JdEEOr#!*9@cE!`8=0dA_P^QZAR+gBHTHRcMR#5rSi>(&TVM{{Wr0b5*SB{t z&hznLzWo=Nckx^4<_pBhnskF{=s-V#J%zMOd5xT7Rc9^6t3L3N-tduLW_W36v86CL z-zA+br$x6c?RfuTK#l2(&W-&?ZcFO_CMj>6!ZZ{xcDeO`AZ$Y)+JJa%I$i4D%5(R% z6}Lc#mYXYeh(wmtt@Y!Aoe@-YwuHHQQD5`X^xtTvqoUwYm7b3<-Nw;y=RYo0sXMYxsTnK%x5HcHd2@O#=aP3 zwvFj+#%yRX&97jO4d!pTH&W*B_|@Lxx65E$Sb3W!)tO0H4{y8PTPrU#=Le*kl92@M zTyV;pUbxg8ale$eakFM{c8RUQULCJsZ5B&UcuR0F%u#utjuo!r}OF;;% z?;QHphdvfQEq@U{R{(90zOk0?D0q>Z;-3ug&x8MQ>xJLyPlf+38yx<&U)fUh?%BOQ zI!Rq^e{cSQ^;i6!ztyj|VB99hM(_DTedRZ8g6jlfeSb(?*gFRqr!J{K>mm#pXM-I( z*WOmS#`PuQ7~tR<5P$%2gnQb><-io~$1F@&4v9lN2R!>w7I`zQRe|lKj z!JcYw#<_O3^5i*Y1bZrRW{b0TgMCS93v@DfR_c^MyR<&g_)BSz3xe}3eILxq+GM+_ z$CatAS^&_3PR|shh(wdNTZrw+F`F$?SW7{eJx53u^oVzORoJBuv=QKNM zy{|$X^DwyeZe?}%-a+gaDRV4-%T*Tb7>p~AxwcRB)+M^R7wGQWCBZ)Lz<%aH?6=xy zRWGyaR6Nti^CZ88I`c~_+v^XzuKUZl*)^`(vw%bu``dc3=owT0*!rlyyRx4gi#Ue3 z_gDTDoc8I)Z$P|lBTV_w&-FeRNV%VA`yG#V6V_i^-GlvQIetiuX*@~h&gm-U6bS*3rmvb;SR?Y)ZSJsHh>R}5!r<2hkw_5yPYevx~`US2!iQ0K+{ z9Pv>b57n417#GZ6qxV8Gf7q_-I?=4&cbWBCXxcb~xi>=&NIC^XFJaOe&uf28$~<(` zi3_}Tbs>=T@dS`*?>|YdGcC_A$2$u}oHL&6laTMRErCo1@=qw=q{Dyu@sj^oAj3OA z)?0X%%uIlT>%}4zCHXgi~ zE*KZgFKwxO@9WFLJze401*U}GD-O?KTzB~s$U7Im=KEAv=oE|#_BFwC8%-bIw#BQZ zE(fJ$SFXEx7+^f$iMAzMfpP9V=hih0F?Vo|ZAXqHI6h+^o6$^?*#gd}AQspZ~6=RBV#e`x~F{PMR z%qV6RbBcMzf?`pzq-d^E`HE4+m||Qpp_o)mDW-w{PMADH{A?E>`{R>=?5F1`odI$@ z$SVCyAjgSUmHr&aXAX6TOa3W9uD$N1^lTuX7j!Cp3y{wX9#r~8AfGe+LFuh#c6iSw z1_G(iG$5ZlO;>s@kk6kkQ2HJqpF^!s`u9LSk9uF}`Xf5L=YYe32Coe zps!Lo2W$eJSNa3s0MMT+J?h8~GZ6F?Ao(2)YzBS0($@k9fxc7e)xg1^*C_oJa0uvz zqa^>%z!uO4Dt#8P74-Q^-wzxL`o~JY0UQSUL!}4J>M+AWZw;hA2LnfdK1S(FfFnWQ zsPvP-QJ|kw`V(Lj^gopzb99Gk1HA)~{AK}1gPx=GHpg_BF`#z`^7<0sSkN~s{VH&4 z&})?*eQbvr2YP!T)1M6-5BgH2p9M|;{j$=L<2uYXphp3j{#f9)pwCeHZs2yHb4tGt zoCx~wN{{f0pw}urD%s)P>r4hx-s!+yaDB1T zj{$cD{fyFI0e1skf1;#65V$+&Bb8nX+yiu0={JCTg8o41F(-AHy+F4EDG&etUkPFB zes+uuy|x+80kRjNEnVDUmOSjwwSsZpd@1l8Abn4VxgNi~lP?%oGqI1EhrhxcqcmNq%EbFnq4)Wl_TG9X*477jJ*Zx7j+%I zOFfG+k1RTQvzLmT%cn^Beh`!K=1rirSJQUrQZW`Tq}J|uH#=X zG)?Jmrp)OJeTPHeVbFId^lh%tH}2>gy-ddT7?85#K^Stoy1?_Y9?c_7PPQ2GyxMb9sQ zEDu8s-a{O?Pg&=f^|^|B9evi}`gp;S9fyxU{Cc>5n>yd0Vn{bs(^*+f6ZyXDC^Nif zu<^fWkDUYRk1;2I@nWgJ640~xC4PPWpib;l$t z$w_a{7abys)aS(xx!)H%ZUZ|;L+u#t=hs6*eIf~@4N~eWX&`+gqu23oIb4|%JADjf zo*@gwk9J%r?O`d9{&r`l&;=lQ9d@?ldkjeWEg;j`;Q8Q5|DF#foH9kVpZ)1;T0a51 zr=7GBq}^82mF*sATRAtq+9RqM1F{Tp$4-yT7rXohXxmrQ*nVbgXRC?MZoxhM5cJ=J zO+EUsUPb9^i;j$<`f^13@e*kEM^Vs3qw&^mJ4D5guK_aTfUK8a0;$^@8h>D$=yM#9 z{cH;8@x%WNuD?g>eIF^RAFuyirN76WbOlX!y-gRed&)_hN7{dByC~Z|;O|){eN6p4 z?)dxhi`3t}=f60Q&RgfG<9T#mdnvg2)pl{mc9TX+`R@cW{7~sb$B6w-09yO_Yccg* z)?!S9Z>PMt$spJ!lUt%m2_+xO{W4(}Xz{&{;ze?hzO z%K&Zu(0#C+&&|Yp5kFpF20XFAOnpMX5RmO=mC~#;E5DkYj3Xy;k;q8`8NT_C1s>nqfeeo;z0>F7w}$~Km)ABW zC-2B9pwD8yqV{uN{YCifUJ^MofxP}ZAj|WK(wifvz!=7JIe>w^Ux-k(W?=Ce@x#G>iWG50diD0+Rpu!BW0mfmB~P6d)^A9cwXDw_Fi!0 z#k9YSYkPR&@4|2I&$Rx4;&1-UhJ_`4{BXGYv9QV7JFP7?xwT0e! zzQ4@AGwH}msc)tgGeFM$vOvy3b3hx;86tkNUyIBSj{-8yN+8R-8pyCitI+!bso$S~ zOn3EAnLpMK^XIorUv-Rh^h|0WpVB^_`7YR2zctz^Y*eH`;F+e`Sp1Y~$u>67Ea z|7@VuzuZnHHkyeT6DQ0bWX8^H#@?9$rg?>b*XxaqO^)xvUf&ukeA>r}oc)31d)5S@ zF9cdSO_Tazf8R*c2EQ3xYAy~aMDpHhf%;Cu;ce7jF~yX&%QTSnol!aq}C zD-@J20{M!(XqdGPg`Swu@-l zqfVKBx1A|BFg@ z$G_#AfXv5W&os8!G^#Joo)}_=%^W0WenF?6De1pcjxGh2SyUvi z@1HJmJ_1sH&oe|muXV>a>+mgEe$M*Du4fA0^MT}hBhUuVA8{Yris$xjA6RgBMs;2i z(|O6>2MND#0~wYoU30MTZwA`>^!9h-er+V~16r|;?cVR2fxgc~bR3I1qKds4jy`FuS2X-o+H){n(n(ju z`ow8hXgX)_d&WtV)OC`6Pf5Dgt+CHzeV1=dd270PClAZS5WirlhY28kE(x@@^)BEK zeUkkpZ8Gy$mCry*(9u2vK@xNLmC`>w3S{^dka?q5N&mYqkl|z?Wo-kQ6`dInb)D@)Ge3*Vnp?H!?Lv+s-K z+nt^(L-b5KdJer^^gOSMo>rEQKmOW#bFFE{^RQ;@U2MjC8qMwUex~?#;ClyhZc*8n z+oC;9v=eJQ@bSz;3(O%8WBunjUH@V2;hG7#)}5{VHL$MxkrIxrBI?^wMcOXBr-F14FB~ zcB$iq?rTdq>Aghw6aDtmigv_y%YMvjzt2~;_Y(RV+gB~PR@%|SK&I~xesgu&DM6Z;iSIsq|*B(ITyAIdF^s=(U^eTktRosMLu@@@sm2>pETlIQZ z^?Ip_URHLPUS_cGCn%a1lAEZ<)ggMtkjK_z({*C689>_W>s9K}%C>VU_gs%yK(Frl z=UFdS+9~6VfoGmC`aFU->cimrla(d!ISjzPS`)uXTf)h`1-_f*-HUI5KI=mCDZvJI z5BHC5l6Ljt&7#+5K!)3v3Ehmg-bGJ+{~@V5g!We<``fGSWzSS8i?y*uPbvLFefV4R zQsrLu65<%*-e38Xa{R%KztOS7(@Ph4?WhE#%xiItGJXZ*9EZWJC#!dGAG?jOc$V$; z)BgLj-ri@tTU>l|f%!Xra|)t&8{`DzWSyW62ur`mR?+vcDt>L{xo33cwm^qjFIW0s!fF3~&KLjctkV9itg!iq z)UEf9s@D$`9lcUI7SDM~>&>|zh_v{1o6vMm{Y2}H@1&fBdpzzJ!F>|^o6$^?*#gd}AN905lqlz)bxMD&vshCnsD`ph4iaEu+VnMN} zSW-0is(i($VoWivm{3eArWDhP8O5w(PBE`oP%J8z6wQ4qUool}Q;aJn6qAZ6#k68Z zF{_wU%qtcYi;5*h^F5WX7*&iZ#uXEaNyU_6S}~)TRm>^o6$^?*#S-wp6((Q5&|@_V zNZ-8^$Z_F0rN07l{x$vvxqd8=w8KMxpASlez-S~{1ySZfBG(^e+%R~ z;#W#<|J{Y&`r@%broRrz^~5KY{us!0#vwP!^+SN%KfOrl2Z7u_{adB`+`Q1+KfOJW z{7wP#9Hr}&eiqmt^v6oKEnDdApFRZ0^xpwC;rfG0zXcosy3Z|geK#QYPoJXnEkN#{ zepczvfZRXbcB`a60?7T--%Z1Pk*U&?Cyo${^`Ae%)bc8{nM8z{SzSfPya^ge*w9FI&zPs-w(+B(?=+M z1#k-JTa|th7z6#b(gW{ZXtoDE7D#!sfbF19SNaYh_fJ2f^t(XrpZ-+o@%JtC_D@d( zGXGgX?w`Iu=^p~QfBG4v{|@9_zR&k0{cb?+pFULSG?4qJmn!{BAooxIPU*V)7kc}r zhXEptC5A?o3=069xKjA*ulzo9h#{eLZ#*GTL-N^tGMn``>-QB4@*&pVR$OP_wy z6Ve}-pPvMIguIV6%i$AyK*ppbkRkU|vD0%vhL)cRy%UiA{5O^6wX#gnKhZR-7HjSJ zh5(+Y^?TWy@p$jdEpg;UR8Ca!^{0e?`_m$C0g!U8Q`(agvW6u4u?Jy(HNXs5QT{%c zx36WTBd?@#%yKDTTyg4ZkvkK}a0QTZ-%z>)8k6=mo9g0q|OzF!3Q zC5@(bh0GP#Il81F`}AK6pKE{&H~hxuD`o1BJ?5NqcHLv%GS;vA4ES98yyW``$Z+Qi zKA+&dR(H0V?(j{0Uu=|C%qx=r+P8&&&!WgX0!Vv3p!6Cb?KScpxqdXTJA0Mih0u4v zTPOF$bN12xGo$2IF}{PqZ?r6ij_w&?@nzz(ImHB!vhzwOft+Jxfx+mXdx@TZ z15(c;;zB|+h*ZM*0RKBw~3eUcV~;!4VBSJTWEB-lK=O_)mH4<~0?0CFlxF_i-{rZ_wV!p6G({kJMm7rlHjuVI^&j$H z+%-VX=WbK_Z6L#upUZQjr+}3G9FX(GzW{^5meZn~BRCo59T!^O+O6+0qn+|*?o>ax zOE3$XG9yaoKvUs+air9hVV4W;Y9CH1q@`Qj)00co?-fo`z6SG3Iu z_4uX>&K2^$!ByU6;?*A4wx*#h43wGGzAL9#Qj9$)d zTKcc%(7t|-W1krMs~^20@_q+o*zI*+e$(VSGa2vOj9lMb8c>WB8uRt3e#ts-%vk2| ziEF=?P)s`g;G#E$@BaX4mo-Ws`cE|B4hKlpORU#qvz)sXGB&(w`lpJ~MmkTx$U z?FrC7&khnfR}L1r3xrQA}lSA9qM(BEm z)3&m=N)n!wDHw!wreiyl3>L98Z15!pxY4Sd~M&xYML-aXyE79j8Akz-)DfVgu zl8yrzz6-Sak?yKvb$?p|9bJEm>$sVQPP9`VNWKLi>#3+%0($8R0;K-UedYQLAo&-7>>rP;Q-1<_{-pGSK&JZ=NWS>D9Bi2_Zpuei z27Dxavy?Rhq>crpi;5*6b&EOko@aLvJz92?^4$ew-d_P(zE_nVu)CzY0!aP;2_&y^ zdq_E_0!beMbjxMSVsTStS{Eo&^mZvz3`o6FK!!a}5;@nMEPC%bTl78^NWD9iz7c5k z>8eBZ`9aJ0uJeQFZK?y%(*bD1r$-C_RmX}RGmaBIz73=vS1bJxFkFx7{r+_5;kLiD zmOZ1G1yV*)Y3lU+DI({BQ$?TsPZNE917zCuK-Qm`BlIXBLkej1Bi+?j)pcAP)bU!e zO-3;b^mJ7EqxWS#c-K0a$363BndeRaK<0V#fzN4{!qj&3quYk| zqsyV+KCCnZ<}Z9#^eZZsfYdK`lf<7nPVCS&UhOwQ?FaPi2lVW>joJ^$kOKZY`mG7* zm({s+PB9OpT!a3K;WuB39WMS#?DEb(#eQ@CCHA`xNd4|m`e`6TgQ=oldtWma_ax1@ zC-J|UD)&{j6T04$6mhT2GG>4@X~Et*ky1)|`M%Bic9T;eVd) zpcx`Niu}I=8Lr<+^t=m5dp-*c>L;?Jklhm67M4Nw3Xhw#h4>vJD*>eJq|znD6p*$^ zE1dyyEXyjL19C2uSGoY?+ImrG{96%5oh5p|0A%>qTq)O|fh^aoc@p0+U&l`%!_g@j zM}H0EdVkvjiN6-edDyE;AJQS~`9A_Oya2Rz@*?oZw^Mi>tq#;tLjB9Af5jbtdhLh8 z|DDG~-bIf~d9DMpJdXjbeCzkV{P23(2>CxzWtlgZ75~oTe$?|3r6WN4cV00H^yV~5 z7Zl?_)>8sVeo3HLPl_oZpLwK}E-7Y!e72DVRtpm^l=3xQEahJTq>euavi$D>Df7xp zqANX!Rgn*2NpY`K|ilp?%i6fIfMwMUhVl^9kw`yH4mhkp7caIs;@| zC@5V7vfqem{uq$`MjS|gODLTLvMr>PP6PS8FQar8NI%R0!@?0C$@u&Tkm10OWqdvY zNV}W|r2a>IBI{r01KFousq`~IUXT4n#_>IY?1N_m8Q;4k=S58dvQ6)%^hH3H=W`&R zXCCoaq5lWS^Pjd_FZ69d>fifQIoIiMAoHyPvaJu;AoLU<dpX)6qI6W(Q<6Z2%l8*~od<{>Hv{QU_bL58kosJI zpp@e-AoW}Y{CD(R9B9HrGenPn0BPsmX9_(Q zXyuk=d3{;+xnJ#ecbV@~Ndzyi`Ww&7Cmm5br)ys&XU!{dxX9aSrpP}8NPX@GGH=Hb zVwdj#S-K~!L-&yO=Ah?*cWQ^y;HrC_WP^TpzG^i zPMs_2n3DifZdNe~WWSqII;WThvR}&p-SD;HqStFchQE#w`ihZ4uLhF;(os^53!^gM zdltxe8@lYHY{y6F5WGEtII}dn??Q9&ehbZ#jgNZCy?D&o8MhR_+ig6qhQ$T*%bEqh zOEfxkjG6;mb$R}z_mWw~1dzU(R63`a0&E1gmFl-57L+*a&UKT+)S6Cmw9Ws=Y< zCX1bBPmy`mPk;=61#-OGDkk*l?ZW2{pc~{}))C#F-LwqlW1v4p^%+PU==m3rWs3l* z7XvY=bV@M|3=3a%ieBRvN&W5%Wd2Kmw9Oq#uL07Z{;c#xXG{6612X+PK)2W| zsB@qhG`q=*uz=p95sLQRz`S|6yEkPp#FVyE0Cg z=+|jd*Je_RaQ$1I0OT=OOrJJ(45;B(xXMx0l@56aJd2s80bh<5oVgq&@R z8lKQ;UcqnrmrmQA-N%c24e_&VJalBbU|cYNjXgI{<@)83bK2Z}n`UR`=r*)*lE8Glc-G_p9nFf`wi8j>6w8-)1`pU1@<9ueh{P$Zw{wwC>$J;n>) zV}Z6`vwgH;%-XJXH@+{tUFexnyq`%z=6W(mpuc5wuW1%Y-Z>!KMp5aKVqUQTwBe~? zqSpsN^15tzr`NuI3nY*F5u)#bK#nu#0@+TV)c7}*t{*AsE(7xV%}RfBRHxUDzXPOh zUjZ4`MMd7wHjx(vGG8!+?epzouanRocz-o}5}uh(#IyFX70=o;u-8yEI?I?w`H4}r zM^fpOV;8H(=oZoQG$2FoRw>6_K-y;&ki7m3WWTi6P@(S!lFliOf4xwy^C5NKzL+7- zHyY%0HMEsx?q$b2=%LrDyoXj>V`}#)kNf_6Yj!VD5JTqd!DrDmky;bMyZ89+4Np5r zRp{rucTv7(&+rfI=WlK6VfwD`;eE$2F^zA1OQ7xYk1RFY93=ML2go>Hwe{@gO$YMk zkeA`f110~*2G9WADsR)6csnko)Z%c(`-xjPl4TlHU&xkb3T~{I&s>+ikUX z0k<^XtAnoZ4z^CLHDgwcDvc-(E41c^qy{Gk#n{gjp)-RmTQ#K5F<4}}G|ClB&wEJ* zi$eK-Syuj%J#wC()7RNP8Mhd5>z8!5@zhhweRa=`6?SI4ij%vOimNqQTj@!J3v-`d8fZKWg zH+q_H;9a0znA7Joo#s{iQa#0w+UT9Q7K{(o+w0F7O=L!(Kf^bQyL{_waIG1Px!&N8 z0i{UMp45T5--YM2PQh3+8Dq^P>`!y{8(}`cv3cDtU7sb!eklFZJ$Hz|9CWAn*^xl{ z5B)&)iiMwVPo6EicK!ZVTzMve}3^dFV} zP-!c-rmuWEu#6mUE<(HO?pto2zcs+8>P`O+=iYHGR?e1nn$z)H)!X_LBn9GHx9yFy z()7%T^*vLplf@{XJBCHIe2?8C<@o@}(DzoM`G1$WFy0}zb74F0s~CUXF?&XjWE;m+ zersiFt;w$JG((>3G?(=8^$x~)<7XgW?tePXGx$C2!KH_f9PNQomDGkh-*9{1AE$cR7rp939;kjh-V%K_kBYv z&ujPH^dIKtPBRFvz}0hc+Y5&KIkV zANIP%pnW$*TOSRg@{{|}o+iJv)4YJ+nmXT(!8lu&Hc#m&wDDP;roNw_Cm0vZlS+4* zG=6a>PcW{g5#PPL-d({&JDF5#CatZbNm+8Ops(TMlHJJ?Y9-N7o~BWxXk`-d6+ z`_h=Vd-KaRThLyI*H^aJ{G(ml>#^UI_L>1QTy?zAe?+>l_G{%=n}@VcsKfbOP1w88 z-?Vi2`!zW?uH9|(`2FmGamKBb6lex z7)uv+nwAFZ7nm918qZY?UaRTm`*)GfPIEGT$ub|TOI5^S zw=z!n2IFf6ahShCH!VOc`M@BU!uIxpP>x+o$sU###J3p18u+bH0m63UvYQ^Ou0rkp)n@5g|Ye$|?Ew{Z_&&mzWOFRYMz+=9~eZ%h5`1f+i?ff%XGBSnd4p0MvV#`g4iCm$Ey zX&~!53M7xX#*@dZUkbm!11YEFE0MDckp0aYK;~syvAzFnBUl&zF@0B0a~JLx`?mK= zdGhR-(1Pz9;w;9NnLu2}w+_AQOx{Bu?gcsy$sd3Jjp$nX`A za_00Fx~-4Uyk_Ul7Fz>nt>hh9OmFLh|Jy*`{1paQwzCMzZTp=a28mu%5y$ilZogw? zsSPT>JE`NdoY%$g9rpFUf6n=7$wy#-Y`Pq-~A%#@->^)6BrBPIx1WHjM7&w_ldKySjc_ zWyYCML&B+RM*U)h)c1K+>f6dImp3>s+r<5oDqPWxZ@)5Y*3`r(=$eXQ_kGH`sZ4*?*OfoDJFEG|lMxTs!UPN?p3M_r#%_4rL2=C_AnoXoxYV4c!i_fOGoVR6;w>%}T|uytpVd~IME`Rh5n za!xuNaSUnG2I9N42dBO=f9^Cd^0-)HV7^OGFp zGK|C;_QbaCI4NvbX>Aax_c#qm8L!8DN1EHg^y z6|+Da4&6)iH~WbGM*_*?@_iS1?RdNW7J1J(uLkn@XaUG)z_t5Jy1fpR{NDmHpAF^l ztJ*ka$2rd@1ASt5>+juN3;1oh?X%AgtgFWkTVx)#&39= zpD!3E<9gs(N|p86?)tq{~nzqBK(G7eTpzZZ<}wqMxHet>)KxE`y|NxeBK=W1)J z^a1oi*1tvT3q(5(T|K&T9J&v23~}$T{3$r|IXC_@#Jl6rW0S;hhffwiteql$7za|1 zzv}#NJbXTET(V^ej!Wfu?>lK&Pt)%L*6zLe{r>DRmF3Df(k;tB05R?2)S3S>wkp7xA` zW*?ITl1?L@{X`bXej*R71r~u}VeVon|2;s4XMpTSJ^_+n&>og(zF$yTh zMNWNYRFC3MM4vop$}fQ?8X)yHPs#N-X!=zKNPS3CKhpH8g3?4@C%WP5OQaloUn%~% z07(CQ2*~%2o(D1?^Vo823S0N!w^?^H!`$+w{PTUxK3&Ufo)(=F>ccV6ENfDIIR)CQ zE4`ir%`zL%)QvRDOqykm14$Ekofr%^WTaddUN7Z-2*`534`jLf-0*Ld+dJ223fiu- z@5U*24CNl}*0r{|%+E!?JZP3XtF!^K+zBAdL7L?zO^hQxZr%LyNuRVe$~DyYU#DD2lBYHk`t+d0}f$VRFTqo@?17seiujZFc(OR61+k`oE1nXXnrhbK-!<~WN44%wq zL}uh!(SgWt_Z!0hk3g-uYI0)U+EQn4lUupSl<>P`+nmS4+rtqW4;uv1wod3_8fyl5 zd$sb=?|P4e=$M6$yZui3*)xE)+)_Vds@6{_P(L~Kle}WV@tZ5|5xzeLGTd>m*nQ%C zLif2}t{($rcos;z41GZ2<3Q411G+(U91k7C->Z!7+x7h(YS}o z`H<2%y-svP(+@jZ0mE_}RFsewGXPSxVb|8p!fwlqOP+rLB-_UlRF; z|F6{RUN4IsUIVfoR{vJ)Q2&ag+ZV|AuLEfx8*1+8XYSb0(=5ZjiyKzq+d}(zwV#kv z8{l{6)tU3Kralm7dJjaOHL#<9si7!)17!|f+hrZj-Gg348Qr~qCHUd2?~A@y09h{T z(K@LQ_6-ifK7XA52S4tqejM4as~^YF7vA}%%kdTNn*;c4`ZQ*7S|Z$LWS$l_&%Htazejfd%B z>EOHnW?t`^-qb-|zM04O0la$!l$C*H$)nEeUX$|u8OXTNuM5pI-nnj_4Q9mbdW<9e z`23{Qv)Cg~J}HM!M8~hFGmfplO8A^`wfM^qfDCT}DTn{pY+Glx#TXTMuOh~4d~dW7 z@B8bnE6-2ZPh=tYA|^l}pM?5vQt=1B5&mxg>EBJyi`*}PR&LW+t|3LRhJ^Fu;cJl& ze+`LcD>!9~Dc`u_^yh@%w!aqsI{|H|@z$;)7a3Kemf0dUV-Aiml&*a|;r z<~w6}rwnV#&F};4|4aq#mJ5_Wq4V>r-jnh_0jwy0cYE8awZov#R`F5S7m5MhqNtl) zwLVV;R_L|4>z70DZt6+0FCucF-yhO8mM8zWf&Dvw!*`atirWjo0@e@hb1_CgaGdD1 z0rAYk;I7wMdDfTYp8g=*)9)F254ieZv@>Ny-EymB-WdNM!6ImQiAjJaMt>>u_atb} zi;|!@UrlNHENE}O3M4<$oHv$$oUg`^jx>?iiEe1^ceWS5Cy?QH4QG4&Oyk+!{C7_v z&rx{_$ox!GZLVJ}Uf#Fa2JhQU!234i@xD#ew@pIs2{ytm>&YB}a`G>Uo?jd*az9Io zetk~#^^iI2Xv|^5&tsZ!NZ0oRqXo5rVjO70i*tnUHK(8L+5M(7gnkXku-%zLXMwD~ z^-3RqmRz3=wEn^LO+5b>bH=fF-W27W>ScegHpie@(2ap*wdY8r9DOFABYgJ_f)(U?7S>nh^g8%lN!uR<_!pEE~G6iyxw17~0PhKROv`L$&rH-#cnFy;sP*X|W?OuI=E6BSimYK!!(@ z=KsO`%bomD&Hw7*lD}o9_^ZCv9fCqX(-vgfQ z@JcAJq#|v%&k@4sLLlikK-TNC8fKi!CUcK;5 z-o3nSXYGmh_dTqu?^@FDt^&_x+Ho;o>`Cbp<3L6yG)(0Ec@oHRs1<0|OEjKgu4CkY z9FIb)B}`;KBFCe+ViaiBPk%4ct|(wW%l=a;6A?#X251Vb$Fz-eYZI6{GKC)-v>Za^>p#4 zt$~(;_+I4jZB>40hi?w~Y4_3SpGdm_>8FQlm~rY)`S&rOcnNh zRzPOanx?jqB#^vQK-OLEDZw-$S~3H1JZ|DfNYbk zK-Os*$TpJIFfoj92y%Fx*bnHz9t=kj9srC12Lj_je&Z?u91KhX`Aw@<4HJhVoYgRq z->eEb_C+v|PTNoHeix85`1@k_-GH>s*!{(yhfa}xAr54FnhWIhMA3E23m+M?0!_5gP*K#2BDo5q|s4a~bA3O*?I62SAitlM&@hqTOKa6IF^aIK z{S*JKM33qG=4&7+HBS8V3LwpT!g%q|!?qFsybwtLTn(fhHUVjeiQ9^QoeiWNmI3LP z&ue%Skmc_?LHzQ2K!#5T(jMmlX^+J~mj99M#4kr|FMhcjkoLI;$m^%?Abz@VNAc5E zAlvBY8s0i4>5c=^Ue^NYw+{iM!1|r$n(xLP1Z4PBAobX@LHrv3mZdHA-Hy_Qhtzn^ zx1*BWD>C;8hZe?}=rcMl1L=Qp4ZqhUdiHOYdOH-z>kj}~Z=Y(Ig$VCj=j}SXx3_K8 zNU!*$m;Q3!;K;N0cnQ5 ztkPOhnf0l__1$u5&9jreyb;(t7yUMshc^CI%Q`;iIw!k%YKzLh}IlN#p#cC9Cm{^t?xI%2>x zj}hm4wKWOxNAkS&5|LLmt(P|q`(1mj@8<3PNVV61eXZUzamu4P>4hmFza&ks(li0j zLbfcN>wSt}`vGl+Pd)zn<4oJ~JwuuM`CM-!e&Y`;IE@)uPBtmu)3>xC2Pq1f;*7*;T?X0`v7*VLf{`WW8xPs86VjwBke6 z!so#5!uM_<<#;s`zYWlY5f#~{8}|MN7w!Em0e{zLlFD~j7vXm(Ft2Ao{#CyGZMsf- z=f8huw0<2}DgS4_{0Wu+>erIL&*nn@{243s2|h14u)8;K5#B$_%9%K|F(cBe@72}o zwZ6uyc_i%RKEXRbpW+#xgPc0|#Rb`A{9!)3Xuo>HBC$&rXvfiH1Kxk6eCu(Ya<)T#^ZtzFu18;_y8EAV&Byzmb6ruU ztioCT+Oi#VNNG8ePC1zR!4E{w=Ygd2RbT$^>S^T$jt$mN{TR@n=KEl?{}Aw=lFxGwB;f1WOib7*@cHz+$G(=XLG8IH+* zZ)jRUzt}pN!z6(8(Gai;@~43GjaCgufqqJSEc#svB;5{VJ>Lr?k9|Is`~MSwoY!9h z_ai{efhTAml((m<9W2BiE9kY&he zI1Z#d?*+N9hyoc-XnYdL`-(W?xh|0entNTu2ho6?=NWmI0!g<6P5FV8f9NjrjQrDp zEdRAY%6o6Oc^>a;z6Nr>9@~AMxv%;3yK?>HJ?0s?PwY9*=n7g-Ij?^sF4q%# zi=1PDrd+t@Qe@vg-p=#KdOOY@hqZzkc>XC7c;0ggwwy|ZL9}1`IVo=j$Z!hC%Q>Lw zFJKRbTM(w)Rv^n0_1S4kz1U~;XtB?pK-%X}AoHKNjo9Y`Ano%p(AZ~Nu}ge{*y)Sy zB>smxNWSxc)azai|5d|JX?Puwc6CYixwoKg+cTIf`sZcr1AKFvw(rmL#_f+X99|gb z{Bc2ZqV$pTyyf`q;pFqj1-&04dn|phe_L4ZPdn|wuHT*ek+jQefV3Cw5!t#Yo<9j= zKdJcH7xr6OhX>QzJpA91?Z^913+Tt!7RDo{-{l^WyAVjqwn=yq(vc6z?a!@z?c-8% zwo}Q_i8i=`Ef6V3jdiFW47!VFE12kke63M>p_Na&L zux~p7`?k(E50QfP(2BD5RfnJ+QS>LIIFMlv$g+lj)Gw*mXM{xWBg0bOc|fum*jM_K z6M;1Zx&-WDW`bN+fpyP zza!)0Wk9C8Rl`gx{#$$&PkyX7bC%+>VI_TWTsi&Pefq`G{zwVMqi+*^z5>#Ihx}H; zCj+%wymGvwM--Pmtz~Xgq@3og@Ei7w@H-vI@?WT7rm3p!ruRm$Ym6~i2de4f)l9=` z?}oWv0>5LXw@Ezz`r`7ovU4;=c}~2>iw~XW9gp9g4iA5vlOOx$Dld1 zjEkxIhB~hS>kixF8Kd!d#wdbyh@N=nmgiKq!~WI7=6Su5cqP$tW^xE8t92PLk^!sSr_s~Jc4I1s=}T;A?^6H-?lzIGd77xssve9QY;rUcN*EVcgf2_Oq&emnjvlB6MePo?C665$t9mhv*EPl3C z)*Aa^t+6lG8pGb;<<44TM}FeJUgo*Ih&ijMH|9;|ERy_JQ#fx*pbsRmPpgC`k^W)7 z%3tc((tG`j5J!rezw#%F{xs-b|2v4c_xcz7N&3};R>=KTGmtv%gfx`(V<5*vk~{CR z`up$qZM^aIM(r#7xY+4Kg8GG^xC-YSwy&J)?epMVZ_06nHdGpi*#LaSA73(_m%E=g zI&In5+2R}DT5wNDYE|U_6AqF2#fw1NdD}xJJQ>I^$@UkO`t3B*x8t|(@rAPc;|w3$ zUpK(^e*g8iLmT#|tF#7h(mL~?PS~r>XRoNvF=C3e#RIp9UmkO-%m?lU(oY}Nu(4O! z`M?k_gLz5l_PO4v$%38yad|uW%k2-Fvias+0dZx|S@|Ed{ZmgUZTsgVjubb43^RBgW7#gb@#V>8y|R2QI9OvYbl@q zTcRFlwML)B%+fNpB9ATOFK!h59|n@v0Ga<@q#+NI+kaUdY#VdWUWxnk^Xo-kfR@6(^UTstz7%vIz4lAVw*hF$ zpD*j=Ytei=TqXG?0WDcuRr%)?+FwLs`aJ03;^!@SzZRcylXsvpqCMMQ75$!jPx`%o z0!h(-Ntpi!`BHw})y@?x7WG+$cNolEW>&S=y2pHP8Gfl*w*A8^0^`w7`_h(-5oQk& z&%sZ_xn-F1+Ox~@_VMdvb@QW5=j%JAe(JoQjnyg66;iMriFRv!S?u=BZ^TaDxmoPS z>v{QuIN!(BM|c|rV;-Y+B2ceGr7`=%ZHrqsSW zs(pV1wDfT6fu z_Vu8%O}wKEZ8fH4Ndu{4M#Bjp$JP{(YfG&fkAJ;g?w0Z;fut57dMfW4AoJV`WS(z; zcKzP0?c$jQzMI2!X7(8|M~?*h+6&&&{^D)ndpwYK2dlt-Hq17PXCQh^?UrM!CeNh9 zGp7Cbg>ML-gWnXs=K?L?ARes_k2rX|{ZC1M_j<|yCeY^h*O#ne%bAh(UB8UOF9m+g zn^xUewyob4e)|JSZNR+0NPmzB*VlOUxWDB2UA?FFY_G{x8ymJeypzhaUF~+mJHqb; zpw-u$V}SPqhGLD~e&>RAiyl+(iH!0&@I%S}JTRYs$3ED1!84k3>d|&aqV0@8+i~78 zLE9m}gu}1pA5!KNkmX7PN!>mdzLSBZUjTXiA3*xk?q5jwiLVOsi~2X*Czx+NLZ5MS zpv$ZgSPvg&zKv>jE>)KnN0*%1KMOQAR$VCnk$;Pvs&>(5dmz)C4WvFVYj~fH1%2fG z60B=97SAVWgEmKQNNpNbq`dTN!YBN?$om{fc_-%_{$p#su_)gtlx+mc))%%m@9%2a za*m9c+BvFrPH5Ry{zv$I4kT^ANy`N^<BR7O^j z{C`k2-}uV|K+^Os^G&(#2UUo(MJ=dd!qImvZ?+KWl61YKi{E-&d!L zo#XZbF!WmCUWL)O*GYX%L_G75-1`D6&%G~6cS47jGfH*HIy&6ZOXP1VBj3vM_X*M` zJ8PmiNhrVQewdYS8bhdNM zsTbO|Qrle8Sn6Ae*9&d)+^wZuG$GE`quVa6tbAGhb4*kAfP2Fdzbc&ToOJYWSAPoW zobc6U;#Xe*tv-3#w$1r`!tJ+O9o`+;=H8zM*v8lHKGl9}PMLOR<+=Sxz zMXUr6eKd!0{j#p&Z`*Z~@%(5YuMO@lVWyQcJbTJ_7n9ZChOwgPY?#6`1<~V+Wwh(u z;X5_L_Y5FuiH2X%FypLW1%3Y@0lp;a=ArKA_Y^))0vR{5*3q|D6}~MAe%6M5EZ0VY z`r}T;)ndO3YxFovle*^R8y>!Eo#N|T^9ago{GxQ-DR$L7??C)E%oV@3--|1a$33<$ zZMpNxTim*^b;1HW#J+;Ri{^>kxO1)L#X^6#+fSu`xeal)e{uUeE32F?ZJp4i|NK&2 z;*Ks<@!c~;pOebyW99kp4LcpSKFK~5LybLWJv(Qf*Y{`hytL|C51ssRmG<>=W$aQ85o+gxZ`d-u->yMt`N5)yQK6QO_sZZUDI8xmF zl|LD$9lG)B5pR8pDgQZ7{A$5`@uRPRXg=O++FpB?@h4jbzdz;U2X|q=ZJvXVmnkph zTe9VweO75%ve;*xqzS(~P4xT_am+(<`!_4gv}rs?QI9hohU2;D@M8I%1?`{egg&1I z=#z8W<*pZq{m#Eo^tua3s=~alNI(5vpp_kQ?33<BeM zT!q9r^SoyKE>r#Laorym8I5nN&yjb;c>Zy1WA_~W!#g3keNu)c>dxQbb4tq}N8Q^t z_Ugq_-s8&ngOycPp)9ep=6OfsH(h11EdIE1Wr=m7Eb9Zx5^~DIvcLaxDbEgN%46lZ z_Y28R=rFsb)SjNxmmP7s_|ewdKT#*Q{aab)et#nNDV7(`DUZ!|>h(QYSB)#)^tjA- zHv?I(ktdw_uk`PUAf8EwXF_?kDpI#^l+STb3f~1lOFExT*m-&$%Zw*wpTV{1?fqlW zSZ%Law0ZnvS-H8qO>grD$ndWbwK}#jw$O3TmY-EzW7oaNZs0i978jTSs?d# zazO6!v@6xTJeezzXT@L%7ZZ+L$RB=3*kn{VF3 zIPYKc&HE2;0U1B!eMxsMkooQgT00_WD7;fIZ>QNkQSN$_dthL>+nsWUK9F)J6%&eX zx&HRGl;b5J<@MYw@@D`!PyHj1bg8$%gx>(VWZOu%q1J1dc$7C1@2?cUy)5++J*CjL z)7t)0{}TP$5H|Gzq|7Xk_0fXsrd|-{yDRNL^Uet38TNpD_a_A8yFjgqX~igz@7BkF zd^bG~zQ;)y?I5|JI_}vuyo_fNmXAl0i{v)yHi=T--KLFZ!bl{$LQU6sZ>kEytzF_vp z=9J&(=G>sgk)Kk3Z&74{&h56q$RE&M{CE_Q_IjYE;MWnnmlvs;5O@xC8~7in24*>0 zm3JD*=r*A7WuWn8pz&d#>05v%`-g%dpi6J{6#cr^iavdTOh2M-f#JIYkbF-ClJ7S_ z^6lGef$_%`K!%U$Bl#`^vdz4r;Z>mp<~_E7VY$AbpUBAqZM`75A$evO&+1O&Iq~?8 z_u|4cyOCXZR`)J}Hp;<9iya#!{w-xp0vVkG(nc*nmZcTQvZR63y$#5=l>t(xED*a~ zUJl4M)(&JF^4jIBsSuFw+(m(=y#q~q2Qq&G$TpPJa0=KL;TE8uuG&%T@Ryj_Gk`3^IY5@-At2uyjD1Ja z?GI%57eJON4P==bCM_^!+7HNn;%yE8^t+O8+dUSTGR^|BU${rZ9|38D_U|n)W!`bm z1?Jq4W*}|wS0Jx1*h}<9R9UK2=b;}L*LhU^I;MUe2hx5CAnQB{r2SGr+OGx3I&TG1 zpEQtl-Ug(-GCbw02u~!_(`hG*h`_&7-*eI#*$w2Bq6-fPm0i^z40$I+!qa{2Y z$nyLI$ntyvqz@0=TEa(;mGu3`N&O!Nq)%_s@IK?^`aau8{kH&FzfWm6w5?o!2x!Jm zTnnPAp*_8!bMQ#Y5p=QEACuu z#rQl)!?*7*{nx#SV|r52{iVus*EKSokRQK7${IJE`R7Sp)RrdbY-xh5f zWqZK0gu0KGq-1$s2=C&Zi!or)0zyF!hHwVi}sqYq>@;Jxd+ zWE?mENJ?p#|ChC)?H{-nhvz)7uGr4>^+$H~j>MW`H>@=#5(~T&@ms%GeV5N%IL_vN|cPg+h}7m5*%Z5#_G7M|Zp zIeA&OitYc(()Jf~)|YN=6Ms3d%=(g*Rn~X5bnLV3(qh1PCFh5Z$GN0qJ$o)`+9_)m z&q|PTK$h9snsL`1Am#WSkhJT8GOphVEvxg zUeZlBN&eS>mRxzQPM$RKymOuO`w8e**r&q=wNqtpq`ecmOk7f`OBObmWDNxjt3K}`-ujC>?pk?e+nu%}8Plrq zt(XPgCHS?fY>sKAacBv1wk&O4uGUR>Kv(2K$IFFO4EafaV0 z)Pb*V^I_ZXZ{c_$cFy-hW**e$*g2*B(CybteZCH~RIVS(Ir&>Pe;@6aW&kbabq*M# z0_SnIZ05Vcb+l)$d#XA~e&(Kfle|9`yLG;I2!2~%Z|fTCQ@*&WP_-ArT5@PA-WABy zBn*!M)!u;hbzU9DjIQXHJk-Zn{AN3R{Bh-;a|)#j?Uua#ZHaMg5Bzoddo|%8cAAR>eX1D0xS$4j{nNs1r;0m%F>Yq;hFxqc1u1dR_?r=a+lsu_ch1^h^tl$ue9LexNG~h9TzgA8x=|m$4H;*3tNTry#t$2|xBY}^vWaXp+ruG2GJ8{)Y4z@Lp_p|F@I=hB@LV9^$C$sX*H58X(K`E|9hv z__pku;NPNg#MVQkS2sK}-Xm3$?4GEO$vS@inymLEIF97w>M*ZvkkhG);)Bwb@quV# zaewHqTN}1@Z_&nEv~_QhWpv5Psz-q*~6n6qC*gL3B ze~b7aAL#o|aQeLvALIkSbkbAo!Sloq(%{eX*5NwswHuIra50efxerJmCb{zoTNgoo zkiX{CZ9dND2l@D*v}ODt@&B?P%(=bP4=zKT-w$p@oZk;tBF^sz>k#Ks+zG_~8CPtKhW z>!9EF$?j;JD@~7ee5^CO=f9QPN6I-mBy_yq{h~5@`1F!874I{Jep={Pqss5n^R|p% zNjZG-I=b%ex5OPiXj9u?^M6aWZ*E&AZ76Op0OQU*(W3{6Umu4!<{`QLmz5=F<@Uvy zZ(*<{qdM`o!-j)hB~Fv~7dCoGSLb`!vz(1t6*UbP2CV+9Eye^W>^S;Jt;< z)@ARVI#G_AJ4?&a=GgV~Lq*?l3DN)iK-SaW%h)+>_4nzTUw5mS)plp`BZ zj+9f5>Vrk^E6eC@WtD4#-kd_4Nutd(UA$%OC8+(y99}VPf6eD_8NZI&SBKXtJeQuC zJ>UBme(iUOPt?O-{c#b#+mGixMqz(^IM#FeG}g9bRVc&ulXS{OU$4}jTkbCPJI@)z zzBohdQLp0^`I+{t?ZnFJu)IG1+LCrv!n2I8mZbB^a(%hA6Slejo>JR{9ABm_F4X>R zhcflA>v5|fnXJd$Ch4!*fux&Wmi@#JfuwC;k#IAR_v`C`?B52x zD)Be{L*kj1_Yk-VDqkof;eJPOhue*Sh^$w8pu4+>t8{!%E z6hlBh!h)^R+xzw-=B)Px?llxBDrO&kz0uXlzg=_CFg)n=Jz} z{y`x5KMb_Uav;lD^O1xP0FoXD(hlB6xn2ik zeMNwzy@0H*gEVX+^^bfHw6GubnbWqjTE-{W3!i@ijU42aK5i2Fh#dm$HU3vOc{8a5 z$mCI8F(AW4`cg{6MB1wb$TGG9jX!HRt=I#D4>%|MY%S!aoGkkIvWdyFl`p_)n2H4aod1`TZ(9f!`b5Kk%FM>`SM^ zP9)kS^o5iy24uJeeW7Xl2oqZoru-Db#5BUDFF=^srq_u~PvrBh86f+DERg+K4#?+O z)5sS@w?w5~Jp*JF=IW)r-9M_y_|e-y%8!ngc6Shv@=pTN9&>@T+n<1xzY0kCZvZJj zx^omMn!-y)Pysd}T;n~1GI0KvKm*M}ZzH_e2>>K*W z$BVQsj-Mjs51YN^(*67uPMt+{td1*E!I_VUe>@H({S&B7!E?_z-Qe&^BL4}0mwZ0~ zT8fOV_IhtLCvqjZ$I3Be@Rh~i-^ge^zOaqxJ!D%M7ncF)N90xRJ1*wEky%CGjLUXQ zbv5gZQy_;#9yyE`+3v#k&>jW8mGaMb@@J7h)=l#Ny1I~`?~sn2H4@*08iDiC2YNEo zr3TXPE(MR9jTWLuJNTT_NAm9(5`H%WspC2gzpmkASgxN2O^>ma_P{`5uI!R=3zXu~X197x|v04<#`SjyWFk@D{WWSYx?>=*9UaMvLPyYRc` z12!7#v;LF(ZYO=M=Bi>}Yk{ABxmx^m@2A91vp{R#{9M?q{nTLX1?w*jdKO8*dQjlK zLO?pP&nS#H&RKw|!uUK1dM;N3P?t7sj~O7#p4Bju%v&ez@%HCsKGXL_3117e<%mSP zdNs?<*Gf#An+^Um9R6wWyJD@R_orRrOWV3p>So=qgVV3_r~i+nzxDp$^q=|DYuWz# zba49dR~PG^QhlZ^4o*Mam%c^yS^pcL-VL27&!mS+%acVPKS|5;tL>!SZbDqXJkA=gm8CYe-@MCz7b^bf z0`C<3T2xLw`1<2Y?z`pQHqWCKW8{7KJ>u~2$Eo~$p5)$5-i7#m=H&6m+5SU(jNia5 zJi9vh*99L-t50SWX`0vmD)qb>Xzfx`4*PwwPM#T;*}lp9&JImp+h3fqz!zuA%QGjr zMuBmK=Q=0iP2NoWHaPkGakk8Pv}++|-csQVx&4~F<@im?6m&|J#G%LM8FIe(pflvA zIQFGIE48^-Rc4$Cm118Oe3Vfq>?M9W1M#*#-1TBBFJEro+D_SL0Ihv&+tYBtXA0-a z&3DR_v%aGJ<(&_UzpMsY{p7oGg|ll}j-YSJRhjRd;F~6xzx18jJ6D&gO`5c2zJpS= zLyflso{1Ydt5(hv*5~E&ZIop}RoOF`k~b{yZpLrxzZL4%A17y`;n}XK@=QPFo9764 zM)+cb4=eV@suPi~P6O%)2L?pZeyZTTtGbCB@}!(RstY zS4+F`mv@pceNxj;yh75Kl-KAGvAqh66qhdbN<@?Uf6%;+6d!T zA&wL`fAtUg3_I?+@mnL_&M)SqWggiEqz)r+jr@)Tk~hii_pILjIf#ufzc*WKmn}^f z8B~RDl*{uZOUl?xw3NTrMwv%T?UBQr&f4Qozm)QJb>~&iJjBZKkHM}!t2&`i;;~YF zqL6L%>E0^(>{~`3E6bJtStsOY1LUV2d;Cc4@d)B*Ly}wXR#v%lE8DIsKDRRQwe&An z-y{7+zc#s_s|Q+N50AsQIx(({!n4-H@l4rZJX_v#YIS?pTox=Uatd)Gm@8)df^_+$GxF$+T!=riz>0q7@i2L~L&{gGE$dmHrp~6pBmzQ5v zvz1pfxodm=8;C=@dPDKfakpvszT9g~-i!FndR+WRp0(>~;zqvSoIC^13$Ip90b;C7(oEbM8@C|~L zl&*ecHNNSF?<6_NA3RB>%2sin_^~%vh|+jKP}B z2(LERBilVwSd&SkZr)@r78N;}-GXt8Nv4UIt{oAKxbH z6Imep&F}tJ!Zo+cdgBBj`F;(w{*Ry+*{c`kR;PH|&YJCwo%kc{yCe&1(g|5d%0lOj z%nV}Q&^OYyqCoNB#pYTJVakpJxyG3Qa?LmiR;mSGccDDcVWC4B7*qHhMMRfwy_BtEbYd|)zsU~l-q z?j=6p-EfolH>qsn14;NLeIcdTqW&7%Eb*-fv)oY)rx9kk+kh;04Dk$S5N5gK8qR9E zgobknbG^MC$i25D;<=yI0%X_&R-(}FrTn`tmwMR;NWGhYEY9aZ*3(b_AolqZ$a?ze zy;5)E{wVcz{C!eS?*plK-xX3{mjmg$J^n29HVMeJDm!*cyWAoY6>$oO_3_4@=!y}km{U%EUZa`A5<<>&d8&NMLJMD(2ty-jzo zw>@{-teQ(75JUYhQc2V=i?&1h<3B~;(d)&&djff#*G&J&XE3H>Z8W9t)bz%8oA6Ez z?^|NIChs={`3C{>^3C2x2zwjY-@rco zu*TxOjWEtd8dnwehPFp?gR%oM{Zf6C;aJG5-?u^ziM-m>$1*_rOxE$aVNZ%5Oxn^t4d93#PqK1FQ;h#bo-c$Xx-V$=JRl0s*z7c~nMu*}2qR?XVT@y1; zXm|MKpx=FKM2|c_d%y2TyB?tEo_7$vv0ww1$=cPHk4Ss)*Y=FmVI2Qk%As8O`Q=+u zFI}q^oAgZM&hM-&_nDMLC*;T0mdcMpmX&|B%HOw)d@IYGi@84dUHtfen!LmDOQ|d~ z7s4}=jQey`lhstwHx>NS&dU#OE%Nu0vmL@?dtz)G=nYw0e7Yj{k>d`(w6^Vw9~V2^03G_voAlW$2YW@YFK^#gU-}H!7LPBVKI2Q@2LA2mN_y)j z7R|ep#oy(Mv5#p750V{2Et*LEW5?33UX;3vI~Uub;}j#MjeJP{ zH8QJ1(0!}bKaT-xoc?|w`kO+TQo26dJ0W@u1zM6lfSz8j2E6Z{s!lMzp6}UVoHgID zzo^OEh~FbG75b#CFHUq0I{V-0BW)j8rfmoLP6B0c`;8Rl2c)qdY5kV-=Q8m@GFp5x zl8|x5zmwrx6HIV5Jp4x2IL6!j-9yCp^=XEoC+hK1Y#`}Sb z3*XV;_2Tnmdl#J_8y;GNb0o3%$um82IMV}9gwy8+|F&S09CW<+Xp#3NkaW>81^MC8 z_}1IZ;`wQ9O!gk8ID9f%)~q7={Cm3anQ@fxeE`VvEt^rWd;WWvJmVr)lhrw*(R04T zzYTmNM+m26QqEn`!W_O*A-o# z9lvzTeKz;cQlE`E{_=wQ>$EcdVr9AhI=vI}lj}?6w>k2g)nC_@k#A*H^4Ivu&EDbo zrB#;oSH^w%qh_zo#=~EO;{5q--MDKZ7ipPq*rkG>R9GKc;n<8menzwUrSB}v4VrGx zxhlu{L5209=n2iB3+fKLNbqoBR>kB^r z4mw9>io>6MX{Ek+#oMKRmBv_M`@!Wqi~a6LoE?AMbxtki^Kl15qxr*#p zIO{Z@&eUJ=9;V!TdcDet)6hySKKnm8Q0#vr z;)DF$%Byt0RJw4N{%_Z-{YPv21CsVGQy*5gJHAZngg%)7ecBuw zjU6Ovads!la+&gv8;i-GgkxLA)Qu5)o?gbD zR-X7_@P0z_)@E-xe%X9^qz@^L$9=Ict-l{H3H$rcfc34y^Nn&wNB;Rnf8Ou+^uCX0 zlqXHB@p|J~$leV-+p*%Fq#eRTtK~j$v7AN7d%(0~>(=gaPqfpWVlVA~65(;Rcor$* zjh;0K=id$V`eDx#Z`I`ZE)RKR9Ud9wkp;4C<$$o1*RIGhknwgb#J_p!ahLerKp<%x zkZC6Y$>SIx@6Ed2E%!?&02#jo$or|Ldn7;pH5A#E-%Z&$@VhDA9oRG0#?Q8!sgbg` z0Znud3A=he_@MA#_mJqf0m!tU0IA39zexCbAoaW?Bk5iNy8VN-tHtmreph(}zNRO%pX!6qpD*ZNV!Q3$MpKse-wHD0Ghl&>bcE*qSw(t-rN2Ms3s^m zlSR%I$NsxMgUotPI=Zw#);E6^{)KYXpd7V$UXAaNV2yBUb&B~~-F)zaFP2F@b2c#c zQq=~ET4}DnDy$-bYE4jBZ_Zhu$)_O0Dk9A)4V)-6GyTi{@yV$zC|M$Xg4UqIX z(Aq)H^R5HG;`3aicNXfw^0}i;_`C$PRH9!8-%d+7d=pykB#`=~fUMsZApNOL!x9=EQ3FyxBZ2gG+g`zF;vjqKk)bG?;g-T2R&oO=;@0r?jz_)uP{3z>Y() z|BcQ#=!^6FjGss1&1P>de$yQu{y2Z0$scFR=z9+*`*O4QCVnX=pFhr)GmrMZ!`!Eo zKF4D2CGc)dJlE_k!Y||SE{#J=2}m3C9!}`4LLWkVR`S(Zn@W8(>-Z}3zwwgP!xv@z z)ym74+do(6hnj_h{* z$E9`)`Rq1M+xf&YcC+%_`E|MzIz&Gy)uGkV;T4sCZyEVkR^BH5db2hRisw36g>MP8 zU*GK2-O%hUQ61}HP=8!ru9d^Of}7iSm|8Aq_Wp+728V|~&fGiUoTDh7vBP^*?RB}H z*_w>Z2eM^sY1@NE*0m+}GyJuFTKay+QpAzs=CAw-RTuhoH+~%A?S1bLFIE4%OvbYx z04cj3X(($3kmDoC9S5xb{ypq`{BWGTgR&1s*?TscXZFoJ$h*4}?f9ri$G*DFoDW-|ZXZ$k^bdbrx#u4`TAT4&o4xPi7y4YvM&AB7 zx6Q>mVXrHdXPi8h+MP91M*a3Yso&n+g2#6&uhM;gvJ*Ou|Dv=GTbw$)`d3nadtW7b z{TN94O_}<%vLmCaG0*Oa^PR9}GPPFb*k$yxZONh$pnvG&{H=$cobT~Re`nlR0lK%s zZg#E|M;c4_BHp$s#_e>mw5Pk(&hG$&+EJ_O>~BXlzS8ge#cwzqxD$hWfceUUrfOosh~)3Mw-WNj&u569SY{Qgh4-T?hNDyOk+@tSK%9zPF%*gT_;_mmq8?kL}3Mujt!Gjvfcs%Kg%zRcD!eCj%|1-z4OGF7rJl(|>22{CjHto}T32 z9%#w>o&R~ab|-(G<{zrKJM7E8%x~Z51I6~;XS3SPXD7d|2`ArQKzmHaRHhm>sc*e$@Dz8d0g7xIOi37a4wbK6i%x{v0 z0Qu{?M6WJY9>3>SVk;}7k{)IHUbj8YUQ?(~yFPZwV5y&_KuaZh(XVcXUIBeWxo`|r+K|Z!b%kt*XE$}b){k}G0Z5+WjoO^Axel+{I=A)X3%h+{Y;CFkzHIwNzkP<|9q~C>cjrC9v>v!G!2M@Kq70(uz<@AfSfA{P4|7AG>+IwXCUi*z)hxa+=;C&99L)Z^(r_VlU z8SQurAD+PW6Q_YeC2cN%U%B@c!dx#v{qY-%JX5a6)NbaRNlVui?Di1aSmFq2Pj>=I z?HUdpS?JHg!@A?l#KBm5z?pkh{k^W}V>!OP=`t1^O^m<0gDT3Io*3zLojzbgDp3I_tZY#y5Yv=xlrKD1D{=%jCs*o6|7In20$>NArtH<*%mKVPTI1Aqb#QhcCu|?}fo}f6>|M>3jwxq5) z+7qyPShVvshIwD?D{D#E=Ibb389l<=)_L3FS%k6Z<3{oQ<&F90#Z6le^-t3z`F_Fn z4}PrF7xf+?ebJ3Te?EVh@6nU^9zDsu-hlie#NFla>1$G2dVAd@?%>ZK?>*b_8~vxVO~1Mqkp1fMK=S#+17{okp9S)L|M!86 zKVaqAM$c1#Jon*OK*pc=(Ah?xvw*`9-wI?r{>@Xq{}ew+_`@C5Z~R-R-^s(Je%Au6 ze&w)I{ho~ctlu{rK9%bC5~O4Owma!7)$iR%$NK%oNpJPc8??edYinsaM0;yXY)~BidnP`yP1jvVY+md2^DvoV(Ks-ojDFk4ts@81rKpH+}HQuMh+E$}Elfuj)Gmfqey@d1LisTV*llzsEfTYbpuCEXOy~H03v{cC^ z?T(yv{TF+`93u8u1+--C5y5#t5xm!EzC10bw&l-qj}A+dLjqVe78t<@y+{vol~R3OW9riSkUGXH8I=gqys5*`QSz5G5Jz6?mYzXOui0QsEa z`x>6nw@?oz0sct2!hz*Vpj?fbkbG^q&Vc@;AzO)@J%QABhKAn*GCk8&@!N@bUzTgs z3|ErZQbyiFmDku!&%t+7PM34s zQZmAE{*%<3vd9*sDXG`OcMdY{cMjrZbiQ77rhOl(6}|rnq~2d>_{cg(@11MCF%!2& z8yw~puYgG(l!Ba>$qYnWwhR^@{iPz~pP4T0`$Hh%0~*^2S2m zh(LL1$a{|oL6m3PMl1SOhHnD0%`%>Nw}v0ozL)t9*iq!20wnzm$nsyI;lJti_kpaM z&wy<2ePR+m1W4ZFb~@X%^Di1CJo-Dr_YxqlyJXIwoVYE@H7c-NS(FP~Lx$XP)xeGn z4+6U78mr-596MWiKiF5wbtI51f2!fzfaLWskmY(B$a1}{;W7J(-p74k%GGmxR$oTl*bUXo)HUp{e@P~Cg0a~(h@>u3hyTcFhr_#JUNI2!imj47caQx>nu$S?|BY){XB#^kdq`CSygu!{a<$nW z8JrW7>=u)I*H)DE5)p687Dw5(KVI~|2gvdo-8$ft@$oqnd@eXa_;jD?@G)iNx_+Vj zttwyoj40aH;J~)k4jIcGU2UJygnK{gc`?v!TT3*2JCJlhm$MB{1JXZF)9|l>%>N*e z`CkUIUA+ZlyZTzg6Sk7;djL5vIJTRFR{)tGQF)TGj6hii29_lnNqaYIYUZ_Nsn)fU z0YJAbTWfe{pruc5lJay(OL-zd(mp`)JOxM|7XVqFRv^oByM~|B>t6v`o|kWy^t;?r zTAohdFWUARFh5P8>?G>=y!In+x&6uCwLbxpHUmw6@~HMFKuh_4#5b3>@$Pr6S{%7y z_(biC!Y4eWJJxeBH^qFvI>lWf*>h@h(%+B%g!Cqmxo@41N2E?dlcdtF+#Mq|HF; zGyHL_cc3Ms!&KZ?;aj0YCPqsY7WtUHCl)B%Sq< zg!#XWALZwn8Sv~$BZ0{CA6y{%M=un)xD-g%w>pV|bMAJ>mzQZ<`Lk{3_i1|pk~RZP zd-;>L7oep|?Ik)aZIaP{R-?V_-(UQ%1!&2ZrQnaz!1+u9yf$hk^0V`qx3NaU@W;+t z%?}P;Xi^>tq~51%_y!=;-Up=r9F%b8jplxGeA)ZS7RY}yK>jL~|AHg`upfy0V}X=E zPs7WBlz-GgBLC`xCHy#$`dI4d9pDeCuuX z+mEgP{#pGONZJfE{(HarFVK?upNy~E&+v^m{;)gW3k^>jHmuV>VU7{W3g3Jl-*_wU z&Ghr?XZ6K1XkjnB+^kk+IDW?+USvw1hPm^HW#BKled!$R8}yfxG;Pl-q<-E5lFu;z zysM$wtm9gld3`%5yZ@fqwMEL&|35n4>i2@!qul&A?c~`L>${|rfh^+kD+1|ZA22570O2G5@_?;7)?Yo}I6-j29$x~zlyri_#RYTPH09s<%%AM1S+!@%Vx(`0A#vE$+K&N%c+gN#G(0IAz%4gX;0!nhaSp$^}WiQxMo zgXN6%jrnhqnm!^CAY*Tpam{$)e=CsuAJFgyptX^|&+v!C(Vlp&pfC2P!`Pq3KE!f! za!QKjYYC8jwo|@_?}+?8ft3G44gVHs<;(LjC>!?Of}V$J3y?8dWu%4(|7IZhU#a0^ zhdTTx^ztUm8tRRkHUwv%Mz9Ch*UMWlCHMKc02zln>#=ty#2@YlQqD6PKK(H9TSR#r zI|kvIkU`4}+_^Kr^*!7M7|QqKzHuk0&kIGasI;R+|$b1>x=hAL(0Z9w*(f$v}_%%RFmFCA;N6ww-->-{EeXj#rvg4WT zYX$FbdiBBkn_FWKhx+UcWPdkV@i2`~0$qCe8)>;{~z;pg?bxu}0C?bpRnu0~DAa@aoZ37x-Qy;0i@korEa;gkPU zXg4MMU}m2?AUjJzb~nW_EznNB}nb-3^w0VKUN zP2{aSLc$G4`sJ11-)w=rp#9Bhy1#j%Z-28bktp*lokw5l&ZqT0;w`<8Sol{RPk_v`258C3$>X=UzZn{xHex9AD~w0y z4VCh)1X?N{kAn9%ImU;9*}mUjimhl-Tr14 zGM1AGi2Q85?1_6Wh7ShP-i#+6qv4+bNx%C_{P12N>uHUKKLs-X@UP{4pxuFNSNj3k zu8!64rF#8(Am;@Sek17zd*Ww^%2P-Co8H#J`1a!-?LBpQ{ExmKC`1M90 z%hTgJ3GWOfkE4L(@iQRH(*k69ey!oZ>-G16EYA}+Ncu51mX_z+T>FZl>?G>ALi>@& z-2UWYou2|p3m?(`1jsyVfR^(8NSU=C_dY%8$n653c&vlaGp@zVSE zZQ(Oh@+ooN=2fEK(LnM#{AvmBi*)2ca`!i>1F0ihm)si%>}|IzFUsAdb-tC}TV-_r z`YqkRUig^SJCNzu04*6^D(r7Y#}w~xR_lJ|wz|Jbw6vy&*x@}Osb^1VPd5W8mvO#& zv+H!S-U>bB+lY9d&b*^sICmg1Ce7@I&$T*kY&=8y#XQd~xZiCVlO`L(=S96&d`B^( z_l0liec{48)owszH=w0T_j7Gy(k2=6bj5zhd3~h(D}k2sI{VsN;Jjf>+GHcYgx-H1 z@7{;%^R#d2^Rx?>tKLB7Sp&3GN$=3uf}Cm4`zK-1`&OVOt9PY+%{chDW8vjG$NuZT zgx?wssPJ#gYw(w1Id3lkW}-b!_Umq%kOKZ!PDK>d{XD<9P>yw zYWOb2l|c6SyiVM#;a(Am9|q*!;Gr5`1ni0MA2qx|aVYjZxv#k`upIsHL}@pt0NL+d ztl_@_Nlyc*Rf{oGkmB-ycZP(w1@ij!K)wg|mWE>~+28!$nR0!nM$vy3(7p#q zHh!``)=3Q9-^`+(N%Wh`w9Q575<_>D4k=jbM|jHUoQUl+Aqbw zKEgHTBf00(S(#S94$(hP>Sw-j7vo+_!qNXZoll4VoBQw@|`wEk5M`&-pRQiimwzuISEMG45U4WKPd4B11-7! zkaPGx3Y*k+V2{u?X~Tx)-h}ahG)(PrxY~nZOS=ycd;AngN&~+Qd&C_*x~d)eIrhlt za}aOoa}Wz3(DnqR?rVUS{QI^x?Aj^i$cy5>@SqO%Z_`ft@w!i&(EZz=>;5gnmgbHW zJKX~$JqPT_PVW9~){)2jEF;k++csAoQrb3~a9`){-=3@cw^#b__w>06E3c#dTW{O6 zQGxo{@jl^ctjD&ydK;XfTn{%2_TdZ4vY$=KuX zLn`dwCIe)j?v(GTT}1xNK+69}!;^O{$nR+XwlzRTf0c1%KjD89ko;F@_}u;u|1H?R z%>>BUSMLwN)|+~W_~mgx%K4dw`yMKO%QWBi{%yOXQ%w8oy%aP0Jo8)nJoCaQw0#3v zuWNvo?3ht$o*SKzHp!W{E7sYY>!n=x0xkLaZ@I6>^Hg$w7yMpo0(@;NC-1ZL{{EWT zQf~uJDb$nS4}->m7Dvxh)fUZ))H8#9Ysz^GNLsi??E+-{8la^h{%sEb>viqm4rkvv zvsC#5Neh3c{DFo)(30#+;%v~x`rhUCJ@I{$h}U;*@!NBJ);tHfGc_amBvs}c&BFJT zvxM&vXG@q#BNh0CwkzhhQ2E`{BKdbaSNLtasK75jx3%*p^WNx|=^yvWJ45B|w@~=6 z0g~=Nry#GA{wW{7UnsxP=Slv%fTSDGFYwFj@9V$hY@`Zj!v&pF*3ns3X8zk7?}^Jd zSNbmw;Ykq8ae7yKy%%?Hx9?w?IK#h}*N4yZFRqnzoz>BwzS22H|4n&1!~cJhwxe^o zXuqjG`&BAyNBr#BOqF#t|27}{nMQpcmsm;n zO4qc%3XiM9H@d>uD+pn)ptsjg&JW4rJIdxcxAA+X*&IzjT?u8C5N83I)Wzwq7%%50 zeGOzk%_Lk;BXRwVWaEi{M7myxtJ|iKzK=jX(8xIy*dOsH0vT_G_{MsBuO^7K{BrM1 zO^1!2P$uMe_|`J|&jT_{Bt5uHt^;LXLC)(NjI)M# z7B}yAFLLU8n{7qzr@hWG^76cWZ9iyEu)^UpZnW^(RdJ82MBfvDq%VLhN91aWKLBW{ z()??KBV!qC^xZop{~VyDyv}xfwtgS5hctMvw8=)B@29#>Q{;t}s^1%`U(>He?`wd} z^El8_CB3IOa@Ioc9q*F-vw@bZ-j((h=7Y~7%|Q9*!~aRg{!93s0wnc+U&8!9Qs%sa zrQp@X1R(PI6?pwa^L+p$-SC0Kr-S{37s1b6tIUoS-RxTBEgD{~_*WqN4qhj2HBQ2P z73+a)qti6}b0GVU`!)Q5VpRK%9f9TOKYx~b>wdqizm5jd|BeBYP64t%yFlZ!Kq{P%@KZpR@e3gP z$L2>QJnHXq{SF|@`~r~s4bvZ$@HarpyZEt%X1`(RDhV$Ec1Qe$Pe^#=lTyB^K&G!m z*8e(*fqM=$@w5>|zdBLdQ=`+a_E;i*bpnv|1<>>d*GT*UKueX{)g(vG7id?b@0R?> z04>?_bhPg<8@x7ZChBe1A->WvrdIn#CV8@l^p7t9srQE(9^UgD)0TDta$V*z4Kt6( z=W}eq=YlMO{Fj*!^YOX_If zVHI?7+w!(5+qUK1G(1J|NFe>|WMDVo&orL0NY$@N{f2?G%k~;R3CMPLriO0@l2!o8 z@4nZieeIEx_{l)>&j8sT_jpUf)88)iQ;0V7Z9Zr68SFu#ZO>IdZgu>5rTXm~>bFhT zN_npVGSA~cOX`m@E;n@UJ*)A1rwtqO90Y$q;5Wk8@~pHjKi$boCgfq5Ie+L&{H>T- zy7spx`d7R5SN)90eH%zVN8=jvk=%88E7R)NA^PVT&bs_Xj{du#?4)yU7Cp+nSGB^) z(>g}-tN>Eie*>vI!*9y zV!lEhjs+Tf>pX@!O#Z#-+YBWA2H26E+;#byebOc$`SKr&CQ|=UHh3 zf4^4rIIm2*wDLMym!IV5Wyiye)3-nHjmUWnNZnr3@B~lB9qQ82y8P?_8NXK<7kn)I zTY=<%yM~_wS{wP-L;c}O?^P`cko~k%z7M;|IQs>V^21w6cqY)w?`U0qRe+3}RmRc} zrF?$?lK*NAU-j=o`NCVUF8^78j4K`gZ2W`BSqP+@t2EqjZ$Zwty)Hj~-!vqNFTbK~ z`#r@yZWOsE07+i}saNDCi9Y~n$&MM7=7G~4S*N1hKUgk&&IelZ_22pNH?m_7uO8?4 z4yfwunJ=L0xinmFz6g9TQ3kBZ?16k{9J8OqhlGxtkm+q zq2+H%i(Re(QqJQ*Oa66pzkK;_O2`{LtqAzEdj`z!;JcGM=gJ;5j zQ{iMN#xqhx&P_~^m z?8#JneHvsd3ujK$Gcql?12AwbHaW;whTRnRO1Y(KHiYVfw}&veo0%8S0V4& zc3(lu+=Jm!1;4m``*Xa89nSGKfgjQEqdgOjJvFbjTM;(m zzRdVN&Njw(oBE^t{TsCJw6Z&kmE`e0Q27OZ*Gv8G+y)tMDy3cJ_^7>K-!G;%pp3q- zK@GlRHyIeN^1?G6o7g_Z^x@{4#3^IDny&WTV|XOe+p?Itfp1Lg=Jn~Tdv^Ake;lCf zMJkKft1G@S*2C+CXGILp9$ma1ysxr$?cT-fUe&MQ{{yv{k%%x`mJtl;_D_8Wpr z4@lEgrvK@?-D2;yW5pl-3?x0JVg9e>NXXb8#`qAzH@`4WU@kCxabbMOm)H1v9sIo( zGSS~R2G14T{_sWB=lUt?mqE64%4FIybm#*eFd~U>S$q8#@@o!Ev#4Ii%2(UEI!@9w zOt;>q^V@!lbZ~scm*15)+mW}ml~<_`tH5iC^7^6WWA(IX_=aK6kk@CeyJzm`YW>Z{ zM);XeZr%?p?{e2oyu+XA-F96r?C0kXSL$zXhCf&I4@VzcPOFDsjz4V6YtiQSr?c@! zkJ9;2)xfUaz^QhIV)YG3S1y0wZeHJ+y*VdJ)S6xvJd6%b*;L2KHe2C*jhZUXh0OOr zxQPHVbvRY~5Y{nuE?3v(;%)wh03Y$&#Q0y(_XC{%(b~=0H(G~tPQqSvS_o%x_V%KU z!`g@B24@Fm`kVeB5@El8uqjufiE1R^ebk)apU41+?cJFA-6zAjFDV6)`Gk&(ZTYB5D!T|MSkgv-|Dre7lLXP+;cw zn|=44Z|0qMp1EJX`EpS+oaQyPl^4_lZ~H!Q;gBkn_`T*P?)TEdd+MupmvtU}`5KHT zBN$KWv1E>UsckH{&l7*%%_{!ViYb`upzp?a_~`o-w6A}N{m~rd^i$NDr5+FV{6dAh z5tPiAnEy5?&0QX6o}S5Z6WVwA&D@?mc}BkCq9J-D$07SL4k7bxroUrKZo59F;`s_F znMXiL{?D18I;8fc=7W+s71TSY;yy{QwKvP}{y`T?-ztv|A42-b?Ejkz{~J(kykYu0 zVNOAqw)>U;eo$?^{&#!)FM|KuzN-9x8C08KxKLE~R$%@<7jw-yVmiJ(GI>hqb&^#o< z1SkyQ*2(gR{-ET22b9dCe^h+IQz`j!&X4xj_T5@Fw^!fEosBViL5nI=4Tz5n#dSU6 zBC5+2xxeQb70>%Y$$TD^)Z54I30B>%yaBM`N@>t5^$; zNv}GaN$WGTex$$sdf20vPT$>Jk0#xbN?$U+!r0-d)rt zb+e6KjdoIfBfUt@p(rn_E*_$wGVOKT9=zVuE);!0rT<(|G8chTetw(&K4RGPAfnrT%k_Gl)`G0Jj}v7RWOXZbFCxJ-lx^2CXKlf<(1 z`53FsLY*kXSPkQ~!Su0O&a;T9NBG`#=6A8_JA1uT@U7&@V(yxJv;`Q?j+Kwfbj-$> z8G56S9GfvZePr6O`mS9vjf0pQQ(fmagzCYh?mXFs9P(f{)2O2qe%HMUzehpIy!k#= z?$&`O^EcOeY&QL5y+A!^;k5)?-O2S0+HC85MN^V(rn*HN`EJxj-*qdQE|iHis(s5? zXQp_8yRAR4uE8b8HZ;efJj1w#R#~}(6TX2t1!z;yuBi3iRGUKI|GIzvSa5XiNcr%r z?y|PhW}3^$FpKE?{|vFHW!_lD=$w(+!*Wg~>q{V48gk_wrSS=@Z}+Bsk9{l^?<}#X z#}cou)8%M;d$A4`&llxuCZQe96ROl&@`3U3jvWuL9+GLSoY^nS8`s(7UX(9y=CQ`! zq|%>f{AuzQovPL-ok+3gX87pkx0a>PjoZq(pU!@=%(Refw5`^%HzOcstVp(bp+IuY z8~Z9KhqUHR=?Q2Vx#G0xiut2A@78*7`X=KPoSiS*ZoNJ?z<#JLp?>MLv-?R6-8P48 zec3*b+@F@%@h@FkD3-2SAQoevvJBrj!Cm_J+JPDeAM(Wc3AA}+?ggb@X+LNl=wqOC z&T0%aA2k0|bxvzO=oIi_(5ay3fznb!8z`Meyb9E2zLwW7ohv5w%kx+@pd_aml;pex zl;r#rl;jlV_sesPADr9|4)>#iPLu!CkBMW&B}4MTM~V$Re9E&bBUl4NyOCU1r1FIM zN~z2v)!)l`1Iwm7x<91S_kE^6Sg+zcrL$kge>o`O_zvdp0i|&CFxlU7Jo3Aon49>v zzuDS#nJ&+|hOAGuKw=`HGPcb_M%q_ftY{%b?&BYXG2 z7o-#A*H~nq{D0|b>HAf;HmdZme|5in-Vdr}diSt&yvcE`S-&JdRV2TEX=^`pdQGa^ z2~+0c>0)v3Tzpru9Q9UUF)@A!Sd49IREg82b*k zc&Fh$fbf)Lziiu!Y4D^`&$}L(tMad~LZz4VvV~o5gk2v~;cf-hM(vdtY0uV%$Z|X# zPm31e3a7VyN0jJsV;Y#n(mr6 zsp;Q%?p@Q_<-z_(+`r9Ptnfbcyx)#8Oy%NsF3aD4y~6wVpkz*XgW^|$ z67H8XPtTJ1tJ;9(fSjMBpKh_NA4q+%|BOC7IZiawL}`yfuBLhpp?NtDpgFJc?Q2s` zE}q*gTmNv#gALW6!zZZpFRALMBukSq@7MBt)Gk&q#haC1!e({#p!oQp@;~pUektR%p!AHG;K~`x>mHadPV1eAwfP{Z~@sLTTmg%J*=$HIGpj4hO+^P6JP>SappyWp8}jY|H_pk)4!dHS!g z!`UnoJ6&J6UiglawLjU8WzHir>iNHV=2q)rwu9PT>*2?n?tc1eIhvaB`K|q!{$$@^ zj7LmA6o;M@uF!d5IqP5xNB%iY-gTv>)*;GPX_gMDeAoUo_4@Dj_;1tx{rYfkKSsKn zJn3Y*vyP>Uu+|w%8x=y|9p3<@XT<1nZW{IKk&KVl zeM@QXGB$m5+DO5$`a&#?%|?v)=8h=&Z~4B8uLD%ar{>wIv7%@jA~odm{|l>nta&|V zzxQDkKK@8QJrbKi^W?u&o@LYvt+!lvp*^0|x=Y9t=a;z6_!cO&4L@g|#24SzPeg10 zrDxkfDc*-bb$T-5)#aSy*JZ>^cbi9t6Oe8)Ke$`To%`8-$)5n4j7Q09wvD%UdSp$4 ztYs|cOi(fxGf)3npXLCKKO^O0)&aSX+D+f+kjzW zpZl~=>b)g>UqcbC>5WYpRek@kCqJG>d7?bjWtrmspHHcLy>xd!vEsv^RKD&2HS#-@ zTqCz&q05%)OG>cjG86kAGer4bUSH=tv5jHJJUVLKF8ZX3|Gl8v*uqvuhvZ|Ot_L4f z;Q|l!>tGt+l>TOZ`{0^PlP*t2I5pnNJp0h>(diS&YtrpIoaYzZtMuyxCG&CSzXnRU zlgTI#I({4OhE5r6z<9!p$4|C3Guhu_Z(8o{VXo6+oPYQ0k7r`e$?pqz(w(-K($829 z=>AJ%q1!gUwJ7bb{c$*N|F|bMMA1s~ohMYjnB&M%_M^+!SAN?s{Y#w9J$;%ZoB5&j zHL0PO87??e&DW_&UW!js`mYU@Q|f!}9ZKy3>|C)=KK^Nq+6QQoocdW2N$m|hIQ3d7^DPC}%7+&g zDt^v1#kYV`oTnlT#j_FAYrK00T34H!bLulK*#5od;@9P_2#Vy@3&r3~D>C z`?d1_7f>=MJ>dyIe@ezT&_#TRyd~q%aY;x1p?n~F*PSZAo7kPmb+xIyCB9_#wM4{s zK}puFcurx-c=JietM;ObfoDjoTUWRh+8c&1L5cyzkI>{=P(%2`UE zE+2h#oVGQt;POJTAh1ZJolfEU(l$}` zO;_nSZieC`GZp_|poGuETwfmJ`cls6Tng$n!6K~jt(ck|pKJa7+;tyVy0}0r#=6{m z>=|HRMD8k6d$H4#{vwp&z+(P{YW1@ zp1SeRO24~7$vh1j0R0EMlUv&SZUuOse%rgh*qj)mpfavcA7XPD( zA@VBCoxfDLCF9X)FyhnCZDqWqV@S&K=EtGGE4gj|=$FrSfYNhfGSaBywDjXT-i$D^ zFZ1jvXc@A8*x%o^>E7hg{XwHlk*+u8D?C35O6LDSsa!qF?&PM*E7hrDQPh)KH|zGu ze!E9D;cx?ZGM61zxO^Lw%#)xbzv3C?em*F*ts6nfeJi`;uQayyJc*gCS7-;qdQT~j z{^vd;q_Om=9~pT;{X+~(d-rF)ARU_Iull*i)8~@QIg3=ecm$Np zn#GF$p-=y-q|w|z5=myccECc3+D>^ zibVPP>7q1JDM|zLgkEDOeY+_jOrWwr>NgX6bu%LdQTD4aRzt#0d-HZE?3?*ao^=b6pdI}&+Q?nrBt5Lz#YXn7ewnY)Gi-lzf>lk zRJuvc!5ctGw`xySaR(+6nZ%gQ<3+;))?Di{v!d zrT1%xU#H|(ouT5p3p4=Vp9R(N`t3ch^2j|Ia>=}v<-G%x%y#DKe^UR2*oVitp@n

    jl+D%P(C#4P&ht7;9m#l*U@4Q-}4t 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%0AJB*J3()sqir$b7S+d#Nl= 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

  1. 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≀kE%({XsNQq{Ch0?w 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�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 : IDisposable where T : unmanaged + { + public T* Pointer { get; private set; } + public int Length { get; } + + public ref T this[int index] + { + get => ref Pointer[Checked(index)]; + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private int Checked(int index) + { + if ((uint)index >= (uint)Length) + { + throw new IndexOutOfRangeException(); + } + + return index; + } + + public NativeArray(int length) + { + Pointer = (T*)Marshal.AllocHGlobal(checked(length * Unsafe.SizeOf())); + Length = length; + } + + public Span ToSpan() + { + return new Span(Pointer, Length); + } + + public void Dispose() + { + Marshal.FreeHGlobal((IntPtr)Pointer); + Pointer = null; + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/PipelineBase.cs b/Ryujinx.Graphics.Vulkan/PipelineBase.cs new file mode 100644 index 000000000..c14daed31 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/PipelineBase.cs @@ -0,0 +1,1171 @@ +using Ryujinx.Graphics.GAL; +using Ryujinx.Graphics.Shader; +using Silk.NET.Vulkan; +using System; +using System.Runtime.InteropServices; + +namespace Ryujinx.Graphics.Vulkan +{ + class PipelineBase : IDisposable + { + public const int DescriptorSetLayouts = 6; + + public const int UniformSetIndex = 0; + public const int StorageSetIndex = 1; + public const int TextureSetIndex = 2; + public const int ImageSetIndex = 3; + public const int BufferTextureSetIndex = 4; + public const int BufferImageSetIndex = 5; + + protected readonly VulkanGraphicsDevice Gd; + protected readonly Device Device; + + private PipelineDynamicState _dynamicState; + private PipelineState _newState; + private bool _stateDirty; + private GAL.PrimitiveTopology _topology; + + private ulong _currentPipelineHandle; + + protected Auto Pipeline; + + protected PipelineBindPoint Pbp; + + private PipelineCache _pipelineCache; + + protected CommandBufferScoped Cbs; + protected CommandBuffer CommandBuffer; + + public CommandBufferScoped CurrentCommandBuffer => Cbs; + + private ShaderCollection _program; + + private struct Vector4 + { + public T X; + public T Y; + public T Z; + public T W; + } + + private Vector4[] _renderScale = new Vector4[65]; + private Vector4[] _cpRenderScale = new Vector4[64]; + + protected FramebufferParams FramebufferParams; + private Auto _framebuffer; + private Auto _renderPass; + private bool _renderPassActive; + + private readonly DescriptorSetUpdater _descriptorSetUpdater; + + private BufferState _indexBuffer; + private readonly BufferState[] _transformFeedbackBuffers; + private readonly BufferState[] _vertexBuffers; + + public BufferHolder RenderScaleBuffer { get; } + + private bool _needsIndexBufferRebind; + private bool _needsTransformFeedbackBuffersRebind; + private bool _needsVertexBuffersRebind; + + private bool _tfEnabled; + + public ulong DrawCount { get; private set; } + + public unsafe PipelineBase(VulkanGraphicsDevice gd, Device device) + { + Gd = gd; + Device = device; + + var pipelineCacheCreateInfo = new PipelineCacheCreateInfo() + { + SType = StructureType.PipelineCacheCreateInfo + }; + + gd.Api.CreatePipelineCache(device, pipelineCacheCreateInfo, null, out _pipelineCache).ThrowOnError(); + + _descriptorSetUpdater = new DescriptorSetUpdater(gd, this); + + _transformFeedbackBuffers = new BufferState[Constants.MaxTransformFeedbackBuffers]; + _vertexBuffers = new BufferState[Constants.MaxVertexBuffers + 1]; + + const int EmptyVbSize = 16; + + using var emptyVb = gd.BufferManager.Create(gd, EmptyVbSize); + emptyVb.SetData(0, new byte[EmptyVbSize]); + _vertexBuffers[0] = new BufferState(emptyVb.GetBuffer(), 0, EmptyVbSize, 0UL); + _needsVertexBuffersRebind = true; + + var defaultScale = new Vector4 { X = 1f, Y = 0f, Z = 0f, W = 0f }; + new Span>(_renderScale).Fill(defaultScale); + + RenderScaleBuffer = gd.BufferManager.Create(gd, SupportBuffer.RequiredSize); + + SetSupportBufferDataCpu>(SupportBuffer.GraphicsRenderScaleOffset, _renderScale, SupportBuffer.RenderScaleMaxCount); + + _newState.Initialize(); + _newState.LineWidth = 1f; + } + + protected virtual DescriptorSetLayout[] CreateDescriptorSetLayouts(VulkanGraphicsDevice gd, Device device, out PipelineLayout layout) + { + throw new NotSupportedException(); + } + + public unsafe void Barrier() + { + MemoryBarrier memoryBarrier = new MemoryBarrier() + { + SType = StructureType.MemoryBarrier, + SrcAccessMask = AccessFlags.AccessMemoryReadBit | AccessFlags.AccessMemoryWriteBit, + DstAccessMask = AccessFlags.AccessMemoryReadBit | AccessFlags.AccessMemoryWriteBit + }; + + Gd.Api.CmdPipelineBarrier( + CommandBuffer, + PipelineStageFlags.PipelineStageFragmentShaderBit, + PipelineStageFlags.PipelineStageFragmentShaderBit, + 0, + 1, + memoryBarrier, + 0, + null, + 0, + null); + } + + public void BeginTransformFeedback(GAL.PrimitiveTopology topology) + { + if (!_tfEnabled) + { + BeginTransformFeedbackInternal(); + _tfEnabled = true; + } + } + + public void ClearBuffer(BufferHandle destination, int offset, int size, uint value) + { + EndRenderPass(); + + var dst = Gd.BufferManager.GetBuffer(CommandBuffer, destination, true).Get(Cbs, offset, size).Value; + + Gd.Api.CmdFillBuffer(CommandBuffer, dst, (ulong)offset, (ulong)size, value); + } + + public unsafe void ClearRenderTargetColor(int index, uint componentMask, ColorF color) + { + // TODO: Use componentMask + + if (_framebuffer == null) + { + return; + } + + if (_renderPass == null) + { + CreateRenderPass(); + } + + BeginRenderPass(); + + var clearValue = new ClearValue(new ClearColorValue(color.Red, color.Green, color.Blue, color.Alpha)); + var attachment = new ClearAttachment(ImageAspectFlags.ImageAspectColorBit, (uint)index, clearValue); + var clearRect = FramebufferParams?.GetClearRect() ?? default; + + Gd.Api.CmdClearAttachments(CommandBuffer, 1, &attachment, 1, &clearRect); + } + + public unsafe void ClearRenderTargetDepthStencil(float depthValue, bool depthMask, int stencilValue, int stencilMask) + { + // TODO: Use stencilMask (fully) + + if (_framebuffer == null) + { + return; + } + + if (_renderPass == null) + { + CreateRenderPass(); + } + + BeginRenderPass(); + + var clearValue = new ClearValue(null, new ClearDepthStencilValue(depthValue, (uint)stencilValue)); + var flags = depthMask ? ImageAspectFlags.ImageAspectDepthBit : 0; + + if (stencilMask != 0) + { + flags |= ImageAspectFlags.ImageAspectStencilBit; + } + + var attachment = new ClearAttachment(flags, 0, clearValue); + var clearRect = FramebufferParams?.GetClearRect() ?? default; + + Gd.Api.CmdClearAttachments(CommandBuffer, 1, &attachment, 1, &clearRect); + } + + public void CommandBufferBarrier() + { + // TODO: More specific barrier? + Barrier(); + } + + public void CopyBuffer(BufferHandle source, BufferHandle destination, int srcOffset, int dstOffset, int size) + { + EndRenderPass(); + + var src = Gd.BufferManager.GetBuffer(CommandBuffer, source, false); + var dst = Gd.BufferManager.GetBuffer(CommandBuffer, destination, true); + + BufferHolder.Copy(Gd, Cbs, src, dst, srcOffset, dstOffset, size); + } + + public void DispatchCompute(int groupsX, int groupsY, int groupsZ) + { + if (_program.LinkStatus != ProgramLinkStatus.Success) + { + return; + } + + EndRenderPass(); + RecreatePipelineIfNeeded(PipelineBindPoint.Compute); + + Gd.Api.CmdDispatch(CommandBuffer, (uint)groupsX, (uint)groupsY, (uint)groupsZ); + } + + public void Draw(int vertexCount, int instanceCount, int firstVertex, int firstInstance) + { + // System.Console.WriteLine("draw"); + + if (_program.LinkStatus != ProgramLinkStatus.Success) + { + return; + } + + BeginRenderPass(); + RecreatePipelineIfNeeded(PipelineBindPoint.Graphics); + DrawCount++; + + if (_topology == GAL.PrimitiveTopology.Quads) + { + int quadsCount = vertexCount / 4; + + for (int i = 0; i < quadsCount; i++) + { + Gd.Api.CmdDraw(CommandBuffer, 4, (uint)instanceCount, (uint)(firstVertex + i * 4), (uint)firstInstance); + } + } + else + { + Gd.Api.CmdDraw(CommandBuffer, (uint)vertexCount, (uint)instanceCount, (uint)firstVertex, (uint)firstInstance); + } + } + + public void DrawIndexed(int indexCount, int instanceCount, int firstIndex, int firstVertex, int firstInstance) + { + // System.Console.WriteLine("draw indexed"); + + if (_program.LinkStatus != ProgramLinkStatus.Success) + { + return; + } + + BeginRenderPass(); + RecreatePipelineIfNeeded(PipelineBindPoint.Graphics); + DrawCount++; + + if (_topology == GAL.PrimitiveTopology.Quads) + { + int quadsCount = indexCount / 4; + + for (int i = 0; i < quadsCount; i++) + { + Gd.Api.CmdDrawIndexed(CommandBuffer, 4, (uint)instanceCount, (uint)(firstIndex + i * 4), firstVertex, (uint)firstInstance); + } + } + else + { + Gd.Api.CmdDrawIndexed(CommandBuffer, (uint)indexCount, (uint)instanceCount, (uint)firstIndex, firstVertex, (uint)firstInstance); + } + } + + public void DrawTexture(ITexture texture, ISampler sampler, Extents2DF srcRegion, Extents2DF dstRegion) + { + throw new NotImplementedException(); + } + + public void EndTransformFeedback() + { + if (_tfEnabled) + { + EndTransformFeedbackInternal(); + _tfEnabled = false; + } + } + + public void MultiDrawIndirectCount(BufferRange indirectBuffer, BufferRange parameterBuffer, int maxDrawCount, int stride) + { + if (!Gd.SupportsIndirectParameters) + { + throw new NotSupportedException(); + } + + if (_program.LinkStatus != ProgramLinkStatus.Success) + { + return; + } + + BeginRenderPass(); + RecreatePipelineIfNeeded(PipelineBindPoint.Graphics); + DrawCount++; + + var buffer = Gd.BufferManager.GetBuffer(CommandBuffer, indirectBuffer.Handle, true).Get(Cbs, indirectBuffer.Offset, indirectBuffer.Size).Value; + var countBuffer = Gd.BufferManager.GetBuffer(CommandBuffer, parameterBuffer.Handle, true).Get(Cbs, parameterBuffer.Offset, parameterBuffer.Size).Value; + + Gd.DrawIndirectCountApi.CmdDrawIndirectCount( + CommandBuffer, + buffer, + (ulong)indirectBuffer.Offset, + countBuffer, + (ulong)parameterBuffer.Offset, + (uint)maxDrawCount, + (uint)stride); + } + + public void MultiDrawIndexedIndirectCount(BufferRange indirectBuffer, BufferRange parameterBuffer, int maxDrawCount, int stride) + { + if (!Gd.SupportsIndirectParameters) + { + throw new NotSupportedException(); + } + + if (_program.LinkStatus != ProgramLinkStatus.Success) + { + return; + } + + BeginRenderPass(); + RecreatePipelineIfNeeded(PipelineBindPoint.Graphics); + DrawCount++; + + var buffer = Gd.BufferManager.GetBuffer(CommandBuffer, indirectBuffer.Handle, true).Get(Cbs, indirectBuffer.Offset, indirectBuffer.Size).Value; + var countBuffer = Gd.BufferManager.GetBuffer(CommandBuffer, parameterBuffer.Handle, true).Get(Cbs, parameterBuffer.Offset, parameterBuffer.Size).Value; + + Gd.DrawIndirectCountApi.CmdDrawIndexedIndirectCount( + CommandBuffer, + buffer, + (ulong)indirectBuffer.Offset, + countBuffer, + (ulong)parameterBuffer.Offset, + (uint)maxDrawCount, + (uint)stride); + } + + public void SetAlphaTest(bool enable, float reference, GAL.CompareOp op) + { + // TODO. + } + + public void SetBlendState(int index, BlendDescriptor blend) + { + ref var vkBlend = ref _newState.Internal.ColorBlendAttachmentState[index]; + + vkBlend.BlendEnable = blend.Enable; + vkBlend.SrcColorBlendFactor = blend.ColorSrcFactor.Convert(); + vkBlend.DstColorBlendFactor = blend.ColorDstFactor.Convert(); + vkBlend.ColorBlendOp = blend.ColorOp.Convert(); + vkBlend.SrcAlphaBlendFactor = blend.AlphaSrcFactor.Convert(); + vkBlend.DstAlphaBlendFactor = blend.AlphaDstFactor.Convert(); + vkBlend.AlphaBlendOp = blend.AlphaOp.Convert(); + + _newState.BlendConstantR = blend.BlendConstant.Red; + _newState.BlendConstantG = blend.BlendConstant.Green; + _newState.BlendConstantB = blend.BlendConstant.Blue; + _newState.BlendConstantA = blend.BlendConstant.Alpha; + + SignalStateChange(); + } + + public void SetDepthBias(PolygonModeMask enables, float factor, float units, float clamp) + { + if (VulkanConfiguration.UseDynamicState) + { + _dynamicState.SetDepthBias(factor, units, clamp); + } + else + { + _newState.DepthBiasSlopeFactor = factor; + _newState.DepthBiasConstantFactor = units; + _newState.DepthBiasClamp = clamp; + } + + _newState.DepthBiasEnable = enables != 0; + SignalStateChange(); + } + + public void SetDepthClamp(bool clamp) + { + _newState.DepthClampEnable = clamp; + SignalStateChange(); + } + + public void SetDepthMode(DepthMode mode) + { + // TODO. + } + + public void SetDepthTest(DepthTestDescriptor depthTest) + { + _newState.DepthTestEnable = depthTest.TestEnable; + _newState.DepthWriteEnable = depthTest.WriteEnable; + _newState.DepthCompareOp = depthTest.Func.Convert(); + SignalStateChange(); + } + + public void SetFaceCulling(bool enable, Face face) + { + _newState.CullMode = enable ? face.Convert() : 0; + SignalStateChange(); + } + + public void SetFrontFace(GAL.FrontFace frontFace) + { + _newState.FrontFace = frontFace.Convert(); + SignalStateChange(); + } + + public void SetImage(int binding, ITexture image, GAL.Format imageFormat) + { + _descriptorSetUpdater.SetImage(binding, image, imageFormat); + } + + public void SetIndexBuffer(BufferRange buffer, GAL.IndexType type) + { + _indexBuffer.Dispose(); + + if (buffer.Handle != BufferHandle.Null) + { + Auto ib = null; + int offset = buffer.Offset; + int size = buffer.Size; + + if (type == GAL.IndexType.UByte && !Gd.SupportsIndexTypeUint8) + { + ib = Gd.BufferManager.GetBufferI8ToI16(Cbs, buffer.Handle, offset, size); + offset = 0; + size *= 2; + type = GAL.IndexType.UShort; + } + else + { + ib = Gd.BufferManager.GetBuffer(CommandBuffer, buffer.Handle, false); + } + + _indexBuffer = new BufferState(ib, offset, size, type.Convert()); + } + else + { + _indexBuffer = BufferState.Null; + } + + _indexBuffer.BindIndexBuffer(Gd.Api, Cbs); + } + + public void SetLineParameters(float width, bool smooth) + { + _newState.LineWidth = width; + SignalStateChange(); + } + + public void SetLogicOpState(bool enable, LogicalOp op) + { + _newState.LogicOpEnable = enable; + _newState.LogicOp = op.Convert(); + SignalStateChange(); + } + + public void SetOrigin(Origin origin) + { + // TODO. + } + + public unsafe void SetPatchParameters(int vertices, ReadOnlySpan defaultOuterLevel, ReadOnlySpan defaultInnerLevel) + { + _newState.PatchControlPoints = (uint)vertices; + SignalStateChange(); + + // TODO: Default levels (likely needs emulation on shaders?) + } + + public void SetPointParameters(float size, bool isProgramPointSize, bool enablePointSprite, Origin origin) + { + // TODO. + } + + public void SetPolygonMode(GAL.PolygonMode frontMode, GAL.PolygonMode backMode) + { + // TODO. + } + + public void SetPrimitiveRestart(bool enable, int index) + { + _newState.PrimitiveRestartEnable = enable; + // TODO: What to do about the index? + SignalStateChange(); + } + + public void SetPrimitiveTopology(GAL.PrimitiveTopology topology) + { + _topology = topology; + + var vkTopology = topology.Convert(); + + _newState.Topology = vkTopology; + + SignalStateChange(); + } + + public void SetProgram(IProgram program) + { + var internalProgram = (ShaderCollection)program; + var stages = internalProgram.GetInfos(); + + _program = internalProgram; + + _descriptorSetUpdater.SetProgram(internalProgram); + + _newState.PipelineLayout = internalProgram.PipelineLayout; + _newState.StagesCount = (uint)stages.Length; + + stages.CopyTo(_newState.Stages.ToSpan().Slice(0, stages.Length)); + + SignalStateChange(); + SignalProgramChange(); + } + + protected virtual void SignalProgramChange() + { + } + + public void SetRasterizerDiscard(bool discard) + { + _newState.RasterizerDiscardEnable = discard; + SignalStateChange(); + } + + public void SetRenderTargetColorMasks(ReadOnlySpan componentMask) + { + int count = Math.Min(Constants.MaxRenderTargets, componentMask.Length); + + for (int i = 0; i < count; i++) + { + ref var vkBlend = ref _newState.Internal.ColorBlendAttachmentState[i]; + + vkBlend.ColorWriteMask = (ColorComponentFlags)componentMask[i]; + } + + SignalStateChange(); + } + + public void SetRenderTargets(ITexture[] colors, ITexture depthStencil) + { + CreateFramebuffer(colors, depthStencil); + CreateRenderPass(); + SignalStateChange(); + } + + public void SetRenderTargetScale(float scale) + { + _renderScale[0].X = scale; + SetSupportBufferData>(SupportBuffer.GraphicsRenderScaleOffset, _renderScale, 1); // Just the first element. + } + + public void SetScissors(ReadOnlySpan> regions) + { + int count = Math.Min(Constants.MaxViewports, regions.Length); + + for (int i = 0; i < count; i++) + { + var region = regions[i]; + var offset = new Offset2D(region.X, region.Y); + var extent = new Extent2D((uint)region.Width, (uint)region.Height); + + if (VulkanConfiguration.UseDynamicState) + { + _dynamicState.SetScissor(i, new Rect2D(offset, extent)); + } + else + { + _newState.Internal.Scissors[i] = new Rect2D(offset, extent); + } + } + + if (VulkanConfiguration.UseDynamicState) + { + _dynamicState.ScissorsCount = count; + } + + _newState.ScissorsCount = (uint)count; + SignalStateChange(); + } + + public void SetStencilTest(StencilTestDescriptor stencilTest) + { + if (VulkanConfiguration.UseDynamicState) + { + _dynamicState.SetStencilMasks( + (uint)stencilTest.BackFuncMask, + (uint)stencilTest.BackMask, + (uint)stencilTest.BackFuncRef, + (uint)stencilTest.FrontFuncMask, + (uint)stencilTest.FrontMask, + (uint)stencilTest.FrontFuncRef); + } + else + { + _newState.StencilBackCompareMask = (uint)stencilTest.BackFuncMask; + _newState.StencilBackWriteMask = (uint)stencilTest.BackMask; + _newState.StencilBackReference = (uint)stencilTest.BackFuncRef; + _newState.StencilFrontCompareMask = (uint)stencilTest.FrontFuncMask; + _newState.StencilFrontWriteMask = (uint)stencilTest.FrontMask; + _newState.StencilFrontReference = (uint)stencilTest.FrontFuncRef; + } + + _newState.StencilTestEnable = stencilTest.TestEnable; + _newState.StencilBackFailOp = stencilTest.BackSFail.Convert(); + _newState.StencilBackPassOp = stencilTest.BackDpPass.Convert(); + _newState.StencilBackDepthFailOp = stencilTest.BackDpFail.Convert(); + _newState.StencilBackCompareOp = stencilTest.BackFunc.Convert(); + _newState.StencilFrontFailOp = stencilTest.FrontSFail.Convert(); + _newState.StencilFrontPassOp = stencilTest.FrontDpPass.Convert(); + _newState.StencilFrontDepthFailOp = stencilTest.FrontDpFail.Convert(); + _newState.StencilFrontCompareOp = stencilTest.FrontFunc.Convert(); + SignalStateChange(); + } + + public void SetStorageBuffers(int first, ReadOnlySpan buffers) + { + _descriptorSetUpdater.SetStorageBuffers(CommandBuffer, first, buffers); + } + + public void SetTextureAndSampler(int binding, ITexture texture, ISampler sampler) + { + _descriptorSetUpdater.SetTextureAndSampler(binding, texture, sampler); + } + + public void SetTransformFeedbackBuffers(ReadOnlySpan buffers) + { + PauseTransformFeedbackInternal(); + + int count = Math.Min(Constants.MaxTransformFeedbackBuffers, buffers.Length); + + for (int i = 0; i < count; i++) + { + var range = buffers[i]; + + _transformFeedbackBuffers[i].Dispose(); + + if (range.Handle != BufferHandle.Null) + { + _transformFeedbackBuffers[i] = new BufferState(Gd.BufferManager.GetBuffer(CommandBuffer, range.Handle, true), range.Offset, range.Size); + _transformFeedbackBuffers[i].BindTransformFeedbackBuffer(Gd, Cbs, (uint)i); + } + else + { + _transformFeedbackBuffers[i] = BufferState.Null; + } + } + + ResumeTransformFeedbackInternal(); + } + + public void SetUniformBuffers(int first, ReadOnlySpan buffers) + { + _descriptorSetUpdater.SetUniformBuffers(CommandBuffer, first, buffers); + } + + public void SetUserClipDistance(int index, bool enableClip) + { + // TODO. + } + + public void SetVertexAttribs(ReadOnlySpan vertexAttribs) + { + int count = Math.Min(Constants.MaxVertexAttributes, vertexAttribs.Length); + + for (int i = 0; i < count; i++) + { + var attribute = vertexAttribs[i]; + var bufferIndex = attribute.IsZero ? 0 : attribute.BufferIndex + 1; + + _newState.Internal.VertexAttributeDescriptions[i] = new VertexInputAttributeDescription( + (uint)i, + (uint)bufferIndex, + FormatTable.GetFormat(attribute.Format), + (uint)attribute.Offset); + } + + _newState.VertexAttributeDescriptionsCount = (uint)count; + + SignalStateChange(); + } + + public void SetVertexBuffers(ReadOnlySpan vertexBuffers) + { + int count = Math.Min(Constants.MaxVertexBuffers, vertexBuffers.Length); + + _newState.Internal.VertexBindingDescriptions[0] = new VertexInputBindingDescription(0, 0, VertexInputRate.Vertex); + + int validCount = 1; + + for (int i = 0; i < count; i++) + { + var vertexBuffer = vertexBuffers[i]; + + // TODO: Support divisor > 1 + var inputRate = vertexBuffer.Divisor != 0 ? VertexInputRate.Instance : VertexInputRate.Vertex; + + if (vertexBuffer.Buffer.Handle != BufferHandle.Null) + { + var vb = Gd.BufferManager.GetBuffer(CommandBuffer, vertexBuffer.Buffer.Handle, false); + if (vb != null) + { + int binding = i + 1; + int descriptorIndex = validCount++; + + _newState.Internal.VertexBindingDescriptions[descriptorIndex] = new VertexInputBindingDescription( + (uint)binding, + (uint)vertexBuffer.Stride, + inputRate); + + _vertexBuffers[binding].Dispose(); + _vertexBuffers[binding] = new BufferState( + vb, + vertexBuffer.Buffer.Offset, + vertexBuffer.Buffer.Size, + (ulong)vertexBuffer.Stride); + + _vertexBuffers[binding].BindVertexBuffer(Gd, Cbs, (uint)binding); + } + } + } + + _newState.VertexBindingDescriptionsCount = (uint)validCount; + + SignalStateChange(); + } + + // TODO: Remove first parameter. + public void SetViewports(int first, ReadOnlySpan viewports) + { + int count = Math.Min(Constants.MaxViewports, viewports.Length); + + static float Clamp(float value) + { + return Math.Clamp(value, 0f, 1f); + } + + if (VulkanConfiguration.UseDynamicState) + { + for (int i = 0; i < count; i++) + { + var viewport = viewports[i]; + + _dynamicState.SetViewport(i, new Silk.NET.Vulkan.Viewport( + viewport.Region.X, + viewport.Region.Y, + viewport.Region.Width == 0f ? 1f : viewport.Region.Width, + viewport.Region.Height == 0f ? 1f : viewport.Region.Height, + Clamp(viewport.DepthNear), + Clamp(viewport.DepthFar))); + } + + _dynamicState.ViewportsCount = count; + } + else + { + for (int i = 0; i < count; i++) + { + var viewport = viewports[i]; + + ref var vkViewport = ref _newState.Internal.Viewports[i]; + + vkViewport.X = viewport.Region.X; + vkViewport.Y = viewport.Region.Y; + vkViewport.Width = viewport.Region.Width == 0f ? 1f : viewport.Region.Width; + vkViewport.Height = viewport.Region.Height == 0f ? 1f : viewport.Region.Height; + vkViewport.MinDepth = Clamp(viewport.DepthNear); + vkViewport.MaxDepth = Clamp(viewport.DepthFar); + } + } + + _newState.ViewportsCount = (uint)count; + SignalStateChange(); + } + + public unsafe void TextureBarrier() + { + MemoryBarrier memoryBarrier = new MemoryBarrier() + { + SType = StructureType.MemoryBarrier, + SrcAccessMask = AccessFlags.AccessMemoryReadBit | AccessFlags.AccessMemoryWriteBit, + DstAccessMask = AccessFlags.AccessMemoryReadBit | AccessFlags.AccessMemoryWriteBit + }; + + Gd.Api.CmdPipelineBarrier( + CommandBuffer, + PipelineStageFlags.PipelineStageFragmentShaderBit, + PipelineStageFlags.PipelineStageFragmentShaderBit, + 0, + 1, + memoryBarrier, + 0, + null, + 0, + null); + } + + public void TextureBarrierTiled() + { + TextureBarrier(); + } + + public void UpdateRenderScale(ReadOnlySpan scales, int textureCount, int imageCount) + { + bool changed = false; + + for (int index = 0; index < textureCount + imageCount; index++) + { + if (_renderScale[1 + index].X != scales[index]) + { + _renderScale[1 + index].X = scales[index]; + changed = true; + } + } + + if (changed) + { + SetSupportBufferData>(SupportBuffer.GraphicsRenderScaleOffset, _renderScale, 1 + textureCount + imageCount); + } + } + + private void SetSupportBufferData(int offset, ReadOnlySpan data, int count) where T : unmanaged + { + RenderScaleBuffer.SetDataInline(Cbs, EndRenderPass, offset, MemoryMarshal.Cast(data.Slice(0, count))); + } + + private void SetSupportBufferDataCpu(int offset, ReadOnlySpan data, int count) where T : unmanaged + { + RenderScaleBuffer.SetDataUnchecked(offset, MemoryMarshal.Cast(data.Slice(0, count))); + } + + protected void SignalCommandBufferChange() + { + _needsIndexBufferRebind = true; + _needsTransformFeedbackBuffersRebind = true; + _needsVertexBuffersRebind = true; + + _descriptorSetUpdater.SignalCommandBufferChange(); + _dynamicState.ForceAllDirty(); + _currentPipelineHandle = 0; + } + + private void CreateFramebuffer(ITexture[] colors, ITexture depthStencil) + { + FramebufferParams = new FramebufferParams(Device, colors, depthStencil); + UpdatePipelineAttachmentFormats(); + } + + protected void UpdatePipelineAttachmentFormats() + { + var dstAttachmentFormats = _newState.Internal.AttachmentFormats.ToSpan(); + FramebufferParams.AttachmentFormats.CopyTo(dstAttachmentFormats); + + int maxAttachmentIndex = FramebufferParams.MaxColorAttachmentIndex + (FramebufferParams.HasDepthStencil ? 1 : 0); + for (int i = FramebufferParams.AttachmentFormats.Length; i <= maxAttachmentIndex; i++) + { + dstAttachmentFormats[i] = 0; + } + + _newState.ColorBlendAttachmentStateCount = (uint)(FramebufferParams.MaxColorAttachmentIndex + 1); + _newState.HasDepthStencil = FramebufferParams.HasDepthStencil; + } + + protected unsafe void CreateRenderPass() + { + const int MaxAttachments = Constants.MaxRenderTargets + 1; + + AttachmentDescription[] attachmentDescs = null; + + var subpass = new SubpassDescription() + { + PipelineBindPoint = PipelineBindPoint.Graphics + }; + + AttachmentReference* attachmentReferences = stackalloc AttachmentReference[MaxAttachments]; + + var hasFramebuffer = FramebufferParams != null; + + if (hasFramebuffer && FramebufferParams.AttachmentsCount != 0) + { + attachmentDescs = new AttachmentDescription[FramebufferParams.AttachmentsCount]; + + for (int i = 0; i < FramebufferParams.AttachmentsCount; i++) + { + int bindIndex = FramebufferParams.AttachmentIndices[i]; + + attachmentDescs[i] = new AttachmentDescription( + 0, + FramebufferParams.AttachmentFormats[i], + SampleCountFlags.SampleCount1Bit, + AttachmentLoadOp.Load, + AttachmentStoreOp.Store, + AttachmentLoadOp.Load, + AttachmentStoreOp.Store, + ImageLayout.General, + ImageLayout.General); + } + + int colorAttachmentsCount = FramebufferParams.ColorAttachmentsCount; + + if (colorAttachmentsCount > MaxAttachments - 1) + { + colorAttachmentsCount = MaxAttachments - 1; + } + + if (colorAttachmentsCount != 0) + { + int maxAttachmentIndex = FramebufferParams.MaxColorAttachmentIndex; + subpass.ColorAttachmentCount = (uint)maxAttachmentIndex + 1; + subpass.PColorAttachments = &attachmentReferences[0]; + + // Fill with VK_ATTACHMENT_UNUSED to cover any gaps. + for (int i = 0; i <= maxAttachmentIndex; i++) + { + subpass.PColorAttachments[i] = new AttachmentReference(Vk.AttachmentUnused, ImageLayout.Undefined); + } + + for (int i = 0; i < colorAttachmentsCount; i++) + { + int bindIndex = FramebufferParams.AttachmentIndices[i]; + + subpass.PColorAttachments[bindIndex] = new AttachmentReference((uint)i, ImageLayout.General); + } + } + + if (FramebufferParams.HasDepthStencil) + { + uint dsIndex = (uint)FramebufferParams.AttachmentsCount - 1; + + subpass.PDepthStencilAttachment = &attachmentReferences[MaxAttachments - 1]; + *subpass.PDepthStencilAttachment = new AttachmentReference(dsIndex, ImageLayout.General); + } + } + + var subpassDependency = new SubpassDependency( + 0, + 0, + PipelineStageFlags.PipelineStageAllGraphicsBit, + PipelineStageFlags.PipelineStageAllGraphicsBit, + AccessFlags.AccessMemoryReadBit | AccessFlags.AccessMemoryWriteBit, + AccessFlags.AccessMemoryReadBit | AccessFlags.AccessMemoryWriteBit, + 0); + + fixed (AttachmentDescription* pAttachmentDescs = attachmentDescs) + { + var renderPassCreateInfo = new RenderPassCreateInfo() + { + SType = StructureType.RenderPassCreateInfo, + PAttachments = pAttachmentDescs, + AttachmentCount = attachmentDescs != null ? (uint)attachmentDescs.Length : 0, + PSubpasses = &subpass, + SubpassCount = 1, + PDependencies = &subpassDependency, + DependencyCount = 1 + }; + + Gd.Api.CreateRenderPass(Device, renderPassCreateInfo, null, out var renderPass).ThrowOnError(); + + _renderPass?.Dispose(); + _renderPass = new Auto(new DisposableRenderPass(Gd.Api, Device, renderPass)); + } + + EndRenderPass(); + + _framebuffer?.Dispose(); + _framebuffer = hasFramebuffer ? FramebufferParams.Create(Gd.Api, Cbs, _renderPass) : null; + } + + protected void SignalStateChange([System.Runtime.CompilerServices.CallerMemberName] string caller = "") + { + // System.Console.WriteLine("state change by " + caller); + _stateDirty = true; + } + + private void RecreatePipelineIfNeeded(PipelineBindPoint pbp) + { + // Take the opportunity to process any pending work requested by other threads. + _dynamicState.ReplayIfDirty(Gd.Api, CommandBuffer); + + if (_stateDirty || Pbp != pbp) + { + CreatePipeline(pbp); + _stateDirty = false; + Pbp = pbp; + } + + if (_needsIndexBufferRebind) + { + _indexBuffer.BindIndexBuffer(Gd.Api, Cbs); + _needsIndexBufferRebind = false; + } + + if (_needsTransformFeedbackBuffersRebind) + { + PauseTransformFeedbackInternal(); + + for (int i = 0; i < Constants.MaxTransformFeedbackBuffers; i++) + { + _transformFeedbackBuffers[i].BindTransformFeedbackBuffer(Gd, Cbs, (uint)i); + } + + ResumeTransformFeedbackInternal(); + _needsTransformFeedbackBuffersRebind = false; + } + + if (_needsVertexBuffersRebind) + { + for (int i = 0; i < Constants.MaxVertexBuffers + 1; i++) + { + _vertexBuffers[i].BindVertexBuffer(Gd, Cbs, (uint)i); + } + + _needsVertexBuffersRebind = false; + } + + _descriptorSetUpdater.UpdateAndBindDescriptorSets(Cbs, pbp); + } + + private void CreatePipeline(PipelineBindPoint pbp) + { + // We can only create a pipeline if the have the shader stages set. + if (_newState.Stages != null) + { + if (pbp == PipelineBindPoint.Graphics && _renderPass == null) + { + CreateRenderPass(); + } + + var pipeline = pbp == PipelineBindPoint.Compute + ? _newState.CreateComputePipeline(Gd.Api, Device, _program, _pipelineCache) + : _newState.CreateGraphicsPipeline(Gd.Api, Device, _program, _pipelineCache, _renderPass.Get(Cbs).Value); + + ulong pipelineHandle = pipeline.GetUnsafe().Value.Handle; + + if (_currentPipelineHandle != pipelineHandle) + { + _currentPipelineHandle = pipelineHandle; + // _pipeline?.Dispose(); + Pipeline = pipeline; + + Gd.Api.CmdBindPipeline(CommandBuffer, pbp, Pipeline.Get(Cbs).Value); + } + } + } + + private unsafe void BeginRenderPass() + { + if (!_renderPassActive) + { + var renderArea = new Rect2D(null, new Extent2D(FramebufferParams.Width, FramebufferParams.Height)); + var clearValue = new ClearValue(); + + var renderPassBeginInfo = new RenderPassBeginInfo() + { + SType = StructureType.RenderPassBeginInfo, + RenderPass = _renderPass.Get(Cbs).Value, + Framebuffer = _framebuffer.Get(Cbs).Value, + RenderArea = renderArea, + PClearValues = &clearValue, + ClearValueCount = 1 + }; + + Gd.Api.CmdBeginRenderPass(CommandBuffer, renderPassBeginInfo, SubpassContents.Inline); + _renderPassActive = true; + } + } + + public void EndRenderPass() + { + if (_renderPassActive) + { + // System.Console.WriteLine("render pass ended " + caller); + Gd.Api.CmdEndRenderPass(CommandBuffer); + _renderPassActive = false; + } + } + + protected void PauseTransformFeedbackInternal() + { + if (_tfEnabled) + { + EndTransformFeedbackInternal(); + } + } + + protected void ResumeTransformFeedbackInternal() + { + if (_tfEnabled) + { + BeginTransformFeedbackInternal(); + } + } + + private unsafe void BeginTransformFeedbackInternal() + { + Gd.TransformFeedbackApi.CmdBeginTransformFeedback(CommandBuffer, 0, 0, null, null); + } + + private unsafe void EndTransformFeedbackInternal() + { + Gd.TransformFeedbackApi.CmdEndTransformFeedback(CommandBuffer, 0, 0, null, null); + } + + protected virtual void Dispose(bool disposing) + { + if (disposing) + { + _renderPass?.Dispose(); + _framebuffer?.Dispose(); + _indexBuffer.Dispose(); + _newState.Dispose(); + _descriptorSetUpdater.Dispose(); + + for (int i = 0; i < _vertexBuffers.Length; i++) + { + _vertexBuffers[i].Dispose(); + } + + for (int i = 0; i < _transformFeedbackBuffers.Length; i++) + { + _transformFeedbackBuffers[i].Dispose(); + } + + Pipeline?.Dispose(); + + unsafe + { + Gd.Api.DestroyPipelineCache(Device, _pipelineCache, null); + } + + RenderScaleBuffer.Dispose(); + } + } + + public void Dispose() + { + Dispose(true); + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/PipelineBlit.cs b/Ryujinx.Graphics.Vulkan/PipelineBlit.cs new file mode 100644 index 000000000..adf921118 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/PipelineBlit.cs @@ -0,0 +1,103 @@ +using Silk.NET.Vulkan; +using VkFormat = Silk.NET.Vulkan.Format; + +namespace Ryujinx.Graphics.Vulkan +{ + class PipelineBlit : PipelineBase + { + public PipelineBlit(VulkanGraphicsDevice gd, Device device) : base(gd, device) + { + } + + protected override unsafe DescriptorSetLayout[] CreateDescriptorSetLayouts(VulkanGraphicsDevice gd, Device device, out PipelineLayout layout) + { + DescriptorSetLayoutBinding uLayoutBindings = new DescriptorSetLayoutBinding + { + Binding = 0, + DescriptorType = DescriptorType.UniformBuffer, + DescriptorCount = 1, + StageFlags = ShaderStageFlags.ShaderStageVertexBit + }; + + DescriptorSetLayoutBinding tLayoutBindings = new DescriptorSetLayoutBinding + { + Binding = 0, + DescriptorType = DescriptorType.CombinedImageSampler, + DescriptorCount = 1, + StageFlags = ShaderStageFlags.ShaderStageFragmentBit + }; + + DescriptorSetLayout[] layouts = new DescriptorSetLayout[3]; + + var uDescriptorSetLayoutCreateInfo = new DescriptorSetLayoutCreateInfo() + { + SType = StructureType.DescriptorSetLayoutCreateInfo, + PBindings = &uLayoutBindings, + BindingCount = 1 + }; + + var sDescriptorSetLayoutCreateInfo = new DescriptorSetLayoutCreateInfo() + { + SType = StructureType.DescriptorSetLayoutCreateInfo, + BindingCount = 0 + }; + + var tDescriptorSetLayoutCreateInfo = new DescriptorSetLayoutCreateInfo() + { + SType = StructureType.DescriptorSetLayoutCreateInfo, + PBindings = &tLayoutBindings, + BindingCount = 1 + }; + + gd.Api.CreateDescriptorSetLayout(device, uDescriptorSetLayoutCreateInfo, null, out layouts[0]).ThrowOnError(); + gd.Api.CreateDescriptorSetLayout(device, sDescriptorSetLayoutCreateInfo, null, out layouts[1]).ThrowOnError(); + gd.Api.CreateDescriptorSetLayout(device, tDescriptorSetLayoutCreateInfo, null, out layouts[2]).ThrowOnError(); + + fixed (DescriptorSetLayout* pLayouts = layouts) + { + var pipelineLayoutCreateInfo = new PipelineLayoutCreateInfo() + { + SType = StructureType.PipelineLayoutCreateInfo, + PSetLayouts = pLayouts, + SetLayoutCount = 3 + }; + + gd.Api.CreatePipelineLayout(device, &pipelineLayoutCreateInfo, null, out layout).ThrowOnError(); + } + + return layouts; + } + + public void SetRenderTarget(Auto view, uint width, uint height, bool isDepthStencil, VkFormat format) + { + CreateFramebuffer(view, width, height, isDepthStencil, format); + CreateRenderPass(); + SignalStateChange(); + } + + private void CreateFramebuffer(Auto view, uint width, uint height, bool isDepthStencil, VkFormat format) + { + FramebufferParams = new FramebufferParams(Device, view, width, height, isDepthStencil, format); + UpdatePipelineAttachmentFormats(); + } + + public void SetCommandBuffer(CommandBufferScoped cbs) + { + CommandBuffer = (Cbs = cbs).CommandBuffer; + + // Restore per-command buffer state. + + if (Pipeline != null) + { + Gd.Api.CmdBindPipeline(CommandBuffer, Pbp, Pipeline.Get(CurrentCommandBuffer).Value); + } + + SignalCommandBufferChange(); + } + + public void Finish() + { + EndRenderPass(); + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/PipelineDynamicState.cs b/Ryujinx.Graphics.Vulkan/PipelineDynamicState.cs new file mode 100644 index 000000000..96b961800 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/PipelineDynamicState.cs @@ -0,0 +1,133 @@ +using Ryujinx.Common.Memory; +using Silk.NET.Vulkan; + +namespace Ryujinx.Graphics.Vulkan +{ + struct PipelineDynamicState + { + private float _depthBiasSlopeFactor; + private float _depthBiasConstantFactor; + private float _depthBiasClamp; + + public int ScissorsCount; + private Array16 _scissors; + + private uint _backCompareMask; + private uint _backWriteMask; + private uint _backReference; + private uint _frontCompareMask; + private uint _frontWriteMask; + private uint _frontReference; + + public int ViewportsCount; + private Array16 _viewports; + + private enum DirtyFlags + { + None = 0, + DepthBias = 1 << 0, + Scissor = 1 << 1, + Stencil = 1 << 2, + Viewport = 1 << 3, + All = DepthBias | Scissor | Stencil | Viewport + } + + private DirtyFlags _dirty; + + public void SetDepthBias(float slopeFactor, float constantFactor, float clamp) + { + _depthBiasSlopeFactor = slopeFactor; + _depthBiasConstantFactor = constantFactor; + _depthBiasClamp = clamp; + + _dirty |= DirtyFlags.DepthBias; + } + + public void SetScissor(int index, Rect2D scissor) + { + _scissors[index] = scissor; + + _dirty |= DirtyFlags.Scissor; + } + + public void SetStencilMasks( + uint backCompareMask, + uint backWriteMask, + uint backReference, + uint frontCompareMask, + uint frontWriteMask, + uint frontReference) + { + _backCompareMask = backCompareMask; + _backWriteMask = backWriteMask; + _backReference = backReference; + _frontCompareMask = frontCompareMask; + _frontWriteMask = frontWriteMask; + _frontReference = frontReference; + + _dirty |= DirtyFlags.Stencil; + } + + public void SetViewport(int index, Viewport viewport) + { + _viewports[index] = viewport; + + _dirty |= DirtyFlags.Viewport; + } + + public void ForceAllDirty() + { + _dirty = DirtyFlags.All; + } + + public void ReplayIfDirty(Vk api, CommandBuffer commandBuffer) + { + if (_dirty.HasFlag(DirtyFlags.DepthBias)) + { + RecordDepthBias(api, commandBuffer); + } + + if (_dirty.HasFlag(DirtyFlags.Scissor)) + { + RecordScissor(api, commandBuffer); + } + + if (_dirty.HasFlag(DirtyFlags.Stencil)) + { + RecordStencilMasks(api, commandBuffer); + } + + if (_dirty.HasFlag(DirtyFlags.Viewport)) + { + RecordViewport(api, commandBuffer); + } + + _dirty = DirtyFlags.None; + } + + private void RecordDepthBias(Vk api, CommandBuffer commandBuffer) + { + api.CmdSetDepthBias(commandBuffer, _depthBiasConstantFactor, _depthBiasClamp, _depthBiasSlopeFactor); + } + + private void RecordScissor(Vk api, CommandBuffer commandBuffer) + { + api.CmdSetScissor(commandBuffer, 0, (uint)ScissorsCount, _scissors.ToSpan()); + } + + private void RecordStencilMasks(Vk api, CommandBuffer commandBuffer) + { + api.CmdSetStencilCompareMask(commandBuffer, StencilFaceFlags.StencilFaceBackBit, _backCompareMask); + api.CmdSetStencilWriteMask(commandBuffer, StencilFaceFlags.StencilFaceBackBit, _backWriteMask); + api.CmdSetStencilReference(commandBuffer, StencilFaceFlags.StencilFaceBackBit, _backReference); + api.CmdSetStencilCompareMask(commandBuffer, StencilFaceFlags.StencilFaceFrontBit, _frontCompareMask); + api.CmdSetStencilWriteMask(commandBuffer, StencilFaceFlags.StencilFaceFrontBit, _frontWriteMask); + api.CmdSetStencilReference(commandBuffer, StencilFaceFlags.StencilFaceFrontBit, _frontReference); + } + + private void RecordViewport(Vk api, CommandBuffer commandBuffer) + { + api.CmdSetViewport(commandBuffer, 0, (uint)ViewportsCount, _viewports.ToSpan()); + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/PipelineFull.cs b/Ryujinx.Graphics.Vulkan/PipelineFull.cs new file mode 100644 index 000000000..0d461b213 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/PipelineFull.cs @@ -0,0 +1,295 @@ +using Ryujinx.Graphics.GAL; +using Ryujinx.Graphics.Vulkan.Queries; +using Silk.NET.Vulkan; +using System; +using System.Collections.Generic; + +namespace Ryujinx.Graphics.Vulkan +{ + class PipelineFull : PipelineBase, IPipeline + { + private bool _hasPendingQuery; + + private readonly List _activeQueries; + + public PipelineFull(VulkanGraphicsDevice gd, Device device) : base(gd, device) + { + _activeQueries = new List(); + + CommandBuffer = (Cbs = gd.CommandBufferPool.Rent()).CommandBuffer; + } + + protected override unsafe DescriptorSetLayout[] CreateDescriptorSetLayouts(VulkanGraphicsDevice gd, Device device, out PipelineLayout layout) + { + DescriptorSetLayoutBinding* uLayoutBindings = stackalloc DescriptorSetLayoutBinding[Constants.MaxUniformBufferBindings]; + DescriptorSetLayoutBinding* sLayoutBindings = stackalloc DescriptorSetLayoutBinding[Constants.MaxStorageBufferBindings]; + DescriptorSetLayoutBinding* tLayoutBindings = stackalloc DescriptorSetLayoutBinding[Constants.MaxTextureBindings]; + DescriptorSetLayoutBinding* iLayoutBindings = stackalloc DescriptorSetLayoutBinding[Constants.MaxImageBindings]; + DescriptorSetLayoutBinding* bTLayoutBindings = stackalloc DescriptorSetLayoutBinding[Constants.MaxTextureBindings]; + DescriptorSetLayoutBinding* bILayoutBindings = stackalloc DescriptorSetLayoutBinding[Constants.MaxImageBindings]; + + DescriptorBindingFlags* pUBindingsFlags = stackalloc DescriptorBindingFlags[Constants.MaxUniformBufferBindings]; + DescriptorBindingFlags* pSBindingsFlags = stackalloc DescriptorBindingFlags[Constants.MaxStorageBufferBindings]; + DescriptorBindingFlags* pTBindingsFlags = stackalloc DescriptorBindingFlags[Constants.MaxTextureBindings]; + DescriptorBindingFlags* pIBindingsFlags = stackalloc DescriptorBindingFlags[Constants.MaxImageBindings]; + DescriptorBindingFlags* pBTBindingsFlags = stackalloc DescriptorBindingFlags[Constants.MaxTextureBindings]; + DescriptorBindingFlags* pBIBindingsFlags = stackalloc DescriptorBindingFlags[Constants.MaxImageBindings]; + + static DescriptorSetLayoutBindingFlagsCreateInfo CreateFlagsInfo(DescriptorBindingFlags* pBindingFlags, uint count) + { + return new DescriptorSetLayoutBindingFlagsCreateInfo() + { + SType = StructureType.DescriptorSetLayoutBindingFlagsCreateInfo, + PBindingFlags = pBindingFlags, + BindingCount = count + }; + } + + var uLayoutBindingFlags = CreateFlagsInfo(pUBindingsFlags, Constants.MaxUniformBufferBindings); + var sLayoutBindingFlags = CreateFlagsInfo(pSBindingsFlags, Constants.MaxStorageBufferBindings); + var tLayoutBindingFlags = CreateFlagsInfo(pTBindingsFlags, Constants.MaxTextureBindings); + var iLayoutBindingFlags = CreateFlagsInfo(pIBindingsFlags, Constants.MaxImageBindings); + var bTLayoutBindingFlags = CreateFlagsInfo(pBTBindingsFlags, Constants.MaxTextureBindings); + var bILayoutBindingFlags = CreateFlagsInfo(pBIBindingsFlags, Constants.MaxImageBindings); + + for (int stage = 0; stage < Constants.MaxShaderStages; stage++) + { + var stageFlags = (ShaderStageFlags)(1 << stage); + + if (stage == 0) + { + stageFlags |= ShaderStageFlags.ShaderStageComputeBit; + } + + void Set( + DescriptorSetLayoutBinding* bindings, + DescriptorSetLayoutBindingFlagsCreateInfo bindingFlagsCreateInfo, + int maxPerStage, + DescriptorType type) + { + for (int i = 0; i < maxPerStage; i++) + { + int j = stage * maxPerStage + i; + + bindings[j] = new DescriptorSetLayoutBinding + { + Binding = (uint)j, + DescriptorType = type, + DescriptorCount = 1, + StageFlags = stageFlags + }; + + bindingFlagsCreateInfo.PBindingFlags[j] = DescriptorBindingFlags.DescriptorBindingPartiallyBoundBit; + } + } + + Set(uLayoutBindings, uLayoutBindingFlags, Constants.MaxUniformBuffersPerStage, DescriptorType.UniformBuffer); + Set(sLayoutBindings, sLayoutBindingFlags, Constants.MaxStorageBuffersPerStage, DescriptorType.StorageBuffer); + Set(tLayoutBindings, tLayoutBindingFlags, Constants.MaxTexturesPerStage, DescriptorType.CombinedImageSampler); + Set(iLayoutBindings, iLayoutBindingFlags, Constants.MaxImagesPerStage, DescriptorType.StorageImage); + Set(bTLayoutBindings, bTLayoutBindingFlags, Constants.MaxTexturesPerStage, DescriptorType.UniformTexelBuffer); + Set(bILayoutBindings, bILayoutBindingFlags, Constants.MaxImagesPerStage, DescriptorType.StorageTexelBuffer); + } + + DescriptorSetLayout[] layouts = new DescriptorSetLayout[DescriptorSetLayouts]; + + var uDescriptorSetLayoutCreateInfo = new DescriptorSetLayoutCreateInfo() + { + SType = StructureType.DescriptorSetLayoutCreateInfo, + PBindings = uLayoutBindings, + BindingCount = Constants.MaxUniformBufferBindings + }; + + var sDescriptorSetLayoutCreateInfo = new DescriptorSetLayoutCreateInfo() + { + SType = StructureType.DescriptorSetLayoutCreateInfo, + PBindings = sLayoutBindings, + BindingCount = Constants.MaxStorageBufferBindings + }; + + var tDescriptorSetLayoutCreateInfo = new DescriptorSetLayoutCreateInfo() + { + SType = StructureType.DescriptorSetLayoutCreateInfo, + PBindings = tLayoutBindings, + BindingCount = Constants.MaxTextureBindings + }; + + var iDescriptorSetLayoutCreateInfo = new DescriptorSetLayoutCreateInfo() + { + SType = StructureType.DescriptorSetLayoutCreateInfo, + PBindings = iLayoutBindings, + BindingCount = Constants.MaxImageBindings + }; + + var bTDescriptorSetLayoutCreateInfo = new DescriptorSetLayoutCreateInfo() + { + SType = StructureType.DescriptorSetLayoutCreateInfo, + PBindings = bTLayoutBindings, + BindingCount = Constants.MaxTextureBindings + }; + + var bIDescriptorSetLayoutCreateInfo = new DescriptorSetLayoutCreateInfo() + { + SType = StructureType.DescriptorSetLayoutCreateInfo, + PBindings = bILayoutBindings, + BindingCount = Constants.MaxImageBindings + }; + + gd.Api.CreateDescriptorSetLayout(device, uDescriptorSetLayoutCreateInfo, null, out layouts[UniformSetIndex]).ThrowOnError(); + gd.Api.CreateDescriptorSetLayout(device, sDescriptorSetLayoutCreateInfo, null, out layouts[StorageSetIndex]).ThrowOnError(); + gd.Api.CreateDescriptorSetLayout(device, tDescriptorSetLayoutCreateInfo, null, out layouts[TextureSetIndex]).ThrowOnError(); + gd.Api.CreateDescriptorSetLayout(device, iDescriptorSetLayoutCreateInfo, null, out layouts[ImageSetIndex]).ThrowOnError(); + gd.Api.CreateDescriptorSetLayout(device, bTDescriptorSetLayoutCreateInfo, null, out layouts[BufferTextureSetIndex]).ThrowOnError(); + gd.Api.CreateDescriptorSetLayout(device, bIDescriptorSetLayoutCreateInfo, null, out layouts[BufferImageSetIndex]).ThrowOnError(); + + fixed (DescriptorSetLayout* pLayouts = layouts) + { + var pipelineLayoutCreateInfo = new PipelineLayoutCreateInfo() + { + SType = StructureType.PipelineLayoutCreateInfo, + PSetLayouts = pLayouts, + SetLayoutCount = DescriptorSetLayouts + }; + + gd.Api.CreatePipelineLayout(device, &pipelineLayoutCreateInfo, null, out layout).ThrowOnError(); + } + + return layouts; + } + + public void EndHostConditionalRendering() + { + if (Gd.Capabilities.SupportsConditionalRendering) + { + // Gd.ConditionalRenderingApi.CmdEndConditionalRendering(CommandBuffer); + } + else + { + throw new NotSupportedException(); + } + } + + public bool TryHostConditionalRendering(ICounterEvent value, ulong compare, bool isEqual) + { + // Compare an event and a constant value. + if (value is CounterQueueEvent evt) + { + // Easy host conditional rendering when the check matches what GL can do: + // - Event is of type samples passed. + // - Result is not a combination of multiple queries. + // - Comparing against 0. + // - Event has not already been flushed. + + if (evt.Disposed) + { + // If the event has been flushed, then just use the values on the CPU. + // The query object may already be repurposed for another draw (eg. begin + end). + return false; + } + + if (Gd.Capabilities.SupportsConditionalRendering && compare == 0 && evt.Type == CounterType.SamplesPassed && evt.ClearCounter) + { + var buffer = evt.GetBuffer().Get(Cbs, 0, sizeof(long)).Value; + var flags = isEqual ? ConditionalRenderingFlagsEXT.ConditionalRenderingInvertedBitExt : 0; + + var conditionalRenderingBeginInfo = new ConditionalRenderingBeginInfoEXT() + { + SType = StructureType.ConditionalRenderingBeginInfoExt, + Buffer = buffer, + Flags = flags + }; + + // Gd.ConditionalRenderingApi.CmdBeginConditionalRendering(CommandBuffer, conditionalRenderingBeginInfo); + return true; + } + } + + // The GPU will flush the queries to CPU and evaluate the condition there instead. + + FlushCommandsImpl(); // The thread will be stalled manually flushing the counter, so flush GL commands now. + return false; + } + + public bool TryHostConditionalRendering(ICounterEvent value, ICounterEvent compare, bool isEqual) + { + FlushCommandsImpl(); // The thread will be stalled manually flushing the counter, so flush GL commands now. + return false; + } + + public void FlushCommandsImpl([System.Runtime.CompilerServices.CallerMemberName] string caller = "") + { + // System.Console.WriteLine("flush by " + caller); + + EndRenderPass(); + PauseTransformFeedbackInternal(); + + foreach (var queryPool in _activeQueries) + { + Gd.Api.CmdEndQuery(CommandBuffer, queryPool, 0); + } + + CommandBuffer = (Cbs = Gd.CommandBufferPool.ReturnAndRent(Cbs)).CommandBuffer; + + // Restore per-command buffer state. + + if (Pipeline != null) + { + Gd.Api.CmdBindPipeline(CommandBuffer, Pbp, Pipeline.Get(Cbs).Value); + } + + foreach (var queryPool in _activeQueries) + { + Gd.Api.CmdResetQueryPool(CommandBuffer, queryPool, 0, 1); + Gd.Api.CmdBeginQuery(CommandBuffer, queryPool, 0, 0); + } + + ResumeTransformFeedbackInternal(); + SignalCommandBufferChange(); + } + + public void BeginQuery(QueryPool pool) + { + EndRenderPass(); + + Gd.Api.CmdResetQueryPool(CommandBuffer, pool, 0, 1); + Gd.Api.CmdBeginQuery(CommandBuffer, pool, 0, 0); + + _activeQueries.Add(pool); + } + + public void EndQuery(QueryPool pool) + { + Gd.Api.CmdEndQuery(CommandBuffer, pool, 0); + + _activeQueries.Remove(pool); + } + + public void CopyQueryResults(QueryPool pool, BufferHolder holder) + { + EndRenderPass(); + + var buffer = holder.GetBuffer(CommandBuffer, true).Get(Cbs, 0, sizeof(long)).Value; + + Gd.Api.CmdCopyQueryPoolResults( + CommandBuffer, + pool, + 0, + 1, + buffer, + 0, + sizeof(long), + QueryResultFlags.QueryResult64Bit | QueryResultFlags.QueryResultWaitBit); + + _hasPendingQuery = true; + } + + protected override void SignalProgramChange() + { + if (_hasPendingQuery) + { + _hasPendingQuery = false; + FlushCommandsImpl(); + } + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/PipelineLayoutCache.cs b/Ryujinx.Graphics.Vulkan/PipelineLayoutCache.cs new file mode 100644 index 000000000..a1de6781e --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/PipelineLayoutCache.cs @@ -0,0 +1,40 @@ +using Silk.NET.Vulkan; + +namespace Ryujinx.Graphics.Vulkan +{ + class PipelineLayoutCache + { + private PipelineLayoutCacheEntry[] _plce; + + public PipelineLayoutCache() + { + _plce = new PipelineLayoutCacheEntry[1 << Constants.MaxShaderStages]; + } + + public PipelineLayoutCacheEntry GetOrCreate(VulkanGraphicsDevice gd, Device device, uint stages) + { + if (_plce[stages] == null) + { + _plce[stages] = new PipelineLayoutCacheEntry(gd, device, stages); + } + + return _plce[stages]; + } + + protected virtual unsafe void Dispose(bool disposing) + { + if (disposing) + { + for (int i = 0; i < _plce.Length; i++) + { + _plce[i]?.Dispose(); + } + } + } + + public void Dispose() + { + Dispose(true); + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/PipelineLayoutCacheEntry.cs b/Ryujinx.Graphics.Vulkan/PipelineLayoutCacheEntry.cs new file mode 100644 index 000000000..4505362d5 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/PipelineLayoutCacheEntry.cs @@ -0,0 +1,108 @@ +using Silk.NET.Vulkan; +using System.Collections.Generic; + +namespace Ryujinx.Graphics.Vulkan +{ + class PipelineLayoutCacheEntry + { + private readonly VulkanGraphicsDevice _gd; + private readonly Device _device; + + public DescriptorSetLayout[] DescriptorSetLayouts { get; } + public PipelineLayout PipelineLayout { get; } + + private readonly List>[][] _dsCache; + private readonly int[] _dsCacheCursor; + private int _dsLastCbIndex; + + private readonly uint _stages; + + public PipelineLayoutCacheEntry(VulkanGraphicsDevice gd, Device device, uint stages) + { + _gd = gd; + _device = device; + _stages = stages; + + DescriptorSetLayouts = PipelineLayoutFactory.Create(gd, device, stages, out var pipelineLayout); + PipelineLayout = pipelineLayout; + + _dsCache = new List>[CommandBufferPool.MaxCommandBuffers][]; + + for (int i = 0; i < CommandBufferPool.MaxCommandBuffers; i++) + { + _dsCache[i] = new List>[PipelineBase.DescriptorSetLayouts]; + + for (int j = 0; j < PipelineBase.DescriptorSetLayouts; j++) + { + _dsCache[i][j] = new List>(); + } + } + + _dsCacheCursor = new int[PipelineBase.DescriptorSetLayouts]; + } + + public Auto GetNewDescriptorSetCollection( + VulkanGraphicsDevice gd, + int commandBufferIndex, + int setIndex, + out bool isNew) + { + if (_dsLastCbIndex != commandBufferIndex) + { + _dsLastCbIndex = commandBufferIndex; + + for (int i = 0; i < PipelineBase.DescriptorSetLayouts; i++) + { + _dsCacheCursor[i] = 0; + } + } + + var list = _dsCache[commandBufferIndex][setIndex]; + int index = _dsCacheCursor[setIndex]++; + if (index == list.Count) + { + var dsc = gd.DescriptorSetManager.AllocateDescriptorSet(gd.Api, DescriptorSetLayouts[setIndex]); + list.Add(dsc); + isNew = true; + return dsc; + } + + isNew = false; + return list[index]; + } + + protected virtual unsafe void Dispose(bool disposing) + { + if (disposing) + { + unsafe + { + for (int i = 0; i < _dsCache.Length; i++) + { + for (int y = 0; y < _dsCache[i].Length; y++) + { + for (int z = 0; z < _dsCache[i][y].Count; z++) + { + _dsCache[i][y][z].Dispose(); + } + + _dsCache[i][y].Clear(); + } + } + + _gd.Api.DestroyPipelineLayout(_device, PipelineLayout, null); + + for (int i = 0; i < DescriptorSetLayouts.Length; i++) + { + _gd.Api.DestroyDescriptorSetLayout(_device, DescriptorSetLayouts[i], null); + } + } + } + } + + public void Dispose() + { + Dispose(true); + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/PipelineLayoutFactory.cs b/Ryujinx.Graphics.Vulkan/PipelineLayoutFactory.cs new file mode 100644 index 000000000..3ceacfd0e --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/PipelineLayoutFactory.cs @@ -0,0 +1,150 @@ +using Silk.NET.Vulkan; +using System.Numerics; + +namespace Ryujinx.Graphics.Vulkan +{ + static class PipelineLayoutFactory + { + public static unsafe DescriptorSetLayout[] Create(VulkanGraphicsDevice gd, Device device, uint stages, out PipelineLayout layout) + { + int stagesCount = BitOperations.PopCount(stages); + + int uCount = Constants.MaxUniformBuffersPerStage * stagesCount + 1; + int tCount = Constants.MaxTexturesPerStage * stagesCount; + int iCount = Constants.MaxImagesPerStage * stagesCount; + int bTCount = tCount; + int bICount = iCount; + + DescriptorSetLayoutBinding* uLayoutBindings = stackalloc DescriptorSetLayoutBinding[uCount]; + DescriptorSetLayoutBinding* sLayoutBindings = stackalloc DescriptorSetLayoutBinding[stagesCount]; + DescriptorSetLayoutBinding* tLayoutBindings = stackalloc DescriptorSetLayoutBinding[tCount]; + DescriptorSetLayoutBinding* iLayoutBindings = stackalloc DescriptorSetLayoutBinding[iCount]; + DescriptorSetLayoutBinding* bTLayoutBindings = stackalloc DescriptorSetLayoutBinding[bTCount]; + DescriptorSetLayoutBinding* bILayoutBindings = stackalloc DescriptorSetLayoutBinding[bICount]; + + uLayoutBindings[0] = new DescriptorSetLayoutBinding + { + Binding = 0, + DescriptorType = DescriptorType.UniformBuffer, + DescriptorCount = 1, + StageFlags = ShaderStageFlags.ShaderStageFragmentBit | ShaderStageFlags.ShaderStageComputeBit + }; + + int iter = 0; + + while (stages != 0) + { + int stage = BitOperations.TrailingZeroCount(stages); + stages &= ~(1u << stage); + + var stageFlags = stage switch + { + 1 => ShaderStageFlags.ShaderStageFragmentBit, + 2 => ShaderStageFlags.ShaderStageGeometryBit, + 3 => ShaderStageFlags.ShaderStageTessellationControlBit, + 4 => ShaderStageFlags.ShaderStageTessellationEvaluationBit, + _ => ShaderStageFlags.ShaderStageVertexBit | ShaderStageFlags.ShaderStageComputeBit + }; + + void Set(DescriptorSetLayoutBinding* bindings, int maxPerStage, DescriptorType type, int start = 0) + { + for (int i = 0; i < maxPerStage; i++) + { + bindings[start + iter * maxPerStage + i] = new DescriptorSetLayoutBinding + { + Binding = (uint)(start + stage * maxPerStage + i), + DescriptorType = type, + DescriptorCount = 1, + StageFlags = stageFlags + }; + } + } + + void SetStorage(DescriptorSetLayoutBinding* bindings, int maxPerStage, int start = 0) + { + bindings[start + iter] = new DescriptorSetLayoutBinding + { + Binding = (uint)(start + stage * maxPerStage), + DescriptorType = DescriptorType.StorageBuffer, + DescriptorCount = (uint)maxPerStage, + StageFlags = stageFlags + }; + } + + Set(uLayoutBindings, Constants.MaxUniformBuffersPerStage, DescriptorType.UniformBuffer, 1); + SetStorage(sLayoutBindings, Constants.MaxStorageBuffersPerStage); + Set(tLayoutBindings, Constants.MaxTexturesPerStage, DescriptorType.CombinedImageSampler); + Set(iLayoutBindings, Constants.MaxImagesPerStage, DescriptorType.StorageImage); + Set(bTLayoutBindings, Constants.MaxTexturesPerStage, DescriptorType.UniformTexelBuffer); + Set(bILayoutBindings, Constants.MaxImagesPerStage, DescriptorType.StorageTexelBuffer); + + iter++; + } + + DescriptorSetLayout[] layouts = new DescriptorSetLayout[PipelineFull.DescriptorSetLayouts]; + + var uDescriptorSetLayoutCreateInfo = new DescriptorSetLayoutCreateInfo() + { + SType = StructureType.DescriptorSetLayoutCreateInfo, + PBindings = uLayoutBindings, + BindingCount = (uint)uCount + }; + + var sDescriptorSetLayoutCreateInfo = new DescriptorSetLayoutCreateInfo() + { + SType = StructureType.DescriptorSetLayoutCreateInfo, + PBindings = sLayoutBindings, + BindingCount = (uint)stagesCount + }; + + var tDescriptorSetLayoutCreateInfo = new DescriptorSetLayoutCreateInfo() + { + SType = StructureType.DescriptorSetLayoutCreateInfo, + PBindings = tLayoutBindings, + BindingCount = (uint)tCount + }; + + var iDescriptorSetLayoutCreateInfo = new DescriptorSetLayoutCreateInfo() + { + SType = StructureType.DescriptorSetLayoutCreateInfo, + PBindings = iLayoutBindings, + BindingCount = (uint)iCount + }; + + var bTDescriptorSetLayoutCreateInfo = new DescriptorSetLayoutCreateInfo() + { + SType = StructureType.DescriptorSetLayoutCreateInfo, + PBindings = bTLayoutBindings, + BindingCount = (uint)bTCount + }; + + var bIDescriptorSetLayoutCreateInfo = new DescriptorSetLayoutCreateInfo() + { + SType = StructureType.DescriptorSetLayoutCreateInfo, + PBindings = bILayoutBindings, + BindingCount = (uint)bICount + }; + + gd.Api.CreateDescriptorSetLayout(device, uDescriptorSetLayoutCreateInfo, null, out layouts[PipelineFull.UniformSetIndex]).ThrowOnError(); + gd.Api.CreateDescriptorSetLayout(device, sDescriptorSetLayoutCreateInfo, null, out layouts[PipelineFull.StorageSetIndex]).ThrowOnError(); + gd.Api.CreateDescriptorSetLayout(device, tDescriptorSetLayoutCreateInfo, null, out layouts[PipelineFull.TextureSetIndex]).ThrowOnError(); + gd.Api.CreateDescriptorSetLayout(device, iDescriptorSetLayoutCreateInfo, null, out layouts[PipelineFull.ImageSetIndex]).ThrowOnError(); + gd.Api.CreateDescriptorSetLayout(device, bTDescriptorSetLayoutCreateInfo, null, out layouts[PipelineFull.BufferTextureSetIndex]).ThrowOnError(); + gd.Api.CreateDescriptorSetLayout(device, bIDescriptorSetLayoutCreateInfo, null, out layouts[PipelineFull.BufferImageSetIndex]).ThrowOnError(); + + fixed (DescriptorSetLayout* pLayouts = layouts) + { + var pipelineLayoutCreateInfo = new PipelineLayoutCreateInfo() + { + SType = StructureType.PipelineLayoutCreateInfo, + PSetLayouts = pLayouts, + SetLayoutCount = PipelineFull.DescriptorSetLayouts + }; + + gd.Api.CreatePipelineLayout(device, &pipelineLayoutCreateInfo, null, out layout).ThrowOnError(); + } + + return layouts; + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/PipelineState.cs b/Ryujinx.Graphics.Vulkan/PipelineState.cs new file mode 100644 index 000000000..246a84c79 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/PipelineState.cs @@ -0,0 +1,526 @@ +using Silk.NET.Vulkan; +using System; + +namespace Ryujinx.Graphics.Vulkan +{ + struct PipelineState : IDisposable + { + public PipelineUid Internal; + + public float LineWidth + { + get => BitConverter.Int32BitsToSingle((int)((Internal.Id0 >> 0) & 0xFFFFFFFF)); + set => Internal.Id0 = (Internal.Id0 & 0xFFFFFFFF00000000) | ((ulong)(uint)BitConverter.SingleToInt32Bits(value) << 0); + } + + public float DepthBiasClamp + { + get => BitConverter.Int32BitsToSingle((int)((Internal.Id0 >> 32) & 0xFFFFFFFF)); + set => Internal.Id0 = (Internal.Id0 & 0xFFFFFFFF) | ((ulong)(uint)BitConverter.SingleToInt32Bits(value) << 32); + } + + public float DepthBiasConstantFactor + { + get => BitConverter.Int32BitsToSingle((int)((Internal.Id1 >> 0) & 0xFFFFFFFF)); + set => Internal.Id1 = (Internal.Id1 & 0xFFFFFFFF00000000) | ((ulong)(uint)BitConverter.SingleToInt32Bits(value) << 0); + } + + public float DepthBiasSlopeFactor + { + get => BitConverter.Int32BitsToSingle((int)((Internal.Id1 >> 32) & 0xFFFFFFFF)); + set => Internal.Id1 = (Internal.Id1 & 0xFFFFFFFF) | ((ulong)(uint)BitConverter.SingleToInt32Bits(value) << 32); + } + + public uint StencilFrontCompareMask + { + get => (UInt32)((Internal.Id2 >> 0) & 0xFFFFFFFF); + set => Internal.Id2 = (Internal.Id2 & 0xFFFFFFFF00000000) | ((ulong)value << 0); + } + + public uint StencilFrontWriteMask + { + get => (UInt32)((Internal.Id2 >> 32) & 0xFFFFFFFF); + set => Internal.Id2 = (Internal.Id2 & 0xFFFFFFFF) | ((ulong)value << 32); + } + + public uint StencilFrontReference + { + get => (UInt32)((Internal.Id3 >> 0) & 0xFFFFFFFF); + set => Internal.Id3 = (Internal.Id3 & 0xFFFFFFFF00000000) | ((ulong)value << 0); + } + + public uint StencilBackCompareMask + { + get => (UInt32)((Internal.Id3 >> 32) & 0xFFFFFFFF); + set => Internal.Id3 = (Internal.Id3 & 0xFFFFFFFF) | ((ulong)value << 32); + } + + public uint StencilBackWriteMask + { + get => (UInt32)((Internal.Id4 >> 0) & 0xFFFFFFFF); + set => Internal.Id4 = (Internal.Id4 & 0xFFFFFFFF00000000) | ((ulong)value << 0); + } + + public uint StencilBackReference + { + get => (UInt32)((Internal.Id4 >> 32) & 0xFFFFFFFF); + set => Internal.Id4 = (Internal.Id4 & 0xFFFFFFFF) | ((ulong)value << 32); + } + + public float MinDepthBounds + { + get => BitConverter.Int32BitsToSingle((int)((Internal.Id5 >> 0) & 0xFFFFFFFF)); + set => Internal.Id5 = (Internal.Id5 & 0xFFFFFFFF00000000) | ((ulong)(uint)BitConverter.SingleToInt32Bits(value) << 0); + } + + public float MaxDepthBounds + { + get => BitConverter.Int32BitsToSingle((int)((Internal.Id5 >> 32) & 0xFFFFFFFF)); + set => Internal.Id5 = (Internal.Id5 & 0xFFFFFFFF) | ((ulong)(uint)BitConverter.SingleToInt32Bits(value) << 32); + } + + public float BlendConstantR + { + get => BitConverter.Int32BitsToSingle((int)((Internal.Id6 >> 0) & 0xFFFFFFFF)); + set => Internal.Id6 = (Internal.Id6 & 0xFFFFFFFF00000000) | ((ulong)(uint)BitConverter.SingleToInt32Bits(value) << 0); + } + + public float BlendConstantG + { + get => BitConverter.Int32BitsToSingle((int)((Internal.Id6 >> 32) & 0xFFFFFFFF)); + set => Internal.Id6 = (Internal.Id6 & 0xFFFFFFFF) | ((ulong)(uint)BitConverter.SingleToInt32Bits(value) << 32); + } + + public float BlendConstantB + { + get => BitConverter.Int32BitsToSingle((int)((Internal.Id7 >> 0) & 0xFFFFFFFF)); + set => Internal.Id7 = (Internal.Id7 & 0xFFFFFFFF00000000) | ((ulong)(uint)BitConverter.SingleToInt32Bits(value) << 0); + } + + public float BlendConstantA + { + get => BitConverter.Int32BitsToSingle((int)((Internal.Id7 >> 32) & 0xFFFFFFFF)); + set => Internal.Id7 = (Internal.Id7 & 0xFFFFFFFF) | ((ulong)(uint)BitConverter.SingleToInt32Bits(value) << 32); + } + + public PolygonMode PolygonMode + { + get => (PolygonMode)((Internal.Id8 >> 0) & 0x3FFFFFFF); + set => Internal.Id8 = (Internal.Id8 & 0xFFFFFFFFC0000000) | ((ulong)value << 0); + } + + public uint StagesCount + { + get => (byte)((Internal.Id8 >> 30) & 0xFF); + set => Internal.Id8 = (Internal.Id8 & 0xFFFFFFC03FFFFFFF) | ((ulong)value << 30); + } + + public uint VertexAttributeDescriptionsCount + { + get => (byte)((Internal.Id8 >> 38) & 0xFF); + set => Internal.Id8 = (Internal.Id8 & 0xFFFFC03FFFFFFFFF) | ((ulong)value << 38); + } + + public uint VertexBindingDescriptionsCount + { + get => (byte)((Internal.Id8 >> 46) & 0xFF); + set => Internal.Id8 = (Internal.Id8 & 0xFFC03FFFFFFFFFFF) | ((ulong)value << 46); + } + + public uint ViewportsCount + { + get => (byte)((Internal.Id8 >> 54) & 0xFF); + set => Internal.Id8 = (Internal.Id8 & 0xC03FFFFFFFFFFFFF) | ((ulong)value << 54); + } + + public uint ScissorsCount + { + get => (byte)((Internal.Id9 >> 0) & 0xFF); + set => Internal.Id9 = (Internal.Id9 & 0xFFFFFFFFFFFFFF00) | ((ulong)value << 0); + } + + public uint ColorBlendAttachmentStateCount + { + get => (byte)((Internal.Id9 >> 8) & 0xFF); + set => Internal.Id9 = (Internal.Id9 & 0xFFFFFFFFFFFF00FF) | ((ulong)value << 8); + } + + public PrimitiveTopology Topology + { + get => (PrimitiveTopology)((Internal.Id9 >> 16) & 0xF); + set => Internal.Id9 = (Internal.Id9 & 0xFFFFFFFFFFF0FFFF) | ((ulong)value << 16); + } + + public LogicOp LogicOp + { + get => (LogicOp)((Internal.Id9 >> 20) & 0xF); + set => Internal.Id9 = (Internal.Id9 & 0xFFFFFFFFFF0FFFFF) | ((ulong)value << 20); + } + + public CompareOp DepthCompareOp + { + get => (CompareOp)((Internal.Id9 >> 24) & 0x7); + set => Internal.Id9 = (Internal.Id9 & 0xFFFFFFFFF8FFFFFF) | ((ulong)value << 24); + } + + public StencilOp StencilFrontFailOp + { + get => (StencilOp)((Internal.Id9 >> 27) & 0x7); + set => Internal.Id9 = (Internal.Id9 & 0xFFFFFFFFC7FFFFFF) | ((ulong)value << 27); + } + + public StencilOp StencilFrontPassOp + { + get => (StencilOp)((Internal.Id9 >> 30) & 0x7); + set => Internal.Id9 = (Internal.Id9 & 0xFFFFFFFE3FFFFFFF) | ((ulong)value << 30); + } + + public StencilOp StencilFrontDepthFailOp + { + get => (StencilOp)((Internal.Id9 >> 33) & 0x7); + set => Internal.Id9 = (Internal.Id9 & 0xFFFFFFF1FFFFFFFF) | ((ulong)value << 33); + } + + public CompareOp StencilFrontCompareOp + { + get => (CompareOp)((Internal.Id9 >> 36) & 0x7); + set => Internal.Id9 = (Internal.Id9 & 0xFFFFFF8FFFFFFFFF) | ((ulong)value << 36); + } + + public StencilOp StencilBackFailOp + { + get => (StencilOp)((Internal.Id9 >> 39) & 0x7); + set => Internal.Id9 = (Internal.Id9 & 0xFFFFFC7FFFFFFFFF) | ((ulong)value << 39); + } + + public StencilOp StencilBackPassOp + { + get => (StencilOp)((Internal.Id9 >> 42) & 0x7); + set => Internal.Id9 = (Internal.Id9 & 0xFFFFE3FFFFFFFFFF) | ((ulong)value << 42); + } + + public StencilOp StencilBackDepthFailOp + { + get => (StencilOp)((Internal.Id9 >> 45) & 0x7); + set => Internal.Id9 = (Internal.Id9 & 0xFFFF1FFFFFFFFFFF) | ((ulong)value << 45); + } + + public CompareOp StencilBackCompareOp + { + get => (CompareOp)((Internal.Id9 >> 48) & 0x7); + set => Internal.Id9 = (Internal.Id9 & 0xFFF8FFFFFFFFFFFF) | ((ulong)value << 48); + } + + public CullModeFlags CullMode + { + get => (CullModeFlags)((Internal.Id9 >> 51) & 0x3); + set => Internal.Id9 = (Internal.Id9 & 0xFFE7FFFFFFFFFFFF) | ((ulong)value << 51); + } + + public bool PrimitiveRestartEnable + { + get => ((Internal.Id9 >> 53) & 0x1) != 0UL; + set => Internal.Id9 = (Internal.Id9 & 0xFFDFFFFFFFFFFFFF) | ((value ? 1UL : 0UL) << 53); + } + + public bool DepthClampEnable + { + get => ((Internal.Id9 >> 54) & 0x1) != 0UL; + set => Internal.Id9 = (Internal.Id9 & 0xFFBFFFFFFFFFFFFF) | ((value ? 1UL : 0UL) << 54); + } + + public bool RasterizerDiscardEnable + { + get => ((Internal.Id9 >> 55) & 0x1) != 0UL; + set => Internal.Id9 = (Internal.Id9 & 0xFF7FFFFFFFFFFFFF) | ((value ? 1UL : 0UL) << 55); + } + + public FrontFace FrontFace + { + get => (FrontFace)((Internal.Id9 >> 56) & 0x1); + set => Internal.Id9 = (Internal.Id9 & 0xFEFFFFFFFFFFFFFF) | ((ulong)value << 56); + } + + public bool DepthBiasEnable + { + get => ((Internal.Id9 >> 57) & 0x1) != 0UL; + set => Internal.Id9 = (Internal.Id9 & 0xFDFFFFFFFFFFFFFF) | ((value ? 1UL : 0UL) << 57); + } + + public bool DepthTestEnable + { + get => ((Internal.Id9 >> 58) & 0x1) != 0UL; + set => Internal.Id9 = (Internal.Id9 & 0xFBFFFFFFFFFFFFFF) | ((value ? 1UL : 0UL) << 58); + } + + public bool DepthWriteEnable + { + get => ((Internal.Id9 >> 59) & 0x1) != 0UL; + set => Internal.Id9 = (Internal.Id9 & 0xF7FFFFFFFFFFFFFF) | ((value ? 1UL : 0UL) << 59); + } + + public bool DepthBoundsTestEnable + { + get => ((Internal.Id9 >> 60) & 0x1) != 0UL; + set => Internal.Id9 = (Internal.Id9 & 0xEFFFFFFFFFFFFFFF) | ((value ? 1UL : 0UL) << 60); + } + + public bool StencilTestEnable + { + get => ((Internal.Id9 >> 61) & 0x1) != 0UL; + set => Internal.Id9 = (Internal.Id9 & 0xDFFFFFFFFFFFFFFF) | ((value ? 1UL : 0UL) << 61); + } + + public bool LogicOpEnable + { + get => ((Internal.Id9 >> 62) & 0x1) != 0UL; + set => Internal.Id9 = (Internal.Id9 & 0xBFFFFFFFFFFFFFFF) | ((value ? 1UL : 0UL) << 62); + } + + public bool HasDepthStencil + { + get => ((Internal.Id9 >> 63) & 0x1) != 0UL; + set => Internal.Id9 = (Internal.Id9 & 0x7FFFFFFFFFFFFFFF) | ((value ? 1UL : 0UL) << 63); + } + + public uint PatchControlPoints + { + get => (UInt32)((Internal.Id10 >> 0) & 0xFFFFFFFF); + set => Internal.Id10 = (Internal.Id10 & 0xFFFFFFFF00000000) | ((ulong)value << 0); + } + + public NativeArray Stages; + public PipelineLayout PipelineLayout; + + public void Initialize() + { + Stages = new NativeArray(Constants.MaxShaderStages); + } + + public unsafe Auto CreateComputePipeline(Vk api, Device device, ShaderCollection program, PipelineCache cache) + { + if (program.TryGetComputePipeline(out var pipeline)) + { + return pipeline; + } + + var pipelineCreateInfo = new ComputePipelineCreateInfo() + { + SType = StructureType.ComputePipelineCreateInfo, + Stage = Stages[0], + BasePipelineIndex = -1, + Layout = PipelineLayout + }; + + Pipeline pipelineHandle = default; + + api.CreateComputePipelines(device, cache, 1, &pipelineCreateInfo, null, &pipelineHandle).ThrowOnError(); + + pipeline = new Auto(new DisposablePipeline(api, device, pipelineHandle)); + + program.AddComputePipeline(pipeline); + + return pipeline; + } + + public unsafe void DestroyComputePipeline(ShaderCollection program) + { + program.RemoveComputePipeline(); + } + + public unsafe Auto CreateGraphicsPipeline( + Vk api, + Device device, + ShaderCollection program, + PipelineCache cache, + RenderPass renderPass) + { + if (program.TryGetGraphicsPipeline(ref Internal, out var pipeline)) + { + return pipeline; + } + + Pipeline pipelineHandle = default; + + fixed (VertexInputAttributeDescription* pVertexAttributeDescriptions = &Internal.VertexAttributeDescriptions[0]) + fixed (VertexInputBindingDescription* pVertexBindingDescriptions = &Internal.VertexBindingDescriptions[0]) + fixed (Viewport* pViewports = &Internal.Viewports[0]) + fixed (Rect2D* pScissors = &Internal.Scissors[0]) + fixed (PipelineColorBlendAttachmentState* pColorBlendAttachmentState = &Internal.ColorBlendAttachmentState[0]) + { + var vertexInputState = new PipelineVertexInputStateCreateInfo + { + SType = StructureType.PipelineVertexInputStateCreateInfo, + VertexAttributeDescriptionCount = VertexAttributeDescriptionsCount, + PVertexAttributeDescriptions = pVertexAttributeDescriptions, + VertexBindingDescriptionCount = VertexBindingDescriptionsCount, + PVertexBindingDescriptions = pVertexBindingDescriptions + }; + + bool primitiveRestartEnable = PrimitiveRestartEnable; + + primitiveRestartEnable &= Topology == PrimitiveTopology.LineStrip || + Topology == PrimitiveTopology.TriangleStrip || + Topology == PrimitiveTopology.TriangleFan || + Topology == PrimitiveTopology.LineStripWithAdjacency || + Topology == PrimitiveTopology.TriangleStripWithAdjacency; + + var inputAssemblyState = new PipelineInputAssemblyStateCreateInfo() + { + SType = StructureType.PipelineInputAssemblyStateCreateInfo, + PrimitiveRestartEnable = primitiveRestartEnable, + Topology = Topology + }; + + var tessellationState = new PipelineTessellationStateCreateInfo() + { + SType = StructureType.PipelineTessellationStateCreateInfo, + PatchControlPoints = PatchControlPoints + }; + + var depthClipState = new PipelineRasterizationDepthClipStateCreateInfoEXT() + { + SType = StructureType.PipelineRasterizationDepthClipStateCreateInfoExt, + DepthClipEnable = false + }; + + var rasterizationState = new PipelineRasterizationStateCreateInfo() + { + SType = StructureType.PipelineRasterizationStateCreateInfo, + DepthClampEnable = DepthClampEnable, + RasterizerDiscardEnable = RasterizerDiscardEnable, + PolygonMode = PolygonMode, + LineWidth = LineWidth, + CullMode = CullMode, + FrontFace = FrontFace, + DepthBiasEnable = DepthBiasEnable, + DepthBiasClamp = DepthBiasClamp, + DepthBiasConstantFactor = DepthBiasConstantFactor, + DepthBiasSlopeFactor = DepthBiasSlopeFactor, + PNext = &depthClipState + }; + + var viewportState = new PipelineViewportStateCreateInfo() + { + SType = StructureType.PipelineViewportStateCreateInfo, + ViewportCount = ViewportsCount, + PViewports = pViewports, + ScissorCount = ScissorsCount, + PScissors = pScissors + }; + + var multisampleState = new PipelineMultisampleStateCreateInfo + { + SType = StructureType.PipelineMultisampleStateCreateInfo, + SampleShadingEnable = false, + RasterizationSamples = SampleCountFlags.SampleCount1Bit, + MinSampleShading = 1 + }; + + var stencilFront = new StencilOpState( + StencilFrontFailOp, + StencilFrontPassOp, + StencilFrontDepthFailOp, + StencilFrontCompareOp, + StencilFrontCompareMask, + StencilFrontWriteMask, + StencilFrontReference); + + var stencilBack = new StencilOpState( + StencilBackFailOp, + StencilBackPassOp, + StencilBackDepthFailOp, + StencilBackCompareOp, + StencilBackCompareMask, + StencilBackWriteMask, + StencilBackReference); + + var depthStencilState = new PipelineDepthStencilStateCreateInfo() + { + SType = StructureType.PipelineDepthStencilStateCreateInfo, + DepthTestEnable = DepthTestEnable, + DepthWriteEnable = DepthWriteEnable, + DepthCompareOp = DepthCompareOp, + DepthBoundsTestEnable = DepthBoundsTestEnable, + StencilTestEnable = StencilTestEnable, + Front = stencilFront, + Back = stencilBack, + MinDepthBounds = MinDepthBounds, + MaxDepthBounds = MaxDepthBounds + }; + + var colorBlendState = new PipelineColorBlendStateCreateInfo() + { + SType = StructureType.PipelineColorBlendStateCreateInfo, + LogicOpEnable = LogicOpEnable, + LogicOp = LogicOp, + AttachmentCount = ColorBlendAttachmentStateCount, + PAttachments = pColorBlendAttachmentState + }; + + colorBlendState.BlendConstants[0] = BlendConstantR; + colorBlendState.BlendConstants[1] = BlendConstantG; + colorBlendState.BlendConstants[2] = BlendConstantB; + colorBlendState.BlendConstants[3] = BlendConstantA; + + PipelineDynamicStateCreateInfo* pDynamicState = null; + + if (VulkanConfiguration.UseDynamicState) + { + const int DynamicStates = 7; + + DynamicState* dynamicStates = stackalloc DynamicState[DynamicStates]; + + dynamicStates[0] = DynamicState.Viewport; + dynamicStates[1] = DynamicState.Scissor; + dynamicStates[2] = DynamicState.DepthBias; + dynamicStates[3] = DynamicState.DepthBounds; + dynamicStates[4] = DynamicState.StencilCompareMask; + dynamicStates[5] = DynamicState.StencilWriteMask; + dynamicStates[6] = DynamicState.StencilReference; + + var pipelineDynamicStateCreateInfo = new PipelineDynamicStateCreateInfo() + { + SType = StructureType.PipelineDynamicStateCreateInfo, + DynamicStateCount = DynamicStates, + PDynamicStates = dynamicStates + }; + + pDynamicState = &pipelineDynamicStateCreateInfo; + } + + var pipelineCreateInfo = new GraphicsPipelineCreateInfo() + { + SType = StructureType.GraphicsPipelineCreateInfo, + StageCount = StagesCount, + PStages = Stages.Pointer, + PVertexInputState = &vertexInputState, + PInputAssemblyState = &inputAssemblyState, + PTessellationState = &tessellationState, + PViewportState = &viewportState, + PRasterizationState = &rasterizationState, + PMultisampleState = &multisampleState, + PDepthStencilState = &depthStencilState, + PColorBlendState = &colorBlendState, + PDynamicState = pDynamicState, + Layout = PipelineLayout, + RenderPass = renderPass, + BasePipelineIndex = -1 + }; + + api.CreateGraphicsPipelines(device, cache, 1, &pipelineCreateInfo, null, &pipelineHandle).ThrowOnError(); + } + + pipeline = new Auto(new DisposablePipeline(api, device, pipelineHandle)); + + program.AddGraphicsPipeline(ref Internal, pipeline); + + return pipeline; + } + + public void Dispose() + { + Stages.Dispose(); + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/PipelineUid.cs b/Ryujinx.Graphics.Vulkan/PipelineUid.cs new file mode 100644 index 000000000..da5d1a4d7 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/PipelineUid.cs @@ -0,0 +1,145 @@ +using Ryujinx.Common.Memory; +using Silk.NET.Vulkan; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Runtime.Intrinsics; + +namespace Ryujinx.Graphics.Vulkan +{ + struct PipelineUid : IRefEquatable + { + public ulong Id0; + public ulong Id1; + public ulong Id2; + public ulong Id3; + + public ulong Id4; + public ulong Id5; + public ulong Id6; + public ulong Id7; + + public ulong Id8; + public ulong Id9; + public ulong Id10; + public ulong Padding; + + private uint VertexAttributeDescriptionsCount => (byte)((Id8 >> 38) & 0xFF); + private uint VertexBindingDescriptionsCount => (byte)((Id8 >> 46) & 0xFF); + private uint ViewportsCount => (byte)((Id8 >> 54) & 0xFF); + private uint ScissorsCount => (byte)((Id9 >> 0) & 0xFF); + private uint ColorBlendAttachmentStateCount => (byte)((Id9 >> 8) & 0xFF); + private bool HasDepthStencil => ((Id9 >> 63) & 0x1) != 0UL; + + public Array32 VertexAttributeDescriptions; + public Array33 VertexBindingDescriptions; + public Array16 Viewports; + public Array16 Scissors; + public Array8 ColorBlendAttachmentState; + public Array9 AttachmentFormats; + + public override bool Equals(object obj) + { + return obj is PipelineUid other && Equals(other); + } + + public bool Equals(ref PipelineUid other) + { + if (!Unsafe.As>(ref Id0).Equals(Unsafe.As>(ref other.Id0)) || + !Unsafe.As>(ref Id4).Equals(Unsafe.As>(ref other.Id4)) || + !Unsafe.As>(ref Id8).Equals(Unsafe.As>(ref other.Id8))) + { + return false; + } + + if (!SequenceEqual(VertexAttributeDescriptions.ToSpan(), other.VertexAttributeDescriptions.ToSpan(), VertexAttributeDescriptionsCount)) + { + return false; + } + + if (!SequenceEqual(VertexBindingDescriptions.ToSpan(), other.VertexBindingDescriptions.ToSpan(), VertexBindingDescriptionsCount)) + { + return false; + } + + if (!VulkanConfiguration.UseDynamicState) + { + if (!SequenceEqual(Viewports.ToSpan(), other.Viewports.ToSpan(), ViewportsCount)) + { + return false; + } + + if (!SequenceEqual(Scissors.ToSpan(), other.Scissors.ToSpan(), ScissorsCount)) + { + return false; + } + } + + if (!SequenceEqual(ColorBlendAttachmentState.ToSpan(), other.ColorBlendAttachmentState.ToSpan(), ColorBlendAttachmentStateCount)) + { + return false; + } + + if (!SequenceEqual(AttachmentFormats.ToSpan(), other.AttachmentFormats.ToSpan(), ColorBlendAttachmentStateCount + (HasDepthStencil ? 1u : 0u))) + { + return false; + } + + return true; + } + + private static bool SequenceEqual(ReadOnlySpan x, ReadOnlySpan y, uint count) where T : unmanaged + { + return MemoryMarshal.Cast(x.Slice(0, (int)count)).SequenceEqual(MemoryMarshal.Cast(y.Slice(0, (int)count))); + } + + public override int GetHashCode() + { + ulong hash64 = Id0 * 23 ^ + Id1 * 23 ^ + Id2 * 23 ^ + Id3 * 23 ^ + Id4 * 23 ^ + Id5 * 23 ^ + Id6 * 23 ^ + Id7 * 23 ^ + Id8 * 23 ^ + Id9 * 23 ^ + Id10 * 23; + + for (int i = 0; i < (int)VertexAttributeDescriptionsCount; i++) + { + hash64 ^= VertexAttributeDescriptions[i].Binding * 23; + hash64 ^= (uint)VertexAttributeDescriptions[i].Format * 23; + hash64 ^= VertexAttributeDescriptions[i].Location * 23; + hash64 ^= VertexAttributeDescriptions[i].Offset * 23; + } + + for (int i = 0; i < (int)VertexBindingDescriptionsCount; i++) + { + hash64 ^= VertexBindingDescriptions[i].Binding * 23; + hash64 ^= (uint)VertexBindingDescriptions[i].InputRate * 23; + hash64 ^= VertexBindingDescriptions[i].Stride * 23; + } + + for (int i = 0; i < (int)ColorBlendAttachmentStateCount; i++) + { + hash64 ^= ColorBlendAttachmentState[i].BlendEnable * 23; + hash64 ^= (uint)ColorBlendAttachmentState[i].SrcColorBlendFactor * 23; + hash64 ^= (uint)ColorBlendAttachmentState[i].DstColorBlendFactor * 23; + hash64 ^= (uint)ColorBlendAttachmentState[i].ColorBlendOp * 23; + hash64 ^= (uint)ColorBlendAttachmentState[i].SrcAlphaBlendFactor * 23; + hash64 ^= (uint)ColorBlendAttachmentState[i].DstAlphaBlendFactor * 23; + hash64 ^= (uint)ColorBlendAttachmentState[i].AlphaBlendOp * 23; + hash64 ^= (uint)ColorBlendAttachmentState[i].ColorWriteMask * 23; + } + + for (int i = 0; i < (int)ColorBlendAttachmentStateCount; i++) + { + hash64 ^= (uint)AttachmentFormats[i] * 23; + } + + return (int)hash64 ^ ((int)(hash64 >> 32) * 17); + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/Queries/BufferedQuery.cs b/Ryujinx.Graphics.Vulkan/Queries/BufferedQuery.cs new file mode 100644 index 000000000..9efdf2675 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/Queries/BufferedQuery.cs @@ -0,0 +1,132 @@ +using Ryujinx.Common.Logging; +using Ryujinx.Graphics.GAL; +using Silk.NET.Vulkan; +using System; +using System.Runtime.InteropServices; +using System.Threading; + +namespace Ryujinx.Graphics.Vulkan.Queries +{ + class BufferedQuery : IDisposable + { + private const int MaxQueryRetries = 5000; + private const long DefaultValue = -1; + + private readonly Vk _api; + private readonly Device _device; + private readonly PipelineFull _pipeline; + + private QueryPool _queryPool; + + private readonly BufferHolder _buffer; + private readonly IntPtr _bufferMap; + private readonly CounterType _type; + + public unsafe BufferedQuery(VulkanGraphicsDevice gd, Device device, PipelineFull pipeline, CounterType type) + { + _api = gd.Api; + _device = device; + _pipeline = pipeline; + + var queryPoolCreateInfo = new QueryPoolCreateInfo() + { + SType = StructureType.QueryPoolCreateInfo, + QueryCount = 1, + QueryType = GetQueryType(type) + }; + + gd.Api.CreateQueryPool(device, queryPoolCreateInfo, null, out _queryPool).ThrowOnError(); + + var buffer = gd.BufferManager.Create(gd, sizeof(long), forConditionalRendering: true); + + _bufferMap = buffer.Map(0, sizeof(long)); + Marshal.WriteInt64(_bufferMap, -1L); + _buffer = buffer; + } + + private static QueryType GetQueryType(CounterType type) + { + return type switch + { + CounterType.SamplesPassed => QueryType.Occlusion, + CounterType.PrimitivesGenerated => QueryType.PipelineStatistics, + CounterType.TransformFeedbackPrimitivesWritten => QueryType.TransformFeedbackStreamExt, + _ => QueryType.Occlusion + }; + } + + public Auto GetBuffer() + { + return _buffer.GetBuffer(); + } + + public void Reset() + { + End(false); + Begin(); + } + + public void Begin() + { + _pipeline.BeginQuery(_queryPool); + } + + public unsafe void End(bool withResult) + { + _pipeline.EndQuery(_queryPool); + + if (withResult) + { + Marshal.WriteInt64(_bufferMap, -1L); + _pipeline.CopyQueryResults(_queryPool, _buffer); + // _pipeline.FlushCommandsImpl(); + } + } + + public bool TryGetResult(out long result) + { + result = Marshal.ReadInt64(_bufferMap); + + return result != DefaultValue; + } + + public long AwaitResult(AutoResetEvent wakeSignal = null) + { + long data = DefaultValue; + + if (wakeSignal == null) + { + while (data == DefaultValue) + { + data = Marshal.ReadInt64(_bufferMap); + } + } + else + { + int iterations = 0; + while (data == DefaultValue && iterations++ < MaxQueryRetries) + { + data = Marshal.ReadInt64(_bufferMap); + if (data == DefaultValue) + { + wakeSignal.WaitOne(1); + } + } + + if (iterations >= MaxQueryRetries) + { + Logger.Error?.Print(LogClass.Gpu, $"Error: Query result timed out. Took more than {MaxQueryRetries} tries."); + } + } + + return data; + } + + public unsafe void Dispose() + { + _buffer.Dispose(); + _api.DestroyQueryPool(_device, _queryPool, null); + _queryPool = default; + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/Queries/CounterQueue.cs b/Ryujinx.Graphics.Vulkan/Queries/CounterQueue.cs new file mode 100644 index 000000000..939bcd006 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/Queries/CounterQueue.cs @@ -0,0 +1,232 @@ +using Ryujinx.Graphics.GAL; +using Silk.NET.Vulkan; +using System; +using System.Collections.Generic; +using System.Threading; + +namespace Ryujinx.Graphics.Vulkan.Queries +{ + class CounterQueue : IDisposable + { + private const int QueryPoolInitialSize = 100; + + private readonly VulkanGraphicsDevice _gd; + private readonly Device _device; + private readonly PipelineFull _pipeline; + + public CounterType Type { get; } + public bool Disposed { get; private set; } + + private Queue _events = new Queue(); + private CounterQueueEvent _current; + + private ulong _accumulatedCounter; + + private object _lock = new object(); + + private Queue _queryPool; + private AutoResetEvent _queuedEvent = new AutoResetEvent(false); + private AutoResetEvent _wakeSignal = new AutoResetEvent(false); + + private Thread _consumerThread; + + internal CounterQueue(VulkanGraphicsDevice gd, Device device, PipelineFull pipeline, CounterType type) + { + _gd = gd; + _device = device; + _pipeline = pipeline; + + Type = type; + + _queryPool = new Queue(QueryPoolInitialSize); + for (int i = 0; i < QueryPoolInitialSize; i++) + { + _queryPool.Enqueue(new BufferedQuery(_gd, _device, _pipeline, type)); + } + + _current = new CounterQueueEvent(this, type, 0); + + _consumerThread = new Thread(EventConsumer); + _consumerThread.Start(); + } + + private void EventConsumer() + { + while (!Disposed) + { + CounterQueueEvent evt = null; + lock (_lock) + { + if (_events.Count > 0) + { + evt = _events.Dequeue(); + } + } + + if (evt == null) + { + _queuedEvent.WaitOne(); // No more events to go through, wait for more. + } + else + { + evt.TryConsume(ref _accumulatedCounter, true, _wakeSignal); + } + } + } + + internal BufferedQuery GetQueryObject() + { + // Creating/disposing query objects on a context we're sharing with will cause issues. + // So instead, make a lot of query objects on the main thread and reuse them. + + lock (_lock) + { + if (_queryPool.Count > 0) + { + BufferedQuery result = _queryPool.Dequeue(); + return result; + } + else + { + return new BufferedQuery(_gd, _device, _pipeline, Type); + } + } + } + + internal void ReturnQueryObject(BufferedQuery query) + { + lock (_lock) + { + _queryPool.Enqueue(query); + } + } + + public CounterQueueEvent QueueReport(EventHandler resultHandler, ulong lastDrawIndex, bool hostReserved) + { + CounterQueueEvent result; + ulong draws = lastDrawIndex - _current.DrawIndex; + + lock (_lock) + { + // A query's result only matters if more than one draw was performed during it. + // Otherwise, dummy it out and return 0 immediately. + + if (hostReserved) + { + // This counter event is guaranteed to be available for host conditional rendering. + _current.ReserveForHostAccess(); + } + + if (draws > 0) + { + _current.Complete(true); + _events.Enqueue(_current); + + _current.OnResult += resultHandler; + } + else + { + _current.Complete(false); + _current.Dispose(); + resultHandler(_current, 0); + } + + result = _current; + + _current = new CounterQueueEvent(this, Type, lastDrawIndex); + } + + _queuedEvent.Set(); + + return result; + } + + public void QueueReset() + { + lock (_lock) + { + _current.Clear(); + } + } + + public void Flush(bool blocking) + { + if (!blocking) + { + // Just wake the consumer thread - it will update the queries. + _wakeSignal.Set(); + return; + } + + lock (_lock) + { + // Tell the queue to process all events. + while (_events.Count > 0) + { + CounterQueueEvent flush = _events.Peek(); + if (!flush.TryConsume(ref _accumulatedCounter, true)) + { + return; // If not blocking, then return when we encounter an event that is not ready yet. + } + _events.Dequeue(); + } + } + } + + public void FlushTo(CounterQueueEvent evt) + { + lock (_lock) + { + if (evt.Disposed) + { + return; + } + + // Tell the queue to process all events up to this one. + while (_events.Count > 0) + { + CounterQueueEvent flush = _events.Peek(); + + if (flush.DrawIndex > evt.DrawIndex) + { + return; + } + + _events.Dequeue(); + flush.TryConsume(ref _accumulatedCounter, true); + + if (flush == evt) + { + return; + } + } + } + } + + public void Dispose() + { + lock (_lock) + { + while (_events.Count > 0) + { + CounterQueueEvent evt = _events.Dequeue(); + + evt.Dispose(); + } + + Disposed = true; + } + + _queuedEvent.Set(); + + _consumerThread.Join(); + + _current?.Dispose(); + + foreach (BufferedQuery query in _queryPool) + { + query.Dispose(); + } + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/Queries/CounterQueueEvent.cs b/Ryujinx.Graphics.Vulkan/Queries/CounterQueueEvent.cs new file mode 100644 index 000000000..9f8612939 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/Queries/CounterQueueEvent.cs @@ -0,0 +1,163 @@ +using Ryujinx.Graphics.GAL; +using System; +using System.Threading; + +namespace Ryujinx.Graphics.Vulkan.Queries +{ + class CounterQueueEvent : ICounterEvent + { + public event EventHandler OnResult; + + public CounterType Type { get; } + public bool ClearCounter { get; private set; } + + public bool Disposed { get; private set; } + public bool Invalid { get; set; } + + public ulong DrawIndex { get; } + + private CounterQueue _queue; + private BufferedQuery _counter; + + private bool _hostAccessReserved = false; + private int _refCount = 1; // Starts with a reference from the counter queue. + + private object _lock = new object(); + private ulong _result = ulong.MaxValue; + + public CounterQueueEvent(CounterQueue queue, CounterType type, ulong drawIndex) + { + _queue = queue; + + _counter = queue.GetQueryObject(); + Type = type; + + DrawIndex = drawIndex; + + _counter.Begin(); + } + + public Auto GetBuffer() + { + return _counter.GetBuffer(); + } + + internal void Clear() + { + _counter.Reset(); + ClearCounter = true; + } + + internal void Complete(bool withResult) + { + _counter.End(withResult); + } + + internal bool TryConsume(ref ulong result, bool block, AutoResetEvent wakeSignal = null) + { + lock (_lock) + { + if (Disposed) + { + return true; + } + + if (ClearCounter) + { + result = 0; + } + + long queryResult; + + if (block) + { + queryResult = _counter.AwaitResult(wakeSignal); + } + else + { + if (!_counter.TryGetResult(out queryResult)) + { + return false; + } + } + + result += (ulong)queryResult; + + _result = result; + + OnResult?.Invoke(this, result); + + Dispose(); // Return the our resources to the pool. + + return true; + } + } + + public void Flush() + { + if (Disposed) + { + return; + } + + // Tell the queue to process all events up to this one. + _queue.FlushTo(this); + } + + public void DecrementRefCount() + { + if (Interlocked.Decrement(ref _refCount) == 0) + { + DisposeInternal(); + } + } + + public bool ReserveForHostAccess() + { + if (_hostAccessReserved) + { + return true; + } + + if (IsValueAvailable()) + { + return false; + } + + if (Interlocked.Increment(ref _refCount) == 1) + { + Interlocked.Decrement(ref _refCount); + + return false; + } + + _hostAccessReserved = true; + + return true; + } + + public void ReleaseHostAccess() + { + _hostAccessReserved = false; + + DecrementRefCount(); + } + + private void DisposeInternal() + { + _queue.ReturnQueryObject(_counter); + } + + private bool IsValueAvailable() + { + return _result != ulong.MaxValue || _counter.TryGetResult(out _); + } + + public void Dispose() + { + Disposed = true; + + DecrementRefCount(); + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/Queries/Counters.cs b/Ryujinx.Graphics.Vulkan/Queries/Counters.cs new file mode 100644 index 000000000..79b56381e --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/Queries/Counters.cs @@ -0,0 +1,58 @@ +using Ryujinx.Graphics.GAL; +using Silk.NET.Vulkan; +using System; + +namespace Ryujinx.Graphics.Vulkan.Queries +{ + class Counters : IDisposable + { + private readonly CounterQueue[] _counterQueues; + private readonly PipelineFull _pipeline; + + public Counters(VulkanGraphicsDevice gd, Device device, PipelineFull pipeline) + { + _pipeline = pipeline; + + int count = Enum.GetNames(typeof(CounterType)).Length; + + _counterQueues = new CounterQueue[count]; + + for (int index = 0; index < count; index++) + { + CounterType type = (CounterType)index; + _counterQueues[index] = new CounterQueue(gd, device, pipeline, type); + } + } + + public CounterQueueEvent QueueReport(CounterType type, EventHandler resultHandler, bool hostReserved) + { + return _counterQueues[(int)type].QueueReport(resultHandler, _pipeline.DrawCount, hostReserved); + } + + public void QueueReset(CounterType type) + { + _counterQueues[(int)type].QueueReset(); + } + + public void Update() + { + foreach (var queue in _counterQueues) + { + queue.Flush(false); + } + } + + public void Flush(CounterType type) + { + _counterQueues[(int)type].Flush(true); + } + + public void Dispose() + { + foreach (var queue in _counterQueues) + { + queue.Dispose(); + } + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/Ryujinx.Graphics.Vulkan.csproj b/Ryujinx.Graphics.Vulkan/Ryujinx.Graphics.Vulkan.csproj new file mode 100644 index 000000000..8592362ee --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/Ryujinx.Graphics.Vulkan.csproj @@ -0,0 +1,38 @@ + + + + net6.0 + + + + true + + + + true + + + + + + + + + + + + + + + + + + + + + PreserveNewest + shaderc_shared.dll + + + + diff --git a/Ryujinx.Graphics.Vulkan/SamplerHolder.cs b/Ryujinx.Graphics.Vulkan/SamplerHolder.cs new file mode 100644 index 000000000..6d78eee68 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/SamplerHolder.cs @@ -0,0 +1,108 @@ +using Ryujinx.Graphics.GAL; +using Silk.NET.Vulkan; + +namespace Ryujinx.Graphics.Vulkan +{ + class SamplerHolder : ISampler + { + private readonly VulkanGraphicsDevice _gd; + private readonly Auto _sampler; + + public unsafe SamplerHolder(VulkanGraphicsDevice gd, Device device, GAL.SamplerCreateInfo info) + { + _gd = gd; + + gd.Samplers.Add(this); + + (Filter minFilter, SamplerMipmapMode mipFilter) = EnumConversion.Convert(info.MinFilter); + + var borderColor = GetConstrainedBorderColor(info.BorderColor, out var cantConstrain); + + var samplerCreateInfo = new Silk.NET.Vulkan.SamplerCreateInfo() + { + SType = StructureType.SamplerCreateInfo, + MagFilter = info.MagFilter.Convert(), + MinFilter = minFilter, + MipmapMode = mipFilter, + AddressModeU = info.AddressU.Convert(), + AddressModeV = info.AddressV.Convert(), + AddressModeW = info.AddressP.Convert(), + MipLodBias = info.MipLodBias, + AnisotropyEnable = info.MaxAnisotropy != 1f, + MaxAnisotropy = info.MaxAnisotropy, + CompareEnable = info.CompareMode == CompareMode.CompareRToTexture, + CompareOp = info.CompareOp.Convert(), + MinLod = info.MinLod, + MaxLod = info.MaxLod, + BorderColor = borderColor, + UnnormalizedCoordinates = false // TODO: Use unnormalized coordinates. + }; + + SamplerCustomBorderColorCreateInfoEXT customBorderColor; + + if (cantConstrain && gd.SupportsCustomBorderColor) + { + var color = new ClearColorValue( + info.BorderColor.Red, + info.BorderColor.Green, + info.BorderColor.Blue, + info.BorderColor.Alpha); + + customBorderColor = new SamplerCustomBorderColorCreateInfoEXT() + { + SType = StructureType.SamplerCustomBorderColorCreateInfoExt, + CustomBorderColor = color + }; + + samplerCreateInfo.PNext = &customBorderColor; + } + + gd.Api.CreateSampler(device, samplerCreateInfo, null, out var sampler).ThrowOnError(); + + _sampler = new Auto(new DisposableSampler(gd.Api, device, sampler)); + } + + private static BorderColor GetConstrainedBorderColor(ColorF arbitraryBorderColor, out bool cantConstrain) + { + float r = arbitraryBorderColor.Red; + float g = arbitraryBorderColor.Green; + float b = arbitraryBorderColor.Blue; + float a = arbitraryBorderColor.Alpha; + + if (r == 0f && g == 0f && b == 0f) + { + if (a == 1f) + { + cantConstrain = false; + return BorderColor.FloatOpaqueBlack; + } + else if (a == 0f) + { + cantConstrain = false; + return BorderColor.FloatTransparentBlack; + } + } + else if (r == 1f && g == 1f && b == 1f && a == 1f) + { + cantConstrain = false; + return BorderColor.FloatOpaqueWhite; + } + + cantConstrain = true; + return BorderColor.FloatOpaqueBlack; + } + + public Auto GetSampler() + { + return _sampler; + } + + public void Dispose() + { + if (_gd.Samplers.Remove(this)) + { + _sampler.Dispose(); + } + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/SemaphoreHolder.cs b/Ryujinx.Graphics.Vulkan/SemaphoreHolder.cs new file mode 100644 index 000000000..aa1b0eafe --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/SemaphoreHolder.cs @@ -0,0 +1,60 @@ +using Silk.NET.Vulkan; +using System; +using System.Threading; +using VkSemaphore = Silk.NET.Vulkan.Semaphore; + +namespace Ryujinx.Graphics.Vulkan +{ + class SemaphoreHolder : IDisposable + { + private readonly Vk _api; + private readonly Device _device; + private VkSemaphore _semaphore; + private int _referenceCount; + public bool _disposed; + + public unsafe SemaphoreHolder(Vk api, Device device) + { + _api = api; + _device = device; + + var semaphoreCreateInfo = new SemaphoreCreateInfo() + { + SType = StructureType.SemaphoreCreateInfo + }; + + api.CreateSemaphore(device, in semaphoreCreateInfo, null, out _semaphore).ThrowOnError(); + + _referenceCount = 1; + } + + public VkSemaphore GetUnsafe() + { + return _semaphore; + } + + public VkSemaphore Get() + { + Interlocked.Increment(ref _referenceCount); + return _semaphore; + } + + public unsafe void Put() + { + if (Interlocked.Decrement(ref _referenceCount) == 0) + { + _api.DestroySemaphore(_device, _semaphore, null); + _semaphore = default; + } + } + + public void Dispose() + { + if (!_disposed) + { + Put(); + _disposed = true; + } + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/Shader.cs b/Ryujinx.Graphics.Vulkan/Shader.cs new file mode 100644 index 000000000..93264b987 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/Shader.cs @@ -0,0 +1,157 @@ +using Ryujinx.Common.Logging; +using Ryujinx.Graphics.GAL; +using Ryujinx.Graphics.Shader; +using shaderc; +using Silk.NET.Vulkan; +using System; +using System.IO; +using System.Runtime.InteropServices; + +namespace Ryujinx.Graphics.Vulkan +{ + class Shader : IShader + { + private readonly Vk _api; + private readonly Device _device; + private readonly ShaderModule _module; + private readonly ShaderStageFlags _stage; + + private IntPtr _entryPointName; + + public ShaderStageFlags StageFlags => _stage; + + public ShaderBindings Bindings { get; } + + public bool Valid { get; } + + public unsafe Shader(Vk api, Device device, ShaderStage stage, ShaderBindings bindings, string glsl) + { + _api = api; + _device = device; + Bindings = bindings; + + glsl = glsl.Replace("gl_VertexID", "(gl_VertexIndex - gl_BaseVertex)"); + glsl = glsl.Replace("gl_InstanceID", "(gl_InstanceIndex - gl_BaseInstance)"); + + // System.Console.WriteLine(glsl); + + Options options = new Options(false) + { + SourceLanguage = SourceLanguage.Glsl, + TargetSpirVVersion = new SpirVVersion(1, 5) + }; + options.SetTargetEnvironment(TargetEnvironment.Vulkan, EnvironmentVersion.Vulkan_1_2); + Compiler compiler = new Compiler(options); + var scr = compiler.Compile(glsl, "Ryu", GetShaderCShaderStage(stage)); + + if (scr.Status != Status.Success) + { + Logger.Error?.Print(LogClass.Gpu, $"Shader compilation error: {scr.Status} {scr.ErrorMessage}"); + return; + } + + Valid = true; + + var spirvBytes = new Span((void*)scr.CodePointer, (int)scr.CodeLength); + + uint[] code = new uint[(scr.CodeLength + 3) / 4]; + + spirvBytes.CopyTo(MemoryMarshal.Cast(new Span(code)).Slice(0, (int)scr.CodeLength)); + + fixed (uint* pCode = code) + { + var shaderModuleCreateInfo = new ShaderModuleCreateInfo() + { + SType = StructureType.ShaderModuleCreateInfo, + CodeSize = scr.CodeLength, + PCode = pCode + }; + + api.CreateShaderModule(device, shaderModuleCreateInfo, null, out _module).ThrowOnError(); + } + + _stage = stage.Convert(); + _entryPointName = Marshal.StringToHGlobalAnsi("main"); + } + + public unsafe Shader(Vk api, Device device, ShaderStage stage, ShaderBindings bindings, byte[] spirv) + { + _api = api; + _device = device; + Bindings = bindings; + + Valid = true; + + fixed (byte* pCode = spirv) + { + var shaderModuleCreateInfo = new ShaderModuleCreateInfo() + { + SType = StructureType.ShaderModuleCreateInfo, + CodeSize = (uint)spirv.Length, + PCode = (uint*)pCode + }; + + api.CreateShaderModule(device, shaderModuleCreateInfo, null, out _module).ThrowOnError(); + } + + _stage = stage.Convert(); + _entryPointName = Marshal.StringToHGlobalAnsi("main"); + } + + private static uint[] LoadShaderData(string filePath, out int codeSize) + { + var fileBytes = File.ReadAllBytes(filePath); + var shaderData = new uint[(int)Math.Ceiling(fileBytes.Length / 4f)]; + + System.Buffer.BlockCopy(fileBytes, 0, shaderData, 0, fileBytes.Length); + + codeSize = fileBytes.Length; + + return shaderData; + } + + private static ShaderKind GetShaderCShaderStage(ShaderStage stage) + { + switch (stage) + { + case ShaderStage.Vertex: + return ShaderKind.GlslVertexShader; + case ShaderStage.Geometry: + return ShaderKind.GlslGeometryShader; + case ShaderStage.TessellationControl: + return ShaderKind.GlslTessControlShader; + case ShaderStage.TessellationEvaluation: + return ShaderKind.GlslTessEvaluationShader; + case ShaderStage.Fragment: + return ShaderKind.GlslFragmentShader; + case ShaderStage.Compute: + return ShaderKind.GlslComputeShader; + }; + + Logger.Debug?.Print(LogClass.Gpu, $"Invalid {nameof(ShaderStage)} enum value: {stage}."); + + return ShaderKind.GlslVertexShader; + } + + public unsafe PipelineShaderStageCreateInfo GetInfo() + { + return new PipelineShaderStageCreateInfo() + { + SType = StructureType.PipelineShaderStageCreateInfo, + Stage = _stage, + Module = _module, + PName = (byte*)_entryPointName + }; + } + + public unsafe void Dispose() + { + if (_entryPointName != IntPtr.Zero) + { + _api.DestroyShaderModule(_device, _module, null); + Marshal.FreeHGlobal(_entryPointName); + _entryPointName = IntPtr.Zero; + } + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/ShaderCollection.cs b/Ryujinx.Graphics.Vulkan/ShaderCollection.cs new file mode 100644 index 000000000..7af1c2c26 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/ShaderCollection.cs @@ -0,0 +1,185 @@ +using Ryujinx.Graphics.GAL; +using Silk.NET.Vulkan; +using System; +using System.Collections.Generic; +using System.Linq; + +namespace Ryujinx.Graphics.Vulkan +{ + class ShaderCollection : IProgram + { + private readonly PipelineShaderStageCreateInfo[] _infos; + private readonly IShader[] _shaders; + + private readonly PipelineLayoutCacheEntry _plce; + + public PipelineLayout PipelineLayout => _plce.PipelineLayout; + + public uint Stages { get; } + + public int[][][] Bindings { get; } + + public ProgramLinkStatus LinkStatus { get; } + + private HashTableSlim> _graphicsPipelineCache; + private Auto _computePipeline; + + private VulkanGraphicsDevice _gd; + private Device _device; + + public ShaderCollection(VulkanGraphicsDevice gd, Device device, IShader[] shaders) + { + _gd = gd; + _device = device; + _shaders = shaders; + + gd.Shaders.Add(this); + + var internalShaders = new Shader[shaders.Length]; + + _infos = new PipelineShaderStageCreateInfo[shaders.Length]; + + LinkStatus = ProgramLinkStatus.Success; + + uint stages = 0; + + for (int i = 0; i < shaders.Length; i++) + { + var shader = (Shader)shaders[i]; + if (!shader.Valid) + { + LinkStatus = ProgramLinkStatus.Failure; + } + + stages |= 1u << shader.StageFlags switch + { + ShaderStageFlags.ShaderStageFragmentBit => 1, + ShaderStageFlags.ShaderStageGeometryBit => 2, + ShaderStageFlags.ShaderStageTessellationControlBit => 3, + ShaderStageFlags.ShaderStageTessellationEvaluationBit => 4, + _ => 0 + }; + + internalShaders[i] = shader; + + _infos[i] = internalShaders[i].GetInfo(); + } + + _plce = gd.PipelineLayoutCache.GetOrCreate(gd, device, stages); + + Stages = stages; + + int[][] GrabAll(Func> selector) + { + bool hasAny = false; + int[][] bindings = new int[internalShaders.Length][]; + + for (int i = 0; i < internalShaders.Length; i++) + { + var collection = selector(internalShaders[i].Bindings); + hasAny |= collection.Count != 0; + bindings[i] = collection.ToArray(); + } + + return hasAny ? bindings : Array.Empty(); + } + + Bindings = new[] + { + GrabAll(x => x.UniformBufferBindings), + GrabAll(x => x.StorageBufferBindings), + GrabAll(x => x.TextureBindings), + GrabAll(x => x.ImageBindings), + GrabAll(x => x.BufferTextureBindings), + GrabAll(x => x.BufferImageBindings) + }; + } + + public PipelineShaderStageCreateInfo[] GetInfos() + { + return _infos; + } + + public ProgramLinkStatus CheckProgramLink(bool blocking) + { + return LinkStatus; + } + + public byte[] GetBinary() + { + throw new System.NotImplementedException(); + } + + public void AddComputePipeline(Auto pipeline) + { + _computePipeline = pipeline; + } + + public void RemoveComputePipeline() + { + _computePipeline = null; + } + + public void AddGraphicsPipeline(ref PipelineUid key, Auto pipeline) + { + (_graphicsPipelineCache ??= new()).Add(ref key, pipeline); + } + + public bool TryGetComputePipeline(out Auto pipeline) + { + pipeline = _computePipeline; + return pipeline != null; + } + + public bool TryGetGraphicsPipeline(ref PipelineUid key, out Auto pipeline) + { + if (_graphicsPipelineCache == null) + { + pipeline = default; + return false; + } + + return _graphicsPipelineCache.TryGetValue(ref key, out pipeline); + } + + public Auto GetNewDescriptorSetCollection( + VulkanGraphicsDevice gd, + int commandBufferIndex, + int setIndex, + out bool isNew) + { + return _plce.GetNewDescriptorSetCollection(gd, commandBufferIndex, setIndex, out isNew); + } + + protected virtual unsafe void Dispose(bool disposing) + { + if (disposing) + { + if (!_gd.Shaders.Remove(this)) + { + return; + } + + for (int i = 0; i < _shaders.Length; i++) + { + _shaders[i].Dispose(); + } + + if (_graphicsPipelineCache != null) + { + foreach (Auto pipeline in _graphicsPipelineCache.Values) + { + pipeline.Dispose(); + } + } + + _computePipeline?.Dispose(); + } + } + + public void Dispose() + { + Dispose(true); + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/StagingBuffer.cs b/Ryujinx.Graphics.Vulkan/StagingBuffer.cs new file mode 100644 index 000000000..0942b381a --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/StagingBuffer.cs @@ -0,0 +1,112 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; + +namespace Ryujinx.Graphics.Vulkan +{ + class StagingBuffer : IDisposable + { + private const int BufferSize = 16 * 1024 * 1024; + + private int _freeOffset; + private int _freeSize; + + private readonly VulkanGraphicsDevice _gd; + private readonly BufferHolder _buffer; + + private struct PendingCopy + { + public FenceHolder Fence { get; } + public int Size { get; } + + public PendingCopy(FenceHolder fence, int size) + { + Fence = fence; + Size = size; + fence.Get(); + } + } + + private readonly Queue _pendingCopies; + + public StagingBuffer(VulkanGraphicsDevice gd, BufferManager bufferManager) + { + _gd = gd; + _buffer = bufferManager.Create(gd, BufferSize); + _pendingCopies = new Queue(); + _freeSize = BufferSize; + } + + public unsafe bool TryPushData(CommandBufferScoped cbs, Action endRenderPass, BufferHolder dst, int dstOffset, ReadOnlySpan data) + { + if (data.Length > BufferSize) + { + return false; + } + + if (_freeSize < data.Length) + { + FreeCompleted(); + + if (_freeSize < data.Length) + { + return false; + } + } + + endRenderPass(); + + var srcBuffer = _buffer.GetBuffer(); + var dstBuffer = dst.GetBuffer(); + + int offset = _freeOffset; + int capacity = BufferSize - offset; + if (capacity < data.Length) + { + _buffer.SetDataUnchecked(offset, data.Slice(0, capacity)); + _buffer.SetDataUnchecked(0, data.Slice(capacity)); + + BufferHolder.Copy(_gd, cbs, srcBuffer, dstBuffer, offset, dstOffset, capacity); + BufferHolder.Copy(_gd, cbs, srcBuffer, dstBuffer, 0, dstOffset + capacity, data.Length - capacity); + } + else + { + _buffer.SetDataUnchecked(offset, data); + + BufferHolder.Copy(_gd, cbs, srcBuffer, dstBuffer, offset, dstOffset, data.Length); + } + + _freeOffset = (offset + data.Length) & (BufferSize - 1); + _freeSize -= data.Length; + Debug.Assert(_freeSize >= 0); + + _pendingCopies.Enqueue(new PendingCopy(cbs.GetFence(), data.Length)); + + return true; + } + + private void FreeCompleted() + { + while (_pendingCopies.TryPeek(out var pc) && pc.Fence.IsSignaled()) + { + var dequeued = _pendingCopies.Dequeue(); + Debug.Assert(dequeued.Fence == pc.Fence); + _freeSize += pc.Size; + pc.Fence.Put(); + } + } + + protected virtual void Dispose(bool disposing) + { + if (disposing) + { + _buffer.Dispose(); + } + } + + public void Dispose() + { + Dispose(true); + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/SyncManager.cs b/Ryujinx.Graphics.Vulkan/SyncManager.cs new file mode 100644 index 000000000..a0b2e7df7 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/SyncManager.cs @@ -0,0 +1,122 @@ +using Ryujinx.Common.Logging; +using Silk.NET.Vulkan; +using System.Collections.Generic; +using System.Linq; + +namespace Ryujinx.Graphics.Vulkan +{ + class SyncManager + { + private class SyncHandle + { + public ulong ID; + public MultiFenceHolder Waitable; + } + + private ulong _firstHandle = 0; + + private readonly VulkanGraphicsDevice _gd; + private readonly Device _device; + private List _handles; + + public SyncManager(VulkanGraphicsDevice gd, Device device) + { + _gd = gd; + _device = device; + _handles = new List(); + } + + public void Create(ulong id) + { + MultiFenceHolder waitable = new MultiFenceHolder(); + + _gd.FlushAllCommands(); + _gd.CommandBufferPool.AddWaitable(waitable); + + SyncHandle handle = new SyncHandle + { + ID = id, + Waitable = waitable + }; + + lock (_handles) + { + _handles.Add(handle); + } + } + + public void Wait(ulong id) + { + SyncHandle result = null; + + lock (_handles) + { + if ((long)(_firstHandle - id) > 0) + { + return; // The handle has already been signalled or deleted. + } + + foreach (SyncHandle handle in _handles) + { + if (handle.ID == id) + { + result = handle; + break; + } + } + } + + if (result != null) + { + lock (result) + { + if (result.Waitable == null) + { + return; + } + + bool signaled = result.Waitable.WaitForFences(_gd.Api, _device, 1000000000); + if (!signaled) + { + Logger.Error?.PrintMsg(LogClass.Gpu, $"GL Sync Object {result.ID} failed to signal within 1000ms. Continuing..."); + } + } + } + } + + public void Cleanup() + { + // Iterate through handles and remove any that have already been signalled. + + while (true) + { + SyncHandle first = null; + lock (_handles) + { + first = _handles.FirstOrDefault(); + } + + if (first == null) break; + + bool signaled = first.Waitable.WaitForFences(_gd.Api, _device, 0); + if (signaled) + { + // Delete the sync object. + lock (_handles) + { + lock (first) + { + _firstHandle = first.ID + 1; + _handles.RemoveAt(0); + first.Waitable = null; + } + } + } else + { + // This sync handle and any following have not been reached yet. + break; + } + } + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/TextureBuffer.cs b/Ryujinx.Graphics.Vulkan/TextureBuffer.cs new file mode 100644 index 000000000..cc1cc3f1f --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/TextureBuffer.cs @@ -0,0 +1,115 @@ +using Ryujinx.Graphics.GAL; +using Silk.NET.Vulkan; +using System; +using VkFormat = Silk.NET.Vulkan.Format; + +namespace Ryujinx.Graphics.Vulkan +{ + class TextureBuffer : ITexture + { + private readonly VulkanGraphicsDevice _gd; + + private BufferHandle _bufferHandle; + private int _offset; + private int _size; + private Auto _bufferView; + + public int Width { get; } + public int Height { get; } + + public VkFormat VkFormat { get; } + + public float ScaleFactor { get; } + + public TextureBuffer(VulkanGraphicsDevice gd, TextureCreateInfo info, float scale) + { + _gd = gd; + Width = info.Width; + Height = info.Height; + VkFormat = FormatTable.GetFormat(info.Format); + ScaleFactor = scale; + + gd.Textures.Add(this); + } + + public void CopyTo(ITexture destination, int firstLayer, int firstLevel) + { + throw new NotSupportedException(); + } + + public void CopyTo(ITexture destination, int srcLayer, int dstLayer, int srcLevel, int dstLevel) + { + throw new NotSupportedException(); + } + + public void CopyTo(ITexture destination, Extents2D srcRegion, Extents2D dstRegion, bool linearFilter) + { + throw new NotSupportedException(); + } + + public ITexture CreateView(TextureCreateInfo info, int firstLayer, int firstLevel) + { + throw new NotSupportedException(); + } + + public ReadOnlySpan GetData() + { + return _gd.GetBufferData(_bufferHandle, _offset, _size); + } + + public ReadOnlySpan GetData(int layer, int level) + { + return GetData(); + } + + public void Release() + { + if (_gd.Textures.Remove(this)) + { + ReleaseImpl(); + } + } + + private void ReleaseImpl() + { + _bufferView?.Dispose(); + _bufferView = null; + } + + public void SetData(ReadOnlySpan data) + { + _gd.SetBufferData(_bufferHandle, _offset, data); + } + + public void SetData(ReadOnlySpan data, int layer, int level) + { + throw new NotSupportedException(); + } + + public void SetStorage(BufferRange buffer) + { + if (_bufferHandle == buffer.Handle && + _offset == buffer.Offset && + _size == buffer.Size) + { + return; + } + + _bufferHandle = buffer.Handle; + _offset = buffer.Offset; + _size = buffer.Size; + + ReleaseImpl();; + } + + public BufferView GetBufferView(CommandBufferScoped cbs) + { + if (_bufferView == null) + { + _bufferView = _gd.BufferManager.CreateView(_bufferHandle, VkFormat, _offset, _size); + } + + return _bufferView?.Get(cbs, _offset, _size).Value ?? default; + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/TextureCopy.cs b/Ryujinx.Graphics.Vulkan/TextureCopy.cs new file mode 100644 index 000000000..fb7d82c33 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/TextureCopy.cs @@ -0,0 +1,275 @@ +using Ryujinx.Common; +using Ryujinx.Graphics.GAL; +using Silk.NET.Vulkan; +using System; +using System.Numerics; + +namespace Ryujinx.Graphics.Vulkan +{ + static class TextureCopy + { + public static void Blit( + Vk api, + CommandBuffer commandBuffer, + Image srcImage, + Image dstImage, + TextureCreateInfo srcInfo, + TextureCreateInfo dstInfo, + Extents2D srcRegion, + Extents2D dstRegion, + int srcLayer, + int dstLayer, + int srcLevel, + int dstLevel, + bool linearFilter, + ImageAspectFlags srcAspectFlags = 0, + ImageAspectFlags dstAspectFlags = 0) + { + static (Offset3D, Offset3D) ExtentsToOffset3D(Extents2D extents, int width, int height) + { + static int Clamp(int value, int max) + { + return Math.Clamp(value, 0, max); + } + + var xy1 = new Offset3D(Clamp(extents.X1, width), Clamp(extents.Y1, height), 0); + var xy2 = new Offset3D(Clamp(extents.X2, width), Clamp(extents.Y2, height), 1); + + return (xy1, xy2); + } + + if (srcAspectFlags == 0) + { + srcAspectFlags = srcInfo.Format.ConvertAspectFlags(); + } + + if (dstAspectFlags == 0) + { + dstAspectFlags = dstInfo.Format.ConvertAspectFlags(); + } + + var srcSl = new ImageSubresourceLayers(srcAspectFlags, (uint)srcLevel, (uint)srcLayer, 1); + var dstSl = new ImageSubresourceLayers(dstAspectFlags, (uint)dstLevel, (uint)dstLayer, 1); + + var srcOffsets = new ImageBlit.SrcOffsetsBuffer(); + var dstOffsets = new ImageBlit.DstOffsetsBuffer(); + + (srcOffsets.Element0, srcOffsets.Element1) = ExtentsToOffset3D(srcRegion, srcInfo.Width, srcInfo.Height); + (dstOffsets.Element0, dstOffsets.Element1) = ExtentsToOffset3D(dstRegion, dstInfo.Width, dstInfo.Height); + + var region = new ImageBlit() + { + SrcSubresource = srcSl, + SrcOffsets = srcOffsets, + DstSubresource = dstSl, + DstOffsets = dstOffsets + }; + + var filter = linearFilter && !dstInfo.Format.IsDepthOrStencil() ? Filter.Linear : Filter.Nearest; + + api.CmdBlitImage(commandBuffer, srcImage, ImageLayout.General, dstImage, ImageLayout.General, 1, region, filter); + } + + public static void Copy( + Vk api, + CommandBuffer commandBuffer, + Image srcImage, + Image dstImage, + TextureCreateInfo srcInfo, + TextureCreateInfo dstInfo, + int srcViewLayer, + int dstViewLayer, + int srcViewLevel, + int dstViewLevel, + int srcLayer, + int dstLayer, + int srcLevel, + int dstLevel) + { + int srcDepth = srcInfo.GetDepthOrLayers(); + int srcLevels = srcInfo.Levels; + + int dstDepth = dstInfo.GetDepthOrLayers(); + int dstLevels = dstInfo.Levels; + + if (dstInfo.Target == Target.Texture3D) + { + dstDepth = Math.Max(1, dstDepth >> dstLevel); + } + + int depth = Math.Min(srcDepth, dstDepth); + int levels = Math.Min(srcLevels, dstLevels); + + Copy( + api, + commandBuffer, + srcImage, + dstImage, + srcInfo, + dstInfo, + srcViewLayer, + dstViewLayer, + srcViewLevel, + dstViewLevel, + srcLayer, + dstLayer, + srcLevel, + dstLevel, + depth, + levels); + } + + private static int ClampLevels(TextureCreateInfo info, int levels) + { + int width = info.Width; + int height = info.Height; + int depth = info.Target == Target.Texture3D ? info.Depth : 1; + + int maxLevels = 1 + BitOperations.Log2((uint)Math.Max(Math.Max(width, height), depth)); + + if (levels > maxLevels) + { + levels = maxLevels; + } + + return levels; + } + + public static void Copy( + Vk api, + CommandBuffer commandBuffer, + Image srcImage, + Image dstImage, + TextureCreateInfo srcInfo, + TextureCreateInfo dstInfo, + int srcViewLayer, + int dstViewLayer, + int srcViewLevel, + int dstViewLevel, + int srcDepthOrLayer, + int dstDepthOrLayer, + int srcLevel, + int dstLevel, + int depthOrLayers, + int levels) + { + int srcZ; + int srcLayer; + int srcDepth; + int srcLayers; + + if (srcInfo.Target == Target.Texture3D) + { + srcZ = srcDepthOrLayer; + srcLayer = 0; + srcDepth = depthOrLayers; + srcLayers = 1; + } + else + { + srcZ = 0; + srcLayer = srcDepthOrLayer; + srcDepth = 1; + srcLayers = depthOrLayers; + } + + int dstZ; + int dstLayer; + int dstDepth; + int dstLayers; + + if (dstInfo.Target == Target.Texture3D) + { + dstZ = dstDepthOrLayer; + dstLayer = 0; + dstDepth = depthOrLayers; + dstLayers = 1; + } + else + { + dstZ = 0; + dstLayer = dstDepthOrLayer; + dstDepth = 1; + dstLayers = depthOrLayers; + } + + int srcWidth = srcInfo.Width; + int srcHeight = srcInfo.Height; + + int dstWidth = dstInfo.Width; + int dstHeight = dstInfo.Height; + + srcWidth = Math.Max(1, srcWidth >> srcLevel); + srcHeight = Math.Max(1, srcHeight >> srcLevel); + + dstWidth = Math.Max(1, dstWidth >> dstLevel); + dstHeight = Math.Max(1, dstHeight >> dstLevel); + + int blockWidth = 1; + int blockHeight = 1; + bool sizeInBlocks = false; + + // When copying from a compressed to a non-compressed format, + // the non-compressed texture will have the size of the texture + // in blocks (not in texels), so we must adjust that size to + // match the size in texels of the compressed texture. + if (!srcInfo.IsCompressed && dstInfo.IsCompressed) + { + srcWidth *= dstInfo.BlockWidth; + srcHeight *= dstInfo.BlockHeight; + blockWidth = dstInfo.BlockWidth; + blockHeight = dstInfo.BlockHeight; + + sizeInBlocks = true; + } + else if (srcInfo.IsCompressed && !dstInfo.IsCompressed) + { + dstWidth *= srcInfo.BlockWidth; + dstHeight *= srcInfo.BlockHeight; + blockWidth = srcInfo.BlockWidth; + blockHeight = srcInfo.BlockHeight; + } + + int width = Math.Min(srcWidth, dstWidth); + int height = Math.Min(srcHeight, dstHeight); + + for (int level = 0; level < levels; level++) + { + // Stop copy if we are already out of the levels range. + if (level >= srcInfo.Levels || dstLevel + level >= dstInfo.Levels) + { + break; + } + + var srcSl = new ImageSubresourceLayers( + srcInfo.Format.ConvertAspectFlags(), + (uint)(srcViewLevel + srcLevel + level), + (uint)(srcViewLayer + srcLayer), + (uint)srcLayers); + + var dstSl = new ImageSubresourceLayers( + dstInfo.Format.ConvertAspectFlags(), + (uint)(dstViewLevel + dstLevel + level), + (uint)(dstViewLayer + dstLayer), + (uint)dstLayers); + + int copyWidth = sizeInBlocks ? BitUtils.DivRoundUp(width, blockWidth) : width; + int copyHeight = sizeInBlocks ? BitUtils.DivRoundUp(height, blockHeight) : height; + + var extent = new Extent3D((uint)copyWidth, (uint)copyHeight, (uint)srcDepth); + + var region = new ImageCopy(srcSl, new Offset3D(0, 0, srcZ), dstSl, new Offset3D(0, 0, dstZ), extent); + + api.CmdCopyImage(commandBuffer, srcImage, ImageLayout.General, dstImage, ImageLayout.General, 1, region); + + width = Math.Max(1, width >> 1); + height = Math.Max(1, height >> 1); + + if (srcInfo.Target == Target.Texture3D) + { + srcDepth = Math.Max(1, srcDepth >> 1); + } + } + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/TextureStorage.cs b/Ryujinx.Graphics.Vulkan/TextureStorage.cs new file mode 100644 index 000000000..7d1e749b2 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/TextureStorage.cs @@ -0,0 +1,282 @@ +using Ryujinx.Graphics.GAL; +using Silk.NET.Vulkan; +using System; +using System.Collections.Generic; +using System.Numerics; +using VkFormat = Silk.NET.Vulkan.Format; + +namespace Ryujinx.Graphics.Vulkan +{ + class TextureStorage : IDisposable + { + private const ImageUsageFlags DefaultUsageFlags = + ImageUsageFlags.ImageUsageSampledBit | + ImageUsageFlags.ImageUsageTransferSrcBit | + ImageUsageFlags.ImageUsageTransferDstBit; + + public const AccessFlags DefaultAccessMask = + AccessFlags.AccessShaderReadBit | + AccessFlags.AccessShaderWriteBit | + AccessFlags.AccessColorAttachmentReadBit | + AccessFlags.AccessColorAttachmentWriteBit | + AccessFlags.AccessDepthStencilAttachmentReadBit | + AccessFlags.AccessDepthStencilAttachmentWriteBit | + AccessFlags.AccessTransferReadBit | + AccessFlags.AccessTransferWriteBit; + + private readonly VulkanGraphicsDevice _gd; + + private readonly Device _device; + + private readonly TextureCreateInfo _info; + + private readonly Image _image; + private readonly Auto _imageAuto; + private readonly Auto _allocationAuto; + + private Dictionary _aliasedStorages; + + public VkFormat VkFormat { get; } + public float ScaleFactor { get; } + + public unsafe TextureStorage( + VulkanGraphicsDevice gd, + PhysicalDevice physicalDevice, + Device device, + TextureCreateInfo info, + float scaleFactor, + Auto foreignAllocation = null) + { + _gd = gd; + _device = device; + _info = info; + ScaleFactor = scaleFactor; + + var format = _gd.FormatCapabilities.ConvertToVkFormat(info.Format); + var levels = (uint)info.Levels; + var layers = (uint)info.GetLayers(); + var depth = (uint)(info.Target == Target.Texture3D ? info.Depth : 1); + + VkFormat = format; + + var type = info.Target.Convert(); + + var extent = new Extent3D((uint)info.Width, (uint)info.Height, depth); + + var sampleCountFlags = ConvertToSampleCountFlags((uint)info.Samples); + + var usage = DefaultUsageFlags; + + if (info.Format.IsDepthOrStencil()) + { + usage |= ImageUsageFlags.ImageUsageDepthStencilAttachmentBit; + } + else if (info.Format.IsRtColorCompatible()) + { + usage |= ImageUsageFlags.ImageUsageColorAttachmentBit; + } + + if (info.Format.IsImageCompatible()) + { + usage |= ImageUsageFlags.ImageUsageStorageBit; + } + + var flags = ImageCreateFlags.ImageCreateMutableFormatBit; + + if (info.BlockWidth != 1 || info.BlockHeight != 1) + { + flags |= ImageCreateFlags.ImageCreateBlockTexelViewCompatibleBit; + } + + bool cubeCompatible = info.Width == info.Height && layers >= 6; + + if (type == ImageType.ImageType2D && cubeCompatible) + { + flags |= ImageCreateFlags.ImageCreateCubeCompatibleBit; + } + + if (type == ImageType.ImageType3D) + { + flags |= ImageCreateFlags.ImageCreate2DArrayCompatibleBit; + } + + // System.Console.WriteLine("create image " + type + " " + format + " " + levels + " " + layers + " " + usage + " " + flags); + + var imageCreateInfo = new ImageCreateInfo() + { + SType = StructureType.ImageCreateInfo, + ImageType = type, + Format = format, + Extent = extent, + MipLevels = levels, + ArrayLayers = layers, + Samples = sampleCountFlags, + Tiling = ImageTiling.Optimal, + Usage = usage, + SharingMode = SharingMode.Exclusive, + InitialLayout = ImageLayout.Undefined, + Flags = flags + }; + + gd.Api.CreateImage(device, imageCreateInfo, null, out _image).ThrowOnError(); + + if (foreignAllocation == null) + { + gd.Api.GetImageMemoryRequirements(device, _image, out var requirements); + var allocation = gd.MemoryAllocator.AllocateDeviceMemory(physicalDevice, requirements); + + if (allocation.Memory.Handle == 0UL) + { + gd.Api.DestroyImage(device, _image, null); + throw new Exception("Image initialization failed."); + } + + gd.Api.BindImageMemory(device, _image, allocation.Memory, allocation.Offset).ThrowOnError(); + + _allocationAuto = new Auto(allocation); + _imageAuto = new Auto(new DisposableImage(_gd.Api, device, _image), null, _allocationAuto); + + InitialTransition(ImageLayout.Undefined, ImageLayout.General); + } + else + { + var allocation = foreignAllocation.GetUnsafe(); + + gd.Api.BindImageMemory(device, _image, allocation.Memory, allocation.Offset).ThrowOnError(); + + _imageAuto = new Auto(new DisposableImage(_gd.Api, device, _image)); + + InitialTransition(ImageLayout.Preinitialized, ImageLayout.General); + } + } + + public TextureStorage CreateAliasedColorForDepthStorageUnsafe(GAL.Format format) + { + var colorFormat = format switch + { + GAL.Format.S8Uint => GAL.Format.R8Unorm, + GAL.Format.D16Unorm => GAL.Format.R16Unorm, + GAL.Format.S8UintD24Unorm => GAL.Format.R8G8B8A8Unorm, + GAL.Format.D32Float => GAL.Format.R32Float, + GAL.Format.D24UnormS8Uint => GAL.Format.R8G8B8A8Unorm, + GAL.Format.D32FloatS8Uint => GAL.Format.R32G32Float, + _ => throw new ArgumentException($"\"{format}\" is not a supported depth or stencil format.") + }; + + return CreateAliasedStorageUnsafe(colorFormat); + } + + public TextureStorage CreateAliasedStorageUnsafe(GAL.Format format) + { + if (_aliasedStorages == null || !_aliasedStorages.TryGetValue(format, out var storage)) + { + _aliasedStorages ??= new Dictionary(); + + var info = NewCreateInfoWith(_info, format, _info.BytesPerPixel); + + storage = new TextureStorage(_gd, default, _device, info, ScaleFactor, _allocationAuto); + + _aliasedStorages.Add(format, storage); + } + + return storage; + } + + public static TextureCreateInfo NewCreateInfoWith(TextureCreateInfo info, GAL.Format format, int bytesPerPixel) + { + return new TextureCreateInfo( + info.Width, + info.Height, + info.Depth, + info.Levels, + info.Samples, + info.BlockWidth, + info.BlockHeight, + bytesPerPixel, + format, + info.DepthStencilMode, + info.Target, + info.SwizzleR, + info.SwizzleG, + info.SwizzleB, + info.SwizzleA); + } + + public Auto GetImage() + { + return _imageAuto; + } + + public Image GetImageForViewCreation() + { + return _image; + } + + private unsafe void InitialTransition(ImageLayout srcLayout, ImageLayout dstLayout) + { + using var cbs = _gd.CommandBufferPool.Rent(); + + var aspectFlags = _info.Format.ConvertAspectFlags(); + + var subresourceRange = new ImageSubresourceRange(aspectFlags, 0, (uint)_info.Levels, 0, (uint)_info.GetLayers()); + + var barrier = new ImageMemoryBarrier() + { + SType = StructureType.ImageMemoryBarrier, + SrcAccessMask = 0, + DstAccessMask = DefaultAccessMask, + OldLayout = srcLayout, + NewLayout = dstLayout, + SrcQueueFamilyIndex = Vk.QueueFamilyIgnored, + DstQueueFamilyIndex = Vk.QueueFamilyIgnored, + Image = _imageAuto.Get(cbs).Value, + SubresourceRange = subresourceRange + }; + + _gd.Api.CmdPipelineBarrier( + cbs.CommandBuffer, + PipelineStageFlags.PipelineStageTopOfPipeBit, + PipelineStageFlags.PipelineStageAllCommandsBit, + 0, + 0, + null, + 0, + null, + 1, + barrier); + } + + private static SampleCountFlags ConvertToSampleCountFlags(uint samples) + { + return SampleCountFlags.SampleCount1Bit; + if (samples == 0 || samples > (uint)SampleCountFlags.SampleCount64Bit) + { + return SampleCountFlags.SampleCount1Bit; + } + + // Round up to the nearest power of two. + return (SampleCountFlags)(1u << (31 - BitOperations.LeadingZeroCount(samples))); + } + + public TextureView CreateView(TextureCreateInfo info, int firstLayer, int firstLevel) + { + return new TextureView(_gd, _device, info, this, firstLayer, firstLevel); + } + + public void Dispose() + { + if (_aliasedStorages != null) + { + foreach (var storage in _aliasedStorages.Values) + { + storage.Dispose(); + } + + _aliasedStorages.Clear(); + } + + _imageAuto.Dispose(); + _allocationAuto?.Dispose(); + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/TextureView.cs b/Ryujinx.Graphics.Vulkan/TextureView.cs new file mode 100644 index 000000000..c17bc8e11 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/TextureView.cs @@ -0,0 +1,747 @@ +using Ryujinx.Graphics.GAL; +using Silk.NET.Vulkan; +using System; +using System.Threading; +using VkBuffer = Silk.NET.Vulkan.Buffer; +using VkFormat = Silk.NET.Vulkan.Format; + +namespace Ryujinx.Graphics.Vulkan +{ + class TextureView : ITexture + { + private readonly VulkanGraphicsDevice _gd; + + private readonly Device _device; + + private readonly Auto _imageView; + private readonly Auto _imageViewIdentity; + private readonly Auto _imageView2dArray; + private BufferHolder _flushStorage; + + public TextureCreateInfo Info { get; } + + public TextureStorage Storage { get; } + + public int Width => Info.Width; + public int Height => Info.Height; + public int Layers => Info.GetDepthOrLayers(); + public int FirstLayer { get; } + public int FirstLevel { get; } + public float ScaleFactor => Storage.ScaleFactor; + public VkFormat VkFormat { get; } + public bool Valid { get; private set; } + + public TextureView( + VulkanGraphicsDevice gd, + Device device, + TextureCreateInfo info, + TextureStorage storage, + int firstLayer, + int firstLevel) + { + _gd = gd; + _device = device; + Info = info; + Storage = storage; + FirstLayer = firstLayer; + FirstLevel = firstLevel; + + gd.Textures.Add(this); + + var format = _gd.FormatCapabilities.ConvertToVkFormat(info.Format); + var levels = (uint)info.Levels; + var layers = (uint)info.GetLayers(); + + VkFormat = format; + + var type = info.Target.ConvertView(); + + var swizzleR = info.SwizzleR.Convert(); + var swizzleG = info.SwizzleG.Convert(); + var swizzleB = info.SwizzleB.Convert(); + var swizzleA = info.SwizzleA.Convert(); + + if (info.Format == GAL.Format.R5G5B5A1Unorm || + info.Format == GAL.Format.R5G5B5X1Unorm || + info.Format == GAL.Format.R5G6B5Unorm) + { + var temp = swizzleR; + + swizzleR = swizzleB; + swizzleB = temp; + } + else if (info.Format == GAL.Format.R4G4B4A4Unorm) + { + var tempR = swizzleR; + var tempG = swizzleG; + + swizzleR = swizzleA; + swizzleG = swizzleB; + swizzleB = tempG; + swizzleA = tempR; + } + + var componentMapping = new ComponentMapping(swizzleR, swizzleG, swizzleB, swizzleA); + + var aspectFlags = info.Format.ConvertAspectFlags(info.DepthStencilMode); + var aspectFlagsDepth = info.Format.ConvertAspectFlags(DepthStencilMode.Depth); + + var subresourceRange = new ImageSubresourceRange(aspectFlags, (uint)firstLevel, levels, (uint)firstLayer, layers); + var subresourceRangeDepth = new ImageSubresourceRange(aspectFlagsDepth, (uint)firstLevel, levels, (uint)firstLayer, layers); + + unsafe Auto CreateImageView(ComponentMapping cm, ImageSubresourceRange sr, ImageViewType viewType) + { + var imageCreateInfo = new ImageViewCreateInfo() + { + SType = StructureType.ImageViewCreateInfo, + Image = storage.GetImageForViewCreation(), + ViewType = viewType, + Format = format, + Components = cm, + SubresourceRange = sr + }; + + gd.Api.CreateImageView(device, imageCreateInfo, null, out var imageView).ThrowOnError(); + return new Auto(new DisposableImageView(gd.Api, device, imageView), null, storage.GetImage()); + } + + _imageView = CreateImageView(componentMapping, subresourceRange, type); + + // Framebuffer attachments and storage images requires a identity component mapping. + var identityComponentMapping = new ComponentMapping( + ComponentSwizzle.R, + ComponentSwizzle.G, + ComponentSwizzle.B, + ComponentSwizzle.A); + + _imageViewIdentity = CreateImageView(identityComponentMapping, subresourceRangeDepth, type); + + // Framebuffer attachments also requires 3D textures to be bound as 2D array. + if (info.Target == Target.Texture3D) + { + subresourceRange = new ImageSubresourceRange(aspectFlags, (uint)firstLevel, levels, (uint)firstLayer, (uint)info.Depth); + + _imageView2dArray = CreateImageView(identityComponentMapping, subresourceRange, ImageViewType.ImageViewType2DArray); + } + + Valid = true; + } + + public Auto GetImage() + { + return Storage.GetImage(); + } + + public Auto GetImageView() + { + return _imageView; + } + + public Auto GetIdentityImageView() + { + return _imageViewIdentity; + } + + public Auto GetImageViewForAttachment() + { + return _imageView2dArray ?? _imageViewIdentity; + } + + public void CopyTo(ITexture destination, int firstLayer, int firstLevel) + { + _gd.FlushAllCommands(); + + var src = this; + var dst = (TextureView)destination; + + if (!Valid || !dst.Valid) + { + return; + } + + using var cbs = _gd.CommandBufferPool.Rent(); + + var srcImage = src.GetImage().Get(cbs).Value; + var dstImage = dst.GetImage().Get(cbs).Value; + + TextureCopy.Copy( + _gd.Api, + cbs.CommandBuffer, + srcImage, + dstImage, + src.Info, + dst.Info, + src.FirstLayer, + dst.FirstLayer, + src.FirstLevel, + dst.FirstLevel, + 0, + firstLayer, + 0, + firstLevel); + } + + public void CopyTo(ITexture destination, int srcLayer, int dstLayer, int srcLevel, int dstLevel) + { + _gd.FlushAllCommands(); + + var src = this; + var dst = (TextureView)destination; + + if (!Valid || !dst.Valid) + { + return; + } + + using var cbs = _gd.CommandBufferPool.Rent(); + + var srcImage = src.GetImage().Get(cbs).Value; + var dstImage = dst.GetImage().Get(cbs).Value; + + TextureCopy.Copy( + _gd.Api, + cbs.CommandBuffer, + srcImage, + dstImage, + src.Info, + dst.Info, + src.FirstLayer, + dst.FirstLayer, + src.FirstLevel, + dst.FirstLevel, + srcLayer, + dstLayer, + srcLevel, + dstLevel, + 1, + 1); + } + + public void CopyTo(ITexture destination, Extents2D srcRegion, Extents2D dstRegion, bool linearFilter) + { + var dst = (TextureView)destination; + + if (_gd.CommandBufferPool.OwnedByCurrentThread) + { + _gd.PipelineInternal.EndRenderPass(); + + var cbs = _gd.PipelineInternal.CurrentCommandBuffer; + + CopyToImpl(cbs, dst, srcRegion, dstRegion, linearFilter); + } + else if (_gd.BackgroundQueue.Handle != 0) + { + lock (_gd.BackgroundQueueLock) + { + using var cbp = new CommandBufferPool( + _gd.Api, + _device, + _gd.BackgroundQueue, + _gd.QueueFamilyIndex, + isLight: true); + + using var cbs = cbp.Rent(); + + CopyToImpl(cbs, dst, srcRegion, dstRegion, linearFilter); + } + } + else + { + // TODO... + } + } + + private void CopyToImpl(CommandBufferScoped cbs, TextureView dst, Extents2D srcRegion, Extents2D dstRegion, bool linearFilter) + { + var src = this; + + var srcFormat = GetCompatibleGalFormat(src.Info.Format); + var dstFormat = GetCompatibleGalFormat(dst.Info.Format); + + bool srcUsesStorageFormat = src.VkFormat == src.Storage.VkFormat; + bool dstUsesStorageFormat = dst.VkFormat == dst.Storage.VkFormat; + + if (srcUsesStorageFormat && dstUsesStorageFormat) + { + if ((srcRegion.X1 | dstRegion.X1) == 0 && + (srcRegion.Y1 | dstRegion.Y1) == 0 && + srcRegion.X2 == src.Width && + srcRegion.Y2 == src.Height && + dstRegion.X2 == dst.Width && + dstRegion.Y2 == dst.Height && + src.Width == dst.Width && + src.Height == dst.Height && + src.VkFormat == dst.VkFormat) + { + TextureCopy.Copy( + _gd.Api, + cbs.CommandBuffer, + src.GetImage().Get(cbs).Value, + dst.GetImage().Get(cbs).Value, + src.Info, + dst.Info, + src.FirstLayer, + dst.FirstLayer, + src.FirstLevel, + dst.FirstLevel, + 0, + 0, + 0, + 0, + 1, + 1); + + return; + } + else if (_gd.FormatCapabilities.FormatSupports(srcFormat, FormatFeatureFlags.FormatFeatureBlitSrcBit) && + _gd.FormatCapabilities.FormatSupports(dstFormat, FormatFeatureFlags.FormatFeatureBlitDstBit)) + { + TextureCopy.Blit( + _gd.Api, + cbs.CommandBuffer, + src.GetImage().Get(cbs).Value, + dst.GetImage().Get(cbs).Value, + src.Info, + dst.Info, + srcRegion, + dstRegion, + src.FirstLayer, + dst.FirstLayer, + src.FirstLevel, + dst.FirstLevel, + linearFilter); + + return; + } + else if (srcFormat == GAL.Format.D32FloatS8Uint && srcFormat == dstFormat && SupportsBlitFromD32FS8ToD32FAndS8()) + { + var d32StorageInfo = TextureStorage.NewCreateInfoWith(src.Info, GAL.Format.D32Float, 4); + var s8StorageInfo = TextureStorage.NewCreateInfoWith(dst.Info, GAL.Format.S8Uint, 1); + + using var d32Storage = _gd.CreateTextureStorage(d32StorageInfo, dst.Storage.ScaleFactor); + using var s8Storage = _gd.CreateTextureStorage(s8StorageInfo, dst.Storage.ScaleFactor); + + void BlitAndCopy(ref TextureCreateInfo info, TextureStorage storage, ImageAspectFlags aspectFlags) + { + TextureCopy.Blit( + _gd.Api, + cbs.CommandBuffer, + src.GetImage().Get(cbs).Value, + storage.GetImage().Get(cbs).Value, + src.Info, + info, + srcRegion, + dstRegion, + src.FirstLayer, + 0, + src.FirstLevel, + 0, + false, + aspectFlags, + aspectFlags); + + TextureCopy.Copy( + _gd.Api, + cbs.CommandBuffer, + storage.GetImage().Get(cbs).Value, + dst.GetImage().Get(cbs).Value, + info, + dst.Info, + 0, + dst.FirstLayer, + 0, + dst.FirstLevel, + 0, + 0, + 0, + 0, + 1, + 1); + } + + BlitAndCopy(ref d32StorageInfo, d32Storage, ImageAspectFlags.ImageAspectDepthBit); + BlitAndCopy(ref s8StorageInfo, s8Storage, ImageAspectFlags.ImageAspectStencilBit); + + return; + } + } + + if (VulkanConfiguration.UseSlowSafeBlitOnAmd && + _gd.Vendor == Vendor.Amd && + src.Info.Target == Target.Texture2D && + dst.Info.Target == Target.Texture2D && + !dst.Info.Format.IsDepthOrStencil()) + { + _gd.HelperShader.Blit( + _gd, + src, + dst.GetIdentityImageView(), + dst.Width, + dst.Height, + dst.VkFormat, + srcRegion, + dstRegion, + linearFilter); + + return; + } + + Auto srcImage; + Auto dstImage; + + if (dst.Info.Format.IsDepthOrStencil()) + { + srcImage = src.Storage.CreateAliasedColorForDepthStorageUnsafe(srcFormat).GetImage(); + dstImage = dst.Storage.CreateAliasedColorForDepthStorageUnsafe(dstFormat).GetImage(); + } + else + { + srcImage = src.Storage.CreateAliasedStorageUnsafe(srcFormat).GetImage(); + dstImage = dst.Storage.CreateAliasedStorageUnsafe(dstFormat).GetImage(); + } + + TextureCopy.Blit( + _gd.Api, + cbs.CommandBuffer, + srcImage.Get(cbs).Value, + dstImage.Get(cbs).Value, + src.Info, + dst.Info, + srcRegion, + dstRegion, + src.FirstLevel, + dst.FirstLevel, + src.FirstLayer, + dst.FirstLayer, + linearFilter, + ImageAspectFlags.ImageAspectColorBit, + ImageAspectFlags.ImageAspectColorBit); + } + + private bool SupportsBlitFromD32FS8ToD32FAndS8() + { + var formatFeatureFlags = FormatFeatureFlags.FormatFeatureBlitSrcBit | FormatFeatureFlags.FormatFeatureBlitDstBit; + return _gd.FormatCapabilities.FormatSupports(GAL.Format.D32Float, formatFeatureFlags) && + _gd.FormatCapabilities.FormatSupports(GAL.Format.S8Uint, formatFeatureFlags); + } + + public ITexture CreateView(TextureCreateInfo info, int firstLayer, int firstLevel) + { + return new TextureView(_gd, _device, info, Storage, FirstLayer + firstLayer, FirstLevel + firstLevel); + } + + public byte[] GetData(int x, int y, int width, int height) + { + int size = width * height * Info.BytesPerPixel; + using var bufferHolder = _gd.BufferManager.Create(_gd, size); + + using (var cbs = _gd.CommandBufferPool.Rent()) + { + var buffer = bufferHolder.GetBuffer(cbs.CommandBuffer).Get(cbs).Value; + var image = GetImage().Get(cbs).Value; + + CopyFromOrToBuffer(cbs.CommandBuffer, buffer, image, size, true, x, y, width, height); + } + + bufferHolder.WaitForFences(); + byte[] bitmap = new byte[size]; + GetDataFromBuffer(bufferHolder.GetDataStorage(0, size)).CopyTo(bitmap); + return bitmap; + } + + public ReadOnlySpan GetData() + { + if (_gd.CommandBufferPool.OwnedByCurrentThread) + { + return GetData(_gd.CommandBufferPool); + } + else if (_gd.BackgroundQueue.Handle != 0) + { + lock (_gd.BackgroundQueueLock) + { + using var cbp = new CommandBufferPool( + _gd.Api, + _device, + _gd.BackgroundQueue, + _gd.QueueFamilyIndex, + isLight: true); + + return GetData(cbp); + } + } + else + { + // TODO: Flush when the device only supports one queue. + int size = 0; + + for (int level = 0; level < Info.Levels; level++) + { + size += Info.GetMipSize(level); + } + + return new byte[size]; + } + } + + public ReadOnlySpan GetData(int layer, int level) + { + throw new NotImplementedException(); + } + + private ReadOnlySpan GetData(CommandBufferPool cbp) + { + int size; + var bufferHolder = _flushStorage; + + if (bufferHolder == null) + { + size = 0; + + for (int level = 0; level < Info.Levels; level++) + { + size += Info.GetMipSize(level); + } + + size = GetBufferDataLength(size); + + bufferHolder = _gd.BufferManager.Create(_gd, size); + + var existingStorage = Interlocked.CompareExchange(ref _flushStorage, bufferHolder, null); + if (existingStorage != null) + { + bufferHolder.Dispose(); + bufferHolder = existingStorage; + } + } + else + { + size = bufferHolder.Size; + } + + using (var cbs = cbp.Rent()) + { + var buffer = bufferHolder.GetBuffer(cbs.CommandBuffer).Get(cbs).Value; + var image = GetImage().Get(cbs).Value; + + CopyFromOrToBuffer(cbs.CommandBuffer, buffer, image, size, true, 0, 0, Info.GetLayers(), Info.Levels, singleSlice: false); + } + + bufferHolder.WaitForFences(); + return GetDataFromBuffer(bufferHolder.GetDataStorage(0, size)); + } + + public void SetData(ReadOnlySpan data) + { + SetData(data, 0, 0, Info.GetLayers(), Info.Levels, singleSlice: false); + } + + public void SetData(ReadOnlySpan data, int layer, int level) + { + SetData(data, layer, level, 1, 1, singleSlice: true); + } + + private void SetData(ReadOnlySpan data, int layer, int level, int layers, int levels, bool singleSlice) + { + int bufferDataLength = GetBufferDataLength(data.Length); + + using var bufferHolder = _gd.BufferManager.Create(_gd, bufferDataLength); + + using var cbs = _gd.CommandBufferPool.Rent(); + + CopyDataToBuffer(bufferHolder.GetDataStorage(0, bufferDataLength), data); + + var buffer = bufferHolder.GetBuffer(cbs.CommandBuffer).Get(cbs).Value; + var image = GetImage().Get(cbs).Value; + + CopyFromOrToBuffer(cbs.CommandBuffer, buffer, image, bufferDataLength, false, layer, level, layers, levels, singleSlice); + } + + private int GetBufferDataLength(int length) + { + if (NeedsD24S8Conversion()) + { + return length * 2; + } + + return length; + } + + private GAL.Format GetCompatibleGalFormat(GAL.Format format) + { + if (NeedsD24S8Conversion()) + { + return GAL.Format.D32FloatS8Uint; + } + + return format; + } + + private void CopyDataToBuffer(Span storage, ReadOnlySpan input) + { + if (NeedsD24S8Conversion()) + { + FormatConverter.ConvertD24S8ToD32FS8(storage, input); + return; + } + + input.CopyTo(storage); + } + + private ReadOnlySpan GetDataFromBuffer(ReadOnlySpan storage) + { + if (NeedsD24S8Conversion()) + { + byte[] output = new byte[GetBufferDataLength(storage.Length)]; + FormatConverter.ConvertD32FS8ToD24S8(output, storage); + return output; + } + + return storage; + } + + private bool NeedsD24S8Conversion() + { + return Info.Format == GAL.Format.D24UnormS8Uint && VkFormat == VkFormat.D32SfloatS8Uint; + } + + private void CopyFromOrToBuffer( + CommandBuffer commandBuffer, + VkBuffer buffer, + Image image, + int size, + bool to, + int dstLayer, + int dstLevel, + int dstLayers, + int dstLevels, + bool singleSlice) + { + bool is3D = Info.Target == Target.Texture3D; + int width = Info.Width; + int height = Info.Height; + int depth = is3D && !singleSlice ? Info.Depth : 1; + int layer = is3D ? 0 : dstLayer; + int layers = dstLayers; + int levels = dstLevels; + + int offset = 0; + + for (int level = 0; level < levels; level++) + { + int mipSize = GetBufferDataLength(Info.GetMipSize(level)); + + int endOffset = offset + mipSize; + + if ((uint)endOffset > (uint)size) + { + break; + } + + int rowLength = (Info.GetMipStride(level) / Info.BytesPerPixel) * Info.BlockWidth; + + var aspectFlags = Info.Format.ConvertAspectFlags(); + + if (aspectFlags == (ImageAspectFlags.ImageAspectDepthBit | ImageAspectFlags.ImageAspectStencilBit)) + { + aspectFlags = ImageAspectFlags.ImageAspectDepthBit; + } + + var sl = new ImageSubresourceLayers( + aspectFlags, + (uint)(FirstLevel + dstLevel + level), + (uint)(FirstLayer + layer), + (uint)layers); + + var extent = new Extent3D((uint)width, (uint)height, (uint)depth); + + int z = is3D ? dstLayer : 0; + + var region = new BufferImageCopy((ulong)offset, (uint)rowLength, (uint)height, sl, new Offset3D(0, 0, z), extent); + + if (to) + { + _gd.Api.CmdCopyImageToBuffer(commandBuffer, image, ImageLayout.General, buffer, 1, region); + } + else + { + _gd.Api.CmdCopyBufferToImage(commandBuffer, buffer, image, ImageLayout.General, 1, region); + } + + offset += mipSize; + + width = Math.Max(1, width >> 1); + height = Math.Max(1, height >> 1); + + if (Info.Target == Target.Texture3D) + { + depth = Math.Max(1, depth >> 1); + } + } + } + + private void CopyFromOrToBuffer( + CommandBuffer commandBuffer, + VkBuffer buffer, + Image image, + int size, + bool to, + int x, + int y, + int width, + int height) + { + var aspectFlags = Info.Format.ConvertAspectFlags(); + + if (aspectFlags == (ImageAspectFlags.ImageAspectDepthBit | ImageAspectFlags.ImageAspectStencilBit)) + { + aspectFlags = ImageAspectFlags.ImageAspectDepthBit; + } + + var sl = new ImageSubresourceLayers(aspectFlags, (uint)FirstLevel, (uint)FirstLayer, 1); + + var extent = new Extent3D((uint)width, (uint)height, 1); + + var region = new BufferImageCopy(0, (uint)width, (uint)height, sl, new Offset3D(x, y, 0), extent); + + if (to) + { + _gd.Api.CmdCopyImageToBuffer(commandBuffer, image, ImageLayout.General, buffer, 1, region); + } + else + { + _gd.Api.CmdCopyBufferToImage(commandBuffer, buffer, image, ImageLayout.General, 1, region); + } + } + + public void SetStorage(BufferRange buffer) + { + throw new NotImplementedException(); + } + + protected virtual void Dispose(bool disposing) + { + if (disposing) + { + Valid = false; + + if (_gd.Textures.Remove(this)) + { + _imageView.Dispose(); + _imageViewIdentity.Dispose(); + _imageView2dArray?.Dispose(); + _flushStorage?.Dispose(); + } + } + } + + public void Dispose() + { + Dispose(true); + } + + public void Release() + { + Dispose(); + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/Vendor.cs b/Ryujinx.Graphics.Vulkan/Vendor.cs new file mode 100644 index 000000000..b9d9849ec --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/Vendor.cs @@ -0,0 +1,10 @@ +namespace Ryujinx.Graphics.Vulkan +{ + enum Vendor + { + Amd, + Intel, + Nvidia, + Unknown + } +} diff --git a/Ryujinx.Graphics.Vulkan/VulkanConfiguration.cs b/Ryujinx.Graphics.Vulkan/VulkanConfiguration.cs new file mode 100644 index 000000000..6ca671b71 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/VulkanConfiguration.cs @@ -0,0 +1,11 @@ +namespace Ryujinx.Graphics.Vulkan +{ + static class VulkanConfiguration + { + public const bool UseDynamicState = true; + + public const bool UseFastBufferUpdates = true; + public const bool UseGranularBufferTracking = false; + public const bool UseSlowSafeBlitOnAmd = true; + } +} diff --git a/Ryujinx.Graphics.Vulkan/VulkanException.cs b/Ryujinx.Graphics.Vulkan/VulkanException.cs new file mode 100644 index 000000000..ca3ac6b63 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/VulkanException.cs @@ -0,0 +1,40 @@ +using Silk.NET.Vulkan; +using System; +using System.Runtime.Serialization; + +namespace Ryujinx.Graphics.Vulkan +{ + static class ResultExtensions + { + public static void ThrowOnError(this Result result) + { + if (result != Result.Success) + { + throw new VulkanException(result); + } + } + } + + class VulkanException : Exception + { + public VulkanException() + { + } + + public VulkanException(Result result) : base($"Unexpected API error \"{result}\".") + { + } + + public VulkanException(string message) : base(message) + { + } + + public VulkanException(string message, Exception innerException) : base(message, innerException) + { + } + + protected VulkanException(SerializationInfo info, StreamingContext context) : base(info, context) + { + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs new file mode 100644 index 000000000..81c0269b8 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs @@ -0,0 +1,454 @@ +using Ryujinx.Common.Configuration; +using Ryujinx.Common.Logging; +using Ryujinx.Graphics.GAL; +using Ryujinx.Graphics.Shader; +using Ryujinx.Graphics.Shader.Translation; +using Ryujinx.Graphics.Vulkan.Queries; +using Silk.NET.Vulkan; +using Silk.NET.Vulkan.Extensions.EXT; +using Silk.NET.Vulkan.Extensions.KHR; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.InteropServices; + +namespace Ryujinx.Graphics.Vulkan +{ + public sealed class VulkanGraphicsDevice : IRenderer + { + private Instance _instance; + private SurfaceKHR _surface; + private PhysicalDevice _physicalDevice; + private Device _device; + private Window _window; + + internal FormatCapabilities FormatCapabilities { get; private set; } + internal HardwareCapabilities Capabilities { get; private set; } + + internal Vk Api { get; private set; } + internal KhrSurface SurfaceApi { get; private set; } + internal KhrSwapchain SwapchainApi { get; private set; } + internal ExtConditionalRendering ConditionalRenderingApi { get; private set; } + internal ExtExtendedDynamicState ExtendedDynamicStateApi { get; private set; } + internal ExtTransformFeedback TransformFeedbackApi { get; private set; } + internal KhrDrawIndirectCount DrawIndirectCountApi { get; private set; } + internal ExtDebugReport DebugReportApi { get; private set; } + + internal bool SupportsIndexTypeUint8 { get; private set; } + internal bool SupportsCustomBorderColor { get; private set; } + internal bool SupportsIndirectParameters { get; private set; } + internal bool SupportsFragmentShaderInterlock { get; private set; } + + internal uint QueueFamilyIndex { get; private set; } + + internal Queue Queue { get; private set; } + internal Queue BackgroundQueue { get; private set; } + internal object BackgroundQueueLock { get; private set; } + + internal MemoryAllocator MemoryAllocator { get; private set; } + internal CommandBufferPool CommandBufferPool { get; private set; } + internal DescriptorSetManager DescriptorSetManager { get; private set; } + internal PipelineLayoutCache PipelineLayoutCache { get; private set; } + + internal BufferManager BufferManager { get; private set; } + + internal HashSet Shaders { get; } + internal HashSet Textures { get; } + internal HashSet Samplers { get; } + + private Counters _counters; + private SyncManager _syncManager; + + private PipelineFull _pipeline; + private DebugReportCallbackEXT _debugReportCallback; + + internal HelperShader HelperShader { get; private set; } + internal PipelineFull PipelineInternal => _pipeline; + + public IPipeline Pipeline => _pipeline; + + public IWindow Window => _window; + + private Func GetSurface; + private Func GetRequiredExtensions; + + internal Vendor Vendor { get; private set; } + public string GpuVendor { get; private set; } + public string GpuRenderer { get; private set; } + public string GpuVersion { get; private set; } + + public bool PreferThreading => true; + + public event EventHandler ScreenCaptured; + + public VulkanGraphicsDevice(Func surfaceFunc, Func requiredExtensionsFunc) + { + GetSurface = surfaceFunc; + GetRequiredExtensions = requiredExtensionsFunc; + Shaders = new HashSet(); + Textures = new HashSet(); + Samplers = new HashSet(); + } + + private void SetupContext(GraphicsDebugLevel logLevel) + { + var api = Vk.GetApi(); + + Api = api; + + _instance = VulkanInitialization.CreateInstance(api, logLevel, GetRequiredExtensions(), out ExtDebugReport debugReport, out _debugReportCallback); + + DebugReportApi = debugReport; + + if (api.TryGetInstanceExtension(_instance, out KhrSurface surfaceApi)) + { + SurfaceApi = surfaceApi; + } + + _surface = GetSurface(_instance, api); + _physicalDevice = VulkanInitialization.FindSuitablePhysicalDevice(api, _instance, _surface); + + FormatCapabilities = new FormatCapabilities(api, _physicalDevice); + + var queueFamilyIndex = VulkanInitialization.FindSuitableQueueFamily(api, _physicalDevice, _surface, out uint maxQueueCount); + var supportedExtensions = VulkanInitialization.GetSupportedExtensions(api, _physicalDevice); + + _device = VulkanInitialization.CreateDevice(api, _physicalDevice, queueFamilyIndex, supportedExtensions, maxQueueCount); + + Capabilities = new HardwareCapabilities( + supportedExtensions.Contains(ExtConditionalRendering.ExtensionName), + supportedExtensions.Contains(ExtExtendedDynamicState.ExtensionName)); + + SupportsIndexTypeUint8 = supportedExtensions.Contains("VK_EXT_index_type_uint8"); + SupportsCustomBorderColor = supportedExtensions.Contains("VK_EXT_custom_border_color"); + SupportsIndirectParameters = supportedExtensions.Contains(KhrDrawIndirectCount.ExtensionName); + SupportsFragmentShaderInterlock = supportedExtensions.Contains("VK_EXT_fragment_shader_interlock"); + + if (api.TryGetDeviceExtension(_instance, _device, out KhrSwapchain swapchainApi)) + { + SwapchainApi = swapchainApi; + } + + if (api.TryGetDeviceExtension(_instance, _device, out ExtConditionalRendering conditionalRenderingApi)) + { + ConditionalRenderingApi = conditionalRenderingApi; + } + + if (api.TryGetDeviceExtension(_instance, _device, out ExtExtendedDynamicState extendedDynamicStateApi)) + { + ExtendedDynamicStateApi = extendedDynamicStateApi; + } + + if (api.TryGetDeviceExtension(_instance, _device, out ExtTransformFeedback transformFeedbackApi)) + { + TransformFeedbackApi = transformFeedbackApi; + } + + if (api.TryGetDeviceExtension(_instance, _device, out KhrDrawIndirectCount drawIndirectCountApi)) + { + DrawIndirectCountApi = drawIndirectCountApi; + } + + api.GetDeviceQueue(_device, queueFamilyIndex, 0, out var queue); + Queue = queue; + + if (maxQueueCount >= 2) + { + api.GetDeviceQueue(_device, queueFamilyIndex, 1, out var backgroundQueue); + BackgroundQueue = backgroundQueue; + BackgroundQueueLock = new object(); + } + + Api.GetPhysicalDeviceProperties(_physicalDevice, out var properties); + + MemoryAllocator = new MemoryAllocator(api, _device, properties.Limits.MaxMemoryAllocationCount); + + CommandBufferPool = VulkanInitialization.CreateCommandBufferPool(api, _device, queue, queueFamilyIndex); + + DescriptorSetManager = new DescriptorSetManager(_device); + + PipelineLayoutCache = new PipelineLayoutCache(); + + BufferManager = new BufferManager(this, _physicalDevice, _device); + + _syncManager = new SyncManager(this, _device); + _pipeline = new PipelineFull(this, _device); + + HelperShader = new HelperShader(this, _device); + + _counters = new Counters(this, _device, _pipeline); + + _window = new Window(this, _surface, _physicalDevice, _device); + } + + public IShader CompileShader(ShaderStage stage, ShaderBindings bindings, string code) + { + return new Shader(Api, _device, stage, bindings, code); + } + + public IShader CompileShader(ShaderStage stage, ShaderBindings bindings, byte[] code) + { + return new Shader(Api, _device, stage, bindings, code); + } + + public BufferHandle CreateBuffer(int size) + { + return BufferManager.CreateWithHandle(this, size); + } + + public IProgram CreateProgram(IShader[] shaders, ShaderInfo info) + { + return new ShaderCollection(this, _device, shaders); + } + + public IProgram CreateProgram(ShaderSource[] sources, ShaderInfo info) + { + IShader[] shaders = new IShader[sources.Length]; + + for (int index = 0; index < sources.Length; index++) + { + var source = sources[index]; + var shader = source.BinaryCode != null + ? CompileShader(source.Stage, source.Bindings, source.BinaryCode) + : CompileShader(source.Stage, source.Bindings, source.Code); + + shaders[index] = shader; + } + + return CreateProgram(shaders, info); + } + + public ISampler CreateSampler(GAL.SamplerCreateInfo info) + { + return new SamplerHolder(this, _device, info); + } + + public ITexture CreateTexture(TextureCreateInfo info, float scale) + { + if (info.Target == Target.TextureBuffer) + { + return new TextureBuffer(this, info, scale); + } + + // This should be disposed when all views are destroyed. + using var storage = CreateTextureStorage(info, scale); + return storage.CreateView(info, 0, 0); + } + + internal TextureStorage CreateTextureStorage(TextureCreateInfo info, float scale) + { + return new TextureStorage(this, _physicalDevice, _device, info, scale); + } + + public void DeleteBuffer(BufferHandle buffer) + { + BufferManager.Delete(buffer); + } + + internal void FlushAllCommands() + { + // System.Console.WriteLine("flush commands " + caller); + _pipeline?.FlushCommandsImpl(); + } + + public ReadOnlySpan GetBufferData(BufferHandle buffer, int offset, int size) + { + return BufferManager.GetData(buffer, offset, size); + } + + public Capabilities GetCapabilities() + { + Api.GetPhysicalDeviceFeatures(_physicalDevice, out var features); + Api.GetPhysicalDeviceProperties(_physicalDevice, out var properties); + + var limits = properties.Limits; + + return new Capabilities( + api: TargetApi.Vulkan, + GpuVendor, + hasFrontFacingBug: Vendor == Vendor.Intel && RuntimeInformation.IsOSPlatform(OSPlatform.Windows), + hasVectorIndexingBug: false, + supportsAstcCompression: features.TextureCompressionAstcLdr, + supports3DTextureCompression: true, + supportsBgraFormat: true, + supportsR4G4Format: false, + supportsFragmentShaderInterlock: SupportsFragmentShaderInterlock, + supportsFragmentShaderOrderingIntel: false, + supportsImageLoadFormatted: features.ShaderStorageImageReadWithoutFormat, + supportsMismatchingViewFormat: true, + supportsNonConstantTextureOffset: false, + supportsShaderBallot: false, + supportsTextureShadowLod: false, + supportsViewportSwizzle: false, + supportsIndirectParameters: SupportsIndirectParameters, + maximumComputeSharedMemorySize: (int)limits.MaxComputeSharedMemorySize, + maximumSupportedAnisotropy: (int)limits.MaxSamplerAnisotropy, + storageBufferOffsetAlignment: (int)limits.MinStorageBufferOffsetAlignment); + } + + public HardwareInfo GetHardwareInfo() + { + return new HardwareInfo(GpuVendor, GpuRenderer); + } + + private static string ParseStandardVulkanVersion(uint version) + { + return $"{version >> 22}.{(version >> 12) & 0x3FF}.{version & 0xFFF}"; + } + + private static string ParseDriverVersion(ref PhysicalDeviceProperties properties) + { + uint driverVersionRaw = properties.DriverVersion; + + // NVIDIA differ from the standard here and use a different format. + if (properties.VendorID == 0x10DE) + { + return $"{(driverVersionRaw >> 22) & 0x3FF}.{(driverVersionRaw >> 14) & 0xFF}.{(driverVersionRaw >> 6) & 0xFF}.{driverVersionRaw & 0x3F}"; + } + else + { + return ParseStandardVulkanVersion(driverVersionRaw); + } + } + + private unsafe void PrintGpuInformation() + { + Api.GetPhysicalDeviceProperties(_physicalDevice, out var properties); + + string vendorName = properties.VendorID switch + { + 0x1002 => "AMD", + 0x1010 => "ImgTec", + 0x10DE => "NVIDIA", + 0x13B5 => "ARM", + 0x1AE0 => "Google", + 0x5143 => "Qualcomm", + 0x8086 => "Intel", + 0x10001 => "Vivante", + 0x10002 => "VeriSilicon", + 0x10003 => "Kazan", + 0x10004 => "Codeplay Software Ltd.", + 0x10005 => "Mesa", + 0x10006 => "PoCL", + _ => $"0x{properties.VendorID:X}" + }; + + Vendor = properties.VendorID switch + { + 0x1002 => Vendor.Amd, + 0x10DE => Vendor.Nvidia, + 0x8086 => Vendor.Intel, + _ => Vendor.Unknown + }; + + GpuVendor = vendorName; + GpuRenderer = Marshal.PtrToStringAnsi((IntPtr)properties.DeviceName); + GpuVersion = $"Vulkan v{ParseStandardVulkanVersion(properties.ApiVersion)}, Driver v{ParseDriverVersion(ref properties)}"; + + Logger.Notice.Print(LogClass.Gpu, $"{GpuVendor} {GpuRenderer} ({GpuVersion})"); + } + + public void Initialize(GraphicsDebugLevel logLevel) + { + SetupContext(logLevel); + + PrintGpuInformation(); + } + + public void PreFrame() + { + _syncManager.Cleanup(); + } + + public ICounterEvent ReportCounter(CounterType type, EventHandler resultHandler, bool hostReserved) + { + return _counters.QueueReport(type, resultHandler, hostReserved); + } + + public void ResetCounter(CounterType type) + { + _counters.QueueReset(type); + } + + public void SetBufferData(BufferHandle buffer, int offset, ReadOnlySpan data) + { + BufferManager.SetData(buffer, offset, data, _pipeline.CurrentCommandBuffer, _pipeline.EndRenderPass); + } + + public void UpdateCounters() + { + _counters.Update(); + } + + public unsafe void Dispose() + { + CommandBufferPool.Dispose(); + _counters.Dispose(); + _window.Dispose(); + HelperShader.Dispose(); + _pipeline.Dispose(); + BufferManager.Dispose(); + DescriptorSetManager.Dispose(); + PipelineLayoutCache.Dispose(); + + SurfaceApi.DestroySurface(_instance, _surface, null); + + MemoryAllocator.Dispose(); + + if (_debugReportCallback.Handle != 0) + { + DebugReportApi.DestroyDebugReportCallback(_instance, _debugReportCallback, null); + } + + foreach (var shader in Shaders) + { + shader.Dispose(); + } + + foreach (var texture in Textures) + { + texture.Release(); + } + + foreach (var sampler in Samplers) + { + sampler.Dispose(); + } + + Api.DestroyDevice(_device, null); + + // Last step destroy the instance + Api.DestroyInstance(_instance, null); + } + + public void BackgroundContextAction(Action action, bool alwaysBackground = false) + { + action(); + } + + public void CreateSync(ulong id) + { + _syncManager.Create(id); + } + + public IProgram LoadProgramBinary(byte[] programBinary, bool isFragment, ShaderInfo info) + { + throw new NotImplementedException(); + } + + public void WaitSync(ulong id) + { + _syncManager.Wait(id); + } + + public void Screenshot() + { + _window.ScreenCaptureRequested = true; + } + + public void OnScreenCaptured(ScreenCaptureImageInfo bitmap) + { + ScreenCaptured?.Invoke(this, bitmap); + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs b/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs new file mode 100644 index 000000000..9bb01515d --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs @@ -0,0 +1,425 @@ +using Ryujinx.Common.Configuration; +using Ryujinx.Common.Logging; +using Silk.NET.Vulkan; +using Silk.NET.Vulkan.Extensions.EXT; +using Silk.NET.Vulkan.Extensions.KHR; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.InteropServices; + +namespace Ryujinx.Graphics.Vulkan +{ + unsafe static class VulkanInitialization + { + private const uint InvalidIndex = uint.MaxValue; + private const string AppName = "Ryujinx.Graphics.Vulkan"; + private const int QueuesCount = 2; + + private static readonly string[] RequiredExtensions = new string[] + { + KhrSwapchain.ExtensionName, + "VK_EXT_shader_subgroup_vote", + ExtTransformFeedback.ExtensionName + }; + + private static readonly string[] DesirableExtensions = new string[] + { + ExtConditionalRendering.ExtensionName, + ExtExtendedDynamicState.ExtensionName, + KhrDrawIndirectCount.ExtensionName, + "VK_EXT_index_type_uint8", + "VK_EXT_custom_border_color", + "VK_EXT_robustness2" + }; + + public static Instance CreateInstance(Vk api, GraphicsDebugLevel logLevel, string[] requiredExtensions, out ExtDebugReport debugReport, out DebugReportCallbackEXT debugReportCallback) + { + var enabledLayers = new List(); + + void AddAvailableLayer(string layerName) + { + uint layerPropertiesCount; + + api.EnumerateInstanceLayerProperties(&layerPropertiesCount, null).ThrowOnError(); + + LayerProperties[] layerProperties = new LayerProperties[layerPropertiesCount]; + + fixed (LayerProperties* pLayerProperties = layerProperties) + { + api.EnumerateInstanceLayerProperties(&layerPropertiesCount, layerProperties).ThrowOnError(); + + for (int i = 0; i < layerPropertiesCount; i++) + { + string currentLayerName = Marshal.PtrToStringAnsi((IntPtr)pLayerProperties[i].LayerName); + + if (currentLayerName == layerName) + { + enabledLayers.Add(layerName); + return; + } + } + } + + Logger.Warning?.Print(LogClass.Gpu, $"Missing layer {layerName}"); + } + + if (logLevel == GraphicsDebugLevel.Slowdowns || logLevel == GraphicsDebugLevel.All) + { + AddAvailableLayer("VK_LAYER_KHRONOS_validation"); + } + + var enabledExtensions = requiredExtensions.Append(ExtDebugReport.ExtensionName).ToArray(); + + var appName = Marshal.StringToHGlobalAnsi(AppName); + + var applicationInfo = new ApplicationInfo + { + PApplicationName = (byte*)appName, + ApplicationVersion = 1, + PEngineName = (byte*)appName, + EngineVersion = 1, + ApiVersion = Vk.Version12.Value + }; + + IntPtr* ppEnabledExtensions = stackalloc IntPtr[enabledExtensions.Length]; + IntPtr* ppEnabledLayers = stackalloc IntPtr[enabledLayers.Count]; + + for (int i = 0; i < enabledExtensions.Length; i++) + { + ppEnabledExtensions[i] = Marshal.StringToHGlobalAnsi(enabledExtensions[i]); + } + + for (int i = 0; i < enabledLayers.Count; i++) + { + ppEnabledLayers[i] = Marshal.StringToHGlobalAnsi(enabledLayers[i]); + } + + var instanceCreateInfo = new InstanceCreateInfo + { + SType = StructureType.InstanceCreateInfo, + PApplicationInfo = &applicationInfo, + PpEnabledExtensionNames = (byte**)ppEnabledExtensions, + PpEnabledLayerNames = (byte**)ppEnabledLayers, + EnabledExtensionCount = (uint)enabledExtensions.Length, + EnabledLayerCount = (uint)enabledLayers.Count + }; + + api.CreateInstance(in instanceCreateInfo, null, out var instance).ThrowOnError(); + + Marshal.FreeHGlobal(appName); + + for (int i = 0; i < enabledExtensions.Length; i++) + { + Marshal.FreeHGlobal(ppEnabledExtensions[i]); + } + + for (int i = 0; i < enabledLayers.Count; i++) + { + Marshal.FreeHGlobal(ppEnabledLayers[i]); + } + + if (!api.TryGetInstanceExtension(instance, out debugReport)) + { + throw new Exception(); + // TODO: Exception. + } + + if (logLevel != GraphicsDebugLevel.None) + { + var flags = logLevel switch + { + GraphicsDebugLevel.Error => DebugReportFlagsEXT.DebugReportErrorBitExt, + GraphicsDebugLevel.Slowdowns => DebugReportFlagsEXT.DebugReportErrorBitExt | DebugReportFlagsEXT.DebugReportPerformanceWarningBitExt, + GraphicsDebugLevel.All => DebugReportFlagsEXT.DebugReportInformationBitExt | + DebugReportFlagsEXT.DebugReportWarningBitExt | + DebugReportFlagsEXT.DebugReportPerformanceWarningBitExt | + DebugReportFlagsEXT.DebugReportErrorBitExt | + DebugReportFlagsEXT.DebugReportDebugBitExt, + _ => throw new NotSupportedException() + }; + var debugReportCallbackCreateInfo = new DebugReportCallbackCreateInfoEXT() + { + SType = StructureType.DebugReportCallbackCreateInfoExt, + Flags = flags, + PfnCallback = new PfnDebugReportCallbackEXT(DebugReport) + }; + + debugReport.CreateDebugReportCallback(instance, in debugReportCallbackCreateInfo, null, out debugReportCallback).ThrowOnError(); + } + else + { + debugReportCallback = default; + } + + return instance; + } + + private static string[] ExcludedMessages = new string[] + { + // NOTE: Done on purpuse right now. + "UNASSIGNED-CoreValidation-Shader-OutputNotConsumed", + // TODO: Figure out if fixable + "VUID-vkCmdDrawIndexed-None-04584", + // TODO: might be worth looking into making this happy to possibly optimize copies. + "UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout" + }; + + private unsafe static uint DebugReport( + uint flags, + DebugReportObjectTypeEXT objectType, + ulong @object, + nuint location, + int messageCode, + byte* layerPrefix, + byte* message, + void* userData) + { + var msg = Marshal.PtrToStringAnsi((IntPtr)message); + + foreach (string excludedMessagePart in ExcludedMessages) + { + if (msg.Contains(excludedMessagePart)) + { + return 0; + } + } + + DebugReportFlagsEXT debugFlags = (DebugReportFlagsEXT)flags; + + if (debugFlags.HasFlag(DebugReportFlagsEXT.DebugReportErrorBitExt)) + { + Logger.Error?.Print(LogClass.Gpu, msg); + //throw new Exception(msg); + } + else if (debugFlags.HasFlag(DebugReportFlagsEXT.DebugReportWarningBitExt)) + { + Logger.Warning?.Print(LogClass.Gpu, msg); + } + else if (debugFlags.HasFlag(DebugReportFlagsEXT.DebugReportInformationBitExt)) + { + Logger.Info?.Print(LogClass.Gpu, msg); + } + else if (debugFlags.HasFlag(DebugReportFlagsEXT.DebugReportPerformanceWarningBitExt)) + { + Logger.Warning?.Print(LogClass.Gpu, msg); + } + else + { + Logger.Debug?.Print(LogClass.Gpu, msg); + } + + return 0; + } + + public static PhysicalDevice FindSuitablePhysicalDevice(Vk api, Instance instance, SurfaceKHR surface) + { + uint physicalDeviceCount; + + api.EnumeratePhysicalDevices(instance, &physicalDeviceCount, null).ThrowOnError(); + + PhysicalDevice[] physicalDevices = new PhysicalDevice[physicalDeviceCount]; + + fixed (PhysicalDevice* pPhysicalDevices = physicalDevices) + { + api.EnumeratePhysicalDevices(instance, &physicalDeviceCount, pPhysicalDevices).ThrowOnError(); + } + + if (physicalDevices.Length > 1) + { + return physicalDevices[0]; + } + + for (int i = 0; i < physicalDevices.Length; i++) + { + if (IsSuitableDevice(api, physicalDevices[i], surface)) + { + return physicalDevices[i]; + } + } + + throw new VulkanException("Initialization failed, none of the available GPUs meets the minimum requirements."); + } + + private static bool IsSuitableDevice(Vk api, PhysicalDevice physicalDevice, SurfaceKHR surface) + { + int extensionMatches = 0; + uint propertiesCount; + + api.EnumerateDeviceExtensionProperties(physicalDevice, (byte*)null, &propertiesCount, null).ThrowOnError(); + + ExtensionProperties[] extensionProperties = new ExtensionProperties[propertiesCount]; + + fixed (ExtensionProperties* pExtensionProperties = extensionProperties) + { + api.EnumerateDeviceExtensionProperties(physicalDevice, (byte*)null, &propertiesCount, pExtensionProperties).ThrowOnError(); + + for (int i = 0; i < propertiesCount; i++) + { + string extensionName = Marshal.PtrToStringAnsi((IntPtr)pExtensionProperties[i].ExtensionName); + + if (RequiredExtensions.Contains(extensionName)) + { + extensionMatches++; + } + } + } + + return extensionMatches == RequiredExtensions.Length && FindSuitableQueueFamily(api, physicalDevice, surface, out _) != InvalidIndex; + } + + public static uint FindSuitableQueueFamily(Vk api, PhysicalDevice physicalDevice, SurfaceKHR surface, out uint queueCount) + { + const QueueFlags RequiredFlags = QueueFlags.QueueGraphicsBit | QueueFlags.QueueComputeBit; + + var khrSurface = new KhrSurface(api.Context); + + uint propertiesCount; + + api.GetPhysicalDeviceQueueFamilyProperties(physicalDevice, &propertiesCount, null); + + QueueFamilyProperties[] properties = new QueueFamilyProperties[propertiesCount]; + + fixed (QueueFamilyProperties* pProperties = properties) + { + api.GetPhysicalDeviceQueueFamilyProperties(physicalDevice, &propertiesCount, pProperties); + } + + for (uint index = 0; index < propertiesCount; index++) + { + var queueFlags = properties[index].QueueFlags; + + khrSurface.GetPhysicalDeviceSurfaceSupport(physicalDevice, index, surface, out var surfaceSupported).ThrowOnError(); + + if (queueFlags.HasFlag(RequiredFlags) && surfaceSupported) + { + queueCount = properties[index].QueueCount; + return index; + } + } + + queueCount = 0; + return InvalidIndex; + } + + public static Device CreateDevice(Vk api, PhysicalDevice physicalDevice, uint queueFamilyIndex, string[] supportedExtensions, uint queueCount) + { + if (queueCount > QueuesCount) + { + queueCount = QueuesCount; + } + + float* queuePriorities = stackalloc float[(int)queueCount]; + + for (int i = 0; i < queueCount; i++) + { + queuePriorities[i] = 1f; + } + + var queueCreateInfo = new DeviceQueueCreateInfo() + { + SType = StructureType.DeviceQueueCreateInfo, + QueueFamilyIndex = queueFamilyIndex, + QueueCount = queueCount, + PQueuePriorities = queuePriorities + }; + + var features = new PhysicalDeviceFeatures() + { + DepthBiasClamp = true, + DepthClamp = true, + DualSrcBlend = true, + FragmentStoresAndAtomics = true, + GeometryShader = true, + ImageCubeArray = true, + IndependentBlend = true, + LogicOp = true, + MultiViewport = true, + PipelineStatisticsQuery = true, + SamplerAnisotropy = true, + ShaderClipDistance = true, + ShaderImageGatherExtended = true, + // ShaderStorageImageReadWithoutFormat = true, + // ShaderStorageImageWriteWithoutFormat = true, + VertexPipelineStoresAndAtomics = true + }; + + var featuresIndexU8 = new PhysicalDeviceIndexTypeUint8FeaturesEXT() + { + SType = StructureType.PhysicalDeviceIndexTypeUint8FeaturesExt, + IndexTypeUint8 = supportedExtensions.Contains("VK_EXT_index_type_uint8") + }; + + var featuresTransformFeedback = new PhysicalDeviceTransformFeedbackFeaturesEXT() + { + SType = StructureType.PhysicalDeviceTransformFeedbackFeaturesExt, + PNext = &featuresIndexU8, + TransformFeedback = true + }; + + var featuresRobustness2 = new PhysicalDeviceRobustness2FeaturesEXT() + { + SType = StructureType.PhysicalDeviceRobustness2FeaturesExt, + PNext = &featuresTransformFeedback, + NullDescriptor = true + }; + + var featuresVk12 = new PhysicalDeviceVulkan12Features() + { + SType = StructureType.PhysicalDeviceVulkan12Features, + PNext = &featuresRobustness2, + DrawIndirectCount = supportedExtensions.Contains(KhrDrawIndirectCount.ExtensionName) + }; + + var enabledExtensions = RequiredExtensions.Union(DesirableExtensions.Intersect(supportedExtensions)).ToArray(); + + IntPtr* ppEnabledExtensions = stackalloc IntPtr[enabledExtensions.Length]; + + for (int i = 0; i < enabledExtensions.Length; i++) + { + ppEnabledExtensions[i] = Marshal.StringToHGlobalAnsi(enabledExtensions[i]); + } + + var deviceCreateInfo = new DeviceCreateInfo() + { + SType = StructureType.DeviceCreateInfo, + PNext = &featuresVk12, + QueueCreateInfoCount = 1, + PQueueCreateInfos = &queueCreateInfo, + PpEnabledExtensionNames = (byte**)ppEnabledExtensions, + EnabledExtensionCount = (uint)enabledExtensions.Length, + PEnabledFeatures = &features + }; + + api.CreateDevice(physicalDevice, in deviceCreateInfo, null, out var device).ThrowOnError(); + + for (int i = 0; i < enabledExtensions.Length; i++) + { + Marshal.FreeHGlobal(ppEnabledExtensions[i]); + } + + return device; + } + + public static string[] GetSupportedExtensions(Vk api, PhysicalDevice physicalDevice) + { + uint propertiesCount; + + api.EnumerateDeviceExtensionProperties(physicalDevice, (byte*)null, &propertiesCount, null).ThrowOnError(); + + ExtensionProperties[] extensionProperties = new ExtensionProperties[propertiesCount]; + + fixed (ExtensionProperties* pExtensionProperties = extensionProperties) + { + api.EnumerateDeviceExtensionProperties(physicalDevice, (byte*)null, &propertiesCount, pExtensionProperties).ThrowOnError(); + } + + return extensionProperties.Select(x => Marshal.PtrToStringAnsi((IntPtr)x.ExtensionName)).ToArray(); + } + + public static CommandBufferPool CreateCommandBufferPool(Vk api, Device device, Queue queue, uint queueFamilyIndex) + { + return new CommandBufferPool(api, device, queue, queueFamilyIndex); + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/Window.cs b/Ryujinx.Graphics.Vulkan/Window.cs new file mode 100644 index 000000000..668d2adad --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/Window.cs @@ -0,0 +1,431 @@ +using Ryujinx.Graphics.GAL; +using Silk.NET.Vulkan; +using System; +using System.Linq; +using VkFormat = Silk.NET.Vulkan.Format; + +namespace Ryujinx.Graphics.Vulkan +{ + class Window : IWindow, IDisposable + { + private const int SurfaceWidth = 1280; + private const int SurfaceHeight = 720; + + private readonly VulkanGraphicsDevice _gd; + private readonly SurfaceKHR _surface; + private readonly PhysicalDevice _physicalDevice; + private readonly Device _device; + private SwapchainKHR _swapchain; + + private Image[] _swapchainImages; + private Auto[] _swapchainImageViews; + + private Semaphore _imageAvailableSemaphore; + private Semaphore _renderFinishedSemaphore; + + private int _width; + private int _height; + private VkFormat _format; + + internal bool ScreenCaptureRequested { get; set; } + + public unsafe Window(VulkanGraphicsDevice gd, SurfaceKHR surface, PhysicalDevice physicalDevice, Device device) + { + _gd = gd; + _physicalDevice = physicalDevice; + _device = device; + _surface = surface; + + CreateSwapchain(); + + var semaphoreCreateInfo = new SemaphoreCreateInfo() + { + SType = StructureType.SemaphoreCreateInfo + }; + + gd.Api.CreateSemaphore(device, semaphoreCreateInfo, null, out _imageAvailableSemaphore).ThrowOnError(); + gd.Api.CreateSemaphore(device, semaphoreCreateInfo, null, out _renderFinishedSemaphore).ThrowOnError(); + } + + private void RecreateSwapchain() + { + for (int i = 0; i < _swapchainImageViews.Length; i++) + { + _swapchainImageViews[i].Dispose(); + } + + CreateSwapchain(); + } + + private unsafe void CreateSwapchain() + { + _gd.SurfaceApi.GetPhysicalDeviceSurfaceCapabilities(_physicalDevice, _surface, out var capabilities); + + uint surfaceFormatsCount; + + _gd.SurfaceApi.GetPhysicalDeviceSurfaceFormats(_physicalDevice, _surface, &surfaceFormatsCount, null); + + var surfaceFormats = new SurfaceFormatKHR[surfaceFormatsCount]; + + fixed (SurfaceFormatKHR* pSurfaceFormats = surfaceFormats) + { + _gd.SurfaceApi.GetPhysicalDeviceSurfaceFormats(_physicalDevice, _surface, &surfaceFormatsCount, pSurfaceFormats); + } + + uint presentModesCount; + + _gd.SurfaceApi.GetPhysicalDeviceSurfacePresentModes(_physicalDevice, _surface, &presentModesCount, null); + + var presentModes = new PresentModeKHR[presentModesCount]; + + fixed (PresentModeKHR* pPresentModes = presentModes) + { + _gd.SurfaceApi.GetPhysicalDeviceSurfacePresentModes(_physicalDevice, _surface, &presentModesCount, pPresentModes); + } + + uint imageCount = capabilities.MinImageCount + 1; + if (capabilities.MaxImageCount > 0 && imageCount > capabilities.MaxImageCount) + { + imageCount = capabilities.MaxImageCount; + } + + var surfaceFormat = ChooseSwapSurfaceFormat(surfaceFormats); + + var extent = ChooseSwapExtent(capabilities); + + _width = (int)extent.Width; + _height = (int)extent.Height; + _format = surfaceFormat.Format; + + var oldSwapchain = _swapchain; + + var swapchainCreateInfo = new SwapchainCreateInfoKHR() + { + SType = StructureType.SwapchainCreateInfoKhr, + Surface = _surface, + MinImageCount = imageCount, + ImageFormat = surfaceFormat.Format, + ImageColorSpace = surfaceFormat.ColorSpace, + ImageExtent = extent, + ImageUsage = ImageUsageFlags.ImageUsageColorAttachmentBit | ImageUsageFlags.ImageUsageTransferDstBit, + ImageSharingMode = SharingMode.Exclusive, + ImageArrayLayers = 1, + PreTransform = capabilities.CurrentTransform, + CompositeAlpha = CompositeAlphaFlagsKHR.CompositeAlphaOpaqueBitKhr, + PresentMode = ChooseSwapPresentMode(presentModes), + Clipped = true, + OldSwapchain = oldSwapchain + }; + + _gd.SwapchainApi.CreateSwapchain(_device, swapchainCreateInfo, null, out _swapchain).ThrowOnError(); + + _gd.SwapchainApi.GetSwapchainImages(_device, _swapchain, &imageCount, null); + + _swapchainImages = new Image[imageCount]; + + fixed (Image* pSwapchainImages = _swapchainImages) + { + _gd.SwapchainApi.GetSwapchainImages(_device, _swapchain, &imageCount, pSwapchainImages); + } + + _swapchainImageViews = new Auto[imageCount]; + + for (int i = 0; i < imageCount; i++) + { + _swapchainImageViews[i] = CreateSwapchainImageView(_swapchainImages[i], surfaceFormat.Format); + } + } + + private unsafe Auto CreateSwapchainImageView(Image swapchainImage, VkFormat format) + { + var componentMapping = new ComponentMapping( + ComponentSwizzle.R, + ComponentSwizzle.G, + ComponentSwizzle.B, + ComponentSwizzle.A); + + var aspectFlags = ImageAspectFlags.ImageAspectColorBit; + + var subresourceRange = new ImageSubresourceRange(aspectFlags, 0, 1, 0, 1); + + var imageCreateInfo = new ImageViewCreateInfo() + { + SType = StructureType.ImageViewCreateInfo, + Image = swapchainImage, + ViewType = ImageViewType.ImageViewType2D, + Format = format, + Components = componentMapping, + SubresourceRange = subresourceRange + }; + + _gd.Api.CreateImageView(_device, imageCreateInfo, null, out var imageView).ThrowOnError(); + return new Auto(new DisposableImageView(_gd.Api, _device, imageView)); + } + + private static SurfaceFormatKHR ChooseSwapSurfaceFormat(SurfaceFormatKHR[] availableFormats) + { + if (availableFormats.Length == 1 && availableFormats[0].Format == VkFormat.Undefined) + { + return new SurfaceFormatKHR(VkFormat.B8G8R8A8Unorm, ColorSpaceKHR.ColorspaceSrgbNonlinearKhr); + } + + foreach (var format in availableFormats) + { + if (format.Format == VkFormat.B8G8R8A8Unorm && format.ColorSpace == ColorSpaceKHR.ColorspaceSrgbNonlinearKhr) + { + return format; + } + } + + return availableFormats[0]; + } + + private static PresentModeKHR ChooseSwapPresentMode(PresentModeKHR[] availablePresentModes) + { + if (availablePresentModes.Contains(PresentModeKHR.PresentModeImmediateKhr)) + { + return PresentModeKHR.PresentModeImmediateKhr; + } + else if (availablePresentModes.Contains(PresentModeKHR.PresentModeMailboxKhr)) + { + return PresentModeKHR.PresentModeMailboxKhr; + } + else + { + return PresentModeKHR.PresentModeFifoKhr; + } + } + + public static Extent2D ChooseSwapExtent(SurfaceCapabilitiesKHR capabilities) + { + if (capabilities.CurrentExtent.Width != uint.MaxValue) + { + return capabilities.CurrentExtent; + } + else + { + uint width = Math.Max(capabilities.MinImageExtent.Width, Math.Min(capabilities.MaxImageExtent.Width, SurfaceWidth)); + uint height = Math.Max(capabilities.MinImageExtent.Height, Math.Min(capabilities.MaxImageExtent.Height, SurfaceHeight)); + + return new Extent2D(width, height); + } + } + + public unsafe void Present(ITexture texture, ImageCrop crop, Action swapBuffersCallback) + { + uint nextImage = 0; + + while (true) + { + var acquireResult = _gd.SwapchainApi.AcquireNextImage( + _device, + _swapchain, + ulong.MaxValue, + _imageAvailableSemaphore, + new Fence(), + ref nextImage); + + if (acquireResult == Result.ErrorOutOfDateKhr || + acquireResult == Result.SuboptimalKhr) + { + RecreateSwapchain(); + } + else + { + acquireResult.ThrowOnError(); + break; + } + } + + var swapchainImage = _swapchainImages[nextImage]; + + _gd.FlushAllCommands(); + + var cbs = _gd.CommandBufferPool.Rent(); + + Transition( + cbs.CommandBuffer, + swapchainImage, + 0, + AccessFlags.AccessTransferWriteBit, + ImageLayout.Undefined, + ImageLayout.General); + + var view = (TextureView)texture; + + int srcX0, srcX1, srcY0, srcY1; + float scale = view.ScaleFactor; + + if (crop.Left == 0 && crop.Right == 0) + { + srcX0 = 0; + srcX1 = (int)(view.Width / scale); + } + else + { + srcX0 = crop.Left; + srcX1 = crop.Right; + } + + if (crop.Top == 0 && crop.Bottom == 0) + { + srcY0 = 0; + srcY1 = (int)(view.Height / scale); + } + else + { + srcY0 = crop.Top; + srcY1 = crop.Bottom; + } + + if (scale != 1f) + { + srcX0 = (int)(srcX0 * scale); + srcY0 = (int)(srcY0 * scale); + srcX1 = (int)Math.Ceiling(srcX1 * scale); + srcY1 = (int)Math.Ceiling(srcY1 * scale); + } + + if (ScreenCaptureRequested) + { + CaptureFrame(view, srcX0, srcY0, srcX1 - srcX0, srcY1 - srcY0, view.Info.Format.IsBgr(), crop.FlipX, crop.FlipY); + + ScreenCaptureRequested = false; + } + + float ratioX = MathF.Min(1f, (_height * (float)SurfaceWidth) / ((float)SurfaceHeight * _width)); + float ratioY = MathF.Min(1f, (_width * (float)SurfaceHeight) / ((float)SurfaceWidth * _height)); + + int dstWidth = (int)(_width * ratioX); + int dstHeight = (int)(_height * ratioY); + + int dstPaddingX = (_width - dstWidth) / 2; + int dstPaddingY = (_height - dstHeight) / 2; + + int dstX0 = crop.FlipX ? _width - dstPaddingX : dstPaddingX; + int dstX1 = crop.FlipX ? dstPaddingX : _width - dstPaddingX; + + int dstY0 = crop.FlipY ? dstPaddingY : _height - dstPaddingY; + int dstY1 = crop.FlipY ? _height - dstPaddingY : dstPaddingY; + + _gd.HelperShader.Blit( + _gd, + cbs, + view, + _swapchainImageViews[nextImage], + _width, + _height, + _format, + new Extents2D(srcX0, srcY0, srcX1, srcY1), + new Extents2D(dstX0, dstY1, dstX1, dstY0), + true, + true); + + Transition( + cbs.CommandBuffer, + swapchainImage, + 0, + 0, + ImageLayout.General, + ImageLayout.PresentSrcKhr); + + _gd.CommandBufferPool.Return( + cbs, + new[] { _imageAvailableSemaphore }, + new[] { PipelineStageFlags.PipelineStageColorAttachmentOutputBit }, + new[] { _renderFinishedSemaphore }); + + // TODO: Present queue. + var semaphore = _renderFinishedSemaphore; + var swapchain = _swapchain; + + Result result; + + var presentInfo = new PresentInfoKHR() + { + SType = StructureType.PresentInfoKhr, + WaitSemaphoreCount = 1, + PWaitSemaphores = &semaphore, + SwapchainCount = 1, + PSwapchains = &swapchain, + PImageIndices = &nextImage, + PResults = &result + }; + + _gd.SwapchainApi.QueuePresent(_gd.Queue, presentInfo); + } + + private unsafe void Transition( + CommandBuffer commandBuffer, + Image image, + AccessFlags srcAccess, + AccessFlags dstAccess, + ImageLayout srcLayout, + ImageLayout dstLayout) + { + var subresourceRange = new ImageSubresourceRange(ImageAspectFlags.ImageAspectColorBit, 0, 1, 0, 1); + + var barrier = new ImageMemoryBarrier() + { + SType = StructureType.ImageMemoryBarrier, + SrcAccessMask = srcAccess, + DstAccessMask = dstAccess, + OldLayout = srcLayout, + NewLayout = dstLayout, + SrcQueueFamilyIndex = Vk.QueueFamilyIgnored, + DstQueueFamilyIndex = Vk.QueueFamilyIgnored, + Image = image, + SubresourceRange = subresourceRange + }; + + _gd.Api.CmdPipelineBarrier( + commandBuffer, + PipelineStageFlags.PipelineStageTopOfPipeBit, + PipelineStageFlags.PipelineStageAllCommandsBit, + 0, + 0, + null, + 0, + null, + 1, + barrier); + } + + private void CaptureFrame(TextureView texture, int x, int y, int width, int height, bool isBgra, bool flipX, bool flipY) + { + byte[] bitmap = texture.GetData(x, y, width, height); + + _gd.OnScreenCaptured(new ScreenCaptureImageInfo(width, height, isBgra, bitmap, flipX, flipY)); + } + + public void SetSize(int width, int height) + { + // Not needed as we can get the size from the surface. + } + + protected virtual void Dispose(bool disposing) + { + if (disposing) + { + unsafe + { + _gd.Api.DestroySemaphore(_device, _renderFinishedSemaphore, null); + _gd.Api.DestroySemaphore(_device, _imageAvailableSemaphore, null); + + for (int i = 0; i < _swapchainImageViews.Length; i++) + { + _swapchainImageViews[i].Dispose(); + } + + _gd.SwapchainApi.DestroySwapchain(_device, _swapchain, null); + + } + } + } + + public void Dispose() + { + Dispose(true); + } + } +} diff --git a/Ryujinx.HLE/HOS/Services/Nv/Types/NvFence.cs b/Ryujinx.HLE/HOS/Services/Nv/Types/NvFence.cs index 664610a43..e57e5e082 100644 --- a/Ryujinx.HLE/HOS/Services/Nv/Types/NvFence.cs +++ b/Ryujinx.HLE/HOS/Services/Nv/Types/NvFence.cs @@ -32,7 +32,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv.Types { if (IsValid()) { - return gpuContext.Synchronization.WaitOnSyncpoint(Id, Value, timeout); + // return gpuContext.Synchronization.WaitOnSyncpoint(Id, Value, timeout); } return false; diff --git a/Ryujinx.Headless.SDL2/OpenGL/OpenGLWindow.cs b/Ryujinx.Headless.SDL2/OpenGL/OpenGLWindow.cs index a69951433..88dcbccfc 100644 --- a/Ryujinx.Headless.SDL2/OpenGL/OpenGLWindow.cs +++ b/Ryujinx.Headless.SDL2/OpenGL/OpenGLWindow.cs @@ -108,14 +108,9 @@ namespace Ryujinx.Headless.SDL2.OpenGL _glLogLevel = glLogLevel; } - protected override string GetGpuVendorName() - { - return ((Renderer)Renderer).GpuVendor; - } - public override SDL_WindowFlags GetWindowFlags() => SDL_WindowFlags.SDL_WINDOW_OPENGL; - protected override void InitializeRenderer() + protected override void InitializeWindowRenderer() { // Ensure to not share this context with other contexts before this point. SetupOpenGLAttributes(false, _glLogLevel); @@ -147,7 +142,9 @@ namespace Ryujinx.Headless.SDL2.OpenGL MouseDriver.SetClientSize(DefaultWidth, DefaultHeight); } - protected override void FinalizeRenderer() + protected override void InitializeRenderer() { } + + protected override void FinalizeWindowRenderer() { // Try to bind the OpenGL context before calling the gpu disposal. _openGLContext.MakeCurrent(); diff --git a/Ryujinx.Headless.SDL2/Options.cs b/Ryujinx.Headless.SDL2/Options.cs index 4c9b83c4d..806fcd71e 100644 --- a/Ryujinx.Headless.SDL2/Options.cs +++ b/Ryujinx.Headless.SDL2/Options.cs @@ -164,6 +164,9 @@ namespace Ryujinx.Headless.SDL2 [Option("graphics-shaders-dump-path", Required = false, HelpText = "Dumps shaders in this local directory. (Developer only)")] public string GraphicsShadersDumpPath { get; set; } + [Option("graphics-backend", Required = false, Default = GraphicsBackend.OpenGl, HelpText = "Change Graphics Backend to use.")] + public GraphicsBackend GraphicsBackend { get; set; } + // Hacks [Option("expand-ram", Required = false, Default = false, HelpText = "Expands the RAM amount on the emulated system from 4GB to 6GB.")] diff --git a/Ryujinx.Headless.SDL2/Program.cs b/Ryujinx.Headless.SDL2/Program.cs index 1d64a8c6c..05eac2e2e 100644 --- a/Ryujinx.Headless.SDL2/Program.cs +++ b/Ryujinx.Headless.SDL2/Program.cs @@ -17,7 +17,9 @@ using Ryujinx.Graphics.GAL.Multithreading; using Ryujinx.Graphics.Gpu; using Ryujinx.Graphics.Gpu.Shader; using Ryujinx.Graphics.OpenGL; +using Ryujinx.Graphics.Vulkan; using Ryujinx.Headless.SDL2.OpenGL; +using Ryujinx.Headless.SDL2.Vulkan; using Ryujinx.HLE; using Ryujinx.HLE.FileSystem; using Ryujinx.HLE.HOS; @@ -25,6 +27,7 @@ using Ryujinx.HLE.HOS.Services.Account.Acc; using Ryujinx.Input; using Ryujinx.Input.HLE; using Ryujinx.Input.SDL2; +using Silk.NET.Vulkan; using System; using System.Collections.Generic; using System.IO; @@ -403,7 +406,7 @@ namespace Ryujinx.Headless.SDL2 } // Setup graphics configuration - GraphicsConfig.EnableShaderCache = (bool)option.EnableShaderCache; + GraphicsConfig.EnableShaderCache = (bool)option.EnableShaderCache && option.GraphicsBackend != GraphicsBackend.Vulkan; GraphicsConfig.ResScale = option.ResScale; GraphicsConfig.MaxAnisotropy = option.MaxAnisotropy; GraphicsConfig.ShadersDumpPath = option.GraphicsShadersDumpPath; @@ -449,10 +452,29 @@ namespace Ryujinx.Headless.SDL2 Logger.Info?.Print(LogClass.Application, label); } - private static Switch InitializeEmulationContext(WindowBase window, Options options) + private static (WindowBase, IRenderer) CreateRenderer(Options options) { - IRenderer renderer = new Renderer(); + WindowBase window; + IRenderer renderer; + if (options.GraphicsBackend == GraphicsBackend.Vulkan) + { + VulkanWindow vulkanWindow = new VulkanWindow(_inputManager, options.LoggingGraphicsDebugLevel, options.AspectRatio, (bool)options.EnableMouse); + window = vulkanWindow; + renderer = new VulkanGraphicsDevice((instance, vk) => new SurfaceKHR((ulong)(vulkanWindow.CreateWindowSurface(instance.Handle))), + vulkanWindow.GetRequiredInstanceExtensions); + } + else + { + window = new OpenGLWindow(_inputManager, options.LoggingGraphicsDebugLevel, options.AspectRatio, (bool)options.EnableMouse); + renderer = new Renderer(); + } + + return (window, renderer); + } + + private static Switch InitializeEmulationContext(WindowBase window, IRenderer renderer, Options options) + { BackendThreading threadingMode = options.BackendThreading; bool threadedGAL = threadingMode == BackendThreading.On || (threadingMode == BackendThreading.Auto && renderer.PreferThreading); @@ -521,8 +543,11 @@ namespace Ryujinx.Headless.SDL2 Logger.RestartTime(); - _window = new OpenGLWindow(_inputManager, options.LoggingGraphicsDebugLevel, options.AspectRatio, (bool)options.EnableMouse); - _emulationContext = InitializeEmulationContext(_window, options); + (WindowBase window, IRenderer renderer) = CreateRenderer(options); + + _window = window; + + _emulationContext = InitializeEmulationContext(window, renderer, options); SetupProgressHandler(); diff --git a/Ryujinx.Headless.SDL2/Ryujinx.Headless.SDL2.csproj b/Ryujinx.Headless.SDL2/Ryujinx.Headless.SDL2.csproj index 89e7e81a9..27faf9770 100644 --- a/Ryujinx.Headless.SDL2/Ryujinx.Headless.SDL2.csproj +++ b/Ryujinx.Headless.SDL2/Ryujinx.Headless.SDL2.csproj @@ -16,6 +16,7 @@ + diff --git a/Ryujinx.Headless.SDL2/Vulkan/VulkanWindow.cs b/Ryujinx.Headless.SDL2/Vulkan/VulkanWindow.cs new file mode 100644 index 000000000..9a8c91b66 --- /dev/null +++ b/Ryujinx.Headless.SDL2/Vulkan/VulkanWindow.cs @@ -0,0 +1,91 @@ +using Ryujinx.Common.Configuration; +using Ryujinx.Common.Logging; +using Ryujinx.Input.HLE; +using System; +using System.Runtime.InteropServices; +using System.Text; +using static SDL2.SDL; + +namespace Ryujinx.Headless.SDL2.Vulkan +{ + class VulkanWindow : WindowBase + { + private GraphicsDebugLevel _glLogLevel; + + public VulkanWindow(InputManager inputManager, GraphicsDebugLevel glLogLevel, AspectRatio aspectRatio, bool enableMouse) : base(inputManager, glLogLevel, aspectRatio, enableMouse) + { + _glLogLevel = glLogLevel; + } + + public override SDL_WindowFlags GetWindowFlags() => SDL_WindowFlags.SDL_WINDOW_VULKAN; + + protected override void InitializeWindowRenderer() { } + + protected override void InitializeRenderer() + { + Renderer?.Window.SetSize(DefaultWidth, DefaultHeight); + MouseDriver.SetClientSize(DefaultWidth, DefaultHeight); + } + + public unsafe IntPtr CreateWindowSurface(IntPtr instance) + { + if (SDL_Vulkan_CreateSurface(WindowHandle, instance, out ulong surfaceHandle) == SDL_bool.SDL_FALSE) + { + string errorMessage = $"SDL_Vulkan_CreateSurface failed with error \"{SDL_GetError()}\""; + + Logger.Error?.Print(LogClass.Application, errorMessage); + + throw new Exception(errorMessage); + } + + return (IntPtr)surfaceHandle; + } + + private static unsafe string GetStringFromUtf8Byte(byte* start) + { + byte* end = start; + while (*end != 0) end++; + + return Encoding.UTF8.GetString(start, (int)(end - start)); + } + + // TODO: Fix this in SDL2-CS. + [DllImport("SDL2", EntryPoint = "SDL_Vulkan_GetInstanceExtensions", CallingConvention = CallingConvention.Cdecl)] + public static extern SDL_bool SDL_Vulkan_GetInstanceExtensions_Workaround(IntPtr window, out uint count, IntPtr names); + + public unsafe string[] GetRequiredInstanceExtensions() + { + if (SDL_Vulkan_GetInstanceExtensions_Workaround(WindowHandle, out uint extensionsCount, IntPtr.Zero) == SDL_bool.SDL_TRUE) + { + IntPtr[] rawExtensions = new IntPtr[(int)extensionsCount]; + string[] extensions = new string[(int)extensionsCount]; + + fixed (IntPtr* rawExtensionsPtr = rawExtensions) + { + if (SDL_Vulkan_GetInstanceExtensions_Workaround(WindowHandle, out extensionsCount, (IntPtr)rawExtensionsPtr) == SDL_bool.SDL_TRUE) + { + for (int i = 0; i < extensions.Length; i++) + { + extensions[i] = GetStringFromUtf8Byte((byte*)rawExtensions[i]); + } + + return extensions; + } + } + } + + string errorMessage = $"SDL_Vulkan_GetInstanceExtensions failed with error \"{SDL_GetError()}\""; + + Logger.Error?.Print(LogClass.Application, errorMessage); + + throw new Exception(errorMessage); + } + + protected override void FinalizeWindowRenderer() + { + Device.DisposeGpu(); + } + + protected override void SwapBuffers() { } + } +} diff --git a/Ryujinx.Headless.SDL2/WindowBase.cs b/Ryujinx.Headless.SDL2/WindowBase.cs index 58aa8d070..2f25a5850 100644 --- a/Ryujinx.Headless.SDL2/WindowBase.cs +++ b/Ryujinx.Headless.SDL2/WindowBase.cs @@ -151,22 +151,29 @@ namespace Ryujinx.Headless.SDL2 } } + protected abstract void InitializeWindowRenderer(); + protected abstract void InitializeRenderer(); - protected abstract void FinalizeRenderer(); + protected abstract void FinalizeWindowRenderer(); protected abstract void SwapBuffers(object image); - protected abstract string GetGpuVendorName(); - public abstract SDL_WindowFlags GetWindowFlags(); + private string GetGpuVendorName() + { + return Renderer.GetHardwareInfo().GpuVendor; + } + public void Render() { - InitializeRenderer(); + InitializeWindowRenderer(); Device.Gpu.Renderer.Initialize(_glLogLevel); + InitializeRenderer(); + _gpuVendorName = GetGpuVendorName(); Device.Gpu.Renderer.RunLoop(() => @@ -220,7 +227,7 @@ namespace Ryujinx.Headless.SDL2 } }); - FinalizeRenderer(); + FinalizeWindowRenderer(); } public void Exit() diff --git a/Ryujinx.Ui.Common/Configuration/ConfigurationFileFormat.cs b/Ryujinx.Ui.Common/Configuration/ConfigurationFileFormat.cs index 28a2956a6..918a52d95 100644 --- a/Ryujinx.Ui.Common/Configuration/ConfigurationFileFormat.cs +++ b/Ryujinx.Ui.Common/Configuration/ConfigurationFileFormat.cs @@ -310,6 +310,11 @@ namespace Ryujinx.Ui.Common.Configuration ///
  2. Eu~!D>=+hTP;IE24(ksINjXzvy zNj@N|O3QhiQn9~4RLWSs@|%DvD@%3idvw(}>qT%u0jBSe>yW#rkRN^8l%ui&b>HHO z3>j07%p!ENw9uz|4He5ru`e&9?s0_(XN%2$W8qcqw({IYfe6>$SjG2iw7X+9iy3%* zfa_VIh2`SmVUUZGx9*qL9Ha z;f}$jxFOUus&QVgO!{AgWq$0mEhX{#x-uCOW82+BR1tZ#t9#SACi=9lWy2Dg4u|TV zSzN+zAVf?}c-i>4M)S#8gu|g?iW;5mcwjn=Gs|BUte$pS6Q zrk3n-_b=rXEJjhC7Q|A?cauRZl~Px^S&z|E|N7Xp>%smtDdvlv!&Z@f9#msId7ElCOBWG zj=Qpyp4L#E7d6dJ`vDo#egFmOZgM~VzOb0;1Q*9?KTZ~_)pQ|F=sw{+*?I!q<wb1UQ}LUbIl0N0x=IB7k=Tto>sy2F|%L;dc{v;7S3W8 z#PIegRDxxn_+}dBs5`e?gdf6JfC*3<;sh3P+;elA-}*#YD>P?iXfE5Z-OC1Ef_I8- z$;VZaSysNSI!6=h;@h~@}9fQIt(m#ZJ08xx6N__Ouy)t$R)XlK9 z4_BMK3l~klzG%Ds{t8}{oPA_6W|6Cc~Xr4Lu`3)MM~15R1y;k!j9ssolBa7VUF zYjz9omDY^-XEWr^uTBvEm*BuR38}CfOKk7Q&A*QwWIF&_OHiZ9%y%K%3>AGsydTqi zmH@jEgR>1UYcdE5JqUV|kd{I`GivCWUl+aVn9Hm6E=Ax}Mf3fNUNCbytLR8u5lNEW zAC7liBIR;AzauR11y?yGNhkc{&t-C*1?M{Lw>}N((W5lg@*DP%&B*uF3s;>zT zUJE{d&KbO(pBMEeFYxG651YSegU03iH(_^HBb9>PqwcIly0QqK(DdN>XK>ShPDfPO zoim?zQMbo49z7a?9wK1Hs+OLk+&&y=idP({dx@e$s{DBMuR=2g>XxhTuEPYE6|vCq z={-PIO1?IH`u1Rd$g5LHcdSv)IGPuT=otCP5<(?Iimj?XIHeEjHf^y-kM*^FCHO?G9u48ym-un|UCl=Sodx*~H8#8u$YO`KNs@bI31zKY!5`GN%>I?;f2rYG_Z-Vgs{fo#v$> zv^hb~7FcM>xvV-t&k}3$4Tz()Hqyq(T=SFtAUR{9nYgsF!+q}==y~=G0kc|qMdG2E z=C{^|XE-xIxrpd5FqrHuFAL>9$-TH_E~jf~W=nSLyqOYs#iK|Kqf~xg04gkSgr&mX z<6xVKajW#iN%>0XqxR`1fmXhBLm#!gl97C}lHvKuCk65(pA=E%C7&Gkp1EwarO4ic zA`2uavVhtApQ6b6ZJVx>u3L4UxxSCE19aQV=AGw6OrG~M5A}rR(Y>FA-Dl08?_$5k z|6BCBsPsuAMVL?h8C{ykY&9ruW1Y}Iy1qN&5?vK)NR#8!C@&;vl)HcC;XA_d+4!7m z%+dKo0(Li*O}i2D@BsG(E-X1Cnd()PPE4g1fL=YKZv5f5_p<#s#of>&mNvOrqgR1g z=&^`<4A_m+BJ>n#tpsPqGn%S8QPd7Y7LeJW^8Ihb+3qf$=c?(07gw-#C^2Ng5%Ay1B$qx zMBGi$L4OI?u7FYAl8y8s5*YDjbjDkfNSABk@r_<%?l=LY7Ds^4)(|cIw1$|hs_I%y zhpFJw{EQlqoBLH9d@1yk{eE2M-#Zca#)@c)Pmh#dTfxVlh)>UGzsCQbRH>*Py!Iu% zIu0m%&>8fywXj0|or%eA0+SJ8s=n36GWj=!!n^<5g2U(mqQSB(aeH^6-JjD}XxpaK zVCL;xJ%m>93u1W$$++Hd=h=+*et+=Dlpg0ncqe&MaqZy*g|TFls-0#6}0zrxwq0v z>R^`r^QW)k#`-ZETR1&b&9^R5e<4*BV(4($`hCpLr4x)Q9z_6!>?n2#torc{hgv#flieDy+MVfZ zLZ&l%Vk-xgX?f+TN}9Gw!FyW~LBL%LMS+aQ%6XC$g_ZGaG6xK|6vZZReO7{^$TD~Q zLa>-dQGB~ca_`K2TJLTaplhsFU78>W(gy0z-r+!FhwR8tQCpOYT$ukze&QmG3M_2KS#3VLhtUrwNivJbBxF zglyZQhZWLURBFRakg$$O>Xrx1Mh=O#UKEtCUmocm)NK2e&w8gxFQ@&)PDQ!5=H=S% zvV^%}FWy)h}HM6#iuq9Ma)V`!fn7e?TmDr~P8t_&@L`U>VtgwJ6ydO{NK_C{jw(ft;8mzXDhEV#zhWXNzQP?ygb z?E>zP#%Ju2zVLbJEq3{wmRt#e876SAeeM&%`y{nPb17KvZf(i7p+Sc`qvJ;+pViS6 zA2&;ryYV5d^#~^IyjdWXzzlDxBb0!KEkTJHaWAq_BdB3to-pdqjl*P&o?5 zWKs#HCqT;KOyS=4c?$KGN>(~!*fb+tW4hXR?KA8(?2nVvJR@inC#sdJ@B+%ReS!+AcSHq|nXNY|n3;fWerfzD|@L z7RiZY&9Zz18z1mA#j+AS$3fDT$Ol6yTnGm#o+B`GBPB%19(CZo=qXZ`XzF$cW6enH z+mYD!F$?-WCPfdZhy2X(e$+GW=6gR2`C*0^@nf3amC1meZ8Jv7tN2fZ2+i!@S)(8w z2??Q3)h-HsE;UoXrV|J*7xJs=7(ri`vTE~WoyRA&J^`O}_i*?mq|`0CneE@arkfx6 zH|up%!_6F1%a`fY(!Z|%H3NG#1IX_qv0#3>mf1$QO=gQiWbqC{{K3z-%}&f&BlMCGqQIKYC8tMs`>OL?6wzO)oWD`F~;-9i#b(2R0x+aiV;C)GEhl9`v zL`6W^Y1*Yj2q9hF&xw)8Z6&7|%Al67DOHqx2_K6FzQ~-TbOhK5V498C#uIY}=MM^hS|3J!jA(vAnbIVImp1Xt? zg*$~92kg&58#|IbPSpfTq8e;lsY|}Pj6R`_fET>mOR5EFL3iH%vqpXMd@8ZjgL|jY zr1;H;|0s3eofbiIJMI_KUBC&gHbuXY{%pp()yInsFL4IF=t+&9PGE3f{(U7(lgM6Vh_7p$n_bM;}%IlPZ;1{0G!H6>FMxlFJPK5oEwt$GxD^GaDC#Pv8)l zgS1zQnEx0mf`~mqx)TLEhqQ!_ff5@JRftuE_C(P9`XbT2TZ#2tA;PN&d2jWB7#Vo` zN_o?OiZggli_x!9Hg=+7_R2mB-7p%iLfg`@RMgws1xqOTpeyBBGc$N z8%nvGZU*IetC)Ob*H_@m4yZ27R}2PbVPsItJP3WiW3iCnEQ>lI?g zs?pQdDhoz@ENigVEV&UC$7?%X^;Ch*$Af(T6_l1w0j*hPzajJ6N*k{Ip0}T%3ENpC zhG-Lxvism|R-W+au%oK?#@sWo7|6+L=?fh77+l|yW0?)2nG2Hl;giy>)!^3EwGG|P zZ%SyP^_pLFF*c&eZ%*}i_pXG$Sfi>m+{GbWl`kpt4)R5wGQyMCCi6wEBwZw+-OKd9 zQqT^CuY8fOU|J*zb3gO(751_Fg873icx}E&%VMytinP$llgwf;y%G^{3%@#tZBa`J z99CytQu>(*%n=QVi2=pEU>0tLwEsf#MK0*qRldkAQ*E0F5Uptc1#*b#;A_%GbWtdbFn`|Gv&3#RyFGxTpeMiQR4iU9w^k=9oHhrK? z5ZWBb3(XGn54{(O*KEet?hsy`cbt9oAbQWu6nVsnPkqpdP2Gr}8JYl6KiO*H<7Oi{ zez0x7Qz50f{Hb@UMM%DeE#w~|5dNJcqH7ir?K(LejhT_o&ozm@Aq`^l8$pR9Z zL*xKFpw+Jv#+I=jPmn&ocBO?iS#6n$`^?SPx$BE?lR3 zH>Y%L0$#Ura7Nr_4@^S~CEbc$vRJZJwz*k6<-WF%`!{5~il*GdKRWRsQE(oZ*K?z1Q#_$(`aT3cDRCABWSPJ+UnelRpX zV2IZ5L=~sG=t7!(KQ?uKm~4#k=qC156a6+${FGU_+B{Q1?VQa}n}xm~d)RQ>(lEwTvWJaw*o?y-HoZIEIqUa-MYVU(wl$VzH(*>Fbe6tBVipt* zwfI71uVUI7&B`OeKXib)(u`)ye~gf>hW<+3lj^U^#mCXn6`A%T>pIi#(7n()>_sq( zuJ)(5)9&q{bBA}@xd&sgiEV7^jAh1LA@HMtK#nNKV;IijT_hZjGctkcG~HVv*#t88$^WNU~bMEW0E@e@ldY0ChvXtA$J``WCWN+ zARwLgmN}FD5$5aQmvRKLke#ANNN2gKBfP>X5vS7|EB*b4V@eoZWSb*kv^FD`# zN|OHJIE3WiZbls-^lQ12ijUb?-et|Rx|FDXtr@sl*BGy<4^UMXG=G0UR#xUTChv#` zGJQ)HaAi5j1djKzMM8pa!1thApibnkd6-ni@C`SKmqay&5{-^nUb5Ky?l)BAvu`Oacf z_Gp_}NA|t#&h!=P<^_1Jba<2;&F)`hoOkhu3#&wxP2VEokV9`%VnU4W-JIbOe{as1 zMt7rF60-p@l9GQDIu&+9Ng2bfGTBxk#A|6dpp`=Y>1a4&TA!e@ES2TN%QA1b-UHY~ zjU`VhFEit^#jOofasVacXs zn^%U>(ZnvPkHpvslXFRVg*Nj-v=20?Ar}^N zPq@7c5&c}~@K?d#c>X5vSLwt?QQN4ZmBWhJTsil5Qw_uN)VEg!tCL0JTLyGL^iEhV zSV`xytF3-2=;@|{3@kr9WL!b@K8#2T-^otwYvI~Zes0UY!eEnekH|A;4;3D{K`QQ0 z9(v8NJ3}OY#GOzil*Ja0PBXvV+p=RQkeRwF##mwA>w&lw=~I<0B@4Wn%>qYj-%~*~ z&zWrvBvXrr@@z-&nKKt}n}@`U2eA+ZLX0UiAC2Zh5^d#ky{I9ym<0g@-SZ~kU!6v8|}Wa zm%nIKpVhiVu89fjBYX7jX;XziKHWdMOjD(ln@PK$JKh&w8`Y)V&&gT(ByCRKSlQP0 zcu*Y_RBmWd_qmw(#yrY34Srr0pC4Zd@w854)I;5@i7~qN45$u~uRC4sl!9 zNSmMkTs&ASu+JUrH z&a-Sg1Wummdy~h^^Y}>bFLQYI@jSX1 zf9*N8>iMjf<=;bw**DGP6``UC_AgO3Y=kmaQz*;$_<%T_Vr2CR{=m9k!7fq+&eh`& z0y8)7r9zEn(`WbiHX$K4{M1(4Ua{9+ig%y>ORWIBdo;iK0Dn&K9Sn_ETMeNJ{+t9G zLX`zPSsA(lFk$fj_T9vs1kLuT$vMgQ9y63zznPqq5<4fTn7v8C2`x1%q}!929eg$3 zL?$AYV#erbuapjTcV^~=9B*b;{v$CnR43r6v_l%;HJX~6 zOR#eA=EgBgx6kwZ!>|l`S(K~g5LcTkFK5G{%5Ly>2-I{G7>c$s;~=|(mwkE?x91r< zN_LyCFG<=5ZS9OcW~oA3TVAnt#-fE}cf7A>MhGp$UAi4%ID0hHH_n*-4`q(jlsk_7 z<~h0Ln%i$oh;c%*=+j(^&hin+YO~;~`w}41$V;GLT%(e7!auGtb-awao9T-{byhmh zWDOGJ$+68F4@}JKlxrOAp1jHGQN|RQ#uo8VTg#^1B&+Gc&zF^)B`hpMg&{w%h`7Ys zp_B;Fkm<#vMa)|P`>z=H#vgy8dBf&e(1DoAvOnqcr04G+%I|Fc3g}CI27l4t<1YeY z-_it);(u0l&i~|@m4`5&@tiE%6XE`GIP-ebT5L|4iZ3Z9s;qiNht5CuajNs+gZeos z`}sZV?+$vK@AdX{+jRTh&c5MZ4|rwblQakVb)|P!$on!D+R9j;-K2vw6hxL|kmYc= zg@W8q4!h@NZL7@#J>Z;k2kXU|P^>ed!pCXaz4x35Mu?Ba6>nYj$$0$w3Cbf%cHUdk zlW$`vRbie)jLSvPY{?RGUt{|BCF+3aY26I^_#TioQD0LZ+>-d<3IBslebPSoc>6tV zwXW?NoN~}Y->Avv@3;X7Y$uE7W9=Xl#>oc;2t;NRZd=g~tWi`3esugl+Su=$^^RLp zZ#RkE3}CO+ku>~m_1bE0eG#|tfp6I|;rl)^C>LzVt&6kkHWG($bmrQdA=4JHsfI({ zSkyChn#h$2PJGr@JFC7`t>=$@121Cdr2Au!H}~VM2{>V{VGev%)WUNn&?_rTLv7Sh z3HuppN^I4HiZ$iD)48**JRHrhpaA_t%fkgOhyr*=3KyCi8MG`cbHR9YmKnV^VQZMc zC{RE@`IF`wVb>8d4>tES>)apH#kmhLNn;e>h6}5^mo)~)yr+$Iicix#z-`9@I$!R_ zYn%J&D@3ehnB8ARu&p_!(*FBB{@s0|`(I!DYX<&@%z)(gsdxxhfWJulq#^Wek2f5j zCv_DJ7Q6NR(6Q_sgb(icV#j@AJVcM<-c`X5{Gm^O$Pe-W@!Jwik9N#`Xh2B0?8H?` z&4WH3cm&4nDgGMxTe~DrSYpwEY)eG>lnC^PtByVb!g<7rfu*KCn1%2W@wvI?Dj|bd z&C7m08~Oe{{yyTb&8w%QmKOKfV0@tCkudl|_GfS*0-#B?r+cV+A8XY7V5w`~w zVP_D;C2M%FW`I`0seOl`jayrD2y@raGLTOh>4V|gU@qh(bG_G7QAk^-=Q@_l6GS5n0%g8H0O;KYBJFP{nQHuvN7M3lA0 z9B=0fF9^@R)Jo5)VNN8z+Tl5Xnfe*Xl&RzQkIn9%M2y6v3k6_ zw>b!}KH&I7c{J9M=_~5_u~Es)eh0zoeQ8kh|JZvI_^8Tz|34v#1Oz8g)VNeqMU6LFqtxES*qT5B z=fI4Dieg<#Z(ECXDQbdvEs6$|@pLL(toBw4_O?H@?XT)>rQn)?k^stPRnS_{+InKN zf>sP}`M*EUIcMg~WF`rq_h3Qx_3|rO4&^`T-DQ>XMXGoU zPdjXN3W_wqfVn;sh<42*zecVG2fs5%zq!UPd=-KN)sR9YOMB`J@zcfZB-*Ih7 zxtX53QaaV`4~*3u;XCm1bBldOOg4RB$w)|Iw9BRQczxQ>x-|^r*d$xB?`SMrmden3 z_Rw*&KrSAGnsV!JJy&l1EpqE`0hL;oGonjyAHz=$A-jl}FRAvk)181H0Kplm zY8*Dr8xMlD?yB>(?QRs)3?*byZ#8ZT;F?;GB%^UN1(8h>2UMz!C=_u_m<6esBdyr{ z$XToSje&t;_qy}RO$1tsZF9drN0dDgt8{Pr9%~DNu-re)7q2gDL;Jv#pq3*R$e=bO z=cM-%_a&gY);;`}qE>SIdVV2C&7Jwazki)H?k0HiB`F}eA%Fkf@%=g!9U`<3I;M$* zj-hS6q7*t-7IUsBhn8WuJM7H=HNf#P-tr7fNai{4B_BCce_PHH02**mR~(IptD>gR z=Po~w(CPUf3K0-M$aGWx#;=Ni&{rO=g|+_5QSOjd*aKn_;?g=J2M+0CiQ?f(4lCRt z6!b{-skbA~KS$r@tF)8)aHF-%{{ATaKftQlaOGuQ8oZ0%onc+qod-X2`7y|sM_O$y zV2^IAhP)i(+TDYO3EbPoTb+m=^hm3D>sIz(SLaYkq;zd{TH^0bjU0 zy!A~ZdY^*Byl5@WS=Y*1nw%MDwbwGLmMcNEg~RNc)+^vBbCk32@)?@^cqE-PC85el zA!|DwK`8ZhsqD|yWY?OCG2)6$xtJwu7Ktq^5tl%@7@~ueQbdm#ZxsSn-!;opibjZF zmgPrU6`OdT!}msBStaEuBMViGCutcZ zv%Bh{cQPL*B|S1u^@Ez zZJkOHpJ@Ek>|(e4L@$Ty_h}QuEa*RL4%grPMT$}J)!=_T1W@bF;SD&=JGz+m9i zw2V=1lJr)HqR~;4+#lk{Ez&VnN~OUkx~?R0ON)6=_-|G3`01!V z?oSTx?+$*-oR3{SH~cj`33yk$fnS>tegT9oWE>xp=6?Ugzn*8FOcjqD^OFI8nd^ZN z!=#4%nKI5ZpWoAS;B)8wXXGVeobw-NoL7g>;cRTIN-!PdU7tWrhm9HbKxcB7m9TM~ z7-l!Of|Dn2i^eB!!!M?Io0XW{#mi04=Vp(dP~#QR3j7`^54KVHmaQ&39?kEP<}O|` zAwC3UTWtxB9W>S6v^CjrA8GCB`<9cMdo|hjc?N!Ay~2IcdZwK#o+~l*>vM>y{mkAy z9l#7Rqt3nV=jXalV9GLa-TW6(U06F{!Z*w$Q)x?QvGoPR3X<`~I?}3Xx5b*zDN3^D zu;nS%Tl=Fjx^qUAGE!a~0~^HyPhJF`kpn$GOiXJ=Ti zto5vvpGe3H2+H%k`cUk)jThUMXVsiq+*p>fX9x8hj($OQF=vfc^X1~Ejt7eMDALOS zWA%f=dQkx3rS%~&{Rj8~A*4Vch=+hGJDa1J15q=*vjL6?QBD$_k$*x>K))u1Ka!Gd zysIfuBsllrqB|0t2cn99zN_?%{CP@Pm{ww@xFdlVkk??SuR1gnjqrrjW$qjPBPmH) z6~nA|UQH_!9A@TuAJvru)@Y3nTUl3_LQBc7i1MVw)QrLKRA2W!`eYPjf{1kD&ii#v zzC`fkb;FwYJ<@=rn=$fwdi@)8@yJ(HM@5A)dX=TReu?oIaK@uBIu(AisQx+e+lacP zLm5qErBe_eUv9w$0ZJCDUfH`^J2`%uy3EKc>SUy3Kx9~5@tcv72_(rS+>C01Nk@0;HKz%B) zyDvCM!M6vaf&K;3=f=liMtWUu1c*ZscsV`wXy zJ<#JkQS_C}_3IV>+Uk5Ie$i36-?QR&RTv7A+mB2cMb`!I<$x!zKOlIsXEK`N{hfxN z2NZI=zuDZ+{r=?k4EPWC)C!F+^SO+!c=MSk`d;R9{hYtEbHA7EOWqtZ{`|K7^?&oq zjOVhoN_*9P%;y1p%;!;=-|6T0w?CfIztnr#dYT;ng~9l9tiNsU=U)Fonf=YN{x4?s zFI%s2(K8>v;qov0=n?)WbKti%?%#iG{6)w6IL!p}SuzRrh129P4?@gJR3~|{_(_m< zR=dZ11~$x~&r=Of9U+`rv(ED+gQfEku8Fkk>(d_mYZvC{<_A3dM5%$i`8{Z-8sL7f z{EES^GcY|LbZ}B>H%*PAZ%+*UyqVW}nQ3HFK_z2!Q)RN+pxS%NJ=RnPmd*?U0uP4s zoSvy^XT){J4$M%MF$k5~iycO#He;6*YRUdxeNdMEonk0m&H$D?wYO~^zu#p_F>%I)> z^1t8jZ_Wu1b9sMNn+EV?zasfnCGF_$L?uG?pjP1M4049WCzY(M9gzo9lY^F;{iCK% zr>zt}ZNt8deo5?$*#vuIKPnMtlohVceEL}(4iq!y*oY5ysk`dFMcqUr;eEdk;+0CY zF@>c5u~b^ZOb(*fmph^}GYo*?!E&6l{R@-r|7LwJ?Z4L4NBiglzy?x`GF(<2zJL_` zNL_A;Dv0Ata7zoLFApR6P#-0K=Xig;-JkbE`q_NvK(8YPbQB?U>Lm9jua%}_5S&ZZ zx6v(Cb;mRgt*XO^oZuFBM-90lRx}Rvvd#N0I-21s&z#r0V59jB^ut-dKe(^&&)lQ$ z<1eI$xAhY5vGrHV){nCgz*2PKem=&TJF11-Q6X(aPvKu_6F5MVQ*`ws;sRvOFX2vP zm<;bSq~kxdnA^Ai{Y3c>-6g!uwXyfc5)TlHZt;WpkKFTaE5K?npt(!*ZXWAljqtVicVy{^ZQxB9srQOwkz zwDstIG242aL9E)xwjL%QxKZ-SurB<1e4SHHJ{{N-<*HD9O&Qx96O*vPy(_!b2V{`&=M8G zi6o0*{Q3mBw>c}S2R4CX#{ow{O$aZlV+9QHe4Zg$&q$xY>6cGvco}!4KL_`tKV6^O z!~Ue`H%yc0J_}muj!>*CwBO{x3Df=%y$?VCvI0J{KJN_gD4v|+L8#u|(KRW2p1(3L zKUMvY-IacxO`OndiCtGbVd~ zu4(v4`-8rb85t3>=M0j7L{+7?vyLu{y@=^F-Xli$fwO{U*C_QT!VxO~o78!VdQTL6 zYq^yA$XaXMi3pktCM&JF#f6^vhcs|)i z>STWqaZU{@=lpAL2+{O5|8KM;=YP!sn*V{jJpKLeKRP12XaDgRMm{Z0)kyWS*S7mU z!$8Xn{9AX%oUJBb2Ll?$X7_^l3Ke=d%Lo%#)8(g_wCdtT7@4bRyl7$u6cd>ilX&Y+ zG6QX}HoS`cT=w^xcA0xucJ2+%7;M+9v?F6y8nJ}*M(_X*@9#zp@n@R+q9T%p&3i1Tvg7gYF5Y%!_|{050%y zsVd9hs8D%N}c{gINq$go1VHHxH? z@^f3~DHg)yr@@9OIH*_a-3MxPe+8vg)mUPDiCw^^-rQJ5J}%>c5cqpXN(yMNz;l$` ztmpR;d--|eEm^UFv|b@c$({+ouN;f7s9X7{LSMBu@h{3zGFm{q)XZWWM~^j$V4S`9 zyi$@9hLfJ<%Tx%w_{a0kyY>dpk zV}Rg$4EaWk=Hrx-9IpX#IN92GJrH0~vwmg~yQ!0^$fJhEYPQBAW40<~NcqG>;n(C0 z5vzGgAWt&WZg}bCoe|#|qB^+d`9uKmtKExV_96aY)0J6A+CaPw#LJ-{Ia+Fg&coOf zji^4_-7oMs`76RV_u{0%`OwRXnU~jMO^E4KTTQ>bv~-A zV#!T-mdoV@@Wd}Qtq_#!0$6stw}Q=;f>K9!=skVkPK9{VxGz4;4}`$W+R>W+MoYRm%f;E5XgH{ZJf6EoUKtg`!z6y|K}Fe7fl+{! zC?u&GPBH~(LdO*cVB(#Y2r(6~T&OqZFpgAUGhXPokih8)cTOE%I&NIY|AhY;Rc;sy zgf+1-$5rJ+%_&vs-i%gkw_87Czf1e<6|H$dyNv&+5J64MZOmXaF$;nPi{w9nK3lH$ z8+bs}s$10Rq#3^XGhOCWMP(=6-?jkM&oTdQ8ampqYL^OpV2f9zLmiD0V!LLV z(-(hXlgIxblfPKMWY74E_sax$`#&Vav`xpKoc~gq1g}r%D{vB}PV#fn3jEzR*v%`b zf7VH;=W2?>Y>pA^a;e??-hj&|$_Crq+BG3DWHTk#uY^TtzvA;Y^d^4NDA=|SJ$@0V z(g9JVxp$xkPlG1F6Ub@s#vKK3S-*-Fz^$A#Dps?mvDAMauAOw8@d2^KX~kS8bf)>S zo?=zb3H*oeKhiLz87XU_1aZx+Q0di8cr6852~K;xA6YUc-(D7!XeL?IfavJf$dUr*yxpTORO_Ek&s)$j4^fi6=Z~A8S58fRE75%F*{ex+{n*J$f#r#QnR+v!G zy(ohVg_Q@}_*$|5XpnZTTgjycqC)UR%$;8XTuL!PS6zM*j_Oi?R+j>_x)h+*6-AcV z1~7LM*bICPuqx!fTHt|+Ts6$O=gtcJ4G%G?fjcWakzXqy!=07qbF}v{wV$%jOJAEZ zs(WB2#g;82&YPfO3b+=hCOkU2-AeBBXyl$%_`KBSb2T_-<0p>`LdS)nCGA zP0D(3Ilabzxqei+0U;y$uXJD8h`5&Sdcx%Ut|x~W*Ap#<=F+&mA~ce-&O=T(n*8Wg z98FFni$cH0klsJ!#>FAq8tjZ0=gcNtX{-=vL* z4i%|GcW>^0hm3p_*6x`t<>h8(DyM5IXLxx;{-5lp3)oLD+DPBZw^~4C%{c9+O~4~S z>TE&#;hejP$v7y8?__V0TtB?G;s>rAd+`rKqo@bH ztvIgKj(@wbkF9v7w&J05!YXDf9?JZzb^l8Kx{R$jUGOm@O|)A9oV*YPPOf{l|8UZ8 z0N=w0&HnIBaXsuuzqkWZ-n;#%*Z05P_xnBg`wado^M2-e4}OdI?c0qXZI56EE1MHG z97_H|^SnSp`uOyxxc_6Xy`1-l{UrRop6_3mcE1m&UcPtSfA!v8U;VlJ$Km(;{@zhu z|8kD6BdxuR@p=CKMy0db-SRdnQhC#2;>qe=2fxjH@8W!XrH}sY^yVvP|1ayU|Mcg@ zwEKO}*Y|D<&u_+j&|Y8t8I<;Z-`|US{mVH%JFUHp{-mwX$$#&Aed5E?<(XYQ*DeZ) zME8b{g{uB_o;JOEJRicps&;9Za|aCW$}8qHC^6= zJaZJ)xvy~q&9G_Ybt=~N=_Y-UI&n z^dW=3^m!i}V7kJg)?|w_Mq6gjv)UTA?&481k~yBVXyy6? zL#h05=u8?$zaCATaOuxvRWUZ0i&%`nIpCtQs5~x=TKo9-&_+9_md8m8CxeGtp*B&a z(wLEU&`d8(2%lpzYfVbFU11UStpC5cqtE_d{_e-xf7z6GWxX_iUcMv*f=vIJU)$pR0Z2&{VpUn$^rSXol^~?j z6Rtd%sTI-gj|M2zc@B*(c4M>xMeK4Ev9J1y*bOn(VLuEa6P&_)qcGKUpfFwC^m=d8 z@r3rm$2Fg)nE7NLHJ$9XyhT83c>dU7sp-38g>hif-U?=rEr!){k7ln|cst=oeZt#E zKHnMmD-)mnqn{gmJs`FH`aaKhisOS9-4u4zSUapoyw`TL^P(xry(VQlwW+ZT9b> zp?gkF8ri?s^^?^1*0>w~uJ0MoC!>Su^>g8P76zf=Fbw6L)2NDmYFeI9rV%S+*E+`J zS}klWoDrl@(V%+8JAJKJroUic=Oh`?6c>3z_S^^}^XyOmv^xbO;U(Qw|39<8g=bhy z>cbj^g-KEhvPHO*ajC;_4~oc=V>ZbU)0Jd14ZrosqdoYoh9ti=#_(HDk}jC9oaymf z&qkeClHY3l1CG~b^%M?{Z->ymC3HVY;6rLtI4t`lIIP!K?iq(AMRnjVk1va>a$B4>ou|2y(X)FEbxVoT;uNhreJrk zIMCHRzNgb<)L9!bv?7M$i9@C zpHF%7W8TV`pbuWp(E%TxQuW#)pE2dyTLBrPoUC_|E+X>`8oQFY$bXUO0{VBDhcY8ee(PJWt<| zBfjz^90~gsU-|7#rp^FjIfA%^h@Sb`|JUOykNu@g@0szHb07Hx#`85Eoh@E%2?cdL zwy0n6d~3QFf28qh4N5iI9K`cQAI?FOb8`nh@1)ajh&A+kdyaUu_di_RXS~`bp4p># zr_}zpLh)gLSJmlU@m{3|rEm%Z*!_5}gHi(=DM#5X@myUW?BV!`pDG_2?r$IYIFv6S zi)(|C(MZOAoh*EbQ(@Mha=&0s#8HcT%q|!G)6;L^f5|sxzM_+vNz*#NGgk~~O6%M- zQ%_F|X`F{NWoVocg3^`Et^d=5iA^b+$M&UczOrpmcPG9b1)f@2>TXZPWt^OhMil91 z;<0eLZ!GISr`vOH>xyOU9jtm3+hH_rheDCe3z?j7k8|_B5eXz7rZYck-*D178c%+| zm-mDI`Qq&^_qWgfW#2ziILQBl%mqQd9e3nu#?6Z)WyZ~`*L`Fr&x}7;`$*E8)7qz) zbv9?W@qA8s(Trw1*R~Bl$9!l1o(Ui8&-db2_xoG=XzuT!BiiY%{&ooeJZw&S$3O5# zWQr*EEJD-lwy}4~2H};fVMQQ4!iQ9^M)rGX)Eo>#cKqt%(Uh+y6zN-B{1&_WTj(vm zRi?tPKe-Qr93SY{a+1eX6&~`CvD3@#g7rq9D!me{EmEbiBC**m$)%HYTB|sD*dry% zMwPX&+2p{)XX*A)3uKEj3A^{G)=+Z((rd6xGr%#-8z=e?rH!NWxb~P7iYAp}S;8uD zAHcakV}QP^|Dh;sFwNA}600M5TjN2AZfdoxbN~G}Kb6a(0VbGX9mf z4b01%b8U|`mRd`e$w+FX)6R-{Ia7+ zfnfG@NICO4z9iF_G2ZfSE@uzZpOk$~T4-sAaoY-#nUe2jp0s!5G$leaKG3b8XmMCM z47Tf4Kb&*Fr07q^C%ycsh32yZwI{Z|5K^%BizxYXpPcWW{3F=USi5(Q-Vr~}q~d~a zvNCt;!drXattX$7+O3nMsN2=u`tiea&iRK91e35ms&Y3r2uKQV?W_3YQjwesQN>>c zV*NJNc8?7_*mI*ShMVy+ z60Qj{68b4%bMCpY{%9wita4W+WD7X8%G3;We{sE6Q6k7~=>F2XUF_YyLAPa?;l5H- zi$wQo754jUlFhAg&ohnf?X`8H+G;BZTFLGZ7JlEZRjk6U4LCes(!n&IEZ!tDLQm0o zDq$0j&>N))y&qk-uv;kGcv_V43$rq@*r2qIqTep+c3JJU_`h z&$LHreFFU%JeYHUqFhfBwt%-d;nF$2c|T;|C)hQVZe!5^M5EnLxA8<~e~kSF4&n4MCL8a&t;G6_>ZnMGfQawO>s_Qbb|oRRA7F#YAa_J*&h>d`cJ}p|*zf*@zHgfXm%E{dc3WTReWoODRp*m;DI|aQc>0e$;4et@1``iMJvsAkAX z@7ou@U{o{kaa{84(lRtCS!Un~_}u-XMv|leH(bvbqsNUA-a51$+OsjorkKM4=s&QPTeVFQtNEhxeDdbCjV&|OSK;nskY&dhS(ZePhRCrrpdRFN_nV8f zsQqP8vTt<%s^(Xo9^gMnN@nz$;F-$|1(D4-8fQJ9#BhQKGQO71--yX4myPnX9(8VD zAG`GGUhHGPW=1laOgoi*j6NBi1``AZCyqP7*B2ZuBoM&`7X~;;meGCm($%JU8*q% zE%(bl_N$jaBKz1h>G7tzhrc1_B(RSi{j-nDKBi=jsCP5-IsWm_ecQ*D^30yv$Kc`3 zzE!Cj;Q;rUZQkDRkv$Q4ja98Xqi%{RzUjOM`j}?5HMDz<-(HDzQvY81h`;q3y3m0{ z#cEFmZJkysr={OfgO}_Swn-!nCi~n)3%hX`IP2(mLrcTxm+PEAP?p!V;xY0PeSKRr zag5b?A}M(;SszXCfb&FJzAEyTe9!7$PPN}n^25rHC29-he@kE;brYQ!TXo8&&draA zw|CaoJyOMQ!`zK^k%qNa0Xgs!Q`Wn8-u6?n-CVMsN4LqJnmVKu2tIrVlMtWX!Xqv8 zwb=dd`D`7UY|-AM?R@1I%j+(gbL}yCjr-BwY0Lqi{#&R07JnG*`7 z?!X{lWfiP7BYEN0Y$G}6?SIur37U1e1;z?3wQnb;^aHzi94=u_sybST zA-|LKWs$kR<{eYmV#+;Kv?!TN{=unSia8CnktI*15)@dYselk9BC#U(Y=|srxJwtk z!@E<5zw{4n$C?569doRy;!g{}WQF{!iY7)pDST=>ldPCixGGw+T*1<-I|oj5hJY9c zDfnvcKsr%9wWN_dd7XbW`K|uWV4SHVLL*M@SVo+ho?yJs|8a45z0+PFkKO4FXMNgm z><5D3kOyUBWJ!$SZ14^nG#vj>!_i@KIFnMtS#E}NaCkVY(}sg2q2V-+sIRvCv20;1 zjfM4&HG+<@4#MsPQpDCluC^dl{`eA+tJtGpd}z13i6(D7Y$j^t);*QMBb^J=gFCgfJpPSi*-Q?!j+> z;1Wg4y_=76b4x%ax47MZTi9)&kx17m%)%5i3s&OOKQND<_b4CH90mC$(b?Q&btCM= z+UgW|AbKq++9!BZn1EPY=jI#}V8zc%O~AGV;R!f8_XLo%LL+bC`OJ}5?=-q}TJ?ua zt!0LM6r)1LeqP34hjY2EdF6nHns*}C*T3HlL5S@yEdPI+Jzm>jj_V#<%-V$!J(B*< zXC9a5zO?`iq5JZ!9|0fvNy7ObXJ3>tDV0A-iIY+&z)PQ$N^tY>W>WG-`AO@KWW?$L zLA7L4|54{D{hQ=-sl9w9yc{8vkMPtg&~(g)9-_tZ`J#44R?Cfd@7o`8HgQ4&)=7%<}qh`owLn(7rDfla%JN28_$ooBG)$D2!|3s?^Y~zRdgW{L&q0uCVQ#P2ki#P1w~-@h*OM$6#$Vc#+6ZOYA7^^{v1Q|Qf#;|-BC zznxtcjeo|Vw-+6uw}zXOh&^_r`=!6rhG{hoy-nxo5qOprdDOl05o6j+_4xN5#m&AVkGiMc6kZXn>Wyyu zn_iD;G)zX9zOv9{4_6N|04_B9Y4YNp&i{S!U7P>wcs>)p-rb&c{$KrT*7<*m%YNu~ zWL`7-bJ+~0-aYa=5KlArD1=98mSkuy2XU1V{aLs4Jsz?hc<^@jroYI8XcG&w$WEME z0&lSh*uTeZ9VIP$DNi}qm$0fEP&ciQxV||=#TbV?U|^YYOUt0 z%Ah3M8;gyOxR&@nYz*#S+Kd{u_;~oq$IQi3&_yb@9^M&K<##bnsjjP{oRW&5aa6g< z&Fmg72qXs-xv4GZTBHL4$G1f0P6rn3hl7lI_CtZRAq7;x&(=E=OJdHA_ws0+)7t75 zN0zjk1481LY_LZ^jpXqM#1by+h+CW>DVBQIC7ArdKJ3$oF}@yX|+2Xt)W>E+KZbRB^nv>ON6zo$pBlgaAtkFxz>? zEk$_b(Jz=(bz36ymVyeb=4;C6kd{P|`Y<$6hm}$==QP=bSrpbW$|+ofS=;!fWu2?w ztS4LqXZ_=O{jj}%w2;`p)=YgPpFe4SZAP+28tI@hQ5tpUYxVJ;kGj{)5Zchm)K~%z zm(AybJLE8?zBAS1z%J_`Lu@tp}hF7{iaVX zb=ORhAg2`b2ESqpG5EF1eEKW^X03bFRx~guGaie^4>LXjMEXSI(-11BQH-z@Iyv;f z??_10m9qNywDJquYL5m8& zZHz6^r~as{>n-#ln(zXdj7dZ3#{LuTMM_IN4Qh8hE`_K%@1F5hT}CJ_z_d+XvUTqB z%Y>uZ7V+=+qa9!B%r}IfV@GR#+P_;Ji`_(l|{-~-wPtw@>kocOgpLkf(6l<9pI6g_ZrKMGmGDRB-#9Qny2xW8ni(%Ct|~kAcjfN$cHDhv1BP5+|E9Hgiw>ywA+v0W)t_t*znN zG-f_Ni_yrc;4|x65- z>aMTZcKI!&3k0KXu`B*WRfhoxim`8)LIBSSmT&p|;_lJiOO@*#|Dh}P$8V-__~@1e zb=4=`&@`yKjrpxvaryR`b8TszbEC(@s1}^SyK2WBfn2gblFgBotLh>E_Tncft28s3S)yG?@i87P;t)}3gg zMkLfI$xi~emjmRH7ISL5>PP@;cY{J_)A6 z>02NDuf4Pe=-^}fyF1RLW3hQV8b{j|JFMovzE3$9>$(r~O7ik9-`8qh$>(PBxs}1^ zu7o^2qviN6Ut{-+KNE<-pOwR(q3FLFKF#oG=dEy`CZWs%cb)!bK3E&t?$PI%bxcw9I?rupy?fyQHB|jLOZ+z^ zWXit@03uNv-fha!^jp*-VWV(+d2nZ!?H{%`3c%xJdiZ|S8tWF1j-cI*yb8Fli$N*9Av>J9)!z_^XC z6yC2C;p9*39(UX{_DJI9Ihr?|8UIZ#C~cf*U5>*O#bV3gdb8F&>4?SM4_M~7JjV43eO*|sMD+bVTW7MgRIp09JVdQY*p}}K}tPHLC$}iNw5L2K+8C5IY z?_Mn|u%3*nRaUC5Gq}fOR6P>hh*p`5s#Ug<630i3it$|BU1o!&z*YAuv zvymldjaWI54mGq1c0jHlSaJ~2>Fjm>Wh{s?)r5yVngkLen$ZMW?WG4YCiUz|ci)ZR zv?T-Kx92q(2LCArU+TuIJ-%&TOVi+$1M~0A?>LLQvN0Q4uckfg?DH!Gs$HE04b+H& z&o;MHwE7`#>$43`n@Tg!{=M+!p#_VR41V*~MGocyGod zB@H)5hBd4sUu5joHzUJhTY~v#`CvxYxPQ0}b={Ip^9Mq9a8<$|#+boatYmrj$P$U; z1Er!bxR^=5?lGZ~lxqGQlX|am$FX_tALi_V7hVrE_D_2O>AOnae^Cb$-~TX~h~jwv zQ7}pnz!}BLB|Lugo_}^6$Fxk(Kf8IlJpb&r+A@9K2G6B?{@DrS2k>H<;f&oGSAsUw z$K72Z!=DEJFNwP>09|YNq8M}?e(nXH6)-`%)ax`o-S1o1DHvrvs@ zx`D+y*`+Bruv$8Mm%G3czQkDVJAn;FC{!QRoz6i(n%}ed!|Ii)_A!!EOY}98bArnr z{1uZJzhsV;nCFe8VLk!_TDzi4>V$3PZR0%<&YZ}wd0iX|=PUr{B#O0UiHCLDia%U# z&WhrO;huM|E+)*Yv>jz6O)iljJJK^F*-AF7j%##&g zFpHTZdNI=Q;dQgh-)1tKjuosD8^W6XXc)~R=dnIa*&6KoOq^N=d$Rs*Xf&H1vK-Sj zNCB-rui}5akT6}T*=#(Lc(KfXN;*(9Gy{3U46A0R=d;8UwnHqip)vbA&v+$+m%C>@ z9I#7Oox|&$l`;^7@;~;2U#brANGFDlYm)rZcMV|4)8M-^G>=JV13V1|+0Kuqaq(2= z;0@@%qczWYda&Y&PILoP;5i$77mnXBO~%{cIim>sPp(;sNu_W^bKJ-NXms~YbE3{) zk>2Jb=0)bVv!Kz$r|&(v2Ibws1jxjSNAIYuy6l+7{hVifI6mtk66Pm9{T-eGoL4$) zT02TH`qZ_$CH2mly4H^3noW_p7t&Iuw?(>p0uzPm&p0A**y0~b9q2nJe79Xg*CgCv zmM)kCxQZc~gvDkOMzkk6M$JHbat5xAgxoDWP2j~`G9~Rn821AIOQUfEpg{V)K)MIA z9-PDz0xBzUi}z`()P3y`GhyC!h%1f|Xl}gwfxD?DEE8Uid@uzs1ATajpLbg<@yJxZ z@R5KE*(o$lr=q_Jyiz6af47;z;&|EPE>X= zpDi_PsJ5fehkkK%4O^R#Zun4~0`Glu5tSbC|9{|&pfqE}dKFWMT)%ZF$S5%>9}X1d z&Umy_d(r72GQgl*F>K%8Pn@ifu)tE-HOMbFD1M-Ftrd0-Lg2p5y*DnGI4mS~^J9h4 znpYz8YDIk2J}M=ppe?p6hbz*cAdLyo%rZ34{bSTfc6;I&&|b6x@f6i zUK}ieJ;Cq>%W+;sdOIVM5-fM?@xt>aQytM5WR(p+dZPE}U_Dyv-fteI#18fy1XF68 zwl@x!Uf!xcAgI&S-b6G=iLLM6}R3veA#sN1fFP|EJIzN z*I2a76YFbnHf;wHh>*IMTmtMSites`jU+;XH?oQmyuk&t zFoSeAq60z6vCh5u=Td=8EFPUPlFu@dsNr{*j3oQe3}(W(yagHX+x~c z1$8nX%xbA>iA)gbq*P5#h3zm_j>o=JdMz@~KkOiVR!q{(heB zjVrU98RgD3*0 zYrpm6d8ul7;@1CG|JqS`o^y$wb$tcxoYBwMJMY2pFSxGzUBEdq?>Rww{Jh01a+SPS zS~yvc8aIlS)9ikBI~XC>;@!dJmp8*T?f-WFh(FM6Lf5BgtTbwtLOmn-N% zVvmoN9zJ$acgJX&^i{Smz0z&&*BM=ggq4dgS=5b^KXOAcPeqoPcwI)KY@w6tt4=w( zaR`5rN$L`H#sl{hJaAimFYmg7l@?y!GPq*yq*!%pxm4IJ75~>3t2{W=pc8M_Gq8ek z8)t*U>%A2)!-#q^5aV4F^mr;}C?+>N%0E-~R$%XsspGSYx&uu%W`QT%C*@liZ@A5J zV)LUlJK?h8`4VUdQ4;-&$L4n)5S7(S9Ds_KYbjb#d_eLScovAY?$;0~us}qv??(PK z`OKJ)7_Qdqy2b;uFhfwp@8$|@Su5q&dCpmyfI?sVW*X;A?+kuoiE-f8DG=4zCbxZ)mfb3|;-|nhtbxA(oq*HU zy1yQwKF=->d<+)yYS^E^xuQf8RtzOC)4s#E1+}_`()8L!)7x+_-{D_$)HHV^)?zzx zvo@nxpd(Q9M&o5s=QCD(SZv)y?^1GGh9`ObsJ^AV`R(eZIQRJmGSW!1?JN+laH>-X|L(h!r;B*k zu-er#d>?F2z`4i(zzmt_nD+ptw$Y9|>VB|=2!jV=PhZ@vz0i`RWNY33`=+<1>WjPF z(SlJqZ;RPKk$H`5C2@a1o0xyNJ+0m;FL5==?KRvBlDs$S%$u%(IkyNJY-b;LQH{KZ z1ySorVu~4xjjRmMHE&1eMGeb78dd|?=Co0w3*KO@`@P}8CY@TQPuE(`ndOEO zeC<+$HV`{h&Wo1w++Pk}+^Xr-w)b`;C3cDYLD!=n-RWMC5R%=t`F; z+C&{eU)H&gSh$?6*9I?_y|~_4hgfUcKKgSDyE}eP!)fU57Yj5z%A}tlS`2gE3q#f+2CA`$MCcTS~jY#X_8uz!lVET1LdcUF`>J0i;H&SA$ zk51h!2w(9Fz&+!pqwAmXKrNj%GxkmFRC-Kk#y$44-g=a|`+dc{4G!)21$}c8Mkj}M z_%BmDXDuo6QqEdeTYJ+Md;B991U%q}KCJsg zbf1%Zb<+JGpHR<~-PM5p>%D)?z`thTUo-I0%s{696ZR#DUmc=UNA2;%wxXVL9-LYv z`udYe`XPM~F$-uTpLG9wIY9%1w~-#Gxbqd`a8SDgvHfDX4MIK-YH4mEZ&mO4oMg`l zMKoj45#hh?HA5KM=G_ZH;R5XA)RM?iGnPhId7K1=R3m_Ua3|(Nl4R9(PO;p-JmL#_J0fRc+gzyT z8;*b3u)Q8JCM;cN)AeVD{>)m2nmf;Z>3n^OyOCj)VhyK?-ts6cza0J)DEK{|V`@!~ z$H?4foyB9c(J;$X5+~|NRiUP9x~@FHvk0pp_e4d((+ZF2E)lLYO<*8Kas3vwT8DM% z(lo32q^`WCgS-w+R)?H+??!xx|AbT6h4y&{)uOC!^p&GwUK>i)PFXO#at*3Ve`@u| z@>(nKhgTjMh71xVc>^EhQ8PSZNEqJTX~X-88D3(J`I$H0+>0Wi`-5Z>!h$~9FFD9c%O4~Ft3l4wr!`JGYAM1^%#x66((nrzu3!B92BT5#whGqst~@yMCCFh9QxjgK zCC^|TCwq#YIR#l3H)5=!{1(ghSms+%NuDCdoipeMNmSIc+NR+u@}@KmmKCXAr>ASx z85peED!Zn(HZoVL@@RbC0!?Uq-fj9xj4^Oyru2{`+?2ZmUe}bWEw!DT*TcMak-mrd zfRjF_rRV0JQ+?Kl9hOp7U94DKbH9(L3M`lMOC&rgZH{*ZP;q~M@}h2&qD>tscfSu? zs?CZMquD9$t=vzbqv!5aw^2+h_ogB$sA)Fo9Cx(W*ezvRtVBXeM0cdQ<{+2WJgf_m zxqpJ$j5<^Bv5GAX{KK^x#w&b1(YS5avcQ|%8r^Cy4IIjG0{0C<=(qHI3GU)vEUSN^ zH1k4P=7sXi3zeA{sytKEdh4($TRmTM9Lvd;^ts_N=ioQ}`o^)E%}qrF-FG6AMBfBN zO!RA&RXxj>y#6GeI>n8>=QilMGxXeW8CCYSYG#$lK9|?|r)W(}(_XY>JFTO4pjAga z-4A;wxf;}Fd(+!MbY$M6n&SAw>zP=oQqZ30khz~^en61#-evS`xD?Oc1|G%N>k{5* z0G69d5dFa(=9PF8M@?n?D-ZB*nfvyI$Y1dWAs3|n2KH!EZCgXB62t~#f2q6Q;ga;@ zO;i1+rm^JP+#js#mLJVLpKjt6zgnF76NSZq=>#^!6+8YeG)*{J!^#DwlxLAy3Do4HuG+015Bn@QvuEKO!J z+lQ?(36a8^IW{M4FDn-k1n-i&*pGZNQooY1^J%*1jAwg}uWdY(xn69heBNF9N!()2 z60!O2lryzmjbyr1!wbNAUNs_XWQielz zaa_h-mTo?;mouI25y3t0G~e8QShskhOCKmqK4DI`R4(jpnEP^M-Wy%eVna6XzN4ER zwNf6OqSXj(R$Zk0if#P4dTU5*Q+dtWCHX$B2FCs>CH@b;XZ#vZ5Y_dNqB9;KE^)t# z6-B5T+VX9@(#%zZHVxS+b1!}lh!T9f^@8ciHusxP3Q(Hv=IT^;+^2jXIpRCW&`-iT zd^Bv*zgqbxodGXjpUgbUr?v#!*xtByM3w>4d7VRntHRN%I*XREHS(}WIj4&iK@**p zp2RJ$7s({)dt&Ip$H)|CZAwc~@}+yEh#^IZxZzz3a>$l1!;rDmI=oWlfB7B&ba%(cjm10}U18xys*X&iJqf^wT*sA#K8~MV!hj?F*iK`Y*!bS4x zxlx{k_XHnAZ+I&KNz#VhJX=H{*Ec0xluI*MY1jNIGWQu)gSAXq#!bk4=80v z1okoie52X|d_u!p%Cv)(7$k?sYmT~>DkUvc-Kft=0Nsp~3J}95u$-DYv>$ooX@x-3kHvy;w)(H2S?e`Tt7mg{-m8 z{q=*)aq|k4bAO7=`+PUZOkx3rp5U0 zUwNjKinSGi?>>uRBJAiT86=Xc_iS?YxM4CTG>*{{`>=D}V*;s^TPD8uXW#OV;dL+Q z?zp@xspCVyDvcGiOmK#@h{uW#&hRws^FB5_FP|RDYSop5mJ=|qlyziVW+BV1r7V{I zBS>-mm80Cf9%Uw#E_y5k41?#8E@C3%6WKRPYs`lK@(T9|Tu1tcKn?HI@%Ne_>8yxj z_Ifc$bk8k=mCAE3n4}&^+?@A(6Gqxi#?T8pMhZYWVbO`oT+uwbwJvJ$tHfm|fE<6LgP4CjNA%^=~)Emt8-y83YR(Z7Z$byV_?sCj@DL zdrvc4$=tXLjsy)P3g58egl|e+BG^e364N8AgVF+rU}qf(WBLa>dMbN=x7*4&L4N_7 zSN;B;NgCA+2E|k;A~KWnwVQfL)?V7304pBJq7HGr4t{rP@} zP4_*BKcJtzR)2w1)%Wp3@5%@_BtryICF(2lEI-Vj0q5cfYc1!hVw1vJXwD)V#IFuN zk@P;v_z^OVmMM19Bz7jT#g;oodRI`ce2elMA0pG6g~=J9|J5(ee*|Z!-HP4JZ%mKa zZ)@C#4i{=CMs{MN@LH>ND^v8i<}5z0m@6}bD@@o_Q@5UJ62d)yh5NUgcV&V50EO)9 zzlZR;b<{4v>&RUij)^C)1S^-oQsAdm#frZbDcN_y%4751vLgT1f^2qG;aicZ%Ohv4 z(uLI^VRK>iTaoiyBgf{?oGAhczjg)jsUw~SQ1Uv5CsA4iL;>b1*y#Sp>xc%j!B^)& zVgWmLn(-N#RUC#N`FI=6hC}4#K{6gE#+JBu9EaEe2yGRx06%>a^S1b?IYqv_BI? zm+dFU2-VN>NJ(9BWZ0NuI3v3h&S*kfD5hzQ=Qjk;iwH@L6vo2bzp#({FOJCkUZ~f+ zKY8EG`@Q!kzmN9%>d#f5+O_ZP48E6R{L6Z@7akvV6FT<)R#FaRyxW8J`Z@o}`N{G9 zj-b69_rKC>|5)E1_j{lJ>xO5}UwFKUqQ3gGb6Dp4y?-ycUOC2B-D`g||F>R}od3BS z8wWp7#vbi(VA?_*_qUF@U!waL^>KeX1g;CPG+oq^IP?%CUjkksz~KTC=Pynpz&x%`_wm&f9?krI<~i}S z!ieZU?KoTr9uN*GqbC)6r6IbNth>FV?2w%7x0z2rUiUyVlXj_*nC-kEzxQ`XN_LhX z1ZA?ucDZWEf&8yCV zUQ7Bqfh%}dPIB+|TFIT@dtWD<;M<>hvj`@6OYiZ)z2x^Ebb+sL2-Uw8im1mdAgO|b za?tI8`v~1g2Y@1=Ov1V)wSO&T;}&zfroKmx?}_C2o`?={YL)HGsuj1V9N$;tJA!Iv zG_X#ypNs;ypB?Q<(OW?{1UIhd2WhVvSJRIxV%_935l}J3fFV2o_&TQ?{&}jhddtsg zx^Z^O4D4#WpPr@yyD-z>fbK3CuKvq(=!bR@%uE0T0?mcSvDtI6Hm>3=+VESJ*9Te?j2>~N3-9M)lO8(+sp*t@7-wpv{zIQ#Bkw^)0jNB{u0mcdj-C~ z&+^P3B)kpnf6b`&z3_nh)(^eC|HBrIKSc*+$PvjL@pBKY2w{X1`t}?jz0NhhgVM)m zFpr6V2#xQZ8}@8`et$>Z<@FZ@e|{=oWXNaH*kkX3O$0dW<0 zG71zPhLm-jyT74f$@8dxo}j7F*fFqwvd=R#H3W!+yHEa^f1QVx^I!AviGv4NoNBZc zeuX6M@!rnChoStrDSWt_xpTeO3{Lb82m08OepDJvd00^SDGWuqk42x*`xRSD@AlMT zgOweqX8Gkq?L;9w9Ct*Yux#D*JN#@vdvYIH8VtWGeV&R!d1+zsDB}z8Y$uUeuLbWd ztD+8F<8}f(3hajh)iVx3GY_z9-jCc^Va!?2LIz9Sy-xTk;hp2k86;Gavu z+Rs@Po29BI)f1}si{;(j6}jPN7%{(J|6|sMR|zITkv$XT@s`fLCnOFY0842_ z#%vM$g15j15}K5{_irTNP#H@~`B%n2V~aV;uK8o+#vhBlBbZFj?SCik5W!Q5983(^ zWXDgThv&mMb;A!)T@8;otND%mrnfpzG%-9R{F*t+T|kmitKvPLENeW}_xDJDnvlJN zVda97R9Dc$5=_uah{btbcRO#O?{ zyA3v?O-)^K(@;A;90+9U&d4ubVdHsH$dwhMdeB%qj;~YA>PD9T^wJ4V{a`Ly#S`Mu z!D*x_YnL+VLDVSDQY2$n&okTWagIJ_z^>^>jw|q=XRl<_&#emD%W=OhKl6L3;YnY3 zUyu8}>ubJ}*L!AVvt_SRw1(;xDOoo9 zP5=GGmzZCpw$-0DzcMMgfziHy?hgtEaK_hSJ*iFAV^ur77{7ox_@z{_wU6Wc|26&k zgzthK$mF=Q5>qaQ z=65&h*FIaEy*_FMl|FNQG5xxrZ5Qg-J~^ z2q^!Kip%>u{`A@CdDhGN^zK+->I?t7-$~CKB~@S8xvanaQxNt+A$uqq4e? zREjbZNwB`L!A!@cg<|zcO<|_MWIbUTm;%PHoV##V#}i_)z!{&M1=C7%8x9p8Ha+H% zC#GTsG|H>0n{|}AFOFUn!>m%V(QaN2v3<3GzC|PBH^lI?+Mj7yfP##2MRq`9YgRYC zo-qUIZTs_i&U^n)=JSw(KIikLbN->`)6nalYSQGS8_ESQ5ol34Pg|d!=aLd6TzHRp z{6P5J;G5t!`mfCM4E-j$i|_}PJR%w|wx!aLL2wLbXaYEM5JC~p^nmoQcHByP(I1g# zPedsT9p+uBXBEM--0HToJ)Wh1nd8SyBfrqrm+%M*dv16iWc7SvT`Q9--l{3=saQ}YYzbyCtTXcVN?)y!;e_XEn%aTf*M4@rOvD;d7$*S2f zlVFyX&SL8e#>MO?+@g;p_{5HkYj^KCQjE6=zBrO8;@{S-xK6_qOW_0^g7s_HNyj`r zsjKetZ}yjv`RnP8zwk6`nWx_RiYPKYCNq-JZ|ANUH34hUlcsse@ z{o6O$zteWPf6zxLDEd!nF#@Ipjs)(WWZ;v*C4=PGSV1+*@g=A;t=10;jL$7;3~zV{ zMWdLNO8b#uOUXa{#=iyX%#~^C%ucB@k46R8i8`}WLMOpZ8x&vj3RxqS$0o(C&U?M_ z2)pKQksE(zl$lTKsfpib9sFmMk#dMj>L!pTuH(-)?(54N)HI+3eJcvhPWV6Lgl`f& z!PXfrsMh0xn&m~J#C$a`%&c^OLFQ#+39fjd@!)WN6_phYx2L8$e~a1^nfxjDQoR=c za&hM!?px>luV^&`ew(#n;?}sUUPsWy=bquD3z`8wA%HhbZ@}O9(dMJeE;N@};;?IJ z#W3rgSJRxCGe|({{Q~p;Zp(uwy>~ku-(`8w(AN+N6*mZ-{Pw64SuUb5^r=iUOM~D^ z-*^#~W!5>n)H@xZQ}3`Kby%1>EJ_{jl{y^gAL_?;Y;uI##r9$C+AswK+7fhE_+HdG z7&pwqHRK;n#zzjcDE?WdW)OXASEbscD z``=abZ~sT1%|DUe|H6LH&oTPI5BvUr-~NQeh{wT;IPv(t@O{nylkd>}=lX6xgrs*XrnKbF6I| z9BZEj$J(gDv36>3tgRXxYp?29KOj2BqrD2=eAnz%G7%Mi7Ffv)7}S6_jcRhN26+B>a7x7Ke8jpb|ytrKg@Pct7N`b`O`lSl#oV0?QVPnQphnWH(1Il@!Yw>6qCz_ zJ!gBTlx!GWP(pZ(-7~yK_Vw)@8PBJ!U!rJL@I7X($DHtf zJo9_{oW90)$CUBiy7E+uJl~P|eCjUilPJ0_^L`)wZ|$}Jn)c8tn`H={N6kd0dcgO; zm-+qFUHaEnS7jKbEc0x|?KIg)i$;5!-HiF|bv&u|@5udLwl8@g!uLLt`Cg9x?|dbr zU)frvy;Z^d=2-u`&3$m7naYetc>lu8{`3kTsqr7z_j?&1^X5CA`Cg9keFd7Q?-k!B z@u8mV9Um@#bvN)~j`(onLu2B7--Nn)g`U4CZ+}H%NVyuRN8_VfvF+}@B=cWj5V2vS zEfLec{ARq_0Y31sLz5oV&75Yn)wXz!JgWRY9j0Fhm#dW<6FfXYQ!QTy=_>sImrUp9T$k3Pf_P`w&S(J0U+S(1A6t z8L(r8U*fdZz3gvNU$sROn8wI#Q*JvKRZ^d@%Fk=lCzT3jr|;iA^?!-R2M4AB^D!mg zE;Ifwa5hy*qoBLbozko+M*vy2rdd)#QmAMWW$CCY%YP8x9=KZ#rrHxxPj{xV+`k)2F~o6g^NtGD$lbA?>swm?R#MmcDk=R}wRRTQSJ}rj?#th!>ms+b);Sy8i>9c`KznC# zo%38BRi0lpsfm+m%2IMYnU~gCquVL3Mi2y<%G#BR$v<=+_YW-R`uS`KokgANr^&1K zF!V<^&Cn5YP{H#i`})BYx*gGq?YmWa+88!wW3pkF$ayo5YN?HbtFJcY5D)6yDl0!% zMn@eA3Of@^ZDqZ#uO5Wfthu$2v!*vY_tQmOq9zwgv|9gyM60o7?|bqT#$q^qlU-RZ zM=W67u18Ua7Nn0utrv($rF{+j3SFa$_v3t0Wqr4ut}qx%I1wgvva_bOW3T2vpX_Xp z3R{dXmQS>tjVUwxd9&n7d*dOP#N>Qair3_lL8hr9pwp#O+6N$3-a_rjMG%dS?a??iK-|>}vT;sdt?vHnT?8mC(()VY1_?-3i^0in5 zM`~#)NM=f$B%{{$J#BG!bwN`R>nLHPccI?wZzI3tZ13^OyVzdH6lBRV(Ox&_Dk`yzF!-4W zGY6j;uBi;mHX3jGm7R2#NW%@;PV`A5Hbe0V$_%sC=5gZRieu6tC@w7~zBv7{zU~{= zLy;d|6>*7eo^? zU;*&D^Pga*l%Z$?56Hz}N9W!o(#*GOcG!_IR3ldyEIBW+aW-JXh+=qPQ+`n-CrU9xKoP>+9Kwr4iaBd+M{3e`p^B!@#+(w>yPRBR*KAZpC%dF`guyJ01F2~kjf`1E zU=Q0-$fogG59g3sE8o0564QVH8AMff1s`Zvj#;dJwUj91aW@)22tg`}!9}2(rt<6+ z^bEcIN9r%g9Gebx?(%~=cdMHau>&d~-%9T1Th(I>%RF38n{Q@n-BME`;_#8SXY{+N z{#ZTy@q(UueMmhSoDT@QGZ=kw$h{#f5BmAKjOS?*!A}?Noq-Fm+&T&2akk4unUY*E zgQW~+GGux7Nn=wq#{)e3qB$-I9T$dD_pQVwNXoFN7! zpAUd82TBj}{98cMQIaZhVQh(AJ)r4t0X>j54~siQNmQ_#jA4mWOWpRlWZo?o7Z1K} z-+Vh!dWY1l99N8w;mVGGlVl}{(9n}jjmMa_)DW%;arUHy)@siXsw>(o5Fhj>7FE(s znEIIn$dMGfW?XSoWJ3HTj4R_xC&a(qQrvm0=*wQZ);WqGIt@WFbo|z=YeX{Eo93zs zt<&vs@Ox)sfNC*`w6H7wEzmg6d6;Bq zyTgE{w$lH~k-=Ajabx7D^pa1EG;pa1+ zlK$WOp3x*rPn>4t;C?*qdp(u=8E>R7CGT%edq3l8?q8O6zwhzf*T;D7OKY#^_l`U%@? zwDSLdJ6FCUDc%eh;B=&De;P{wvtalDBN9$24*9&uT`BOLk-JiGEO({gSnf)}vD}q{ z@hux zj{_o~5lG!{P3?hy8<255`cN%L2j@vrbECmLi--lN!&4Nu;PpW<;+EZgJ`{D)*I~UO z9Mh6rN(_Dea!~WNAMANXrF4AN*O}1=QPIa!wh{~Gn&eRMf$j~az=5hUYpQBmBlEs1 zJ_=vy>Hh2;#q3@1SaSAwG?+a`__Ud^sMDm`b3ZVmavEWU-SH=Gl9{-*CeLboN^;^( zNlx5Ol09g`G;yN5X5v(-Ahfz^mlH#s%b3q&-`~^u>_N}q|I_2&(@Z(Gjdx z{9Epv9+DsS=>0zFaVCBKWS>j)av;)!t+p{eoL>N5&pxE5lup2*inN}EQ$>$itJRN> zEq1G)WM6UI!@Bgu6SlG_1GM-8OvonX_I1C`D2xUqX+);|?-Qpllzv@%6cmIJC1vk| z^@SP2^An`5=m00+g`de_f@hlj8oRd#Bb-8XW5S4zVw^&B&xR45y)LQCMKxv+-o+uK z2^J)n<&I0(p^2_N+o3-HyvO7H5k`j$#(EdVdjg~IBm((H>M(P@s0QW|9W}bRb3=9iYo@XGNnF?=$q_9Bs_(jawg**B`XS>?JpHAwr?z_^z!_~i4Z|`pZ%JBFg zW&>ucwj>*?h3~70&=`-(X|mjsy?~AJ@=Ep(<&^9n$|u=BluNRID34_SP!7pD)DN*6 zI3%x6IV4-vSK*Ls)wIbWS#lFHzY^i;&^ROqx)oISJcQ&)uoA0}{OOFu7dfnbLGxmh z%hjE5MM(QHpoOFch8`a#0x`_TXWlhNNE{LR0{m!$Oq zu3es=O#jUceQp+impQKqMIywon|g3C@^2{~nzE;Nv_9R#zr`cB`INaY+u6Y#gE~J2<Ez0PWgmtW)AMDnHl8IU}qz07;pKEHa;=*Q@>*YJxv1o7loOK zuaq7}8X9R6+;Kg)wiLJCryAx)5U!_wkv2ixdY~Cf3_as3EL&ISo-SLz7u&NmMlo4= zWQX%qutzj*XL@{i`b(%%>Xo!_Wm+zUc*?n`$JLy1ey$%?iIEIWov4$^=|L9yzLO^l znujR7@1^2PGP}g{sheq()9Y4`{$$d}Ho4g4CCRLnd2XJkoAf?CQm3EoXMQj9Jj4E~ zbaL^0Z?@$6rRW>uS!t$Z45-Ptos-5=G8g|c7RVcKYH>341!}Q6Kk~ysL)6dnTQZ(c zoy(sqnNtXH0r^m=;xTTykBED`w(b=y zE6U}S?jP&^KlaW9KC1HE|A7z*vP@9aP#0p2H5RQAtPMu%1TuO?W+bR6Dk`=vv}#33 z6c;3zM3{RVL93Ns5wM$Bdn>mK;z|NYA}F9%0kwkF%9}=O(3VB3`G0@!IkRL3mwWx+ zd--V2ne(3WuFw0t&;E3Q3xnyB8nl-1*WL=Hgwi+2#2W}Le|_h3EK(~B)%6eT9|#h%K8Z>68@X!w@8rE|qP*>Ir^>W?zwP&X{2Sq+M2O&l zHo+jg_LKf3>WKQA@Gt4;cY^-kWSZ~Qytj>9q3>z0s_#vr4w!l zd9b#7>)>hQwYfoP7_VR&Z_!_YtffrY!B0l{*a2+`sD>i+@a)2?cJ>I&%;e;$yeXSR zFO19}WYxlU-TXwAb(!h_5mS3l!Vsu}6so z+K5g6hBS;be0{5gqCbJ*&rHP#mzk;)6rS0p~@ zc}d3!$ebe$SW5df+U*B)TJ6`~$~n$TXEbe*l#g@;y@tQolsSlEx%_rX;;y1hWVLNmBvs|k%->lXG#r|DYXvJ-)Y0F=9j(heRGD`=)!0j5y4C zjL4)Y1sy4%N&1PD=8y2bLIO)l^G`^-FaE6FB8m7ayX7x(V!FS`G4dA~l=K(T@leQ8 z;QZUlapc~IIfzn@Bld;eo5VeMOY;q}k@64Or9g2uNlMB&QF6O2myFnf-_IpK+6 zpUkbl_9(DPPVr2+8w9Ge?N$%wHZHX_uNmHA#=bVch0Ipf@A0HGetnP1n~usT?_YTn zNty>P?a9L?`vZ(p+mu=2u8I#Tl7qt!^Dq;`Il*nVD-cLx%dr&ToKsueT#lXTnyUJq z=I^i0ZzW;8`PA*8$TydTiqYMqp5YSh0kkaUDIuy~5q}mnk8gFhrm}=6V z?g1En=2z3@SG!PVg1X&T+xWi>*+co2-4A)bP|WvN!NQHh^f>Z0dHyOl{BAeoS1qTt zmtO@<$s!Mcf}Q)Td@#Pf{OSM;cQ)wQ=a667eCpZ@@hkJ6b!NOP;CAXm>pTaAdHG7= zMK1NDca6<(hU3~AI>zcaw}pmpFD<(EsPcaJb71*dcd%SX0bD`Q0JE7CYq3zhj2h!n z()vcXMq(8^BJq>@KQe-VZqrDsKCT`?1NPVPeltWv$3mOko{)g?GkOs>9AZJfr*3qs zh?(Wyu!^C^yssofkh1 z0{AOqOq3t2^!pc?^+4HF|{k zbs<&TZoA`l=&`bw?=U~+v9e*;+#Zcz zvE|y1|Adame@w^Y=dt3~u@kn>5UT7^o?{N3qm9sjRLR^$WDwTy7-#r%X3#SNavz>% ztQ44eNa}(Pi003{`@j4Tt*Lv@z+FjsfoPL)_AHs?xOaL~UZcgL&A-=>@6Mkk$i*qR z=EXqugZ5}>kO5TC-1SqPcFkbgKy^$7oV^nx@oM{p&S0#l?#{2|bD0^GIq|2)+t1h8 zT+il|VVdbvp-4Sna00XiYVOqA*dD}h_iCXwuY%k2?ba6C3!|H}P$Ix;@0t5b#J!9? zBB=sfyfi=0{QXVU-O8K@8H6X62;ADJMr4bXCYl(O?{mH>*~HI(s|kpRJy34G3!H>= zd)s7uTSIAh(eE%LSBK4EKUXDwPko2J(T+PAhraFQBj@1ZRDL2x)_G3+mRzMqJSa8g zP`1yT=3nT0?Afulej9Q+47M7q6p?n~E0*~Qur0q~4WP6J9;d!?Qi;c*FNnaQkJ|8G z!=ZN#!yWKvWge)Iz5pj%nc{=M;mLG^v<>`Be!&9syYU>xR_NhA?Ln!fRvhA7VUK>t z_2LQ}l!_2T114^RdBl1s-Yg!3INzJg5Apm1l-HdPc9rUb12wDfO2*4u0Vj5{FAi0> ze!mOe6C9w2_}}~S`sY35#b<*r+_xw@ z(>jx}Uh~QnH?*7)#4DYRAJp!jmiLIp38&*MrHa|5;_3ARO2npKTCIx{LF*azkH%* zfR5$YIMj_omQ!uTF z_Q{epZW0aTnkQCs2E?x7?6^nggj(+J#N)a*!)bhuTK^iqd{~-G4T};W5Mm7DwouPp zlYa#3zw88Fv=9>y@gh5`GpZoY;JA9Bq>X(Qu%7cc$KM0GiDA9@OpWj^ldoG3!CsQWr14h`}b$ zsIwbUpl?o9zS$V{Ml1bjzdat;l(*!l7fa1$52&)Z{Qx3lHY(ppd|tk`J7G)+Uos^a zc5h-<-b%QXUa-RaC;$<(2Pox#)vLmvi9~ksNe$pm!8o{cVJqC}W_|o_f@5H<33KCq zsFid^{8ZwuK+Rv-YmPg^gQV=Db1f%fZX77_O>b>ZKzpH0a#oXks=Ie2b>@GU}Fn0CR19(vcBkl2`-PQQih1};#ndd>9Iwtj)~Mdnwv+SW5W+SZ^p z%gk#Mz*stJ-o^vD_1h7*FzjB()_zortJzO&?Sa+))_%pz{JCz&u(iGSG^S3s_LawQ zoW=?*(C}w+;`EuCn5OjeZ?d^)JDWDyt9Dt74<+UeAzlPh_r8%NbtZ@0dQi@?a;C=~ zk3u3Rz;af4ZuL4RYnXh7)U_;iq6lR#8MLZV7gb0G5^ zS>QSaGa5hPU0f5dCnm`{GvHWt1Z1?%)XxxJB0eVomA8t=vCsk`sZyn1g4#kQu+EII z9p_XVx4>Nd+&m~ky=1@t{sF>A*AAcT8MT_PuBq~s;*I+B;rqtH6ZOWtP^!A2J#*9bwFhp?x)0GY|9AcS#LhxDRk zxhN0ncE@c^V5hBS*%0=EkCh(en@8Dh(U~0WL-_E0K77zTb_hs`Uk{3yxbk)FJ3Ws6 zj4z=YuDq!=dU@ZR`lQf{@O7od1!4CUbJGIdp6+ebecYFPvB?d6B{rGelo`8VwiBN{ zSHKZx`fdS#t0S|B<`s!YXN&Zt2b%IHjF>sUru|Zh%D+Wb(9fZJRoT5v@NBKgFMo(_ zN_?pp=~6d38(WYUQtAP;L}?oCz#}gNmOzT~(7U}eb$ge8i-5Ecg_0*AwR&lJE2B_y z2ccym6l?sT)qV)6hE}drIi*QIs?CZ&d?V{Ln{{GRi#$u5&`gW#dCoe(lQXsF%{d`M zu2SxXFwDAHIa2Tl+W>3+*jZkj+bjnPU(U3b!=Q();ehp&il%G^yro-b9=c2uN9}P^ z+$Y4jeLQJyuckh%`Mu^jJi5VPLxjP`N}e%erM8cymL?!!whHXZlVFeY8#>#9|D))m z1U~V?xqwkNf>8)q%2P)u0YwCoW#5u817FBzV5cztox&Lz8h!lopW@SBo`_SeyZnDadiUZQ~ zIi8>GKQ8}JA6~+T5sxc{1%sVk{$tC|t`FqEsRRawpk6}jf#hu9%(Ap!hj-+7jb`g) z%#p&J0{pb#5?jjhY(MK}&ubCcA_-VfLWp3gv<~7|)|o5Ufhs5srcQoHp|ccK;d%3o zN7VH(9v;~j?$gsIAKM!|Qks8UQ!l!DoZdbz9KT~D>ttes{JBn5H{Pqxf8nRSMOD&~ z8MhQ{XSo73d-Gl8Eof{8RNf*cx8zA*mBO!zy-J>>Sj?>^e<>>p1)A(qAlaq)lr;5p z>r0Eb1Zq6Z(CD_^zL9s*yUhsf$i-|H=`M}uwR6Cq=z4Q*jcvj`TB3M~0cN{`UPpaK)o*GQ5;(NlOOXKx|_6YT7{wVa^wXr*~(@&ZrhuwS~&p@{dG ze{m4#4*Ut;Ct1y4TWnPPezJIAviPH3>H+QSkl2b{iPoALONLqGbHq31+eg=WkHnn+ z+c@vEUu62-HNRysB86y0 z<%6vX*mtRHgSo=JQF55PmP4#r3>w4u8@xe#_)NN&20$jqtyT#OEFST$tfS8q;yrM zNPD~@y9qlSyX(M6YfXJ$(6FBV-p^khOvr<~36YvUymt3e*Q5x(Qg^lT93`z9aTN3H z7EAL7CT$o?^Hc6%rTGbeFco7OQABPYa^&SX?io4a5;Ied^j%mc_O;Yswrq(u`?f@x zERP!;)M_!>^}hXsPV~1MJZa3l{00`IRMs+*TTi<@K4!8x^)aE`jo|3(#j2G07@GXb z(|Rw{Qu3Z8aAxQ%s1H~L#Xu|2vLo{?S-Mlp%h4>>?BDjWVwI*$)WKo*4fuuYksc}% zlsJsypWNT_n3ZJy3FepfE?0X85>k}+(BEDT)~BTglbd4?0Sp?5N#My0vn&+FLLhOJ z2~`GI3%w7GwVBpAw4#?op6YuEIJTNCpeiA2$0eGOS3!(u2N<-c9b~zthP1r2C;sDO z@Rthp5?z^|CWkm6DPkNq-Td_sU&4q)(jIJ4xT$Fe(3>Ikp(Av_i4BZL1Ey+=YCOep zXITceu@_+~#Rsl6$6n~uTHxz4AyBf34T!jzKE<}Cgk;Wcy|klREl6w;iC+=zsD-aY z^g_tpg^;@w0g@!S8=IFeB;&YQeKsY?UJjM!NG!BSByTLbP+J~w*~h9$Uj2y$g}EY5 z0@dH))6np@IX;Wd_S6PzO~oe*tgXy}l!e_39ig5{j{9+%*07&|?>~=xfb;1V*2UF? z33p5qAy;JHzfJIz<`EE+lbe7X{8VFvmjI}Sx97el9ofb#wxbZUjsZeL!;Ei zEMc1y$O)~7uFVbPM7IP6Mhl3T5^5%mK?q_hgsLdS*w&dNNhu6$0hTQ0E2iQcEwmeT z(uiI~FYt(73M!rA=&Xv1Rs3xTusMp|*xG8(YGjzRbgR9<%;T~l8ZNrSvSnpDdmsO$ z2J5fFjFnoP)ERui3QHGSD~+}0K*BZ1N@JzigSBSF4=q(v6m{Q~M!C$J7szm*Hqm4{ zCR6TJ?0(R1M9UcVh}QkJW*)J<^5X^Kv{Cpq^)7K=hlVdy^(UM!H;~%El9y5l7q&T^ z#I{)4!C^=8kM%4y?ftOieQEx1z0Esech)R{m<%^(P1c=7wAgNfZ_{iy=VtWozL5qH{R7HDaB=sIlj zGM&1{o{{2dOT&RvpJTNUKieKm$R8hZ8|Rd`CqoJXo_2!hnQVPmGwjM6i81)iIi+s+ zpwi-XsrZ754%oY-cvmDalJkTAlJNxcez zNX28NDW>cN`|dW0CKg12(W9IZD8|bNYFEXG1hJx*c(w6O7irrSK^saoTxRAyJFlhb z6w8HR43oC07w+;wPhjHJ)jz$S15{68vYsVTI23rW@rhT9Q%%}enQ_0#BWcpU8m_9x zc4$?!_@9BAOF91{xQ>;1Y@3Xf)|!Lp12L`H0HoNeSSTjPTzeH3TrcSmdh~W};Ekvl z@&Ywd1={lF^{U;;(>`^qH5uu>{3x|YA&;9e^`P?xW@Ko6gE>w7UC*IzLqPtOY_H{g zX547YugesjQT#$MaCd!EX7JH;1HhcerFU$yW_rw7l9OL!t|06|RqekX+JTn3qEE28 z#WNrgW32Ife1*3&(PJ@^X_b;NlFk|;X6#W+^Q17=9OyVfX7jG0E~w; zKkBYbx4+uhkvwq=0-}vguRaFS$yi#%pHTISflxy@GwgAa|N0NsNfowYA#d!f)suLD znVWHgCsa7t*Z<4)i3psz1Y!?8=NFb64{?tfr;~D{9nVI5HhEKQ$LX#(kyEHnA<`uy z@D5oU3c7r-6Q896Kve|IaR>MZwqA8THRvR1&?n32W-567*y;pcXO4u}LFkeEsbKVI zK@y|K$K~jZx$ZyH&^Vc6dI-N`mFuDLIYNm=7AgFPI*=6lH_o>|?F>xK^A53_>2;Mz z1L-ln_|@-!oxY|{FPM3j#T;Adon9D}dhx4MrdRhXh-?D1F=TtXzYIi)w!ad%({Mi`(t_2WRaAlnXN8M*1gbyQ zP~!Xj9LqhNRZgrr0b{1)nb}1;6eg*q$v_yVq(7Uq#G%N+7emV99grKDwe=7L*~|pM zdJC40o6FC#@Zk0}zk5zhOZjjZT;`wj^EJ;pfe;7_P_xWbU+ow*l7ed5Qmf@_#e%Up)hD`3ouNwg}_YhaOGvu!VNxXFc>> zg1%dM$2_=M zh^eoz8##Ux3Tx@`7G2a@hqu*Kq2C637o;=PgUoT4B+uwySLqfmnd7-Ajhjw4*eNnU z33yt4#>50I@Hw#urDXiEC_pQ!FJ!(JnD{I9=(THTg~6<#r`=m_&LC5svXi)*?Sij- zTIU+PS9C$CJ8ib7)o(n@&TMpn#&;6y^vIrK?=7sU`3Gbb%EOs$Aw?@0A2$;aX%)}@ zi-VU3e$f%U4C%?J&}Dj1;eMKg3Q^&^4Hm8?x0vR8%}w(}ZKQ+6oIiI47I$9I7A&ru zFM1#Fl%m`NPddVJ58%Ox+ZG-b2efej&xZObzZGsF8^5aZlFK9z>*w`={`KI6-i&333GZW37$r3=<=@1>KF7Rql~C0fs|!uD5_()>Qi+jj zZnnzOX-rp3`H}XMhr9XY3_eMoAe9SkMN@Y=v8T(xUu}h;2bxMUW`Hau1l>MOxAr}Y zx-nQ_440?&SNXmvS?J|vQy-7DLVPI~)P(qwojYTt=F1aVViWKc0%hzKllDJV?@lJY z+gy*V@YC@rR5|V%z9FJDX|>jDr{p0BD6U|Mg4wz&Cy9!eInPQlbFP8ej^CcI*+%`x znGR-JYw8v&Imb?M8{s%1_5tQHv7O_sPa&$3Nn+WCQx^f+65_U?G<(6KYmP>`l5iio zhL{cRP7b(FlbYmI;aMuw>Gy_b++Sv1I{toC{#07Pxqzhz=RM{^o=9fFc?(5h+$=^F z0mAKcz|pxWgTmrZ%ZFlSbo~t@5CBzDg0<0MPJDEpvf-f-&N7dD3~*U4>y3)HJP9CT zu~b6d9gR-iM=&7EojP-}lL^N+=nNb44${fDEcd;Srz6L#Px3V93fSjDsIhrki_E_v zuZ>Snu_wB0Aod?2Abs96B_6$E;(eIrI7We9?hgaI!mDJ#rx-}(w+bcx+WfOMj; zixKuAsj$159|?usWbQjs*a50}Z0lqUhNL|mQb&`&NvO~A%Y`1(8=Oqmi|vTOkq*a9nRqFiiD04(=-K>sG)Xb4*vM<%k<>Rz|U0 z1*3Fe)EkiDNJdZ*5cB=-C5iT6Kijkyi9sQ^YY!=n-`=2Pd!HSFbi_|Arg!iY-Vueq zBE!x?*15GwenN2|-9{7<$jKgrjJy{#{$L4IMGkoU5i@hJwRp=~cdeBiZ2Y&5Y&84!qlW=#hGtQOjApxkDz*USB9{GCPQCI)s~alPLFzYZf2yo zVG6;9){{U3fy&R<2X1|xfrnkvir$vPU7hKRAZiR+4;YDY{ErdeZ?6V|;&({=i91>O z{t*|9kOwwUUSx|9o+sNI=HegA^oFBlW#h|7&FR#JeK%jWQ%DTAMYV89 zO#!B-GjQCIqn2bJ%MFx?@?dW$pD#9Y%#X#$=ZJ zQ6W6~`Fvb?ML*k3Gh?OpQY-p7_{LWV+kSSuvAbUa_7zgqH@*yu%tzutAezeabA%6V zQcdK&#KhjDolg3+0nUgrZ_Sl24dY_CBkbF-;Y8r-Nc-%rGT+!K7763ihkkAUL3VT; zB^Rza8O66qxY?#fY1tP8%%9KyEC!fPe8zf~)G1z{ikX!@7j5xrGbF#Zy8Qd5CImE- z^uW!^ejI=Gy8H9BdUvQ!0!#qSrYzg2&?vp!kI1h@(&XsPjG_r&}tv<*VsPXpE0V>XFr z#=Vo1^o^Vuku!s9#5xCRz7D2K!!-jvT}(iT$A)+D%qq>BZ`fWG$pQkUT|C+VV^AB3 zMb~>CAMm;%mxQsjmXH@M?MPl!3w~ZIc~K>!1+_*wB|{52L*{b7h`MHhiWgJ=Ec3wK z_S`s2Ixwuk%8$VL%x%%8T2)sVxAi=^JS|66aK;;|^w;ja~)%R(egv)}l$odTIuPC!m$ZPo28 zcuEQRyhDQVY0yiD+aZt6tglh=!BVurxoa6sX-UCo22|f!aAR!wU(;aO+hz6hoy| z;D+3_zP>o#?@p&>Im(+^ic{Dl8V{mWtqWsPZUZvR0a#`=ZNgX91K*qf>~=3hhuWdfS^vg5@X2}NPa_WJDd0VP#ici0*iUBlw@ z%=3h*JFT@mYonQm{ib!!PfqkprgF6=nz-7^d(Il4JjOE6@{#`IkA%8-HZ<|iKDU&NkMx*8G99OFZyo8^B_`_wuEQmtQikU1>W2|8C0Z0n}Btq>0g6J!;6F zcr#Y&BuuA<(ofF+yZ@gs1MU1h3lqi&a%d(;J9SIhw5g-hcT8y?oZk z{MkoYq54LO%W`CbrI#@w+KcMKZXJXROyvPOUsP#B#Xof}^j_Sf@fqpvI28)Pk4)l~ zoM6@-$jTVvSp&Xr8SmPJk4Xb3K`mHjCkUgK+{5N+m=` zFi-&ulE*1GlhtH0P{t$^+mBO(b|+a9SA~2h(QhRgBeQx1kIC>Vd0aLzI=v?vr`D1t z)_}?P7)S+6`_-Q~`td11>KDJMIU)PC@}Tm4EQ5QXB|6PCUTiwpQl26iex#oRtdP}w zPxm(5SH%GC_vHmJ?K;o63a?@;AkBw2;Vm+4 zG2j1#Nr|{qnoDFv5~%)w0dXt4Ox@aEHNK}&LhlrcHn-hP4QiqG{O?)gKUFCy!p96t?g_&)Xq>}W+>u4$noar zyWX#!D4AMyHx)GPphSB+12vBc|5vSOZo0#cIE~hq9QT74t!zQ`yx*S=*6Vp*N*meJ z`st7Cce-a}B{q?Vnt4=IMV{=lKo2YBc2y`@(Mip+eF;>5$Sg}TBe}@tQ|wWOU9mar zGH!vz@t(vcVL7zc{P9!Hq4*th_)Kd%UWa?o>^NVilgPhfE079Q%K(Li%N2oH$h-z> zUh~BRSUhQ-M~a@?P1(SBv-SIsLhPBTRGZuu+5?l!2}Jd}R1;Vi7tw~)GCUt;@J}Q&; z#Ok;J)G{`eV~)z1FW08LjPhQ?Uu){UedB?zRjt6p&JSD#Z0-}0uv8yggS!&!xI`@b zk*uJ`mQA%lrs16b8I?|L$gp z#$zPMnTU%-)kitk9&1lsyvq?^q=)=rrCS@A&y!5%(~IV{46AMYfo%Xu)mq~mDduXe zDZhALi|y|v`Hr<3Pad7bjU3<|ouIMw;8MpjMr)pd{kR`o>WqJv24{)TL)hIvOmK5M zLj4JbN1TmgP$c&CNbGyrVVr|*tWYBh3O)Y}QG{m;YC}^6s{c$q9{(C~uOQL# zbxuh_#@!1U_ccgLfmVNBm>jrsbHqfrr}$6i@+s1G z*z)*B+sk#P@j_YHV#k>*9+zIcn&OfwD+tdCqY+TWRkco}*aWJN;Ztw20bUBy$lChwTH_S>G|{;f4S4pF^_ z+<%}v5G}=_Vri|T?K$nyG5dMv^dEV-tmg&- z1^Tze{dI&Xu2`U^5cJd@NQj@rUg!)+kgl@K0+MO3E$~8C4Gi7Ou38|~jt{F?7yZ1i zKsBVNkNEW6qoVKfkGJ$)=w6?^!$RhVODuI~g^!Aa7O4KjuI3Z~?G^xSrnta5;{)2M z7SOPKf!h|K6`H3n(2CyM4$!`70qs2j+ViIG_mV66ys4ZZK)W)(P$r|c_}z=siZ7

    IybH6qO{u9752P1|onnirKGo~{E+eYRnkxO;F{l!#3wuOBSo}3n6NpqD zfMRwA9ppSrE*6`wMAt4!cWnUL0~RRNOS(_67kji4cRB0P4Ri4N{pSgVqUKVw^bAz& zhJ*udZ})-!rv#_YT+HA?2Oi^zCyoU*xfBIF2~Upy^35Jb7fuGnfe3{PC^>K^xi+G; zV>)h>!;2KcO|LenYmG3LO|H=FaXh#H!r&lQ7`!|ghrKmbA6`ep6YW#A5m>A1^|8&I zCQvpAk+v*XplOCys)q@9O@^5YWeQYRIYhbs;ZtN`FJPORgZ284F17H&p&ilw4s?yWABNZF~AlnRRl8A_OzDt}WK=iRR{sk<)s)-be#91)+ zOB$`tI&fQA)w27QhKh=UC!k1_vvOv|!(7E#pEmnQy z{Y3Ti3Yh&E9+f$uIoJjlYXm>Pu|OTWE2v#tsK(ZT^L&u2y5=}kWy&W)P+tyY&d5&# zax3&ru$`hQSP@3EKaK@-iCuN=i@ezp@oQ6x1Xar%LgGx&pf2|l7oZEEIS?)Zzp)K^ z(UYhyHp$T`i=qqKA{4=Yvno0VDj|j=h5{_OSqQ2x={H|O#m5J=)yDy2DgcpyNH2i7 zFj{h?Fd`w_JD&Zco-hGO5PI0rW_|{bmIIOVDmAvhOO={7Tx1GNRvV=H zWKkF5IqG6Kji@Jb1nP*uZ7kofKC8?7U`YXOKCCVS#3Gg*_iJU2lHGnSXvdnKg;fD= z-k^>}u4ymwWx#TR+o78JNJXYK1=k@oQy!!^G!2UxBG}DvQ^U1MQ2?Ua*dypSpBWOd zDbpa1pde@tp4|2yWarcHgbi>9Y?*`2t79Q%e?Suuq|BvH3&|1cKv`57?FLNp22oas z`|4=(!6g!x`|bsFEbvcr`?Tjduf=H63nEqYC{P4uF5U4r1M?6VTc^@&npjCkP}br#M`ijUZN4q93R#RIxtQEm)T#5m*S9;Ksd~ zH>S!OVbb98ytyKv1)TFG(um6Sj})YIk$5GLXC^QWIm;2477!r{)2QjS?-E17yokwR zj)n#NMfj@jTIz&^P9Q$776YZ-P^tcvKq--d7f)wlq7%Vd3SskkRmi}uN?tB7LXP%3 zQNIc2UO_w<5f{~vcsKbKAIJ^pVoHMuuB1|}-FAdZp9STIOtZ?2eG<5&maK&jgVZ?TxG;Jw;Qpage8)6B`4<(y?%OUk0! z#_D=Pr9!zY3A$gH6L5w+##(7FL5{Yu*y&yt<@)xz^hGm4FhLQ;l5DR-RGyrq-WK=t zVZANxht80T8&gDqmh=%_c2knwv$dNfd&wL`7^QVDi@vo1_MWHkDyST_({3eZRBAgr zay{DLvlo$A0~VDn=;7InO0TAST_1Rr;0GnUx!7lsy7_9}SC-N#ow@&h8c+^7#K)iS z2oH=SYRqHL>lh@0|MaJ0>Bv91q^7yO+D41`pvn~Ox$8rV_5^tTAm$@YJn)KG?!a=s zQnE!7p6}q548l_$9d8St)s^tzU5oIL+<@?)21zMS5bw`&!bYxR8jH#1zLgCO(OtYR zn#cPqKy6a*Z~uVp<9*T^gtz*zg3xc#d9JQ?ILr?A$*W1cfkCEKei|^4i^p170X$BW z)tW2I7v-}GEG*PeYOF(RNXq24?{$IaC`*>Y$JG8Dlra6=zrp~okLTaMe|->0K_FWn zD~4qeCTKrx#`IXxnh25P+lcK6B!>QVW*MHsbe_mhth*Sf3c+1aXByC9AajUgBvQ6R zC^>YN;K{R=zXZg5fgSEe>)MP0hGeB6+*?MF4wkxrzPp%)04$Zvw?$}Km$wl|MgA#Y zr;g~BwoB1IvZA3u3@7V$`_E8$3I<>0M;d-)IWqpSScFXPgh0V$^nl-381&&8|LqLG zPjbZkB^v=i%GNW{JuoBcOX8qC%>G>hC*6(Ns*{8YzLy3S3g4kO0({Cqe%rI*x z3$TjCYgzmmKSlCLi5gp6=m;dH+po(F(xEpPtrumqJ{hfNHQh1A^2AqIattPaCdA8n zysf`?d7}}m*&T+UDVu}1`OC*Ztf4EKcQ6JwOmG>17Pezd!XXV?l<^W^*BgkQfXtE7 z=*S54$U((RKyoc(>OBNgKamcmUb62-Gno1;ECA2%p;HeG2zLjDy7?QF$$;Oqf?kLT zQ+UL{IM~H#7o{1rk}Dv7pVNkK{k}`(3>NX?`FG_E9=0huzo{N-#5uyIP2*e}zbXlc?0%Z1#^k+!9AEkzYt`?1L!*7U%(E6d%Y}7)d z^gDk~F+4odvE6 zh^ofI(SFhbr%Fj^RMng8!Wkh(!RFk{n;oZR7xijY&*8SW#68MW)yC4^Gu*N`@1rsi z)0-kZ5)!JmL>>nW$@q;HAsN?WWN^P-axng@ufhxXF3-k+!h}skA}F4QMK`>3Vk6N< z`mGmB${>jKAKqGfz->gQ{EETzEovO@0>Bj%=m>rNNG=0RQkaq=1K7X7mLhh|^!JyE zJteUnmB7oy9uqIU)a?Qc^?lU~sk)HpNtI5;&0@XbB6t;Xx*GmbY<1Iv-VAF40E`nJ zs1)IckYla<*M6gZVst{TEwY=5xq&rq{a4!wgaOovD(EGJJRN{|tJM-J*x#zsgEF>( zrdOjSaQV*Zi3uO4@@WUPZ~CG~D@5?u;E>Zi%l^-1_UV5rdT z5*HM)rVCKhrKKE<>PK@-&#FvXue$z>Y8&-m%4!Fyu8!-*+?ZEWzu+WR@ijO#RKKy& zAN!C-ZKdWTEaHygH{GUca6R9Kla%DMbn{@iN_+@G&EgGW%`?V?R@VMl@PJw&lwRCV zZtq`JVLvx&7z5$UKfXLefS8WJIeKx?Wf4CDg0e}UeeS-lSn4Z=DyqG8@tn00U zp-XY168>O)likZq`;8{d@F|#KVgqLw0*Sun4R!*K&bgdqU@A?x>i#F0^9X%P z)#lsbTBlK4chac_r?5P2TS&K*Q#2F<=X#~pLYCPFtHzo z=cutooY*okv1NeL9BX3tVq(`}VxLELT`{q1cZm8hvAeE2SxoF`RxuKMC}UzHqcEvI z5tI6p)TD~3Jb_aQSuX@I0LotaXCYwG=mr@hFotsilMPwg*PD28pY&M9nkt2dYR*3- z0OhL^yu6hH)QHYoUuuaIk8kDw<1&u=h9n=6+-_;(I z5Go6{d4j@YVCv;9GAn6rQm!&=aT-<^b=ks4t7r@RPQg4T6pdXu|;z0_-7;Oyy=k8SDbJ6uQlD1NmFiwWD!S`$$nc<^r}h)Qlpi84C}K zTHl#u%{$STLIV_MGP-vu-a~I8Oi*ecpBov{467zhm6Hn$%&MS`pp}9EF9eN)2l7xr zRr-ez{w;hj;C;+5FYWpFjwKNo42vHd>qUCOj*%>}M$CulT78wwn`ia$kOL}A1yq>M zFaOQC7`VeF5a7`R4S62N=+@$$7H)q^GdcdK?|+o9Rr$-|z!VL}Jq;>r__` z9aBjnjwt&9JEST;Ol`6QLIWQxT1L=+!;}|!y(K``5*5vRg)STS4`G|-R>YO7RlDpvSbO{OqQ^W zR9td=F#H+C5UgM}KmLL+3@vk=vte{WYVYX0rg~q=`_XyN?Tx*w#O69HqgC5&ww*>* zuo|-3E!bFI6|BXt9PBN}YuC2n&(-d#xz71$5We&JSX>Xx0xCG+Yv`S-(H-1e$gq4LrDB(4}f^L&*C}fAxq=CnE&Az*6 zb@A3-b1yzinthP)@lR~r(R@1k7oE3buh`BWoj0qVyV;}jX2X26KJL>sUpb9G@i}d> zAHL$aublmXgZ-Kcw02DhKXz(9+GE-PK8NUFY@RJDI#?APfwpc@wU?@b1^5NilL6Dy zUYMRp3_9b!A*|$cSc>x4EBr2O_BqWC7oo$WntcvF(dXRRh)te8{ZwTFOcH+{0JGSF zX@a@05jL`iUXV7j!Qe>x<|2l9>Ff|YM$6^zF1G0x-p92^XES`h)JIh5@L@TW8HF-1 zR_eu~7(-fH{Y>qE6TqpuP{Mxic)8IY#pqtAASv@c@Zk#|^I;j#2%hV0e5tg1hJwsg z6{YO!455nq5S5DILq_vx;v3tVC>nx|B=_XgL%Im|3S|{#h(!LDAJPg8Pqdl{w!ue) z5&p;Ta4#JpHxIZAgaIQA>L(K)l_FmVnx6O-+&Q=fbAPf81`%b9uO82AgIl1Tqj2E*m}?Z)>?e5?3gOF-g-o684({J|6$uB^8{oyUtP&+A_6sU2WQNO_6>~^4-ZJm1rAmv-$0g7wzZNxYg zLye~X9ER|hRsUk}nN7NK#yTJm^M#ye2NNp{LJ|#v0s4{So^D5d+>Esb$n=@*m!ky& zIN|vSNO>E*`2ywuwF&d!PG!}46YMEKr$G-O6T)3#4_FJ>`wAuOgHgb!n8U#Le!*^m z9OX*kHugGadr=b|hMs6!Kkqo)$eaYN;bb5Lhy(5?+Z;9ZTEpTqP9~CQ8pl%LE?>@|g%{8~@6B}cs1F&B7b7|FH~X9M1jTaNSWuFr`ag}?p6ezf{I zpx!D=ej5h6kFe!y&3kq{*vBg6gA>?a_3}+>ayw)kszoD)3q;Zju>*wNuX76F_Kcj*uM?`o}p?+yEiBaP8pX zl+1o0C}$!1Awy;H@CWFJR<-~ya#4bv<==h{{RRv70>H5UM<09}U9KOzIr`uZ{McKv zKK39bktpY^D)9h*qN{?dC057_!Pp+W0~c-42Px#bs~)60j(?rNwMwmqtd;DnYyr54 z8c*!RbzIzq(FD&a{RzHtMLf}l--30ZTok|K;wg+(c$VOGVkQ38CRU5T592R%KX9a) zdi=z9qLsIrYwp4qdTKP+FqE7OrMYG~e(;_Nc~Hk}%pELoDsSBSj()#K=o59ib10c0 zJpUY_dNzAB2;Cd>9F;)^W`HrW=VZZn(1(187wcIC-|v72ttr3=DHdd&AXf6=jtq7I zQ1!?z%!D=~vyosIC*jOz5*d%tj3t-s9OZR&Dob90{0L@LDj5V86X_ELN(5t~(JW@- z+H?JxU^eZK?P2%>IpomLx5%}QhEulqzf7lWKpXBcmZ?}GeyzFv1%NIS<$+3XAaheT zw{!2G+quc@{@+Fua$sCAR(MvU0o42=hhHd=`%i2Ww2Oc0(AI58MEh5AOUxr!JEB2;1^fU74V$(SX9|koa8hai?^}x^M z*AQ}(5E3EmWxH2Od)a(agQ_MC8Kt_D3oKMsQp$_NAbn?!*RzI@by8#`g4dy)x)Y$1drplwHH z1|*#sEhG>a(l&{CN=?!=@MW2k1gn%ebLG4#Cn$;N^bwQgiWGk4;W@D~^0)qez1n#)X9ZL1DQJm4k3mB7E8A#l0*RL^aBFyz)q9#^z3i&~? z=Ls}v6T!o9KFcuTLN=h>+5pCY27+whNLXm}M?Y^svLD9)ifV2k*2lOw&%q=|DjRfv ztPF?Lq+j_5;t{$OYb^A~nhQm@YHoyN5dd~oa=XC-zc$3lD9b1sS6vSgh>w=&#@rYjvv5#EOdFb-(K zb*Z9$F-fjV0hUKur#R0@bD3lSc5Cc%GV$qqL5#hYD`>|EaLie%s5&8|oW zk4HBoqni?1IGj|WXvL6^q7_4{(l^v0c0x^Mk87~o9&j`f4mK}=VO33>MEI#7)(Sjj z2-&7|O-LFQin5w?!Jf&=|CzfP^c`NFSB*NcK;d@AJYj`BYhXhN(EXcQEgw|1i|rtL za&E*tIDqJuRMx^v(q`4TpI8HD*TGS0?A>T##-wv$BXQ3M>LVA^t$Xh=GqMN?u2CdT zY7}Xc8b#8iMv*e9Q6x-i6zP&0Vb-hLf!999r?ZF83%K_xK5h8?6`zgx9Lyw=){A_r zSk{O;+y=1_O9LY6hqscxVC!u?b$QDtQhfvo%P|Pp7TKx$nxC)qRpuckKOKbw0 zu-0G?ijDTkXVvjDvG;1?&6qtTE0CEATwp2)L738jIobIu*tV|1X^3!*)Z8OpH}aJl zs!ORij#HkVmamupjD^BCP@ht+&2KD*8A*&xO`H#Jn+IIj>nsEXf-Zs(j3PY6aT&4B z{Oi7p<2XL^yXxV^2HN~ccH;;Hujft#LX1TGSR&yw7-TH)@d8P43W^3*jPTLfes0D4&;lgH`%Qprj%H=K_` zaddGi5AFFcrefOaiMDh$a-1HmlVNS?y&Kk!^m^TPB5i(j+L9I0Is=A*ML(}pj8N?T zT_>7Kn?J67Lz-bQF&H9T|CSj>gapb20YuOD?&tWjlc#?9Ly5c6Z%l>?+ZrS4s`l81 z!Q*kFMaVOsxcS5`eWsT*?nkaR@f%1&0ojZnhS+T7cX*{siU&HevCfNt#I#Uo*vN%d zFM#*RGgPK~%Ik2o!DJAaeIYq>4-Z70kSZL@Uobp3puHZ9Pb&-}=ZrrN(uU(!**MqM zDWHb_#LQyc-x*9yLzb19Mfj};6DXUQ>EI@X7*0vm|L}P43rWWJ$_gon;Ef{HsBq|u zdw$8U*_pYapVyU)V6!XE7oVD!nbO;%*~a(FxS{3@hYK)G_Pbpt@?HcI+f?i`%`9h; zC6(vT!=soZPP0s%XW8s25N{z#ceAHZM8SFNw%rYIfyra0->;?E+55S0R{av+z}`{Q zcuz4B62(2R9(zjhapR6d+ySzX-g^pV3n8?vYX{YWiO-4rQ7gQ3YaP z;^GIsD97Qej$h+F6{6J&v^XE1O5AaaJ8oRTh2ROve#{3C)^iW4AJ%vU{tNmjQmyNA zaf-+8#+>lbHFi5`$tL{|w-a)L#v$*|fp~Umd}C{^@nyj1N>SJTW+CcElI>ArWH~hf{>Ofv^vcx*CRP{)0l-dLz~;HX-CK zBgEl{8nqTv3jlA`$36jK9G`-B5#gQ-Ld@s!DFu>hfwy1s=D}~4kn4Bg8aFD}H?L;R zz$3)C#odl8n%xCr`*ubuL#uo-%m4b|%L|nM;lY;|^?SZx`Qcx%{PsT{^mr>d-rpZw z`6r54xb=U)*Y*!gpp1#X+ACrPFy(rHjc}Vu+#$ax7f-__T$ET&U93In_X#n+Kjcfk z&l%$T&#n4u?JxO??+3o(`$N9u`Q)6_~oR(_7H`cBgNd|FQ*OxVLi^Aq!&UF zSWQO>{+$~b>#_Tjo&9Kp+uY90=dSu22To1o<*2R(T6nU9$52Jq`=ibGnNj^;@%;g2 z|MS0O|G(t>JcbZ}S65#t$?p~ZPju|vK=2m=KJ|0e+|~@r41GY%3`sQU^Kic_$rSb( zGK!p8`4@9{s~X2%5D$v&5fK08I9;W-sU+}7K|4(rKIFy)fi$gxIN9-g^}Ofx`a|paL9Ewl z>|bK&zPk_CdhNPCkRNf-8V5*6`_F&WV05Rs;&}m|-`x9i@%|;fKPPEwclG$ZYkv;+ zwcphm{<=z5utoYy;-OB97lZ^aP!nn!j(>@~(;Ya#mjm@zZJt<)(IX6HqFbo(6N_w_ z6&>jPuFt7FP7G05o*2TX9G?o@5sLjps96)C*iUq)Tj=_}8cW*SkNJ5jwJ~F+ig?qf z4fJXbFZbrPfAZ_}bK29>_EHhGB0RH&D(!N#n(jXzb$9@hd!rYST@fCI9D1}*$}AZf zDXAl`WhQC-~D}woz{s^`EPbze*6Rt3a%-0qZCH%=bRaNdfy3`=R%%va47~40 zUg`(}0xm-|TmQiL1$OKiLiBUTu)ug%BwvlY7%gzK1F@sQ@uiWotg5zljA6bM?Pbxz z@!Zvuxt>7wHp4|C#_^FqjyTAp1LJ?>hg(%)c90vqC!DzgoJSsgM*UdciGT6xY9J6jBo8F8bU~)I=(M3esX%1x-4;9#2>nT8=P=G_K6 z-^!=xyzUn74;J%`os8!L>Co~?Vl?N_ufM z+S{Le@w-pi<34)PM=$#5#o?zHxyO^6?@zvX>cjoX7mcHYG;j#*ok6s>KYDS#Xt9r8 z^wEnxdU5#a#kb*v-#@*$uyud-&QI?b(!e347w>M`zrC|owAe>4`shU;y*T{z;^W5- zX1;p2#B?Yp*O--tBb;L&Ac1omQP7VloZ51!fh)fHZS*V*{f2ai5@q_`F6&%YZ! z^wG;~din1TkAFA(?;CF){m-KRp3+Q!Ab7XSbr<>bfcS$14dXop%H48{2ZMnR>ovAc zWsT<_e?2Ozy{z4^>m1an6JnCOEb3nJg0WK4j_pa_teJ4mled$ zJOC5ze&*FcfV(SXj|>Um0@3~f>^MdW4{SSjIU<7tahr7y&mGq94E*l;v#-5AcnTcq z!xynM0$maTAZ1w)he(axf{my_Wy)seDEL~&el}%QKQ%EU$8RLp<=JzBt__j*S7uX` z>=lReo0L^~X^~UzC4p)6NNYc2OU8bjF3bg0^_4%w@JZ!Pk!(S=u16p2b(#E^Z z2G-G)KlYW+*x&cn;giU(y1>duAg3gYATWPO>Uq!k3X)~!`#t3=!292^o;O(UD-J*M ziA+U45fAc-Ohi5r2pz+xBA$^jxz8lI^c(GBRx1r{mw}tv^{N01%3h|k;5YJ1h)eWin?0enHvZ0i@F4mCiPrla= z9mB~R!fbbpf9&SEiCW$u)ku2cIsRBO&rf?@uen#d)HeY2<#w%as;tj1>O-!afA#t> zzHm{-{3woo9%Xor;+Tr;(G7+8&BIlbg`DuWdVt(leZNb7C_fL0*@;|YtoJx&H0)P6 z-(`~?V4jLtGcw~f7OAekM07JH6q45<_;NpFa6kBQbYSd;IrB4a+g(u+QP=z^=fJQVZ! zRq^Ry@L}xyFNY71CbQP-7rj29{0n&m31#Q4n`P5aIDc(ss$~IfaXvy~sE^NcdVhX0 zpKlNK`hGs2CwqVX&RRVGb??vD@_AM7&mZLT@AUB8T{iOq&n!=w=K>_%OFZnXfV%?c zD=rt=+wzaT#ymQxCJJF0e(r$QE)I;G23`w3K^d`=X^W*p?KhC<5C$oq2t50t* zaPCd9w)5=LemI_07n}w5JiL;Zh!1toK zZ=2>@BF;;W2bYVpl52x2;=UzF09YHm4_Vl746<(}{simQW?waZJI%fa#1Y6i9-RNg z$T2UKanPId@Ky;qzpkB$%GnDfm%rdqM#2ydPtKL#hb z7x^56TY1R%)q^+V81%h7CLSHdiROjT?K$Ich`cX~LO3V{=bYn+@vD)T)r}*eSK>Q_ z?|OWf!6cj?AX>WyV-MR#`8Ktj6z3e7A|_#4PL2@!0bx+y~km4Zs=8+Qe@pMl4~f zK)0$5_iLMQ##f=S#iv2B^*Rd!33L{Rf8iWq{db#j7<1TJ+)-w1saohP7Kkw_pbcPQ z;2O)b+-+95(^M_MY9W3MH)a&_j5ValLqQyViW93?7s`9Jb^4Dqs4Ea`zp2J^JqGe* zvgbG!4ibua-lU3|B@kJH^(#MMG$vfFwHE+8H*E0&AvIO{?BttxdCXs4~CylSzRKf>pAFQciW zN~U|Ow)6QJD%jCRl)*869_>PLbf5Q*1|w&(SDWtjXtzIy6JuRTWm1bLeg}VpKH~Gd zJQPs$6bB{C_Z*|dxr8V1K)V(I9b_^*BD?vm`tvq!LYs`!8>bhlV<+2T({ZTD&fIvl zm?(Ap`32#D)T%v>ybhd3FK_GLyOY_&Ec6`o;bD;rx8JXg;~_E zjo=#~%c*+tkO!}lvH7)QFeg}p#yiV&%0`b6P%|C0F9%(%VEU=CkU%@Q#V0 zb#C##QXLidBo`|ZzgZs^uUK}jZA#)df}%(!Rw_!c6Pj);%P5Z?+0$1Xszfk&p2#Er;G6^qQIeFe$_gx7Fh(W7G0-6pdQ73ccR}{wX@&VqKfuP z%#g*etvUIH=%DPZHFt4wPtKE^1#6x-U{|A(csOI8BoM55IwS+GL^Hii)pgY9kp&)8 zwZzGCVz!z&>KP-fQAcz+YCdoO5y+G^>K;e4bWYDDQWGXd-*v)z$Fn6)8!GH&!XEve zoG=yvmYEZF&yg0Qt$9~=ozL5!LI16;TNAcY+>;Y#-McTNT=o!)@dOKNY379So{5uK zSQ%HT0e@i(trG+8acw23a$6I|a_I^C^%2&DHT_kNn$O$U3*_nv{mjv1p*C)~Hoe8p z+iEkI7w`}WF{MD&E_0}^#xQ~s!HbpQIO1uF1ES7sXF1IE#g`${5~l;K5jGFQP^e`? zQre}C{YXvj%Trw+E7kpoTVs>dPTY`p^VGx-;Hhq53g(bFRBtm*IlLi1p#8mLa3FDJ zPQdl|fHLv#I6T3h{A(VS(_-&hL$t5r26T93cwYa2#`6%)gROpB1V7U=P(Xp!1*<)=WaZA@5F=14%Ud;Fo3bUa6aEKp4gDK zpXVyWy}7WOH?mCRLpm(fX(+`6`;bTokK{Xf{#?k7JTBo{bdKZ20j&~F`n5y5oBjS_ zsKoh2z$YXSG0AYo$a((huQTQukBc(r`1o#fjDdx-CR)yHdb+JS-bZxld5+bCo8tgd zjP7raPcr9N#@nan?;kh6vz;Mpeu2>h!~W;@j=_g3QJIH z4C}zk9^#aW4wM+^8L9>)h-RvQ**HuH;BB%4FS8H&YxNBVtrQysb;|6bX>3}9KHz<~ zUH31iouZSbs<~E$W^F7R&^D#ZUi`aMSy=jLy^s*&2)@P<94p1K3^go1VOaZo2t)q( z1ZVqY{Gn0g^J|N2h69wY2$I2^6%aG93nh_1bQEI26ZzkLyBy`77kadD4|#68Q@r{T z<&*VKHgRy(!*Q!u_;XUU1(=Q8?qc3*cArVh_&Rqfo}P-!LO#@w zf1GxWmNirW_37t;E&-<(aK6qp6<=Xj5-KpPxyB5Kd0SYPDrx0iK$`^stTpRn9-|#g zBD1Q&3jv7<)nQf;!pWj2XIx0d6ORlSP;tw%`Wyl3R&g2try%e;YiW^YD9fhRX&e!N zX&5!UEHS4=Z@8t&So1&VxPacyfMx?~EdaR9F8Z}|(0NiUG`yz4OU&ss~?SZmaAnYnajNf1ksjHsB0zyO7@z`=Fg zFs4Fyo6~bh)jy2){3}$PNk8fGitPZZfN;>QB@W(um65;I!V0Ee|7fEDWbl=|ZK9Q% zHf@!ELi|(Cr31Y6n)a8}LRvC9%qwJi7%w0Z$VP}s z3QPi{8>R#njHN{_aK#Cv|4tkc8f*Z!7yzEsw-Pt$L=9hP4heq;3?gSy># zji2FK+7KL0M2nNv=KiU0*^{Kg;Vb#BpgAM@>! zCZ~}%1Zv=?ri~$4sJp=O0|0p?LVoFMO|>l1Tu)#H-8T#5#}^e%DKX}6o;1LM3KwMeqog((1v5XKJ!Yas0Px2iZ* z5T!NUubqi-d{FwMVfMsd@mo-3*flYQm?uffiEHtfFkzT%uz)mFaey2w+X7d~j^A5! zkxj3Bq`_>U6Tn9U!wnoRc9&@j2Qww!wCFG2LF7m1I zJSZc%2C(^Ah*rGik2P7yzEfH9*5{8H< z30RR3#aQmXlHKs9QF^H0pZQ)==fL>icf#DSRNs3fWZ;`d;gGzg_@&aP9RSr(SyN&b z9NckVD}oVP^rOeaqhk6JE@4p(A`7PTKIa0K1s+Ak_n(}#_zuJ$cDnH`DUT;{K?#gU zUQGwid-dOrBdfY&8$A-j`wve+7AJX{vR5D;S&qlG=q?yoWJO~77`;i%8J#X++*{}?xA z{iq7kl>T3+i;ouc&>o)`{(^Le@fM6*!3fR!G%5vC)^3y%(nt< zNBxk0y`|S38#y04X1%39JT@}IJg*ie2cEa+Ev-Bj=RYz8d=^EzsUR>O2k%A-vh<%8 z?&lVz#rcXILxOR!P|;oNd(jwSQJ}(dTRjp4wJyN^`EjCjtmf`rpZzP#RnmM z8x$nbp+{NTuXqt;K0q{7?A0cvUruJf90r6i7#j{tv_|wo5HL)X)d|q*&bw(7m?Q^# zBF|S8l^%&x7qL@^?tbV~qT%;((E&vqFxw`8i|xtPAU;G{!1t9Dd{x(+l}gRKIOEWx z?OQz*1$;H{D@#?$B4K}_1(f3SbJD<>pN4K9Lqy-bz;ulI+#yqwl$%nui9RJ3*F{+-b#2{C_fHQm5ZuFqkMoFE2nF^Tp$+)J)4-O zk6B7KT6Qn`Tc;nX18jIb0#PLk4`h^73xY?WQt4AB8-^EFG_TR@aeb~VX$C2VY7-J8 z3yhDz5WwTCO-K{y0^EqRvLV7u0Nj%}->%0yl7{}f-^!^f!W;S<-z4O==|AI599y3_ z>iWfHpsd#ycvcVL=$j`MB18aCc-C8cy}s@B(|EXYwj zSb#QL^m}~d?W9H+F?KBo2yp8{!%x^8NS(-Os@LvKq8tgMSuD7crS21@f-7aA%Vi;u zKdaDk7P?UuS}qHngF?_rfJuZq!V&h-@K+A`RjfB3)?4uM_Yr^X+NabIiRrETG#FCiud z;>F(D%3+rEz#FeDHcbb(U5d}Crs)8b+zgdEuT+2XMx+vcO^gUC)X?^y3J1sRBP|C9 zIW0OZ!?LW|sm+`nXI<9py!UBpc4RR*JNxbsi_M&!wXzUr$1Egf=M`DVoSo$;)c*a! z-AG58B!OEc-?S$`J*MhYu|fw1$N!NFGCYBBe&rj$P7suGf9&%dMs}PBiL{qJ zVP4?`lmm@j3!UCYvjy1Oj|9zyRRNHA<8A?o`;X`m675?Cv0p5>N*3JQOTmXwkkU>bA^C;=RqI^@e~3ng8oG$ANpCSuV2H`z#1R8r7le@yoTjz z*>XW&%g~|cA+MzDJfMiB#*89}!=y#`)QM7;VV?j3#$z{2q&!Z4;r>SB3gz1T@}JML z`J3x0;80pYY?5!Aw>Hv7JHFqjpImxoZsZd{4{LRsp8Q4=;AD2Y$gf=p6@k>2Aa2p8 zT}v^_C;9_ToIxH!luzF>JHA?U$+S^z!}_!I!NpgK1D`Ga7(`QoIhoG7Gz#$K?37g% zi`c7pp7ydTY&0;w#z!3d{Vv0sS@b|L^ub*YB z*{#&>5-|_xM0(Aq`cMfrKw(YWhKWL3kQsqiVrFI(*VISGNIY43r$DHW96cjcm7Vkw z>{6&_jH(jUJi)oe3^MX{C5{F1X&)elbm?r-AJMFuIKJkca+HAu0+N+oO(1VpJh%;f za3`W`J4uK+k0O@^xQ24;#caxGF(=#as)xU*K24@nqe0B^pNl}XeW)+!h|U|bS496t z=Y{JT{TrRP5aGl1ai1MQ#F}q`2mxMXV+1g8ClvQBV03RqApUq1&0pb-M=JH>|I%c{ z<`vYdz!WuJb1$(x{`d-ftrLfZL;C$i9j^3=%Nr@{3OT@JNeRYdN=}7}YwB?Yh@h6$ z_*Jq6^|a!L;92@BZ-Za$`xW_B*-kZ)m`?~|Oz|52VwZTMxrWvy37p3(@l$_(J4jS) zQKth`sSOM!^{z6htWBTw{k6uU2x1r2>G?iL*I;7a_~TqwxXlitZpH=aLn|nI`*1sG zGeVHS{$jBffvUqPnI$Sv(!?CjoiIky$8dA{K4MwwYS^mw*rLdx1LHkbH3<4D_(11$rE#8$r)+qTw;pn?4&pZF7Z)FCoVf9hn$ z{5~5<)UXYqld_?C=aTqkfeiL1y%G+U)NMvyLw-7^5*P;^t^(Ci0x1ObVVO05K!y5T zo+6sKTM__}lWo#Y-iBxJ$VeR+N8B4BXefAnp|jAm$eTP{f2xTr1EPspt$ykaY%d|Y z3tAP@f4*>?;W5^N(4E*c%jR`KSX7og@EPC{e~Rq}v}@|XR7fN(+o4kZO<-Dz_LqxQ zN<;@yK-BCo{R+|ETx8AR9_G3G-(3wJk@$SOw zT|%dGNvc`CR8Y<1hV)1^&B5qfZ$^apx!{|E?n*W952zWNCH=1T;r;=ar|^2%eb$o~ zx;BLE&{~T@;?V&!!lWKh1%n=)bptYMvaNqf@?=WxB`pwCqru~&;B=VnquK`36SPTx zKqw@fpKi$hY^=iG6jSX`9kFIDrm)Nb$UwTMk1nLx12vLI6*F#|mAd!1E z^e0v}8G6CbBP0 z*K=M?qZv%AG?vjNNaI-m7F-(5=u#5~I4wZ~9z&hJ(_e%-(ZENi!<q)o#Ge})P}(K#vnq+c~J8Z2ftAnBQB>Da#Le5?icfpn^z(I2d6ZG?oYNG z;K-95s2S{l6}wum`#txcpyf-@@>K)2V7fP4$iOnHmFDxP?RjsNP z>?x@232Hhvx?)@btsnpeCOCGhKlv&44sP&Y{;5B4=4ToH-_yA@PkUaUwVoVqo9gn} z!_xu@H@YhBf4g=qed3TlE>TrulN$Q~2|Qj4pJAy$$U;^hp5l+)Qs@XK&a+>a8`K8E zb?JKTB3t`6z`9CaOTA^>REJk1Yr7Tx%d05-Ik>JzS+!`0dv|j`rREiR85!!XhFRcQ zdF30n0&c3OapB&*&aTuvCT|Co-N^w;&2Mpqz@*w=;(NtnrRJyj-kn6T1b(2_Axce5 z{94yvsksTi=!Y#>NN2QC^F3U9poOnESE-qU-wy$lsB;E>nnSIlA`Nj8+Yy%%(3JKr z+eco$4VCB6*FU`!P}7gQXdS8yek(HkFiWm zw~(>7EUFI4Y0t+a3^XS^%c{B_{(n>rO9!Nkp$}wKy=JFXb)~FYS`w{kst^J@cdfwy zp3_cOEIRE7Pw!s9qb(|`de>$QutBPBfK=TNopDqdyc3ReFJDzrWFT;A;DVx#3uV8C zr2CbB1bP#o_5o8Ic9e!Nq>kcl7;xq*1P8~|T4jREdPBko>xhA>^R2*(Vk_`s|M`dx zI|2HN4N{Mira@KvNfeU=gW$yIgnqWjZcJc%=|x>)H$mC3FB%$VK-)mEv$z(NO07!L zvAZ?M@IoYK4xDQV3uZK@rOeCk{Xa^XEuqPUti#*z1 z5rc!^7k-0q#h*f}U*^WQCX%{Eh+F3Sv|}QILm_ywLztj9ahwn0v~dPj zeu8fF_F~;i0het6no_+H1>wY)uY#WZfl3}t5L97A9s(GbkVYWNGz4qfVMt^ig8CTp z5WtdnaH$AH#sQG7`KGyXB`nqGsFia-WgKMXL_4Ck@V~YwM{zRGmIt1{R0atzU+270XOfE6_ zn}ogHnXulJ=kEo#M=b##3V>z*9SQe^`k_I!{X^1bEUfcy={6H#$t2n)i(%3p4d_-At zg$T|;oEi7h5NWfph1IIAWEf{SQ~*5}KoqLPvX!fau{?4W1`DWF4(>!ptD3mZJ(qgs z^lfL)Cg7xp+^7z6xE|!t1~92w{_lz`ayVMmK8C=>a1Lx>M?O8hZMR&+ZKCLuQtqGa z#F`BtkA!xwz~^Ucr6cG(vO0;=bOd2jitm$kK7%&&=!7F}MCc2Mw4dld-#~<3Oc84` zjF7TMzt(ykj5UrR!X-qhkux(;yBcj;>?2pO4?2`S(f>YUtpV~dfoV#9id|OGd9T$I zBa5T+-r8G&JSDe-KGatQe~zVgi=Y(0!Y@QkycC^xTU&HqjOj{LRNYDZE(YG0TIovO zHPe;6j0dHf?+r6uiCd&A30B8_Z)mT2;TlUwv> zY@DJNg7FmO%*Lm!O%>@Vk;{{J5qjGK!MUjYZkEK4Mt#eq#xG`pWzK}eh`TXuw)TEQ zx(M@NJ@WaB;`y6BY}Cqp-f)2D_xJjIhMIgcul?3upDz>7zuW6``ToQMJU{UO&-?ZA z{HiUL?SCC4VZ-qz-|XN1Qr2~T`?@aIt1_+=BiR4k_WR9ynH;^V{e%?I)0`uh{zv|1 zkDZ{$<_ZY-A`c*V`g=ym&H2Y#j8gih9^gToqH4*lcD%mZJ;V{7uf{I}*@5Rc*N}ob zUONe|2@;6kP!s6=1;54~L~Jpwsb8F@<&cqJIYI)apkNZ(%o_tE!(!*!ZX63XrL|vV z>p(P2{zUu$O@LA1m)BABf6?634N9V-KU}zOv0a|ZNC@bPJ+PUO_;SAiFJxkZMM=BZ z?uof<;crRDO)xRZ!9Wt6UlhqJsqYx<=Rsp*8#zd?t7XwxPps4y9_T^tN~ELj0913( z^S6H}e2(W{q$AR?_>hFCD89I!akSM&Dbqxf?0@}^*JJyS_f)&dPXJNlc>K}?p{6Wg1!*a1H| zmJuR6b0}(d*f9jgZrEarN99HaM;AKJutoA#=5+KMhiZ-i__1wai&Aqd%CLf4?C59S zxcZKMD|4#rnH&R_N8cXhkL%Xk__=J;$^K&#b!oe-2EBgcKvFzNr# zs$Owm6S(R?Iy@Ms-LOChm*W}+Xx~cwuGbeYl%hug2BANapArQ|BR15Id+?y=|MEAK zrE;4m(IIYIH)({eqhHBu08_CoJlKO6dB`#U@pWttfyMV(eJp;lBVq`1S|uf`3O>wa zR3?s#&0auBd)lM~XMI%oe>du%Jx6IA`;z4~S`KLaJyxD4>@S>Nsz1_7wO1?x6azg# zbY14SA$)KnBK8Yp-52<$tb(D7!QO~VM+zdvr_(F)K3;@C|2DFk!OY$T}Tc*V|5{pk}aVo(M}ptU|=*4hlAb6Z;IY(Jl? z^K!3qLWxnb1*_BzE87IkTV3hZ+AxkvAB|Q=qflK*J+4(B!!M5rMQb!GO%Eux`?yGjzS20baG)3Y4=Z6fans&8A2Kdz`QjTSp_a2Q2Ax>W{>pK; z%tPQEK+6XhEyk{oOLvLWm>&7L>=F zlfvq83;u}Jr7Ss%@$^7*u@DV`@g7&bvP9v1OrO!f_2EL2S7k{Dwv!2^#Z>3eAl5uB zUbKLb{ecTJ%0h5J8pFh`1cd~u@}IpeRCx*!^f3H0>+<`Pi~61&9tgN+a!IJbIy?wZL)vZ2dr=M zS?{vP4D)-+ydyYl6D&c9X3NpnM$AxE4j0UZZ7?Dgd`91dRGl&^?OB*1GoN+pe-O{a zHiVQ6BbXca?Mv47{-unW6;XV+wF%N!8{rP-3@;(>Ae>d)kwZl8#>O>pY1s6}WGWag z)g`g>ykC0QP&W0c)8r5ZOUw`cY!>1U#9)CaZha#XAyF8j009aOBO~ml9G?E@*(uTJT8Hh%1Vu-LonaBicP2^#$oIoZZt3WPoi9lYG?+I@R@=fdp`9@NSL!k2> z9!k=4EAE-F(pK#dYe~!hmLs)V+XNu`F?NN^Q)JWGV1z0Wo8S;JzezaVsX~e4Sqs$h z6AKr?fH=cJe%ydPQoJA5gYXme_q*JMiy)&X!7BqU`~}ktRVvkE$P=+*32bAFUwfK0 zlP#k;XbR`qqcVK~An%8DzxGq{g6mW49(7GATr`2wI*Sq%tOLL9H94B5Ec#L z%pygd8A~CEh!qHYEToTek6XPS=e6M@EZcxH$2(}FmgYy|FVhhpzug@d4?cv z!^NOazXT!|9Ce`%@P~~otXH1ZU@&}?y$Ad&pyI~b&Yh4OImJM9H{@UjZ*b#n$Nh1+tsT&OdkG=%z0q??JH>K1N#MM?>qVN7aCEr#8 zs#MPzZW!%1!?F*$A@6+Xz@6{mPS0!SU-7Ou@GGY0S!9cwzSWqXIxx|^F6{C=b=Z{o zJo6ed3I1bO&LHch48Vx?{-vM8y^=9Jj1pr_5A>kM7w?yPN0dK=*QR_(uX_}f!4wM_ zET=M94*M058Bhw37umstuLBu|f5wszOCcXVbe@zCiydAW`Enc3~s&9SZs&i~=ZiCTgl49=B+ooUkJ?U$I z>pPIFK}U*3RtHu1uHCg)laxZ?C{@H3m};UP4`FFI8m{E~?rWfWC%3vG$zsKys0qyGd`g{@knsP9f>4 zxf!hVNhq9fBINZG2gEDBZQOh~7cX=yuvkk0C~d5>-!1Om>WD7L$qyqjLeDL*aw}=u zeoEAQh-RKd!|bZ)DBERD?U(SaUXFweqt@an7zr>-8v_1?a31j+e3hfiiT~pjARJp>7Q>UJ~vg0;L6#TU5cz$SJZjGe~#@o0F~d?$GYzNJ!}3s zHtRFneD896^LMRzZGGQiUh_MHCH4K>4+Jpv1?pHF9f{)+NU1ZfbHCj6`336gE2Xde z3YB8Zhp{Ysy0TbeMkq!pqsx$7egyNUFH)K@iW--w(LUo;5d;D1WZLgZFSO!-h3=b z*{<+wq^fWi70a;MI8)!i&Q&D-&IcDKmu{Y7Cp`vnI=~6E*^8&@yQ2&P2|}livPDPR zV&6qJ(5Xo42}xoqg4R)A^F)yXblt?_?uYAgeQ~_zD3PyrkN(72ppe|~2e%Hp%>J~m z!AV)!?OIpLs;PNeGPXTuvmR^9Nen@-_QWClm8V|Sa+LCPzuXq(>4~^($y#RC>uBHF z%EC?nLJ(Eqyx!nvW{OXZI%;2Dc)&c-?dN);d-{dX62OFKTDbqe#tfp*gB_geC+}

public List InputConfig { get; set; } + /// + /// Graphics backend + /// + public GraphicsBackend GraphicsBackend { get; set; } + /// /// Loads a configuration file from disk /// diff --git a/Ryujinx.Ui.Common/Configuration/ConfigurationState.cs b/Ryujinx.Ui.Common/Configuration/ConfigurationState.cs index c739b2949..9f011cc63 100644 --- a/Ryujinx.Ui.Common/Configuration/ConfigurationState.cs +++ b/Ryujinx.Ui.Common/Configuration/ConfigurationState.cs @@ -411,6 +411,11 @@ namespace Ryujinx.Ui.Common.Configuration ///
public ReactiveObject EnableShaderCache { get; private set; } + /// + /// Graphics backend + /// + public ReactiveObject GraphicsBackend { get; private set; } + public GraphicsSection() { BackendThreading = new ReactiveObject(); @@ -428,6 +433,8 @@ namespace Ryujinx.Ui.Common.Configuration EnableVsync.Event += static (sender, e) => LogValueChange(sender, e, nameof(EnableVsync)); EnableShaderCache = new ReactiveObject(); EnableShaderCache.Event += static (sender, e) => LogValueChange(sender, e, nameof(EnableShaderCache)); + GraphicsBackend = new ReactiveObject(); + GraphicsBackend.Event += static (sender, e) => LogValueChange(sender, e, nameof(GraphicsBackend)); } } @@ -572,6 +579,7 @@ namespace Ryujinx.Ui.Common.Configuration KeyboardConfig = new List(), ControllerConfig = new List(), InputConfig = Hid.InputConfig, + GraphicsBackend = Graphics.GraphicsBackend, }; return configurationFile; @@ -585,6 +593,7 @@ namespace Ryujinx.Ui.Common.Configuration Graphics.ResScaleCustom.Value = 1.0f; Graphics.MaxAnisotropy.Value = -1.0f; Graphics.AspectRatio.Value = AspectRatio.Fixed16x9; + Graphics.GraphicsBackend.Value = GraphicsBackend.OpenGl; Graphics.ShadersDumpPath.Value = ""; Logger.EnableDebug.Value = false; Logger.EnableStub.Value = true; @@ -1103,6 +1112,7 @@ namespace Ryujinx.Ui.Common.Configuration Graphics.AspectRatio.Value = configurationFileFormat.AspectRatio; Graphics.ShadersDumpPath.Value = configurationFileFormat.GraphicsShadersDumpPath; Graphics.BackendThreading.Value = configurationFileFormat.BackendThreading; + Graphics.GraphicsBackend.Value = configurationFileFormat.GraphicsBackend; Logger.EnableDebug.Value = configurationFileFormat.LoggingEnableDebug; Logger.EnableStub.Value = configurationFileFormat.LoggingEnableStub; Logger.EnableInfo.Value = configurationFileFormat.LoggingEnableInfo; diff --git a/Ryujinx.sln b/Ryujinx.sln index 92d4e5b4f..4553bd737 100644 --- a/Ryujinx.sln +++ b/Ryujinx.sln @@ -74,6 +74,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Ryujinx.Ui.Common", "Ryujin EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ryujinx.Horizon.Generators", "Ryujinx.Horizon.Generators\Ryujinx.Horizon.Generators.csproj", "{6AE2A5E8-4C5A-48B9-997B-E1455C0355C6}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Ryujinx.Graphics.Vulkan", "Ryujinx.Graphics.Vulkan\Ryujinx.Graphics.Vulkan.csproj", "{D4D09B08-D580-4D69-B886-C35D2853F6C8}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Spv.Generator", "SpvGen\Spv.Generator.csproj", "{D0720AC9-8AE7-417C-AB39-82CE984045C4}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -212,6 +216,14 @@ Global {6AE2A5E8-4C5A-48B9-997B-E1455C0355C6}.Debug|Any CPU.Build.0 = Debug|Any CPU {6AE2A5E8-4C5A-48B9-997B-E1455C0355C6}.Release|Any CPU.ActiveCfg = Release|Any CPU {6AE2A5E8-4C5A-48B9-997B-E1455C0355C6}.Release|Any CPU.Build.0 = Release|Any CPU + {D4D09B08-D580-4D69-B886-C35D2853F6C8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D4D09B08-D580-4D69-B886-C35D2853F6C8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D4D09B08-D580-4D69-B886-C35D2853F6C8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D4D09B08-D580-4D69-B886-C35D2853F6C8}.Release|Any CPU.Build.0 = Release|Any CPU + {D0720AC9-8AE7-417C-AB39-82CE984045C4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D0720AC9-8AE7-417C-AB39-82CE984045C4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D0720AC9-8AE7-417C-AB39-82CE984045C4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D0720AC9-8AE7-417C-AB39-82CE984045C4}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Ryujinx/Ryujinx.csproj b/Ryujinx/Ryujinx.csproj index fc8e33fee..0ecd12a40 100644 --- a/Ryujinx/Ryujinx.csproj +++ b/Ryujinx/Ryujinx.csproj @@ -39,6 +39,7 @@ + diff --git a/Ryujinx/Ui/GLRenderer.cs b/Ryujinx/Ui/GLRenderer.cs index 45eb53cb8..f41ce38c1 100644 --- a/Ryujinx/Ui/GLRenderer.cs +++ b/Ryujinx/Ui/GLRenderer.cs @@ -127,9 +127,9 @@ namespace Ryujinx.Ui _nativeWindow.SwapBuffers(); } - public override string GetGpuVendorName() + protected override string GetGpuBackendName() { - return ((Renderer)Renderer).GpuVendor; + return "OpenGL"; } protected override void Dispose(bool disposing) diff --git a/Ryujinx/Ui/MainWindow.cs b/Ryujinx/Ui/MainWindow.cs index afd37d3f0..c779fc19e 100644 --- a/Ryujinx/Ui/MainWindow.cs +++ b/Ryujinx/Ui/MainWindow.cs @@ -19,6 +19,7 @@ using Ryujinx.Common.System; using Ryujinx.Graphics.GAL; using Ryujinx.Graphics.GAL.Multithreading; using Ryujinx.Graphics.OpenGL; +using Ryujinx.Graphics.Vulkan; using Ryujinx.HLE.FileSystem; using Ryujinx.HLE.HOS; using Ryujinx.HLE.HOS.Services.Account.Acc; @@ -36,6 +37,8 @@ using Ryujinx.Ui.Common.Helper; using Ryujinx.Ui.Helper; using Ryujinx.Ui.Widgets; using Ryujinx.Ui.Windows; +using Silk.NET.Vulkan; +using SPB.Graphics.Vulkan; using System; using System.Diagnostics; using System.IO; @@ -81,8 +84,6 @@ namespace Ryujinx.Ui public bool IsFocused; - private static bool UseVulkan = false; - #pragma warning disable CS0169, CS0649, IDE0044 [GUI] public MenuItem ExitMenuItem; @@ -120,6 +121,7 @@ namespace Ryujinx.Ui [GUI] CheckMenuItem _fileExtToggle; [GUI] CheckMenuItem _pathToggle; [GUI] CheckMenuItem _fileSizeToggle; + [GUI] Label _gpuBackend; [GUI] Label _dockedMode; [GUI] Label _aspectRatio; [GUI] Label _gameStatus; @@ -406,9 +408,10 @@ namespace Ryujinx.Ui IRenderer renderer; - if (UseVulkan) + if (ConfigurationState.Instance.Graphics.GraphicsBackend == GraphicsBackend.Vulkan) { - throw new NotImplementedException(); + renderer = new VulkanGraphicsDevice((instance, vk) => new SurfaceKHR((ulong)((VKRenderer)RendererWidget).CreateWindowSurface(instance.Handle)), + VulkanHelper.GetRequiredInstanceExtensions); } else { @@ -875,7 +878,7 @@ namespace Ryujinx.Ui private RendererWidgetBase CreateRendererWidget() { - if (UseVulkan) + if (ConfigurationState.Instance.Graphics.GraphicsBackend == GraphicsBackend.Vulkan) { return new VKRenderer(InputManager, ConfigurationState.Instance.Logger.GraphicsDebugLevel); } @@ -1034,7 +1037,7 @@ namespace Ryujinx.Ui Graphics.Gpu.GraphicsConfig.ResScale = (resScale == -1) ? resScaleCustom : resScale; Graphics.Gpu.GraphicsConfig.MaxAnisotropy = ConfigurationState.Instance.Graphics.MaxAnisotropy; Graphics.Gpu.GraphicsConfig.ShadersDumpPath = ConfigurationState.Instance.Graphics.ShadersDumpPath; - Graphics.Gpu.GraphicsConfig.EnableShaderCache = ConfigurationState.Instance.Graphics.EnableShaderCache; + Graphics.Gpu.GraphicsConfig.EnableShaderCache = ConfigurationState.Instance.Graphics.EnableShaderCache && ConfigurationState.Instance.Graphics.GraphicsBackend != GraphicsBackend.Vulkan; } public void SaveConfig() @@ -1125,6 +1128,7 @@ namespace Ryujinx.Ui _gpuName.Text = args.GpuName; _dockedMode.Text = args.DockedMode; _aspectRatio.Text = args.AspectRatio; + _gpuBackend.Text = args.GpuBackend; _volumeStatus.Text = GetVolumeLabelText(args.Volume); if (args.VSyncEnabled) diff --git a/Ryujinx/Ui/MainWindow.glade b/Ryujinx/Ui/MainWindow.glade index b7d93e9bd..d3d748783 100644 --- a/Ryujinx/Ui/MainWindow.glade +++ b/Ryujinx/Ui/MainWindow.glade @@ -774,6 +774,31 @@ 11 + + + True + False + start + 5 + 5 + + + False + True + 10 + + + + + True + False + + + False + True + 11 + + True diff --git a/Ryujinx/Ui/RendererWidgetBase.cs b/Ryujinx/Ui/RendererWidgetBase.cs index 0d82a5c57..1e6099b4f 100644 --- a/Ryujinx/Ui/RendererWidgetBase.cs +++ b/Ryujinx/Ui/RendererWidgetBase.cs @@ -72,6 +72,7 @@ namespace Ryujinx.Ui private InputManager _inputManager; private IKeyboard _keyboardInterface; private GraphicsDebugLevel _glLogLevel; + private string _gpuBackendName; private string _gpuVendorName; private bool _isMouseInClient; @@ -118,7 +119,12 @@ namespace Ryujinx.Ui public abstract void SwapBuffers(object image); - public abstract string GetGpuVendorName(); + protected abstract string GetGpuBackendName(); + + private string GetGpuVendorName() + { + return Renderer.GetHardwareInfo().GpuVendor; + } private void HideCursorStateChanged(object sender, ReactiveEventArgs state) { @@ -225,7 +231,7 @@ namespace Ryujinx.Ui WindowWidth = evnt.Width * monitor.ScaleFactor; WindowHeight = evnt.Height * monitor.ScaleFactor; - Renderer?.Window.SetSize(WindowWidth, WindowHeight); + Renderer?.Window?.SetSize(WindowWidth, WindowHeight); return result; } @@ -306,7 +312,7 @@ namespace Ryujinx.Ui } Renderer = renderer; - Renderer?.Window.SetSize(WindowWidth, WindowHeight); + Renderer?.Window?.SetSize(WindowWidth, WindowHeight); if (Renderer != null) { @@ -385,6 +391,7 @@ namespace Ryujinx.Ui Device.Gpu.Renderer.Initialize(_glLogLevel); + _gpuBackendName = GetGpuBackendName(); _gpuVendorName = GetGpuVendorName(); Device.Gpu.Renderer.RunLoop(() => @@ -430,6 +437,7 @@ namespace Ryujinx.Ui StatusUpdatedEvent?.Invoke(this, new StatusUpdatedEventArgs( Device.EnableDeviceVsync, Device.GetVolume(), + _gpuBackendName, dockedMode, ConfigurationState.Instance.Graphics.AspectRatio.Value.ToText(), $"Game: {Device.Statistics.GetGameFrameRate():00.00} FPS ({Device.Statistics.GetGameFrameTime():00.00} ms)", diff --git a/Ryujinx/Ui/StatusUpdatedEventArgs.cs b/Ryujinx/Ui/StatusUpdatedEventArgs.cs index df83efa41..046597b07 100644 --- a/Ryujinx/Ui/StatusUpdatedEventArgs.cs +++ b/Ryujinx/Ui/StatusUpdatedEventArgs.cs @@ -11,11 +11,13 @@ namespace Ryujinx.Ui public string GameStatus; public string FifoStatus; public string GpuName; + public string GpuBackend; - public StatusUpdatedEventArgs(bool vSyncEnabled, float volume, string dockedMode, string aspectRatio, string gameStatus, string fifoStatus, string gpuName) + public StatusUpdatedEventArgs(bool vSyncEnabled, float volume, string gpuBackend, string dockedMode, string aspectRatio, string gameStatus, string fifoStatus, string gpuName) { VSyncEnabled = vSyncEnabled; Volume = volume; + GpuBackend = gpuBackend; DockedMode = dockedMode; AspectRatio = aspectRatio; GameStatus = gameStatus; diff --git a/Ryujinx/Ui/VKRenderer.cs b/Ryujinx/Ui/VKRenderer.cs index f6dd9ec4f..d2f60de84 100644 --- a/Ryujinx/Ui/VKRenderer.cs +++ b/Ryujinx/Ui/VKRenderer.cs @@ -66,9 +66,9 @@ namespace Ryujinx.Ui public override void SwapBuffers(object image) { } - public override string GetGpuVendorName() + protected override string GetGpuBackendName() { - return "Vulkan (Unknown)"; + return "Vulkan"; } protected override void Dispose(bool disposing) diff --git a/Ryujinx/Ui/Windows/SettingsWindow.cs b/Ryujinx/Ui/Windows/SettingsWindow.cs index fef1164b3..5ab9b61a3 100644 --- a/Ryujinx/Ui/Windows/SettingsWindow.cs +++ b/Ryujinx/Ui/Windows/SettingsWindow.cs @@ -91,6 +91,7 @@ namespace Ryujinx.Ui.Windows [GUI] Entry _graphicsShadersDumpPath; [GUI] ComboBoxText _anisotropy; [GUI] ComboBoxText _aspectRatio; + [GUI] ComboBoxText _graphicsBackend; [GUI] ComboBoxText _resScaleCombo; [GUI] Entry _resScaleText; [GUI] ToggleButton _configureController1; @@ -321,6 +322,7 @@ namespace Ryujinx.Ui.Windows _resScaleCombo.SetActiveId(ConfigurationState.Instance.Graphics.ResScale.Value.ToString()); _anisotropy.SetActiveId(ConfigurationState.Instance.Graphics.MaxAnisotropy.Value.ToString()); _aspectRatio.SetActiveId(((int)ConfigurationState.Instance.Graphics.AspectRatio.Value).ToString()); + _graphicsBackend.SetActiveId(((int)ConfigurationState.Instance.Graphics.GraphicsBackend.Value).ToString()); _custThemePath.Buffer.Text = ConfigurationState.Instance.Ui.CustomThemePath; _resScaleText.Buffer.Text = ConfigurationState.Instance.Graphics.ResScaleCustom.Value.ToString(); @@ -528,6 +530,7 @@ namespace Ryujinx.Ui.Windows ConfigurationState.Instance.Graphics.MaxAnisotropy.Value = float.Parse(_anisotropy.ActiveId, CultureInfo.InvariantCulture); ConfigurationState.Instance.Graphics.AspectRatio.Value = Enum.Parse(_aspectRatio.ActiveId); ConfigurationState.Instance.Graphics.BackendThreading.Value = backendThreading; + ConfigurationState.Instance.Graphics.GraphicsBackend.Value = Enum.Parse(_graphicsBackend.ActiveId); ConfigurationState.Instance.Graphics.ResScale.Value = int.Parse(_resScaleCombo.ActiveId); ConfigurationState.Instance.Graphics.ResScaleCustom.Value = resScaleCustom; ConfigurationState.Instance.System.AudioVolume.Value = (float)_audioVolumeSlider.Value / 100.0f; diff --git a/Ryujinx/Ui/Windows/SettingsWindow.glade b/Ryujinx/Ui/Windows/SettingsWindow.glade index c9d19a27f..f573ac709 100644 --- a/Ryujinx/Ui/Windows/SettingsWindow.glade +++ b/Ryujinx/Ui/Windows/SettingsWindow.glade @@ -1900,6 +1900,51 @@ 1 + + + True + False + 5 + 5 + + + True + False + Graphics Backend to use + Graphics Backend: + + + False + True + 5 + 0 + + + + + True + False + Graphics Backend to use + -1 + + Vulkan + OpenGL + + + + False + True + 1 + + + + + False + True + 5 + 1 + + False @@ -2139,7 +2184,7 @@ False True 5 - 0 + 2 @@ -2151,7 +2196,7 @@ False True 5 - 1 + 3 @@ -2525,7 +2570,7 @@ True False Requires appropriate log levels enabled. - OpenGL Log Level + Graphics Backend Log Level False diff --git a/SpvGen/Autogenerated/CoreGrammar.cs b/SpvGen/Autogenerated/CoreGrammar.cs new file mode 100644 index 000000000..5c0284f6a --- /dev/null +++ b/SpvGen/Autogenerated/CoreGrammar.cs @@ -0,0 +1,5075 @@ +// AUTOGENERATED: DO NOT EDIT +// Last update date: 2020-05-20 22:58:10.704809 +#region Grammar License +// Copyright (c) 2014-2020 The Khronos Group Inc. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and/or associated documentation files (the "Materials"), +// to deal in the Materials without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Materials, and to permit persons to whom the +// Materials are furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Materials. +// +// MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS +// STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND +// HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ +// +// THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS +// IN THE MATERIALS. +#endregion + +using static Spv.Specification; + +namespace Spv.Generator +{ + public partial class Module + { + // Miscellaneous + + public Instruction Nop() + { + Instruction result = new Instruction(Op.OpNop); + + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction Undef(Instruction resultType) + { + Instruction result = new Instruction(Op.OpUndef, GetNewId(), resultType); + + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction SizeOf(Instruction resultType, Instruction pointer) + { + Instruction result = new Instruction(Op.OpSizeOf, GetNewId(), resultType); + + result.AddOperand(pointer); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ExtInst(Instruction resultType, Instruction set, LiteralInteger instruction, params Instruction[] parameters) + { + Instruction result = new Instruction(Op.OpExtInst, GetNewId(), resultType); + + result.AddOperand(set); + result.AddOperand(instruction); + result.AddOperand(parameters); + AddToFunctionDefinitions(result); + + return result; + } + + // Debug + + public Instruction SourceContinued(string continuedSource) + { + Instruction result = new Instruction(Op.OpSourceContinued); + + result.AddOperand(continuedSource); + AddDebug(result); + + return result; + } + + public Instruction Source(SourceLanguage sourceLanguage, LiteralInteger version, Instruction file = null, string source = null) + { + Instruction result = new Instruction(Op.OpSource); + + result.AddOperand(sourceLanguage); + result.AddOperand(version); + if (file != null) + { + result.AddOperand(file); + } + if (source != null) + { + result.AddOperand(source); + } + AddDebug(result); + + return result; + } + + public Instruction SourceExtension(string extension) + { + Instruction result = new Instruction(Op.OpSourceExtension); + + result.AddOperand(extension); + AddDebug(result); + + return result; + } + + public Instruction Name(Instruction target, string name) + { + Instruction result = new Instruction(Op.OpName); + + result.AddOperand(target); + result.AddOperand(name); + AddDebug(result); + + return result; + } + + public Instruction MemberName(Instruction type, LiteralInteger member, string name) + { + Instruction result = new Instruction(Op.OpMemberName); + + result.AddOperand(type); + result.AddOperand(member); + result.AddOperand(name); + AddDebug(result); + + return result; + } + + public Instruction String(string str) + { + Instruction result = new Instruction(Op.OpString, GetNewId()); + + result.AddOperand(str); + AddDebug(result); + + return result; + } + + public Instruction Line(Instruction file, LiteralInteger line, LiteralInteger column) + { + Instruction result = new Instruction(Op.OpLine); + + result.AddOperand(file); + result.AddOperand(line); + result.AddOperand(column); + AddDebug(result); + + return result; + } + + public Instruction NoLine() + { + Instruction result = new Instruction(Op.OpNoLine); + + AddDebug(result); + + return result; + } + + public Instruction ModuleProcessed(string process) + { + Instruction result = new Instruction(Op.OpModuleProcessed); + + result.AddOperand(process); + AddDebug(result); + + return result; + } + + // Annotation + + public Instruction Decorate(Instruction target, Decoration decoration, params Operand[] parameters) + { + Instruction result = new Instruction(Op.OpDecorate); + + result.AddOperand(target); + result.AddOperand(decoration); + result.AddOperand(parameters); + AddAnnotation(result); + + return result; + } + + public Instruction MemberDecorate(Instruction structureType, LiteralInteger member, Decoration decoration, params Operand[] parameters) + { + Instruction result = new Instruction(Op.OpMemberDecorate); + + result.AddOperand(structureType); + result.AddOperand(member); + result.AddOperand(decoration); + result.AddOperand(parameters); + AddAnnotation(result); + + return result; + } + + public Instruction DecorationGroup() + { + Instruction result = new Instruction(Op.OpDecorationGroup, GetNewId()); + + AddAnnotation(result); + + return result; + } + + public Instruction GroupDecorate(Instruction decorationGroup, params Instruction[] targets) + { + Instruction result = new Instruction(Op.OpGroupDecorate); + + result.AddOperand(decorationGroup); + result.AddOperand(targets); + AddAnnotation(result); + + return result; + } + + public Instruction GroupMemberDecorate(Instruction decorationGroup, params Operand[] targets) + { + Instruction result = new Instruction(Op.OpGroupMemberDecorate); + + result.AddOperand(decorationGroup); + result.AddOperand(targets); + AddAnnotation(result); + + return result; + } + + public Instruction DecorateId(Instruction target, Decoration decoration, params Operand[] parameters) + { + Instruction result = new Instruction(Op.OpDecorateId); + + result.AddOperand(target); + result.AddOperand(decoration); + result.AddOperand(parameters); + AddAnnotation(result); + + return result; + } + + public Instruction DecorateString(Instruction target, Decoration decoration, params Operand[] parameters) + { + Instruction result = new Instruction(Op.OpDecorateString); + + result.AddOperand(target); + result.AddOperand(decoration); + result.AddOperand(parameters); + AddAnnotation(result); + + return result; + } + + public Instruction DecorateStringGOOGLE(Instruction target, Decoration decoration, params Operand[] parameters) + { + Instruction result = new Instruction(Op.OpDecorateStringGOOGLE); + + result.AddOperand(target); + result.AddOperand(decoration); + result.AddOperand(parameters); + AddAnnotation(result); + + return result; + } + + public Instruction MemberDecorateString(Instruction structType, LiteralInteger member, Decoration decoration, params Operand[] parameters) + { + Instruction result = new Instruction(Op.OpMemberDecorateString); + + result.AddOperand(structType); + result.AddOperand(member); + result.AddOperand(decoration); + result.AddOperand(parameters); + AddAnnotation(result); + + return result; + } + + public Instruction MemberDecorateStringGOOGLE(Instruction structType, LiteralInteger member, Decoration decoration, params Operand[] parameters) + { + Instruction result = new Instruction(Op.OpMemberDecorateStringGOOGLE); + + result.AddOperand(structType); + result.AddOperand(member); + result.AddOperand(decoration); + result.AddOperand(parameters); + AddAnnotation(result); + + return result; + } + + // Type-Declaration + + public Instruction TypeVoid(bool forceIdAllocation = false) + { + Instruction result = new Instruction(Op.OpTypeVoid); + + AddTypeDeclaration(result, forceIdAllocation); + + return result; + } + + public Instruction TypeBool(bool forceIdAllocation = false) + { + Instruction result = new Instruction(Op.OpTypeBool); + + AddTypeDeclaration(result, forceIdAllocation); + + return result; + } + + public Instruction TypeInt(LiteralInteger width, LiteralInteger signedness, bool forceIdAllocation = false) + { + Instruction result = new Instruction(Op.OpTypeInt); + + result.AddOperand(width); + result.AddOperand(signedness); + AddTypeDeclaration(result, forceIdAllocation); + + return result; + } + + public Instruction TypeFloat(LiteralInteger width, bool forceIdAllocation = false) + { + Instruction result = new Instruction(Op.OpTypeFloat); + + result.AddOperand(width); + AddTypeDeclaration(result, forceIdAllocation); + + return result; + } + + public Instruction TypeVector(Instruction componentType, LiteralInteger componentCount, bool forceIdAllocation = false) + { + Instruction result = new Instruction(Op.OpTypeVector); + + result.AddOperand(componentType); + result.AddOperand(componentCount); + AddTypeDeclaration(result, forceIdAllocation); + + return result; + } + + public Instruction TypeMatrix(Instruction columnType, LiteralInteger columnCount, bool forceIdAllocation = false) + { + Instruction result = new Instruction(Op.OpTypeMatrix); + + result.AddOperand(columnType); + result.AddOperand(columnCount); + AddTypeDeclaration(result, forceIdAllocation); + + return result; + } + + public Instruction TypeImage(Instruction sampledType, Dim dim, LiteralInteger depth, LiteralInteger arrayed, LiteralInteger mS, LiteralInteger sampled, ImageFormat imageFormat, AccessQualifier accessQualifier = (AccessQualifier)int.MaxValue, bool forceIdAllocation = false) + { + Instruction result = new Instruction(Op.OpTypeImage); + + result.AddOperand(sampledType); + result.AddOperand(dim); + result.AddOperand(depth); + result.AddOperand(arrayed); + result.AddOperand(mS); + result.AddOperand(sampled); + result.AddOperand(imageFormat); + if (accessQualifier != (AccessQualifier)int.MaxValue) + { + result.AddOperand(accessQualifier); + } + AddTypeDeclaration(result, forceIdAllocation); + + return result; + } + + public Instruction TypeSampler(bool forceIdAllocation = false) + { + Instruction result = new Instruction(Op.OpTypeSampler); + + AddTypeDeclaration(result, forceIdAllocation); + + return result; + } + + public Instruction TypeSampledImage(Instruction imageType, bool forceIdAllocation = false) + { + Instruction result = new Instruction(Op.OpTypeSampledImage); + + result.AddOperand(imageType); + AddTypeDeclaration(result, forceIdAllocation); + + return result; + } + + public Instruction TypeArray(Instruction elementType, Instruction length, bool forceIdAllocation = false) + { + Instruction result = new Instruction(Op.OpTypeArray); + + result.AddOperand(elementType); + result.AddOperand(length); + AddTypeDeclaration(result, forceIdAllocation); + + return result; + } + + public Instruction TypeRuntimeArray(Instruction elementType, bool forceIdAllocation = false) + { + Instruction result = new Instruction(Op.OpTypeRuntimeArray); + + result.AddOperand(elementType); + AddTypeDeclaration(result, forceIdAllocation); + + return result; + } + + public Instruction TypeStruct(bool forceIdAllocation, params Instruction[] parameters) + { + Instruction result = new Instruction(Op.OpTypeStruct); + + result.AddOperand(parameters); + AddTypeDeclaration(result, forceIdAllocation); + + return result; + } + + public Instruction TypeOpaque(string thenameoftheopaquetype, bool forceIdAllocation = false) + { + Instruction result = new Instruction(Op.OpTypeOpaque); + + result.AddOperand(thenameoftheopaquetype); + AddTypeDeclaration(result, forceIdAllocation); + + return result; + } + + public Instruction TypePointer(StorageClass storageClass, Instruction type, bool forceIdAllocation = false) + { + Instruction result = new Instruction(Op.OpTypePointer); + + result.AddOperand(storageClass); + result.AddOperand(type); + AddTypeDeclaration(result, forceIdAllocation); + + return result; + } + + public Instruction TypeFunction(Instruction returnType, bool forceIdAllocation, params Instruction[] parameters) + { + Instruction result = new Instruction(Op.OpTypeFunction); + + result.AddOperand(returnType); + result.AddOperand(parameters); + AddTypeDeclaration(result, forceIdAllocation); + + return result; + } + + public Instruction TypeEvent(bool forceIdAllocation = false) + { + Instruction result = new Instruction(Op.OpTypeEvent); + + AddTypeDeclaration(result, forceIdAllocation); + + return result; + } + + public Instruction TypeDeviceEvent(bool forceIdAllocation = false) + { + Instruction result = new Instruction(Op.OpTypeDeviceEvent); + + AddTypeDeclaration(result, forceIdAllocation); + + return result; + } + + public Instruction TypeReserveId(bool forceIdAllocation = false) + { + Instruction result = new Instruction(Op.OpTypeReserveId); + + AddTypeDeclaration(result, forceIdAllocation); + + return result; + } + + public Instruction TypeQueue(bool forceIdAllocation = false) + { + Instruction result = new Instruction(Op.OpTypeQueue); + + AddTypeDeclaration(result, forceIdAllocation); + + return result; + } + + public Instruction TypePipe(AccessQualifier qualifier, bool forceIdAllocation = false) + { + Instruction result = new Instruction(Op.OpTypePipe); + + result.AddOperand(qualifier); + AddTypeDeclaration(result, forceIdAllocation); + + return result; + } + + public Instruction TypeForwardPointer(Instruction pointerType, StorageClass storageClass, bool forceIdAllocation = false) + { + Instruction result = new Instruction(Op.OpTypeForwardPointer); + + result.AddOperand(pointerType); + result.AddOperand(storageClass); + AddTypeDeclaration(result, forceIdAllocation); + + return result; + } + + public Instruction TypePipeStorage(bool forceIdAllocation = false) + { + Instruction result = new Instruction(Op.OpTypePipeStorage); + + AddTypeDeclaration(result, forceIdAllocation); + + return result; + } + + public Instruction TypeNamedBarrier(bool forceIdAllocation = false) + { + Instruction result = new Instruction(Op.OpTypeNamedBarrier); + + AddTypeDeclaration(result, forceIdAllocation); + + return result; + } + + // Constant-Creation + + public Instruction ConstantTrue(Instruction resultType) + { + Instruction result = new Instruction(Op.OpConstantTrue, Instruction.InvalidId, resultType); + + AddConstant(result); + + return result; + } + + public Instruction ConstantFalse(Instruction resultType) + { + Instruction result = new Instruction(Op.OpConstantFalse, Instruction.InvalidId, resultType); + + AddConstant(result); + + return result; + } + + public Instruction Constant(Instruction resultType, LiteralInteger value) + { + Instruction result = new Instruction(Op.OpConstant, Instruction.InvalidId, resultType); + + result.AddOperand(value); + AddConstant(result); + + return result; + } + + public Instruction ConstantComposite(Instruction resultType, params Instruction[] constituents) + { + Instruction result = new Instruction(Op.OpConstantComposite, Instruction.InvalidId, resultType); + + result.AddOperand(constituents); + AddConstant(result); + + return result; + } + + public Instruction ConstantSampler(Instruction resultType, SamplerAddressingMode samplerAddressingMode, LiteralInteger param, SamplerFilterMode samplerFilterMode) + { + Instruction result = new Instruction(Op.OpConstantSampler, Instruction.InvalidId, resultType); + + result.AddOperand(samplerAddressingMode); + result.AddOperand(param); + result.AddOperand(samplerFilterMode); + AddConstant(result); + + return result; + } + + public Instruction ConstantNull(Instruction resultType) + { + Instruction result = new Instruction(Op.OpConstantNull, Instruction.InvalidId, resultType); + + AddConstant(result); + + return result; + } + + public Instruction SpecConstantTrue(Instruction resultType) + { + Instruction result = new Instruction(Op.OpSpecConstantTrue, GetNewId(), resultType); + + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction SpecConstantFalse(Instruction resultType) + { + Instruction result = new Instruction(Op.OpSpecConstantFalse, GetNewId(), resultType); + + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction SpecConstant(Instruction resultType, LiteralInteger value) + { + Instruction result = new Instruction(Op.OpSpecConstant, GetNewId(), resultType); + + result.AddOperand(value); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction SpecConstantComposite(Instruction resultType, params Instruction[] constituents) + { + Instruction result = new Instruction(Op.OpSpecConstantComposite, GetNewId(), resultType); + + result.AddOperand(constituents); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction SpecConstantOp(Instruction resultType, LiteralInteger opcode) + { + Instruction result = new Instruction(Op.OpSpecConstantOp, GetNewId(), resultType); + + result.AddOperand(opcode); + AddToFunctionDefinitions(result); + + return result; + } + + // Memory + + public Instruction Variable(Instruction resultType, StorageClass storageClass, Instruction initializer = null) + { + Instruction result = new Instruction(Op.OpVariable, GetNewId(), resultType); + + result.AddOperand(storageClass); + if (initializer != null) + { + result.AddOperand(initializer); + } + return result; + } + + public Instruction ImageTexelPointer(Instruction resultType, Instruction image, Instruction coordinate, Instruction sample) + { + Instruction result = new Instruction(Op.OpImageTexelPointer, GetNewId(), resultType); + + result.AddOperand(image); + result.AddOperand(coordinate); + result.AddOperand(sample); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction Load(Instruction resultType, Instruction pointer, MemoryAccessMask memoryAccess = (MemoryAccessMask)int.MaxValue) + { + Instruction result = new Instruction(Op.OpLoad, GetNewId(), resultType); + + result.AddOperand(pointer); + if (memoryAccess != (MemoryAccessMask)int.MaxValue) + { + result.AddOperand(memoryAccess); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction Store(Instruction pointer, Instruction obj, MemoryAccessMask memoryAccess = (MemoryAccessMask)int.MaxValue) + { + Instruction result = new Instruction(Op.OpStore); + + result.AddOperand(pointer); + result.AddOperand(obj); + if (memoryAccess != (MemoryAccessMask)int.MaxValue) + { + result.AddOperand(memoryAccess); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction CopyMemory(Instruction target, Instruction source, MemoryAccessMask memoryAccess0 = (MemoryAccessMask)int.MaxValue, MemoryAccessMask memoryAccess1 = (MemoryAccessMask)int.MaxValue) + { + Instruction result = new Instruction(Op.OpCopyMemory); + + result.AddOperand(target); + result.AddOperand(source); + if (memoryAccess0 != (MemoryAccessMask)int.MaxValue) + { + result.AddOperand(memoryAccess0); + } + if (memoryAccess1 != (MemoryAccessMask)int.MaxValue) + { + result.AddOperand(memoryAccess1); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction CopyMemorySized(Instruction target, Instruction source, Instruction size, MemoryAccessMask memoryAccess0 = (MemoryAccessMask)int.MaxValue, MemoryAccessMask memoryAccess1 = (MemoryAccessMask)int.MaxValue) + { + Instruction result = new Instruction(Op.OpCopyMemorySized); + + result.AddOperand(target); + result.AddOperand(source); + result.AddOperand(size); + if (memoryAccess0 != (MemoryAccessMask)int.MaxValue) + { + result.AddOperand(memoryAccess0); + } + if (memoryAccess1 != (MemoryAccessMask)int.MaxValue) + { + result.AddOperand(memoryAccess1); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction AccessChain(Instruction resultType, Instruction baseObj, params Instruction[] indexes) + { + Instruction result = new Instruction(Op.OpAccessChain, GetNewId(), resultType); + + result.AddOperand(baseObj); + result.AddOperand(indexes); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction InBoundsAccessChain(Instruction resultType, Instruction baseObj, params Instruction[] indexes) + { + Instruction result = new Instruction(Op.OpInBoundsAccessChain, GetNewId(), resultType); + + result.AddOperand(baseObj); + result.AddOperand(indexes); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction PtrAccessChain(Instruction resultType, Instruction baseObj, Instruction element, params Instruction[] indexes) + { + Instruction result = new Instruction(Op.OpPtrAccessChain, GetNewId(), resultType); + + result.AddOperand(baseObj); + result.AddOperand(element); + result.AddOperand(indexes); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ArrayLength(Instruction resultType, Instruction structure, LiteralInteger arraymember) + { + Instruction result = new Instruction(Op.OpArrayLength, GetNewId(), resultType); + + result.AddOperand(structure); + result.AddOperand(arraymember); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GenericPtrMemSemantics(Instruction resultType, Instruction pointer) + { + Instruction result = new Instruction(Op.OpGenericPtrMemSemantics, GetNewId(), resultType); + + result.AddOperand(pointer); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction InBoundsPtrAccessChain(Instruction resultType, Instruction baseObj, Instruction element, params Instruction[] indexes) + { + Instruction result = new Instruction(Op.OpInBoundsPtrAccessChain, GetNewId(), resultType); + + result.AddOperand(baseObj); + result.AddOperand(element); + result.AddOperand(indexes); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction PtrEqual(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpPtrEqual, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction PtrNotEqual(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpPtrNotEqual, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction PtrDiff(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpPtrDiff, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + // Function + + public Instruction Function(Instruction resultType, FunctionControlMask functionControl, Instruction functionType) + { + Instruction result = new Instruction(Op.OpFunction, GetNewId(), resultType); + + result.AddOperand(functionControl); + result.AddOperand(functionType); + + return result; + } + + public void AddFunction(Instruction function) + { + AddToFunctionDefinitions(function); + } + + public Instruction FunctionParameter(Instruction resultType) + { + Instruction result = new Instruction(Op.OpFunctionParameter, GetNewId(), resultType); + + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction FunctionEnd() + { + Instruction result = new Instruction(Op.OpFunctionEnd); + + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction FunctionCall(Instruction resultType, Instruction function, params Instruction[] parameters) + { + Instruction result = new Instruction(Op.OpFunctionCall, GetNewId(), resultType); + + result.AddOperand(function); + result.AddOperand(parameters); + AddToFunctionDefinitions(result); + + return result; + } + + // Image + + public Instruction SampledImage(Instruction resultType, Instruction image, Instruction sampler) + { + Instruction result = new Instruction(Op.OpSampledImage, GetNewId(), resultType); + + result.AddOperand(image); + result.AddOperand(sampler); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ImageSampleImplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, ImageOperandsMask imageOperands, params Instruction[] operands) + { + Instruction result = new Instruction(Op.OpImageSampleImplicitLod, GetNewId(), resultType); + + result.AddOperand(sampledImage); + result.AddOperand(coordinate); + if (imageOperands != ImageOperandsMask.MaskNone) + { + result.AddOperand(imageOperands); + result.AddOperand(operands); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ImageSampleExplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, ImageOperandsMask imageOperands, params Instruction[] operands) + { + Instruction result = new Instruction(Op.OpImageSampleExplicitLod, GetNewId(), resultType); + + result.AddOperand(sampledImage); + result.AddOperand(coordinate); + result.AddOperand(imageOperands); + result.AddOperand(operands); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ImageSampleDrefImplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction dRef, ImageOperandsMask imageOperands, params Instruction[] operands) + { + Instruction result = new Instruction(Op.OpImageSampleDrefImplicitLod, GetNewId(), resultType); + + result.AddOperand(sampledImage); + result.AddOperand(coordinate); + result.AddOperand(dRef); + if (imageOperands != ImageOperandsMask.MaskNone) + { + result.AddOperand(imageOperands); + result.AddOperand(operands); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ImageSampleDrefExplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction dRef, ImageOperandsMask imageOperands, params Instruction[] operands) + { + Instruction result = new Instruction(Op.OpImageSampleDrefExplicitLod, GetNewId(), resultType); + + result.AddOperand(sampledImage); + result.AddOperand(coordinate); + result.AddOperand(dRef); + result.AddOperand(imageOperands); + result.AddOperand(operands); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ImageSampleProjImplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, ImageOperandsMask imageOperands, params Instruction[] operands) + { + Instruction result = new Instruction(Op.OpImageSampleProjImplicitLod, GetNewId(), resultType); + + result.AddOperand(sampledImage); + result.AddOperand(coordinate); + if (imageOperands != ImageOperandsMask.MaskNone) + { + result.AddOperand(imageOperands); + result.AddOperand(operands); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ImageSampleProjExplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, ImageOperandsMask imageOperands, params Instruction[] operands) + { + Instruction result = new Instruction(Op.OpImageSampleProjExplicitLod, GetNewId(), resultType); + + result.AddOperand(sampledImage); + result.AddOperand(coordinate); + result.AddOperand(imageOperands); + result.AddOperand(operands); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ImageSampleProjDrefImplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction dRef, ImageOperandsMask imageOperands, params Instruction[] operands) + { + Instruction result = new Instruction(Op.OpImageSampleProjDrefImplicitLod, GetNewId(), resultType); + + result.AddOperand(sampledImage); + result.AddOperand(coordinate); + result.AddOperand(dRef); + if (imageOperands != ImageOperandsMask.MaskNone) + { + result.AddOperand(imageOperands); + result.AddOperand(operands); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ImageSampleProjDrefExplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction dRef, ImageOperandsMask imageOperands, params Instruction[] operands) + { + Instruction result = new Instruction(Op.OpImageSampleProjDrefExplicitLod, GetNewId(), resultType); + + result.AddOperand(sampledImage); + result.AddOperand(coordinate); + result.AddOperand(dRef); + result.AddOperand(imageOperands); + result.AddOperand(operands); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ImageFetch(Instruction resultType, Instruction image, Instruction coordinate, ImageOperandsMask imageOperands, params Instruction[] operands) + { + Instruction result = new Instruction(Op.OpImageFetch, GetNewId(), resultType); + + result.AddOperand(image); + result.AddOperand(coordinate); + if (imageOperands != ImageOperandsMask.MaskNone) + { + result.AddOperand(imageOperands); + result.AddOperand(operands); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ImageGather(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction component, ImageOperandsMask imageOperands, params Instruction[] operands) + { + Instruction result = new Instruction(Op.OpImageGather, GetNewId(), resultType); + + result.AddOperand(sampledImage); + result.AddOperand(coordinate); + result.AddOperand(component); + if (imageOperands != ImageOperandsMask.MaskNone) + { + result.AddOperand(imageOperands); + result.AddOperand(operands); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ImageDrefGather(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction dRef, ImageOperandsMask imageOperands, params Instruction[] operands) + { + Instruction result = new Instruction(Op.OpImageDrefGather, GetNewId(), resultType); + + result.AddOperand(sampledImage); + result.AddOperand(coordinate); + result.AddOperand(dRef); + if (imageOperands != ImageOperandsMask.MaskNone) + { + result.AddOperand(imageOperands); + result.AddOperand(operands); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ImageRead(Instruction resultType, Instruction image, Instruction coordinate, ImageOperandsMask imageOperands = (ImageOperandsMask)int.MaxValue) + { + Instruction result = new Instruction(Op.OpImageRead, GetNewId(), resultType); + + result.AddOperand(image); + result.AddOperand(coordinate); + if (imageOperands != (ImageOperandsMask)int.MaxValue) + { + result.AddOperand(imageOperands); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ImageWrite(Instruction image, Instruction coordinate, Instruction texel, ImageOperandsMask imageOperands = (ImageOperandsMask)int.MaxValue) + { + Instruction result = new Instruction(Op.OpImageWrite); + + result.AddOperand(image); + result.AddOperand(coordinate); + result.AddOperand(texel); + if (imageOperands != (ImageOperandsMask)int.MaxValue) + { + result.AddOperand(imageOperands); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction Image(Instruction resultType, Instruction sampledImage) + { + Instruction result = new Instruction(Op.OpImage, GetNewId(), resultType); + + result.AddOperand(sampledImage); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ImageQueryFormat(Instruction resultType, Instruction image) + { + Instruction result = new Instruction(Op.OpImageQueryFormat, GetNewId(), resultType); + + result.AddOperand(image); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ImageQueryOrder(Instruction resultType, Instruction image) + { + Instruction result = new Instruction(Op.OpImageQueryOrder, GetNewId(), resultType); + + result.AddOperand(image); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ImageQuerySizeLod(Instruction resultType, Instruction image, Instruction levelofDetail) + { + Instruction result = new Instruction(Op.OpImageQuerySizeLod, GetNewId(), resultType); + + result.AddOperand(image); + result.AddOperand(levelofDetail); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ImageQuerySize(Instruction resultType, Instruction image) + { + Instruction result = new Instruction(Op.OpImageQuerySize, GetNewId(), resultType); + + result.AddOperand(image); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ImageQueryLod(Instruction resultType, Instruction sampledImage, Instruction coordinate) + { + Instruction result = new Instruction(Op.OpImageQueryLod, GetNewId(), resultType); + + result.AddOperand(sampledImage); + result.AddOperand(coordinate); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ImageQueryLevels(Instruction resultType, Instruction image) + { + Instruction result = new Instruction(Op.OpImageQueryLevels, GetNewId(), resultType); + + result.AddOperand(image); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ImageQuerySamples(Instruction resultType, Instruction image) + { + Instruction result = new Instruction(Op.OpImageQuerySamples, GetNewId(), resultType); + + result.AddOperand(image); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ImageSparseSampleImplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, ImageOperandsMask imageOperands = (ImageOperandsMask)int.MaxValue) + { + Instruction result = new Instruction(Op.OpImageSparseSampleImplicitLod, GetNewId(), resultType); + + result.AddOperand(sampledImage); + result.AddOperand(coordinate); + if (imageOperands != (ImageOperandsMask)int.MaxValue) + { + result.AddOperand(imageOperands); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ImageSparseSampleExplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, ImageOperandsMask imageOperands) + { + Instruction result = new Instruction(Op.OpImageSparseSampleExplicitLod, GetNewId(), resultType); + + result.AddOperand(sampledImage); + result.AddOperand(coordinate); + result.AddOperand(imageOperands); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ImageSparseSampleDrefImplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction dRef, ImageOperandsMask imageOperands = (ImageOperandsMask)int.MaxValue) + { + Instruction result = new Instruction(Op.OpImageSparseSampleDrefImplicitLod, GetNewId(), resultType); + + result.AddOperand(sampledImage); + result.AddOperand(coordinate); + result.AddOperand(dRef); + if (imageOperands != (ImageOperandsMask)int.MaxValue) + { + result.AddOperand(imageOperands); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ImageSparseSampleDrefExplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction dRef, ImageOperandsMask imageOperands) + { + Instruction result = new Instruction(Op.OpImageSparseSampleDrefExplicitLod, GetNewId(), resultType); + + result.AddOperand(sampledImage); + result.AddOperand(coordinate); + result.AddOperand(dRef); + result.AddOperand(imageOperands); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ImageSparseSampleProjImplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, ImageOperandsMask imageOperands = (ImageOperandsMask)int.MaxValue) + { + Instruction result = new Instruction(Op.OpImageSparseSampleProjImplicitLod, GetNewId(), resultType); + + result.AddOperand(sampledImage); + result.AddOperand(coordinate); + if (imageOperands != (ImageOperandsMask)int.MaxValue) + { + result.AddOperand(imageOperands); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ImageSparseSampleProjExplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, ImageOperandsMask imageOperands) + { + Instruction result = new Instruction(Op.OpImageSparseSampleProjExplicitLod, GetNewId(), resultType); + + result.AddOperand(sampledImage); + result.AddOperand(coordinate); + result.AddOperand(imageOperands); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ImageSparseSampleProjDrefImplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction dRef, ImageOperandsMask imageOperands = (ImageOperandsMask)int.MaxValue) + { + Instruction result = new Instruction(Op.OpImageSparseSampleProjDrefImplicitLod, GetNewId(), resultType); + + result.AddOperand(sampledImage); + result.AddOperand(coordinate); + result.AddOperand(dRef); + if (imageOperands != (ImageOperandsMask)int.MaxValue) + { + result.AddOperand(imageOperands); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ImageSparseSampleProjDrefExplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction dRef, ImageOperandsMask imageOperands) + { + Instruction result = new Instruction(Op.OpImageSparseSampleProjDrefExplicitLod, GetNewId(), resultType); + + result.AddOperand(sampledImage); + result.AddOperand(coordinate); + result.AddOperand(dRef); + result.AddOperand(imageOperands); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ImageSparseFetch(Instruction resultType, Instruction image, Instruction coordinate, ImageOperandsMask imageOperands = (ImageOperandsMask)int.MaxValue) + { + Instruction result = new Instruction(Op.OpImageSparseFetch, GetNewId(), resultType); + + result.AddOperand(image); + result.AddOperand(coordinate); + if (imageOperands != (ImageOperandsMask)int.MaxValue) + { + result.AddOperand(imageOperands); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ImageSparseGather(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction component, ImageOperandsMask imageOperands = (ImageOperandsMask)int.MaxValue) + { + Instruction result = new Instruction(Op.OpImageSparseGather, GetNewId(), resultType); + + result.AddOperand(sampledImage); + result.AddOperand(coordinate); + result.AddOperand(component); + if (imageOperands != (ImageOperandsMask)int.MaxValue) + { + result.AddOperand(imageOperands); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ImageSparseDrefGather(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction dRef, ImageOperandsMask imageOperands = (ImageOperandsMask)int.MaxValue) + { + Instruction result = new Instruction(Op.OpImageSparseDrefGather, GetNewId(), resultType); + + result.AddOperand(sampledImage); + result.AddOperand(coordinate); + result.AddOperand(dRef); + if (imageOperands != (ImageOperandsMask)int.MaxValue) + { + result.AddOperand(imageOperands); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ImageSparseTexelsResident(Instruction resultType, Instruction residentCode) + { + Instruction result = new Instruction(Op.OpImageSparseTexelsResident, GetNewId(), resultType); + + result.AddOperand(residentCode); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ImageSparseRead(Instruction resultType, Instruction image, Instruction coordinate, ImageOperandsMask imageOperands = (ImageOperandsMask)int.MaxValue) + { + Instruction result = new Instruction(Op.OpImageSparseRead, GetNewId(), resultType); + + result.AddOperand(image); + result.AddOperand(coordinate); + if (imageOperands != (ImageOperandsMask)int.MaxValue) + { + result.AddOperand(imageOperands); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ImageSampleFootprintNV(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction granularity, Instruction coarse, ImageOperandsMask imageOperands = (ImageOperandsMask)int.MaxValue) + { + Instruction result = new Instruction(Op.OpImageSampleFootprintNV, GetNewId(), resultType); + + result.AddOperand(sampledImage); + result.AddOperand(coordinate); + result.AddOperand(granularity); + result.AddOperand(coarse); + if (imageOperands != (ImageOperandsMask)int.MaxValue) + { + result.AddOperand(imageOperands); + } + AddToFunctionDefinitions(result); + + return result; + } + + // Conversion + + public Instruction ConvertFToU(Instruction resultType, Instruction floatValue) + { + Instruction result = new Instruction(Op.OpConvertFToU, GetNewId(), resultType); + + result.AddOperand(floatValue); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ConvertFToS(Instruction resultType, Instruction floatValue) + { + Instruction result = new Instruction(Op.OpConvertFToS, GetNewId(), resultType); + + result.AddOperand(floatValue); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ConvertSToF(Instruction resultType, Instruction signedValue) + { + Instruction result = new Instruction(Op.OpConvertSToF, GetNewId(), resultType); + + result.AddOperand(signedValue); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ConvertUToF(Instruction resultType, Instruction unsignedValue) + { + Instruction result = new Instruction(Op.OpConvertUToF, GetNewId(), resultType); + + result.AddOperand(unsignedValue); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction UConvert(Instruction resultType, Instruction unsignedValue) + { + Instruction result = new Instruction(Op.OpUConvert, GetNewId(), resultType); + + result.AddOperand(unsignedValue); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction SConvert(Instruction resultType, Instruction signedValue) + { + Instruction result = new Instruction(Op.OpSConvert, GetNewId(), resultType); + + result.AddOperand(signedValue); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction FConvert(Instruction resultType, Instruction floatValue) + { + Instruction result = new Instruction(Op.OpFConvert, GetNewId(), resultType); + + result.AddOperand(floatValue); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction QuantizeToF16(Instruction resultType, Instruction value) + { + Instruction result = new Instruction(Op.OpQuantizeToF16, GetNewId(), resultType); + + result.AddOperand(value); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ConvertPtrToU(Instruction resultType, Instruction pointer) + { + Instruction result = new Instruction(Op.OpConvertPtrToU, GetNewId(), resultType); + + result.AddOperand(pointer); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction SatConvertSToU(Instruction resultType, Instruction signedValue) + { + Instruction result = new Instruction(Op.OpSatConvertSToU, GetNewId(), resultType); + + result.AddOperand(signedValue); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction SatConvertUToS(Instruction resultType, Instruction unsignedValue) + { + Instruction result = new Instruction(Op.OpSatConvertUToS, GetNewId(), resultType); + + result.AddOperand(unsignedValue); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ConvertUToPtr(Instruction resultType, Instruction integerValue) + { + Instruction result = new Instruction(Op.OpConvertUToPtr, GetNewId(), resultType); + + result.AddOperand(integerValue); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction PtrCastToGeneric(Instruction resultType, Instruction pointer) + { + Instruction result = new Instruction(Op.OpPtrCastToGeneric, GetNewId(), resultType); + + result.AddOperand(pointer); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GenericCastToPtr(Instruction resultType, Instruction pointer) + { + Instruction result = new Instruction(Op.OpGenericCastToPtr, GetNewId(), resultType); + + result.AddOperand(pointer); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GenericCastToPtrExplicit(Instruction resultType, Instruction pointer, StorageClass storage) + { + Instruction result = new Instruction(Op.OpGenericCastToPtrExplicit, GetNewId(), resultType); + + result.AddOperand(pointer); + result.AddOperand(storage); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction Bitcast(Instruction resultType, Instruction operand) + { + Instruction result = new Instruction(Op.OpBitcast, GetNewId(), resultType); + + result.AddOperand(operand); + AddToFunctionDefinitions(result); + + return result; + } + + // Composite + + public Instruction VectorExtractDynamic(Instruction resultType, Instruction vector, Instruction index) + { + Instruction result = new Instruction(Op.OpVectorExtractDynamic, GetNewId(), resultType); + + result.AddOperand(vector); + result.AddOperand(index); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction VectorInsertDynamic(Instruction resultType, Instruction vector, Instruction component, Instruction index) + { + Instruction result = new Instruction(Op.OpVectorInsertDynamic, GetNewId(), resultType); + + result.AddOperand(vector); + result.AddOperand(component); + result.AddOperand(index); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction VectorShuffle(Instruction resultType, Instruction vector1, Instruction vector2, params LiteralInteger[] components) + { + Instruction result = new Instruction(Op.OpVectorShuffle, GetNewId(), resultType); + + result.AddOperand(vector1); + result.AddOperand(vector2); + result.AddOperand(components); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction CompositeConstruct(Instruction resultType, params Instruction[] constituents) + { + Instruction result = new Instruction(Op.OpCompositeConstruct, GetNewId(), resultType); + + result.AddOperand(constituents); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction CompositeExtract(Instruction resultType, Instruction composite, params LiteralInteger[] indexes) + { + Instruction result = new Instruction(Op.OpCompositeExtract, GetNewId(), resultType); + + result.AddOperand(composite); + result.AddOperand(indexes); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction CompositeInsert(Instruction resultType, Instruction obj, Instruction composite, params LiteralInteger[] indexes) + { + Instruction result = new Instruction(Op.OpCompositeInsert, GetNewId(), resultType); + + result.AddOperand(obj); + result.AddOperand(composite); + result.AddOperand(indexes); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction CopyObject(Instruction resultType, Instruction operand) + { + Instruction result = new Instruction(Op.OpCopyObject, GetNewId(), resultType); + + result.AddOperand(operand); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction Transpose(Instruction resultType, Instruction matrix) + { + Instruction result = new Instruction(Op.OpTranspose, GetNewId(), resultType); + + result.AddOperand(matrix); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction CopyLogical(Instruction resultType, Instruction operand) + { + Instruction result = new Instruction(Op.OpCopyLogical, GetNewId(), resultType); + + result.AddOperand(operand); + AddToFunctionDefinitions(result); + + return result; + } + + // Arithmetic + + public Instruction SNegate(Instruction resultType, Instruction operand) + { + Instruction result = new Instruction(Op.OpSNegate, GetNewId(), resultType); + + result.AddOperand(operand); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction FNegate(Instruction resultType, Instruction operand) + { + Instruction result = new Instruction(Op.OpFNegate, GetNewId(), resultType); + + result.AddOperand(operand); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction IAdd(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpIAdd, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction FAdd(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpFAdd, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ISub(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpISub, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction FSub(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpFSub, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction IMul(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpIMul, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction FMul(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpFMul, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction UDiv(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpUDiv, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction SDiv(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpSDiv, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction FDiv(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpFDiv, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction UMod(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpUMod, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction SRem(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpSRem, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction SMod(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpSMod, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction FRem(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpFRem, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction FMod(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpFMod, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction VectorTimesScalar(Instruction resultType, Instruction vector, Instruction scalar) + { + Instruction result = new Instruction(Op.OpVectorTimesScalar, GetNewId(), resultType); + + result.AddOperand(vector); + result.AddOperand(scalar); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction MatrixTimesScalar(Instruction resultType, Instruction matrix, Instruction scalar) + { + Instruction result = new Instruction(Op.OpMatrixTimesScalar, GetNewId(), resultType); + + result.AddOperand(matrix); + result.AddOperand(scalar); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction VectorTimesMatrix(Instruction resultType, Instruction vector, Instruction matrix) + { + Instruction result = new Instruction(Op.OpVectorTimesMatrix, GetNewId(), resultType); + + result.AddOperand(vector); + result.AddOperand(matrix); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction MatrixTimesVector(Instruction resultType, Instruction matrix, Instruction vector) + { + Instruction result = new Instruction(Op.OpMatrixTimesVector, GetNewId(), resultType); + + result.AddOperand(matrix); + result.AddOperand(vector); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction MatrixTimesMatrix(Instruction resultType, Instruction leftMatrix, Instruction rightMatrix) + { + Instruction result = new Instruction(Op.OpMatrixTimesMatrix, GetNewId(), resultType); + + result.AddOperand(leftMatrix); + result.AddOperand(rightMatrix); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction OuterProduct(Instruction resultType, Instruction vector1, Instruction vector2) + { + Instruction result = new Instruction(Op.OpOuterProduct, GetNewId(), resultType); + + result.AddOperand(vector1); + result.AddOperand(vector2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction Dot(Instruction resultType, Instruction vector1, Instruction vector2) + { + Instruction result = new Instruction(Op.OpDot, GetNewId(), resultType); + + result.AddOperand(vector1); + result.AddOperand(vector2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction IAddCarry(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpIAddCarry, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ISubBorrow(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpISubBorrow, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction UMulExtended(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpUMulExtended, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction SMulExtended(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpSMulExtended, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + // Bit + + public Instruction ShiftRightLogical(Instruction resultType, Instruction baseObj, Instruction shift) + { + Instruction result = new Instruction(Op.OpShiftRightLogical, GetNewId(), resultType); + + result.AddOperand(baseObj); + result.AddOperand(shift); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ShiftRightArithmetic(Instruction resultType, Instruction baseObj, Instruction shift) + { + Instruction result = new Instruction(Op.OpShiftRightArithmetic, GetNewId(), resultType); + + result.AddOperand(baseObj); + result.AddOperand(shift); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ShiftLeftLogical(Instruction resultType, Instruction baseObj, Instruction shift) + { + Instruction result = new Instruction(Op.OpShiftLeftLogical, GetNewId(), resultType); + + result.AddOperand(baseObj); + result.AddOperand(shift); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction BitwiseOr(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpBitwiseOr, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction BitwiseXor(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpBitwiseXor, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction BitwiseAnd(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpBitwiseAnd, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction Not(Instruction resultType, Instruction operand) + { + Instruction result = new Instruction(Op.OpNot, GetNewId(), resultType); + + result.AddOperand(operand); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction BitFieldInsert(Instruction resultType, Instruction baseObj, Instruction insert, Instruction offset, Instruction count) + { + Instruction result = new Instruction(Op.OpBitFieldInsert, GetNewId(), resultType); + + result.AddOperand(baseObj); + result.AddOperand(insert); + result.AddOperand(offset); + result.AddOperand(count); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction BitFieldSExtract(Instruction resultType, Instruction baseObj, Instruction offset, Instruction count) + { + Instruction result = new Instruction(Op.OpBitFieldSExtract, GetNewId(), resultType); + + result.AddOperand(baseObj); + result.AddOperand(offset); + result.AddOperand(count); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction BitFieldUExtract(Instruction resultType, Instruction baseObj, Instruction offset, Instruction count) + { + Instruction result = new Instruction(Op.OpBitFieldUExtract, GetNewId(), resultType); + + result.AddOperand(baseObj); + result.AddOperand(offset); + result.AddOperand(count); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction BitReverse(Instruction resultType, Instruction baseObj) + { + Instruction result = new Instruction(Op.OpBitReverse, GetNewId(), resultType); + + result.AddOperand(baseObj); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction BitCount(Instruction resultType, Instruction baseObj) + { + Instruction result = new Instruction(Op.OpBitCount, GetNewId(), resultType); + + result.AddOperand(baseObj); + AddToFunctionDefinitions(result); + + return result; + } + + // Relational_and_Logical + + public Instruction Any(Instruction resultType, Instruction vector) + { + Instruction result = new Instruction(Op.OpAny, GetNewId(), resultType); + + result.AddOperand(vector); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction All(Instruction resultType, Instruction vector) + { + Instruction result = new Instruction(Op.OpAll, GetNewId(), resultType); + + result.AddOperand(vector); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction IsNan(Instruction resultType, Instruction x) + { + Instruction result = new Instruction(Op.OpIsNan, GetNewId(), resultType); + + result.AddOperand(x); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction IsInf(Instruction resultType, Instruction x) + { + Instruction result = new Instruction(Op.OpIsInf, GetNewId(), resultType); + + result.AddOperand(x); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction IsFinite(Instruction resultType, Instruction x) + { + Instruction result = new Instruction(Op.OpIsFinite, GetNewId(), resultType); + + result.AddOperand(x); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction IsNormal(Instruction resultType, Instruction x) + { + Instruction result = new Instruction(Op.OpIsNormal, GetNewId(), resultType); + + result.AddOperand(x); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction SignBitSet(Instruction resultType, Instruction x) + { + Instruction result = new Instruction(Op.OpSignBitSet, GetNewId(), resultType); + + result.AddOperand(x); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction LessOrGreater(Instruction resultType, Instruction x, Instruction y) + { + Instruction result = new Instruction(Op.OpLessOrGreater, GetNewId(), resultType); + + result.AddOperand(x); + result.AddOperand(y); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction Ordered(Instruction resultType, Instruction x, Instruction y) + { + Instruction result = new Instruction(Op.OpOrdered, GetNewId(), resultType); + + result.AddOperand(x); + result.AddOperand(y); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction Unordered(Instruction resultType, Instruction x, Instruction y) + { + Instruction result = new Instruction(Op.OpUnordered, GetNewId(), resultType); + + result.AddOperand(x); + result.AddOperand(y); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction LogicalEqual(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpLogicalEqual, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction LogicalNotEqual(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpLogicalNotEqual, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction LogicalOr(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpLogicalOr, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction LogicalAnd(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpLogicalAnd, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction LogicalNot(Instruction resultType, Instruction operand) + { + Instruction result = new Instruction(Op.OpLogicalNot, GetNewId(), resultType); + + result.AddOperand(operand); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction Select(Instruction resultType, Instruction condition, Instruction object1, Instruction object2) + { + Instruction result = new Instruction(Op.OpSelect, GetNewId(), resultType); + + result.AddOperand(condition); + result.AddOperand(object1); + result.AddOperand(object2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction IEqual(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpIEqual, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction INotEqual(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpINotEqual, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction UGreaterThan(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpUGreaterThan, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction SGreaterThan(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpSGreaterThan, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction UGreaterThanEqual(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpUGreaterThanEqual, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction SGreaterThanEqual(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpSGreaterThanEqual, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ULessThan(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpULessThan, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction SLessThan(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpSLessThan, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ULessThanEqual(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpULessThanEqual, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction SLessThanEqual(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpSLessThanEqual, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction FOrdEqual(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpFOrdEqual, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction FUnordEqual(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpFUnordEqual, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction FOrdNotEqual(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpFOrdNotEqual, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction FUnordNotEqual(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpFUnordNotEqual, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction FOrdLessThan(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpFOrdLessThan, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction FUnordLessThan(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpFUnordLessThan, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction FOrdGreaterThan(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpFOrdGreaterThan, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction FUnordGreaterThan(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpFUnordGreaterThan, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction FOrdLessThanEqual(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpFOrdLessThanEqual, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction FUnordLessThanEqual(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpFUnordLessThanEqual, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction FOrdGreaterThanEqual(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpFOrdGreaterThanEqual, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction FUnordGreaterThanEqual(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpFUnordGreaterThanEqual, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + // Derivative + + public Instruction DPdx(Instruction resultType, Instruction p) + { + Instruction result = new Instruction(Op.OpDPdx, GetNewId(), resultType); + + result.AddOperand(p); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction DPdy(Instruction resultType, Instruction p) + { + Instruction result = new Instruction(Op.OpDPdy, GetNewId(), resultType); + + result.AddOperand(p); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction Fwidth(Instruction resultType, Instruction p) + { + Instruction result = new Instruction(Op.OpFwidth, GetNewId(), resultType); + + result.AddOperand(p); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction DPdxFine(Instruction resultType, Instruction p) + { + Instruction result = new Instruction(Op.OpDPdxFine, GetNewId(), resultType); + + result.AddOperand(p); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction DPdyFine(Instruction resultType, Instruction p) + { + Instruction result = new Instruction(Op.OpDPdyFine, GetNewId(), resultType); + + result.AddOperand(p); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction FwidthFine(Instruction resultType, Instruction p) + { + Instruction result = new Instruction(Op.OpFwidthFine, GetNewId(), resultType); + + result.AddOperand(p); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction DPdxCoarse(Instruction resultType, Instruction p) + { + Instruction result = new Instruction(Op.OpDPdxCoarse, GetNewId(), resultType); + + result.AddOperand(p); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction DPdyCoarse(Instruction resultType, Instruction p) + { + Instruction result = new Instruction(Op.OpDPdyCoarse, GetNewId(), resultType); + + result.AddOperand(p); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction FwidthCoarse(Instruction resultType, Instruction p) + { + Instruction result = new Instruction(Op.OpFwidthCoarse, GetNewId(), resultType); + + result.AddOperand(p); + AddToFunctionDefinitions(result); + + return result; + } + + // Control-Flow + + public Instruction Phi(Instruction resultType, params Instruction[] parameters) + { + Instruction result = new Instruction(Op.OpPhi, GetNewId(), resultType); + + result.AddOperand(parameters); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction LoopMerge(Instruction mergeBlock, Instruction continueTarget, LoopControlMask loopControl) + { + Instruction result = new Instruction(Op.OpLoopMerge); + + result.AddOperand(mergeBlock); + result.AddOperand(continueTarget); + result.AddOperand(loopControl); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction SelectionMerge(Instruction mergeBlock, SelectionControlMask selectionControl) + { + Instruction result = new Instruction(Op.OpSelectionMerge); + + result.AddOperand(mergeBlock); + result.AddOperand(selectionControl); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction Label() + { + Instruction result = new Instruction(Op.OpLabel); + + return result; + } + + public Instruction Branch(Instruction targetLabel) + { + Instruction result = new Instruction(Op.OpBranch); + + result.AddOperand(targetLabel); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction BranchConditional(Instruction condition, Instruction trueLabel, Instruction falseLabel, params LiteralInteger[] branchweights) + { + Instruction result = new Instruction(Op.OpBranchConditional); + + result.AddOperand(condition); + result.AddOperand(trueLabel); + result.AddOperand(falseLabel); + result.AddOperand(branchweights); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction Switch(Instruction selector, Instruction defaultObj, params Operand[] target) + { + Instruction result = new Instruction(Op.OpSwitch); + + result.AddOperand(selector); + result.AddOperand(defaultObj); + result.AddOperand(target); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction Kill() + { + Instruction result = new Instruction(Op.OpKill); + + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction Return() + { + Instruction result = new Instruction(Op.OpReturn); + + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ReturnValue(Instruction value) + { + Instruction result = new Instruction(Op.OpReturnValue); + + result.AddOperand(value); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction Unreachable() + { + Instruction result = new Instruction(Op.OpUnreachable); + + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction LifetimeStart(Instruction pointer, LiteralInteger size) + { + Instruction result = new Instruction(Op.OpLifetimeStart); + + result.AddOperand(pointer); + result.AddOperand(size); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction LifetimeStop(Instruction pointer, LiteralInteger size) + { + Instruction result = new Instruction(Op.OpLifetimeStop); + + result.AddOperand(pointer); + result.AddOperand(size); + AddToFunctionDefinitions(result); + + return result; + } + + // Atomic + + public Instruction AtomicLoad(Instruction resultType, Instruction pointer, Instruction memory, Instruction semantics) + { + Instruction result = new Instruction(Op.OpAtomicLoad, GetNewId(), resultType); + + result.AddOperand(pointer); + result.AddOperand(memory); + result.AddOperand(semantics); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction AtomicStore(Instruction pointer, Instruction memory, Instruction semantics, Instruction value) + { + Instruction result = new Instruction(Op.OpAtomicStore); + + result.AddOperand(pointer); + result.AddOperand(memory); + result.AddOperand(semantics); + result.AddOperand(value); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction AtomicExchange(Instruction resultType, Instruction pointer, Instruction memory, Instruction semantics, Instruction value) + { + Instruction result = new Instruction(Op.OpAtomicExchange, GetNewId(), resultType); + + result.AddOperand(pointer); + result.AddOperand(memory); + result.AddOperand(semantics); + result.AddOperand(value); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction AtomicCompareExchange(Instruction resultType, Instruction pointer, Instruction memory, Instruction equal, Instruction unequal, Instruction value, Instruction comparator) + { + Instruction result = new Instruction(Op.OpAtomicCompareExchange, GetNewId(), resultType); + + result.AddOperand(pointer); + result.AddOperand(memory); + result.AddOperand(equal); + result.AddOperand(unequal); + result.AddOperand(value); + result.AddOperand(comparator); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction AtomicCompareExchangeWeak(Instruction resultType, Instruction pointer, Instruction memory, Instruction equal, Instruction unequal, Instruction value, Instruction comparator) + { + Instruction result = new Instruction(Op.OpAtomicCompareExchangeWeak, GetNewId(), resultType); + + result.AddOperand(pointer); + result.AddOperand(memory); + result.AddOperand(equal); + result.AddOperand(unequal); + result.AddOperand(value); + result.AddOperand(comparator); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction AtomicIIncrement(Instruction resultType, Instruction pointer, Instruction memory, Instruction semantics) + { + Instruction result = new Instruction(Op.OpAtomicIIncrement, GetNewId(), resultType); + + result.AddOperand(pointer); + result.AddOperand(memory); + result.AddOperand(semantics); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction AtomicIDecrement(Instruction resultType, Instruction pointer, Instruction memory, Instruction semantics) + { + Instruction result = new Instruction(Op.OpAtomicIDecrement, GetNewId(), resultType); + + result.AddOperand(pointer); + result.AddOperand(memory); + result.AddOperand(semantics); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction AtomicIAdd(Instruction resultType, Instruction pointer, Instruction memory, Instruction semantics, Instruction value) + { + Instruction result = new Instruction(Op.OpAtomicIAdd, GetNewId(), resultType); + + result.AddOperand(pointer); + result.AddOperand(memory); + result.AddOperand(semantics); + result.AddOperand(value); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction AtomicISub(Instruction resultType, Instruction pointer, Instruction memory, Instruction semantics, Instruction value) + { + Instruction result = new Instruction(Op.OpAtomicISub, GetNewId(), resultType); + + result.AddOperand(pointer); + result.AddOperand(memory); + result.AddOperand(semantics); + result.AddOperand(value); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction AtomicSMin(Instruction resultType, Instruction pointer, Instruction memory, Instruction semantics, Instruction value) + { + Instruction result = new Instruction(Op.OpAtomicSMin, GetNewId(), resultType); + + result.AddOperand(pointer); + result.AddOperand(memory); + result.AddOperand(semantics); + result.AddOperand(value); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction AtomicUMin(Instruction resultType, Instruction pointer, Instruction memory, Instruction semantics, Instruction value) + { + Instruction result = new Instruction(Op.OpAtomicUMin, GetNewId(), resultType); + + result.AddOperand(pointer); + result.AddOperand(memory); + result.AddOperand(semantics); + result.AddOperand(value); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction AtomicSMax(Instruction resultType, Instruction pointer, Instruction memory, Instruction semantics, Instruction value) + { + Instruction result = new Instruction(Op.OpAtomicSMax, GetNewId(), resultType); + + result.AddOperand(pointer); + result.AddOperand(memory); + result.AddOperand(semantics); + result.AddOperand(value); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction AtomicUMax(Instruction resultType, Instruction pointer, Instruction memory, Instruction semantics, Instruction value) + { + Instruction result = new Instruction(Op.OpAtomicUMax, GetNewId(), resultType); + + result.AddOperand(pointer); + result.AddOperand(memory); + result.AddOperand(semantics); + result.AddOperand(value); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction AtomicAnd(Instruction resultType, Instruction pointer, Instruction memory, Instruction semantics, Instruction value) + { + Instruction result = new Instruction(Op.OpAtomicAnd, GetNewId(), resultType); + + result.AddOperand(pointer); + result.AddOperand(memory); + result.AddOperand(semantics); + result.AddOperand(value); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction AtomicOr(Instruction resultType, Instruction pointer, Instruction memory, Instruction semantics, Instruction value) + { + Instruction result = new Instruction(Op.OpAtomicOr, GetNewId(), resultType); + + result.AddOperand(pointer); + result.AddOperand(memory); + result.AddOperand(semantics); + result.AddOperand(value); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction AtomicXor(Instruction resultType, Instruction pointer, Instruction memory, Instruction semantics, Instruction value) + { + Instruction result = new Instruction(Op.OpAtomicXor, GetNewId(), resultType); + + result.AddOperand(pointer); + result.AddOperand(memory); + result.AddOperand(semantics); + result.AddOperand(value); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction AtomicFlagTestAndSet(Instruction resultType, Instruction pointer, Instruction memory, Instruction semantics) + { + Instruction result = new Instruction(Op.OpAtomicFlagTestAndSet, GetNewId(), resultType); + + result.AddOperand(pointer); + result.AddOperand(memory); + result.AddOperand(semantics); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction AtomicFlagClear(Instruction pointer, Instruction memory, Instruction semantics) + { + Instruction result = new Instruction(Op.OpAtomicFlagClear); + + result.AddOperand(pointer); + result.AddOperand(memory); + result.AddOperand(semantics); + AddToFunctionDefinitions(result); + + return result; + } + + // Primitive + + public Instruction EmitVertex() + { + Instruction result = new Instruction(Op.OpEmitVertex); + + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction EndPrimitive() + { + Instruction result = new Instruction(Op.OpEndPrimitive); + + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction EmitStreamVertex(Instruction stream) + { + Instruction result = new Instruction(Op.OpEmitStreamVertex); + + result.AddOperand(stream); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction EndStreamPrimitive(Instruction stream) + { + Instruction result = new Instruction(Op.OpEndStreamPrimitive); + + result.AddOperand(stream); + AddToFunctionDefinitions(result); + + return result; + } + + // Barrier + + public Instruction ControlBarrier(Instruction execution, Instruction memory, Instruction semantics) + { + Instruction result = new Instruction(Op.OpControlBarrier); + + result.AddOperand(execution); + result.AddOperand(memory); + result.AddOperand(semantics); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction MemoryBarrier(Instruction memory, Instruction semantics) + { + Instruction result = new Instruction(Op.OpMemoryBarrier); + + result.AddOperand(memory); + result.AddOperand(semantics); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction NamedBarrierInitialize(Instruction resultType, Instruction subgroupCount) + { + Instruction result = new Instruction(Op.OpNamedBarrierInitialize, GetNewId(), resultType); + + result.AddOperand(subgroupCount); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction MemoryNamedBarrier(Instruction namedBarrier, Instruction memory, Instruction semantics) + { + Instruction result = new Instruction(Op.OpMemoryNamedBarrier); + + result.AddOperand(namedBarrier); + result.AddOperand(memory); + result.AddOperand(semantics); + AddToFunctionDefinitions(result); + + return result; + } + + // Group + + public Instruction GroupAsyncCopy(Instruction resultType, Instruction execution, Instruction destination, Instruction source, Instruction numElements, Instruction stride, Instruction eventObj) + { + Instruction result = new Instruction(Op.OpGroupAsyncCopy, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(destination); + result.AddOperand(source); + result.AddOperand(numElements); + result.AddOperand(stride); + result.AddOperand(eventObj); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupWaitEvents(Instruction execution, Instruction numEvents, Instruction eventsList) + { + Instruction result = new Instruction(Op.OpGroupWaitEvents); + + result.AddOperand(execution); + result.AddOperand(numEvents); + result.AddOperand(eventsList); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupAll(Instruction resultType, Instruction execution, Instruction predicate) + { + Instruction result = new Instruction(Op.OpGroupAll, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(predicate); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupAny(Instruction resultType, Instruction execution, Instruction predicate) + { + Instruction result = new Instruction(Op.OpGroupAny, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(predicate); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupBroadcast(Instruction resultType, Instruction execution, Instruction value, Instruction localId) + { + Instruction result = new Instruction(Op.OpGroupBroadcast, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(value); + result.AddOperand(localId); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupIAdd(Instruction resultType, Instruction execution, GroupOperation operation, Instruction x) + { + Instruction result = new Instruction(Op.OpGroupIAdd, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(operation); + result.AddOperand(x); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupFAdd(Instruction resultType, Instruction execution, GroupOperation operation, Instruction x) + { + Instruction result = new Instruction(Op.OpGroupFAdd, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(operation); + result.AddOperand(x); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupFMin(Instruction resultType, Instruction execution, GroupOperation operation, Instruction x) + { + Instruction result = new Instruction(Op.OpGroupFMin, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(operation); + result.AddOperand(x); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupUMin(Instruction resultType, Instruction execution, GroupOperation operation, Instruction x) + { + Instruction result = new Instruction(Op.OpGroupUMin, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(operation); + result.AddOperand(x); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupSMin(Instruction resultType, Instruction execution, GroupOperation operation, Instruction x) + { + Instruction result = new Instruction(Op.OpGroupSMin, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(operation); + result.AddOperand(x); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupFMax(Instruction resultType, Instruction execution, GroupOperation operation, Instruction x) + { + Instruction result = new Instruction(Op.OpGroupFMax, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(operation); + result.AddOperand(x); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupUMax(Instruction resultType, Instruction execution, GroupOperation operation, Instruction x) + { + Instruction result = new Instruction(Op.OpGroupUMax, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(operation); + result.AddOperand(x); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupSMax(Instruction resultType, Instruction execution, GroupOperation operation, Instruction x) + { + Instruction result = new Instruction(Op.OpGroupSMax, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(operation); + result.AddOperand(x); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction SubgroupBallotKHR(Instruction resultType, Instruction predicate) + { + Instruction result = new Instruction(Op.OpSubgroupBallotKHR, GetNewId(), resultType); + + result.AddOperand(predicate); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction SubgroupFirstInvocationKHR(Instruction resultType, Instruction value) + { + Instruction result = new Instruction(Op.OpSubgroupFirstInvocationKHR, GetNewId(), resultType); + + result.AddOperand(value); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction SubgroupAllKHR(Instruction resultType, Instruction predicate) + { + Instruction result = new Instruction(Op.OpSubgroupAllKHR, GetNewId(), resultType); + + result.AddOperand(predicate); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction SubgroupAnyKHR(Instruction resultType, Instruction predicate) + { + Instruction result = new Instruction(Op.OpSubgroupAnyKHR, GetNewId(), resultType); + + result.AddOperand(predicate); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction SubgroupAllEqualKHR(Instruction resultType, Instruction predicate) + { + Instruction result = new Instruction(Op.OpSubgroupAllEqualKHR, GetNewId(), resultType); + + result.AddOperand(predicate); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction SubgroupReadInvocationKHR(Instruction resultType, Instruction value, Instruction index) + { + Instruction result = new Instruction(Op.OpSubgroupReadInvocationKHR, GetNewId(), resultType); + + result.AddOperand(value); + result.AddOperand(index); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupIAddNonUniformAMD(Instruction resultType, Instruction execution, GroupOperation operation, Instruction x) + { + Instruction result = new Instruction(Op.OpGroupIAddNonUniformAMD, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(operation); + result.AddOperand(x); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupFAddNonUniformAMD(Instruction resultType, Instruction execution, GroupOperation operation, Instruction x) + { + Instruction result = new Instruction(Op.OpGroupFAddNonUniformAMD, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(operation); + result.AddOperand(x); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupFMinNonUniformAMD(Instruction resultType, Instruction execution, GroupOperation operation, Instruction x) + { + Instruction result = new Instruction(Op.OpGroupFMinNonUniformAMD, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(operation); + result.AddOperand(x); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupUMinNonUniformAMD(Instruction resultType, Instruction execution, GroupOperation operation, Instruction x) + { + Instruction result = new Instruction(Op.OpGroupUMinNonUniformAMD, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(operation); + result.AddOperand(x); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupSMinNonUniformAMD(Instruction resultType, Instruction execution, GroupOperation operation, Instruction x) + { + Instruction result = new Instruction(Op.OpGroupSMinNonUniformAMD, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(operation); + result.AddOperand(x); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupFMaxNonUniformAMD(Instruction resultType, Instruction execution, GroupOperation operation, Instruction x) + { + Instruction result = new Instruction(Op.OpGroupFMaxNonUniformAMD, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(operation); + result.AddOperand(x); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupUMaxNonUniformAMD(Instruction resultType, Instruction execution, GroupOperation operation, Instruction x) + { + Instruction result = new Instruction(Op.OpGroupUMaxNonUniformAMD, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(operation); + result.AddOperand(x); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupSMaxNonUniformAMD(Instruction resultType, Instruction execution, GroupOperation operation, Instruction x) + { + Instruction result = new Instruction(Op.OpGroupSMaxNonUniformAMD, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(operation); + result.AddOperand(x); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction SubgroupShuffleINTEL(Instruction resultType, Instruction data, Instruction invocationId) + { + Instruction result = new Instruction(Op.OpSubgroupShuffleINTEL, GetNewId(), resultType); + + result.AddOperand(data); + result.AddOperand(invocationId); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction SubgroupShuffleDownINTEL(Instruction resultType, Instruction current, Instruction next, Instruction delta) + { + Instruction result = new Instruction(Op.OpSubgroupShuffleDownINTEL, GetNewId(), resultType); + + result.AddOperand(current); + result.AddOperand(next); + result.AddOperand(delta); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction SubgroupShuffleUpINTEL(Instruction resultType, Instruction previous, Instruction current, Instruction delta) + { + Instruction result = new Instruction(Op.OpSubgroupShuffleUpINTEL, GetNewId(), resultType); + + result.AddOperand(previous); + result.AddOperand(current); + result.AddOperand(delta); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction SubgroupShuffleXorINTEL(Instruction resultType, Instruction data, Instruction value) + { + Instruction result = new Instruction(Op.OpSubgroupShuffleXorINTEL, GetNewId(), resultType); + + result.AddOperand(data); + result.AddOperand(value); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction SubgroupBlockReadINTEL(Instruction resultType, Instruction ptr) + { + Instruction result = new Instruction(Op.OpSubgroupBlockReadINTEL, GetNewId(), resultType); + + result.AddOperand(ptr); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction SubgroupBlockWriteINTEL(Instruction ptr, Instruction data) + { + Instruction result = new Instruction(Op.OpSubgroupBlockWriteINTEL); + + result.AddOperand(ptr); + result.AddOperand(data); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction SubgroupImageBlockReadINTEL(Instruction resultType, Instruction image, Instruction coordinate) + { + Instruction result = new Instruction(Op.OpSubgroupImageBlockReadINTEL, GetNewId(), resultType); + + result.AddOperand(image); + result.AddOperand(coordinate); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction SubgroupImageBlockWriteINTEL(Instruction image, Instruction coordinate, Instruction data) + { + Instruction result = new Instruction(Op.OpSubgroupImageBlockWriteINTEL); + + result.AddOperand(image); + result.AddOperand(coordinate); + result.AddOperand(data); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction SubgroupImageMediaBlockReadINTEL(Instruction resultType, Instruction image, Instruction coordinate, Instruction width, Instruction height) + { + Instruction result = new Instruction(Op.OpSubgroupImageMediaBlockReadINTEL, GetNewId(), resultType); + + result.AddOperand(image); + result.AddOperand(coordinate); + result.AddOperand(width); + result.AddOperand(height); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction SubgroupImageMediaBlockWriteINTEL(Instruction image, Instruction coordinate, Instruction width, Instruction height, Instruction data) + { + Instruction result = new Instruction(Op.OpSubgroupImageMediaBlockWriteINTEL); + + result.AddOperand(image); + result.AddOperand(coordinate); + result.AddOperand(width); + result.AddOperand(height); + result.AddOperand(data); + AddToFunctionDefinitions(result); + + return result; + } + + // Device-Side_Enqueue + + public Instruction EnqueueMarker(Instruction resultType, Instruction queue, Instruction numEvents, Instruction waitEvents, Instruction retEvent) + { + Instruction result = new Instruction(Op.OpEnqueueMarker, GetNewId(), resultType); + + result.AddOperand(queue); + result.AddOperand(numEvents); + result.AddOperand(waitEvents); + result.AddOperand(retEvent); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction EnqueueKernel(Instruction resultType, Instruction queue, Instruction flags, Instruction nDRange, Instruction numEvents, Instruction waitEvents, Instruction retEvent, Instruction invoke, Instruction param, Instruction paramSize, Instruction paramAlign, params Instruction[] localSize) + { + Instruction result = new Instruction(Op.OpEnqueueKernel, GetNewId(), resultType); + + result.AddOperand(queue); + result.AddOperand(flags); + result.AddOperand(nDRange); + result.AddOperand(numEvents); + result.AddOperand(waitEvents); + result.AddOperand(retEvent); + result.AddOperand(invoke); + result.AddOperand(param); + result.AddOperand(paramSize); + result.AddOperand(paramAlign); + result.AddOperand(localSize); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GetKernelNDrangeSubGroupCount(Instruction resultType, Instruction nDRange, Instruction invoke, Instruction param, Instruction paramSize, Instruction paramAlign) + { + Instruction result = new Instruction(Op.OpGetKernelNDrangeSubGroupCount, GetNewId(), resultType); + + result.AddOperand(nDRange); + result.AddOperand(invoke); + result.AddOperand(param); + result.AddOperand(paramSize); + result.AddOperand(paramAlign); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GetKernelNDrangeMaxSubGroupSize(Instruction resultType, Instruction nDRange, Instruction invoke, Instruction param, Instruction paramSize, Instruction paramAlign) + { + Instruction result = new Instruction(Op.OpGetKernelNDrangeMaxSubGroupSize, GetNewId(), resultType); + + result.AddOperand(nDRange); + result.AddOperand(invoke); + result.AddOperand(param); + result.AddOperand(paramSize); + result.AddOperand(paramAlign); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GetKernelWorkGroupSize(Instruction resultType, Instruction invoke, Instruction param, Instruction paramSize, Instruction paramAlign) + { + Instruction result = new Instruction(Op.OpGetKernelWorkGroupSize, GetNewId(), resultType); + + result.AddOperand(invoke); + result.AddOperand(param); + result.AddOperand(paramSize); + result.AddOperand(paramAlign); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GetKernelPreferredWorkGroupSizeMultiple(Instruction resultType, Instruction invoke, Instruction param, Instruction paramSize, Instruction paramAlign) + { + Instruction result = new Instruction(Op.OpGetKernelPreferredWorkGroupSizeMultiple, GetNewId(), resultType); + + result.AddOperand(invoke); + result.AddOperand(param); + result.AddOperand(paramSize); + result.AddOperand(paramAlign); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction RetainEvent(Instruction eventObj) + { + Instruction result = new Instruction(Op.OpRetainEvent); + + result.AddOperand(eventObj); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ReleaseEvent(Instruction eventObj) + { + Instruction result = new Instruction(Op.OpReleaseEvent); + + result.AddOperand(eventObj); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction CreateUserEvent(Instruction resultType) + { + Instruction result = new Instruction(Op.OpCreateUserEvent, GetNewId(), resultType); + + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction IsValidEvent(Instruction resultType, Instruction eventObj) + { + Instruction result = new Instruction(Op.OpIsValidEvent, GetNewId(), resultType); + + result.AddOperand(eventObj); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction SetUserEventStatus(Instruction eventObj, Instruction status) + { + Instruction result = new Instruction(Op.OpSetUserEventStatus); + + result.AddOperand(eventObj); + result.AddOperand(status); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction CaptureEventProfilingInfo(Instruction eventObj, Instruction profilingInfo, Instruction value) + { + Instruction result = new Instruction(Op.OpCaptureEventProfilingInfo); + + result.AddOperand(eventObj); + result.AddOperand(profilingInfo); + result.AddOperand(value); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GetDefaultQueue(Instruction resultType) + { + Instruction result = new Instruction(Op.OpGetDefaultQueue, GetNewId(), resultType); + + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction BuildNDRange(Instruction resultType, Instruction globalWorkSize, Instruction localWorkSize, Instruction globalWorkOffset) + { + Instruction result = new Instruction(Op.OpBuildNDRange, GetNewId(), resultType); + + result.AddOperand(globalWorkSize); + result.AddOperand(localWorkSize); + result.AddOperand(globalWorkOffset); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GetKernelLocalSizeForSubgroupCount(Instruction resultType, Instruction subgroupCount, Instruction invoke, Instruction param, Instruction paramSize, Instruction paramAlign) + { + Instruction result = new Instruction(Op.OpGetKernelLocalSizeForSubgroupCount, GetNewId(), resultType); + + result.AddOperand(subgroupCount); + result.AddOperand(invoke); + result.AddOperand(param); + result.AddOperand(paramSize); + result.AddOperand(paramAlign); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GetKernelMaxNumSubgroups(Instruction resultType, Instruction invoke, Instruction param, Instruction paramSize, Instruction paramAlign) + { + Instruction result = new Instruction(Op.OpGetKernelMaxNumSubgroups, GetNewId(), resultType); + + result.AddOperand(invoke); + result.AddOperand(param); + result.AddOperand(paramSize); + result.AddOperand(paramAlign); + AddToFunctionDefinitions(result); + + return result; + } + + // Pipe + + public Instruction ReadPipe(Instruction resultType, Instruction pipe, Instruction pointer, Instruction packetSize, Instruction packetAlignment) + { + Instruction result = new Instruction(Op.OpReadPipe, GetNewId(), resultType); + + result.AddOperand(pipe); + result.AddOperand(pointer); + result.AddOperand(packetSize); + result.AddOperand(packetAlignment); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction WritePipe(Instruction resultType, Instruction pipe, Instruction pointer, Instruction packetSize, Instruction packetAlignment) + { + Instruction result = new Instruction(Op.OpWritePipe, GetNewId(), resultType); + + result.AddOperand(pipe); + result.AddOperand(pointer); + result.AddOperand(packetSize); + result.AddOperand(packetAlignment); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ReservedReadPipe(Instruction resultType, Instruction pipe, Instruction reserveId, Instruction index, Instruction pointer, Instruction packetSize, Instruction packetAlignment) + { + Instruction result = new Instruction(Op.OpReservedReadPipe, GetNewId(), resultType); + + result.AddOperand(pipe); + result.AddOperand(reserveId); + result.AddOperand(index); + result.AddOperand(pointer); + result.AddOperand(packetSize); + result.AddOperand(packetAlignment); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ReservedWritePipe(Instruction resultType, Instruction pipe, Instruction reserveId, Instruction index, Instruction pointer, Instruction packetSize, Instruction packetAlignment) + { + Instruction result = new Instruction(Op.OpReservedWritePipe, GetNewId(), resultType); + + result.AddOperand(pipe); + result.AddOperand(reserveId); + result.AddOperand(index); + result.AddOperand(pointer); + result.AddOperand(packetSize); + result.AddOperand(packetAlignment); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ReserveReadPipePackets(Instruction resultType, Instruction pipe, Instruction numPackets, Instruction packetSize, Instruction packetAlignment) + { + Instruction result = new Instruction(Op.OpReserveReadPipePackets, GetNewId(), resultType); + + result.AddOperand(pipe); + result.AddOperand(numPackets); + result.AddOperand(packetSize); + result.AddOperand(packetAlignment); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ReserveWritePipePackets(Instruction resultType, Instruction pipe, Instruction numPackets, Instruction packetSize, Instruction packetAlignment) + { + Instruction result = new Instruction(Op.OpReserveWritePipePackets, GetNewId(), resultType); + + result.AddOperand(pipe); + result.AddOperand(numPackets); + result.AddOperand(packetSize); + result.AddOperand(packetAlignment); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction CommitReadPipe(Instruction pipe, Instruction reserveId, Instruction packetSize, Instruction packetAlignment) + { + Instruction result = new Instruction(Op.OpCommitReadPipe); + + result.AddOperand(pipe); + result.AddOperand(reserveId); + result.AddOperand(packetSize); + result.AddOperand(packetAlignment); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction CommitWritePipe(Instruction pipe, Instruction reserveId, Instruction packetSize, Instruction packetAlignment) + { + Instruction result = new Instruction(Op.OpCommitWritePipe); + + result.AddOperand(pipe); + result.AddOperand(reserveId); + result.AddOperand(packetSize); + result.AddOperand(packetAlignment); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction IsValidReserveId(Instruction resultType, Instruction reserveId) + { + Instruction result = new Instruction(Op.OpIsValidReserveId, GetNewId(), resultType); + + result.AddOperand(reserveId); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GetNumPipePackets(Instruction resultType, Instruction pipe, Instruction packetSize, Instruction packetAlignment) + { + Instruction result = new Instruction(Op.OpGetNumPipePackets, GetNewId(), resultType); + + result.AddOperand(pipe); + result.AddOperand(packetSize); + result.AddOperand(packetAlignment); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GetMaxPipePackets(Instruction resultType, Instruction pipe, Instruction packetSize, Instruction packetAlignment) + { + Instruction result = new Instruction(Op.OpGetMaxPipePackets, GetNewId(), resultType); + + result.AddOperand(pipe); + result.AddOperand(packetSize); + result.AddOperand(packetAlignment); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupReserveReadPipePackets(Instruction resultType, Instruction execution, Instruction pipe, Instruction numPackets, Instruction packetSize, Instruction packetAlignment) + { + Instruction result = new Instruction(Op.OpGroupReserveReadPipePackets, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(pipe); + result.AddOperand(numPackets); + result.AddOperand(packetSize); + result.AddOperand(packetAlignment); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupReserveWritePipePackets(Instruction resultType, Instruction execution, Instruction pipe, Instruction numPackets, Instruction packetSize, Instruction packetAlignment) + { + Instruction result = new Instruction(Op.OpGroupReserveWritePipePackets, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(pipe); + result.AddOperand(numPackets); + result.AddOperand(packetSize); + result.AddOperand(packetAlignment); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupCommitReadPipe(Instruction execution, Instruction pipe, Instruction reserveId, Instruction packetSize, Instruction packetAlignment) + { + Instruction result = new Instruction(Op.OpGroupCommitReadPipe); + + result.AddOperand(execution); + result.AddOperand(pipe); + result.AddOperand(reserveId); + result.AddOperand(packetSize); + result.AddOperand(packetAlignment); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupCommitWritePipe(Instruction execution, Instruction pipe, Instruction reserveId, Instruction packetSize, Instruction packetAlignment) + { + Instruction result = new Instruction(Op.OpGroupCommitWritePipe); + + result.AddOperand(execution); + result.AddOperand(pipe); + result.AddOperand(reserveId); + result.AddOperand(packetSize); + result.AddOperand(packetAlignment); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ConstantPipeStorage(Instruction resultType, LiteralInteger packetSize, LiteralInteger packetAlignment, LiteralInteger capacity) + { + Instruction result = new Instruction(Op.OpConstantPipeStorage, GetNewId(), resultType); + + result.AddOperand(packetSize); + result.AddOperand(packetAlignment); + result.AddOperand(capacity); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction CreatePipeFromPipeStorage(Instruction resultType, Instruction pipeStorage) + { + Instruction result = new Instruction(Op.OpCreatePipeFromPipeStorage, GetNewId(), resultType); + + result.AddOperand(pipeStorage); + AddToFunctionDefinitions(result); + + return result; + } + + // Non-Uniform + + public Instruction GroupNonUniformElect(Instruction resultType, Instruction execution) + { + Instruction result = new Instruction(Op.OpGroupNonUniformElect, GetNewId(), resultType); + + result.AddOperand(execution); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupNonUniformAll(Instruction resultType, Instruction execution, Instruction predicate) + { + Instruction result = new Instruction(Op.OpGroupNonUniformAll, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(predicate); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupNonUniformAny(Instruction resultType, Instruction execution, Instruction predicate) + { + Instruction result = new Instruction(Op.OpGroupNonUniformAny, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(predicate); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupNonUniformAllEqual(Instruction resultType, Instruction execution, Instruction value) + { + Instruction result = new Instruction(Op.OpGroupNonUniformAllEqual, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(value); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupNonUniformBroadcast(Instruction resultType, Instruction execution, Instruction value, Instruction id) + { + Instruction result = new Instruction(Op.OpGroupNonUniformBroadcast, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(value); + result.AddOperand(id); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupNonUniformBroadcastFirst(Instruction resultType, Instruction execution, Instruction value) + { + Instruction result = new Instruction(Op.OpGroupNonUniformBroadcastFirst, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(value); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupNonUniformBallot(Instruction resultType, Instruction execution, Instruction predicate) + { + Instruction result = new Instruction(Op.OpGroupNonUniformBallot, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(predicate); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupNonUniformInverseBallot(Instruction resultType, Instruction execution, Instruction value) + { + Instruction result = new Instruction(Op.OpGroupNonUniformInverseBallot, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(value); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupNonUniformBallotBitExtract(Instruction resultType, Instruction execution, Instruction value, Instruction index) + { + Instruction result = new Instruction(Op.OpGroupNonUniformBallotBitExtract, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(value); + result.AddOperand(index); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupNonUniformBallotBitCount(Instruction resultType, Instruction execution, GroupOperation operation, Instruction value) + { + Instruction result = new Instruction(Op.OpGroupNonUniformBallotBitCount, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(operation); + result.AddOperand(value); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupNonUniformBallotFindLSB(Instruction resultType, Instruction execution, Instruction value) + { + Instruction result = new Instruction(Op.OpGroupNonUniformBallotFindLSB, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(value); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupNonUniformBallotFindMSB(Instruction resultType, Instruction execution, Instruction value) + { + Instruction result = new Instruction(Op.OpGroupNonUniformBallotFindMSB, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(value); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupNonUniformShuffle(Instruction resultType, Instruction execution, Instruction value, Instruction id) + { + Instruction result = new Instruction(Op.OpGroupNonUniformShuffle, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(value); + result.AddOperand(id); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupNonUniformShuffleXor(Instruction resultType, Instruction execution, Instruction value, Instruction mask) + { + Instruction result = new Instruction(Op.OpGroupNonUniformShuffleXor, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(value); + result.AddOperand(mask); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupNonUniformShuffleUp(Instruction resultType, Instruction execution, Instruction value, Instruction delta) + { + Instruction result = new Instruction(Op.OpGroupNonUniformShuffleUp, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(value); + result.AddOperand(delta); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupNonUniformShuffleDown(Instruction resultType, Instruction execution, Instruction value, Instruction delta) + { + Instruction result = new Instruction(Op.OpGroupNonUniformShuffleDown, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(value); + result.AddOperand(delta); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupNonUniformIAdd(Instruction resultType, Instruction execution, GroupOperation operation, Instruction value, Instruction clusterSize = null) + { + Instruction result = new Instruction(Op.OpGroupNonUniformIAdd, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(operation); + result.AddOperand(value); + if (clusterSize != null) + { + result.AddOperand(clusterSize); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupNonUniformFAdd(Instruction resultType, Instruction execution, GroupOperation operation, Instruction value, Instruction clusterSize = null) + { + Instruction result = new Instruction(Op.OpGroupNonUniformFAdd, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(operation); + result.AddOperand(value); + if (clusterSize != null) + { + result.AddOperand(clusterSize); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupNonUniformIMul(Instruction resultType, Instruction execution, GroupOperation operation, Instruction value, Instruction clusterSize = null) + { + Instruction result = new Instruction(Op.OpGroupNonUniformIMul, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(operation); + result.AddOperand(value); + if (clusterSize != null) + { + result.AddOperand(clusterSize); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupNonUniformFMul(Instruction resultType, Instruction execution, GroupOperation operation, Instruction value, Instruction clusterSize = null) + { + Instruction result = new Instruction(Op.OpGroupNonUniformFMul, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(operation); + result.AddOperand(value); + if (clusterSize != null) + { + result.AddOperand(clusterSize); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupNonUniformSMin(Instruction resultType, Instruction execution, GroupOperation operation, Instruction value, Instruction clusterSize = null) + { + Instruction result = new Instruction(Op.OpGroupNonUniformSMin, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(operation); + result.AddOperand(value); + if (clusterSize != null) + { + result.AddOperand(clusterSize); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupNonUniformUMin(Instruction resultType, Instruction execution, GroupOperation operation, Instruction value, Instruction clusterSize = null) + { + Instruction result = new Instruction(Op.OpGroupNonUniformUMin, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(operation); + result.AddOperand(value); + if (clusterSize != null) + { + result.AddOperand(clusterSize); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupNonUniformFMin(Instruction resultType, Instruction execution, GroupOperation operation, Instruction value, Instruction clusterSize = null) + { + Instruction result = new Instruction(Op.OpGroupNonUniformFMin, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(operation); + result.AddOperand(value); + if (clusterSize != null) + { + result.AddOperand(clusterSize); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupNonUniformSMax(Instruction resultType, Instruction execution, GroupOperation operation, Instruction value, Instruction clusterSize = null) + { + Instruction result = new Instruction(Op.OpGroupNonUniformSMax, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(operation); + result.AddOperand(value); + if (clusterSize != null) + { + result.AddOperand(clusterSize); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupNonUniformUMax(Instruction resultType, Instruction execution, GroupOperation operation, Instruction value, Instruction clusterSize = null) + { + Instruction result = new Instruction(Op.OpGroupNonUniformUMax, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(operation); + result.AddOperand(value); + if (clusterSize != null) + { + result.AddOperand(clusterSize); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupNonUniformFMax(Instruction resultType, Instruction execution, GroupOperation operation, Instruction value, Instruction clusterSize = null) + { + Instruction result = new Instruction(Op.OpGroupNonUniformFMax, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(operation); + result.AddOperand(value); + if (clusterSize != null) + { + result.AddOperand(clusterSize); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupNonUniformBitwiseAnd(Instruction resultType, Instruction execution, GroupOperation operation, Instruction value, Instruction clusterSize = null) + { + Instruction result = new Instruction(Op.OpGroupNonUniformBitwiseAnd, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(operation); + result.AddOperand(value); + if (clusterSize != null) + { + result.AddOperand(clusterSize); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupNonUniformBitwiseOr(Instruction resultType, Instruction execution, GroupOperation operation, Instruction value, Instruction clusterSize = null) + { + Instruction result = new Instruction(Op.OpGroupNonUniformBitwiseOr, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(operation); + result.AddOperand(value); + if (clusterSize != null) + { + result.AddOperand(clusterSize); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupNonUniformBitwiseXor(Instruction resultType, Instruction execution, GroupOperation operation, Instruction value, Instruction clusterSize = null) + { + Instruction result = new Instruction(Op.OpGroupNonUniformBitwiseXor, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(operation); + result.AddOperand(value); + if (clusterSize != null) + { + result.AddOperand(clusterSize); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupNonUniformLogicalAnd(Instruction resultType, Instruction execution, GroupOperation operation, Instruction value, Instruction clusterSize = null) + { + Instruction result = new Instruction(Op.OpGroupNonUniformLogicalAnd, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(operation); + result.AddOperand(value); + if (clusterSize != null) + { + result.AddOperand(clusterSize); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupNonUniformLogicalOr(Instruction resultType, Instruction execution, GroupOperation operation, Instruction value, Instruction clusterSize = null) + { + Instruction result = new Instruction(Op.OpGroupNonUniformLogicalOr, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(operation); + result.AddOperand(value); + if (clusterSize != null) + { + result.AddOperand(clusterSize); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupNonUniformLogicalXor(Instruction resultType, Instruction execution, GroupOperation operation, Instruction value, Instruction clusterSize = null) + { + Instruction result = new Instruction(Op.OpGroupNonUniformLogicalXor, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(operation); + result.AddOperand(value); + if (clusterSize != null) + { + result.AddOperand(clusterSize); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupNonUniformQuadBroadcast(Instruction resultType, Instruction execution, Instruction value, Instruction index) + { + Instruction result = new Instruction(Op.OpGroupNonUniformQuadBroadcast, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(value); + result.AddOperand(index); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupNonUniformQuadSwap(Instruction resultType, Instruction execution, Instruction value, Instruction direction) + { + Instruction result = new Instruction(Op.OpGroupNonUniformQuadSwap, GetNewId(), resultType); + + result.AddOperand(execution); + result.AddOperand(value); + result.AddOperand(direction); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction GroupNonUniformPartitionNV(Instruction resultType, Instruction value) + { + Instruction result = new Instruction(Op.OpGroupNonUniformPartitionNV, GetNewId(), resultType); + + result.AddOperand(value); + AddToFunctionDefinitions(result); + + return result; + } + + // Reserved + + public Instruction TypeRayQueryProvisionalKHR() + { + Instruction result = new Instruction(Op.OpTypeRayQueryProvisionalKHR, GetNewId()); + + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction RayQueryInitializeKHR(Instruction rayQuery, Instruction accel, Instruction rayFlags, Instruction cullMask, Instruction rayOrigin, Instruction rayTMin, Instruction rayDirection, Instruction rayTMax) + { + Instruction result = new Instruction(Op.OpRayQueryInitializeKHR); + + result.AddOperand(rayQuery); + result.AddOperand(accel); + result.AddOperand(rayFlags); + result.AddOperand(cullMask); + result.AddOperand(rayOrigin); + result.AddOperand(rayTMin); + result.AddOperand(rayDirection); + result.AddOperand(rayTMax); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction RayQueryTerminateKHR(Instruction rayQuery) + { + Instruction result = new Instruction(Op.OpRayQueryTerminateKHR); + + result.AddOperand(rayQuery); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction RayQueryGenerateIntersectionKHR(Instruction rayQuery, Instruction hitT) + { + Instruction result = new Instruction(Op.OpRayQueryGenerateIntersectionKHR); + + result.AddOperand(rayQuery); + result.AddOperand(hitT); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction RayQueryConfirmIntersectionKHR(Instruction rayQuery) + { + Instruction result = new Instruction(Op.OpRayQueryConfirmIntersectionKHR); + + result.AddOperand(rayQuery); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction RayQueryProceedKHR(Instruction resultType, Instruction rayQuery) + { + Instruction result = new Instruction(Op.OpRayQueryProceedKHR, GetNewId(), resultType); + + result.AddOperand(rayQuery); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction RayQueryGetIntersectionTypeKHR(Instruction resultType, Instruction rayQuery, Instruction intersection) + { + Instruction result = new Instruction(Op.OpRayQueryGetIntersectionTypeKHR, GetNewId(), resultType); + + result.AddOperand(rayQuery); + result.AddOperand(intersection); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction FragmentMaskFetchAMD(Instruction resultType, Instruction image, Instruction coordinate) + { + Instruction result = new Instruction(Op.OpFragmentMaskFetchAMD, GetNewId(), resultType); + + result.AddOperand(image); + result.AddOperand(coordinate); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction FragmentFetchAMD(Instruction resultType, Instruction image, Instruction coordinate, Instruction fragmentIndex) + { + Instruction result = new Instruction(Op.OpFragmentFetchAMD, GetNewId(), resultType); + + result.AddOperand(image); + result.AddOperand(coordinate); + result.AddOperand(fragmentIndex); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ReadClockKHR(Instruction resultType, Instruction execution) + { + Instruction result = new Instruction(Op.OpReadClockKHR, GetNewId(), resultType); + + result.AddOperand(execution); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction WritePackedPrimitiveIndices4x8NV(Instruction indexOffset, Instruction packedIndices) + { + Instruction result = new Instruction(Op.OpWritePackedPrimitiveIndices4x8NV); + + result.AddOperand(indexOffset); + result.AddOperand(packedIndices); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ReportIntersectionNV(Instruction resultType, Instruction hit, Instruction hitKind) + { + Instruction result = new Instruction(Op.OpReportIntersectionNV, GetNewId(), resultType); + + result.AddOperand(hit); + result.AddOperand(hitKind); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ReportIntersectionKHR(Instruction resultType, Instruction hit, Instruction hitKind) + { + Instruction result = new Instruction(Op.OpReportIntersectionKHR, GetNewId(), resultType); + + result.AddOperand(hit); + result.AddOperand(hitKind); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction IgnoreIntersectionNV() + { + Instruction result = new Instruction(Op.OpIgnoreIntersectionNV); + + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction IgnoreIntersectionKHR() + { + Instruction result = new Instruction(Op.OpIgnoreIntersectionKHR); + + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction TerminateRayNV() + { + Instruction result = new Instruction(Op.OpTerminateRayNV); + + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction TerminateRayKHR() + { + Instruction result = new Instruction(Op.OpTerminateRayKHR); + + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction TraceNV(Instruction accel, Instruction rayFlags, Instruction cullMask, Instruction sBTOffset, Instruction sBTStride, Instruction missIndex, Instruction rayOrigin, Instruction rayTmin, Instruction rayDirection, Instruction rayTmax, Instruction payloadId) + { + Instruction result = new Instruction(Op.OpTraceNV); + + result.AddOperand(accel); + result.AddOperand(rayFlags); + result.AddOperand(cullMask); + result.AddOperand(sBTOffset); + result.AddOperand(sBTStride); + result.AddOperand(missIndex); + result.AddOperand(rayOrigin); + result.AddOperand(rayTmin); + result.AddOperand(rayDirection); + result.AddOperand(rayTmax); + result.AddOperand(payloadId); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction TraceRayKHR(Instruction accel, Instruction rayFlags, Instruction cullMask, Instruction sBTOffset, Instruction sBTStride, Instruction missIndex, Instruction rayOrigin, Instruction rayTmin, Instruction rayDirection, Instruction rayTmax, Instruction payloadId) + { + Instruction result = new Instruction(Op.OpTraceRayKHR); + + result.AddOperand(accel); + result.AddOperand(rayFlags); + result.AddOperand(cullMask); + result.AddOperand(sBTOffset); + result.AddOperand(sBTStride); + result.AddOperand(missIndex); + result.AddOperand(rayOrigin); + result.AddOperand(rayTmin); + result.AddOperand(rayDirection); + result.AddOperand(rayTmax); + result.AddOperand(payloadId); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction TypeAccelerationStructureNV() + { + Instruction result = new Instruction(Op.OpTypeAccelerationStructureNV, GetNewId()); + + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction TypeAccelerationStructureKHR() + { + Instruction result = new Instruction(Op.OpTypeAccelerationStructureKHR, GetNewId()); + + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ExecuteCallableNV(Instruction sBTIndex, Instruction callableDataId) + { + Instruction result = new Instruction(Op.OpExecuteCallableNV); + + result.AddOperand(sBTIndex); + result.AddOperand(callableDataId); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ExecuteCallableKHR(Instruction sBTIndex, Instruction callableDataId) + { + Instruction result = new Instruction(Op.OpExecuteCallableKHR); + + result.AddOperand(sBTIndex); + result.AddOperand(callableDataId); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction TypeCooperativeMatrixNV(Instruction componentType, Instruction execution, Instruction rows, Instruction columns) + { + Instruction result = new Instruction(Op.OpTypeCooperativeMatrixNV, GetNewId()); + + result.AddOperand(componentType); + result.AddOperand(execution); + result.AddOperand(rows); + result.AddOperand(columns); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction CooperativeMatrixLoadNV(Instruction resultType, Instruction pointer, Instruction stride, Instruction columnMajor, MemoryAccessMask memoryAccess = (MemoryAccessMask)int.MaxValue) + { + Instruction result = new Instruction(Op.OpCooperativeMatrixLoadNV, GetNewId(), resultType); + + result.AddOperand(pointer); + result.AddOperand(stride); + result.AddOperand(columnMajor); + if (memoryAccess != (MemoryAccessMask)int.MaxValue) + { + result.AddOperand(memoryAccess); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction CooperativeMatrixStoreNV(Instruction pointer, Instruction obj, Instruction stride, Instruction columnMajor, MemoryAccessMask memoryAccess = (MemoryAccessMask)int.MaxValue) + { + Instruction result = new Instruction(Op.OpCooperativeMatrixStoreNV); + + result.AddOperand(pointer); + result.AddOperand(obj); + result.AddOperand(stride); + result.AddOperand(columnMajor); + if (memoryAccess != (MemoryAccessMask)int.MaxValue) + { + result.AddOperand(memoryAccess); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction CooperativeMatrixMulAddNV(Instruction resultType, Instruction a, Instruction b, Instruction c) + { + Instruction result = new Instruction(Op.OpCooperativeMatrixMulAddNV, GetNewId(), resultType); + + result.AddOperand(a); + result.AddOperand(b); + result.AddOperand(c); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction CooperativeMatrixLengthNV(Instruction resultType, Instruction type) + { + Instruction result = new Instruction(Op.OpCooperativeMatrixLengthNV, GetNewId(), resultType); + + result.AddOperand(type); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction BeginInvocationInterlockEXT() + { + Instruction result = new Instruction(Op.OpBeginInvocationInterlockEXT); + + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction EndInvocationInterlockEXT() + { + Instruction result = new Instruction(Op.OpEndInvocationInterlockEXT); + + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction DemoteToHelperInvocationEXT() + { + Instruction result = new Instruction(Op.OpDemoteToHelperInvocationEXT); + + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction IsHelperInvocationEXT(Instruction resultType) + { + Instruction result = new Instruction(Op.OpIsHelperInvocationEXT, GetNewId(), resultType); + + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction UCountLeadingZerosINTEL(Instruction resultType, Instruction operand) + { + Instruction result = new Instruction(Op.OpUCountLeadingZerosINTEL, GetNewId(), resultType); + + result.AddOperand(operand); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction UCountTrailingZerosINTEL(Instruction resultType, Instruction operand) + { + Instruction result = new Instruction(Op.OpUCountTrailingZerosINTEL, GetNewId(), resultType); + + result.AddOperand(operand); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction AbsISubINTEL(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpAbsISubINTEL, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction AbsUSubINTEL(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpAbsUSubINTEL, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction IAddSatINTEL(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpIAddSatINTEL, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction UAddSatINTEL(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpUAddSatINTEL, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction IAverageINTEL(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpIAverageINTEL, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction UAverageINTEL(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpUAverageINTEL, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction IAverageRoundedINTEL(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpIAverageRoundedINTEL, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction UAverageRoundedINTEL(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpUAverageRoundedINTEL, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ISubSatINTEL(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpISubSatINTEL, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction USubSatINTEL(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpUSubSatINTEL, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction IMul32x16INTEL(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpIMul32x16INTEL, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction UMul32x16INTEL(Instruction resultType, Instruction operand1, Instruction operand2) + { + Instruction result = new Instruction(Op.OpUMul32x16INTEL, GetNewId(), resultType); + + result.AddOperand(operand1); + result.AddOperand(operand2); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction RayQueryGetRayTMinKHR(Instruction resultType, Instruction rayQuery) + { + Instruction result = new Instruction(Op.OpRayQueryGetRayTMinKHR, GetNewId(), resultType); + + result.AddOperand(rayQuery); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction RayQueryGetRayFlagsKHR(Instruction resultType, Instruction rayQuery) + { + Instruction result = new Instruction(Op.OpRayQueryGetRayFlagsKHR, GetNewId(), resultType); + + result.AddOperand(rayQuery); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction RayQueryGetIntersectionTKHR(Instruction resultType, Instruction rayQuery, Instruction intersection) + { + Instruction result = new Instruction(Op.OpRayQueryGetIntersectionTKHR, GetNewId(), resultType); + + result.AddOperand(rayQuery); + result.AddOperand(intersection); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction RayQueryGetIntersectionInstanceCustomIndexKHR(Instruction resultType, Instruction rayQuery, Instruction intersection) + { + Instruction result = new Instruction(Op.OpRayQueryGetIntersectionInstanceCustomIndexKHR, GetNewId(), resultType); + + result.AddOperand(rayQuery); + result.AddOperand(intersection); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction RayQueryGetIntersectionInstanceIdKHR(Instruction resultType, Instruction rayQuery, Instruction intersection) + { + Instruction result = new Instruction(Op.OpRayQueryGetIntersectionInstanceIdKHR, GetNewId(), resultType); + + result.AddOperand(rayQuery); + result.AddOperand(intersection); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction RayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR(Instruction resultType, Instruction rayQuery, Instruction intersection) + { + Instruction result = new Instruction(Op.OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR, GetNewId(), resultType); + + result.AddOperand(rayQuery); + result.AddOperand(intersection); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction RayQueryGetIntersectionGeometryIndexKHR(Instruction resultType, Instruction rayQuery, Instruction intersection) + { + Instruction result = new Instruction(Op.OpRayQueryGetIntersectionGeometryIndexKHR, GetNewId(), resultType); + + result.AddOperand(rayQuery); + result.AddOperand(intersection); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction RayQueryGetIntersectionPrimitiveIndexKHR(Instruction resultType, Instruction rayQuery, Instruction intersection) + { + Instruction result = new Instruction(Op.OpRayQueryGetIntersectionPrimitiveIndexKHR, GetNewId(), resultType); + + result.AddOperand(rayQuery); + result.AddOperand(intersection); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction RayQueryGetIntersectionBarycentricsKHR(Instruction resultType, Instruction rayQuery, Instruction intersection) + { + Instruction result = new Instruction(Op.OpRayQueryGetIntersectionBarycentricsKHR, GetNewId(), resultType); + + result.AddOperand(rayQuery); + result.AddOperand(intersection); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction RayQueryGetIntersectionFrontFaceKHR(Instruction resultType, Instruction rayQuery, Instruction intersection) + { + Instruction result = new Instruction(Op.OpRayQueryGetIntersectionFrontFaceKHR, GetNewId(), resultType); + + result.AddOperand(rayQuery); + result.AddOperand(intersection); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction RayQueryGetIntersectionCandidateAABBOpaqueKHR(Instruction resultType, Instruction rayQuery) + { + Instruction result = new Instruction(Op.OpRayQueryGetIntersectionCandidateAABBOpaqueKHR, GetNewId(), resultType); + + result.AddOperand(rayQuery); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction RayQueryGetIntersectionObjectRayDirectionKHR(Instruction resultType, Instruction rayQuery, Instruction intersection) + { + Instruction result = new Instruction(Op.OpRayQueryGetIntersectionObjectRayDirectionKHR, GetNewId(), resultType); + + result.AddOperand(rayQuery); + result.AddOperand(intersection); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction RayQueryGetIntersectionObjectRayOriginKHR(Instruction resultType, Instruction rayQuery, Instruction intersection) + { + Instruction result = new Instruction(Op.OpRayQueryGetIntersectionObjectRayOriginKHR, GetNewId(), resultType); + + result.AddOperand(rayQuery); + result.AddOperand(intersection); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction RayQueryGetWorldRayDirectionKHR(Instruction resultType, Instruction rayQuery) + { + Instruction result = new Instruction(Op.OpRayQueryGetWorldRayDirectionKHR, GetNewId(), resultType); + + result.AddOperand(rayQuery); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction RayQueryGetWorldRayOriginKHR(Instruction resultType, Instruction rayQuery) + { + Instruction result = new Instruction(Op.OpRayQueryGetWorldRayOriginKHR, GetNewId(), resultType); + + result.AddOperand(rayQuery); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction RayQueryGetIntersectionObjectToWorldKHR(Instruction resultType, Instruction rayQuery, Instruction intersection) + { + Instruction result = new Instruction(Op.OpRayQueryGetIntersectionObjectToWorldKHR, GetNewId(), resultType); + + result.AddOperand(rayQuery); + result.AddOperand(intersection); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction RayQueryGetIntersectionWorldToObjectKHR(Instruction resultType, Instruction rayQuery, Instruction intersection) + { + Instruction result = new Instruction(Op.OpRayQueryGetIntersectionWorldToObjectKHR, GetNewId(), resultType); + + result.AddOperand(rayQuery); + result.AddOperand(intersection); + AddToFunctionDefinitions(result); + + return result; + } + + } +} diff --git a/SpvGen/Autogenerated/spirv.cs b/SpvGen/Autogenerated/spirv.cs new file mode 100644 index 000000000..82d73e3c9 --- /dev/null +++ b/SpvGen/Autogenerated/spirv.cs @@ -0,0 +1,1548 @@ +// Copyright (c) 2014-2020 The Khronos Group Inc. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and/or associated documentation files (the "Materials"), +// to deal in the Materials without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Materials, and to permit persons to whom the +// Materials are furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Materials. +// +// MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS +// STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND +// HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ +// +// THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS +// IN THE MATERIALS. + +// This header is automatically generated by the same tool that creates +// the Binary Section of the SPIR-V specification. + +// Enumeration tokens for SPIR-V, in various styles: +// C, C++, C++11, JSON, Lua, Python, C#, D +// +// - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL +// - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL +// - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL +// - Lua will use tables, e.g.: spv.SourceLanguage.GLSL +// - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL'] +// - C# will use enum classes in the Specification class located in the "Spv" namespace, +// e.g.: Spv.Specification.SourceLanguage.GLSL +// - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL +// +// Some tokens act like mask values, which can be OR'd together, +// while others are mutually exclusive. The mask-like ones have +// "Mask" in their name, and a parallel enum that has the shift +// amount (1 << x) for each corresponding enumerant. + +namespace Spv +{ + + public static class Specification + { + public const uint MagicNumber = 0x07230203; + public const uint Version = 0x00010500; + public const uint Revision = 3; + public const uint OpCodeMask = 0xffff; + public const uint WordCountShift = 16; + + public enum SourceLanguage + { + Unknown = 0, + ESSL = 1, + GLSL = 2, + OpenCL_C = 3, + OpenCL_CPP = 4, + HLSL = 5, + } + + public enum ExecutionModel + { + Vertex = 0, + TessellationControl = 1, + TessellationEvaluation = 2, + Geometry = 3, + Fragment = 4, + GLCompute = 5, + Kernel = 6, + TaskNV = 5267, + MeshNV = 5268, + RayGenerationKHR = 5313, + RayGenerationNV = 5313, + IntersectionKHR = 5314, + IntersectionNV = 5314, + AnyHitKHR = 5315, + AnyHitNV = 5315, + ClosestHitKHR = 5316, + ClosestHitNV = 5316, + MissKHR = 5317, + MissNV = 5317, + CallableKHR = 5318, + CallableNV = 5318, + } + + public enum AddressingModel + { + Logical = 0, + Physical32 = 1, + Physical64 = 2, + PhysicalStorageBuffer64 = 5348, + PhysicalStorageBuffer64EXT = 5348, + } + + public enum MemoryModel + { + Simple = 0, + GLSL450 = 1, + OpenCL = 2, + Vulkan = 3, + VulkanKHR = 3, + } + + public enum ExecutionMode + { + Invocations = 0, + SpacingEqual = 1, + SpacingFractionalEven = 2, + SpacingFractionalOdd = 3, + VertexOrderCw = 4, + VertexOrderCcw = 5, + PixelCenterInteger = 6, + OriginUpperLeft = 7, + OriginLowerLeft = 8, + EarlyFragmentTests = 9, + PointMode = 10, + Xfb = 11, + DepthReplacing = 12, + DepthGreater = 14, + DepthLess = 15, + DepthUnchanged = 16, + LocalSize = 17, + LocalSizeHint = 18, + InputPoints = 19, + InputLines = 20, + InputLinesAdjacency = 21, + Triangles = 22, + InputTrianglesAdjacency = 23, + Quads = 24, + Isolines = 25, + OutputVertices = 26, + OutputPoints = 27, + OutputLineStrip = 28, + OutputTriangleStrip = 29, + VecTypeHint = 30, + ContractionOff = 31, + Initializer = 33, + Finalizer = 34, + SubgroupSize = 35, + SubgroupsPerWorkgroup = 36, + SubgroupsPerWorkgroupId = 37, + LocalSizeId = 38, + LocalSizeHintId = 39, + PostDepthCoverage = 4446, + DenormPreserve = 4459, + DenormFlushToZero = 4460, + SignedZeroInfNanPreserve = 4461, + RoundingModeRTE = 4462, + RoundingModeRTZ = 4463, + StencilRefReplacingEXT = 5027, + OutputLinesNV = 5269, + OutputPrimitivesNV = 5270, + DerivativeGroupQuadsNV = 5289, + DerivativeGroupLinearNV = 5290, + OutputTrianglesNV = 5298, + PixelInterlockOrderedEXT = 5366, + PixelInterlockUnorderedEXT = 5367, + SampleInterlockOrderedEXT = 5368, + SampleInterlockUnorderedEXT = 5369, + ShadingRateInterlockOrderedEXT = 5370, + ShadingRateInterlockUnorderedEXT = 5371, + } + + public enum StorageClass + { + UniformConstant = 0, + Input = 1, + Uniform = 2, + Output = 3, + Workgroup = 4, + CrossWorkgroup = 5, + Private = 6, + Function = 7, + Generic = 8, + PushConstant = 9, + AtomicCounter = 10, + Image = 11, + StorageBuffer = 12, + CallableDataKHR = 5328, + CallableDataNV = 5328, + IncomingCallableDataKHR = 5329, + IncomingCallableDataNV = 5329, + RayPayloadKHR = 5338, + RayPayloadNV = 5338, + HitAttributeKHR = 5339, + HitAttributeNV = 5339, + IncomingRayPayloadKHR = 5342, + IncomingRayPayloadNV = 5342, + ShaderRecordBufferKHR = 5343, + ShaderRecordBufferNV = 5343, + PhysicalStorageBuffer = 5349, + PhysicalStorageBufferEXT = 5349, + } + + public enum Dim + { + Dim1D = 0, + Dim2D = 1, + Dim3D = 2, + Cube = 3, + Rect = 4, + Buffer = 5, + SubpassData = 6, + } + + public enum SamplerAddressingMode + { + None = 0, + ClampToEdge = 1, + Clamp = 2, + Repeat = 3, + RepeatMirrored = 4, + } + + public enum SamplerFilterMode + { + Nearest = 0, + Linear = 1, + } + + public enum ImageFormat + { + Unknown = 0, + Rgba32f = 1, + Rgba16f = 2, + R32f = 3, + Rgba8 = 4, + Rgba8Snorm = 5, + Rg32f = 6, + Rg16f = 7, + R11fG11fB10f = 8, + R16f = 9, + Rgba16 = 10, + Rgb10A2 = 11, + Rg16 = 12, + Rg8 = 13, + R16 = 14, + R8 = 15, + Rgba16Snorm = 16, + Rg16Snorm = 17, + Rg8Snorm = 18, + R16Snorm = 19, + R8Snorm = 20, + Rgba32i = 21, + Rgba16i = 22, + Rgba8i = 23, + R32i = 24, + Rg32i = 25, + Rg16i = 26, + Rg8i = 27, + R16i = 28, + R8i = 29, + Rgba32ui = 30, + Rgba16ui = 31, + Rgba8ui = 32, + R32ui = 33, + Rgb10a2ui = 34, + Rg32ui = 35, + Rg16ui = 36, + Rg8ui = 37, + R16ui = 38, + R8ui = 39, + } + + public enum ImageChannelOrder + { + R = 0, + A = 1, + RG = 2, + RA = 3, + RGB = 4, + RGBA = 5, + BGRA = 6, + ARGB = 7, + Intensity = 8, + Luminance = 9, + Rx = 10, + RGx = 11, + RGBx = 12, + Depth = 13, + DepthStencil = 14, + sRGB = 15, + sRGBx = 16, + sRGBA = 17, + sBGRA = 18, + ABGR = 19, + } + + public enum ImageChannelDataType + { + SnormInt8 = 0, + SnormInt16 = 1, + UnormInt8 = 2, + UnormInt16 = 3, + UnormShort565 = 4, + UnormShort555 = 5, + UnormInt101010 = 6, + SignedInt8 = 7, + SignedInt16 = 8, + SignedInt32 = 9, + UnsignedInt8 = 10, + UnsignedInt16 = 11, + UnsignedInt32 = 12, + HalfFloat = 13, + Float = 14, + UnormInt24 = 15, + UnormInt101010_2 = 16, + } + + public enum ImageOperandsShift + { + Bias = 0, + Lod = 1, + Grad = 2, + ConstOffset = 3, + Offset = 4, + ConstOffsets = 5, + Sample = 6, + MinLod = 7, + MakeTexelAvailable = 8, + MakeTexelAvailableKHR = 8, + MakeTexelVisible = 9, + MakeTexelVisibleKHR = 9, + NonPrivateTexel = 10, + NonPrivateTexelKHR = 10, + VolatileTexel = 11, + VolatileTexelKHR = 11, + SignExtend = 12, + ZeroExtend = 13, + } + + public enum ImageOperandsMask + { + MaskNone = 0, + Bias = 0x00000001, + Lod = 0x00000002, + Grad = 0x00000004, + ConstOffset = 0x00000008, + Offset = 0x00000010, + ConstOffsets = 0x00000020, + Sample = 0x00000040, + MinLod = 0x00000080, + MakeTexelAvailable = 0x00000100, + MakeTexelAvailableKHR = 0x00000100, + MakeTexelVisible = 0x00000200, + MakeTexelVisibleKHR = 0x00000200, + NonPrivateTexel = 0x00000400, + NonPrivateTexelKHR = 0x00000400, + VolatileTexel = 0x00000800, + VolatileTexelKHR = 0x00000800, + SignExtend = 0x00001000, + ZeroExtend = 0x00002000, + } + + public enum FPFastMathModeShift + { + NotNaN = 0, + NotInf = 1, + NSZ = 2, + AllowRecip = 3, + Fast = 4, + } + + public enum FPFastMathModeMask + { + MaskNone = 0, + NotNaN = 0x00000001, + NotInf = 0x00000002, + NSZ = 0x00000004, + AllowRecip = 0x00000008, + Fast = 0x00000010, + } + + public enum FPRoundingMode + { + RTE = 0, + RTZ = 1, + RTP = 2, + RTN = 3, + } + + public enum LinkageType + { + Export = 0, + Import = 1, + } + + public enum AccessQualifier + { + ReadOnly = 0, + WriteOnly = 1, + ReadWrite = 2, + } + + public enum FunctionParameterAttribute + { + Zext = 0, + Sext = 1, + ByVal = 2, + Sret = 3, + NoAlias = 4, + NoCapture = 5, + NoWrite = 6, + NoReadWrite = 7, + } + + public enum Decoration + { + RelaxedPrecision = 0, + SpecId = 1, + Block = 2, + BufferBlock = 3, + RowMajor = 4, + ColMajor = 5, + ArrayStride = 6, + MatrixStride = 7, + GLSLShared = 8, + GLSLPacked = 9, + CPacked = 10, + BuiltIn = 11, + NoPerspective = 13, + Flat = 14, + Patch = 15, + Centroid = 16, + Sample = 17, + Invariant = 18, + Restrict = 19, + Aliased = 20, + Volatile = 21, + Constant = 22, + Coherent = 23, + NonWritable = 24, + NonReadable = 25, + Uniform = 26, + UniformId = 27, + SaturatedConversion = 28, + Stream = 29, + Location = 30, + Component = 31, + Index = 32, + Binding = 33, + DescriptorSet = 34, + Offset = 35, + XfbBuffer = 36, + XfbStride = 37, + FuncParamAttr = 38, + FPRoundingMode = 39, + FPFastMathMode = 40, + LinkageAttributes = 41, + NoContraction = 42, + InputAttachmentIndex = 43, + Alignment = 44, + MaxByteOffset = 45, + AlignmentId = 46, + MaxByteOffsetId = 47, + NoSignedWrap = 4469, + NoUnsignedWrap = 4470, + ExplicitInterpAMD = 4999, + OverrideCoverageNV = 5248, + PassthroughNV = 5250, + ViewportRelativeNV = 5252, + SecondaryViewportRelativeNV = 5256, + PerPrimitiveNV = 5271, + PerViewNV = 5272, + PerTaskNV = 5273, + PerVertexNV = 5285, + NonUniform = 5300, + NonUniformEXT = 5300, + RestrictPointer = 5355, + RestrictPointerEXT = 5355, + AliasedPointer = 5356, + AliasedPointerEXT = 5356, + CounterBuffer = 5634, + HlslCounterBufferGOOGLE = 5634, + HlslSemanticGOOGLE = 5635, + UserSemantic = 5635, + UserTypeGOOGLE = 5636, + } + + public enum BuiltIn + { + Position = 0, + PointSize = 1, + ClipDistance = 3, + CullDistance = 4, + VertexId = 5, + InstanceId = 6, + PrimitiveId = 7, + InvocationId = 8, + Layer = 9, + ViewportIndex = 10, + TessLevelOuter = 11, + TessLevelInner = 12, + TessCoord = 13, + PatchVertices = 14, + FragCoord = 15, + PointCoord = 16, + FrontFacing = 17, + SampleId = 18, + SamplePosition = 19, + SampleMask = 20, + FragDepth = 22, + HelperInvocation = 23, + NumWorkgroups = 24, + WorkgroupSize = 25, + WorkgroupId = 26, + LocalInvocationId = 27, + GlobalInvocationId = 28, + LocalInvocationIndex = 29, + WorkDim = 30, + GlobalSize = 31, + EnqueuedWorkgroupSize = 32, + GlobalOffset = 33, + GlobalLinearId = 34, + SubgroupSize = 36, + SubgroupMaxSize = 37, + NumSubgroups = 38, + NumEnqueuedSubgroups = 39, + SubgroupId = 40, + SubgroupLocalInvocationId = 41, + VertexIndex = 42, + InstanceIndex = 43, + SubgroupEqMask = 4416, + SubgroupEqMaskKHR = 4416, + SubgroupGeMask = 4417, + SubgroupGeMaskKHR = 4417, + SubgroupGtMask = 4418, + SubgroupGtMaskKHR = 4418, + SubgroupLeMask = 4419, + SubgroupLeMaskKHR = 4419, + SubgroupLtMask = 4420, + SubgroupLtMaskKHR = 4420, + BaseVertex = 4424, + BaseInstance = 4425, + DrawIndex = 4426, + DeviceIndex = 4438, + ViewIndex = 4440, + BaryCoordNoPerspAMD = 4992, + BaryCoordNoPerspCentroidAMD = 4993, + BaryCoordNoPerspSampleAMD = 4994, + BaryCoordSmoothAMD = 4995, + BaryCoordSmoothCentroidAMD = 4996, + BaryCoordSmoothSampleAMD = 4997, + BaryCoordPullModelAMD = 4998, + FragStencilRefEXT = 5014, + ViewportMaskNV = 5253, + SecondaryPositionNV = 5257, + SecondaryViewportMaskNV = 5258, + PositionPerViewNV = 5261, + ViewportMaskPerViewNV = 5262, + FullyCoveredEXT = 5264, + TaskCountNV = 5274, + PrimitiveCountNV = 5275, + PrimitiveIndicesNV = 5276, + ClipDistancePerViewNV = 5277, + CullDistancePerViewNV = 5278, + LayerPerViewNV = 5279, + MeshViewCountNV = 5280, + MeshViewIndicesNV = 5281, + BaryCoordNV = 5286, + BaryCoordNoPerspNV = 5287, + FragSizeEXT = 5292, + FragmentSizeNV = 5292, + FragInvocationCountEXT = 5293, + InvocationsPerPixelNV = 5293, + LaunchIdKHR = 5319, + LaunchIdNV = 5319, + LaunchSizeKHR = 5320, + LaunchSizeNV = 5320, + WorldRayOriginKHR = 5321, + WorldRayOriginNV = 5321, + WorldRayDirectionKHR = 5322, + WorldRayDirectionNV = 5322, + ObjectRayOriginKHR = 5323, + ObjectRayOriginNV = 5323, + ObjectRayDirectionKHR = 5324, + ObjectRayDirectionNV = 5324, + RayTminKHR = 5325, + RayTminNV = 5325, + RayTmaxKHR = 5326, + RayTmaxNV = 5326, + InstanceCustomIndexKHR = 5327, + InstanceCustomIndexNV = 5327, + ObjectToWorldKHR = 5330, + ObjectToWorldNV = 5330, + WorldToObjectKHR = 5331, + WorldToObjectNV = 5331, + HitTKHR = 5332, + HitTNV = 5332, + HitKindKHR = 5333, + HitKindNV = 5333, + IncomingRayFlagsKHR = 5351, + IncomingRayFlagsNV = 5351, + RayGeometryIndexKHR = 5352, + WarpsPerSMNV = 5374, + SMCountNV = 5375, + WarpIDNV = 5376, + SMIDNV = 5377, + } + + public enum SelectionControlShift + { + Flatten = 0, + DontFlatten = 1, + } + + public enum SelectionControlMask + { + MaskNone = 0, + Flatten = 0x00000001, + DontFlatten = 0x00000002, + } + + public enum LoopControlShift + { + Unroll = 0, + DontUnroll = 1, + DependencyInfinite = 2, + DependencyLength = 3, + MinIterations = 4, + MaxIterations = 5, + IterationMultiple = 6, + PeelCount = 7, + PartialCount = 8, + } + + public enum LoopControlMask + { + MaskNone = 0, + Unroll = 0x00000001, + DontUnroll = 0x00000002, + DependencyInfinite = 0x00000004, + DependencyLength = 0x00000008, + MinIterations = 0x00000010, + MaxIterations = 0x00000020, + IterationMultiple = 0x00000040, + PeelCount = 0x00000080, + PartialCount = 0x00000100, + } + + public enum FunctionControlShift + { + Inline = 0, + DontInline = 1, + Pure = 2, + Const = 3, + } + + public enum FunctionControlMask + { + MaskNone = 0, + Inline = 0x00000001, + DontInline = 0x00000002, + Pure = 0x00000004, + Const = 0x00000008, + } + + public enum MemorySemanticsShift + { + Acquire = 1, + Release = 2, + AcquireRelease = 3, + SequentiallyConsistent = 4, + UniformMemory = 6, + SubgroupMemory = 7, + WorkgroupMemory = 8, + CrossWorkgroupMemory = 9, + AtomicCounterMemory = 10, + ImageMemory = 11, + OutputMemory = 12, + OutputMemoryKHR = 12, + MakeAvailable = 13, + MakeAvailableKHR = 13, + MakeVisible = 14, + MakeVisibleKHR = 14, + Volatile = 15, + } + + public enum MemorySemanticsMask + { + MaskNone = 0, + Acquire = 0x00000002, + Release = 0x00000004, + AcquireRelease = 0x00000008, + SequentiallyConsistent = 0x00000010, + UniformMemory = 0x00000040, + SubgroupMemory = 0x00000080, + WorkgroupMemory = 0x00000100, + CrossWorkgroupMemory = 0x00000200, + AtomicCounterMemory = 0x00000400, + ImageMemory = 0x00000800, + OutputMemory = 0x00001000, + OutputMemoryKHR = 0x00001000, + MakeAvailable = 0x00002000, + MakeAvailableKHR = 0x00002000, + MakeVisible = 0x00004000, + MakeVisibleKHR = 0x00004000, + Volatile = 0x00008000, + } + + public enum MemoryAccessShift + { + Volatile = 0, + Aligned = 1, + Nontemporal = 2, + MakePointerAvailable = 3, + MakePointerAvailableKHR = 3, + MakePointerVisible = 4, + MakePointerVisibleKHR = 4, + NonPrivatePointer = 5, + NonPrivatePointerKHR = 5, + } + + public enum MemoryAccessMask + { + MaskNone = 0, + Volatile = 0x00000001, + Aligned = 0x00000002, + Nontemporal = 0x00000004, + MakePointerAvailable = 0x00000008, + MakePointerAvailableKHR = 0x00000008, + MakePointerVisible = 0x00000010, + MakePointerVisibleKHR = 0x00000010, + NonPrivatePointer = 0x00000020, + NonPrivatePointerKHR = 0x00000020, + } + + public enum Scope + { + CrossDevice = 0, + Device = 1, + Workgroup = 2, + Subgroup = 3, + Invocation = 4, + QueueFamily = 5, + QueueFamilyKHR = 5, + ShaderCallKHR = 6, + } + + public enum GroupOperation + { + Reduce = 0, + InclusiveScan = 1, + ExclusiveScan = 2, + ClusteredReduce = 3, + PartitionedReduceNV = 6, + PartitionedInclusiveScanNV = 7, + PartitionedExclusiveScanNV = 8, + } + + public enum KernelEnqueueFlags + { + NoWait = 0, + WaitKernel = 1, + WaitWorkGroup = 2, + } + + public enum KernelProfilingInfoShift + { + CmdExecTime = 0, + } + + public enum KernelProfilingInfoMask + { + MaskNone = 0, + CmdExecTime = 0x00000001, + } + + public enum Capability + { + Matrix = 0, + Shader = 1, + Geometry = 2, + Tessellation = 3, + Addresses = 4, + Linkage = 5, + Kernel = 6, + Vector16 = 7, + Float16Buffer = 8, + Float16 = 9, + Float64 = 10, + Int64 = 11, + Int64Atomics = 12, + ImageBasic = 13, + ImageReadWrite = 14, + ImageMipmap = 15, + Pipes = 17, + Groups = 18, + DeviceEnqueue = 19, + LiteralSampler = 20, + AtomicStorage = 21, + Int16 = 22, + TessellationPointSize = 23, + GeometryPointSize = 24, + ImageGatherExtended = 25, + StorageImageMultisample = 27, + UniformBufferArrayDynamicIndexing = 28, + SampledImageArrayDynamicIndexing = 29, + StorageBufferArrayDynamicIndexing = 30, + StorageImageArrayDynamicIndexing = 31, + ClipDistance = 32, + CullDistance = 33, + ImageCubeArray = 34, + SampleRateShading = 35, + ImageRect = 36, + SampledRect = 37, + GenericPointer = 38, + Int8 = 39, + InputAttachment = 40, + SparseResidency = 41, + MinLod = 42, + Sampled1D = 43, + Image1D = 44, + SampledCubeArray = 45, + SampledBuffer = 46, + ImageBuffer = 47, + ImageMSArray = 48, + StorageImageExtendedFormats = 49, + ImageQuery = 50, + DerivativeControl = 51, + InterpolationFunction = 52, + TransformFeedback = 53, + GeometryStreams = 54, + StorageImageReadWithoutFormat = 55, + StorageImageWriteWithoutFormat = 56, + MultiViewport = 57, + SubgroupDispatch = 58, + NamedBarrier = 59, + PipeStorage = 60, + GroupNonUniform = 61, + GroupNonUniformVote = 62, + GroupNonUniformArithmetic = 63, + GroupNonUniformBallot = 64, + GroupNonUniformShuffle = 65, + GroupNonUniformShuffleRelative = 66, + GroupNonUniformClustered = 67, + GroupNonUniformQuad = 68, + ShaderLayer = 69, + ShaderViewportIndex = 70, + SubgroupBallotKHR = 4423, + DrawParameters = 4427, + SubgroupVoteKHR = 4431, + StorageBuffer16BitAccess = 4433, + StorageUniformBufferBlock16 = 4433, + StorageUniform16 = 4434, + UniformAndStorageBuffer16BitAccess = 4434, + StoragePushConstant16 = 4435, + StorageInputOutput16 = 4436, + DeviceGroup = 4437, + MultiView = 4439, + VariablePointersStorageBuffer = 4441, + VariablePointers = 4442, + AtomicStorageOps = 4445, + SampleMaskPostDepthCoverage = 4447, + StorageBuffer8BitAccess = 4448, + UniformAndStorageBuffer8BitAccess = 4449, + StoragePushConstant8 = 4450, + DenormPreserve = 4464, + DenormFlushToZero = 4465, + SignedZeroInfNanPreserve = 4466, + RoundingModeRTE = 4467, + RoundingModeRTZ = 4468, + RayQueryProvisionalKHR = 4471, + RayTraversalPrimitiveCullingProvisionalKHR = 4478, + Float16ImageAMD = 5008, + ImageGatherBiasLodAMD = 5009, + FragmentMaskAMD = 5010, + StencilExportEXT = 5013, + ImageReadWriteLodAMD = 5015, + ShaderClockKHR = 5055, + SampleMaskOverrideCoverageNV = 5249, + GeometryShaderPassthroughNV = 5251, + ShaderViewportIndexLayerEXT = 5254, + ShaderViewportIndexLayerNV = 5254, + ShaderViewportMaskNV = 5255, + ShaderStereoViewNV = 5259, + PerViewAttributesNV = 5260, + FragmentFullyCoveredEXT = 5265, + MeshShadingNV = 5266, + ImageFootprintNV = 5282, + FragmentBarycentricNV = 5284, + ComputeDerivativeGroupQuadsNV = 5288, + FragmentDensityEXT = 5291, + ShadingRateNV = 5291, + GroupNonUniformPartitionedNV = 5297, + ShaderNonUniform = 5301, + ShaderNonUniformEXT = 5301, + RuntimeDescriptorArray = 5302, + RuntimeDescriptorArrayEXT = 5302, + InputAttachmentArrayDynamicIndexing = 5303, + InputAttachmentArrayDynamicIndexingEXT = 5303, + UniformTexelBufferArrayDynamicIndexing = 5304, + UniformTexelBufferArrayDynamicIndexingEXT = 5304, + StorageTexelBufferArrayDynamicIndexing = 5305, + StorageTexelBufferArrayDynamicIndexingEXT = 5305, + UniformBufferArrayNonUniformIndexing = 5306, + UniformBufferArrayNonUniformIndexingEXT = 5306, + SampledImageArrayNonUniformIndexing = 5307, + SampledImageArrayNonUniformIndexingEXT = 5307, + StorageBufferArrayNonUniformIndexing = 5308, + StorageBufferArrayNonUniformIndexingEXT = 5308, + StorageImageArrayNonUniformIndexing = 5309, + StorageImageArrayNonUniformIndexingEXT = 5309, + InputAttachmentArrayNonUniformIndexing = 5310, + InputAttachmentArrayNonUniformIndexingEXT = 5310, + UniformTexelBufferArrayNonUniformIndexing = 5311, + UniformTexelBufferArrayNonUniformIndexingEXT = 5311, + StorageTexelBufferArrayNonUniformIndexing = 5312, + StorageTexelBufferArrayNonUniformIndexingEXT = 5312, + RayTracingNV = 5340, + VulkanMemoryModel = 5345, + VulkanMemoryModelKHR = 5345, + VulkanMemoryModelDeviceScope = 5346, + VulkanMemoryModelDeviceScopeKHR = 5346, + PhysicalStorageBufferAddresses = 5347, + PhysicalStorageBufferAddressesEXT = 5347, + ComputeDerivativeGroupLinearNV = 5350, + RayTracingProvisionalKHR = 5353, + CooperativeMatrixNV = 5357, + FragmentShaderSampleInterlockEXT = 5363, + FragmentShaderShadingRateInterlockEXT = 5372, + ShaderSMBuiltinsNV = 5373, + FragmentShaderPixelInterlockEXT = 5378, + DemoteToHelperInvocationEXT = 5379, + SubgroupShuffleINTEL = 5568, + SubgroupBufferBlockIOINTEL = 5569, + SubgroupImageBlockIOINTEL = 5570, + SubgroupImageMediaBlockIOINTEL = 5579, + IntegerFunctions2INTEL = 5584, + SubgroupAvcMotionEstimationINTEL = 5696, + SubgroupAvcMotionEstimationIntraINTEL = 5697, + SubgroupAvcMotionEstimationChromaINTEL = 5698, + } + + public enum RayFlagsShift + { + OpaqueKHR = 0, + NoOpaqueKHR = 1, + TerminateOnFirstHitKHR = 2, + SkipClosestHitShaderKHR = 3, + CullBackFacingTrianglesKHR = 4, + CullFrontFacingTrianglesKHR = 5, + CullOpaqueKHR = 6, + CullNoOpaqueKHR = 7, + SkipTrianglesKHR = 8, + SkipAABBsKHR = 9, + } + + public enum RayFlagsMask + { + MaskNone = 0, + OpaqueKHR = 0x00000001, + NoOpaqueKHR = 0x00000002, + TerminateOnFirstHitKHR = 0x00000004, + SkipClosestHitShaderKHR = 0x00000008, + CullBackFacingTrianglesKHR = 0x00000010, + CullFrontFacingTrianglesKHR = 0x00000020, + CullOpaqueKHR = 0x00000040, + CullNoOpaqueKHR = 0x00000080, + SkipTrianglesKHR = 0x00000100, + SkipAABBsKHR = 0x00000200, + } + + public enum RayQueryIntersection + { + RayQueryCandidateIntersectionKHR = 0, + RayQueryCommittedIntersectionKHR = 1, + } + + public enum RayQueryCommittedIntersectionType + { + RayQueryCommittedIntersectionNoneKHR = 0, + RayQueryCommittedIntersectionTriangleKHR = 1, + RayQueryCommittedIntersectionGeneratedKHR = 2, + } + + public enum RayQueryCandidateIntersectionType + { + RayQueryCandidateIntersectionTriangleKHR = 0, + RayQueryCandidateIntersectionAABBKHR = 1, + } + + public enum Op + { + OpNop = 0, + OpUndef = 1, + OpSourceContinued = 2, + OpSource = 3, + OpSourceExtension = 4, + OpName = 5, + OpMemberName = 6, + OpString = 7, + OpLine = 8, + OpExtension = 10, + OpExtInstImport = 11, + OpExtInst = 12, + OpMemoryModel = 14, + OpEntryPoint = 15, + OpExecutionMode = 16, + OpCapability = 17, + OpTypeVoid = 19, + OpTypeBool = 20, + OpTypeInt = 21, + OpTypeFloat = 22, + OpTypeVector = 23, + OpTypeMatrix = 24, + OpTypeImage = 25, + OpTypeSampler = 26, + OpTypeSampledImage = 27, + OpTypeArray = 28, + OpTypeRuntimeArray = 29, + OpTypeStruct = 30, + OpTypeOpaque = 31, + OpTypePointer = 32, + OpTypeFunction = 33, + OpTypeEvent = 34, + OpTypeDeviceEvent = 35, + OpTypeReserveId = 36, + OpTypeQueue = 37, + OpTypePipe = 38, + OpTypeForwardPointer = 39, + OpConstantTrue = 41, + OpConstantFalse = 42, + OpConstant = 43, + OpConstantComposite = 44, + OpConstantSampler = 45, + OpConstantNull = 46, + OpSpecConstantTrue = 48, + OpSpecConstantFalse = 49, + OpSpecConstant = 50, + OpSpecConstantComposite = 51, + OpSpecConstantOp = 52, + OpFunction = 54, + OpFunctionParameter = 55, + OpFunctionEnd = 56, + OpFunctionCall = 57, + OpVariable = 59, + OpImageTexelPointer = 60, + OpLoad = 61, + OpStore = 62, + OpCopyMemory = 63, + OpCopyMemorySized = 64, + OpAccessChain = 65, + OpInBoundsAccessChain = 66, + OpPtrAccessChain = 67, + OpArrayLength = 68, + OpGenericPtrMemSemantics = 69, + OpInBoundsPtrAccessChain = 70, + OpDecorate = 71, + OpMemberDecorate = 72, + OpDecorationGroup = 73, + OpGroupDecorate = 74, + OpGroupMemberDecorate = 75, + OpVectorExtractDynamic = 77, + OpVectorInsertDynamic = 78, + OpVectorShuffle = 79, + OpCompositeConstruct = 80, + OpCompositeExtract = 81, + OpCompositeInsert = 82, + OpCopyObject = 83, + OpTranspose = 84, + OpSampledImage = 86, + OpImageSampleImplicitLod = 87, + OpImageSampleExplicitLod = 88, + OpImageSampleDrefImplicitLod = 89, + OpImageSampleDrefExplicitLod = 90, + OpImageSampleProjImplicitLod = 91, + OpImageSampleProjExplicitLod = 92, + OpImageSampleProjDrefImplicitLod = 93, + OpImageSampleProjDrefExplicitLod = 94, + OpImageFetch = 95, + OpImageGather = 96, + OpImageDrefGather = 97, + OpImageRead = 98, + OpImageWrite = 99, + OpImage = 100, + OpImageQueryFormat = 101, + OpImageQueryOrder = 102, + OpImageQuerySizeLod = 103, + OpImageQuerySize = 104, + OpImageQueryLod = 105, + OpImageQueryLevels = 106, + OpImageQuerySamples = 107, + OpConvertFToU = 109, + OpConvertFToS = 110, + OpConvertSToF = 111, + OpConvertUToF = 112, + OpUConvert = 113, + OpSConvert = 114, + OpFConvert = 115, + OpQuantizeToF16 = 116, + OpConvertPtrToU = 117, + OpSatConvertSToU = 118, + OpSatConvertUToS = 119, + OpConvertUToPtr = 120, + OpPtrCastToGeneric = 121, + OpGenericCastToPtr = 122, + OpGenericCastToPtrExplicit = 123, + OpBitcast = 124, + OpSNegate = 126, + OpFNegate = 127, + OpIAdd = 128, + OpFAdd = 129, + OpISub = 130, + OpFSub = 131, + OpIMul = 132, + OpFMul = 133, + OpUDiv = 134, + OpSDiv = 135, + OpFDiv = 136, + OpUMod = 137, + OpSRem = 138, + OpSMod = 139, + OpFRem = 140, + OpFMod = 141, + OpVectorTimesScalar = 142, + OpMatrixTimesScalar = 143, + OpVectorTimesMatrix = 144, + OpMatrixTimesVector = 145, + OpMatrixTimesMatrix = 146, + OpOuterProduct = 147, + OpDot = 148, + OpIAddCarry = 149, + OpISubBorrow = 150, + OpUMulExtended = 151, + OpSMulExtended = 152, + OpAny = 154, + OpAll = 155, + OpIsNan = 156, + OpIsInf = 157, + OpIsFinite = 158, + OpIsNormal = 159, + OpSignBitSet = 160, + OpLessOrGreater = 161, + OpOrdered = 162, + OpUnordered = 163, + OpLogicalEqual = 164, + OpLogicalNotEqual = 165, + OpLogicalOr = 166, + OpLogicalAnd = 167, + OpLogicalNot = 168, + OpSelect = 169, + OpIEqual = 170, + OpINotEqual = 171, + OpUGreaterThan = 172, + OpSGreaterThan = 173, + OpUGreaterThanEqual = 174, + OpSGreaterThanEqual = 175, + OpULessThan = 176, + OpSLessThan = 177, + OpULessThanEqual = 178, + OpSLessThanEqual = 179, + OpFOrdEqual = 180, + OpFUnordEqual = 181, + OpFOrdNotEqual = 182, + OpFUnordNotEqual = 183, + OpFOrdLessThan = 184, + OpFUnordLessThan = 185, + OpFOrdGreaterThan = 186, + OpFUnordGreaterThan = 187, + OpFOrdLessThanEqual = 188, + OpFUnordLessThanEqual = 189, + OpFOrdGreaterThanEqual = 190, + OpFUnordGreaterThanEqual = 191, + OpShiftRightLogical = 194, + OpShiftRightArithmetic = 195, + OpShiftLeftLogical = 196, + OpBitwiseOr = 197, + OpBitwiseXor = 198, + OpBitwiseAnd = 199, + OpNot = 200, + OpBitFieldInsert = 201, + OpBitFieldSExtract = 202, + OpBitFieldUExtract = 203, + OpBitReverse = 204, + OpBitCount = 205, + OpDPdx = 207, + OpDPdy = 208, + OpFwidth = 209, + OpDPdxFine = 210, + OpDPdyFine = 211, + OpFwidthFine = 212, + OpDPdxCoarse = 213, + OpDPdyCoarse = 214, + OpFwidthCoarse = 215, + OpEmitVertex = 218, + OpEndPrimitive = 219, + OpEmitStreamVertex = 220, + OpEndStreamPrimitive = 221, + OpControlBarrier = 224, + OpMemoryBarrier = 225, + OpAtomicLoad = 227, + OpAtomicStore = 228, + OpAtomicExchange = 229, + OpAtomicCompareExchange = 230, + OpAtomicCompareExchangeWeak = 231, + OpAtomicIIncrement = 232, + OpAtomicIDecrement = 233, + OpAtomicIAdd = 234, + OpAtomicISub = 235, + OpAtomicSMin = 236, + OpAtomicUMin = 237, + OpAtomicSMax = 238, + OpAtomicUMax = 239, + OpAtomicAnd = 240, + OpAtomicOr = 241, + OpAtomicXor = 242, + OpPhi = 245, + OpLoopMerge = 246, + OpSelectionMerge = 247, + OpLabel = 248, + OpBranch = 249, + OpBranchConditional = 250, + OpSwitch = 251, + OpKill = 252, + OpReturn = 253, + OpReturnValue = 254, + OpUnreachable = 255, + OpLifetimeStart = 256, + OpLifetimeStop = 257, + OpGroupAsyncCopy = 259, + OpGroupWaitEvents = 260, + OpGroupAll = 261, + OpGroupAny = 262, + OpGroupBroadcast = 263, + OpGroupIAdd = 264, + OpGroupFAdd = 265, + OpGroupFMin = 266, + OpGroupUMin = 267, + OpGroupSMin = 268, + OpGroupFMax = 269, + OpGroupUMax = 270, + OpGroupSMax = 271, + OpReadPipe = 274, + OpWritePipe = 275, + OpReservedReadPipe = 276, + OpReservedWritePipe = 277, + OpReserveReadPipePackets = 278, + OpReserveWritePipePackets = 279, + OpCommitReadPipe = 280, + OpCommitWritePipe = 281, + OpIsValidReserveId = 282, + OpGetNumPipePackets = 283, + OpGetMaxPipePackets = 284, + OpGroupReserveReadPipePackets = 285, + OpGroupReserveWritePipePackets = 286, + OpGroupCommitReadPipe = 287, + OpGroupCommitWritePipe = 288, + OpEnqueueMarker = 291, + OpEnqueueKernel = 292, + OpGetKernelNDrangeSubGroupCount = 293, + OpGetKernelNDrangeMaxSubGroupSize = 294, + OpGetKernelWorkGroupSize = 295, + OpGetKernelPreferredWorkGroupSizeMultiple = 296, + OpRetainEvent = 297, + OpReleaseEvent = 298, + OpCreateUserEvent = 299, + OpIsValidEvent = 300, + OpSetUserEventStatus = 301, + OpCaptureEventProfilingInfo = 302, + OpGetDefaultQueue = 303, + OpBuildNDRange = 304, + OpImageSparseSampleImplicitLod = 305, + OpImageSparseSampleExplicitLod = 306, + OpImageSparseSampleDrefImplicitLod = 307, + OpImageSparseSampleDrefExplicitLod = 308, + OpImageSparseSampleProjImplicitLod = 309, + OpImageSparseSampleProjExplicitLod = 310, + OpImageSparseSampleProjDrefImplicitLod = 311, + OpImageSparseSampleProjDrefExplicitLod = 312, + OpImageSparseFetch = 313, + OpImageSparseGather = 314, + OpImageSparseDrefGather = 315, + OpImageSparseTexelsResident = 316, + OpNoLine = 317, + OpAtomicFlagTestAndSet = 318, + OpAtomicFlagClear = 319, + OpImageSparseRead = 320, + OpSizeOf = 321, + OpTypePipeStorage = 322, + OpConstantPipeStorage = 323, + OpCreatePipeFromPipeStorage = 324, + OpGetKernelLocalSizeForSubgroupCount = 325, + OpGetKernelMaxNumSubgroups = 326, + OpTypeNamedBarrier = 327, + OpNamedBarrierInitialize = 328, + OpMemoryNamedBarrier = 329, + OpModuleProcessed = 330, + OpExecutionModeId = 331, + OpDecorateId = 332, + OpGroupNonUniformElect = 333, + OpGroupNonUniformAll = 334, + OpGroupNonUniformAny = 335, + OpGroupNonUniformAllEqual = 336, + OpGroupNonUniformBroadcast = 337, + OpGroupNonUniformBroadcastFirst = 338, + OpGroupNonUniformBallot = 339, + OpGroupNonUniformInverseBallot = 340, + OpGroupNonUniformBallotBitExtract = 341, + OpGroupNonUniformBallotBitCount = 342, + OpGroupNonUniformBallotFindLSB = 343, + OpGroupNonUniformBallotFindMSB = 344, + OpGroupNonUniformShuffle = 345, + OpGroupNonUniformShuffleXor = 346, + OpGroupNonUniformShuffleUp = 347, + OpGroupNonUniformShuffleDown = 348, + OpGroupNonUniformIAdd = 349, + OpGroupNonUniformFAdd = 350, + OpGroupNonUniformIMul = 351, + OpGroupNonUniformFMul = 352, + OpGroupNonUniformSMin = 353, + OpGroupNonUniformUMin = 354, + OpGroupNonUniformFMin = 355, + OpGroupNonUniformSMax = 356, + OpGroupNonUniformUMax = 357, + OpGroupNonUniformFMax = 358, + OpGroupNonUniformBitwiseAnd = 359, + OpGroupNonUniformBitwiseOr = 360, + OpGroupNonUniformBitwiseXor = 361, + OpGroupNonUniformLogicalAnd = 362, + OpGroupNonUniformLogicalOr = 363, + OpGroupNonUniformLogicalXor = 364, + OpGroupNonUniformQuadBroadcast = 365, + OpGroupNonUniformQuadSwap = 366, + OpCopyLogical = 400, + OpPtrEqual = 401, + OpPtrNotEqual = 402, + OpPtrDiff = 403, + OpSubgroupBallotKHR = 4421, + OpSubgroupFirstInvocationKHR = 4422, + OpSubgroupAllKHR = 4428, + OpSubgroupAnyKHR = 4429, + OpSubgroupAllEqualKHR = 4430, + OpSubgroupReadInvocationKHR = 4432, + OpTypeRayQueryProvisionalKHR = 4472, + OpRayQueryInitializeKHR = 4473, + OpRayQueryTerminateKHR = 4474, + OpRayQueryGenerateIntersectionKHR = 4475, + OpRayQueryConfirmIntersectionKHR = 4476, + OpRayQueryProceedKHR = 4477, + OpRayQueryGetIntersectionTypeKHR = 4479, + OpGroupIAddNonUniformAMD = 5000, + OpGroupFAddNonUniformAMD = 5001, + OpGroupFMinNonUniformAMD = 5002, + OpGroupUMinNonUniformAMD = 5003, + OpGroupSMinNonUniformAMD = 5004, + OpGroupFMaxNonUniformAMD = 5005, + OpGroupUMaxNonUniformAMD = 5006, + OpGroupSMaxNonUniformAMD = 5007, + OpFragmentMaskFetchAMD = 5011, + OpFragmentFetchAMD = 5012, + OpReadClockKHR = 5056, + OpImageSampleFootprintNV = 5283, + OpGroupNonUniformPartitionNV = 5296, + OpWritePackedPrimitiveIndices4x8NV = 5299, + OpReportIntersectionKHR = 5334, + OpReportIntersectionNV = 5334, + OpIgnoreIntersectionKHR = 5335, + OpIgnoreIntersectionNV = 5335, + OpTerminateRayKHR = 5336, + OpTerminateRayNV = 5336, + OpTraceNV = 5337, + OpTraceRayKHR = 5337, + OpTypeAccelerationStructureKHR = 5341, + OpTypeAccelerationStructureNV = 5341, + OpExecuteCallableKHR = 5344, + OpExecuteCallableNV = 5344, + OpTypeCooperativeMatrixNV = 5358, + OpCooperativeMatrixLoadNV = 5359, + OpCooperativeMatrixStoreNV = 5360, + OpCooperativeMatrixMulAddNV = 5361, + OpCooperativeMatrixLengthNV = 5362, + OpBeginInvocationInterlockEXT = 5364, + OpEndInvocationInterlockEXT = 5365, + OpDemoteToHelperInvocationEXT = 5380, + OpIsHelperInvocationEXT = 5381, + OpSubgroupShuffleINTEL = 5571, + OpSubgroupShuffleDownINTEL = 5572, + OpSubgroupShuffleUpINTEL = 5573, + OpSubgroupShuffleXorINTEL = 5574, + OpSubgroupBlockReadINTEL = 5575, + OpSubgroupBlockWriteINTEL = 5576, + OpSubgroupImageBlockReadINTEL = 5577, + OpSubgroupImageBlockWriteINTEL = 5578, + OpSubgroupImageMediaBlockReadINTEL = 5580, + OpSubgroupImageMediaBlockWriteINTEL = 5581, + OpUCountLeadingZerosINTEL = 5585, + OpUCountTrailingZerosINTEL = 5586, + OpAbsISubINTEL = 5587, + OpAbsUSubINTEL = 5588, + OpIAddSatINTEL = 5589, + OpUAddSatINTEL = 5590, + OpIAverageINTEL = 5591, + OpUAverageINTEL = 5592, + OpIAverageRoundedINTEL = 5593, + OpUAverageRoundedINTEL = 5594, + OpISubSatINTEL = 5595, + OpUSubSatINTEL = 5596, + OpIMul32x16INTEL = 5597, + OpUMul32x16INTEL = 5598, + OpDecorateString = 5632, + OpDecorateStringGOOGLE = 5632, + OpMemberDecorateString = 5633, + OpMemberDecorateStringGOOGLE = 5633, + OpVmeImageINTEL = 5699, + OpTypeVmeImageINTEL = 5700, + OpTypeAvcImePayloadINTEL = 5701, + OpTypeAvcRefPayloadINTEL = 5702, + OpTypeAvcSicPayloadINTEL = 5703, + OpTypeAvcMcePayloadINTEL = 5704, + OpTypeAvcMceResultINTEL = 5705, + OpTypeAvcImeResultINTEL = 5706, + OpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707, + OpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708, + OpTypeAvcImeSingleReferenceStreaminINTEL = 5709, + OpTypeAvcImeDualReferenceStreaminINTEL = 5710, + OpTypeAvcRefResultINTEL = 5711, + OpTypeAvcSicResultINTEL = 5712, + OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713, + OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714, + OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715, + OpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716, + OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717, + OpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718, + OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719, + OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720, + OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721, + OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722, + OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723, + OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724, + OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725, + OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726, + OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727, + OpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728, + OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729, + OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730, + OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731, + OpSubgroupAvcMceConvertToImePayloadINTEL = 5732, + OpSubgroupAvcMceConvertToImeResultINTEL = 5733, + OpSubgroupAvcMceConvertToRefPayloadINTEL = 5734, + OpSubgroupAvcMceConvertToRefResultINTEL = 5735, + OpSubgroupAvcMceConvertToSicPayloadINTEL = 5736, + OpSubgroupAvcMceConvertToSicResultINTEL = 5737, + OpSubgroupAvcMceGetMotionVectorsINTEL = 5738, + OpSubgroupAvcMceGetInterDistortionsINTEL = 5739, + OpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740, + OpSubgroupAvcMceGetInterMajorShapeINTEL = 5741, + OpSubgroupAvcMceGetInterMinorShapeINTEL = 5742, + OpSubgroupAvcMceGetInterDirectionsINTEL = 5743, + OpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744, + OpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745, + OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746, + OpSubgroupAvcImeInitializeINTEL = 5747, + OpSubgroupAvcImeSetSingleReferenceINTEL = 5748, + OpSubgroupAvcImeSetDualReferenceINTEL = 5749, + OpSubgroupAvcImeRefWindowSizeINTEL = 5750, + OpSubgroupAvcImeAdjustRefOffsetINTEL = 5751, + OpSubgroupAvcImeConvertToMcePayloadINTEL = 5752, + OpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753, + OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754, + OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755, + OpSubgroupAvcImeSetWeightedSadINTEL = 5756, + OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757, + OpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758, + OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759, + OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760, + OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761, + OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762, + OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763, + OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764, + OpSubgroupAvcImeConvertToMceResultINTEL = 5765, + OpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766, + OpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767, + OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768, + OpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769, + OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770, + OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771, + OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772, + OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773, + OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774, + OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775, + OpSubgroupAvcImeGetBorderReachedINTEL = 5776, + OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777, + OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778, + OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779, + OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780, + OpSubgroupAvcFmeInitializeINTEL = 5781, + OpSubgroupAvcBmeInitializeINTEL = 5782, + OpSubgroupAvcRefConvertToMcePayloadINTEL = 5783, + OpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784, + OpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785, + OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786, + OpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787, + OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788, + OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789, + OpSubgroupAvcRefConvertToMceResultINTEL = 5790, + OpSubgroupAvcSicInitializeINTEL = 5791, + OpSubgroupAvcSicConfigureSkcINTEL = 5792, + OpSubgroupAvcSicConfigureIpeLumaINTEL = 5793, + OpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794, + OpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795, + OpSubgroupAvcSicConvertToMcePayloadINTEL = 5796, + OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797, + OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798, + OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799, + OpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800, + OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801, + OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802, + OpSubgroupAvcSicEvaluateIpeINTEL = 5803, + OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804, + OpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805, + OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806, + OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807, + OpSubgroupAvcSicConvertToMceResultINTEL = 5808, + OpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809, + OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810, + OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811, + OpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812, + OpSubgroupAvcSicGetIpeChromaModeINTEL = 5813, + OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814, + OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815, + OpSubgroupAvcSicGetInterRawSadsINTEL = 5816, + OpRayQueryGetRayTMinKHR = 6016, + OpRayQueryGetRayFlagsKHR = 6017, + OpRayQueryGetIntersectionTKHR = 6018, + OpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019, + OpRayQueryGetIntersectionInstanceIdKHR = 6020, + OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021, + OpRayQueryGetIntersectionGeometryIndexKHR = 6022, + OpRayQueryGetIntersectionPrimitiveIndexKHR = 6023, + OpRayQueryGetIntersectionBarycentricsKHR = 6024, + OpRayQueryGetIntersectionFrontFaceKHR = 6025, + OpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026, + OpRayQueryGetIntersectionObjectRayDirectionKHR = 6027, + OpRayQueryGetIntersectionObjectRayOriginKHR = 6028, + OpRayQueryGetWorldRayDirectionKHR = 6029, + OpRayQueryGetWorldRayOriginKHR = 6030, + OpRayQueryGetIntersectionObjectToWorldKHR = 6031, + OpRayQueryGetIntersectionWorldToObjectKHR = 6032, + } + } +} + diff --git a/SpvGen/Instruction.cs b/SpvGen/Instruction.cs new file mode 100644 index 000000000..f93fb34fb --- /dev/null +++ b/SpvGen/Instruction.cs @@ -0,0 +1,211 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using System.Linq; + +namespace Spv.Generator +{ + public sealed class Instruction : Operand, IEquatable + { + public const uint InvalidId = uint.MaxValue; + + public Specification.Op Opcode { get; private set; } + private Instruction _resultType; + public List _operands; + + public uint Id { get; set; } + + public Instruction(Specification.Op opcode, uint id = InvalidId, Instruction resultType = null) + { + Opcode = opcode; + Id = id; + _resultType = resultType; + + _operands = new List(); + } + + public void SetId(uint id) + { + Id = id; + } + + public OperandType Type => OperandType.Instruction; + + public ushort GetTotalWordCount() + { + ushort result = WordCount; + + if (Id != InvalidId) + { + result++; + } + + if (_resultType != null) + { + result += _resultType.WordCount; + } + + foreach (Operand operand in _operands) + { + result += operand.WordCount; + } + + return result; + } + + public ushort WordCount => 1; + + private void AddOperand(Operand value) + { + Debug.Assert(value != null); + _operands.Add(value); + } + + public void AddOperand(Operand[] value) + { + foreach (Operand instruction in value) + { + AddOperand(instruction); + } + } + + public void AddOperand(LiteralInteger[] value) + { + foreach (LiteralInteger instruction in value) + { + AddOperand(instruction); + } + } + + public void AddOperand(LiteralInteger value) + { + AddOperand((Operand)value); + } + + public void AddOperand(Instruction[] value) + { + foreach (Instruction instruction in value) + { + AddOperand(instruction); + } + } + + public void AddOperand(Instruction value) + { + AddOperand((Operand)value); + } + + public void AddOperand(string value) + { + AddOperand(new LiteralString(value)); + } + + public void AddOperand(T value) where T: struct + { + if (!typeof(T).IsPrimitive && !typeof(T).IsEnum) + { + throw new InvalidOperationException(); + } + + AddOperand(LiteralInteger.CreateForEnum(value)); + } + + public void Write(Stream stream) + { + BinaryWriter writer = new BinaryWriter(stream); + + // Word 0 + writer.Write((ushort)Opcode); + writer.Write(GetTotalWordCount()); + + _resultType?.WriteOperand(stream); + + if (Id != InvalidId) + { + writer.Write(Id); + } + + foreach (Operand operand in _operands) + { + operand.WriteOperand(stream); + } + } + + public void WriteOperand(Stream stream) + { + Debug.Assert(Id != InvalidId); + + if (Id == InvalidId) + { + string methodToCall; + + if (Opcode == Specification.Op.OpVariable) + { + methodToCall = "AddLocalVariable or AddGlobalVariable"; + } + else if (Opcode == Specification.Op.OpLabel) + { + methodToCall = "AddLabel"; + } + else + { + throw new InvalidOperationException("Internal error"); + } + + throw new InvalidOperationException($"Id wasn't bound to the module, please make sure to call {methodToCall}"); + } + + stream.Write(BitConverter.GetBytes(Id)); + } + + public override bool Equals(object obj) + { + return obj is Instruction instruction && Equals(instruction); + } + + public bool Equals(Instruction cmpObj) + { + bool result = Type == cmpObj.Type && Id == cmpObj.Id; + + if (result) + { + if (_resultType != null && cmpObj._resultType != null) + { + result &= _resultType.Equals(cmpObj._resultType); + } + else if (_resultType != null || cmpObj._resultType != null) + { + return false; + } + } + + if (result) + { + result &= EqualsContent(cmpObj); + } + + return result; + } + + public bool EqualsResultType(Instruction cmpObj) + { + return _resultType.Opcode == cmpObj._resultType.Opcode && _resultType.EqualsContent(cmpObj._resultType); + } + + public bool EqualsContent(Instruction cmpObj) + { + return _operands.SequenceEqual(cmpObj._operands); + } + + public override int GetHashCode() + { + return HashCode.Combine(Opcode, Id, _resultType, _operands); + } + + public bool Equals(Operand obj) + { + return obj is Instruction instruction && Equals(instruction); + } + } +} diff --git a/SpvGen/LICENSE b/SpvGen/LICENSE new file mode 100644 index 000000000..31aa79387 --- /dev/null +++ b/SpvGen/LICENSE @@ -0,0 +1,23 @@ +Permission is hereby granted, free of charge, to any +person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the +Software without restriction, including without +limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software +is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. diff --git a/SpvGen/LiteralInteger.cs b/SpvGen/LiteralInteger.cs new file mode 100644 index 000000000..7568cc1bc --- /dev/null +++ b/SpvGen/LiteralInteger.cs @@ -0,0 +1,81 @@ +using System; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices; + +namespace Spv.Generator +{ + public class LiteralInteger : Operand, IEquatable + { + public OperandType Type => OperandType.Number; + + private enum IntegerType + { + UInt32, + Int32, + UInt64, + Int64, + Float32, + Float64, + } + + private IntegerType _integerType; + + private byte[] _data; + + private LiteralInteger(byte[] data, IntegerType integerType) + { + _data = data; + _integerType = integerType; + } + + public static implicit operator LiteralInteger(int value) => Create(value, IntegerType.Int32); + public static implicit operator LiteralInteger(uint value) => Create(value, IntegerType.UInt32); + public static implicit operator LiteralInteger(long value) => Create(value, IntegerType.Int64); + public static implicit operator LiteralInteger(ulong value) => Create(value, IntegerType.UInt64); + public static implicit operator LiteralInteger(float value) => Create(value, IntegerType.Float32); + public static implicit operator LiteralInteger(double value) => Create(value, IntegerType.Float64); + public static implicit operator LiteralInteger(Enum value) => Create((int)Convert.ChangeType(value, typeof(int)), IntegerType.Int32); + + // NOTE: this is not in the standard, but this is some syntax sugar useful in some instructions (TypeInt ect) + public static implicit operator LiteralInteger(bool value) => Create(Convert.ToInt32(value), IntegerType.Int32); + + + public static LiteralInteger CreateForEnum(T value) where T : struct + { + return Create(value, IntegerType.Int32); + } + + private static LiteralInteger Create(T value, IntegerType integerType) where T: struct + { + return new LiteralInteger(MemoryMarshal.Cast(MemoryMarshal.CreateSpan(ref value, 1)).ToArray(), integerType); + } + + public ushort WordCount => (ushort)(_data.Length / 4); + + public void WriteOperand(Stream stream) + { + stream.Write(_data); + } + + public override bool Equals(object obj) + { + return obj is LiteralInteger literalInteger && Equals(literalInteger); + } + + public bool Equals(LiteralInteger cmpObj) + { + return Type == cmpObj.Type && _integerType == cmpObj._integerType && _data.SequenceEqual(cmpObj._data); + } + + public override int GetHashCode() + { + return HashCode.Combine(Type, _data); + } + + public bool Equals(Operand obj) + { + return obj is LiteralInteger literalInteger && Equals(literalInteger); + } + } +} diff --git a/SpvGen/LiteralString.cs b/SpvGen/LiteralString.cs new file mode 100644 index 000000000..8d27e407e --- /dev/null +++ b/SpvGen/LiteralString.cs @@ -0,0 +1,51 @@ +using System; +using System.IO; +using System.Text; + +namespace Spv.Generator +{ + public class LiteralString : Operand, IEquatable + { + public OperandType Type => OperandType.String; + + private string _value; + + public LiteralString(string value) + { + _value = value; + } + + public ushort WordCount => (ushort)(_value.Length / 4 + 1); + + public void WriteOperand(Stream stream) + { + byte[] rawValue = Encoding.ASCII.GetBytes(_value); + + stream.Write(rawValue); + + int paddingSize = 4 - (rawValue.Length % 4); + + stream.Write(new byte[paddingSize]); + } + + public override bool Equals(object obj) + { + return obj is LiteralString literalString && Equals(literalString); + } + + public bool Equals(LiteralString cmpObj) + { + return Type == cmpObj.Type && _value.Equals(cmpObj._value); + } + + public override int GetHashCode() + { + return HashCode.Combine(Type, _value); + } + + public bool Equals(Operand obj) + { + return obj is LiteralString literalString && Equals(literalString); + } + } +} diff --git a/SpvGen/Module.cs b/SpvGen/Module.cs new file mode 100644 index 000000000..9b7e2060d --- /dev/null +++ b/SpvGen/Module.cs @@ -0,0 +1,321 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using static Spv.Specification; + +namespace Spv.Generator +{ + public partial class Module + { + // TODO: register to SPIR-V registry + private const int GeneratorId = 0; + + private readonly uint _version; + + private uint _bound; + + // Follow spec order here why keeping it as dumb as possible. + private List _capabilities; + private List _extensions; + private List _extInstImports; + private AddressingModel _addressingModel; + private MemoryModel _memoryModel; + + private List _entrypoints; + private List _executionModes; + private List _debug; + private List _annotations; + + // In the declaration block. + private List _typeDeclarations; + // In the declaration block. + private List _globals; + // In the declaration block, for function that aren't defined in the module. + private List _functionsDeclarations; + + private List _functionsDefinitions; + + public Module(uint version) + { + _version = version; + _bound = 1; + _capabilities = new List(); + _extensions = new List(); + _extInstImports = new List(); + _addressingModel = AddressingModel.Logical; + _memoryModel = MemoryModel.Simple; + _entrypoints = new List(); + _executionModes = new List(); + _debug = new List(); + _annotations = new List(); + _typeDeclarations = new List(); + _globals = new List(); + _functionsDeclarations = new List(); + _functionsDefinitions = new List(); + } + + private uint GetNewId() + { + return _bound++; + } + + public void AddCapability(Capability capability) + { + _capabilities.Add(capability); + } + + public void AddExtension(string extension) + { + _extensions.Add(extension); + } + + public Instruction AddExtInstImport(string import) + { + Instruction instruction = new Instruction(Op.OpExtInstImport); + instruction.AddOperand(import); + + foreach (Instruction extInstImport in _extInstImports) + { + if (extInstImport.Opcode == Op.OpExtInstImport && extInstImport.EqualsContent(instruction)) + { + // update the duplicate instance to use the good id so it ends up being encoded right. + return extInstImport; + } + } + + instruction.SetId(GetNewId()); + + _extInstImports.Add(instruction); + + return instruction; + } + + private void AddTypeDeclaration(Instruction instruction, bool forceIdAllocation) + { + if (!forceIdAllocation) + { + foreach (Instruction typeDeclaration in _typeDeclarations) + { + if (typeDeclaration.Opcode == instruction.Opcode && typeDeclaration.EqualsContent(instruction)) + { + // update the duplicate instance to use the good id so it ends up being encoded right. + instruction.SetId(typeDeclaration.Id); + + return; + } + } + } + + instruction.SetId(GetNewId()); + + _typeDeclarations.Add(instruction); + } + + public void AddEntryPoint(ExecutionModel executionModel, Instruction function, string name, params Instruction[] interfaces) + { + Debug.Assert(function.Opcode == Op.OpFunction); + + Instruction entryPoint = new Instruction(Op.OpEntryPoint); + + entryPoint.AddOperand(executionModel); + entryPoint.AddOperand(function); + entryPoint.AddOperand(name); + entryPoint.AddOperand(interfaces); + + _entrypoints.Add(entryPoint); + } + + public void AddExecutionMode(Instruction function, ExecutionMode mode, params Operand[] parameters) + { + Debug.Assert(function.Opcode == Op.OpFunction); + + Instruction executionModeInstruction = new Instruction(Op.OpExecutionMode); + + executionModeInstruction.AddOperand(function); + executionModeInstruction.AddOperand(mode); + executionModeInstruction.AddOperand(parameters); + + _executionModes.Add(executionModeInstruction); + } + + private void AddToFunctionDefinitions(Instruction instruction) + { + Debug.Assert(instruction.Opcode != Op.OpTypeInt); + _functionsDefinitions.Add(instruction); + } + + private void AddAnnotation(Instruction annotation) + { + _annotations.Add(annotation); + } + + private void AddDebug(Instruction debug) + { + _debug.Add(debug); + } + + public void AddLabel(Instruction label) + { + Debug.Assert(label.Opcode == Op.OpLabel); + + label.SetId(GetNewId()); + + AddToFunctionDefinitions(label); + } + + public void AddLocalVariable(Instruction variable) + { + // TODO: ensure it has the local modifier + Debug.Assert(variable.Opcode == Op.OpVariable); + + variable.SetId(GetNewId()); + + AddToFunctionDefinitions(variable); + } + + public void AddGlobalVariable(Instruction variable) + { + // TODO: ensure it has the global modifier + // TODO: all constants opcodes (OpSpecXXX and the rest of the OpConstantXXX) + Debug.Assert(variable.Opcode == Op.OpVariable); + + variable.SetId(GetNewId()); + + _globals.Add(variable); + } + + private void AddConstant(Instruction constant) + { + Debug.Assert(constant.Opcode == Op.OpConstant || + constant.Opcode == Op.OpConstantFalse || + constant.Opcode == Op.OpConstantTrue || + constant.Opcode == Op.OpConstantNull || + constant.Opcode == Op.OpConstantComposite); + + foreach (Instruction global in _globals) + { + if (global.Opcode == constant.Opcode && global.EqualsResultType(constant) && global.EqualsContent(constant)) + { + // update the duplicate instance to use the good id so it ends up being encoded right. + constant.SetId(global.Id); + + return; + } + } + + constant.SetId(GetNewId()); + + _globals.Add(constant); + } + + public void SetMemoryModel(AddressingModel addressingModel, MemoryModel memoryModel) + { + _addressingModel = addressingModel; + _memoryModel = memoryModel; + } + + protected virtual void Construct() + { + throw new NotSupportedException("Construct should be overriden."); + } + + public byte[] Generate() + { + Construct(); + + using (MemoryStream stream = new MemoryStream()) + { + BinaryWriter writer = new BinaryWriter(stream); + + // Header + writer.Write(MagicNumber); + writer.Write(_version); + writer.Write(GeneratorId); + writer.Write(_bound); + writer.Write(0u); + + // 1. + foreach (Capability capability in _capabilities) + { + Instruction capabilityInstruction = new Instruction(Op.OpCapability); + + capabilityInstruction.AddOperand(capability); + capabilityInstruction.Write(stream); + } + + // 2. + foreach (string extension in _extensions) + { + Instruction extensionInstruction = new Instruction(Op.OpExtension); + + extensionInstruction.AddOperand(extension); + extensionInstruction.Write(stream); + } + + // 3. + foreach (Instruction extInstImport in _extInstImports) + { + extInstImport.Write(stream); + } + + // 4. + Instruction memoryModelInstruction = new Instruction(Op.OpMemoryModel); + memoryModelInstruction.AddOperand(_addressingModel); + memoryModelInstruction.AddOperand(_memoryModel); + memoryModelInstruction.Write(stream); + + // 5. + foreach (Instruction entrypoint in _entrypoints) + { + entrypoint.Write(stream); + } + + // 6. + foreach (Instruction executionMode in _executionModes) + { + executionMode.Write(stream); + } + + // 7. + // TODO: order debug information correclty. + foreach (Instruction debug in _debug) + { + debug.Write(stream); + } + + // 8. + foreach (Instruction annotation in _annotations) + { + annotation.Write(stream); + } + + // Ensure that everything is in the right order in the declarations section + List declarations = new List(); + declarations.AddRange(_typeDeclarations); + declarations.AddRange(_globals); + declarations.Sort((Instruction x, Instruction y) => x.Id.CompareTo(y.Id)); + + // 9. + foreach (Instruction declaration in declarations) + { + declaration.Write(stream); + } + + // 10. + foreach (Instruction functionDeclaration in _functionsDeclarations) + { + functionDeclaration.Write(stream); + } + + // 11. + foreach (Instruction functionDefinition in _functionsDefinitions) + { + functionDefinition.Write(stream); + } + + return stream.ToArray(); + } + } + } +} diff --git a/SpvGen/Operand.cs b/SpvGen/Operand.cs new file mode 100644 index 000000000..b180105a0 --- /dev/null +++ b/SpvGen/Operand.cs @@ -0,0 +1,14 @@ +using System; +using System.IO; + +namespace Spv.Generator +{ + public interface Operand : IEquatable + { + OperandType Type { get; } + + ushort WordCount { get; } + + void WriteOperand(Stream stream); + } +} diff --git a/SpvGen/OperandType.cs b/SpvGen/OperandType.cs new file mode 100644 index 000000000..06e8e1fb3 --- /dev/null +++ b/SpvGen/OperandType.cs @@ -0,0 +1,10 @@ +namespace Spv.Generator +{ + public enum OperandType + { + Invalid, + Number, + String, + Instruction, + } +} diff --git a/SpvGen/Spv.Generator.csproj b/SpvGen/Spv.Generator.csproj new file mode 100644 index 000000000..5bd2638c6 --- /dev/null +++ b/SpvGen/Spv.Generator.csproj @@ -0,0 +1,12 @@ + + + + Library + netcoreapp3.1 + 8.0 + win-x64;osx-x64;linux-x64 + + + + + From c6fbaf844e10a0b36b389cf04d4550d5ae3bb9b9 Mon Sep 17 00:00:00 2001 From: gdkchan Date: Mon, 30 Aug 2021 18:51:32 -0300 Subject: [PATCH 009/179] No need to initialize attributes on the SPIR-V backend anymore --- .../CodeGen/Spirv/SpirvGenerator.cs | 39 ------------------- 1 file changed, 39 deletions(-) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs index 786db8b1e..1cd965813 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs @@ -82,45 +82,6 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv Declarations.DeclareLocals(context, function); Declarations.DeclareLocalForArgs(context, info.Functions); - if (funcIndex == 0) - { - var v4Type = context.TypeVector(context.TypeFP32(), 4); - var zero = context.Constant(context.TypeFP32(), 0f); - var one = context.Constant(context.TypeFP32(), 1f); - - // Some games will leave some elements of gl_Position uninitialized, - // in those cases, the elements will contain undefined values according - // to the spec, but on NVIDIA they seems to be always initialized to (0, 0, 0, 1), - // so we do explicit initialization to avoid UB on non-NVIDIA gpus. - if (context.Config.Stage == ShaderStage.Vertex) - { - var elemPointer = context.GetAttributeVectorPointer(new AstOperand(OperandType.Attribute, AttributeConsts.PositionX), true); - context.Store(elemPointer, context.CompositeConstruct(v4Type, zero, zero, zero, one)); - } - - // Ensure that unused attributes are set, otherwise the downstream - // compiler may eliminate them. - // (Not needed for fragment shader as it is the last stage). - if (context.Config.Stage != ShaderStage.Compute && - context.Config.Stage != ShaderStage.Fragment && - !context.Config.GpPassthrough) - { - for (int attr = 0; attr < Declarations.MaxAttributes; attr++) - { - if (context.Config.TransformFeedbackEnabled) - { - throw new NotImplementedException(); - } - else - { - int currAttr = AttributeConsts.UserAttributeBase + attr * 16; - var elemPointer = context.GetAttributeVectorPointer(new AstOperand(OperandType.Attribute, currAttr), true); - context.Store(elemPointer, context.CompositeConstruct(v4Type, zero, zero, zero, one)); - } - } - } - } - Generate(context, function.MainBlock); context.FunctionEnd(); From e0edaa177ec73ac6aa417a27959370d0db9c2df6 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Sat, 31 Jul 2021 16:51:07 +0100 Subject: [PATCH 010/179] Allow multithreading shaderc and vkCreateShaderModule You'll only really see the benefit here with threaded-gal or parallel shader cache compile. Fix shaderc multithreaded changes Thread safety for shaderc Options constructor Dunno how they managed to make a constructor not thread safe, but you do you. May avoid some freezes. --- Ryujinx.Graphics.Vulkan/PipelineBase.cs | 6 +- Ryujinx.Graphics.Vulkan/Shader.cs | 118 ++++++++++++-------- Ryujinx.Graphics.Vulkan/ShaderCollection.cs | 80 +++++++++++-- 3 files changed, 148 insertions(+), 56 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/PipelineBase.cs b/Ryujinx.Graphics.Vulkan/PipelineBase.cs index c14daed31..c02b13517 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineBase.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineBase.cs @@ -223,7 +223,7 @@ namespace Ryujinx.Graphics.Vulkan public void DispatchCompute(int groupsX, int groupsY, int groupsZ) { - if (_program.LinkStatus != ProgramLinkStatus.Success) + if (!_program.IsLinked) { return; } @@ -238,7 +238,7 @@ namespace Ryujinx.Graphics.Vulkan { // System.Console.WriteLine("draw"); - if (_program.LinkStatus != ProgramLinkStatus.Success) + if (!_program.IsLinked) { return; } @@ -266,7 +266,7 @@ namespace Ryujinx.Graphics.Vulkan { // System.Console.WriteLine("draw indexed"); - if (_program.LinkStatus != ProgramLinkStatus.Success) + if (!_program.IsLinked) { return; } diff --git a/Ryujinx.Graphics.Vulkan/Shader.cs b/Ryujinx.Graphics.Vulkan/Shader.cs index 93264b987..9ec4bac7f 100644 --- a/Ryujinx.Graphics.Vulkan/Shader.cs +++ b/Ryujinx.Graphics.Vulkan/Shader.cs @@ -6,72 +6,95 @@ using Silk.NET.Vulkan; using System; using System.IO; using System.Runtime.InteropServices; +using System.Threading.Tasks; namespace Ryujinx.Graphics.Vulkan { class Shader : IShader { + // The shaderc.net dependency's Options constructor and dispose are not thread safe. + // Take this lock when using them. + private static object _shaderOptionsLock = new object(); + private readonly Vk _api; private readonly Device _device; - private readonly ShaderModule _module; private readonly ShaderStageFlags _stage; + private readonly Task _compileTask; private IntPtr _entryPointName; + private ShaderModule _module; public ShaderStageFlags StageFlags => _stage; public ShaderBindings Bindings { get; } - public bool Valid { get; } + public ProgramLinkStatus CompileStatus { private set; get; } public unsafe Shader(Vk api, Device device, ShaderStage stage, ShaderBindings bindings, string glsl) { _api = api; _device = device; - Bindings = bindings; - - glsl = glsl.Replace("gl_VertexID", "(gl_VertexIndex - gl_BaseVertex)"); - glsl = glsl.Replace("gl_InstanceID", "(gl_InstanceIndex - gl_BaseInstance)"); - - // System.Console.WriteLine(glsl); - - Options options = new Options(false) - { - SourceLanguage = SourceLanguage.Glsl, - TargetSpirVVersion = new SpirVVersion(1, 5) - }; - options.SetTargetEnvironment(TargetEnvironment.Vulkan, EnvironmentVersion.Vulkan_1_2); - Compiler compiler = new Compiler(options); - var scr = compiler.Compile(glsl, "Ryu", GetShaderCShaderStage(stage)); - - if (scr.Status != Status.Success) - { - Logger.Error?.Print(LogClass.Gpu, $"Shader compilation error: {scr.Status} {scr.ErrorMessage}"); - return; - } - - Valid = true; - - var spirvBytes = new Span((void*)scr.CodePointer, (int)scr.CodeLength); - - uint[] code = new uint[(scr.CodeLength + 3) / 4]; - - spirvBytes.CopyTo(MemoryMarshal.Cast(new Span(code)).Slice(0, (int)scr.CodeLength)); - - fixed (uint* pCode = code) - { - var shaderModuleCreateInfo = new ShaderModuleCreateInfo() - { - SType = StructureType.ShaderModuleCreateInfo, - CodeSize = scr.CodeLength, - PCode = pCode - }; - - api.CreateShaderModule(device, shaderModuleCreateInfo, null, out _module).ThrowOnError(); - } - _stage = stage.Convert(); _entryPointName = Marshal.StringToHGlobalAnsi("main"); + + Bindings = bindings; + + _compileTask = Task.Run(() => + { + glsl = glsl.Replace("gl_VertexID", "(gl_VertexIndex - gl_BaseVertex)"); + glsl = glsl.Replace("gl_InstanceID", "(gl_InstanceIndex - gl_BaseInstance)"); + + // System.Console.WriteLine(glsl); + + Options options; + + lock (_shaderOptionsLock) + { + options = new Options(false) + { + SourceLanguage = SourceLanguage.Glsl, + TargetSpirVVersion = new SpirVVersion(1, 5) + }; + } + + options.SetTargetEnvironment(TargetEnvironment.Vulkan, EnvironmentVersion.Vulkan_1_2); + Compiler compiler = new Compiler(options); + var scr = compiler.Compile(glsl, "Ryu", GetShaderCShaderStage(stage)); + + lock (_shaderOptionsLock) + { + options.Dispose(); + } + + if (scr.Status != Status.Success) + { + Logger.Error?.Print(LogClass.Gpu, $"Shader compilation error: {scr.Status} {scr.ErrorMessage}"); + + CompileStatus = ProgramLinkStatus.Failure; + + return; + } + + var spirvBytes = new Span((void*)scr.CodePointer, (int)scr.CodeLength); + + uint[] code = new uint[(scr.CodeLength + 3) / 4]; + + spirvBytes.CopyTo(MemoryMarshal.Cast(new Span(code)).Slice(0, (int)scr.CodeLength)); + + fixed (uint* pCode = code) + { + var shaderModuleCreateInfo = new ShaderModuleCreateInfo() + { + SType = StructureType.ShaderModuleCreateInfo, + CodeSize = scr.CodeLength, + PCode = pCode + }; + + api.CreateShaderModule(device, shaderModuleCreateInfo, null, out _module).ThrowOnError(); + } + + CompileStatus = ProgramLinkStatus.Success; + }); } public unsafe Shader(Vk api, Device device, ShaderStage stage, ShaderBindings bindings, byte[] spirv) @@ -80,7 +103,7 @@ namespace Ryujinx.Graphics.Vulkan _device = device; Bindings = bindings; - Valid = true; + CompileStatus = ProgramLinkStatus.Success; fixed (byte* pCode = spirv) { @@ -144,6 +167,11 @@ namespace Ryujinx.Graphics.Vulkan }; } + public void WaitForCompile() + { + _compileTask.Wait(); + } + public unsafe void Dispose() { if (_entryPointName != IntPtr.Zero) diff --git a/Ryujinx.Graphics.Vulkan/ShaderCollection.cs b/Ryujinx.Graphics.Vulkan/ShaderCollection.cs index 7af1c2c26..05beee70f 100644 --- a/Ryujinx.Graphics.Vulkan/ShaderCollection.cs +++ b/Ryujinx.Graphics.Vulkan/ShaderCollection.cs @@ -19,13 +19,27 @@ namespace Ryujinx.Graphics.Vulkan public int[][][] Bindings { get; } - public ProgramLinkStatus LinkStatus { get; } + public ProgramLinkStatus LinkStatus { private set; get; } + + public bool IsLinked + { + get + { + if (LinkStatus == ProgramLinkStatus.Incomplete) + { + CheckProgramLink(true); + } + + return LinkStatus == ProgramLinkStatus.Success; + } + } private HashTableSlim> _graphicsPipelineCache; private Auto _computePipeline; private VulkanGraphicsDevice _gd; private Device _device; + private bool _initialized; public ShaderCollection(VulkanGraphicsDevice gd, Device device, IShader[] shaders) { @@ -39,17 +53,13 @@ namespace Ryujinx.Graphics.Vulkan _infos = new PipelineShaderStageCreateInfo[shaders.Length]; - LinkStatus = ProgramLinkStatus.Success; + LinkStatus = ProgramLinkStatus.Incomplete; uint stages = 0; for (int i = 0; i < shaders.Length; i++) { var shader = (Shader)shaders[i]; - if (!shader.Valid) - { - LinkStatus = ProgramLinkStatus.Failure; - } stages |= 1u << shader.StageFlags switch { @@ -61,8 +71,6 @@ namespace Ryujinx.Graphics.Vulkan }; internalShaders[i] = shader; - - _infos[i] = internalShaders[i].GetInfo(); } _plce = gd.PipelineLayoutCache.GetOrCreate(gd, device, stages); @@ -95,13 +103,69 @@ namespace Ryujinx.Graphics.Vulkan }; } + private void EnsureShadersReady() + { + if (!_initialized) + { + CheckProgramLink(true); + + ProgramLinkStatus resultStatus = ProgramLinkStatus.Success; + + for (int i = 0; i < _shaders.Length; i++) + { + var shader = (Shader)_shaders[i]; + + if (shader.CompileStatus != ProgramLinkStatus.Success) + { + resultStatus = ProgramLinkStatus.Failure; + } + + _infos[i] = shader.GetInfo(); + } + + LinkStatus = resultStatus; + + _initialized = true; + } + } + public PipelineShaderStageCreateInfo[] GetInfos() { + EnsureShadersReady(); + return _infos; } public ProgramLinkStatus CheckProgramLink(bool blocking) { + if (LinkStatus == ProgramLinkStatus.Incomplete) + { + ProgramLinkStatus resultStatus = ProgramLinkStatus.Success; + + foreach (Shader shader in _shaders) + { + if (shader.CompileStatus == ProgramLinkStatus.Incomplete) + { + if (blocking) + { + // Wait for this shader to finish compiling. + shader.WaitForCompile(); + + if (shader.CompileStatus != ProgramLinkStatus.Success) + { + resultStatus = ProgramLinkStatus.Failure; + } + } + else + { + return ProgramLinkStatus.Incomplete; + } + } + } + + return resultStatus; + } + return LinkStatus; } From c31dda3c1bc73eac7211e713439b70edceea4248 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Tue, 31 Aug 2021 14:17:52 +0100 Subject: [PATCH 011/179] Support multiple levels/layers for blit. Fixes MK8D when scaled, maybe a few other games. AMD software "safe" blit not supported right now. --- Ryujinx.Graphics.Vulkan/TextureCopy.cs | 49 ++++++++++++++++---------- Ryujinx.Graphics.Vulkan/TextureView.cs | 17 ++++++--- 2 files changed, 44 insertions(+), 22 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/TextureCopy.cs b/Ryujinx.Graphics.Vulkan/TextureCopy.cs index fb7d82c33..8a2e0245a 100644 --- a/Ryujinx.Graphics.Vulkan/TextureCopy.cs +++ b/Ryujinx.Graphics.Vulkan/TextureCopy.cs @@ -21,19 +21,21 @@ namespace Ryujinx.Graphics.Vulkan int dstLayer, int srcLevel, int dstLevel, + int layers, + int levels, bool linearFilter, ImageAspectFlags srcAspectFlags = 0, ImageAspectFlags dstAspectFlags = 0) { - static (Offset3D, Offset3D) ExtentsToOffset3D(Extents2D extents, int width, int height) + static (Offset3D, Offset3D) ExtentsToOffset3D(Extents2D extents, int width, int height, int level) { static int Clamp(int value, int max) { return Math.Clamp(value, 0, max); } - var xy1 = new Offset3D(Clamp(extents.X1, width), Clamp(extents.Y1, height), 0); - var xy2 = new Offset3D(Clamp(extents.X2, width), Clamp(extents.Y2, height), 1); + var xy1 = new Offset3D(Clamp(extents.X1, width) >> level, Clamp(extents.Y1, height) >> level, 0); + var xy2 = new Offset3D(Clamp(extents.X2, width) >> level, Clamp(extents.Y2, height) >> level, 1); return (xy1, xy2); } @@ -48,26 +50,37 @@ namespace Ryujinx.Graphics.Vulkan dstAspectFlags = dstInfo.Format.ConvertAspectFlags(); } - var srcSl = new ImageSubresourceLayers(srcAspectFlags, (uint)srcLevel, (uint)srcLayer, 1); - var dstSl = new ImageSubresourceLayers(dstAspectFlags, (uint)dstLevel, (uint)dstLayer, 1); - var srcOffsets = new ImageBlit.SrcOffsetsBuffer(); var dstOffsets = new ImageBlit.DstOffsetsBuffer(); - (srcOffsets.Element0, srcOffsets.Element1) = ExtentsToOffset3D(srcRegion, srcInfo.Width, srcInfo.Height); - (dstOffsets.Element0, dstOffsets.Element1) = ExtentsToOffset3D(dstRegion, dstInfo.Width, dstInfo.Height); - - var region = new ImageBlit() - { - SrcSubresource = srcSl, - SrcOffsets = srcOffsets, - DstSubresource = dstSl, - DstOffsets = dstOffsets - }; - var filter = linearFilter && !dstInfo.Format.IsDepthOrStencil() ? Filter.Linear : Filter.Nearest; - api.CmdBlitImage(commandBuffer, srcImage, ImageLayout.General, dstImage, ImageLayout.General, 1, region, filter); + for (int level = 0; level < levels; level++) + { + var srcSl = new ImageSubresourceLayers(srcAspectFlags, (uint)srcLevel, (uint)srcLayer, (uint)layers); + var dstSl = new ImageSubresourceLayers(dstAspectFlags, (uint)dstLevel, (uint)dstLayer, (uint)layers); + + (srcOffsets.Element0, srcOffsets.Element1) = ExtentsToOffset3D(srcRegion, srcInfo.Width, srcInfo.Height, level); + (dstOffsets.Element0, dstOffsets.Element1) = ExtentsToOffset3D(dstRegion, dstInfo.Width, dstInfo.Height, level); + + var region = new ImageBlit() + { + SrcSubresource = srcSl, + SrcOffsets = srcOffsets, + DstSubresource = dstSl, + DstOffsets = dstOffsets + }; + + api.CmdBlitImage(commandBuffer, srcImage, ImageLayout.General, dstImage, ImageLayout.General, 1, region, filter); + + srcLevel++; + dstLevel++; + + if (srcInfo.Target == Target.Texture3D || dstInfo.Target == Target.Texture3D) + { + layers = Math.Max(1, layers >> 1); + } + } } public static void Copy( diff --git a/Ryujinx.Graphics.Vulkan/TextureView.cs b/Ryujinx.Graphics.Vulkan/TextureView.cs index c17bc8e11..b6c47f213 100644 --- a/Ryujinx.Graphics.Vulkan/TextureView.cs +++ b/Ryujinx.Graphics.Vulkan/TextureView.cs @@ -261,6 +261,9 @@ namespace Ryujinx.Graphics.Vulkan bool srcUsesStorageFormat = src.VkFormat == src.Storage.VkFormat; bool dstUsesStorageFormat = dst.VkFormat == dst.Storage.VkFormat; + int layers = Math.Min(dst.Info.GetDepthOrLayers(), src.Info.GetDepthOrLayers()); + int levels = Math.Min(dst.Info.Levels, src.Info.Levels); + if (srcUsesStorageFormat && dstUsesStorageFormat) { if ((srcRegion.X1 | dstRegion.X1) == 0 && @@ -288,8 +291,8 @@ namespace Ryujinx.Graphics.Vulkan 0, 0, 0, - 1, - 1); + layers, + levels); return; } @@ -309,6 +312,8 @@ namespace Ryujinx.Graphics.Vulkan dst.FirstLayer, src.FirstLevel, dst.FirstLevel, + layers, + levels, linearFilter); return; @@ -336,6 +341,8 @@ namespace Ryujinx.Graphics.Vulkan 0, src.FirstLevel, 0, + layers, + levels, false, aspectFlags, aspectFlags); @@ -355,8 +362,8 @@ namespace Ryujinx.Graphics.Vulkan 0, 0, 0, - 1, - 1); + layers, + levels); } BlitAndCopy(ref d32StorageInfo, d32Storage, ImageAspectFlags.ImageAspectDepthBit); @@ -413,6 +420,8 @@ namespace Ryujinx.Graphics.Vulkan dst.FirstLevel, src.FirstLayer, dst.FirstLayer, + layers, + levels, linearFilter, ImageAspectFlags.ImageAspectColorBit, ImageAspectFlags.ImageAspectColorBit); From ceeb70a99612482befddb2606a8b2aceec361eb9 Mon Sep 17 00:00:00 2001 From: gdkchan Date: Sat, 4 Sep 2021 01:43:52 -0300 Subject: [PATCH 012/179] TextureStorage should hold a ref of the foreign storage, otherwise it might be freed while in use --- Ryujinx.Graphics.Vulkan/TextureStorage.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Ryujinx.Graphics.Vulkan/TextureStorage.cs b/Ryujinx.Graphics.Vulkan/TextureStorage.cs index 7d1e749b2..c9d2d34f1 100644 --- a/Ryujinx.Graphics.Vulkan/TextureStorage.cs +++ b/Ryujinx.Graphics.Vulkan/TextureStorage.cs @@ -33,6 +33,7 @@ namespace Ryujinx.Graphics.Vulkan private readonly Image _image; private readonly Auto _imageAuto; private readonly Auto _allocationAuto; + private Auto _foreignAllocationAuto; private Dictionary _aliasedStorages; @@ -140,6 +141,8 @@ namespace Ryujinx.Graphics.Vulkan } else { + _foreignAllocationAuto = foreignAllocation; + foreignAllocation.IncrementReferenceCount(); var allocation = foreignAllocation.GetUnsafe(); gd.Api.BindImageMemory(device, _image, allocation.Memory, allocation.Offset).ThrowOnError(); @@ -277,6 +280,8 @@ namespace Ryujinx.Graphics.Vulkan _imageAuto.Dispose(); _allocationAuto?.Dispose(); + _foreignAllocationAuto?.DecrementReferenceCount(); + _foreignAllocationAuto = null; } } } From c109410ccd4d3ecbb8843c06b6cc5929ef23b4ee Mon Sep 17 00:00:00 2001 From: gdkchan Date: Sat, 4 Sep 2021 02:03:56 -0300 Subject: [PATCH 013/179] New depth-stencil blit method for AMD --- Ryujinx.Graphics.Vulkan/FormatCapabilities.cs | 3 +- Ryujinx.Graphics.Vulkan/TextureStorage.cs | 109 ++++++- Ryujinx.Graphics.Vulkan/TextureView.cs | 274 ++++++++++++++---- .../VulkanConfiguration.cs | 2 + 4 files changed, 332 insertions(+), 56 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/FormatCapabilities.cs b/Ryujinx.Graphics.Vulkan/FormatCapabilities.cs index 456eb4ebe..be2ead0bf 100644 --- a/Ryujinx.Graphics.Vulkan/FormatCapabilities.cs +++ b/Ryujinx.Graphics.Vulkan/FormatCapabilities.cs @@ -56,7 +56,8 @@ namespace Ryujinx.Graphics.Vulkan requiredFeatures |= FormatFeatureFlags.FormatFeatureStorageImageBit; } - if (!FormatSupports(srcFormat, requiredFeatures)) + if (!FormatSupports(srcFormat, requiredFeatures) || + (srcFormat == GAL.Format.D24UnormS8Uint && VulkanConfiguration.ForceD24S8Unsupported)) { // The format is not supported. Can we convert it to a higher precision format? if (srcFormat == GAL.Format.D24UnormS8Uint) diff --git a/Ryujinx.Graphics.Vulkan/TextureStorage.cs b/Ryujinx.Graphics.Vulkan/TextureStorage.cs index c9d2d34f1..4e351bcd6 100644 --- a/Ryujinx.Graphics.Vulkan/TextureStorage.cs +++ b/Ryujinx.Graphics.Vulkan/TextureStorage.cs @@ -3,6 +3,7 @@ using Silk.NET.Vulkan; using System; using System.Collections.Generic; using System.Numerics; +using VkBuffer = Silk.NET.Vulkan.Buffer; using VkFormat = Silk.NET.Vulkan.Format; namespace Ryujinx.Graphics.Vulkan @@ -28,7 +29,9 @@ namespace Ryujinx.Graphics.Vulkan private readonly Device _device; - private readonly TextureCreateInfo _info; + private TextureCreateInfo _info; + + public TextureCreateInfo Info => _info; private readonly Image _image; private readonly Auto _imageAuto; @@ -175,7 +178,7 @@ namespace Ryujinx.Graphics.Vulkan { _aliasedStorages ??= new Dictionary(); - var info = NewCreateInfoWith(_info, format, _info.BytesPerPixel); + var info = NewCreateInfoWith(ref _info, format, _info.BytesPerPixel); storage = new TextureStorage(_gd, default, _device, info, ScaleFactor, _allocationAuto); @@ -185,11 +188,21 @@ namespace Ryujinx.Graphics.Vulkan return storage; } - public static TextureCreateInfo NewCreateInfoWith(TextureCreateInfo info, GAL.Format format, int bytesPerPixel) + public static TextureCreateInfo NewCreateInfoWith(ref TextureCreateInfo info, GAL.Format format, int bytesPerPixel) + { + return NewCreateInfoWith(ref info, format, bytesPerPixel, info.Width, info.Height); + } + + public static TextureCreateInfo NewCreateInfoWith( + ref TextureCreateInfo info, + GAL.Format format, + int bytesPerPixel, + int width, + int height) { return new TextureCreateInfo( - info.Width, - info.Height, + width, + height, info.Depth, info.Levels, info.Samples, @@ -266,6 +279,92 @@ namespace Ryujinx.Graphics.Vulkan return new TextureView(_gd, _device, info, this, firstLayer, firstLevel); } + public void CopyFromOrToBuffer( + CommandBuffer commandBuffer, + VkBuffer buffer, + Image image, + int size, + bool to, + int x, + int y, + int dstLayer, + int dstLevel, + int dstLayers, + int dstLevels, + bool singleSlice, + ImageAspectFlags aspectFlags) + { + bool is3D = Info.Target == Target.Texture3D; + int width = Info.Width; + int height = Info.Height; + int depth = is3D && !singleSlice ? Info.Depth : 1; + int layer = is3D ? 0 : dstLayer; + int layers = dstLayers; + int levels = dstLevels; + + int offset = 0; + + for (int level = 0; level < levels; level++) + { + int mipSize = GetBufferDataLength(Info.GetMipSize(level)); + + int endOffset = offset + mipSize; + + if ((uint)endOffset > (uint)size) + { + break; + } + + int rowLength = (Info.GetMipStride(level) / Info.BytesPerPixel) * Info.BlockWidth; + + var sl = new ImageSubresourceLayers( + aspectFlags, + (uint)(dstLevel + level), + (uint)layer, + (uint)layers); + + var extent = new Extent3D((uint)width, (uint)height, (uint)depth); + + int z = is3D ? dstLayer : 0; + + var region = new BufferImageCopy((ulong)offset, (uint)rowLength, (uint)height, sl, new Offset3D(x, y, z), extent); + + if (to) + { + _gd.Api.CmdCopyImageToBuffer(commandBuffer, image, ImageLayout.General, buffer, 1, region); + } + else + { + _gd.Api.CmdCopyBufferToImage(commandBuffer, buffer, image, ImageLayout.General, 1, region); + } + + offset += mipSize; + + width = Math.Max(1, width >> 1); + height = Math.Max(1, height >> 1); + + if (Info.Target == Target.Texture3D) + { + depth = Math.Max(1, depth >> 1); + } + } + } + + private int GetBufferDataLength(int length) + { + if (NeedsD24S8Conversion()) + { + return length * 2; + } + + return length; + } + + private bool NeedsD24S8Conversion() + { + return Info.Format == GAL.Format.D24UnormS8Uint && VkFormat == VkFormat.D32SfloatS8Uint; + } + public void Dispose() { if (_aliasedStorages != null) diff --git a/Ryujinx.Graphics.Vulkan/TextureView.cs b/Ryujinx.Graphics.Vulkan/TextureView.cs index b6c47f213..69efcf61b 100644 --- a/Ryujinx.Graphics.Vulkan/TextureView.cs +++ b/Ryujinx.Graphics.Vulkan/TextureView.cs @@ -18,7 +18,9 @@ namespace Ryujinx.Graphics.Vulkan private readonly Auto _imageView2dArray; private BufferHolder _flushStorage; - public TextureCreateInfo Info { get; } + private TextureCreateInfo _info; + + public TextureCreateInfo Info => _info; public TextureStorage Storage { get; } @@ -41,7 +43,7 @@ namespace Ryujinx.Graphics.Vulkan { _gd = gd; _device = device; - Info = info; + _info = info; Storage = storage; FirstLayer = firstLayer; FirstLevel = firstLevel; @@ -320,54 +322,7 @@ namespace Ryujinx.Graphics.Vulkan } else if (srcFormat == GAL.Format.D32FloatS8Uint && srcFormat == dstFormat && SupportsBlitFromD32FS8ToD32FAndS8()) { - var d32StorageInfo = TextureStorage.NewCreateInfoWith(src.Info, GAL.Format.D32Float, 4); - var s8StorageInfo = TextureStorage.NewCreateInfoWith(dst.Info, GAL.Format.S8Uint, 1); - - using var d32Storage = _gd.CreateTextureStorage(d32StorageInfo, dst.Storage.ScaleFactor); - using var s8Storage = _gd.CreateTextureStorage(s8StorageInfo, dst.Storage.ScaleFactor); - - void BlitAndCopy(ref TextureCreateInfo info, TextureStorage storage, ImageAspectFlags aspectFlags) - { - TextureCopy.Blit( - _gd.Api, - cbs.CommandBuffer, - src.GetImage().Get(cbs).Value, - storage.GetImage().Get(cbs).Value, - src.Info, - info, - srcRegion, - dstRegion, - src.FirstLayer, - 0, - src.FirstLevel, - 0, - layers, - levels, - false, - aspectFlags, - aspectFlags); - - TextureCopy.Copy( - _gd.Api, - cbs.CommandBuffer, - storage.GetImage().Get(cbs).Value, - dst.GetImage().Get(cbs).Value, - info, - dst.Info, - 0, - dst.FirstLayer, - 0, - dst.FirstLevel, - 0, - 0, - 0, - 0, - layers, - levels); - } - - BlitAndCopy(ref d32StorageInfo, d32Storage, ImageAspectFlags.ImageAspectDepthBit); - BlitAndCopy(ref s8StorageInfo, s8Storage, ImageAspectFlags.ImageAspectStencilBit); + BlitDepthStencilWithBuffer(_gd, cbs, src, dst, srcRegion, dstRegion); return; } @@ -427,6 +382,225 @@ namespace Ryujinx.Graphics.Vulkan ImageAspectFlags.ImageAspectColorBit); } + private static void BlitDepthStencilWithBuffer( + VulkanGraphicsDevice gd, + CommandBufferScoped cbs, + TextureView src, + TextureView dst, + Extents2D srcRegion, + Extents2D dstRegion) + { + int drBaseX = Math.Min(dstRegion.X1, dstRegion.X2); + int drBaseY = Math.Min(dstRegion.Y1, dstRegion.Y2); + int drWidth = Math.Abs(dstRegion.X2 - dstRegion.X1); + int drHeight = Math.Abs(dstRegion.Y2 - dstRegion.Y1); + + var drOriginZero = new Extents2D( + dstRegion.X1 - drBaseX, + dstRegion.Y1 - drBaseY, + dstRegion.X2 - drBaseX, + dstRegion.Y2 - drBaseY); + + var d32SrcStorageInfo = TextureStorage.NewCreateInfoWith(ref src._info, GAL.Format.D32Float, 4); + var d32DstStorageInfo = TextureStorage.NewCreateInfoWith(ref dst._info, GAL.Format.D32Float, 4, drWidth, drHeight); + var s8SrcStorageInfo = TextureStorage.NewCreateInfoWith(ref src._info, GAL.Format.S8Uint, 1); + var s8DstStorageInfo = TextureStorage.NewCreateInfoWith(ref dst._info, GAL.Format.S8Uint, 1, drWidth, drHeight); + + using var d32SrcStorage = gd.CreateTextureStorage(d32SrcStorageInfo, src.Storage.ScaleFactor); + using var d32DstStorage = gd.CreateTextureStorage(d32DstStorageInfo, dst.Storage.ScaleFactor); + using var s8SrcStorage = gd.CreateTextureStorage(s8SrcStorageInfo, src.Storage.ScaleFactor); + using var s8DstStorage = gd.CreateTextureStorage(s8DstStorageInfo, dst.Storage.ScaleFactor); + + void SlowBlit(TextureStorage srcTemp, TextureStorage dstTemp, ImageAspectFlags aspectFlags) + { + int levels = Math.Min(src.Info.Levels, dst.Info.Levels); + + int srcSize = 0; + int dstSize = 0; + + for (int l = 0; l < levels; l++) + { + srcSize += srcTemp.Info.GetMipSize2D(l); + dstSize += dstTemp.Info.GetMipSize2D(l); + } + + using var srcTempBuffer = gd.BufferManager.Create(gd, srcSize); + using var dstTempBuffer = gd.BufferManager.Create(gd, dstSize); + + src.Storage.CopyFromOrToBuffer( + cbs.CommandBuffer, + srcTempBuffer.GetBuffer().Get(cbs, 0, srcSize).Value, + src.GetImage().Get(cbs).Value, + srcSize, + to: true, + 0, + 0, + src.FirstLayer, + src.FirstLevel, + 1, + levels, + true, + aspectFlags); + + BufferHolder.InsertBufferBarrier( + gd, + cbs.CommandBuffer, + srcTempBuffer.GetBuffer().Get(cbs, 0, srcSize).Value, + AccessFlags.AccessTransferWriteBit, + AccessFlags.AccessTransferReadBit, + PipelineStageFlags.PipelineStageTransferBit, + PipelineStageFlags.PipelineStageTransferBit, + 0, + srcSize); + + srcTemp.CopyFromOrToBuffer( + cbs.CommandBuffer, + srcTempBuffer.GetBuffer().Get(cbs, 0, srcSize).Value, + srcTemp.GetImage().Get(cbs).Value, + srcSize, + to: false, + 0, + 0, + 0, + 0, + 1, + levels, + true, + aspectFlags); + + InsertImageBarrier( + gd, + cbs.CommandBuffer, + srcTemp.GetImage().Get(cbs).Value, + AccessFlags.AccessTransferWriteBit, + AccessFlags.AccessTransferReadBit, + PipelineStageFlags.PipelineStageTransferBit, + PipelineStageFlags.PipelineStageTransferBit, + aspectFlags, + 0, + 0, + 1, + levels); + + TextureCopy.Blit( + gd.Api, + cbs.CommandBuffer, + srcTemp.GetImage().Get(cbs).Value, + dstTemp.GetImage().Get(cbs).Value, + srcTemp.Info, + dstTemp.Info, + srcRegion, + drOriginZero, + 0, + 0, + 0, + 0, + 1, + levels, + false, + aspectFlags, + aspectFlags); + + InsertImageBarrier( + gd, + cbs.CommandBuffer, + dstTemp.GetImage().Get(cbs).Value, + AccessFlags.AccessTransferWriteBit, + AccessFlags.AccessTransferReadBit, + PipelineStageFlags.PipelineStageTransferBit, + PipelineStageFlags.PipelineStageTransferBit, + aspectFlags, + 0, + 0, + 1, + levels); + + dstTemp.CopyFromOrToBuffer( + cbs.CommandBuffer, + dstTempBuffer.GetBuffer().Get(cbs, 0, dstSize).Value, + dstTemp.GetImage().Get(cbs).Value, + dstSize, + to: true, + 0, + 0, + 0, + 0, + 1, + levels, + true, + aspectFlags); + + BufferHolder.InsertBufferBarrier( + gd, + cbs.CommandBuffer, + dstTempBuffer.GetBuffer().Get(cbs, 0, dstSize).Value, + AccessFlags.AccessTransferWriteBit, + AccessFlags.AccessTransferReadBit, + PipelineStageFlags.PipelineStageTransferBit, + PipelineStageFlags.PipelineStageTransferBit, + 0, + dstSize); + + dst.Storage.CopyFromOrToBuffer( + cbs.CommandBuffer, + dstTempBuffer.GetBuffer().Get(cbs, 0, dstSize).Value, + dst.GetImage().Get(cbs).Value, + dstSize, + to: false, + drBaseX, + drBaseY, + dst.FirstLayer, + dst.FirstLevel, + 1, + levels, + true, + aspectFlags); + } + + SlowBlit(d32SrcStorage, d32DstStorage, ImageAspectFlags.ImageAspectDepthBit); + SlowBlit(s8SrcStorage, s8DstStorage, ImageAspectFlags.ImageAspectStencilBit); + } + + public static unsafe void InsertImageBarrier( + VulkanGraphicsDevice gd, + CommandBuffer commandBuffer, + Image image, + AccessFlags srcAccessMask, + AccessFlags dstAccessMask, + PipelineStageFlags srcStageMask, + PipelineStageFlags dstStageMask, + ImageAspectFlags aspectFlags, + int firstLayer, + int firstLevel, + int layers, + int levels) + { + ImageMemoryBarrier memoryBarrier = new ImageMemoryBarrier() + { + SType = StructureType.ImageMemoryBarrier, + SrcAccessMask = srcAccessMask, + DstAccessMask = dstAccessMask, + SrcQueueFamilyIndex = Vk.QueueFamilyIgnored, + DstQueueFamilyIndex = Vk.QueueFamilyIgnored, + Image = image, + OldLayout = ImageLayout.General, + NewLayout = ImageLayout.General, + SubresourceRange = new ImageSubresourceRange(aspectFlags, (uint)firstLevel, (uint)levels, (uint)firstLayer, (uint)layers) + }; + + gd.Api.CmdPipelineBarrier( + commandBuffer, + srcStageMask, + dstStageMask, + 0, + 0, + null, + 0, + null, + 1, + memoryBarrier); + } + private bool SupportsBlitFromD32FS8ToD32FAndS8() { var formatFeatureFlags = FormatFeatureFlags.FormatFeatureBlitSrcBit | FormatFeatureFlags.FormatFeatureBlitDstBit; diff --git a/Ryujinx.Graphics.Vulkan/VulkanConfiguration.cs b/Ryujinx.Graphics.Vulkan/VulkanConfiguration.cs index 6ca671b71..b4d25edee 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanConfiguration.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanConfiguration.cs @@ -7,5 +7,7 @@ public const bool UseFastBufferUpdates = true; public const bool UseGranularBufferTracking = false; public const bool UseSlowSafeBlitOnAmd = true; + + public const bool ForceD24S8Unsupported = false; } } From b7bf95c7545201c613aed90c759654f629d27f77 Mon Sep 17 00:00:00 2001 From: gdkchan Date: Fri, 8 Oct 2021 03:10:25 -0300 Subject: [PATCH 014/179] Workaround for AMD driver bug --- Ryujinx.Graphics.Vulkan/VulkanInitialization.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs b/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs index 9bb01515d..96ac76c66 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs @@ -347,13 +347,13 @@ namespace Ryujinx.Graphics.Vulkan var featuresIndexU8 = new PhysicalDeviceIndexTypeUint8FeaturesEXT() { SType = StructureType.PhysicalDeviceIndexTypeUint8FeaturesExt, - IndexTypeUint8 = supportedExtensions.Contains("VK_EXT_index_type_uint8") + IndexTypeUint8 = true }; var featuresTransformFeedback = new PhysicalDeviceTransformFeedbackFeaturesEXT() { SType = StructureType.PhysicalDeviceTransformFeedbackFeaturesExt, - PNext = &featuresIndexU8, + PNext = supportedExtensions.Contains("VK_EXT_index_type_uint8") ? &featuresIndexU8 : null, TransformFeedback = true }; From fa24c41d3287ae01f8a4b78a291a62bf85b32f74 Mon Sep 17 00:00:00 2001 From: gdk Date: Sat, 23 Oct 2021 00:52:23 -0300 Subject: [PATCH 015/179] Fix some tessellation related issues (still doesn't work?) --- .../CodeGen/Glsl/Declarations.cs | 18 ++++++++++++++++-- .../VulkanInitialization.cs | 1 + 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Glsl/Declarations.cs b/Ryujinx.Graphics.Shader/CodeGen/Glsl/Declarations.cs index b5fe0973a..d99f4df2a 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Glsl/Declarations.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Glsl/Declarations.cs @@ -567,9 +567,16 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl private static void DeclareInputAttributePerPatch(CodeGenContext context, int attr) { + string layout = string.Empty; + + if (context.Config.Options.TargetApi == TargetApi.Vulkan) + { + layout = $"layout (location = {32 + attr}) "; + } + string name = $"{DefaultNames.PerPatchAttributePrefix}{attr}"; - context.AppendLine($"patch in vec4 {name};"); + context.AppendLine($"{layout}patch in vec4 {name};"); } private static void DeclareOutputAttributes(CodeGenContext context, StructuredProgramInfo info) @@ -630,9 +637,16 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl private static void DeclareOutputAttributePerPatch(CodeGenContext context, int attr) { + string layout = string.Empty; + + if (context.Config.Options.TargetApi == TargetApi.Vulkan) + { + layout = $"layout (location = {32 + attr}) "; + } + string name = $"{DefaultNames.PerPatchAttributePrefix}{attr}"; - context.AppendLine($"patch out vec4 {name};"); + context.AppendLine($"{layout}patch out vec4 {name};"); } private static void DeclareSupportUniformBlock(CodeGenContext context, ShaderStage stage, int scaleElements) diff --git a/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs b/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs index 96ac76c66..9e4a363f9 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs @@ -341,6 +341,7 @@ namespace Ryujinx.Graphics.Vulkan ShaderImageGatherExtended = true, // ShaderStorageImageReadWithoutFormat = true, // ShaderStorageImageWriteWithoutFormat = true, + TessellationShader = true, VertexPipelineStoresAndAtomics = true }; From e9222a426ae300f5e05871f37a7847ae6085d36b Mon Sep 17 00:00:00 2001 From: riperiperi Date: Sun, 14 Nov 2021 14:37:11 +0000 Subject: [PATCH 016/179] Submit command buffer before Texture GetData. (UE4 fix) --- Ryujinx.Graphics.Vulkan/TextureView.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Ryujinx.Graphics.Vulkan/TextureView.cs b/Ryujinx.Graphics.Vulkan/TextureView.cs index 69efcf61b..7c463e38c 100644 --- a/Ryujinx.Graphics.Vulkan/TextureView.cs +++ b/Ryujinx.Graphics.Vulkan/TextureView.cs @@ -636,6 +636,8 @@ namespace Ryujinx.Graphics.Vulkan { if (_gd.CommandBufferPool.OwnedByCurrentThread) { + _gd.FlushAllCommands(); + return GetData(_gd.CommandBufferPool); } else if (_gd.BackgroundQueue.Handle != 0) From 5fbfa9a9bd8b2758059883e814e8604729d398fa Mon Sep 17 00:00:00 2001 From: gdk Date: Mon, 15 Nov 2021 14:18:17 -0300 Subject: [PATCH 017/179] DrawTexture support --- Ryujinx.Graphics.Vulkan/HelperShader.cs | 92 ++++++++++++++++++- Ryujinx.Graphics.Vulkan/PipelineBase.cs | 47 +++++++++- .../PipelineDynamicState.cs | 11 ++- 3 files changed, 144 insertions(+), 6 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/HelperShader.cs b/Ryujinx.Graphics.Vulkan/HelperShader.cs index 922db9172..5623aa186 100644 --- a/Ryujinx.Graphics.Vulkan/HelperShader.cs +++ b/Ryujinx.Graphics.Vulkan/HelperShader.cs @@ -155,6 +155,20 @@ void main() region[2] = (float)srcRegion.Y1 / src.Height; region[3] = (float)srcRegion.Y2 / src.Height; + if (dstRegion.X1 > dstRegion.X2) + { + float temp = region[0]; + region[0] = region[1]; + region[1] = temp; + } + + if (dstRegion.Y1 > dstRegion.Y2) + { + float temp = region[2]; + region[2] = region[3]; + region[3] = temp; + } + var bufferHandle = gd.BufferManager.CreateWithHandle(gd, RegionBufferSize); gd.BufferManager.SetData(bufferHandle, 0, region); @@ -167,8 +181,14 @@ void main() Span viewports = stackalloc GAL.Viewport[1]; + var rect = new Rectangle( + MathF.Min(dstRegion.X1, dstRegion.X2), + MathF.Min(dstRegion.Y1, dstRegion.Y2), + MathF.Abs(dstRegion.X2 - dstRegion.X1), + MathF.Abs(dstRegion.Y2 - dstRegion.Y1)); + viewports[0] = new GAL.Viewport( - new Rectangle(dstRegion.X1, dstRegion.Y1, dstRegion.X2 - dstRegion.X1, dstRegion.Y2 - dstRegion.Y1), + rect, ViewportSwizzle.PositiveX, ViewportSwizzle.PositiveY, ViewportSwizzle.PositiveZ, @@ -198,6 +218,76 @@ void main() gd.BufferManager.Delete(bufferHandle); } + public void DrawTexture( + VulkanGraphicsDevice gd, + PipelineBase pipeline, + TextureView src, + ISampler srcSampler, + Extents2DF srcRegion, + Extents2DF dstRegion) + { + const int RegionBufferSize = 16; + + pipeline.SetTextureAndSampler(32, src, srcSampler); + + Span region = stackalloc float[RegionBufferSize / sizeof(float)]; + + region[0] = srcRegion.X1 / src.Width; + region[1] = srcRegion.X2 / src.Width; + region[2] = srcRegion.Y1 / src.Height; + region[3] = srcRegion.Y2 / src.Height; + + if (dstRegion.X1 > dstRegion.X2) + { + float temp = region[0]; + region[0] = region[1]; + region[1] = temp; + } + + if (dstRegion.Y1 > dstRegion.Y2) + { + float temp = region[2]; + region[2] = region[3]; + region[3] = temp; + } + + var bufferHandle = gd.BufferManager.CreateWithHandle(gd, RegionBufferSize); + + gd.BufferManager.SetData(bufferHandle, 0, region); + + Span bufferRanges = stackalloc BufferRange[1]; + + bufferRanges[0] = new BufferRange(bufferHandle, 0, RegionBufferSize); + + pipeline.SetUniformBuffers(1, bufferRanges); + + Span viewports = stackalloc GAL.Viewport[1]; + + var rect = new Rectangle( + MathF.Min(dstRegion.X1, dstRegion.X2), + MathF.Min(dstRegion.Y1, dstRegion.Y2), + MathF.Abs(dstRegion.X2 - dstRegion.X1), + MathF.Abs(dstRegion.Y2 - dstRegion.Y1)); + + viewports[0] = new GAL.Viewport( + rect, + ViewportSwizzle.PositiveX, + ViewportSwizzle.PositiveY, + ViewportSwizzle.PositiveZ, + ViewportSwizzle.PositiveW, + 0f, + 1f); + + Span> scissors = stackalloc Rectangle[1]; + + pipeline.SetProgram(_programColorBlit); + pipeline.SetViewports(0, viewports); + pipeline.SetPrimitiveTopology(GAL.PrimitiveTopology.TriangleStrip); + pipeline.Draw(4, 1, 0, 0); + + gd.BufferManager.Delete(bufferHandle); + } + public unsafe void ConvertI8ToI16(VulkanGraphicsDevice gd, CommandBufferScoped cbs, BufferHolder src, BufferHolder dst, int srcOffset, int size) { // TODO: Do this with a compute shader? diff --git a/Ryujinx.Graphics.Vulkan/PipelineBase.cs b/Ryujinx.Graphics.Vulkan/PipelineBase.cs index c02b13517..007cb9c83 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineBase.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineBase.cs @@ -292,7 +292,50 @@ namespace Ryujinx.Graphics.Vulkan public void DrawTexture(ITexture texture, ISampler sampler, Extents2DF srcRegion, Extents2DF dstRegion) { - throw new NotImplementedException(); + if (texture is TextureView srcTexture) + { + var oldCullMode = _newState.CullMode; + var oldStencilTestEnable = _newState.StencilTestEnable; + var oldDepthTestEnable = _newState.DepthTestEnable; + var oldDepthWriteEnable = _newState.DepthWriteEnable; + var oldTopology = _newState.Topology; + var oldViewports = VulkanConfiguration.UseDynamicState ? _dynamicState.Viewports : _newState.Internal.Viewports; + var oldViewportsCount = _newState.ViewportsCount; + + _newState.CullMode = CullModeFlags.CullModeNone; + _newState.StencilTestEnable = false; + _newState.DepthTestEnable = false; + _newState.DepthWriteEnable = false; + SignalStateChange(); + + Gd.HelperShader.DrawTexture( + Gd, + this, + srcTexture, + sampler, + srcRegion, + dstRegion); + + _newState.CullMode = oldCullMode; + _newState.StencilTestEnable = oldStencilTestEnable; + _newState.DepthTestEnable = oldDepthTestEnable; + _newState.DepthWriteEnable = oldDepthWriteEnable; + _newState.Topology = oldTopology; + + if (VulkanConfiguration.UseDynamicState) + { + _dynamicState.Viewports = oldViewports; + _dynamicState.ViewportsCount = (int)oldViewportsCount; + _dynamicState.SetViewportsDirty(); + } + else + { + _newState.Internal.Viewports = oldViewports; + } + + _newState.ViewportsCount = oldViewportsCount; + SignalStateChange(); + } } public void EndTransformFeedback() @@ -425,7 +468,7 @@ namespace Ryujinx.Graphics.Vulkan public void SetFaceCulling(bool enable, Face face) { - _newState.CullMode = enable ? face.Convert() : 0; + _newState.CullMode = enable ? face.Convert() : CullModeFlags.CullModeNone; SignalStateChange(); } diff --git a/Ryujinx.Graphics.Vulkan/PipelineDynamicState.cs b/Ryujinx.Graphics.Vulkan/PipelineDynamicState.cs index 96b961800..2553101d7 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineDynamicState.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineDynamicState.cs @@ -20,7 +20,7 @@ namespace Ryujinx.Graphics.Vulkan private uint _frontReference; public int ViewportsCount; - private Array16 _viewports; + public Array16 Viewports; private enum DirtyFlags { @@ -70,11 +70,16 @@ namespace Ryujinx.Graphics.Vulkan public void SetViewport(int index, Viewport viewport) { - _viewports[index] = viewport; + Viewports[index] = viewport; _dirty |= DirtyFlags.Viewport; } + public void SetViewportsDirty() + { + _dirty |= DirtyFlags.Viewport; + } + public void ForceAllDirty() { _dirty = DirtyFlags.All; @@ -127,7 +132,7 @@ namespace Ryujinx.Graphics.Vulkan private void RecordViewport(Vk api, CommandBuffer commandBuffer) { - api.CmdSetViewport(commandBuffer, 0, (uint)ViewportsCount, _viewports.ToSpan()); + api.CmdSetViewport(commandBuffer, 0, (uint)ViewportsCount, Viewports.ToSpan()); } } } From ae783c5b5e31de14ec6a065f20b1b9546620b1b7 Mon Sep 17 00:00:00 2001 From: gdk Date: Mon, 15 Nov 2021 14:32:03 -0300 Subject: [PATCH 018/179] Fix BGRA on OpenGL backend --- Ryujinx.Graphics.Shader/Translation/EmitterContext.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs b/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs index d99389727..0ddeadf0e 100644 --- a/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs +++ b/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs @@ -234,6 +234,8 @@ namespace Ryujinx.Graphics.Shader.Translation } else if (Config.Stage == ShaderStage.Fragment) { + bool supportsBgra = Config.Options.TargetApi == TargetApi.Vulkan; + if (Config.OmapDepth) { Operand dest = Attribute(AttributeConsts.FragmentOutputDepth); From 616f14c46d98422f82993486f2382662d2f55791 Mon Sep 17 00:00:00 2001 From: gdk Date: Mon, 15 Nov 2021 14:36:07 -0300 Subject: [PATCH 019/179] Fix rebase build break --- .../CodeGen/Spirv/Instructions.cs | 16 ++++++++-------- .../Translation/EmitterContext.cs | 2 -- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs index e2baf5428..f00045942 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs @@ -60,10 +60,10 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv Add(Instruction.ConditionalSelect, GenerateConditionalSelect); Add(Instruction.ConvertFP32ToFP64, GenerateConvertFP32ToFP64); Add(Instruction.ConvertFP64ToFP32, GenerateConvertFP64ToFP32); - Add(Instruction.ConvertFP32ToS32, GenerateConvertFPToS32); - Add(Instruction.ConvertFP32ToU32, GenerateConvertFPToU32); - Add(Instruction.ConvertS32ToFP32, GenerateConvertS32ToFP); - Add(Instruction.ConvertU32ToFP32, GenerateConvertU32ToFP); + Add(Instruction.ConvertFP32ToS32, GenerateConvertFP32ToS32); + Add(Instruction.ConvertFP32ToU32, GenerateConvertFP32ToU32); + Add(Instruction.ConvertS32ToFP32, GenerateConvertS32ToFP32); + Add(Instruction.ConvertU32ToFP32, GenerateConvertU32ToFP32); Add(Instruction.Cosine, GenerateCosine); Add(Instruction.Ddx, GenerateDdx); Add(Instruction.Ddy, GenerateDdy); @@ -409,7 +409,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv return new OperationResult(AggregateType.FP32, context.FConvert(context.TypeFP32(), context.GetFP64(source))); } - private static OperationResult GenerateConvertFPToS32(CodeGenContext context, AstOperation operation) + private static OperationResult GenerateConvertFP32ToS32(CodeGenContext context, AstOperation operation) { var source = operation.GetSource(0); @@ -423,7 +423,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv } } - private static OperationResult GenerateConvertFPToU32(CodeGenContext context, AstOperation operation) + private static OperationResult GenerateConvertFP32ToU32(CodeGenContext context, AstOperation operation) { var source = operation.GetSource(0); @@ -437,7 +437,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv } } - private static OperationResult GenerateConvertS32ToFP(CodeGenContext context, AstOperation operation) + private static OperationResult GenerateConvertS32ToFP32(CodeGenContext context, AstOperation operation) { var source = operation.GetSource(0); @@ -451,7 +451,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv } } - private static OperationResult GenerateConvertU32ToFP(CodeGenContext context, AstOperation operation) + private static OperationResult GenerateConvertU32ToFP32(CodeGenContext context, AstOperation operation) { var source = operation.GetSource(0); diff --git a/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs b/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs index 0ddeadf0e..d99389727 100644 --- a/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs +++ b/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs @@ -234,8 +234,6 @@ namespace Ryujinx.Graphics.Shader.Translation } else if (Config.Stage == ShaderStage.Fragment) { - bool supportsBgra = Config.Options.TargetApi == TargetApi.Vulkan; - if (Config.OmapDepth) { Operand dest = Attribute(AttributeConsts.FragmentOutputDepth); From a9afcdfa10fc90e27abe3ffa5ce5d0e21bb6ecb5 Mon Sep 17 00:00:00 2001 From: gdk Date: Mon, 15 Nov 2021 15:47:26 -0300 Subject: [PATCH 020/179] Support format aliasing on SetImage --- .../DescriptorSetUpdater.cs | 9 ++-- Ryujinx.Graphics.Vulkan/TextureBuffer.cs | 35 +++++++++++++ Ryujinx.Graphics.Vulkan/TextureView.cs | 51 +++++++++++++++++++ 3 files changed, 92 insertions(+), 3 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs b/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs index 507b03bab..8a7743eeb 100644 --- a/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs +++ b/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs @@ -21,6 +21,7 @@ namespace Ryujinx.Graphics.Vulkan private Auto[] _imageRefs; private TextureBuffer[] _bufferTextureRefs; private TextureBuffer[] _bufferImageRefs; + private GAL.Format[] _bufferImageFormats; private DescriptorBufferInfo[] _uniformBuffers; private DescriptorBufferInfo[] _storageBuffers; @@ -113,9 +114,11 @@ namespace Ryujinx.Graphics.Vulkan { Array.Resize(ref _bufferImages, binding + 1); Array.Resize(ref _bufferImageRefs, binding + 1); + Array.Resize(ref _bufferImageFormats, binding + 1); } _bufferImageRefs[binding] = imageBuffer; + _bufferImageFormats[binding] = imageFormat; SignalDirty(DirtyFlags.BufferImage); } @@ -127,9 +130,9 @@ namespace Ryujinx.Graphics.Vulkan Array.Resize(ref _imageRefs, binding + 1); } - if (image != null) + if (image is TextureView view) { - _imageRefs[binding] = ((TextureView)image).GetIdentityImageView(); + _imageRefs[binding] = view.GetView(imageFormat).GetIdentityImageView(); _images[binding] = new DescriptorImageInfo() { ImageLayout = ImageLayout.General @@ -432,7 +435,7 @@ namespace Ryujinx.Graphics.Vulkan for (int i = 0; i < count; i++) { - _bufferImages[binding + i] = _bufferImageRefs[binding + i]?.GetBufferView(cbs) ?? default; + _bufferImages[binding + i] = _bufferImageRefs[binding + i]?.GetBufferView(cbs, _bufferImageFormats[binding + i]) ?? default; } ReadOnlySpan bufferImages = _bufferImages; diff --git a/Ryujinx.Graphics.Vulkan/TextureBuffer.cs b/Ryujinx.Graphics.Vulkan/TextureBuffer.cs index cc1cc3f1f..941f41b41 100644 --- a/Ryujinx.Graphics.Vulkan/TextureBuffer.cs +++ b/Ryujinx.Graphics.Vulkan/TextureBuffer.cs @@ -1,6 +1,7 @@ using Ryujinx.Graphics.GAL; using Silk.NET.Vulkan; using System; +using System.Collections.Generic; using VkFormat = Silk.NET.Vulkan.Format; namespace Ryujinx.Graphics.Vulkan @@ -13,6 +14,7 @@ namespace Ryujinx.Graphics.Vulkan private int _offset; private int _size; private Auto _bufferView; + private Dictionary> _selfManagedViews; public int Width { get; } public int Height { get; } @@ -72,6 +74,16 @@ namespace Ryujinx.Graphics.Vulkan private void ReleaseImpl() { + if (_selfManagedViews != null) + { + foreach (var bufferView in _selfManagedViews.Values) + { + bufferView.Dispose(); + } + + _selfManagedViews = null; + } + _bufferView?.Dispose(); _bufferView = null; } @@ -111,5 +123,28 @@ namespace Ryujinx.Graphics.Vulkan return _bufferView?.Get(cbs, _offset, _size).Value ?? default; } + + public BufferView GetBufferView(CommandBufferScoped cbs, GAL.Format format) + { + var vkFormat = FormatTable.GetFormat(format); + if (vkFormat == VkFormat) + { + return GetBufferView(cbs); + } + + if (_selfManagedViews != null && _selfManagedViews.TryGetValue(format, out var bufferView)) + { + return bufferView.Get(cbs, _offset, _size).Value; + } + + bufferView = _gd.BufferManager.CreateView(_bufferHandle, vkFormat, _offset, _size); + + if (bufferView != null) + { + (_selfManagedViews ??= new Dictionary>()).Add(format, bufferView); + } + + return bufferView?.Get(cbs, _offset, _size).Value ?? default; + } } } diff --git a/Ryujinx.Graphics.Vulkan/TextureView.cs b/Ryujinx.Graphics.Vulkan/TextureView.cs index 7c463e38c..ddeec1819 100644 --- a/Ryujinx.Graphics.Vulkan/TextureView.cs +++ b/Ryujinx.Graphics.Vulkan/TextureView.cs @@ -1,6 +1,7 @@ using Ryujinx.Graphics.GAL; using Silk.NET.Vulkan; using System; +using System.Collections.Generic; using System.Threading; using VkBuffer = Silk.NET.Vulkan.Buffer; using VkFormat = Silk.NET.Vulkan.Format; @@ -17,6 +18,7 @@ namespace Ryujinx.Graphics.Vulkan private readonly Auto _imageViewIdentity; private readonly Auto _imageView2dArray; private BufferHolder _flushStorage; + private Dictionary _selfManagedViews; private TextureCreateInfo _info; @@ -608,7 +610,46 @@ namespace Ryujinx.Graphics.Vulkan _gd.FormatCapabilities.FormatSupports(GAL.Format.S8Uint, formatFeatureFlags); } + public TextureView GetView(GAL.Format format) + { + if (format == Info.Format) + { + return this; + } + + if (_selfManagedViews != null && _selfManagedViews.TryGetValue(format, out var view)) + { + return view; + } + + view = CreateViewImpl(new TextureCreateInfo( + Info.Width, + Info.Height, + Info.Depth, + Info.Levels, + Info.Samples, + Info.BlockWidth, + Info.BlockHeight, + Info.BytesPerPixel, + format, + Info.DepthStencilMode, + Info.Target, + Info.SwizzleR, + Info.SwizzleG, + Info.SwizzleB, + Info.SwizzleA), 0, 0); + + (_selfManagedViews ??= new Dictionary()).Add(format, view); + + return view; + } + public ITexture CreateView(TextureCreateInfo info, int firstLayer, int firstLevel) + { + return CreateViewImpl(info, firstLayer, firstLevel); + } + + private TextureView CreateViewImpl(TextureCreateInfo info, int firstLayer, int firstLevel) { return new TextureView(_gd, _device, info, Storage, FirstLayer + firstLayer, FirstLevel + firstLevel); } @@ -921,6 +962,16 @@ namespace Ryujinx.Graphics.Vulkan public void Dispose() { + if (_selfManagedViews != null) + { + foreach (var view in _selfManagedViews.Values) + { + view.Dispose(); + } + + _selfManagedViews = null; + } + Dispose(true); } From db3a28f7316bb09e57830a3365ec34f1a279aa6a Mon Sep 17 00:00:00 2001 From: gdk Date: Sat, 27 Nov 2021 19:29:27 -0300 Subject: [PATCH 021/179] Fix uniform buffers being lost when bindings are out of order --- Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs b/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs index 8a7743eeb..e5b10cbbb 100644 --- a/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs +++ b/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs @@ -211,8 +211,11 @@ namespace Ryujinx.Graphics.Vulkan public void SetUniformBuffers(CommandBuffer commandBuffer, int first, ReadOnlySpan buffers) { - Array.Resize(ref _uniformBuffers, first + buffers.Length); - Array.Resize(ref _uniformBufferRefs, first + buffers.Length); + if (_uniformBuffers.Length < first + buffers.Length) + { + Array.Resize(ref _uniformBuffers, first + buffers.Length); + Array.Resize(ref _uniformBufferRefs, first + buffers.Length); + } for (int i = 0; i < buffers.Length; i++) { From f6c2f7a8d65aa04fa243b7d573e957bc16218eef Mon Sep 17 00:00:00 2001 From: riperiperi Date: Fri, 3 Dec 2021 17:01:00 +0000 Subject: [PATCH 022/179] Fix storage buffers being lost when bindings are out of order (also avoid allocations when changing bindings) --- Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs b/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs index e5b10cbbb..3c3f69824 100644 --- a/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs +++ b/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs @@ -145,8 +145,11 @@ namespace Ryujinx.Graphics.Vulkan public void SetStorageBuffers(CommandBuffer commandBuffer, int first, ReadOnlySpan buffers) { - Array.Resize(ref _storageBuffers, first + buffers.Length); - Array.Resize(ref _storageBufferRefs, first + buffers.Length); + if (_storageBuffers.Length < first + buffers.Length) + { + Array.Resize(ref _storageBuffers, first + buffers.Length); + Array.Resize(ref _storageBufferRefs, first + buffers.Length); + } for (int i = 0; i < buffers.Length; i++) { From 76a5beeb7091077c77fafa1ff8e6a22640243324 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Fri, 3 Dec 2021 17:01:51 +0000 Subject: [PATCH 023/179] Use current command buffer for unscaled copy (perf) Avoids flushing commands and renting a command buffer when fulfilling copy dependencies and when games do unscaled copies. --- Ryujinx.Graphics.Vulkan/TextureView.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/TextureView.cs b/Ryujinx.Graphics.Vulkan/TextureView.cs index ddeec1819..9ec32dc1f 100644 --- a/Ryujinx.Graphics.Vulkan/TextureView.cs +++ b/Ryujinx.Graphics.Vulkan/TextureView.cs @@ -187,8 +187,6 @@ namespace Ryujinx.Graphics.Vulkan public void CopyTo(ITexture destination, int srcLayer, int dstLayer, int srcLevel, int dstLevel) { - _gd.FlushAllCommands(); - var src = this; var dst = (TextureView)destination; @@ -197,7 +195,9 @@ namespace Ryujinx.Graphics.Vulkan return; } - using var cbs = _gd.CommandBufferPool.Rent(); + _gd.PipelineInternal.EndRenderPass(); + + var cbs = _gd.PipelineInternal.CurrentCommandBuffer; var srcImage = src.GetImage().Get(cbs).Value; var dstImage = dst.GetImage().Get(cbs).Value; From d4e4ae60d5fa8b418707e7eaa650597c03c43158 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Fri, 3 Dec 2021 18:12:36 +0000 Subject: [PATCH 024/179] Update to .net6 --- Ryujinx.Graphics.Vulkan/Ryujinx.Graphics.Vulkan.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ryujinx.Graphics.Vulkan/Ryujinx.Graphics.Vulkan.csproj b/Ryujinx.Graphics.Vulkan/Ryujinx.Graphics.Vulkan.csproj index 8592362ee..6a043dad6 100644 --- a/Ryujinx.Graphics.Vulkan/Ryujinx.Graphics.Vulkan.csproj +++ b/Ryujinx.Graphics.Vulkan/Ryujinx.Graphics.Vulkan.csproj @@ -1,4 +1,4 @@ - + net6.0 From 51bd7454bd8fae36aaa3340c0cf3a95201c2da15 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Fri, 3 Dec 2021 19:06:01 +0000 Subject: [PATCH 025/179] Update Silk.NET to version 2.10.1 Somehow, massive performance boost. Seems like their vtable for looking up vulkan methods was really slow before. --- Ryujinx.Graphics.Vulkan/Ryujinx.Graphics.Vulkan.csproj | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/Ryujinx.Graphics.Vulkan.csproj b/Ryujinx.Graphics.Vulkan/Ryujinx.Graphics.Vulkan.csproj index 6a043dad6..e28134a71 100644 --- a/Ryujinx.Graphics.Vulkan/Ryujinx.Graphics.Vulkan.csproj +++ b/Ryujinx.Graphics.Vulkan/Ryujinx.Graphics.Vulkan.csproj @@ -15,9 +15,9 @@ - - - + + + From d55f6649081dffd3e73d9b7079ac6c8e27c38f94 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Sat, 4 Dec 2021 23:02:15 +0000 Subject: [PATCH 026/179] Fix PrimitivesGenerated query, disable Transform Feedback queries for now Lets Splatoon 2 work on nvidia. (mostly) --- Ryujinx.Graphics.Vulkan/Queries/BufferedQuery.cs | 13 +++++++++---- Ryujinx.Graphics.Vulkan/Queries/CounterQueue.cs | 2 +- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/Queries/BufferedQuery.cs b/Ryujinx.Graphics.Vulkan/Queries/BufferedQuery.cs index 9efdf2675..092376d99 100644 --- a/Ryujinx.Graphics.Vulkan/Queries/BufferedQuery.cs +++ b/Ryujinx.Graphics.Vulkan/Queries/BufferedQuery.cs @@ -27,12 +27,17 @@ namespace Ryujinx.Graphics.Vulkan.Queries _api = gd.Api; _device = device; _pipeline = pipeline; + _type = type; + + QueryPipelineStatisticFlags flags = type == CounterType.PrimitivesGenerated ? + QueryPipelineStatisticFlags.QueryPipelineStatisticGeometryShaderPrimitivesBit : 0; var queryPoolCreateInfo = new QueryPoolCreateInfo() { SType = StructureType.QueryPoolCreateInfo, QueryCount = 1, - QueryType = GetQueryType(type) + QueryType = GetQueryType(type), + PipelineStatistics = flags }; gd.Api.CreateQueryPool(device, queryPoolCreateInfo, null, out _queryPool).ThrowOnError(); @@ -40,7 +45,7 @@ namespace Ryujinx.Graphics.Vulkan.Queries var buffer = gd.BufferManager.Create(gd, sizeof(long), forConditionalRendering: true); _bufferMap = buffer.Map(0, sizeof(long)); - Marshal.WriteInt64(_bufferMap, -1L); + Marshal.WriteInt64(_bufferMap, DefaultValue); _buffer = buffer; } @@ -77,7 +82,7 @@ namespace Ryujinx.Graphics.Vulkan.Queries if (withResult) { - Marshal.WriteInt64(_bufferMap, -1L); + Marshal.WriteInt64(_bufferMap, DefaultValue); _pipeline.CopyQueryResults(_queryPool, _buffer); // _pipeline.FlushCommandsImpl(); } @@ -115,7 +120,7 @@ namespace Ryujinx.Graphics.Vulkan.Queries if (iterations >= MaxQueryRetries) { - Logger.Error?.Print(LogClass.Gpu, $"Error: Query result timed out. Took more than {MaxQueryRetries} tries."); + Logger.Error?.Print(LogClass.Gpu, $"Error: Query result {_type} timed out. Took more than {MaxQueryRetries} tries."); } } diff --git a/Ryujinx.Graphics.Vulkan/Queries/CounterQueue.cs b/Ryujinx.Graphics.Vulkan/Queries/CounterQueue.cs index 939bcd006..197cd5b5c 100644 --- a/Ryujinx.Graphics.Vulkan/Queries/CounterQueue.cs +++ b/Ryujinx.Graphics.Vulkan/Queries/CounterQueue.cs @@ -117,7 +117,7 @@ namespace Ryujinx.Graphics.Vulkan.Queries _current.ReserveForHostAccess(); } - if (draws > 0) + if (draws > 0 && Type != CounterType.TransformFeedbackPrimitivesWritten) { _current.Complete(true); _events.Enqueue(_current); From 23b8bd86426ef0c06467f9d700c098f8a895bfe4 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Wed, 8 Dec 2021 13:17:21 +0000 Subject: [PATCH 027/179] Update counter queue to be similar to the OGL one Fixes softlocks when games had to flush counters. --- Ryujinx.Graphics.Vulkan/PipelineFull.cs | 19 +++++--- .../Queries/CounterQueue.cs | 47 +++++++++---------- 2 files changed, 34 insertions(+), 32 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/PipelineFull.cs b/Ryujinx.Graphics.Vulkan/PipelineFull.cs index 0d461b213..e25f8bdf0 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineFull.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineFull.cs @@ -206,16 +206,25 @@ namespace Ryujinx.Graphics.Vulkan // The GPU will flush the queries to CPU and evaluate the condition there instead. - FlushCommandsImpl(); // The thread will be stalled manually flushing the counter, so flush GL commands now. + FlushPendingQuery(); // The thread will be stalled manually flushing the counter, so flush commands now. return false; } public bool TryHostConditionalRendering(ICounterEvent value, ICounterEvent compare, bool isEqual) { - FlushCommandsImpl(); // The thread will be stalled manually flushing the counter, so flush GL commands now. + FlushPendingQuery(); // The thread will be stalled manually flushing the counter, so flush commands now. return false; } + private void FlushPendingQuery() + { + if (_hasPendingQuery) + { + _hasPendingQuery = false; + FlushCommandsImpl(); + } + } + public void FlushCommandsImpl([System.Runtime.CompilerServices.CallerMemberName] string caller = "") { // System.Console.WriteLine("flush by " + caller); @@ -285,11 +294,7 @@ namespace Ryujinx.Graphics.Vulkan protected override void SignalProgramChange() { - if (_hasPendingQuery) - { - _hasPendingQuery = false; - FlushCommandsImpl(); - } + FlushPendingQuery(); } } } diff --git a/Ryujinx.Graphics.Vulkan/Queries/CounterQueue.cs b/Ryujinx.Graphics.Vulkan/Queries/CounterQueue.cs index 197cd5b5c..6f0b25c60 100644 --- a/Ryujinx.Graphics.Vulkan/Queries/CounterQueue.cs +++ b/Ryujinx.Graphics.Vulkan/Queries/CounterQueue.cs @@ -21,12 +21,14 @@ namespace Ryujinx.Graphics.Vulkan.Queries private CounterQueueEvent _current; private ulong _accumulatedCounter; + private int _waiterCount; private object _lock = new object(); private Queue _queryPool; private AutoResetEvent _queuedEvent = new AutoResetEvent(false); private AutoResetEvent _wakeSignal = new AutoResetEvent(false); + private AutoResetEvent _eventConsumed = new AutoResetEvent(false); private Thread _consumerThread; @@ -69,7 +71,13 @@ namespace Ryujinx.Graphics.Vulkan.Queries } else { - evt.TryConsume(ref _accumulatedCounter, true, _wakeSignal); + // Spin-wait rather than sleeping if there are any waiters, by passing null instead of the wake signal. + evt.TryConsume(ref _accumulatedCounter, true, _waiterCount == 0 ? _wakeSignal : null); + } + + if (_waiterCount > 0) + { + _eventConsumed.Set(); } } } @@ -175,32 +183,17 @@ namespace Ryujinx.Graphics.Vulkan.Queries public void FlushTo(CounterQueueEvent evt) { - lock (_lock) + // Flush the counter queue on the main thread. + Interlocked.Increment(ref _waiterCount); + + _wakeSignal.Set(); + + while (!evt.Disposed) { - if (evt.Disposed) - { - return; - } - - // Tell the queue to process all events up to this one. - while (_events.Count > 0) - { - CounterQueueEvent flush = _events.Peek(); - - if (flush.DrawIndex > evt.DrawIndex) - { - return; - } - - _events.Dequeue(); - flush.TryConsume(ref _accumulatedCounter, true); - - if (flush == evt) - { - return; - } - } + _eventConsumed.WaitOne(1); } + + Interlocked.Decrement(ref _waiterCount); } public void Dispose() @@ -227,6 +220,10 @@ namespace Ryujinx.Graphics.Vulkan.Queries { query.Dispose(); } + + _queuedEvent.Dispose(); + _wakeSignal.Dispose(); + _eventConsumed.Dispose(); } } } From 5590811ea39a2cd17be351785ffdea24d060cae8 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Wed, 8 Dec 2021 13:20:43 +0000 Subject: [PATCH 028/179] Don't throw when ending conditional rendering for now This should be re-enabled when conditional rendering is enabled on nvidia etc. --- Ryujinx.Graphics.Vulkan/PipelineFull.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ryujinx.Graphics.Vulkan/PipelineFull.cs b/Ryujinx.Graphics.Vulkan/PipelineFull.cs index e25f8bdf0..545e8fc0c 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineFull.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineFull.cs @@ -165,7 +165,7 @@ namespace Ryujinx.Graphics.Vulkan } else { - throw new NotSupportedException(); + // throw new NotSupportedException(); } } From 393d0a6134641c448cddc2ac692247a709ff9e52 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Wed, 8 Dec 2021 13:52:45 +0000 Subject: [PATCH 029/179] Update findMSB/findLSB to match master's instruction enum --- Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs index f00045942..23586e305 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs @@ -70,6 +70,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv Add(Instruction.Discard, GenerateDiscard); Add(Instruction.Divide, GenerateDivide); Add(Instruction.ExponentB2, GenerateExponentB2); + Add(Instruction.FindLSB, GenerateFindLSB); Add(Instruction.FindMSBS32, GenerateFindMSBS32); Add(Instruction.FindMSBU32, GenerateFindMSBU32); Add(Instruction.Floor, GenerateFloor); @@ -496,10 +497,16 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv return GenerateUnaryExtInst(context, operation, 29); } + private static OperationResult GenerateFindLSB(CodeGenContext context, AstOperation operation) + { + var source = context.GetU32(operation.GetSource(0)); + return new OperationResult(AggregateType.U32, context.ExtInst(context.TypeU32(), context.ExtSet, 74, source)); + } + private static OperationResult GenerateFindMSBS32(CodeGenContext context, AstOperation operation) { var source = context.GetS32(operation.GetSource(0)); - return new OperationResult(AggregateType.U32, context.ExtInst(context.TypeU32(), context.ExtSet, 74, source)); + return new OperationResult(AggregateType.U32, context.ExtInst(context.TypeU32(), context.ExtSet, 75, source)); } private static OperationResult GenerateFindMSBU32(CodeGenContext context, AstOperation operation) From cd01a2f74aea8729c22eeee7e6b431ec1cd72bdd Mon Sep 17 00:00:00 2001 From: gdk Date: Thu, 9 Dec 2021 20:04:31 -0300 Subject: [PATCH 030/179] Fix triangle overlay on SMO, Captain Toad, maybe others? --- .../Engine/Threed/StateUpdater.cs | 5 +++-- Ryujinx.Graphics.Vulkan/BufferState.cs | 16 +++++++++++++++- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs b/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs index dbb5327ed..2482d3e9f 100644 --- a/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs +++ b/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs @@ -953,6 +953,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed _drawState.IsAnyVbInstanced |= divisor != 0; + ulong vbSize = endAddress.Pack() - address + 1; ulong size; if (_drawState.IbStreamer.HasInlineIndexData || _drawState.DrawIndexed || stride == 0 || instanced) @@ -960,7 +961,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed // This size may be (much) larger than the real vertex buffer size. // Avoid calculating it this way, unless we don't have any other option. - size = endAddress.Pack() - address + 1; + size = vbSize; if (stride > 0 && indexTypeSmall && _drawState.DrawIndexed && !instanced) { @@ -984,7 +985,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed var drawState = _state.State.VertexBufferDrawState; - size = (ulong)((firstInstance + drawState.First + drawState.Count) * stride); + size = Math.Min(vbSize, (ulong)((firstInstance + drawState.First + drawState.Count) * stride)); } _channel.BufferManager.SetVertexBuffer(index, address, size, stride, divisor); diff --git a/Ryujinx.Graphics.Vulkan/BufferState.cs b/Ryujinx.Graphics.Vulkan/BufferState.cs index 80fc49036..ccf2aca0e 100644 --- a/Ryujinx.Graphics.Vulkan/BufferState.cs +++ b/Ryujinx.Graphics.Vulkan/BufferState.cs @@ -57,7 +57,21 @@ namespace Ryujinx.Graphics.Vulkan { var buffer = _buffer.Get(cbs, _offset, _size).Value; - gd.Api.CmdBindVertexBuffers(cbs.CommandBuffer, binding, 1, buffer, (ulong)_offset); + if (gd.Capabilities.SupportsExtendedDynamicState) + { + gd.ExtendedDynamicStateApi.CmdBindVertexBuffers2( + cbs.CommandBuffer, + binding, + 1, + buffer, + (ulong)_offset, + (ulong)_size, + _stride); + } + else + { + gd.Api.CmdBindVertexBuffers(cbs.CommandBuffer, binding, 1, buffer, (ulong)_offset); + } } } From 5738b66b75b74fcfe1e76c005851c2754ccc54e6 Mon Sep 17 00:00:00 2001 From: gdk Date: Thu, 9 Dec 2021 20:07:15 -0300 Subject: [PATCH 031/179] Don't make Intel Mesa pay for Intel Windows bugs --- Ryujinx.Graphics.Vulkan/BufferHolder.cs | 2 +- Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/BufferHolder.cs b/Ryujinx.Graphics.Vulkan/BufferHolder.cs index 77ec623e2..2f1d2b489 100644 --- a/Ryujinx.Graphics.Vulkan/BufferHolder.cs +++ b/Ryujinx.Graphics.Vulkan/BufferHolder.cs @@ -243,7 +243,7 @@ namespace Ryujinx.Graphics.Vulkan data.Length); // Not flushing commands here causes glitches on Intel (driver bug?) - if (_gd.Vendor == Vendor.Intel) + if (_gd.IsIntelWindows) { _gd.FlushAllCommands(); } diff --git a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs index 81c0269b8..00ffb327b 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs @@ -73,6 +73,7 @@ namespace Ryujinx.Graphics.Vulkan private Func GetRequiredExtensions; internal Vendor Vendor { get; private set; } + internal bool IsIntelWindows { get; private set; } public string GpuVendor { get; private set; } public string GpuRenderer { get; private set; } public string GpuVersion { get; private set; } @@ -266,7 +267,7 @@ namespace Ryujinx.Graphics.Vulkan return new Capabilities( api: TargetApi.Vulkan, GpuVendor, - hasFrontFacingBug: Vendor == Vendor.Intel && RuntimeInformation.IsOSPlatform(OSPlatform.Windows), + hasFrontFacingBug: IsIntelWindows, hasVectorIndexingBug: false, supportsAstcCompression: features.TextureCompressionAstcLdr, supports3DTextureCompression: true, @@ -341,6 +342,8 @@ namespace Ryujinx.Graphics.Vulkan _ => Vendor.Unknown }; + IsIntelWindows = Vendor == Vendor.Intel && RuntimeInformation.IsOSPlatform(OSPlatform.Windows); + GpuVendor = vendorName; GpuRenderer = Marshal.PtrToStringAnsi((IntPtr)properties.DeviceName); GpuVersion = $"Vulkan v{ParseStandardVulkanVersion(properties.ApiVersion)}, Driver v{ParseDriverVersion(ref properties)}"; From adfba37a3f6c46d6e43642f39e285765d5847c21 Mon Sep 17 00:00:00 2001 From: gdk Date: Fri, 10 Dec 2021 21:29:10 -0300 Subject: [PATCH 032/179] Fix samplers with MinFilter Linear or Nearest (fixes New Super Mario Bros U Deluxe black borders) --- Ryujinx.Graphics.Vulkan/SamplerHolder.cs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/SamplerHolder.cs b/Ryujinx.Graphics.Vulkan/SamplerHolder.cs index 6d78eee68..a7e493f92 100644 --- a/Ryujinx.Graphics.Vulkan/SamplerHolder.cs +++ b/Ryujinx.Graphics.Vulkan/SamplerHolder.cs @@ -16,6 +16,15 @@ namespace Ryujinx.Graphics.Vulkan (Filter minFilter, SamplerMipmapMode mipFilter) = EnumConversion.Convert(info.MinFilter); + float minLod = info.MinLod; + float maxLod = info.MaxLod; + + if (info.MinFilter == MinFilter.Nearest || info.MinFilter == MinFilter.Linear) + { + minLod = 0; + maxLod = 0.25f; + } + var borderColor = GetConstrainedBorderColor(info.BorderColor, out var cantConstrain); var samplerCreateInfo = new Silk.NET.Vulkan.SamplerCreateInfo() @@ -32,8 +41,8 @@ namespace Ryujinx.Graphics.Vulkan MaxAnisotropy = info.MaxAnisotropy, CompareEnable = info.CompareMode == CompareMode.CompareRToTexture, CompareOp = info.CompareOp.Convert(), - MinLod = info.MinLod, - MaxLod = info.MaxLod, + MinLod = minLod, + MaxLod = maxLod, BorderColor = borderColor, UnnormalizedCoordinates = false // TODO: Use unnormalized coordinates. }; From 9a95c3c3bc04cc5100dc8f0aab780bcb4359ada3 Mon Sep 17 00:00:00 2001 From: gdk Date: Sat, 11 Dec 2021 20:12:44 -0300 Subject: [PATCH 033/179] Update Spv.Generator --- .../CodeGen/Spirv/CodeGenContext.cs | 8 - .../CodeGen/Spirv/Declarations.cs | 4 +- .../CodeGen/Spirv/Instructions.cs | 193 ++-- .../Ryujinx.Graphics.Shader.csproj | 2 +- .../Translation/AttributeInfo.cs | 84 +- Ryujinx.sln | 10 +- .../Autogenerated/CoreGrammar.cs | 464 ++++++---- .../Autogenerated/GlslStd450Grammar.cs | 441 +++++++++ Spv.Generator/Autogenerated/OpenClGrammar.cs | 841 ++++++++++++++++++ {SpvGen => Spv.Generator}/Instruction.cs | 10 +- {SpvGen => Spv.Generator}/LICENSE | 0 {SpvGen => Spv.Generator}/LiteralInteger.cs | 0 {SpvGen => Spv.Generator}/LiteralString.cs | 0 {SpvGen => Spv.Generator}/Module.cs | 31 +- {SpvGen => Spv.Generator}/Operand.cs | 0 {SpvGen => Spv.Generator}/OperandType.cs | 0 Spv.Generator/Spv.Generator.csproj | 7 + .../Autogenerated => Spv.Generator}/spirv.cs | 94 +- SpvGen/Spv.Generator.csproj | 12 - 19 files changed, 1819 insertions(+), 382 deletions(-) rename {SpvGen => Spv.Generator}/Autogenerated/CoreGrammar.cs (95%) create mode 100644 Spv.Generator/Autogenerated/GlslStd450Grammar.cs create mode 100644 Spv.Generator/Autogenerated/OpenClGrammar.cs rename {SpvGen => Spv.Generator}/Instruction.cs (100%) rename {SpvGen => Spv.Generator}/LICENSE (100%) rename {SpvGen => Spv.Generator}/LiteralInteger.cs (100%) rename {SpvGen => Spv.Generator}/LiteralString.cs (100%) rename {SpvGen => Spv.Generator}/Module.cs (90%) rename {SpvGen => Spv.Generator}/Operand.cs (100%) rename {SpvGen => Spv.Generator}/OperandType.cs (100%) create mode 100644 Spv.Generator/Spv.Generator.csproj rename {SpvGen/Autogenerated => Spv.Generator}/spirv.cs (94%) delete mode 100644 SpvGen/Spv.Generator.csproj diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs index a30b33934..46841d48a 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs @@ -15,8 +15,6 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv { public ShaderConfig Config { get; } - public Instruction ExtSet { get; } - public Dictionary UniformBuffers { get; } = new Dictionary(); public Instruction StorageBuffersArray { get; set; } public Instruction LocalMemory { get; set; } @@ -68,8 +66,6 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv AddCapability(Capability.Shader); AddCapability(Capability.Float64); - ExtSet = AddExtInstImport("GLSL.std.450"); - SetMemoryModel(AddressingModel.Logical, MemoryModel.GLSL450); } @@ -277,10 +273,6 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv return _functions[funcIndex]; } - protected override void Construct() - { - } - public Instruction GetType(AggregateType type, int length = 1) { if (type.HasFlag(AggregateType.Array)) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs index ce8e2dd13..bf2172218 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs @@ -449,8 +449,8 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv AttributeConsts.ClipDistance0 => BuiltIn.ClipDistance, AttributeConsts.PointCoordX => BuiltIn.PointCoord, AttributeConsts.TessCoordX => BuiltIn.TessCoord, - AttributeConsts.InstanceId => BuiltIn.InstanceId, - AttributeConsts.VertexId => BuiltIn.VertexId, + AttributeConsts.InstanceId => BuiltIn.InstanceId, // FIXME: Invalid + AttributeConsts.VertexId => BuiltIn.VertexId, // FIXME: Invalid AttributeConsts.FrontFacing => BuiltIn.FrontFacing, AttributeConsts.FragmentOutputDepth => BuiltIn.FragDepth, AttributeConsts.ThreadKill => BuiltIn.HelperInvocation, diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs index 23586e305..351d29b13 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs @@ -143,7 +143,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv private static OperationResult GenerateAbsolute(CodeGenContext context, AstOperation operation) { - return GenerateUnaryExtInst(context, operation, 4, 5); + return GenerateUnary(context, operation, context.GlslFAbs, context.GlslSAbs); } private static OperationResult GenerateAdd(CodeGenContext context, AstOperation operation) @@ -306,17 +306,17 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv private static OperationResult GenerateCeiling(CodeGenContext context, AstOperation operation) { - return GenerateUnaryExtInst(context, operation, 9); + return GenerateUnary(context, operation, context.GlslCeil, null); } private static OperationResult GenerateClamp(CodeGenContext context, AstOperation operation) { - return GenerateTernaryExtInst(context, operation, 43, 45); + return GenerateTernary(context, operation, context.GlslFClamp, context.GlslSClamp); } private static OperationResult GenerateClampU32(CodeGenContext context, AstOperation operation) { - return GenerateTernaryExtInstU32(context, operation, 44); + return GenerateTernaryU32(context, operation, context.GlslUClamp); } private static OperationResult GenerateComment(CodeGenContext context, AstOperation operation) @@ -468,7 +468,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv private static OperationResult GenerateCosine(CodeGenContext context, AstOperation operation) { - return GenerateUnaryExtInst(context, operation, 14); + return GenerateUnary(context, operation, context.GlslCos, null); } private static OperationResult GenerateDdx(CodeGenContext context, AstOperation operation) @@ -494,35 +494,35 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv private static OperationResult GenerateExponentB2(CodeGenContext context, AstOperation operation) { - return GenerateUnaryExtInst(context, operation, 29); + return GenerateUnary(context, operation, context.GlslExp2, null); } private static OperationResult GenerateFindLSB(CodeGenContext context, AstOperation operation) { var source = context.GetU32(operation.GetSource(0)); - return new OperationResult(AggregateType.U32, context.ExtInst(context.TypeU32(), context.ExtSet, 74, source)); + return new OperationResult(AggregateType.U32, context.GlslFindILsb(context.TypeU32(), source)); } private static OperationResult GenerateFindMSBS32(CodeGenContext context, AstOperation operation) { var source = context.GetS32(operation.GetSource(0)); - return new OperationResult(AggregateType.U32, context.ExtInst(context.TypeU32(), context.ExtSet, 75, source)); + return new OperationResult(AggregateType.U32, context.GlslFindSMsb(context.TypeU32(), source)); } private static OperationResult GenerateFindMSBU32(CodeGenContext context, AstOperation operation) { var source = context.GetU32(operation.GetSource(0)); - return new OperationResult(AggregateType.U32, context.ExtInst(context.TypeU32(), context.ExtSet, 75, source)); + return new OperationResult(AggregateType.U32, context.GlslFindUMsb(context.TypeU32(), source)); } private static OperationResult GenerateFloor(CodeGenContext context, AstOperation operation) { - return GenerateUnaryExtInst(context, operation, 8); + return GenerateUnary(context, operation, context.GlslFloor, null); } private static OperationResult GenerateFusedMultiplyAdd(CodeGenContext context, AstOperation operation) { - return GenerateTernaryExtInst(context, operation, 50); + return GenerateTernary(context, operation, context.GlslFma, null); } private static OperationResult GenerateGroupMemoryBarrier(CodeGenContext context, AstOperation operation) @@ -596,7 +596,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv var image = context.Load(imageType, imageVariable); - var texel = context.ImageRead(context.TypeVector(context.GetType(componentType.Convert()), 4), image, pCoords); + var texel = context.ImageRead(context.TypeVector(context.GetType(componentType.Convert()), 4), image, pCoords, ImageOperandsMask.MaskNone); var result = context.CompositeExtract(context.TypeFP32(), texel, (SpvLiteralInteger)texOp.Index); return new OperationResult(componentType.Convert(), result); @@ -683,7 +683,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv var image = context.Load(imageType, imageVariable); - context.ImageWrite(image, pCoords, texel); + context.ImageWrite(image, pCoords, texel, ImageOperandsMask.MaskNone); return OperationResult.Invalid; } @@ -831,7 +831,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv private static OperationResult GenerateLogarithmB2(CodeGenContext context, AstOperation operation) { - return GenerateUnaryExtInst(context, operation, 30); + return GenerateUnary(context, operation, context.GlslLog2, null); } private static OperationResult GenerateLogicalAnd(CodeGenContext context, AstOperation operation) @@ -864,12 +864,12 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv private static OperationResult GenerateMaximum(CodeGenContext context, AstOperation operation) { - return GenerateBinaryExtInst(context, operation, 40, 42); + return GenerateBinary(context, operation, context.GlslFMax, context.GlslSMax); } private static OperationResult GenerateMaximumU32(CodeGenContext context, AstOperation operation) { - return GenerateBinaryExtInstU32(context, operation, 41); + return GenerateBinaryU32(context, operation, context.GlslUMax); } private static OperationResult GenerateMemoryBarrier(CodeGenContext context, AstOperation operation) @@ -880,12 +880,12 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv private static OperationResult GenerateMinimum(CodeGenContext context, AstOperation operation) { - return GenerateBinaryExtInst(context, operation, 37, 39); + return GenerateBinary(context, operation, context.GlslFMin, context.GlslSMin); } private static OperationResult GenerateMinimumU32(CodeGenContext context, AstOperation operation) { - return GenerateBinaryExtInstU32(context, operation, 38); + return GenerateBinaryU32(context, operation, context.GlslUMin); } private static OperationResult GenerateMultiply(CodeGenContext context, AstOperation operation) @@ -903,14 +903,14 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv var value0 = context.GetFP32(operation.GetSource(0)); var value1 = context.GetFP32(operation.GetSource(1)); var vector = context.CompositeConstruct(context.TypeVector(context.TypeFP32(), 2), value0, value1); - var result = context.ExtInst(context.TypeU32(), context.ExtSet, 58, vector); + var result = context.GlslPackHalf2x16(context.TypeU32(), vector); return new OperationResult(AggregateType.U32, result); } private static OperationResult GenerateReciprocalSquareRoot(CodeGenContext context, AstOperation operation) { - return GenerateUnaryExtInst(context, operation, 32); + return GenerateUnary(context, operation, context.GlslInverseSqrt, null); } private static OperationResult GenerateReturn(CodeGenContext context, AstOperation operation) @@ -921,7 +921,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv private static OperationResult GenerateRound(CodeGenContext context, AstOperation operation) { - return GenerateUnaryExtInst(context, operation, 2); + return GenerateUnary(context, operation, context.GlslRoundEven, null); } private static OperationResult GenerateShiftLeft(CodeGenContext context, AstOperation operation) @@ -1064,12 +1064,12 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv private static OperationResult GenerateSine(CodeGenContext context, AstOperation operation) { - return GenerateUnaryExtInst(context, operation, 13); + return GenerateUnary(context, operation, context.GlslSin, null); } private static OperationResult GenerateSquareRoot(CodeGenContext context, AstOperation operation) { - return GenerateUnaryExtInst(context, operation, 31); + return GenerateUnary(context, operation, context.GlslSqrt, null); } private static OperationResult GenerateStoreLocal(CodeGenContext context, AstOperation operation) @@ -1461,13 +1461,13 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv private static OperationResult GenerateTruncate(CodeGenContext context, AstOperation operation) { - return GenerateUnaryExtInst(context, operation, 3); + return GenerateUnary(context, operation, context.GlslTrunc, null); } private static OperationResult GenerateUnpackHalf2x16(CodeGenContext context, AstOperation operation) { var value = context.GetU32(operation.GetSource(0)); - var vector = context.ExtInst(context.TypeVector(context.TypeFP32(), 2), context.ExtSet, 62, value); + var vector = context.GlslUnpackHalf2x16(context.TypeVector(context.TypeFP32(), 2), value); var result = context.CompositeExtract(context.TypeFP32(), vector, operation.Index); return new OperationResult(AggregateType.FP32, result); @@ -1648,38 +1648,6 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv return new OperationResult(AggregateType.S32, emitS(context.TypeS32(), context.GetS32(source))); } - private static OperationResult GenerateUnaryExtInst(CodeGenContext context, AstOperation operation, int instruction) - { - var source = operation.GetSource(0); - - if (operation.Inst.HasFlag(Instruction.FP64)) - { - return new OperationResult(AggregateType.FP64, context.ExtInst(context.TypeFP64(), context.ExtSet, instruction, context.GetFP64(source))); - } - else - { - return new OperationResult(AggregateType.FP32, context.ExtInst(context.TypeFP32(), context.ExtSet, instruction, context.GetFP32(source))); - } - } - - private static OperationResult GenerateUnaryExtInst(CodeGenContext context, AstOperation operation, int instF, int instS) - { - var source = operation.GetSource(0); - - if (operation.Inst.HasFlag(Instruction.FP64)) - { - return new OperationResult(AggregateType.FP64, context.ExtInst(context.TypeFP64(), context.ExtSet, instF, context.GetFP64(source))); - } - else if (operation.Inst.HasFlag(Instruction.FP32)) - { - return new OperationResult(AggregateType.FP32, context.ExtInst(context.TypeFP32(), context.ExtSet, instF, context.GetFP32(source))); - } - else - { - return new OperationResult(AggregateType.S32, context.ExtInst(context.TypeS32(), context.ExtSet, instS, context.GetS32(source))); - } - } - private static OperationResult GenerateBinary( CodeGenContext context, AstOperation operation, @@ -1729,33 +1697,45 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv return new OperationResult(AggregateType.S32, emitS(context.TypeS32(), context.GetS32(src1), context.GetS32(src2))); } - private static OperationResult GenerateBinaryExtInst(CodeGenContext context, AstOperation operation, int instF, int instS) + private static OperationResult GenerateBinaryU32( + CodeGenContext context, + AstOperation operation, + Func emitU) { var src1 = operation.GetSource(0); var src2 = operation.GetSource(1); + return new OperationResult(AggregateType.U32, emitU(context.TypeU32(), context.GetU32(src1), context.GetU32(src2))); + } + + private static OperationResult GenerateTernary( + CodeGenContext context, + AstOperation operation, + Func emitF, + Func emitI) + { + var src1 = operation.GetSource(0); + var src2 = operation.GetSource(1); + var src3 = operation.GetSource(2); + if (operation.Inst.HasFlag(Instruction.FP64)) { - return new OperationResult(AggregateType.FP64, context.ExtInst(context.TypeFP64(), context.ExtSet, instF, context.GetFP64(src1), context.GetFP64(src2))); + var result = emitF(context.TypeFP64(), context.GetFP64(src1), context.GetFP64(src2), context.GetFP64(src3)); + context.Decorate(result, Decoration.NoContraction); + return new OperationResult(AggregateType.FP64, result); } else if (operation.Inst.HasFlag(Instruction.FP32)) { - return new OperationResult(AggregateType.FP32, context.ExtInst(context.TypeFP32(), context.ExtSet, instF, context.GetFP32(src1), context.GetFP32(src2))); + var result = emitF(context.TypeFP32(), context.GetFP32(src1), context.GetFP32(src2), context.GetFP32(src3)); + context.Decorate(result, Decoration.NoContraction); + return new OperationResult(AggregateType.FP32, result); } else { - return new OperationResult(AggregateType.S32, context.ExtInst(context.TypeS32(), context.ExtSet, instS, context.GetS32(src1), context.GetS32(src2))); + return new OperationResult(AggregateType.S32, emitI(context.TypeS32(), context.GetS32(src1), context.GetS32(src2), context.GetS32(src3))); } } - private static OperationResult GenerateBinaryExtInstU32(CodeGenContext context, AstOperation operation, int instU) - { - var src1 = operation.GetSource(0); - var src2 = operation.GetSource(1); - - return new OperationResult(AggregateType.U32, context.ExtInst(context.TypeU32(), context.ExtSet, instU, context.GetU32(src1), context.GetU32(src2))); - } - private static OperationResult GenerateTernaryS32( CodeGenContext context, AstOperation operation, @@ -1772,82 +1752,17 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv context.GetS32(src3))); } - private static OperationResult GenerateTernaryExtInst(CodeGenContext context, AstOperation operation, int instF) + private static OperationResult GenerateTernaryU32( + CodeGenContext context, + AstOperation operation, + Func emitU) { var src1 = operation.GetSource(0); var src2 = operation.GetSource(1); var src3 = operation.GetSource(2); - if (operation.Inst.HasFlag(Instruction.FP64)) - { - return new OperationResult(AggregateType.FP64, context.ExtInst( - context.TypeFP64(), - context.ExtSet, - instF, - context.GetFP64(src1), - context.GetFP64(src2), - context.GetFP64(src3))); - } - else - { - return new OperationResult(AggregateType.FP32, context.ExtInst( - context.TypeFP32(), - context.ExtSet, - instF, - context.GetFP32(src1), - context.GetFP32(src2), - context.GetFP32(src3))); - } - } - - private static OperationResult GenerateTernaryExtInst(CodeGenContext context, AstOperation operation, int instF, int instS) - { - var src1 = operation.GetSource(0); - var src2 = operation.GetSource(1); - var src3 = operation.GetSource(2); - - if (operation.Inst.HasFlag(Instruction.FP64)) - { - return new OperationResult(AggregateType.FP64, context.ExtInst( - context.TypeFP64(), - context.ExtSet, - instF, - context.GetFP64(src1), - context.GetFP64(src2), - context.GetFP64(src3))); - } - else if (operation.Inst.HasFlag(Instruction.FP32)) - { - return new OperationResult(AggregateType.FP32, context.ExtInst( - context.TypeFP32(), - context.ExtSet, - instF, - context.GetFP32(src1), - context.GetFP32(src2), - context.GetFP32(src3))); - } - else - { - return new OperationResult(AggregateType.S32, context.ExtInst( - context.TypeS32(), - context.ExtSet, - instS, - context.GetS32(src1), - context.GetS32(src2), - context.GetS32(src3))); - } - } - - private static OperationResult GenerateTernaryExtInstU32(CodeGenContext context, AstOperation operation, int instU) - { - var src1 = operation.GetSource(0); - var src2 = operation.GetSource(1); - var src3 = operation.GetSource(2); - - return new OperationResult(AggregateType.U32, context.ExtInst( + return new OperationResult(AggregateType.U32, emitU( context.TypeU32(), - context.ExtSet, - instU, context.GetU32(src1), context.GetU32(src2), context.GetU32(src3))); diff --git a/Ryujinx.Graphics.Shader/Ryujinx.Graphics.Shader.csproj b/Ryujinx.Graphics.Shader/Ryujinx.Graphics.Shader.csproj index 7f71f6ae7..eed27c94e 100644 --- a/Ryujinx.Graphics.Shader/Ryujinx.Graphics.Shader.csproj +++ b/Ryujinx.Graphics.Shader/Ryujinx.Graphics.Shader.csproj @@ -10,7 +10,7 @@ - + diff --git a/Ryujinx.Graphics.Shader/Translation/AttributeInfo.cs b/Ryujinx.Graphics.Shader/Translation/AttributeInfo.cs index 676e49593..2b909cdfa 100644 --- a/Ryujinx.Graphics.Shader/Translation/AttributeInfo.cs +++ b/Ryujinx.Graphics.Shader/Translation/AttributeInfo.cs @@ -7,44 +7,44 @@ namespace Ryujinx.Graphics.Shader.Translation { private static readonly Dictionary BuiltInAttributes = new Dictionary() { - { AttributeConsts.Layer, new AttributeInfo(AttributeConsts.Layer, 1, AggregateType.S32) }, - { AttributeConsts.ViewportIndex, new AttributeInfo(AttributeConsts.ViewportIndex, 1, AggregateType.S32) }, - { AttributeConsts.PointSize, new AttributeInfo(AttributeConsts.PointSize, 1, AggregateType.FP32) }, - { AttributeConsts.PositionX, new AttributeInfo(AttributeConsts.PositionX, 4, AggregateType.Vector | AggregateType.FP32) }, - { AttributeConsts.PositionY, new AttributeInfo(AttributeConsts.PositionY, 4, AggregateType.Vector | AggregateType.FP32) }, - { AttributeConsts.PositionZ, new AttributeInfo(AttributeConsts.PositionZ, 4, AggregateType.Vector | AggregateType.FP32) }, - { AttributeConsts.PositionW, new AttributeInfo(AttributeConsts.PositionW, 4, AggregateType.Vector | AggregateType.FP32) }, - { AttributeConsts.ClipDistance0, new AttributeInfo(AttributeConsts.ClipDistance0, 8, AggregateType.Array | AggregateType.FP32) }, - { AttributeConsts.ClipDistance1, new AttributeInfo(AttributeConsts.ClipDistance1, 8, AggregateType.Array | AggregateType.FP32) }, - { AttributeConsts.ClipDistance2, new AttributeInfo(AttributeConsts.ClipDistance2, 8, AggregateType.Array | AggregateType.FP32) }, - { AttributeConsts.ClipDistance3, new AttributeInfo(AttributeConsts.ClipDistance3, 8, AggregateType.Array | AggregateType.FP32) }, - { AttributeConsts.ClipDistance4, new AttributeInfo(AttributeConsts.ClipDistance4, 8, AggregateType.Array | AggregateType.FP32) }, - { AttributeConsts.ClipDistance5, new AttributeInfo(AttributeConsts.ClipDistance5, 8, AggregateType.Array | AggregateType.FP32) }, - { AttributeConsts.ClipDistance6, new AttributeInfo(AttributeConsts.ClipDistance6, 8, AggregateType.Array | AggregateType.FP32) }, - { AttributeConsts.ClipDistance7, new AttributeInfo(AttributeConsts.ClipDistance7, 8, AggregateType.Array | AggregateType.FP32) }, - { AttributeConsts.PointCoordX, new AttributeInfo(AttributeConsts.PointCoordX, 2, AggregateType.Vector | AggregateType.FP32) }, - { AttributeConsts.PointCoordY, new AttributeInfo(AttributeConsts.PointCoordY, 2, AggregateType.Vector | AggregateType.FP32) }, - { AttributeConsts.TessCoordX, new AttributeInfo(AttributeConsts.TessCoordX, 2, AggregateType.Vector | AggregateType.FP32) }, - { AttributeConsts.TessCoordY, new AttributeInfo(AttributeConsts.TessCoordY, 2, AggregateType.Vector | AggregateType.FP32) }, - { AttributeConsts.InstanceId, new AttributeInfo(AttributeConsts.InstanceId, 1, AggregateType.S32) }, - { AttributeConsts.VertexId, new AttributeInfo(AttributeConsts.VertexId, 1, AggregateType.S32) }, - { AttributeConsts.FrontFacing, new AttributeInfo(AttributeConsts.FrontFacing, 1, AggregateType.Bool) }, + { AttributeConsts.Layer, new AttributeInfo(AttributeConsts.Layer, 0, 1, AggregateType.S32) }, + { AttributeConsts.ViewportIndex, new AttributeInfo(AttributeConsts.ViewportIndex, 0, 1, AggregateType.S32) }, + { AttributeConsts.PointSize, new AttributeInfo(AttributeConsts.PointSize, 0, 1, AggregateType.FP32) }, + { AttributeConsts.PositionX, new AttributeInfo(AttributeConsts.PositionX, 0, 4, AggregateType.Vector | AggregateType.FP32) }, + { AttributeConsts.PositionY, new AttributeInfo(AttributeConsts.PositionX, 1, 4, AggregateType.Vector | AggregateType.FP32) }, + { AttributeConsts.PositionZ, new AttributeInfo(AttributeConsts.PositionX, 2, 4, AggregateType.Vector | AggregateType.FP32) }, + { AttributeConsts.PositionW, new AttributeInfo(AttributeConsts.PositionX, 3, 4, AggregateType.Vector | AggregateType.FP32) }, + { AttributeConsts.ClipDistance0, new AttributeInfo(AttributeConsts.ClipDistance0, 0, 8, AggregateType.Array | AggregateType.FP32) }, + { AttributeConsts.ClipDistance1, new AttributeInfo(AttributeConsts.ClipDistance0, 1, 8, AggregateType.Array | AggregateType.FP32) }, + { AttributeConsts.ClipDistance2, new AttributeInfo(AttributeConsts.ClipDistance0, 2, 8, AggregateType.Array | AggregateType.FP32) }, + { AttributeConsts.ClipDistance3, new AttributeInfo(AttributeConsts.ClipDistance0, 3, 8, AggregateType.Array | AggregateType.FP32) }, + { AttributeConsts.ClipDistance4, new AttributeInfo(AttributeConsts.ClipDistance0, 4, 8, AggregateType.Array | AggregateType.FP32) }, + { AttributeConsts.ClipDistance5, new AttributeInfo(AttributeConsts.ClipDistance0, 5, 8, AggregateType.Array | AggregateType.FP32) }, + { AttributeConsts.ClipDistance6, new AttributeInfo(AttributeConsts.ClipDistance0, 6, 8, AggregateType.Array | AggregateType.FP32) }, + { AttributeConsts.ClipDistance7, new AttributeInfo(AttributeConsts.ClipDistance0, 7, 8, AggregateType.Array | AggregateType.FP32) }, + { AttributeConsts.PointCoordX, new AttributeInfo(AttributeConsts.PointCoordX, 0, 2, AggregateType.Vector | AggregateType.FP32) }, + { AttributeConsts.PointCoordY, new AttributeInfo(AttributeConsts.PointCoordX, 1, 2, AggregateType.Vector | AggregateType.FP32) }, + { AttributeConsts.TessCoordX, new AttributeInfo(AttributeConsts.TessCoordX, 0, 2, AggregateType.Vector | AggregateType.FP32) }, + { AttributeConsts.TessCoordY, new AttributeInfo(AttributeConsts.TessCoordX, 1, 2, AggregateType.Vector | AggregateType.FP32) }, + { AttributeConsts.InstanceId, new AttributeInfo(AttributeConsts.InstanceId, 0, 1, AggregateType.S32) }, + { AttributeConsts.VertexId, new AttributeInfo(AttributeConsts.VertexId, 0, 1, AggregateType.S32) }, + { AttributeConsts.FrontFacing, new AttributeInfo(AttributeConsts.FrontFacing, 0, 1, AggregateType.Bool) }, // Special. - { AttributeConsts.FragmentOutputDepth, new AttributeInfo(AttributeConsts.FragmentOutputDepth, 1, AggregateType.FP32) }, - { AttributeConsts.ThreadKill, new AttributeInfo(AttributeConsts.ThreadKill, 1, AggregateType.Bool) }, - { AttributeConsts.ThreadIdX, new AttributeInfo(AttributeConsts.ThreadIdX, 3, AggregateType.Vector | AggregateType.U32) }, - { AttributeConsts.ThreadIdY, new AttributeInfo(AttributeConsts.ThreadIdY, 3, AggregateType.Vector | AggregateType.U32) }, - { AttributeConsts.ThreadIdZ, new AttributeInfo(AttributeConsts.ThreadIdZ, 3, AggregateType.Vector | AggregateType.U32) }, - { AttributeConsts.CtaIdX, new AttributeInfo(AttributeConsts.CtaIdX, 3, AggregateType.Vector | AggregateType.U32) }, - { AttributeConsts.CtaIdY, new AttributeInfo(AttributeConsts.CtaIdY, 3, AggregateType.Vector | AggregateType.U32) }, - { AttributeConsts.CtaIdZ, new AttributeInfo(AttributeConsts.CtaIdZ, 3, AggregateType.Vector | AggregateType.U32) }, - { AttributeConsts.LaneId, new AttributeInfo(AttributeConsts.LaneId, 1, AggregateType.U32) }, - { AttributeConsts.EqMask, new AttributeInfo(AttributeConsts.EqMask, 1, AggregateType.U32) }, - { AttributeConsts.GeMask, new AttributeInfo(AttributeConsts.GeMask, 1, AggregateType.U32) }, - { AttributeConsts.GtMask, new AttributeInfo(AttributeConsts.GtMask, 1, AggregateType.U32) }, - { AttributeConsts.LeMask, new AttributeInfo(AttributeConsts.LeMask, 1, AggregateType.U32) }, - { AttributeConsts.LtMask, new AttributeInfo(AttributeConsts.LtMask, 1, AggregateType.U32) }, + { AttributeConsts.FragmentOutputDepth, new AttributeInfo(AttributeConsts.FragmentOutputDepth, 0, 1, AggregateType.FP32) }, + { AttributeConsts.ThreadKill, new AttributeInfo(AttributeConsts.ThreadKill, 0, 1, AggregateType.Bool) }, + { AttributeConsts.ThreadIdX, new AttributeInfo(AttributeConsts.ThreadIdX, 0, 3, AggregateType.Vector | AggregateType.U32) }, + { AttributeConsts.ThreadIdY, new AttributeInfo(AttributeConsts.ThreadIdX, 1, 3, AggregateType.Vector | AggregateType.U32) }, + { AttributeConsts.ThreadIdZ, new AttributeInfo(AttributeConsts.ThreadIdX, 2, 3, AggregateType.Vector | AggregateType.U32) }, + { AttributeConsts.CtaIdX, new AttributeInfo(AttributeConsts.CtaIdX, 0, 3, AggregateType.Vector | AggregateType.U32) }, + { AttributeConsts.CtaIdY, new AttributeInfo(AttributeConsts.CtaIdX, 1, 3, AggregateType.Vector | AggregateType.U32) }, + { AttributeConsts.CtaIdZ, new AttributeInfo(AttributeConsts.CtaIdX, 2, 3, AggregateType.Vector | AggregateType.U32) }, + { AttributeConsts.LaneId, new AttributeInfo(AttributeConsts.LaneId, 0, 1, AggregateType.U32) }, + { AttributeConsts.EqMask, new AttributeInfo(AttributeConsts.EqMask, 0, 4, AggregateType.Vector | AggregateType.U32) }, + { AttributeConsts.GeMask, new AttributeInfo(AttributeConsts.GeMask, 0, 4, AggregateType.Vector | AggregateType.U32) }, + { AttributeConsts.GtMask, new AttributeInfo(AttributeConsts.GtMask, 0, 4, AggregateType.Vector | AggregateType.U32) }, + { AttributeConsts.LeMask, new AttributeInfo(AttributeConsts.LeMask, 0, 4, AggregateType.Vector | AggregateType.U32) }, + { AttributeConsts.LtMask, new AttributeInfo(AttributeConsts.LtMask, 0, 4, AggregateType.Vector | AggregateType.U32) }, }; public int BaseValue { get; } @@ -54,10 +54,10 @@ namespace Ryujinx.Graphics.Shader.Translation public bool IsBuiltin { get; } public bool IsValid => Type != AggregateType.Invalid; - public AttributeInfo(int value, int length, AggregateType type, bool isBuiltin = true) + public AttributeInfo(int baseValue, int index, int length, AggregateType type, bool isBuiltin = true) { - BaseValue = value & ~(BitUtils.Pow2RoundUp(length) * 4 - 1); - Value = value; + BaseValue = baseValue; + Value = baseValue + index * 4; Length = length; Type = type; IsBuiltin = isBuiltin; @@ -82,18 +82,18 @@ namespace Ryujinx.Graphics.Shader.Translation _ => AggregateType.FP32 }; - return new AttributeInfo(value, 4, AggregateType.Vector | elemType, false); + return new AttributeInfo(value & ~0xf, (value >> 2) & 3, 4, AggregateType.Vector | elemType, false); } else if (value >= AttributeConsts.FragmentOutputColorBase && value < AttributeConsts.FragmentOutputColorEnd) { - return new AttributeInfo(value, 4, AggregateType.Vector | AggregateType.FP32, false); + return new AttributeInfo(value & ~0xf, (value >> 2) & 3, 4, AggregateType.Vector | AggregateType.FP32, false); } else if (BuiltInAttributes.TryGetValue(value, out AttributeInfo info)) { return info; } - return new AttributeInfo(value, 0, AggregateType.Invalid); + return new AttributeInfo(value, 0, 0, AggregateType.Invalid); } } } diff --git a/Ryujinx.sln b/Ryujinx.sln index 4553bd737..1332e129b 100644 --- a/Ryujinx.sln +++ b/Ryujinx.sln @@ -76,7 +76,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ryujinx.Horizon.Generators" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Ryujinx.Graphics.Vulkan", "Ryujinx.Graphics.Vulkan\Ryujinx.Graphics.Vulkan.csproj", "{D4D09B08-D580-4D69-B886-C35D2853F6C8}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Spv.Generator", "SpvGen\Spv.Generator.csproj", "{D0720AC9-8AE7-417C-AB39-82CE984045C4}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Spv.Generator", "Spv.Generator\Spv.Generator.csproj", "{2BCB3D7A-38C0-4FE7-8FDA-374C6AD56D0E}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -220,10 +220,10 @@ Global {D4D09B08-D580-4D69-B886-C35D2853F6C8}.Debug|Any CPU.Build.0 = Debug|Any CPU {D4D09B08-D580-4D69-B886-C35D2853F6C8}.Release|Any CPU.ActiveCfg = Release|Any CPU {D4D09B08-D580-4D69-B886-C35D2853F6C8}.Release|Any CPU.Build.0 = Release|Any CPU - {D0720AC9-8AE7-417C-AB39-82CE984045C4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D0720AC9-8AE7-417C-AB39-82CE984045C4}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D0720AC9-8AE7-417C-AB39-82CE984045C4}.Release|Any CPU.ActiveCfg = Release|Any CPU - {D0720AC9-8AE7-417C-AB39-82CE984045C4}.Release|Any CPU.Build.0 = Release|Any CPU + {2BCB3D7A-38C0-4FE7-8FDA-374C6AD56D0E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2BCB3D7A-38C0-4FE7-8FDA-374C6AD56D0E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2BCB3D7A-38C0-4FE7-8FDA-374C6AD56D0E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2BCB3D7A-38C0-4FE7-8FDA-374C6AD56D0E}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/SpvGen/Autogenerated/CoreGrammar.cs b/Spv.Generator/Autogenerated/CoreGrammar.cs similarity index 95% rename from SpvGen/Autogenerated/CoreGrammar.cs rename to Spv.Generator/Autogenerated/CoreGrammar.cs index 5c0284f6a..552887e39 100644 --- a/SpvGen/Autogenerated/CoreGrammar.cs +++ b/Spv.Generator/Autogenerated/CoreGrammar.cs @@ -1,5 +1,5 @@ // AUTOGENERATED: DO NOT EDIT -// Last update date: 2020-05-20 22:58:10.704809 +// Last update date: 2021-01-06 23:02:26.837899 #region Grammar License // Copyright (c) 2014-2020 The Khronos Group Inc. // @@ -62,18 +62,6 @@ namespace Spv.Generator return result; } - public Instruction ExtInst(Instruction resultType, Instruction set, LiteralInteger instruction, params Instruction[] parameters) - { - Instruction result = new Instruction(Op.OpExtInst, GetNewId(), resultType); - - result.AddOperand(set); - result.AddOperand(instruction); - result.AddOperand(parameters); - AddToFunctionDefinitions(result); - - return result; - } - // Debug public Instruction SourceContinued(string continuedSource) @@ -901,53 +889,62 @@ namespace Spv.Generator return result; } - public Instruction ImageSampleImplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, ImageOperandsMask imageOperands, params Instruction[] operands) + public Instruction ImageSampleImplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { Instruction result = new Instruction(Op.OpImageSampleImplicitLod, GetNewId(), resultType); result.AddOperand(sampledImage); result.AddOperand(coordinate); - if (imageOperands != ImageOperandsMask.MaskNone) + if (imageOperands != (ImageOperandsMask)int.MaxValue) { result.AddOperand(imageOperands); - result.AddOperand(operands); + } + if (imageOperands != (ImageOperandsMask)int.MaxValue) + { + result.AddOperand(imageOperandIds); } AddToFunctionDefinitions(result); return result; } - public Instruction ImageSampleExplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, ImageOperandsMask imageOperands, params Instruction[] operands) + public Instruction ImageSampleExplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { Instruction result = new Instruction(Op.OpImageSampleExplicitLod, GetNewId(), resultType); result.AddOperand(sampledImage); result.AddOperand(coordinate); result.AddOperand(imageOperands); - result.AddOperand(operands); - AddToFunctionDefinitions(result); - - return result; - } - - public Instruction ImageSampleDrefImplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction dRef, ImageOperandsMask imageOperands, params Instruction[] operands) - { - Instruction result = new Instruction(Op.OpImageSampleDrefImplicitLod, GetNewId(), resultType); - - result.AddOperand(sampledImage); - result.AddOperand(coordinate); - result.AddOperand(dRef); - if (imageOperands != ImageOperandsMask.MaskNone) + if (imageOperands != (ImageOperandsMask)int.MaxValue) { - result.AddOperand(imageOperands); - result.AddOperand(operands); + result.AddOperand(imageOperandIds); } AddToFunctionDefinitions(result); return result; } - public Instruction ImageSampleDrefExplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction dRef, ImageOperandsMask imageOperands, params Instruction[] operands) + public Instruction ImageSampleDrefImplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction dRef, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) + { + Instruction result = new Instruction(Op.OpImageSampleDrefImplicitLod, GetNewId(), resultType); + + result.AddOperand(sampledImage); + result.AddOperand(coordinate); + result.AddOperand(dRef); + if (imageOperands != (ImageOperandsMask)int.MaxValue) + { + result.AddOperand(imageOperands); + } + if (imageOperands != (ImageOperandsMask)int.MaxValue) + { + result.AddOperand(imageOperandIds); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ImageSampleDrefExplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction dRef, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { Instruction result = new Instruction(Op.OpImageSampleDrefExplicitLod, GetNewId(), resultType); @@ -955,59 +952,71 @@ namespace Spv.Generator result.AddOperand(coordinate); result.AddOperand(dRef); result.AddOperand(imageOperands); - result.AddOperand(operands); - AddToFunctionDefinitions(result); - - return result; - } - - public Instruction ImageSampleProjImplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, ImageOperandsMask imageOperands, params Instruction[] operands) - { - Instruction result = new Instruction(Op.OpImageSampleProjImplicitLod, GetNewId(), resultType); - - result.AddOperand(sampledImage); - result.AddOperand(coordinate); - if (imageOperands != ImageOperandsMask.MaskNone) + if (imageOperands != (ImageOperandsMask)int.MaxValue) { - result.AddOperand(imageOperands); - result.AddOperand(operands); + result.AddOperand(imageOperandIds); } AddToFunctionDefinitions(result); return result; } - public Instruction ImageSampleProjExplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, ImageOperandsMask imageOperands, params Instruction[] operands) + public Instruction ImageSampleProjImplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) + { + Instruction result = new Instruction(Op.OpImageSampleProjImplicitLod, GetNewId(), resultType); + + result.AddOperand(sampledImage); + result.AddOperand(coordinate); + if (imageOperands != (ImageOperandsMask)int.MaxValue) + { + result.AddOperand(imageOperands); + } + if (imageOperands != (ImageOperandsMask)int.MaxValue) + { + result.AddOperand(imageOperandIds); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ImageSampleProjExplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { Instruction result = new Instruction(Op.OpImageSampleProjExplicitLod, GetNewId(), resultType); result.AddOperand(sampledImage); result.AddOperand(coordinate); result.AddOperand(imageOperands); - result.AddOperand(operands); - AddToFunctionDefinitions(result); - - return result; - } - - public Instruction ImageSampleProjDrefImplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction dRef, ImageOperandsMask imageOperands, params Instruction[] operands) - { - Instruction result = new Instruction(Op.OpImageSampleProjDrefImplicitLod, GetNewId(), resultType); - - result.AddOperand(sampledImage); - result.AddOperand(coordinate); - result.AddOperand(dRef); - if (imageOperands != ImageOperandsMask.MaskNone) + if (imageOperands != (ImageOperandsMask)int.MaxValue) { - result.AddOperand(imageOperands); - result.AddOperand(operands); + result.AddOperand(imageOperandIds); } AddToFunctionDefinitions(result); return result; } - public Instruction ImageSampleProjDrefExplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction dRef, ImageOperandsMask imageOperands, params Instruction[] operands) + public Instruction ImageSampleProjDrefImplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction dRef, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) + { + Instruction result = new Instruction(Op.OpImageSampleProjDrefImplicitLod, GetNewId(), resultType); + + result.AddOperand(sampledImage); + result.AddOperand(coordinate); + result.AddOperand(dRef); + if (imageOperands != (ImageOperandsMask)int.MaxValue) + { + result.AddOperand(imageOperands); + } + if (imageOperands != (ImageOperandsMask)int.MaxValue) + { + result.AddOperand(imageOperandIds); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ImageSampleProjDrefExplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction dRef, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { Instruction result = new Instruction(Op.OpImageSampleProjDrefExplicitLod, GetNewId(), resultType); @@ -1015,63 +1024,75 @@ namespace Spv.Generator result.AddOperand(coordinate); result.AddOperand(dRef); result.AddOperand(imageOperands); - result.AddOperand(operands); - AddToFunctionDefinitions(result); - - return result; - } - - public Instruction ImageFetch(Instruction resultType, Instruction image, Instruction coordinate, ImageOperandsMask imageOperands, params Instruction[] operands) - { - Instruction result = new Instruction(Op.OpImageFetch, GetNewId(), resultType); - - result.AddOperand(image); - result.AddOperand(coordinate); - if (imageOperands != ImageOperandsMask.MaskNone) + if (imageOperands != (ImageOperandsMask)int.MaxValue) { - result.AddOperand(imageOperands); - result.AddOperand(operands); + result.AddOperand(imageOperandIds); } AddToFunctionDefinitions(result); return result; } - public Instruction ImageGather(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction component, ImageOperandsMask imageOperands, params Instruction[] operands) + public Instruction ImageFetch(Instruction resultType, Instruction image, Instruction coordinate, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) + { + Instruction result = new Instruction(Op.OpImageFetch, GetNewId(), resultType); + + result.AddOperand(image); + result.AddOperand(coordinate); + if (imageOperands != (ImageOperandsMask)int.MaxValue) + { + result.AddOperand(imageOperands); + } + if (imageOperands != (ImageOperandsMask)int.MaxValue) + { + result.AddOperand(imageOperandIds); + } + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ImageGather(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction component, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { Instruction result = new Instruction(Op.OpImageGather, GetNewId(), resultType); result.AddOperand(sampledImage); result.AddOperand(coordinate); result.AddOperand(component); - if (imageOperands != ImageOperandsMask.MaskNone) + if (imageOperands != (ImageOperandsMask)int.MaxValue) { result.AddOperand(imageOperands); - result.AddOperand(operands); + } + if (imageOperands != (ImageOperandsMask)int.MaxValue) + { + result.AddOperand(imageOperandIds); } AddToFunctionDefinitions(result); return result; } - public Instruction ImageDrefGather(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction dRef, ImageOperandsMask imageOperands, params Instruction[] operands) + public Instruction ImageDrefGather(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction dRef, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { Instruction result = new Instruction(Op.OpImageDrefGather, GetNewId(), resultType); result.AddOperand(sampledImage); result.AddOperand(coordinate); result.AddOperand(dRef); - if (imageOperands != ImageOperandsMask.MaskNone) + if (imageOperands != (ImageOperandsMask)int.MaxValue) { result.AddOperand(imageOperands); - result.AddOperand(operands); + } + if (imageOperands != (ImageOperandsMask)int.MaxValue) + { + result.AddOperand(imageOperandIds); } AddToFunctionDefinitions(result); return result; } - public Instruction ImageRead(Instruction resultType, Instruction image, Instruction coordinate, ImageOperandsMask imageOperands = (ImageOperandsMask)int.MaxValue) + public Instruction ImageRead(Instruction resultType, Instruction image, Instruction coordinate, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { Instruction result = new Instruction(Op.OpImageRead, GetNewId(), resultType); @@ -1081,12 +1102,16 @@ namespace Spv.Generator { result.AddOperand(imageOperands); } + if (imageOperands != (ImageOperandsMask)int.MaxValue) + { + result.AddOperand(imageOperandIds); + } AddToFunctionDefinitions(result); return result; } - public Instruction ImageWrite(Instruction image, Instruction coordinate, Instruction texel, ImageOperandsMask imageOperands = (ImageOperandsMask)int.MaxValue) + public Instruction ImageWrite(Instruction image, Instruction coordinate, Instruction texel, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { Instruction result = new Instruction(Op.OpImageWrite); @@ -1097,6 +1122,10 @@ namespace Spv.Generator { result.AddOperand(imageOperands); } + if (imageOperands != (ImageOperandsMask)int.MaxValue) + { + result.AddOperand(imageOperandIds); + } AddToFunctionDefinitions(result); return result; @@ -1184,7 +1213,7 @@ namespace Spv.Generator return result; } - public Instruction ImageSparseSampleImplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, ImageOperandsMask imageOperands = (ImageOperandsMask)int.MaxValue) + public Instruction ImageSparseSampleImplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { Instruction result = new Instruction(Op.OpImageSparseSampleImplicitLod, GetNewId(), resultType); @@ -1194,24 +1223,32 @@ namespace Spv.Generator { result.AddOperand(imageOperands); } + if (imageOperands != (ImageOperandsMask)int.MaxValue) + { + result.AddOperand(imageOperandIds); + } AddToFunctionDefinitions(result); return result; } - public Instruction ImageSparseSampleExplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, ImageOperandsMask imageOperands) + public Instruction ImageSparseSampleExplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { Instruction result = new Instruction(Op.OpImageSparseSampleExplicitLod, GetNewId(), resultType); result.AddOperand(sampledImage); result.AddOperand(coordinate); result.AddOperand(imageOperands); + if (imageOperands != (ImageOperandsMask)int.MaxValue) + { + result.AddOperand(imageOperandIds); + } AddToFunctionDefinitions(result); return result; } - public Instruction ImageSparseSampleDrefImplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction dRef, ImageOperandsMask imageOperands = (ImageOperandsMask)int.MaxValue) + public Instruction ImageSparseSampleDrefImplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction dRef, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { Instruction result = new Instruction(Op.OpImageSparseSampleDrefImplicitLod, GetNewId(), resultType); @@ -1222,12 +1259,16 @@ namespace Spv.Generator { result.AddOperand(imageOperands); } + if (imageOperands != (ImageOperandsMask)int.MaxValue) + { + result.AddOperand(imageOperandIds); + } AddToFunctionDefinitions(result); return result; } - public Instruction ImageSparseSampleDrefExplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction dRef, ImageOperandsMask imageOperands) + public Instruction ImageSparseSampleDrefExplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction dRef, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { Instruction result = new Instruction(Op.OpImageSparseSampleDrefExplicitLod, GetNewId(), resultType); @@ -1235,12 +1276,16 @@ namespace Spv.Generator result.AddOperand(coordinate); result.AddOperand(dRef); result.AddOperand(imageOperands); + if (imageOperands != (ImageOperandsMask)int.MaxValue) + { + result.AddOperand(imageOperandIds); + } AddToFunctionDefinitions(result); return result; } - public Instruction ImageSparseSampleProjImplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, ImageOperandsMask imageOperands = (ImageOperandsMask)int.MaxValue) + public Instruction ImageSparseSampleProjImplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { Instruction result = new Instruction(Op.OpImageSparseSampleProjImplicitLod, GetNewId(), resultType); @@ -1250,24 +1295,32 @@ namespace Spv.Generator { result.AddOperand(imageOperands); } + if (imageOperands != (ImageOperandsMask)int.MaxValue) + { + result.AddOperand(imageOperandIds); + } AddToFunctionDefinitions(result); return result; } - public Instruction ImageSparseSampleProjExplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, ImageOperandsMask imageOperands) + public Instruction ImageSparseSampleProjExplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { Instruction result = new Instruction(Op.OpImageSparseSampleProjExplicitLod, GetNewId(), resultType); result.AddOperand(sampledImage); result.AddOperand(coordinate); result.AddOperand(imageOperands); + if (imageOperands != (ImageOperandsMask)int.MaxValue) + { + result.AddOperand(imageOperandIds); + } AddToFunctionDefinitions(result); return result; } - public Instruction ImageSparseSampleProjDrefImplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction dRef, ImageOperandsMask imageOperands = (ImageOperandsMask)int.MaxValue) + public Instruction ImageSparseSampleProjDrefImplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction dRef, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { Instruction result = new Instruction(Op.OpImageSparseSampleProjDrefImplicitLod, GetNewId(), resultType); @@ -1278,12 +1331,16 @@ namespace Spv.Generator { result.AddOperand(imageOperands); } + if (imageOperands != (ImageOperandsMask)int.MaxValue) + { + result.AddOperand(imageOperandIds); + } AddToFunctionDefinitions(result); return result; } - public Instruction ImageSparseSampleProjDrefExplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction dRef, ImageOperandsMask imageOperands) + public Instruction ImageSparseSampleProjDrefExplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction dRef, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { Instruction result = new Instruction(Op.OpImageSparseSampleProjDrefExplicitLod, GetNewId(), resultType); @@ -1291,12 +1348,16 @@ namespace Spv.Generator result.AddOperand(coordinate); result.AddOperand(dRef); result.AddOperand(imageOperands); + if (imageOperands != (ImageOperandsMask)int.MaxValue) + { + result.AddOperand(imageOperandIds); + } AddToFunctionDefinitions(result); return result; } - public Instruction ImageSparseFetch(Instruction resultType, Instruction image, Instruction coordinate, ImageOperandsMask imageOperands = (ImageOperandsMask)int.MaxValue) + public Instruction ImageSparseFetch(Instruction resultType, Instruction image, Instruction coordinate, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { Instruction result = new Instruction(Op.OpImageSparseFetch, GetNewId(), resultType); @@ -1306,12 +1367,16 @@ namespace Spv.Generator { result.AddOperand(imageOperands); } + if (imageOperands != (ImageOperandsMask)int.MaxValue) + { + result.AddOperand(imageOperandIds); + } AddToFunctionDefinitions(result); return result; } - public Instruction ImageSparseGather(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction component, ImageOperandsMask imageOperands = (ImageOperandsMask)int.MaxValue) + public Instruction ImageSparseGather(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction component, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { Instruction result = new Instruction(Op.OpImageSparseGather, GetNewId(), resultType); @@ -1322,12 +1387,16 @@ namespace Spv.Generator { result.AddOperand(imageOperands); } + if (imageOperands != (ImageOperandsMask)int.MaxValue) + { + result.AddOperand(imageOperandIds); + } AddToFunctionDefinitions(result); return result; } - public Instruction ImageSparseDrefGather(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction dRef, ImageOperandsMask imageOperands = (ImageOperandsMask)int.MaxValue) + public Instruction ImageSparseDrefGather(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction dRef, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { Instruction result = new Instruction(Op.OpImageSparseDrefGather, GetNewId(), resultType); @@ -1338,6 +1407,10 @@ namespace Spv.Generator { result.AddOperand(imageOperands); } + if (imageOperands != (ImageOperandsMask)int.MaxValue) + { + result.AddOperand(imageOperandIds); + } AddToFunctionDefinitions(result); return result; @@ -1353,7 +1426,7 @@ namespace Spv.Generator return result; } - public Instruction ImageSparseRead(Instruction resultType, Instruction image, Instruction coordinate, ImageOperandsMask imageOperands = (ImageOperandsMask)int.MaxValue) + public Instruction ImageSparseRead(Instruction resultType, Instruction image, Instruction coordinate, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { Instruction result = new Instruction(Op.OpImageSparseRead, GetNewId(), resultType); @@ -1363,12 +1436,16 @@ namespace Spv.Generator { result.AddOperand(imageOperands); } + if (imageOperands != (ImageOperandsMask)int.MaxValue) + { + result.AddOperand(imageOperandIds); + } AddToFunctionDefinitions(result); return result; } - public Instruction ImageSampleFootprintNV(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction granularity, Instruction coarse, ImageOperandsMask imageOperands = (ImageOperandsMask)int.MaxValue) + public Instruction ImageSampleFootprintNV(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction granularity, Instruction coarse, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { Instruction result = new Instruction(Op.OpImageSampleFootprintNV, GetNewId(), resultType); @@ -1380,6 +1457,10 @@ namespace Spv.Generator { result.AddOperand(imageOperands); } + if (imageOperands != (ImageOperandsMask)int.MaxValue) + { + result.AddOperand(imageOperandIds); + } AddToFunctionDefinitions(result); return result; @@ -2721,6 +2802,15 @@ namespace Spv.Generator return result; } + public Instruction TerminateInvocation() + { + Instruction result = new Instruction(Op.OpTerminateInvocation); + + AddToFunctionDefinitions(result); + + return result; + } + // Atomic public Instruction AtomicLoad(Instruction resultType, Instruction pointer, Instruction memory, Instruction semantics) @@ -2956,6 +3046,19 @@ namespace Spv.Generator return result; } + public Instruction AtomicFAddEXT(Instruction resultType, Instruction pointer, Instruction memory, Instruction semantics, Instruction value) + { + Instruction result = new Instruction(Op.OpAtomicFAddEXT, GetNewId(), resultType); + + result.AddOperand(pointer); + result.AddOperand(memory); + result.AddOperand(semantics); + result.AddOperand(value); + AddToFunctionDefinitions(result); + + return result; + } + // Primitive public Instruction EmitVertex() @@ -3897,6 +4000,28 @@ namespace Spv.Generator return result; } + public Instruction ReadPipeBlockingINTEL(Instruction resultType, Instruction packetSize, Instruction packetAlignment) + { + Instruction result = new Instruction(Op.OpReadPipeBlockingINTEL, GetNewId(), resultType); + + result.AddOperand(packetSize); + result.AddOperand(packetAlignment); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction WritePipeBlockingINTEL(Instruction resultType, Instruction packetSize, Instruction packetAlignment) + { + Instruction result = new Instruction(Op.OpWritePipeBlockingINTEL, GetNewId(), resultType); + + result.AddOperand(packetSize); + result.AddOperand(packetAlignment); + AddToFunctionDefinitions(result); + + return result; + } + // Non-Uniform public Instruction GroupNonUniformElect(Instruction resultType, Instruction execution) @@ -4373,9 +4498,68 @@ namespace Spv.Generator // Reserved - public Instruction TypeRayQueryProvisionalKHR() + public Instruction TraceRayKHR(Instruction accel, Instruction rayFlags, Instruction cullMask, Instruction sBTOffset, Instruction sBTStride, Instruction missIndex, Instruction rayOrigin, Instruction rayTmin, Instruction rayDirection, Instruction rayTmax, Instruction payload) { - Instruction result = new Instruction(Op.OpTypeRayQueryProvisionalKHR, GetNewId()); + Instruction result = new Instruction(Op.OpTraceRayKHR); + + result.AddOperand(accel); + result.AddOperand(rayFlags); + result.AddOperand(cullMask); + result.AddOperand(sBTOffset); + result.AddOperand(sBTStride); + result.AddOperand(missIndex); + result.AddOperand(rayOrigin); + result.AddOperand(rayTmin); + result.AddOperand(rayDirection); + result.AddOperand(rayTmax); + result.AddOperand(payload); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ExecuteCallableKHR(Instruction sBTIndex, Instruction callableData) + { + Instruction result = new Instruction(Op.OpExecuteCallableKHR); + + result.AddOperand(sBTIndex); + result.AddOperand(callableData); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction ConvertUToAccelerationStructureKHR(Instruction resultType, Instruction accel) + { + Instruction result = new Instruction(Op.OpConvertUToAccelerationStructureKHR, GetNewId(), resultType); + + result.AddOperand(accel); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction IgnoreIntersectionKHR() + { + Instruction result = new Instruction(Op.OpIgnoreIntersectionKHR); + + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction TerminateRayKHR() + { + Instruction result = new Instruction(Op.OpTerminateRayKHR); + + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction TypeRayQueryKHR() + { + Instruction result = new Instruction(Op.OpTypeRayQueryKHR, GetNewId()); AddToFunctionDefinitions(result); @@ -4526,15 +4710,6 @@ namespace Spv.Generator return result; } - public Instruction IgnoreIntersectionKHR() - { - Instruction result = new Instruction(Op.OpIgnoreIntersectionKHR); - - AddToFunctionDefinitions(result); - - return result; - } - public Instruction TerminateRayNV() { Instruction result = new Instruction(Op.OpTerminateRayNV); @@ -4544,15 +4719,6 @@ namespace Spv.Generator return result; } - public Instruction TerminateRayKHR() - { - Instruction result = new Instruction(Op.OpTerminateRayKHR); - - AddToFunctionDefinitions(result); - - return result; - } - public Instruction TraceNV(Instruction accel, Instruction rayFlags, Instruction cullMask, Instruction sBTOffset, Instruction sBTStride, Instruction missIndex, Instruction rayOrigin, Instruction rayTmin, Instruction rayDirection, Instruction rayTmax, Instruction payloadId) { Instruction result = new Instruction(Op.OpTraceNV); @@ -4573,26 +4739,6 @@ namespace Spv.Generator return result; } - public Instruction TraceRayKHR(Instruction accel, Instruction rayFlags, Instruction cullMask, Instruction sBTOffset, Instruction sBTStride, Instruction missIndex, Instruction rayOrigin, Instruction rayTmin, Instruction rayDirection, Instruction rayTmax, Instruction payloadId) - { - Instruction result = new Instruction(Op.OpTraceRayKHR); - - result.AddOperand(accel); - result.AddOperand(rayFlags); - result.AddOperand(cullMask); - result.AddOperand(sBTOffset); - result.AddOperand(sBTStride); - result.AddOperand(missIndex); - result.AddOperand(rayOrigin); - result.AddOperand(rayTmin); - result.AddOperand(rayDirection); - result.AddOperand(rayTmax); - result.AddOperand(payloadId); - AddToFunctionDefinitions(result); - - return result; - } - public Instruction TypeAccelerationStructureNV() { Instruction result = new Instruction(Op.OpTypeAccelerationStructureNV, GetNewId()); @@ -4622,17 +4768,6 @@ namespace Spv.Generator return result; } - public Instruction ExecuteCallableKHR(Instruction sBTIndex, Instruction callableDataId) - { - Instruction result = new Instruction(Op.OpExecuteCallableKHR); - - result.AddOperand(sBTIndex); - result.AddOperand(callableDataId); - AddToFunctionDefinitions(result); - - return result; - } - public Instruction TypeCooperativeMatrixNV(Instruction componentType, Instruction execution, Instruction rows, Instruction columns) { Instruction result = new Instruction(Op.OpTypeCooperativeMatrixNV, GetNewId()); @@ -4889,6 +5024,27 @@ namespace Spv.Generator return result; } + public Instruction LoopControlINTEL(params LiteralInteger[] loopControlParameters) + { + Instruction result = new Instruction(Op.OpLoopControlINTEL); + + result.AddOperand(loopControlParameters); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction FPGARegINTEL(Instruction resultType, Instruction resultObj, Instruction input) + { + Instruction result = new Instruction(Op.OpFPGARegINTEL, GetNewId(), resultType); + + result.AddOperand(resultObj); + result.AddOperand(input); + AddToFunctionDefinitions(result); + + return result; + } + public Instruction RayQueryGetRayTMinKHR(Instruction resultType, Instruction rayQuery) { Instruction result = new Instruction(Op.OpRayQueryGetRayTMinKHR, GetNewId(), resultType); diff --git a/Spv.Generator/Autogenerated/GlslStd450Grammar.cs b/Spv.Generator/Autogenerated/GlslStd450Grammar.cs new file mode 100644 index 000000000..4722d2e49 --- /dev/null +++ b/Spv.Generator/Autogenerated/GlslStd450Grammar.cs @@ -0,0 +1,441 @@ +// AUTOGENERATED: DO NOT EDIT +// Last update date: 2021-01-06 23:02:26.955269 +#region Grammar License +// Copyright (c) 2014-2016 The Khronos Group Inc. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and/or associated documentation files (the "Materials"), +// to deal in the Materials without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Materials, and to permit persons to whom the +// Materials are furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Materials. +// +// MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS +// STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND +// HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ +// +// THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS +// IN THE MATERIALS. +#endregion + +using static Spv.Specification; + +namespace Spv.Generator +{ + public partial class Module + { + public Instruction GlslRound(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 1, x); + } + + public Instruction GlslRoundEven(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 2, x); + } + + public Instruction GlslTrunc(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 3, x); + } + + public Instruction GlslFAbs(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 4, x); + } + + public Instruction GlslSAbs(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 5, x); + } + + public Instruction GlslFSign(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 6, x); + } + + public Instruction GlslSSign(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 7, x); + } + + public Instruction GlslFloor(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 8, x); + } + + public Instruction GlslCeil(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 9, x); + } + + public Instruction GlslFract(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 10, x); + } + + public Instruction GlslRadians(Instruction resultType, Instruction degrees) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 11, degrees); + } + + public Instruction GlslDegrees(Instruction resultType, Instruction radians) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 12, radians); + } + + public Instruction GlslSin(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 13, x); + } + + public Instruction GlslCos(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 14, x); + } + + public Instruction GlslTan(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 15, x); + } + + public Instruction GlslAsin(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 16, x); + } + + public Instruction GlslAcos(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 17, x); + } + + public Instruction GlslAtan(Instruction resultType, Instruction y_over_x) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 18, y_over_x); + } + + public Instruction GlslSinh(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 19, x); + } + + public Instruction GlslCosh(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 20, x); + } + + public Instruction GlslTanh(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 21, x); + } + + public Instruction GlslAsinh(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 22, x); + } + + public Instruction GlslAcosh(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 23, x); + } + + public Instruction GlslAtanh(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 24, x); + } + + public Instruction GlslAtan2(Instruction resultType, Instruction y, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 25, y, x); + } + + public Instruction GlslPow(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 26, x, y); + } + + public Instruction GlslExp(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 27, x); + } + + public Instruction GlslLog(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 28, x); + } + + public Instruction GlslExp2(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 29, x); + } + + public Instruction GlslLog2(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 30, x); + } + + public Instruction GlslSqrt(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 31, x); + } + + public Instruction GlslInverseSqrt(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 32, x); + } + + public Instruction GlslDeterminant(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 33, x); + } + + public Instruction GlslMatrixInverse(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 34, x); + } + + public Instruction GlslModf(Instruction resultType, Instruction x, Instruction i) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 35, x, i); + } + + public Instruction GlslModfStruct(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 36, x); + } + + public Instruction GlslFMin(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 37, x, y); + } + + public Instruction GlslUMin(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 38, x, y); + } + + public Instruction GlslSMin(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 39, x, y); + } + + public Instruction GlslFMax(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 40, x, y); + } + + public Instruction GlslUMax(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 41, x, y); + } + + public Instruction GlslSMax(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 42, x, y); + } + + public Instruction GlslFClamp(Instruction resultType, Instruction x, Instruction minVal, Instruction maxVal) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 43, x, minVal, maxVal); + } + + public Instruction GlslUClamp(Instruction resultType, Instruction x, Instruction minVal, Instruction maxVal) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 44, x, minVal, maxVal); + } + + public Instruction GlslSClamp(Instruction resultType, Instruction x, Instruction minVal, Instruction maxVal) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 45, x, minVal, maxVal); + } + + public Instruction GlslFMix(Instruction resultType, Instruction x, Instruction y, Instruction a) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 46, x, y, a); + } + + public Instruction GlslIMix(Instruction resultType, Instruction x, Instruction y, Instruction a) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 47, x, y, a); + } + + public Instruction GlslStep(Instruction resultType, Instruction edge, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 48, edge, x); + } + + public Instruction GlslSmoothStep(Instruction resultType, Instruction edge0, Instruction edge1, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 49, edge0, edge1, x); + } + + public Instruction GlslFma(Instruction resultType, Instruction a, Instruction b, Instruction c) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 50, a, b, c); + } + + public Instruction GlslFrexp(Instruction resultType, Instruction x, Instruction exp) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 51, x, exp); + } + + public Instruction GlslFrexpStruct(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 52, x); + } + + public Instruction GlslLdexp(Instruction resultType, Instruction x, Instruction exp) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 53, x, exp); + } + + public Instruction GlslPackSnorm4x8(Instruction resultType, Instruction v) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 54, v); + } + + public Instruction GlslPackUnorm4x8(Instruction resultType, Instruction v) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 55, v); + } + + public Instruction GlslPackSnorm2x16(Instruction resultType, Instruction v) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 56, v); + } + + public Instruction GlslPackUnorm2x16(Instruction resultType, Instruction v) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 57, v); + } + + public Instruction GlslPackHalf2x16(Instruction resultType, Instruction v) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 58, v); + } + + public Instruction GlslPackDouble2x32(Instruction resultType, Instruction v) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 59, v); + } + + public Instruction GlslUnpackSnorm2x16(Instruction resultType, Instruction p) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 60, p); + } + + public Instruction GlslUnpackUnorm2x16(Instruction resultType, Instruction p) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 61, p); + } + + public Instruction GlslUnpackHalf2x16(Instruction resultType, Instruction v) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 62, v); + } + + public Instruction GlslUnpackSnorm4x8(Instruction resultType, Instruction p) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 63, p); + } + + public Instruction GlslUnpackUnorm4x8(Instruction resultType, Instruction p) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 64, p); + } + + public Instruction GlslUnpackDouble2x32(Instruction resultType, Instruction v) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 65, v); + } + + public Instruction GlslLength(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 66, x); + } + + public Instruction GlslDistance(Instruction resultType, Instruction p0, Instruction p1) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 67, p0, p1); + } + + public Instruction GlslCross(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 68, x, y); + } + + public Instruction GlslNormalize(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 69, x); + } + + public Instruction GlslFaceForward(Instruction resultType, Instruction n, Instruction i, Instruction nref) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 70, n, i, nref); + } + + public Instruction GlslReflect(Instruction resultType, Instruction i, Instruction n) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 71, i, n); + } + + public Instruction GlslRefract(Instruction resultType, Instruction i, Instruction n, Instruction eta) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 72, i, n, eta); + } + + public Instruction GlslFindILsb(Instruction resultType, Instruction value) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 73, value); + } + + public Instruction GlslFindSMsb(Instruction resultType, Instruction value) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 74, value); + } + + public Instruction GlslFindUMsb(Instruction resultType, Instruction value) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 75, value); + } + + public Instruction GlslInterpolateAtCentroid(Instruction resultType, Instruction interpolant) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 76, interpolant); + } + + public Instruction GlslInterpolateAtSample(Instruction resultType, Instruction interpolant, Instruction sample) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 77, interpolant, sample); + } + + public Instruction GlslInterpolateAtOffset(Instruction resultType, Instruction interpolant, Instruction offset) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 78, interpolant, offset); + } + + public Instruction GlslNMin(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 79, x, y); + } + + public Instruction GlslNMax(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 80, x, y); + } + + public Instruction GlslNClamp(Instruction resultType, Instruction x, Instruction minVal, Instruction maxVal) + { + return ExtInst(resultType, AddExtInstImport("GLSL.std.450"), 81, x, minVal, maxVal); + } + + } +} diff --git a/Spv.Generator/Autogenerated/OpenClGrammar.cs b/Spv.Generator/Autogenerated/OpenClGrammar.cs new file mode 100644 index 000000000..ac990fbc8 --- /dev/null +++ b/Spv.Generator/Autogenerated/OpenClGrammar.cs @@ -0,0 +1,841 @@ +// AUTOGENERATED: DO NOT EDIT +// Last update date: 2021-01-06 23:02:27.020534 +#region Grammar License +// Copyright (c) 2014-2016 The Khronos Group Inc. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and/or associated documentation files (the "Materials"), +// to deal in the Materials without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Materials, and to permit persons to whom the +// Materials are furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Materials. +// +// MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS +// STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND +// HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ +// +// THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS +// IN THE MATERIALS. +#endregion + +using static Spv.Specification; + +namespace Spv.Generator +{ + public partial class Module + { + public Instruction OpenClAcos(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 0, x); + } + + public Instruction OpenClAcosh(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 1, x); + } + + public Instruction OpenClAcospi(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 2, x); + } + + public Instruction OpenClAsin(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 3, x); + } + + public Instruction OpenClAsinh(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 4, x); + } + + public Instruction OpenClAsinpi(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 5, x); + } + + public Instruction OpenClAtan(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 6, x); + } + + public Instruction OpenClAtan2(Instruction resultType, Instruction y, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 7, y, x); + } + + public Instruction OpenClAtanh(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 8, x); + } + + public Instruction OpenClAtanpi(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 9, x); + } + + public Instruction OpenClAtan2pi(Instruction resultType, Instruction y, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 10, y, x); + } + + public Instruction OpenClCbrt(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 11, x); + } + + public Instruction OpenClCeil(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 12, x); + } + + public Instruction OpenClCopysign(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 13, x, y); + } + + public Instruction OpenClCos(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 14, x); + } + + public Instruction OpenClCosh(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 15, x); + } + + public Instruction OpenClCospi(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 16, x); + } + + public Instruction OpenClErfc(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 17, x); + } + + public Instruction OpenClErf(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 18, x); + } + + public Instruction OpenClExp(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 19, x); + } + + public Instruction OpenClExp2(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 20, x); + } + + public Instruction OpenClExp10(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 21, x); + } + + public Instruction OpenClExpm1(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 22, x); + } + + public Instruction OpenClFabs(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 23, x); + } + + public Instruction OpenClFdim(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 24, x, y); + } + + public Instruction OpenClFloor(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 25, x); + } + + public Instruction OpenClFma(Instruction resultType, Instruction a, Instruction b, Instruction c) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 26, a, b, c); + } + + public Instruction OpenClFmax(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 27, x, y); + } + + public Instruction OpenClFmin(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 28, x, y); + } + + public Instruction OpenClFmod(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 29, x, y); + } + + public Instruction OpenClFract(Instruction resultType, Instruction x, Instruction ptr) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 30, x, ptr); + } + + public Instruction OpenClFrexp(Instruction resultType, Instruction x, Instruction exp) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 31, x, exp); + } + + public Instruction OpenClHypot(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 32, x, y); + } + + public Instruction OpenClIlogb(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 33, x); + } + + public Instruction OpenClLdexp(Instruction resultType, Instruction x, Instruction k) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 34, x, k); + } + + public Instruction OpenClLgamma(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 35, x); + } + + public Instruction OpenClLgamma_r(Instruction resultType, Instruction x, Instruction signp) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 36, x, signp); + } + + public Instruction OpenClLog(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 37, x); + } + + public Instruction OpenClLog2(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 38, x); + } + + public Instruction OpenClLog10(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 39, x); + } + + public Instruction OpenClLog1p(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 40, x); + } + + public Instruction OpenClLogb(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 41, x); + } + + public Instruction OpenClMad(Instruction resultType, Instruction a, Instruction b, Instruction c) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 42, a, b, c); + } + + public Instruction OpenClMaxmag(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 43, x, y); + } + + public Instruction OpenClMinmag(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 44, x, y); + } + + public Instruction OpenClModf(Instruction resultType, Instruction x, Instruction iptr) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 45, x, iptr); + } + + public Instruction OpenClNan(Instruction resultType, Instruction nancode) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 46, nancode); + } + + public Instruction OpenClNextafter(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 47, x, y); + } + + public Instruction OpenClPow(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 48, x, y); + } + + public Instruction OpenClPown(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 49, x, y); + } + + public Instruction OpenClPowr(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 50, x, y); + } + + public Instruction OpenClRemainder(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 51, x, y); + } + + public Instruction OpenClRemquo(Instruction resultType, Instruction x, Instruction y, Instruction quo) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 52, x, y, quo); + } + + public Instruction OpenClRint(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 53, x); + } + + public Instruction OpenClRootn(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 54, x, y); + } + + public Instruction OpenClRound(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 55, x); + } + + public Instruction OpenClRsqrt(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 56, x); + } + + public Instruction OpenClSin(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 57, x); + } + + public Instruction OpenClSincos(Instruction resultType, Instruction x, Instruction cosval) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 58, x, cosval); + } + + public Instruction OpenClSinh(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 59, x); + } + + public Instruction OpenClSinpi(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 60, x); + } + + public Instruction OpenClSqrt(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 61, x); + } + + public Instruction OpenClTan(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 62, x); + } + + public Instruction OpenClTanh(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 63, x); + } + + public Instruction OpenClTanpi(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 64, x); + } + + public Instruction OpenClTgamma(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 65, x); + } + + public Instruction OpenClTrunc(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 66, x); + } + + public Instruction OpenClHalf_cos(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 67, x); + } + + public Instruction OpenClHalf_divide(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 68, x, y); + } + + public Instruction OpenClHalf_exp(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 69, x); + } + + public Instruction OpenClHalf_exp2(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 70, x); + } + + public Instruction OpenClHalf_exp10(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 71, x); + } + + public Instruction OpenClHalf_log(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 72, x); + } + + public Instruction OpenClHalf_log2(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 73, x); + } + + public Instruction OpenClHalf_log10(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 74, x); + } + + public Instruction OpenClHalf_powr(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 75, x, y); + } + + public Instruction OpenClHalf_recip(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 76, x); + } + + public Instruction OpenClHalf_rsqrt(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 77, x); + } + + public Instruction OpenClHalf_sin(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 78, x); + } + + public Instruction OpenClHalf_sqrt(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 79, x); + } + + public Instruction OpenClHalf_tan(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 80, x); + } + + public Instruction OpenClNative_cos(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 81, x); + } + + public Instruction OpenClNative_divide(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 82, x, y); + } + + public Instruction OpenClNative_exp(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 83, x); + } + + public Instruction OpenClNative_exp2(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 84, x); + } + + public Instruction OpenClNative_exp10(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 85, x); + } + + public Instruction OpenClNative_log(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 86, x); + } + + public Instruction OpenClNative_log2(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 87, x); + } + + public Instruction OpenClNative_log10(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 88, x); + } + + public Instruction OpenClNative_powr(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 89, x, y); + } + + public Instruction OpenClNative_recip(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 90, x); + } + + public Instruction OpenClNative_rsqrt(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 91, x); + } + + public Instruction OpenClNative_sin(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 92, x); + } + + public Instruction OpenClNative_sqrt(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 93, x); + } + + public Instruction OpenClNative_tan(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 94, x); + } + + public Instruction OpenClS_abs(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 141, x); + } + + public Instruction OpenClS_abs_diff(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 142, x, y); + } + + public Instruction OpenClS_add_sat(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 143, x, y); + } + + public Instruction OpenClU_add_sat(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 144, x, y); + } + + public Instruction OpenClS_hadd(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 145, x, y); + } + + public Instruction OpenClU_hadd(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 146, x, y); + } + + public Instruction OpenClS_rhadd(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 147, x, y); + } + + public Instruction OpenClU_rhadd(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 148, x, y); + } + + public Instruction OpenClS_clamp(Instruction resultType, Instruction x, Instruction minval, Instruction maxval) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 149, x, minval, maxval); + } + + public Instruction OpenClU_clamp(Instruction resultType, Instruction x, Instruction minval, Instruction maxval) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 150, x, minval, maxval); + } + + public Instruction OpenClClz(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 151, x); + } + + public Instruction OpenClCtz(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 152, x); + } + + public Instruction OpenClS_mad_hi(Instruction resultType, Instruction a, Instruction b, Instruction c) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 153, a, b, c); + } + + public Instruction OpenClU_mad_sat(Instruction resultType, Instruction x, Instruction y, Instruction z) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 154, x, y, z); + } + + public Instruction OpenClS_mad_sat(Instruction resultType, Instruction x, Instruction y, Instruction z) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 155, x, y, z); + } + + public Instruction OpenClS_max(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 156, x, y); + } + + public Instruction OpenClU_max(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 157, x, y); + } + + public Instruction OpenClS_min(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 158, x, y); + } + + public Instruction OpenClU_min(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 159, x, y); + } + + public Instruction OpenClS_mul_hi(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 160, x, y); + } + + public Instruction OpenClRotate(Instruction resultType, Instruction v, Instruction i) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 161, v, i); + } + + public Instruction OpenClS_sub_sat(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 162, x, y); + } + + public Instruction OpenClU_sub_sat(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 163, x, y); + } + + public Instruction OpenClU_upsample(Instruction resultType, Instruction hi, Instruction lo) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 164, hi, lo); + } + + public Instruction OpenClS_upsample(Instruction resultType, Instruction hi, Instruction lo) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 165, hi, lo); + } + + public Instruction OpenClPopcount(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 166, x); + } + + public Instruction OpenClS_mad24(Instruction resultType, Instruction x, Instruction y, Instruction z) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 167, x, y, z); + } + + public Instruction OpenClU_mad24(Instruction resultType, Instruction x, Instruction y, Instruction z) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 168, x, y, z); + } + + public Instruction OpenClS_mul24(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 169, x, y); + } + + public Instruction OpenClU_mul24(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 170, x, y); + } + + public Instruction OpenClU_abs(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 201, x); + } + + public Instruction OpenClU_abs_diff(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 202, x, y); + } + + public Instruction OpenClU_mul_hi(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 203, x, y); + } + + public Instruction OpenClU_mad_hi(Instruction resultType, Instruction a, Instruction b, Instruction c) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 204, a, b, c); + } + + public Instruction OpenClFclamp(Instruction resultType, Instruction x, Instruction minval, Instruction maxval) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 95, x, minval, maxval); + } + + public Instruction OpenClDegrees(Instruction resultType, Instruction radians) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 96, radians); + } + + public Instruction OpenClFmax_common(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 97, x, y); + } + + public Instruction OpenClFmin_common(Instruction resultType, Instruction x, Instruction y) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 98, x, y); + } + + public Instruction OpenClMix(Instruction resultType, Instruction x, Instruction y, Instruction a) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 99, x, y, a); + } + + public Instruction OpenClRadians(Instruction resultType, Instruction degrees) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 100, degrees); + } + + public Instruction OpenClStep(Instruction resultType, Instruction edge, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 101, edge, x); + } + + public Instruction OpenClSmoothstep(Instruction resultType, Instruction edge0, Instruction edge1, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 102, edge0, edge1, x); + } + + public Instruction OpenClSign(Instruction resultType, Instruction x) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 103, x); + } + + public Instruction OpenClCross(Instruction resultType, Instruction p0, Instruction p1) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 104, p0, p1); + } + + public Instruction OpenClDistance(Instruction resultType, Instruction p0, Instruction p1) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 105, p0, p1); + } + + public Instruction OpenClLength(Instruction resultType, Instruction p) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 106, p); + } + + public Instruction OpenClNormalize(Instruction resultType, Instruction p) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 107, p); + } + + public Instruction OpenClFast_distance(Instruction resultType, Instruction p0, Instruction p1) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 108, p0, p1); + } + + public Instruction OpenClFast_length(Instruction resultType, Instruction p) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 109, p); + } + + public Instruction OpenClFast_normalize(Instruction resultType, Instruction p) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 110, p); + } + + public Instruction OpenClBitselect(Instruction resultType, Instruction a, Instruction b, Instruction c) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 186, a, b, c); + } + + public Instruction OpenClSelect(Instruction resultType, Instruction a, Instruction b, Instruction c) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 187, a, b, c); + } + + public Instruction OpenClVloadn(Instruction resultType, Instruction offset, Instruction p, LiteralInteger n) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 171, offset, p, n); + } + + public Instruction OpenClVstoren(Instruction resultType, Instruction data, Instruction offset, Instruction p) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 172, data, offset, p); + } + + public Instruction OpenClVload_half(Instruction resultType, Instruction offset, Instruction p) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 173, offset, p); + } + + public Instruction OpenClVload_halfn(Instruction resultType, Instruction offset, Instruction p, LiteralInteger n) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 174, offset, p, n); + } + + public Instruction OpenClVstore_half(Instruction resultType, Instruction data, Instruction offset, Instruction p) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 175, data, offset, p); + } + + public Instruction OpenClVstore_half_r(Instruction resultType, Instruction data, Instruction offset, Instruction p, FPRoundingMode mode) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 176, data, offset, p, LiteralInteger.CreateForEnum(mode)); + } + + public Instruction OpenClVstore_halfn(Instruction resultType, Instruction data, Instruction offset, Instruction p) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 177, data, offset, p); + } + + public Instruction OpenClVstore_halfn_r(Instruction resultType, Instruction data, Instruction offset, Instruction p, FPRoundingMode mode) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 178, data, offset, p, LiteralInteger.CreateForEnum(mode)); + } + + public Instruction OpenClVloada_halfn(Instruction resultType, Instruction offset, Instruction p, LiteralInteger n) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 179, offset, p, n); + } + + public Instruction OpenClVstorea_halfn(Instruction resultType, Instruction data, Instruction offset, Instruction p) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 180, data, offset, p); + } + + public Instruction OpenClVstorea_halfn_r(Instruction resultType, Instruction data, Instruction offset, Instruction p, FPRoundingMode mode) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 181, data, offset, p, LiteralInteger.CreateForEnum(mode)); + } + + public Instruction OpenClShuffle(Instruction resultType, Instruction x, Instruction shufflemask) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 182, x, shufflemask); + } + + public Instruction OpenClShuffle2(Instruction resultType, Instruction x, Instruction y, Instruction shufflemask) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 183, x, y, shufflemask); + } + + public Instruction OpenClPrefetch(Instruction resultType, Instruction ptr, Instruction numelements) + { + return ExtInst(resultType, AddExtInstImport("OpenCL.std"), 185, ptr, numelements); + } + + } +} diff --git a/SpvGen/Instruction.cs b/Spv.Generator/Instruction.cs similarity index 100% rename from SpvGen/Instruction.cs rename to Spv.Generator/Instruction.cs index f93fb34fb..a7fb162c9 100644 --- a/SpvGen/Instruction.cs +++ b/Spv.Generator/Instruction.cs @@ -188,16 +188,16 @@ namespace Spv.Generator return result; } - public bool EqualsResultType(Instruction cmpObj) - { - return _resultType.Opcode == cmpObj._resultType.Opcode && _resultType.EqualsContent(cmpObj._resultType); - } - public bool EqualsContent(Instruction cmpObj) { return _operands.SequenceEqual(cmpObj._operands); } + public bool EqualsResultType(Instruction cmpObj) + { + return _resultType.Opcode == cmpObj._resultType.Opcode && _resultType.EqualsContent(cmpObj._resultType); + } + public override int GetHashCode() { return HashCode.Combine(Opcode, Id, _resultType, _operands); diff --git a/SpvGen/LICENSE b/Spv.Generator/LICENSE similarity index 100% rename from SpvGen/LICENSE rename to Spv.Generator/LICENSE diff --git a/SpvGen/LiteralInteger.cs b/Spv.Generator/LiteralInteger.cs similarity index 100% rename from SpvGen/LiteralInteger.cs rename to Spv.Generator/LiteralInteger.cs diff --git a/SpvGen/LiteralString.cs b/Spv.Generator/LiteralString.cs similarity index 100% rename from SpvGen/LiteralString.cs rename to Spv.Generator/LiteralString.cs diff --git a/SpvGen/Module.cs b/Spv.Generator/Module.cs similarity index 90% rename from SpvGen/Module.cs rename to Spv.Generator/Module.cs index 9b7e2060d..b16b859b6 100644 --- a/SpvGen/Module.cs +++ b/Spv.Generator/Module.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Diagnostics; using System.IO; +using System.Linq; using static Spv.Specification; namespace Spv.Generator @@ -164,6 +165,7 @@ namespace Spv.Generator AddToFunctionDefinitions(label); } + public void AddLocalVariable(Instruction variable) { // TODO: ensure it has the local modifier @@ -195,7 +197,7 @@ namespace Spv.Generator foreach (Instruction global in _globals) { - if (global.Opcode == constant.Opcode && global.EqualsResultType(constant) && global.EqualsContent(constant)) + if (global.Opcode == constant.Opcode && global.EqualsContent(constant) && global.EqualsResultType(constant)) { // update the duplicate instance to use the good id so it ends up being encoded right. constant.SetId(global.Id); @@ -209,21 +211,40 @@ namespace Spv.Generator _globals.Add(constant); } + public Instruction ExtInst(Instruction resultType, Instruction set, LiteralInteger instruction, params Operand[] parameters) + { + Instruction result = new Instruction(Op.OpExtInst, GetNewId(), resultType); + + result.AddOperand(set); + result.AddOperand(instruction); + result.AddOperand(parameters); + AddToFunctionDefinitions(result); + + return result; + } + public void SetMemoryModel(AddressingModel addressingModel, MemoryModel memoryModel) { _addressingModel = addressingModel; _memoryModel = memoryModel; } - protected virtual void Construct() + // TODO: Found a way to make the auto generate one used. + public Instruction OpenClPrintf(Instruction resultType, Instruction format, params Instruction[] additionalarguments) { - throw new NotSupportedException("Construct should be overriden."); + Instruction result = new Instruction(Op.OpExtInst, GetNewId(), resultType); + + result.AddOperand(AddExtInstImport("OpenCL.std")); + result.AddOperand((LiteralInteger)184); + result.AddOperand(format); + result.AddOperand(additionalarguments); + AddToFunctionDefinitions(result); + + return result; } public byte[] Generate() { - Construct(); - using (MemoryStream stream = new MemoryStream()) { BinaryWriter writer = new BinaryWriter(stream); diff --git a/SpvGen/Operand.cs b/Spv.Generator/Operand.cs similarity index 100% rename from SpvGen/Operand.cs rename to Spv.Generator/Operand.cs diff --git a/SpvGen/OperandType.cs b/Spv.Generator/OperandType.cs similarity index 100% rename from SpvGen/OperandType.cs rename to Spv.Generator/OperandType.cs diff --git a/Spv.Generator/Spv.Generator.csproj b/Spv.Generator/Spv.Generator.csproj new file mode 100644 index 000000000..fff78129b --- /dev/null +++ b/Spv.Generator/Spv.Generator.csproj @@ -0,0 +1,7 @@ + + + + net6.0 + + + diff --git a/SpvGen/Autogenerated/spirv.cs b/Spv.Generator/spirv.cs similarity index 94% rename from SpvGen/Autogenerated/spirv.cs rename to Spv.Generator/spirv.cs index 82d73e3c9..6152cc182 100644 --- a/SpvGen/Autogenerated/spirv.cs +++ b/Spv.Generator/spirv.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2020 The Khronos Group Inc. +// Copyright (c) 2014-2020 The Khronos Group Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and/or associated documentation files (the "Materials"), @@ -49,7 +49,7 @@ namespace Spv { public const uint MagicNumber = 0x07230203; public const uint Version = 0x00010500; - public const uint Revision = 3; + public const uint Revision = 4; public const uint OpCodeMask = 0xffff; public const uint WordCountShift = 16; @@ -164,6 +164,10 @@ namespace Spv SampleInterlockUnorderedEXT = 5369, ShadingRateInterlockOrderedEXT = 5370, ShadingRateInterlockUnorderedEXT = 5371, + MaxWorkgroupSizeINTEL = 5893, + MaxWorkDimINTEL = 5894, + NoGlobalOffsetINTEL = 5895, + NumSIMDWorkitemsINTEL = 5896, } public enum StorageClass @@ -195,6 +199,7 @@ namespace Spv ShaderRecordBufferNV = 5343, PhysicalStorageBuffer = 5349, PhysicalStorageBufferEXT = 5349, + CodeSectionINTEL = 5605, } public enum Dim @@ -265,6 +270,8 @@ namespace Spv Rg8ui = 37, R16ui = 38, R8ui = 39, + R64ui = 40, + R64i = 41, } public enum ImageChannelOrder @@ -475,11 +482,24 @@ namespace Spv RestrictPointerEXT = 5355, AliasedPointer = 5356, AliasedPointerEXT = 5356, + ReferencedIndirectlyINTEL = 5602, CounterBuffer = 5634, HlslCounterBufferGOOGLE = 5634, HlslSemanticGOOGLE = 5635, UserSemantic = 5635, UserTypeGOOGLE = 5636, + RegisterINTEL = 5825, + MemoryINTEL = 5826, + NumbanksINTEL = 5827, + BankwidthINTEL = 5828, + MaxPrivateCopiesINTEL = 5829, + SinglepumpINTEL = 5830, + DoublepumpINTEL = 5831, + MaxReplicatesINTEL = 5832, + SimpleDualPortINTEL = 5833, + MergeINTEL = 5834, + BankBitsINTEL = 5835, + ForcePow2DepthINTEL = 5836, } public enum BuiltIn @@ -538,8 +558,10 @@ namespace Spv BaseVertex = 4424, BaseInstance = 4425, DrawIndex = 4426, + PrimitiveShadingRateKHR = 4432, DeviceIndex = 4438, ViewIndex = 4440, + ShadingRateKHR = 4444, BaryCoordNoPerspAMD = 4992, BaryCoordNoPerspCentroidAMD = 4993, BaryCoordNoPerspSampleAMD = 4994, @@ -590,7 +612,6 @@ namespace Spv ObjectToWorldNV = 5330, WorldToObjectKHR = 5331, WorldToObjectNV = 5331, - HitTKHR = 5332, HitTNV = 5332, HitKindKHR = 5333, HitKindNV = 5333, @@ -627,6 +648,13 @@ namespace Spv IterationMultiple = 6, PeelCount = 7, PartialCount = 8, + InitiationIntervalINTEL = 16, + MaxConcurrencyINTEL = 17, + DependencyArrayINTEL = 18, + PipelineEnableINTEL = 19, + LoopCoalesceINTEL = 20, + MaxInterleavingINTEL = 21, + SpeculatedIterationsINTEL = 22, } public enum LoopControlMask @@ -641,6 +669,13 @@ namespace Spv IterationMultiple = 0x00000040, PeelCount = 0x00000080, PartialCount = 0x00000100, + InitiationIntervalINTEL = 0x00010000, + MaxConcurrencyINTEL = 0x00020000, + DependencyArrayINTEL = 0x00040000, + PipelineEnableINTEL = 0x00080000, + LoopCoalesceINTEL = 0x00100000, + MaxInterleavingINTEL = 0x00200000, + SpeculatedIterationsINTEL = 0x00400000, } public enum FunctionControlShift @@ -842,6 +877,7 @@ namespace Spv GroupNonUniformQuad = 68, ShaderLayer = 69, ShaderViewportIndex = 70, + FragmentShadingRateKHR = 4422, SubgroupBallotKHR = 4423, DrawParameters = 4427, SubgroupVoteKHR = 4431, @@ -866,12 +902,15 @@ namespace Spv RoundingModeRTE = 4467, RoundingModeRTZ = 4468, RayQueryProvisionalKHR = 4471, - RayTraversalPrimitiveCullingProvisionalKHR = 4478, + RayQueryKHR = 4472, + RayTraversalPrimitiveCullingKHR = 4478, + RayTracingKHR = 4479, Float16ImageAMD = 5008, ImageGatherBiasLodAMD = 5009, FragmentMaskAMD = 5010, StencilExportEXT = 5013, ImageReadWriteLodAMD = 5015, + Int64ImageEXT = 5016, ShaderClockKHR = 5055, SampleMaskOverrideCoverageNV = 5249, GeometryShaderPassthroughNV = 5251, @@ -932,9 +971,20 @@ namespace Spv SubgroupImageBlockIOINTEL = 5570, SubgroupImageMediaBlockIOINTEL = 5579, IntegerFunctions2INTEL = 5584, + FunctionPointersINTEL = 5603, + IndirectReferencesINTEL = 5604, SubgroupAvcMotionEstimationINTEL = 5696, SubgroupAvcMotionEstimationIntraINTEL = 5697, SubgroupAvcMotionEstimationChromaINTEL = 5698, + FPGAMemoryAttributesINTEL = 5824, + UnstructuredLoopControlsINTEL = 5886, + FPGALoopControlsINTEL = 5888, + KernelAttributesINTEL = 5892, + FPGAKernelAttributesINTEL = 5897, + BlockingPipesINTEL = 5945, + FPGARegINTEL = 5948, + AtomicFloat32AddEXT = 6033, + AtomicFloat64AddEXT = 6034, } public enum RayFlagsShift @@ -985,6 +1035,23 @@ namespace Spv RayQueryCandidateIntersectionAABBKHR = 1, } + public enum FragmentShadingRateShift + { + Vertical2Pixels = 0, + Vertical4Pixels = 1, + Horizontal2Pixels = 2, + Horizontal4Pixels = 3, + } + + public enum FragmentShadingRateMask + { + MaskNone = 0, + Vertical2Pixels = 0x00000001, + Vertical4Pixels = 0x00000002, + Horizontal2Pixels = 0x00000004, + Horizontal4Pixels = 0x00000008, + } + public enum Op { OpNop = 0, @@ -1331,13 +1398,19 @@ namespace Spv OpPtrEqual = 401, OpPtrNotEqual = 402, OpPtrDiff = 403, + OpTerminateInvocation = 4416, OpSubgroupBallotKHR = 4421, OpSubgroupFirstInvocationKHR = 4422, OpSubgroupAllKHR = 4428, OpSubgroupAnyKHR = 4429, OpSubgroupAllEqualKHR = 4430, OpSubgroupReadInvocationKHR = 4432, - OpTypeRayQueryProvisionalKHR = 4472, + OpTraceRayKHR = 4445, + OpExecuteCallableKHR = 4446, + OpConvertUToAccelerationStructureKHR = 4447, + OpIgnoreIntersectionKHR = 4448, + OpTerminateRayKHR = 4449, + OpTypeRayQueryKHR = 4472, OpRayQueryInitializeKHR = 4473, OpRayQueryTerminateKHR = 4474, OpRayQueryGenerateIntersectionKHR = 4475, @@ -1360,15 +1433,11 @@ namespace Spv OpWritePackedPrimitiveIndices4x8NV = 5299, OpReportIntersectionKHR = 5334, OpReportIntersectionNV = 5334, - OpIgnoreIntersectionKHR = 5335, OpIgnoreIntersectionNV = 5335, - OpTerminateRayKHR = 5336, OpTerminateRayNV = 5336, OpTraceNV = 5337, - OpTraceRayKHR = 5337, OpTypeAccelerationStructureKHR = 5341, OpTypeAccelerationStructureNV = 5341, - OpExecuteCallableKHR = 5344, OpExecuteCallableNV = 5344, OpTypeCooperativeMatrixNV = 5358, OpCooperativeMatrixLoadNV = 5359, @@ -1403,6 +1472,8 @@ namespace Spv OpUSubSatINTEL = 5596, OpIMul32x16INTEL = 5597, OpUMul32x16INTEL = 5598, + OpFunctionPointerINTEL = 5600, + OpFunctionPointerCallINTEL = 5601, OpDecorateString = 5632, OpDecorateStringGOOGLE = 5632, OpMemberDecorateString = 5633, @@ -1525,6 +1596,10 @@ namespace Spv OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814, OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815, OpSubgroupAvcSicGetInterRawSadsINTEL = 5816, + OpLoopControlINTEL = 5887, + OpReadPipeBlockingINTEL = 5946, + OpWritePipeBlockingINTEL = 5947, + OpFPGARegINTEL = 5949, OpRayQueryGetRayTMinKHR = 6016, OpRayQueryGetRayFlagsKHR = 6017, OpRayQueryGetIntersectionTKHR = 6018, @@ -1542,6 +1617,7 @@ namespace Spv OpRayQueryGetWorldRayOriginKHR = 6030, OpRayQueryGetIntersectionObjectToWorldKHR = 6031, OpRayQueryGetIntersectionWorldToObjectKHR = 6032, + OpAtomicFAddEXT = 6035, } } } diff --git a/SpvGen/Spv.Generator.csproj b/SpvGen/Spv.Generator.csproj deleted file mode 100644 index 5bd2638c6..000000000 --- a/SpvGen/Spv.Generator.csproj +++ /dev/null @@ -1,12 +0,0 @@ - - - - Library - netcoreapp3.1 - 8.0 - win-x64;osx-x64;linux-x64 - - - - - From 4c7e6df7d16556cdba5fabe25166b19025d3db20 Mon Sep 17 00:00:00 2001 From: gdk Date: Sat, 11 Dec 2021 23:36:47 -0300 Subject: [PATCH 034/179] Add alpha test emulation on shader (but no shader specialisation yet...) --- .../Engine/Threed/StateUpdater.cs | 5 ++- .../Shader/Cache/Migration.cs | 5 ++- Ryujinx.Graphics.Gpu/Shader/GpuAccessor.cs | 31 ++++++++++++++++ .../Shader/GpuChannelGraphicsState.cs | 26 ++++++++++++- Ryujinx.Graphics.Shader/AlphaTestOp.cs | 14 +++++++ Ryujinx.Graphics.Shader/IGpuAccessor.cs | 10 +++++ .../Translation/EmitterContext.cs | 37 ++++++++++++++++++- 7 files changed, 124 insertions(+), 4 deletions(-) create mode 100644 Ryujinx.Graphics.Shader/AlphaTestOp.cs diff --git a/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs b/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs index 2482d3e9f..8ae980576 100644 --- a/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs +++ b/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs @@ -1248,7 +1248,10 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed _state.State.ViewportTransformEnable == 0, GetDepthMode() == DepthMode.MinusOneToOne, _state.State.VertexProgramPointSize, - _state.State.PointSize); + _state.State.PointSize, + _state.State.AlphaTestEnable, + _state.State.AlphaTestFunc, + _state.State.AlphaTestRef); } private DepthMode GetDepthMode() diff --git a/Ryujinx.Graphics.Gpu/Shader/Cache/Migration.cs b/Ryujinx.Graphics.Gpu/Shader/Cache/Migration.cs index 73c35ae50..bd7a86da8 100644 --- a/Ryujinx.Graphics.Gpu/Shader/Cache/Migration.cs +++ b/Ryujinx.Graphics.Gpu/Shader/Cache/Migration.cs @@ -170,7 +170,10 @@ namespace Ryujinx.Graphics.Gpu.Shader.Cache false, false, false, - 1f); + 1f, + false, + CompareOp.Always, + 0f); TransformFeedbackDescriptor[] tfdNew = null; diff --git a/Ryujinx.Graphics.Gpu/Shader/GpuAccessor.cs b/Ryujinx.Graphics.Gpu/Shader/GpuAccessor.cs index 4f8af41df..ebbd18b5c 100644 --- a/Ryujinx.Graphics.Gpu/Shader/GpuAccessor.cs +++ b/Ryujinx.Graphics.Gpu/Shader/GpuAccessor.cs @@ -1,6 +1,8 @@ using Ryujinx.Common.Logging; +using Ryujinx.Graphics.GAL; using Ryujinx.Graphics.Gpu.Image; using Ryujinx.Graphics.Shader; +using Ryujinx.Graphics.Shader.Translation; using System; using System.Runtime.InteropServices; @@ -16,6 +18,7 @@ namespace Ryujinx.Graphics.Gpu.Shader private readonly AttributeType[] _attributeTypes; private readonly int _stageIndex; private readonly bool _compute; + private readonly bool _isVulkan; /// /// Creates a new instance of the GPU state accessor for graphics shader translation. @@ -32,6 +35,7 @@ namespace Ryujinx.Graphics.Gpu.Shader AttributeType[] attributeTypes, int stageIndex) : base(context, state.ResourceCounts, stageIndex) { + _isVulkan = context.Capabilities.Api == TargetApi.Vulkan; _channel = channel; _state = state; _attributeTypes = attributeTypes; @@ -74,6 +78,33 @@ namespace Ryujinx.Graphics.Gpu.Shader return MemoryMarshal.Cast(_channel.MemoryManager.GetSpan(address, size)); } + /// + public AlphaTestOp QueryAlphaTestCompare() + { + if (!_isVulkan || !_state.GraphicsState.AlphaTestEnable) + { + return AlphaTestOp.Always; + } + + return _state.GraphicsState.AlphaTestCompare switch + { + CompareOp.Never or CompareOp.NeverGl => AlphaTestOp.Never, + CompareOp.Less or CompareOp.LessGl => AlphaTestOp.Less, + CompareOp.Equal or CompareOp.EqualGl => AlphaTestOp.Equal, + CompareOp.LessOrEqual or CompareOp.LessOrEqualGl => AlphaTestOp.LessOrEqual, + CompareOp.Greater or CompareOp.GreaterGl => AlphaTestOp.Greater, + CompareOp.NotEqual or CompareOp.NotEqualGl => AlphaTestOp.NotEqual, + CompareOp.GreaterOrEqual or CompareOp.GreaterOrEqualGl => AlphaTestOp.GreaterOrEqual, + _ => AlphaTestOp.Always + }; + } + + /// + public float QueryAlphaTestReference() + { + return _state.GraphicsState.AlphaTestReference; + } + /// public AttributeType QueryAttributeType(int location) { diff --git a/Ryujinx.Graphics.Gpu/Shader/GpuChannelGraphicsState.cs b/Ryujinx.Graphics.Gpu/Shader/GpuChannelGraphicsState.cs index fba67851d..486d93b5b 100644 --- a/Ryujinx.Graphics.Gpu/Shader/GpuChannelGraphicsState.cs +++ b/Ryujinx.Graphics.Gpu/Shader/GpuChannelGraphicsState.cs @@ -45,6 +45,21 @@ namespace Ryujinx.Graphics.Gpu.Shader /// public readonly float PointSize; + /// + /// Indicates whenever alpha test is enabled. + /// + public readonly bool AlphaTestEnable; + + /// + /// When alpha test is enabled, indicates the comparison that decides if the fragment is discarded. + /// + public readonly CompareOp AlphaTestCompare; + + /// + /// When alpha test is enabled, indicates the value to compare with the fragment output alpha. + /// + public readonly float AlphaTestReference; + /// /// Creates a new GPU graphics state. /// @@ -55,6 +70,9 @@ namespace Ryujinx.Graphics.Gpu.Shader /// Depth mode zero to one or minus one to one /// Indicates if the point size is set on the shader or is fixed /// Point size if not set from shader + /// Indicates whenever alpha test is enabled + /// When alpha test is enabled, indicates the comparison that decides if the fragment is discarded + /// When alpha test is enabled, indicates the value to compare with the fragment output alpha public GpuChannelGraphicsState( bool earlyZForce, PrimitiveTopology topology, @@ -62,7 +80,10 @@ namespace Ryujinx.Graphics.Gpu.Shader bool viewportTransformDisable, bool depthMode, bool programPointSizeEnable, - float pointSize) + float pointSize, + bool alphaTestEnable, + CompareOp alphaTestCompare, + float alphaTestReference) { EarlyZForce = earlyZForce; Topology = topology; @@ -71,6 +92,9 @@ namespace Ryujinx.Graphics.Gpu.Shader DepthMode = depthMode; ProgramPointSizeEnable = programPointSizeEnable; PointSize = pointSize; + AlphaTestEnable = alphaTestEnable; + AlphaTestCompare = alphaTestCompare; + AlphaTestReference = alphaTestReference; } } } \ No newline at end of file diff --git a/Ryujinx.Graphics.Shader/AlphaTestOp.cs b/Ryujinx.Graphics.Shader/AlphaTestOp.cs new file mode 100644 index 000000000..57c0d1314 --- /dev/null +++ b/Ryujinx.Graphics.Shader/AlphaTestOp.cs @@ -0,0 +1,14 @@ +namespace Ryujinx.Graphics.Shader +{ + public enum AlphaTestOp + { + Never = 1, + Less, + Equal, + LessOrEqual, + Greater, + NotEqual, + GreaterOrEqual, + Always + } +} \ No newline at end of file diff --git a/Ryujinx.Graphics.Shader/IGpuAccessor.cs b/Ryujinx.Graphics.Shader/IGpuAccessor.cs index 29795cdff..87288b2e6 100644 --- a/Ryujinx.Graphics.Shader/IGpuAccessor.cs +++ b/Ryujinx.Graphics.Shader/IGpuAccessor.cs @@ -34,6 +34,16 @@ namespace Ryujinx.Graphics.Shader /// Span of the memory location ReadOnlySpan GetCode(ulong address, int minimumSize); + AlphaTestOp QueryAlphaTestCompare() + { + return AlphaTestOp.Always; + } + + float QueryAlphaTestReference() + { + return 0f; + } + AttributeType QueryAttributeType(int location) { return AttributeType.Float; diff --git a/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs b/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs index d99389727..237a66aa2 100644 --- a/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs +++ b/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs @@ -234,6 +234,8 @@ namespace Ryujinx.Graphics.Shader.Translation } else if (Config.Stage == ShaderStage.Fragment) { + bool supportsBgra = Config.GpuAccessor.QueryHostSupportsBgraFormat(); + if (Config.OmapDepth) { Operand dest = Attribute(AttributeConsts.FragmentOutputDepth); @@ -243,7 +245,40 @@ namespace Ryujinx.Graphics.Shader.Translation this.Copy(dest, src); } - bool supportsBgra = Config.GpuAccessor.QueryHostSupportsBgraFormat(); + AlphaTestOp alphaTestOp = Config.GpuAccessor.QueryAlphaTestCompare(); + + if (alphaTestOp != AlphaTestOp.Always && (Config.OmapTargets & 8) != 0) + { + if (alphaTestOp == AlphaTestOp.Never) + { + this.Discard(); + } + else + { + Instruction comparator = alphaTestOp switch + { + AlphaTestOp.Equal => Instruction.CompareEqual, + AlphaTestOp.Greater => Instruction.CompareGreater, + AlphaTestOp.GreaterOrEqual => Instruction.CompareGreaterOrEqual, + AlphaTestOp.Less => Instruction.CompareLess, + AlphaTestOp.LessOrEqual => Instruction.CompareLessOrEqual, + AlphaTestOp.NotEqual => Instruction.CompareNotEqual, + _ => 0 + }; + + Debug.Assert(comparator != 0, $"Invalid alpha test operation \"{alphaTestOp}\"."); + + Operand alpha = Register(3, RegisterType.Gpr); + Operand alphaRef = ConstF(Config.GpuAccessor.QueryAlphaTestReference()); + Operand alphaPass = Add(Instruction.FP32 | comparator, Local(), alpha, alphaRef); + Operand alphaPassLabel = Label(); + + this.BranchIfTrue(alphaPassLabel, alphaPass); + this.Discard(); + this.MarkLabel(alphaPassLabel); + } + } + int regIndexBase = 0; for (int rtIndex = 0; rtIndex < 8; rtIndex++) From 0dc5a48e6f56fcdf19279602709195e545f45d5c Mon Sep 17 00:00:00 2001 From: gdk Date: Sun, 12 Dec 2021 00:46:21 -0300 Subject: [PATCH 035/179] Fix R4G4B4A4Unorm texture format permutation --- Ryujinx.Graphics.Vulkan/TextureView.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/TextureView.cs b/Ryujinx.Graphics.Vulkan/TextureView.cs index 9ec32dc1f..0c2a03e5b 100644 --- a/Ryujinx.Graphics.Vulkan/TextureView.cs +++ b/Ryujinx.Graphics.Vulkan/TextureView.cs @@ -76,13 +76,13 @@ namespace Ryujinx.Graphics.Vulkan } else if (info.Format == GAL.Format.R4G4B4A4Unorm) { - var tempR = swizzleR; var tempG = swizzleG; + var tempB = swizzleB; - swizzleR = swizzleA; - swizzleG = swizzleB; - swizzleB = tempG; - swizzleA = tempR; + swizzleB = swizzleA; + swizzleG = swizzleR; + swizzleR = tempG; + swizzleA = tempB; } var componentMapping = new ComponentMapping(swizzleR, swizzleG, swizzleB, swizzleA); From d3e7606a74d86880970b962415f9ad43f8f20a51 Mon Sep 17 00:00:00 2001 From: gdk Date: Sun, 12 Dec 2021 00:48:03 -0300 Subject: [PATCH 036/179] Validation layers should be enabled for any log level other than None --- .../VulkanInitialization.cs | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs b/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs index 9e4a363f9..8c47172f8 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs @@ -16,14 +16,14 @@ namespace Ryujinx.Graphics.Vulkan private const string AppName = "Ryujinx.Graphics.Vulkan"; private const int QueuesCount = 2; - private static readonly string[] RequiredExtensions = new string[] + private static readonly string[] _requiredExtensions = new string[] { KhrSwapchain.ExtensionName, "VK_EXT_shader_subgroup_vote", ExtTransformFeedback.ExtensionName }; - private static readonly string[] DesirableExtensions = new string[] + private static readonly string[] _desirableExtensions = new string[] { ExtConditionalRendering.ExtensionName, ExtExtendedDynamicState.ExtensionName, @@ -33,6 +33,16 @@ namespace Ryujinx.Graphics.Vulkan "VK_EXT_robustness2" }; + private static readonly string[] _excludedMessages = new string[] + { + // NOTE: Done on purpuse right now. + "UNASSIGNED-CoreValidation-Shader-OutputNotConsumed", + // TODO: Figure out if fixable + "VUID-vkCmdDrawIndexed-None-04584", + // TODO: might be worth looking into making this happy to possibly optimize copies. + "UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout" + }; + public static Instance CreateInstance(Vk api, GraphicsDebugLevel logLevel, string[] requiredExtensions, out ExtDebugReport debugReport, out DebugReportCallbackEXT debugReportCallback) { var enabledLayers = new List(); @@ -64,7 +74,7 @@ namespace Ryujinx.Graphics.Vulkan Logger.Warning?.Print(LogClass.Gpu, $"Missing layer {layerName}"); } - if (logLevel == GraphicsDebugLevel.Slowdowns || logLevel == GraphicsDebugLevel.All) + if (logLevel != GraphicsDebugLevel.None) { AddAvailableLayer("VK_LAYER_KHRONOS_validation"); } @@ -155,16 +165,6 @@ namespace Ryujinx.Graphics.Vulkan return instance; } - private static string[] ExcludedMessages = new string[] - { - // NOTE: Done on purpuse right now. - "UNASSIGNED-CoreValidation-Shader-OutputNotConsumed", - // TODO: Figure out if fixable - "VUID-vkCmdDrawIndexed-None-04584", - // TODO: might be worth looking into making this happy to possibly optimize copies. - "UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout" - }; - private unsafe static uint DebugReport( uint flags, DebugReportObjectTypeEXT objectType, @@ -177,7 +177,7 @@ namespace Ryujinx.Graphics.Vulkan { var msg = Marshal.PtrToStringAnsi((IntPtr)message); - foreach (string excludedMessagePart in ExcludedMessages) + foreach (string excludedMessagePart in _excludedMessages) { if (msg.Contains(excludedMessagePart)) { @@ -258,14 +258,14 @@ namespace Ryujinx.Graphics.Vulkan { string extensionName = Marshal.PtrToStringAnsi((IntPtr)pExtensionProperties[i].ExtensionName); - if (RequiredExtensions.Contains(extensionName)) + if (_requiredExtensions.Contains(extensionName)) { extensionMatches++; } } } - return extensionMatches == RequiredExtensions.Length && FindSuitableQueueFamily(api, physicalDevice, surface, out _) != InvalidIndex; + return extensionMatches == _requiredExtensions.Length && FindSuitableQueueFamily(api, physicalDevice, surface, out _) != InvalidIndex; } public static uint FindSuitableQueueFamily(Vk api, PhysicalDevice physicalDevice, SurfaceKHR surface, out uint queueCount) @@ -372,7 +372,7 @@ namespace Ryujinx.Graphics.Vulkan DrawIndirectCount = supportedExtensions.Contains(KhrDrawIndirectCount.ExtensionName) }; - var enabledExtensions = RequiredExtensions.Union(DesirableExtensions.Intersect(supportedExtensions)).ToArray(); + var enabledExtensions = _requiredExtensions.Union(_desirableExtensions.Intersect(supportedExtensions)).ToArray(); IntPtr* ppEnabledExtensions = stackalloc IntPtr[enabledExtensions.Length]; From 066094241ad4406b0931b3dbfda050462100e4ee Mon Sep 17 00:00:00 2001 From: riperiperi Date: Sun, 19 Dec 2021 02:16:45 +0000 Subject: [PATCH 037/179] Add barriers around vkCmdCopyImage Write->Read barrier for src image (we want to wait for a write to read it) Write->Read barrier for dst image (we want to wait for the copy to complete before use) --- Ryujinx.Graphics.Vulkan/TextureCopy.cs | 35 ++++++++++++++++++++++++-- Ryujinx.Graphics.Vulkan/TextureView.cs | 14 +++++------ 2 files changed, 40 insertions(+), 9 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/TextureCopy.cs b/Ryujinx.Graphics.Vulkan/TextureCopy.cs index 8a2e0245a..032dbf339 100644 --- a/Ryujinx.Graphics.Vulkan/TextureCopy.cs +++ b/Ryujinx.Graphics.Vulkan/TextureCopy.cs @@ -246,6 +246,23 @@ namespace Ryujinx.Graphics.Vulkan int width = Math.Min(srcWidth, dstWidth); int height = Math.Min(srcHeight, dstHeight); + ImageAspectFlags srcAspect = srcInfo.Format.ConvertAspectFlags(); + ImageAspectFlags dstAspect = dstInfo.Format.ConvertAspectFlags(); + + TextureView.InsertImageBarrier( + api, + commandBuffer, + srcImage, + AccessFlags.AccessTransferWriteBit, + AccessFlags.AccessTransferReadBit, + PipelineStageFlags.PipelineStageAllCommandsBit, + PipelineStageFlags.PipelineStageTransferBit, + srcAspect, + srcViewLayer + srcLayer, + srcViewLevel + srcLevel, + srcLayers, + levels); + for (int level = 0; level < levels; level++) { // Stop copy if we are already out of the levels range. @@ -255,13 +272,13 @@ namespace Ryujinx.Graphics.Vulkan } var srcSl = new ImageSubresourceLayers( - srcInfo.Format.ConvertAspectFlags(), + srcAspect, (uint)(srcViewLevel + srcLevel + level), (uint)(srcViewLayer + srcLayer), (uint)srcLayers); var dstSl = new ImageSubresourceLayers( - dstInfo.Format.ConvertAspectFlags(), + dstAspect, (uint)(dstViewLevel + dstLevel + level), (uint)(dstViewLayer + dstLayer), (uint)dstLayers); @@ -283,6 +300,20 @@ namespace Ryujinx.Graphics.Vulkan srcDepth = Math.Max(1, srcDepth >> 1); } } + + TextureView.InsertImageBarrier( + api, + commandBuffer, + dstImage, + AccessFlags.AccessTransferWriteBit, + AccessFlags.AccessTransferReadBit, + PipelineStageFlags.PipelineStageTransferBit, + PipelineStageFlags.PipelineStageAllCommandsBit, + dstAspect, + dstViewLayer + dstLayer, + dstViewLevel + dstLevel, + dstLayers, + levels); } } } diff --git a/Ryujinx.Graphics.Vulkan/TextureView.cs b/Ryujinx.Graphics.Vulkan/TextureView.cs index 0c2a03e5b..8c6dbc604 100644 --- a/Ryujinx.Graphics.Vulkan/TextureView.cs +++ b/Ryujinx.Graphics.Vulkan/TextureView.cs @@ -153,8 +153,6 @@ namespace Ryujinx.Graphics.Vulkan public void CopyTo(ITexture destination, int firstLayer, int firstLevel) { - _gd.FlushAllCommands(); - var src = this; var dst = (TextureView)destination; @@ -163,7 +161,9 @@ namespace Ryujinx.Graphics.Vulkan return; } - using var cbs = _gd.CommandBufferPool.Rent(); + _gd.PipelineInternal.EndRenderPass(); + + var cbs = _gd.PipelineInternal.CurrentCommandBuffer; var srcImage = src.GetImage().Get(cbs).Value; var dstImage = dst.GetImage().Get(cbs).Value; @@ -471,7 +471,7 @@ namespace Ryujinx.Graphics.Vulkan aspectFlags); InsertImageBarrier( - gd, + gd.Api, cbs.CommandBuffer, srcTemp.GetImage().Get(cbs).Value, AccessFlags.AccessTransferWriteBit, @@ -504,7 +504,7 @@ namespace Ryujinx.Graphics.Vulkan aspectFlags); InsertImageBarrier( - gd, + gd.Api, cbs.CommandBuffer, dstTemp.GetImage().Get(cbs).Value, AccessFlags.AccessTransferWriteBit, @@ -564,7 +564,7 @@ namespace Ryujinx.Graphics.Vulkan } public static unsafe void InsertImageBarrier( - VulkanGraphicsDevice gd, + Vk api, CommandBuffer commandBuffer, Image image, AccessFlags srcAccessMask, @@ -590,7 +590,7 @@ namespace Ryujinx.Graphics.Vulkan SubresourceRange = new ImageSubresourceRange(aspectFlags, (uint)firstLevel, (uint)levels, (uint)firstLayer, (uint)layers) }; - gd.Api.CmdPipelineBarrier( + api.CmdPipelineBarrier( commandBuffer, srcStageMask, dstStageMask, From 74f8ef93c70ad2a80b0120949ef583fc685f625f Mon Sep 17 00:00:00 2001 From: riperiperi Date: Sun, 19 Dec 2021 02:52:01 +0000 Subject: [PATCH 038/179] Be a bit more careful with texture access flags, since it can be used for anything --- Ryujinx.Graphics.Vulkan/TextureCopy.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/TextureCopy.cs b/Ryujinx.Graphics.Vulkan/TextureCopy.cs index 032dbf339..b93638ff3 100644 --- a/Ryujinx.Graphics.Vulkan/TextureCopy.cs +++ b/Ryujinx.Graphics.Vulkan/TextureCopy.cs @@ -253,7 +253,7 @@ namespace Ryujinx.Graphics.Vulkan api, commandBuffer, srcImage, - AccessFlags.AccessTransferWriteBit, + TextureStorage.DefaultAccessMask, AccessFlags.AccessTransferReadBit, PipelineStageFlags.PipelineStageAllCommandsBit, PipelineStageFlags.PipelineStageTransferBit, @@ -306,7 +306,7 @@ namespace Ryujinx.Graphics.Vulkan commandBuffer, dstImage, AccessFlags.AccessTransferWriteBit, - AccessFlags.AccessTransferReadBit, + TextureStorage.DefaultAccessMask, PipelineStageFlags.PipelineStageTransferBit, PipelineStageFlags.PipelineStageAllCommandsBit, dstAspect, From 4994e50d1c0634c3cea4f0a5208edd53b1e36e18 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Wed, 15 Dec 2021 23:11:29 +0000 Subject: [PATCH 039/179] Device local mapping for all buffers May avoid issues with drivers with NVIDIA on linux/older gpus on windows when using large buffers (?) Also some performance things and fixes issues with opengl games loading textures weird. --- Ryujinx.Graphics.Vulkan/Auto.cs | 17 ++- .../BackgroundResources.cs | 107 ++++++++++++++++++ Ryujinx.Graphics.Vulkan/BitMap.cs | 23 ++++ Ryujinx.Graphics.Vulkan/BufferHolder.cs | 76 +++++++++---- Ryujinx.Graphics.Vulkan/BufferManager.cs | 19 +++- Ryujinx.Graphics.Vulkan/CommandBufferPool.cs | 60 +++++++++- .../CommandBufferScoped.cs | 5 + Ryujinx.Graphics.Vulkan/HelperShader.cs | 4 +- .../PersistentFlushBuffer.cs | 73 ++++++++++++ Ryujinx.Graphics.Vulkan/PipelineBase.cs | 1 + Ryujinx.Graphics.Vulkan/PipelineFull.cs | 16 +++ Ryujinx.Graphics.Vulkan/StagingBuffer.cs | 99 ++++++++++++++-- Ryujinx.Graphics.Vulkan/TextureStorage.cs | 39 ++++++- Ryujinx.Graphics.Vulkan/TextureView.cs | 93 ++++++--------- .../VulkanGraphicsDevice.cs | 6 +- 15 files changed, 539 insertions(+), 99 deletions(-) create mode 100644 Ryujinx.Graphics.Vulkan/BackgroundResources.cs create mode 100644 Ryujinx.Graphics.Vulkan/PersistentFlushBuffer.cs diff --git a/Ryujinx.Graphics.Vulkan/Auto.cs b/Ryujinx.Graphics.Vulkan/Auto.cs index d6b1aaab4..e5f64df8e 100644 --- a/Ryujinx.Graphics.Vulkan/Auto.cs +++ b/Ryujinx.Graphics.Vulkan/Auto.cs @@ -1,5 +1,6 @@ using System; using System.Diagnostics; +using System.Threading; namespace Ryujinx.Graphics.Vulkan { @@ -66,6 +67,16 @@ namespace Ryujinx.Graphics.Vulkan return _value; } + public bool HasCommandBufferDependency(CommandBufferScoped cbs) + { + return _cbOwnership.IsSet(cbs.CommandBufferIndex); + } + + public bool HasRentedCommandBufferDependency(CommandBufferPool cbp) + { + return _cbOwnership.AnySet(); + } + public void AddCommandBufferDependencies(CommandBufferScoped cbs) { // We don't want to add a reference to this object to the command buffer @@ -94,11 +105,11 @@ namespace Ryujinx.Graphics.Vulkan public void IncrementReferenceCount() { - if (_referenceCount == 0) + if (Interlocked.Increment(ref _referenceCount) == 1) { + Interlocked.Decrement(ref _referenceCount); throw new Exception("Attempted to inc ref of dead object."); } - _referenceCount++; } public void DecrementReferenceCount(int cbIndex) @@ -109,7 +120,7 @@ namespace Ryujinx.Graphics.Vulkan public void DecrementReferenceCount() { - if (--_referenceCount == 0) + if (Interlocked.Decrement(ref _referenceCount) == 0) { _value.Dispose(); _value = default; diff --git a/Ryujinx.Graphics.Vulkan/BackgroundResources.cs b/Ryujinx.Graphics.Vulkan/BackgroundResources.cs new file mode 100644 index 000000000..cd9c91b14 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/BackgroundResources.cs @@ -0,0 +1,107 @@ +using System.Threading; +using System.Collections.Generic; +using System; +using Silk.NET.Vulkan; + +namespace Ryujinx.Graphics.Vulkan +{ + class BackgroundResource : IDisposable + { + private VulkanGraphicsDevice _gd; + private Device _device; + + private CommandBufferPool _pool; + private PersistentFlushBuffer _flushBuffer; + + public BackgroundResource(VulkanGraphicsDevice gd, Device device) + { + _gd = gd; + _device = device; + } + + public CommandBufferPool GetPool() + { + if (_pool == null) + { + _pool = new CommandBufferPool(_gd.Api, _device, _gd.BackgroundQueue, _gd.QueueFamilyIndex, isLight: true); + } + + return _pool; + } + + public PersistentFlushBuffer GetFlushBuffer() + { + if (_flushBuffer == null) + { + _flushBuffer = new PersistentFlushBuffer(_gd); + } + + return _flushBuffer; + } + + public void Dispose() + { + _pool?.Dispose(); + _flushBuffer?.Dispose(); + } + } + + class BackgroundResources : IDisposable + { + private VulkanGraphicsDevice _gd; + private Device _device; + + private Dictionary _resources; + + public BackgroundResources(VulkanGraphicsDevice gd, Device device) + { + _gd = gd; + _device = device; + + _resources = new Dictionary(); + } + + private void Cleanup() + { + foreach (KeyValuePair tuple in _resources) + { + if (!tuple.Key.IsAlive) + { + tuple.Value.Dispose(); + _resources.Remove(tuple.Key); + } + } + } + + public BackgroundResource Get() + { + Thread thread = Thread.CurrentThread; + + lock (_resources) + { + BackgroundResource resource; + if (!_resources.TryGetValue(thread, out resource)) + { + Cleanup(); + + resource = new BackgroundResource(_gd, _device); + + _resources[thread] = resource; + } + + return resource; + } + } + + public void Dispose() + { + lock (_resources) + { + foreach (var resource in _resources.Values) + { + resource.Dispose(); + } + } + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/BitMap.cs b/Ryujinx.Graphics.Vulkan/BitMap.cs index 181d6636e..19d852e62 100644 --- a/Ryujinx.Graphics.Vulkan/BitMap.cs +++ b/Ryujinx.Graphics.Vulkan/BitMap.cs @@ -12,6 +12,29 @@ _masks = new long[(count + IntMask) / IntSize]; } + public bool AnySet() + { + for (int i = 0; i < _masks.Length; i++) + { + if (_masks[i] != 0) + { + return true; + } + } + + return false; + } + + public bool IsSet(int bit) + { + int wordIndex = bit / IntSize; + int wordBit = bit & IntMask; + + long wordMask = 1L << wordBit; + + return (_masks[wordIndex] & wordMask) != 0; + } + public bool Set(int bit) { int wordIndex = bit / IntSize; diff --git a/Ryujinx.Graphics.Vulkan/BufferHolder.cs b/Ryujinx.Graphics.Vulkan/BufferHolder.cs index 2f1d2b489..e171d3c21 100644 --- a/Ryujinx.Graphics.Vulkan/BufferHolder.cs +++ b/Ryujinx.Graphics.Vulkan/BufferHolder.cs @@ -129,7 +129,32 @@ namespace Ryujinx.Graphics.Vulkan public unsafe ReadOnlySpan GetData(int offset, int size) { - return GetDataStorage(offset, size); + if (_map != IntPtr.Zero) + { + return GetDataStorage(offset, size); + } + else + { + BackgroundResource resource = _gd.BackgroundResources.Get(); + + if (_gd.CommandBufferPool.OwnedByCurrentThread) + { + _gd.FlushAllCommands(); + + return resource.GetFlushBuffer().GetBufferData(_gd.CommandBufferPool, this, offset, size); + } + else if (_gd.BackgroundQueue.Handle != 0) + { + lock (_gd.BackgroundQueueLock) + { + return resource.GetFlushBuffer().GetBufferData(resource.GetPool(), this, offset, size); + } + } + else + { + return new byte[size]; + } + } } public unsafe Span GetDataStorage(int offset, int size) @@ -152,28 +177,37 @@ namespace Ryujinx.Graphics.Vulkan return; } - bool needsFlush = _gd.CommandBufferPool.HasWaitableOnRentedCommandBuffer(_waitable, offset, dataSize); - bool needsWait = needsFlush || MayWait(offset, dataSize); + if (_map != IntPtr.Zero) + { + // If persistently mapped, set the data directly if the buffer is not currently in use. + //bool needsFlush = _gd.CommandBufferPool.HasWaitableOnRentedCommandBuffer(_waitable, offset, dataSize); + bool needsFlush = _buffer.HasRentedCommandBufferDependency(_gd.CommandBufferPool);// (_waitable, offset, dataSize); + + if (!needsFlush) + { + WaitForFences(offset, dataSize); + + data.Slice(0, dataSize).CopyTo(new Span((void*)(_map + offset), dataSize)); + + return; + } + } + + if (cbs != null && !_buffer.HasCommandBufferDependency(cbs.Value)) + { + // If the buffer hasn't been used on the command buffer yet, try to preload the data. + // This avoids ending and beginning render passes on each buffer data upload. + + cbs = _gd.PipelineInternal.GetPreloadCommandBuffer(); + endRenderPass = null; + } if (cbs == null || - !needsWait || !VulkanConfiguration.UseFastBufferUpdates || + data.Length > MaxUpdateBufferSize || !TryPushData(cbs.Value, endRenderPass, offset, data)) { - // Some pending command might access the buffer, - // so we need to ensure they are all submited to the GPU before waiting. - // The flush below forces the submission of all pending commands. - if (needsFlush) - { - _gd.FlushAllCommands(); - } - - WaitForFences(offset, dataSize); - - if (_map != IntPtr.Zero) - { - data.Slice(0, dataSize).CopyTo(new Span((void*)(_map + offset), dataSize)); - } + _gd.BufferManager.StagingBuffer.PushData(_gd.CommandBufferPool, cbs, endRenderPass, this, offset, data); } } @@ -189,6 +223,10 @@ namespace Ryujinx.Graphics.Vulkan { data.Slice(0, dataSize).CopyTo(new Span((void*)(_map + offset), dataSize)); } + else + { + _gd.BufferManager.StagingBuffer.PushData(_gd.CommandBufferPool, null, null, this, offset, data); + } } public void SetDataInline(CommandBufferScoped cbs, Action endRenderPass, int dstOffset, ReadOnlySpan data) @@ -206,7 +244,7 @@ namespace Ryujinx.Graphics.Vulkan return false; } - endRenderPass(); + endRenderPass?.Invoke(); var dstBuffer = GetBuffer(cbs.CommandBuffer, true).Get(cbs, dstOffset, data.Length).Value; diff --git a/Ryujinx.Graphics.Vulkan/BufferManager.cs b/Ryujinx.Graphics.Vulkan/BufferManager.cs index cf7a90456..8315ba4a0 100644 --- a/Ryujinx.Graphics.Vulkan/BufferManager.cs +++ b/Ryujinx.Graphics.Vulkan/BufferManager.cs @@ -15,6 +15,14 @@ namespace Ryujinx.Graphics.Vulkan MemoryPropertyFlags.MemoryPropertyHostCoherentBit | MemoryPropertyFlags.MemoryPropertyHostCachedBit; + private const MemoryPropertyFlags DeviceLocalBufferMemoryFlags = + MemoryPropertyFlags.MemoryPropertyDeviceLocalBit; + + private const MemoryPropertyFlags FlushableDeviceLocalBufferMemoryFlags = + MemoryPropertyFlags.MemoryPropertyHostVisibleBit | + MemoryPropertyFlags.MemoryPropertyHostCoherentBit | + MemoryPropertyFlags.MemoryPropertyDeviceLocalBit; + private const BufferUsageFlags DefaultBufferUsageFlags = BufferUsageFlags.BufferUsageTransferSrcBit | BufferUsageFlags.BufferUsageTransferDstBit | @@ -41,9 +49,9 @@ namespace Ryujinx.Graphics.Vulkan StagingBuffer = new StagingBuffer(gd, this); } - public BufferHandle CreateWithHandle(VulkanGraphicsDevice gd, int size) + public BufferHandle CreateWithHandle(VulkanGraphicsDevice gd, int size, bool deviceLocal) { - var holder = Create(gd, size); + var holder = Create(gd, size, deviceLocal: deviceLocal); if (holder == null) { return BufferHandle.Null; @@ -58,7 +66,7 @@ namespace Ryujinx.Graphics.Vulkan return handle; } - public unsafe BufferHolder Create(VulkanGraphicsDevice gd, int size, bool forConditionalRendering = false) + public unsafe BufferHolder Create(VulkanGraphicsDevice gd, int size, bool forConditionalRendering = false, bool deviceLocal = false) { var usage = DefaultBufferUsageFlags; @@ -81,7 +89,10 @@ namespace Ryujinx.Graphics.Vulkan gd.Api.CreateBuffer(_device, in bufferCreateInfo, null, out var buffer).ThrowOnError(); gd.Api.GetBufferMemoryRequirements(_device, buffer, out var requirements); - var allocation = gd.MemoryAllocator.AllocateDeviceMemory(_physicalDevice, requirements, DefaultBufferMemoryFlags); + + var allocateFlags = deviceLocal ? DeviceLocalBufferMemoryFlags : DefaultBufferMemoryFlags; + + var allocation = gd.MemoryAllocator.AllocateDeviceMemory(_physicalDevice, requirements, allocateFlags); if (allocation.Memory.Handle == 0UL) { diff --git a/Ryujinx.Graphics.Vulkan/CommandBufferPool.cs b/Ryujinx.Graphics.Vulkan/CommandBufferPool.cs index fdc27e9a0..b9fcc6ba9 100644 --- a/Ryujinx.Graphics.Vulkan/CommandBufferPool.cs +++ b/Ryujinx.Graphics.Vulkan/CommandBufferPool.cs @@ -8,7 +8,7 @@ namespace Ryujinx.Graphics.Vulkan { class CommandBufferPool : IDisposable { - public const int MaxCommandBuffers = 8; + public const int MaxCommandBuffers = 16; private int _totalCommandBuffers; private int _totalCommandBuffersMask; @@ -19,12 +19,15 @@ namespace Ryujinx.Graphics.Vulkan private readonly CommandPool _pool; private readonly Thread _owner; + public int PerFrame = 0; + public bool OwnedByCurrentThread => _owner == Thread.CurrentThread; private struct ReservedCommandBuffer { public bool InUse; public bool InConsumption; + public bool Active; public CommandBuffer CommandBuffer; public FenceHolder Fence; public SemaphoreHolder Semaphore; @@ -48,6 +51,8 @@ namespace Ryujinx.Graphics.Vulkan Dependants = new List(); Waitables = new HashSet(); Dependencies = new HashSet(); + + Active = true; // Fence should be refreshed. } } @@ -120,6 +125,12 @@ namespace Ryujinx.Graphics.Vulkan entry.Waitables.Add(waitable); } + public bool HasWaitable(int cbIndex, MultiFenceHolder waitable) + { + ref var entry = ref _commandBuffers[cbIndex]; + return entry.Waitables.Contains(waitable); + } + public bool HasWaitableOnRentedCommandBuffer(MultiFenceHolder waitable, int offset, int size) { lock (_commandBuffers) @@ -140,11 +151,47 @@ namespace Ryujinx.Graphics.Vulkan return false; } + public bool IsFenceOnRentedCommandBuffer(FenceHolder fence) + { + lock (_commandBuffers) + { + for (int i = 0; i < _totalCommandBuffers; i++) + { + ref var entry = ref _commandBuffers[i]; + + if (entry.InUse && entry.Fence == fence) + { + return true; + } + } + } + + return false; + } + public FenceHolder GetFence(int cbIndex) { return _commandBuffers[cbIndex].Fence; } + private void CheckConsumption(int startAt) + { + int wrapBefore = _totalCommandBuffers + 1; + int index = (startAt + wrapBefore) % _totalCommandBuffers; + + for (int i = 0; i < _totalCommandBuffers - 1; i++) + { + ref var entry = ref _commandBuffers[index]; + + if (!entry.InUse && entry.InConsumption && entry.Fence.IsSignaled()) + { + WaitAndDecrementRef(index); + } + + index = (index + wrapBefore) % _totalCommandBuffers; + } + } + public CommandBufferScoped ReturnAndRent(CommandBufferScoped cbs) { Return(cbs); @@ -153,8 +200,11 @@ namespace Ryujinx.Graphics.Vulkan public CommandBufferScoped Rent() { + PerFrame++; lock (_commandBuffers) { + CheckConsumption(_cursor); + for (int i = 0; i < _totalCommandBuffers; i++) { int currentIndex = _cursor; @@ -165,6 +215,7 @@ namespace Ryujinx.Graphics.Vulkan { WaitAndDecrementRef(currentIndex); entry.InUse = true; + entry.Active = true; var commandBufferBeginInfo = new CommandBufferBeginInfo() { @@ -241,6 +292,13 @@ namespace Ryujinx.Graphics.Vulkan { ref var entry = ref _commandBuffers[cbIndex]; + if (!entry.Active) + { + return; + } + + entry.Active = false; + if (entry.InConsumption) { entry.Fence.Wait(); diff --git a/Ryujinx.Graphics.Vulkan/CommandBufferScoped.cs b/Ryujinx.Graphics.Vulkan/CommandBufferScoped.cs index 372950a88..702d41ebd 100644 --- a/Ryujinx.Graphics.Vulkan/CommandBufferScoped.cs +++ b/Ryujinx.Graphics.Vulkan/CommandBufferScoped.cs @@ -31,6 +31,11 @@ namespace Ryujinx.Graphics.Vulkan _pool.AddDependency(CommandBufferIndex, dependencyCbs); } + public bool HasWaitable(MultiFenceHolder waitable) + { + return _pool.HasWaitable(CommandBufferIndex, waitable); + } + public FenceHolder GetFence() { return _pool.GetFence(CommandBufferIndex); diff --git a/Ryujinx.Graphics.Vulkan/HelperShader.cs b/Ryujinx.Graphics.Vulkan/HelperShader.cs index 5623aa186..f7f0e77ba 100644 --- a/Ryujinx.Graphics.Vulkan/HelperShader.cs +++ b/Ryujinx.Graphics.Vulkan/HelperShader.cs @@ -169,7 +169,7 @@ void main() region[3] = temp; } - var bufferHandle = gd.BufferManager.CreateWithHandle(gd, RegionBufferSize); + var bufferHandle = gd.BufferManager.CreateWithHandle(gd, RegionBufferSize, false); gd.BufferManager.SetData(bufferHandle, 0, region); @@ -251,7 +251,7 @@ void main() region[3] = temp; } - var bufferHandle = gd.BufferManager.CreateWithHandle(gd, RegionBufferSize); + var bufferHandle = gd.BufferManager.CreateWithHandle(gd, RegionBufferSize, false); gd.BufferManager.SetData(bufferHandle, 0, region); diff --git a/Ryujinx.Graphics.Vulkan/PersistentFlushBuffer.cs b/Ryujinx.Graphics.Vulkan/PersistentFlushBuffer.cs new file mode 100644 index 000000000..8e035aa32 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/PersistentFlushBuffer.cs @@ -0,0 +1,73 @@ +using System; + +namespace Ryujinx.Graphics.Vulkan +{ + internal class PersistentFlushBuffer : IDisposable + { + private VulkanGraphicsDevice _gd; + + private BufferHolder _flushStorage; + + public PersistentFlushBuffer(VulkanGraphicsDevice gd) + { + _gd = gd; + } + + private BufferHolder ResizeIfNeeded(int size) + { + var flushStorage = _flushStorage; + + if (flushStorage == null || size > _flushStorage.Size) + { + if (flushStorage != null) + { + flushStorage.Dispose(); + } + + flushStorage = _gd.BufferManager.Create(_gd, size); + _flushStorage = flushStorage; + } + + return flushStorage; + } + + public Span GetBufferData(CommandBufferPool cbp, BufferHolder buffer, int offset, int size) + { + var flushStorage = ResizeIfNeeded(size); + + using (var cbs = cbp.Rent()) + { + var srcBuffer = buffer.GetBuffer(cbs.CommandBuffer); + var dstBuffer = flushStorage.GetBuffer(cbs.CommandBuffer); + + BufferHolder.Copy(_gd, cbs, srcBuffer, dstBuffer, offset, 0, size); + } + + flushStorage.WaitForFences(); + return flushStorage.GetDataStorage(0, size); + } + + public Span GetTextureData(CommandBufferPool cbp, TextureView view, int size) + { + GAL.TextureCreateInfo info = view.Info; + + var flushStorage = ResizeIfNeeded(size); + + using (var cbs = cbp.Rent()) + { + var buffer = flushStorage.GetBuffer(cbs.CommandBuffer).Get(cbs).Value; + var image = view.GetImage().Get(cbs).Value; + + view.CopyFromOrToBuffer(cbs.CommandBuffer, buffer, image, size, true, 0, 0, info.GetLayers(), info.Levels, singleSlice: false); + } + + flushStorage.WaitForFences(); + return flushStorage.GetDataStorage(0, size); + } + + public void Dispose() + { + _flushStorage.Dispose(); + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/PipelineBase.cs b/Ryujinx.Graphics.Vulkan/PipelineBase.cs index 007cb9c83..01a79e131 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineBase.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineBase.cs @@ -34,6 +34,7 @@ namespace Ryujinx.Graphics.Vulkan private PipelineCache _pipelineCache; protected CommandBufferScoped Cbs; + protected CommandBufferScoped? PreloadCbs; protected CommandBuffer CommandBuffer; public CommandBufferScoped CurrentCommandBuffer => Cbs; diff --git a/Ryujinx.Graphics.Vulkan/PipelineFull.cs b/Ryujinx.Graphics.Vulkan/PipelineFull.cs index 545e8fc0c..0f092bc0c 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineFull.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineFull.cs @@ -225,6 +225,16 @@ namespace Ryujinx.Graphics.Vulkan } } + public CommandBufferScoped GetPreloadCommandBuffer() + { + if (PreloadCbs == null) + { + PreloadCbs = Gd.CommandBufferPool.Rent(); + } + + return PreloadCbs.Value; + } + public void FlushCommandsImpl([System.Runtime.CompilerServices.CallerMemberName] string caller = "") { // System.Console.WriteLine("flush by " + caller); @@ -237,6 +247,12 @@ namespace Ryujinx.Graphics.Vulkan Gd.Api.CmdEndQuery(CommandBuffer, queryPool, 0); } + if (PreloadCbs != null) + { + PreloadCbs.Value.Dispose(); + PreloadCbs = null; + } + CommandBuffer = (Cbs = Gd.CommandBufferPool.ReturnAndRent(Cbs)).CommandBuffer; // Restore per-command buffer state. diff --git a/Ryujinx.Graphics.Vulkan/StagingBuffer.cs b/Ryujinx.Graphics.Vulkan/StagingBuffer.cs index 0942b381a..3231fd0dc 100644 --- a/Ryujinx.Graphics.Vulkan/StagingBuffer.cs +++ b/Ryujinx.Graphics.Vulkan/StagingBuffer.cs @@ -37,25 +37,55 @@ namespace Ryujinx.Graphics.Vulkan _freeSize = BufferSize; } - public unsafe bool TryPushData(CommandBufferScoped cbs, Action endRenderPass, BufferHolder dst, int dstOffset, ReadOnlySpan data) + public unsafe void PushData(CommandBufferPool cbp, CommandBufferScoped? cbs, Action endRenderPass, BufferHolder dst, int dstOffset, ReadOnlySpan data) { - if (data.Length > BufferSize) - { - return false; - } + bool isRender = cbs != null; + CommandBufferScoped scoped = cbs ?? cbp.Rent(); - if (_freeSize < data.Length) - { - FreeCompleted(); + // Must push all data to the buffer. If it can't fit, split it up. + endRenderPass?.Invoke(); + + while (data.Length > 0) + { if (_freeSize < data.Length) { - return false; + FreeCompleted(); } + + while (_freeSize == 0) + { + if (!WaitFreeCompleted(cbp)) + { + if (isRender) + { + _gd.FlushAllCommands(); + scoped = cbp.Rent(); + isRender = false; + } + else + { + scoped = cbp.ReturnAndRent(scoped); + } + } + } + + int chunkSize = Math.Min(_freeSize, data.Length); + + PushDataImpl(scoped, dst, dstOffset, data.Slice(0, chunkSize)); + + dstOffset += chunkSize; + data = data.Slice(chunkSize); } - endRenderPass(); + if (!isRender) + { + scoped.Dispose(); + } + } + private void PushDataImpl(CommandBufferScoped cbs, BufferHolder dst, int dstOffset, ReadOnlySpan data) + { var srcBuffer = _buffer.GetBuffer(); var dstBuffer = dst.GetBuffer(); @@ -81,14 +111,61 @@ namespace Ryujinx.Graphics.Vulkan Debug.Assert(_freeSize >= 0); _pendingCopies.Enqueue(new PendingCopy(cbs.GetFence(), data.Length)); + } + + public unsafe bool TryPushData(CommandBufferScoped cbs, Action endRenderPass, BufferHolder dst, int dstOffset, ReadOnlySpan data) + { + if (data.Length > BufferSize) + { + return false; + } + + if (_freeSize < data.Length) + { + FreeCompleted(); + + if (_freeSize < data.Length) + { + return false; + } + } + + endRenderPass(); + + PushDataImpl(cbs, dst, dstOffset, data); + + return true; + } + + private bool WaitFreeCompleted(CommandBufferPool cbp) + { + if (_pendingCopies.TryPeek(out var pc)) + { + if (!pc.Fence.IsSignaled()) + { + if (cbp.IsFenceOnRentedCommandBuffer(pc.Fence)) + { + return false; + } + + pc.Fence.Wait(); + } + + var dequeued = _pendingCopies.Dequeue(); + Debug.Assert(dequeued.Fence == pc.Fence); + _freeSize += pc.Size; + pc.Fence.Put(); + } return true; } private void FreeCompleted() { - while (_pendingCopies.TryPeek(out var pc) && pc.Fence.IsSignaled()) + FenceHolder signalledFence = null; + while (_pendingCopies.TryPeek(out var pc) && (pc.Fence == signalledFence || pc.Fence.IsSignaled())) { + signalledFence = pc.Fence; // Already checked - don't need to do it again. var dequeued = _pendingCopies.Dequeue(); Debug.Assert(dequeued.Fence == pc.Fence); _freeSize += pc.Size; diff --git a/Ryujinx.Graphics.Vulkan/TextureStorage.cs b/Ryujinx.Graphics.Vulkan/TextureStorage.cs index 4e351bcd6..406dfbe39 100644 --- a/Ryujinx.Graphics.Vulkan/TextureStorage.cs +++ b/Ryujinx.Graphics.Vulkan/TextureStorage.cs @@ -228,9 +228,41 @@ namespace Ryujinx.Graphics.Vulkan return _image; } + public bool HasCommandBufferDependency(CommandBufferScoped cbs) + { + if (_foreignAllocationAuto != null) + { + return _foreignAllocationAuto.HasCommandBufferDependency(cbs); + } + else if (_allocationAuto != null) + { + return _allocationAuto.HasCommandBufferDependency(cbs); + } + + return false; + } + private unsafe void InitialTransition(ImageLayout srcLayout, ImageLayout dstLayout) { - using var cbs = _gd.CommandBufferPool.Rent(); + CommandBufferScoped cbs; + bool useTempCbs = !_gd.CommandBufferPool.OwnedByCurrentThread; + + if (useTempCbs) + { + cbs = _gd.BackgroundResources.Get().GetPool().Rent(); + } + else + { + if (_gd.PipelineInternal != null) + { + cbs = _gd.PipelineInternal.GetPreloadCommandBuffer(); + } + else + { + cbs = _gd.CommandBufferPool.Rent(); + useTempCbs = true; + } + } var aspectFlags = _info.Format.ConvertAspectFlags(); @@ -260,6 +292,11 @@ namespace Ryujinx.Graphics.Vulkan null, 1, barrier); + + if (useTempCbs) + { + cbs.Dispose(); + } } private static SampleCountFlags ConvertToSampleCountFlags(uint samples) diff --git a/Ryujinx.Graphics.Vulkan/TextureView.cs b/Ryujinx.Graphics.Vulkan/TextureView.cs index 8c6dbc604..e8928bd13 100644 --- a/Ryujinx.Graphics.Vulkan/TextureView.cs +++ b/Ryujinx.Graphics.Vulkan/TextureView.cs @@ -237,12 +237,7 @@ namespace Ryujinx.Graphics.Vulkan { lock (_gd.BackgroundQueueLock) { - using var cbp = new CommandBufferPool( - _gd.Api, - _device, - _gd.BackgroundQueue, - _gd.QueueFamilyIndex, - isLight: true); + var cbp = _gd.BackgroundResources.Get().GetPool(); using var cbs = cbp.Rent(); @@ -426,8 +421,8 @@ namespace Ryujinx.Graphics.Vulkan dstSize += dstTemp.Info.GetMipSize2D(l); } - using var srcTempBuffer = gd.BufferManager.Create(gd, srcSize); - using var dstTempBuffer = gd.BufferManager.Create(gd, dstSize); + using var srcTempBuffer = gd.BufferManager.Create(gd, srcSize, deviceLocal: true); + using var dstTempBuffer = gd.BufferManager.Create(gd, dstSize, deviceLocal: true); src.Storage.CopyFromOrToBuffer( cbs.CommandBuffer, @@ -669,30 +664,25 @@ namespace Ryujinx.Graphics.Vulkan bufferHolder.WaitForFences(); byte[] bitmap = new byte[size]; - GetDataFromBuffer(bufferHolder.GetDataStorage(0, size)).CopyTo(bitmap); + GetDataFromBuffer(bufferHolder.GetDataStorage(0, size), size, Span.Empty).CopyTo(bitmap); return bitmap; } public ReadOnlySpan GetData() { + BackgroundResource resources = _gd.BackgroundResources.Get(); + if (_gd.CommandBufferPool.OwnedByCurrentThread) { _gd.FlushAllCommands(); - return GetData(_gd.CommandBufferPool); + return GetData(_gd.CommandBufferPool, resources.GetFlushBuffer()); } else if (_gd.BackgroundQueue.Handle != 0) { lock (_gd.BackgroundQueueLock) { - using var cbp = new CommandBufferPool( - _gd.Api, - _device, - _gd.BackgroundQueue, - _gd.QueueFamilyIndex, - isLight: true); - - return GetData(cbp); + return GetData(resources.GetPool(), resources.GetFlushBuffer()); } } else @@ -714,46 +704,19 @@ namespace Ryujinx.Graphics.Vulkan throw new NotImplementedException(); } - private ReadOnlySpan GetData(CommandBufferPool cbp) + private ReadOnlySpan GetData(CommandBufferPool cbp, PersistentFlushBuffer flushBuffer) { - int size; - var bufferHolder = _flushStorage; + int size = 0; - if (bufferHolder == null) + for (int level = 0; level < Info.Levels; level++) { - size = 0; - - for (int level = 0; level < Info.Levels; level++) - { - size += Info.GetMipSize(level); - } - - size = GetBufferDataLength(size); - - bufferHolder = _gd.BufferManager.Create(_gd, size); - - var existingStorage = Interlocked.CompareExchange(ref _flushStorage, bufferHolder, null); - if (existingStorage != null) - { - bufferHolder.Dispose(); - bufferHolder = existingStorage; - } - } - else - { - size = bufferHolder.Size; + size += Info.GetMipSize(level); } - using (var cbs = cbp.Rent()) - { - var buffer = bufferHolder.GetBuffer(cbs.CommandBuffer).Get(cbs).Value; - var image = GetImage().Get(cbs).Value; + size = GetBufferDataLength(size); - CopyFromOrToBuffer(cbs.CommandBuffer, buffer, image, size, true, 0, 0, Info.GetLayers(), Info.Levels, singleSlice: false); - } - - bufferHolder.WaitForFences(); - return GetDataFromBuffer(bufferHolder.GetDataStorage(0, size)); + Span result = flushBuffer.GetTextureData(cbp, this, size); + return GetDataFromBuffer(result, size, result); } public void SetData(ReadOnlySpan data) @@ -772,12 +735,24 @@ namespace Ryujinx.Graphics.Vulkan using var bufferHolder = _gd.BufferManager.Create(_gd, bufferDataLength); - using var cbs = _gd.CommandBufferPool.Rent(); + Auto imageAuto = GetImage(); + + // Load texture data inline if the texture has been used on the current command buffer. + + bool loadInline = Storage.HasCommandBufferDependency(_gd.PipelineInternal.CurrentCommandBuffer); + + var cbs = loadInline ? _gd.PipelineInternal.CurrentCommandBuffer : _gd.PipelineInternal.GetPreloadCommandBuffer(); + + if (loadInline) + { + _gd.PipelineInternal.EndRenderPass(); + Common.Logging.Logger.Error?.PrintMsg(Common.Logging.LogClass.Gpu, "Loaded inline!"); + } CopyDataToBuffer(bufferHolder.GetDataStorage(0, bufferDataLength), data); var buffer = bufferHolder.GetBuffer(cbs.CommandBuffer).Get(cbs).Value; - var image = GetImage().Get(cbs).Value; + var image = imageAuto.Get(cbs).Value; CopyFromOrToBuffer(cbs.CommandBuffer, buffer, image, bufferDataLength, false, layer, level, layers, levels, singleSlice); } @@ -813,11 +788,15 @@ namespace Ryujinx.Graphics.Vulkan input.CopyTo(storage); } - private ReadOnlySpan GetDataFromBuffer(ReadOnlySpan storage) + private ReadOnlySpan GetDataFromBuffer(ReadOnlySpan storage, int size, Span output) { if (NeedsD24S8Conversion()) { - byte[] output = new byte[GetBufferDataLength(storage.Length)]; + if (output.IsEmpty) + { + output = new byte[GetBufferDataLength(size)]; + } + FormatConverter.ConvertD32FS8ToD24S8(output, storage); return output; } @@ -830,7 +809,7 @@ namespace Ryujinx.Graphics.Vulkan return Info.Format == GAL.Format.D24UnormS8Uint && VkFormat == VkFormat.D32SfloatS8Uint; } - private void CopyFromOrToBuffer( + public void CopyFromOrToBuffer( CommandBuffer commandBuffer, VkBuffer buffer, Image image, diff --git a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs index 00ffb327b..88a6097e0 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs @@ -49,6 +49,7 @@ namespace Ryujinx.Graphics.Vulkan internal CommandBufferPool CommandBufferPool { get; private set; } internal DescriptorSetManager DescriptorSetManager { get; private set; } internal PipelineLayoutCache PipelineLayoutCache { get; private set; } + internal BackgroundResources BackgroundResources { get; private set; } internal BufferManager BufferManager { get; private set; } @@ -170,6 +171,8 @@ namespace Ryujinx.Graphics.Vulkan PipelineLayoutCache = new PipelineLayoutCache(); + BackgroundResources = new BackgroundResources(this, _device); + BufferManager = new BufferManager(this, _physicalDevice, _device); _syncManager = new SyncManager(this, _device); @@ -194,7 +197,7 @@ namespace Ryujinx.Graphics.Vulkan public BufferHandle CreateBuffer(int size) { - return BufferManager.CreateWithHandle(this, size); + return BufferManager.CreateWithHandle(this, size, true); } public IProgram CreateProgram(IShader[] shaders, ShaderInfo info) @@ -386,6 +389,7 @@ namespace Ryujinx.Graphics.Vulkan public unsafe void Dispose() { CommandBufferPool.Dispose(); + BackgroundResources.Dispose(); _counters.Dispose(); _window.Dispose(); HelperShader.Dispose(); From dc0d0f49b1ee6f469ca573de8a60d936ba0ddac9 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Thu, 23 Dec 2021 01:04:52 +0000 Subject: [PATCH 040/179] Cleanup, disable device local buffers for now. --- Ryujinx.Graphics.Vulkan/BufferHolder.cs | 5 +++-- Ryujinx.Graphics.Vulkan/CommandBufferPool.cs | 9 --------- Ryujinx.Graphics.Vulkan/CommandBufferScoped.cs | 5 ----- Ryujinx.Graphics.Vulkan/StagingBuffer.cs | 5 +++++ Ryujinx.Graphics.Vulkan/TextureView.cs | 1 - Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs | 2 +- 6 files changed, 9 insertions(+), 18 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/BufferHolder.cs b/Ryujinx.Graphics.Vulkan/BufferHolder.cs index e171d3c21..78468bb6c 100644 --- a/Ryujinx.Graphics.Vulkan/BufferHolder.cs +++ b/Ryujinx.Graphics.Vulkan/BufferHolder.cs @@ -180,8 +180,9 @@ namespace Ryujinx.Graphics.Vulkan if (_map != IntPtr.Zero) { // If persistently mapped, set the data directly if the buffer is not currently in use. - //bool needsFlush = _gd.CommandBufferPool.HasWaitableOnRentedCommandBuffer(_waitable, offset, dataSize); - bool needsFlush = _buffer.HasRentedCommandBufferDependency(_gd.CommandBufferPool);// (_waitable, offset, dataSize); + // TODO: Reintroduce waitable & granular use tracking. + // bool needsFlush = _gd.CommandBufferPool.HasWaitableOnRentedCommandBuffer(_waitable, offset, dataSize); + bool needsFlush = _buffer.HasRentedCommandBufferDependency(_gd.CommandBufferPool); if (!needsFlush) { diff --git a/Ryujinx.Graphics.Vulkan/CommandBufferPool.cs b/Ryujinx.Graphics.Vulkan/CommandBufferPool.cs index b9fcc6ba9..752d6392f 100644 --- a/Ryujinx.Graphics.Vulkan/CommandBufferPool.cs +++ b/Ryujinx.Graphics.Vulkan/CommandBufferPool.cs @@ -19,8 +19,6 @@ namespace Ryujinx.Graphics.Vulkan private readonly CommandPool _pool; private readonly Thread _owner; - public int PerFrame = 0; - public bool OwnedByCurrentThread => _owner == Thread.CurrentThread; private struct ReservedCommandBuffer @@ -125,12 +123,6 @@ namespace Ryujinx.Graphics.Vulkan entry.Waitables.Add(waitable); } - public bool HasWaitable(int cbIndex, MultiFenceHolder waitable) - { - ref var entry = ref _commandBuffers[cbIndex]; - return entry.Waitables.Contains(waitable); - } - public bool HasWaitableOnRentedCommandBuffer(MultiFenceHolder waitable, int offset, int size) { lock (_commandBuffers) @@ -200,7 +192,6 @@ namespace Ryujinx.Graphics.Vulkan public CommandBufferScoped Rent() { - PerFrame++; lock (_commandBuffers) { CheckConsumption(_cursor); diff --git a/Ryujinx.Graphics.Vulkan/CommandBufferScoped.cs b/Ryujinx.Graphics.Vulkan/CommandBufferScoped.cs index 702d41ebd..372950a88 100644 --- a/Ryujinx.Graphics.Vulkan/CommandBufferScoped.cs +++ b/Ryujinx.Graphics.Vulkan/CommandBufferScoped.cs @@ -31,11 +31,6 @@ namespace Ryujinx.Graphics.Vulkan _pool.AddDependency(CommandBufferIndex, dependencyCbs); } - public bool HasWaitable(MultiFenceHolder waitable) - { - return _pool.HasWaitable(CommandBufferIndex, waitable); - } - public FenceHolder GetFence() { return _pool.GetFence(CommandBufferIndex); diff --git a/Ryujinx.Graphics.Vulkan/StagingBuffer.cs b/Ryujinx.Graphics.Vulkan/StagingBuffer.cs index 3231fd0dc..55283d54e 100644 --- a/Ryujinx.Graphics.Vulkan/StagingBuffer.cs +++ b/Ryujinx.Graphics.Vulkan/StagingBuffer.cs @@ -82,6 +82,11 @@ namespace Ryujinx.Graphics.Vulkan { scoped.Dispose(); } + else if (_gd.IsIntelWindows) + { + // Not flushing commands here causes glitches on Intel (driver bug?) + _gd.FlushAllCommands(); + } } private void PushDataImpl(CommandBufferScoped cbs, BufferHolder dst, int dstOffset, ReadOnlySpan data) diff --git a/Ryujinx.Graphics.Vulkan/TextureView.cs b/Ryujinx.Graphics.Vulkan/TextureView.cs index e8928bd13..d5c414761 100644 --- a/Ryujinx.Graphics.Vulkan/TextureView.cs +++ b/Ryujinx.Graphics.Vulkan/TextureView.cs @@ -746,7 +746,6 @@ namespace Ryujinx.Graphics.Vulkan if (loadInline) { _gd.PipelineInternal.EndRenderPass(); - Common.Logging.Logger.Error?.PrintMsg(Common.Logging.LogClass.Gpu, "Loaded inline!"); } CopyDataToBuffer(bufferHolder.GetDataStorage(0, bufferDataLength), data); diff --git a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs index 88a6097e0..1d47cd386 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs @@ -197,7 +197,7 @@ namespace Ryujinx.Graphics.Vulkan public BufferHandle CreateBuffer(int size) { - return BufferManager.CreateWithHandle(this, size, true); + return BufferManager.CreateWithHandle(this, size, false); } public IProgram CreateProgram(IShader[] shaders, ShaderInfo info) From 4d94b036220a9678e13043f34eb193f727eee0d1 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Thu, 23 Dec 2021 03:13:48 +0000 Subject: [PATCH 041/179] Add single queue support Multiqueue seems to be a bit more responsive on NVIDIA. Should fix texture flush on intel. AMD has been forced to single queue for an experiment. --- .../BackgroundResources.cs | 9 ++++- Ryujinx.Graphics.Vulkan/BufferHolder.cs | 9 +---- Ryujinx.Graphics.Vulkan/CommandBufferPool.cs | 9 +++-- Ryujinx.Graphics.Vulkan/TextureView.cs | 34 ++++--------------- .../VulkanGraphicsDevice.cs | 4 ++- .../VulkanInitialization.cs | 4 +-- Ryujinx.Graphics.Vulkan/Window.cs | 5 ++- 7 files changed, 31 insertions(+), 43 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/BackgroundResources.cs b/Ryujinx.Graphics.Vulkan/BackgroundResources.cs index cd9c91b14..e60e48451 100644 --- a/Ryujinx.Graphics.Vulkan/BackgroundResources.cs +++ b/Ryujinx.Graphics.Vulkan/BackgroundResources.cs @@ -23,7 +23,14 @@ namespace Ryujinx.Graphics.Vulkan { if (_pool == null) { - _pool = new CommandBufferPool(_gd.Api, _device, _gd.BackgroundQueue, _gd.QueueFamilyIndex, isLight: true); + bool useBackground = _gd.BackgroundQueue.Handle != 0 && _gd.Vendor != Vendor.Amd; + Queue queue = useBackground ? _gd.BackgroundQueue : _gd.Queue; + object queueLock = useBackground ? _gd.BackgroundQueueLock : _gd.QueueLock; + + lock (queueLock) + { + _pool = new CommandBufferPool(_gd.Api, _device, queue, queueLock, _gd.QueueFamilyIndex, isLight: true); + } } return _pool; diff --git a/Ryujinx.Graphics.Vulkan/BufferHolder.cs b/Ryujinx.Graphics.Vulkan/BufferHolder.cs index 78468bb6c..0d3a7c5e0 100644 --- a/Ryujinx.Graphics.Vulkan/BufferHolder.cs +++ b/Ryujinx.Graphics.Vulkan/BufferHolder.cs @@ -143,16 +143,9 @@ namespace Ryujinx.Graphics.Vulkan return resource.GetFlushBuffer().GetBufferData(_gd.CommandBufferPool, this, offset, size); } - else if (_gd.BackgroundQueue.Handle != 0) - { - lock (_gd.BackgroundQueueLock) - { - return resource.GetFlushBuffer().GetBufferData(resource.GetPool(), this, offset, size); - } - } else { - return new byte[size]; + return resource.GetFlushBuffer().GetBufferData(resource.GetPool(), this, offset, size); } } } diff --git a/Ryujinx.Graphics.Vulkan/CommandBufferPool.cs b/Ryujinx.Graphics.Vulkan/CommandBufferPool.cs index 752d6392f..042c020f5 100644 --- a/Ryujinx.Graphics.Vulkan/CommandBufferPool.cs +++ b/Ryujinx.Graphics.Vulkan/CommandBufferPool.cs @@ -16,6 +16,7 @@ namespace Ryujinx.Graphics.Vulkan private readonly Vk _api; private readonly Device _device; private readonly Queue _queue; + private readonly object _queueLock; private readonly CommandPool _pool; private readonly Thread _owner; @@ -58,11 +59,12 @@ namespace Ryujinx.Graphics.Vulkan private int _cursor; - public unsafe CommandBufferPool(Vk api, Device device, Queue queue, uint queueFamilyIndex, bool isLight = false) + public unsafe CommandBufferPool(Vk api, Device device, Queue queue, object queueLock, uint queueFamilyIndex, bool isLight = false) { _api = api; _device = device; _queue = queue; + _queueLock = queueLock; _owner = Thread.CurrentThread; var commandPoolCreateInfo = new CommandPoolCreateInfo() @@ -272,7 +274,10 @@ namespace Ryujinx.Graphics.Vulkan PSignalSemaphores = pSignalSemaphores }; - _api.QueueSubmit(_queue, 1, sInfo, entry.Fence.GetUnsafe()); + lock (_queueLock) + { + _api.QueueSubmit(_queue, 1, sInfo, entry.Fence.GetUnsafe()); + } } } // _api.QueueWaitIdle(_queue); diff --git a/Ryujinx.Graphics.Vulkan/TextureView.cs b/Ryujinx.Graphics.Vulkan/TextureView.cs index d5c414761..38b334486 100644 --- a/Ryujinx.Graphics.Vulkan/TextureView.cs +++ b/Ryujinx.Graphics.Vulkan/TextureView.cs @@ -233,20 +233,13 @@ namespace Ryujinx.Graphics.Vulkan CopyToImpl(cbs, dst, srcRegion, dstRegion, linearFilter); } - else if (_gd.BackgroundQueue.Handle != 0) - { - lock (_gd.BackgroundQueueLock) - { - var cbp = _gd.BackgroundResources.Get().GetPool(); - - using var cbs = cbp.Rent(); - - CopyToImpl(cbs, dst, srcRegion, dstRegion, linearFilter); - } - } else { - // TODO... + var cbp = _gd.BackgroundResources.Get().GetPool(); + + using var cbs = cbp.Rent(); + + CopyToImpl(cbs, dst, srcRegion, dstRegion, linearFilter); } } @@ -678,24 +671,9 @@ namespace Ryujinx.Graphics.Vulkan return GetData(_gd.CommandBufferPool, resources.GetFlushBuffer()); } - else if (_gd.BackgroundQueue.Handle != 0) - { - lock (_gd.BackgroundQueueLock) - { - return GetData(resources.GetPool(), resources.GetFlushBuffer()); - } - } else { - // TODO: Flush when the device only supports one queue. - int size = 0; - - for (int level = 0; level < Info.Levels; level++) - { - size += Info.GetMipSize(level); - } - - return new byte[size]; + return GetData(resources.GetPool(), resources.GetFlushBuffer()); } } diff --git a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs index 1d47cd386..36f7ff6f6 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs @@ -44,6 +44,7 @@ namespace Ryujinx.Graphics.Vulkan internal Queue Queue { get; private set; } internal Queue BackgroundQueue { get; private set; } internal object BackgroundQueueLock { get; private set; } + internal object QueueLock { get; private set; } internal MemoryAllocator MemoryAllocator { get; private set; } internal CommandBufferPool CommandBufferPool { get; private set; } @@ -153,6 +154,7 @@ namespace Ryujinx.Graphics.Vulkan api.GetDeviceQueue(_device, queueFamilyIndex, 0, out var queue); Queue = queue; + QueueLock = new object(); if (maxQueueCount >= 2) { @@ -165,7 +167,7 @@ namespace Ryujinx.Graphics.Vulkan MemoryAllocator = new MemoryAllocator(api, _device, properties.Limits.MaxMemoryAllocationCount); - CommandBufferPool = VulkanInitialization.CreateCommandBufferPool(api, _device, queue, queueFamilyIndex); + CommandBufferPool = VulkanInitialization.CreateCommandBufferPool(api, _device, queue, QueueLock, queueFamilyIndex); DescriptorSetManager = new DescriptorSetManager(_device); diff --git a/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs b/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs index 8c47172f8..5c64e76ec 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs @@ -418,9 +418,9 @@ namespace Ryujinx.Graphics.Vulkan return extensionProperties.Select(x => Marshal.PtrToStringAnsi((IntPtr)x.ExtensionName)).ToArray(); } - public static CommandBufferPool CreateCommandBufferPool(Vk api, Device device, Queue queue, uint queueFamilyIndex) + public static CommandBufferPool CreateCommandBufferPool(Vk api, Device device, Queue queue, object queueLock, uint queueFamilyIndex) { - return new CommandBufferPool(api, device, queue, queueFamilyIndex); + return new CommandBufferPool(api, device, queue, queueLock, queueFamilyIndex); } } } diff --git a/Ryujinx.Graphics.Vulkan/Window.cs b/Ryujinx.Graphics.Vulkan/Window.cs index 668d2adad..fafc3206a 100644 --- a/Ryujinx.Graphics.Vulkan/Window.cs +++ b/Ryujinx.Graphics.Vulkan/Window.cs @@ -352,7 +352,10 @@ namespace Ryujinx.Graphics.Vulkan PResults = &result }; - _gd.SwapchainApi.QueuePresent(_gd.Queue, presentInfo); + lock (_gd.QueueLock) + { + _gd.SwapchainApi.QueuePresent(_gd.Queue, presentInfo); + } } private unsafe void Transition( From f6a4fe8f5f08970f1a84c16c22d47903634e86e6 Mon Sep 17 00:00:00 2001 From: gdk Date: Sun, 12 Dec 2021 23:33:44 -0300 Subject: [PATCH 042/179] Fix some validation errors around extended dynamic state --- Ryujinx.Graphics.Vulkan/PipelineBase.cs | 2 +- Ryujinx.Graphics.Vulkan/PipelineState.cs | 18 ++++++++++++------ .../VulkanInitialization.cs | 15 ++++++++++++--- 3 files changed, 25 insertions(+), 10 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/PipelineBase.cs b/Ryujinx.Graphics.Vulkan/PipelineBase.cs index 01a79e131..ce631c4a6 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineBase.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineBase.cs @@ -1103,7 +1103,7 @@ namespace Ryujinx.Graphics.Vulkan var pipeline = pbp == PipelineBindPoint.Compute ? _newState.CreateComputePipeline(Gd.Api, Device, _program, _pipelineCache) - : _newState.CreateGraphicsPipeline(Gd.Api, Device, _program, _pipelineCache, _renderPass.Get(Cbs).Value); + : _newState.CreateGraphicsPipeline(Gd, Device, _program, _pipelineCache, _renderPass.Get(Cbs).Value); ulong pipelineHandle = pipeline.GetUnsafe().Value.Handle; diff --git a/Ryujinx.Graphics.Vulkan/PipelineState.cs b/Ryujinx.Graphics.Vulkan/PipelineState.cs index 246a84c79..6da2e23eb 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineState.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineState.cs @@ -329,7 +329,7 @@ namespace Ryujinx.Graphics.Vulkan } public unsafe Auto CreateGraphicsPipeline( - Vk api, + VulkanGraphicsDevice gd, Device device, ShaderCollection program, PipelineCache cache, @@ -467,9 +467,10 @@ namespace Ryujinx.Graphics.Vulkan if (VulkanConfiguration.UseDynamicState) { - const int DynamicStates = 7; + bool supportsExtDynamicState = gd.Capabilities.SupportsExtendedDynamicState; + int dynamicStatesCount = supportsExtDynamicState ? 8 : 7; - DynamicState* dynamicStates = stackalloc DynamicState[DynamicStates]; + DynamicState* dynamicStates = stackalloc DynamicState[dynamicStatesCount]; dynamicStates[0] = DynamicState.Viewport; dynamicStates[1] = DynamicState.Scissor; @@ -479,10 +480,15 @@ namespace Ryujinx.Graphics.Vulkan dynamicStates[5] = DynamicState.StencilWriteMask; dynamicStates[6] = DynamicState.StencilReference; + if (supportsExtDynamicState) + { + dynamicStates[7] = DynamicState.VertexInputBindingStrideExt; + } + var pipelineDynamicStateCreateInfo = new PipelineDynamicStateCreateInfo() { SType = StructureType.PipelineDynamicStateCreateInfo, - DynamicStateCount = DynamicStates, + DynamicStateCount = (uint)dynamicStatesCount, PDynamicStates = dynamicStates }; @@ -508,10 +514,10 @@ namespace Ryujinx.Graphics.Vulkan BasePipelineIndex = -1 }; - api.CreateGraphicsPipelines(device, cache, 1, &pipelineCreateInfo, null, &pipelineHandle).ThrowOnError(); + gd.Api.CreateGraphicsPipelines(device, cache, 1, &pipelineCreateInfo, null, &pipelineHandle).ThrowOnError(); } - pipeline = new Auto(new DisposablePipeline(api, device, pipelineHandle)); + pipeline = new Auto(new DisposablePipeline(gd.Api, device, pipelineHandle)); program.AddGraphicsPipeline(ref Internal, pipeline); diff --git a/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs b/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs index 5c64e76ec..66f36855e 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs @@ -39,8 +39,10 @@ namespace Ryujinx.Graphics.Vulkan "UNASSIGNED-CoreValidation-Shader-OutputNotConsumed", // TODO: Figure out if fixable "VUID-vkCmdDrawIndexed-None-04584", - // TODO: might be worth looking into making this happy to possibly optimize copies. - "UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout" + // TODO: Might be worth looking into making this happy to possibly optimize copies. + "UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout", + // TODO: Fix this, it's causing too much noise right now. + "VUID-VkSubpassDependency-srcSubpass-00867" }; public static Instance CreateInstance(Vk api, GraphicsDebugLevel logLevel, string[] requiredExtensions, out ExtDebugReport debugReport, out DebugReportCallbackEXT debugReportCallback) @@ -365,10 +367,17 @@ namespace Ryujinx.Graphics.Vulkan NullDescriptor = true }; + var featuresExtendedDynamicState = new PhysicalDeviceExtendedDynamicStateFeaturesEXT() + { + SType = StructureType.PhysicalDeviceExtendedDynamicStateFeaturesExt, + PNext = &featuresRobustness2, + ExtendedDynamicState = supportedExtensions.Contains(ExtExtendedDynamicState.ExtensionName) + }; + var featuresVk12 = new PhysicalDeviceVulkan12Features() { SType = StructureType.PhysicalDeviceVulkan12Features, - PNext = &featuresRobustness2, + PNext = &featuresExtendedDynamicState, DrawIndirectCount = supportedExtensions.Contains(KhrDrawIndirectCount.ExtensionName) }; From 64d11d3574e0349b08d523d46dfbbf7957df89fb Mon Sep 17 00:00:00 2001 From: gdk Date: Fri, 24 Dec 2021 21:55:02 -0300 Subject: [PATCH 043/179] Remove Intel bug workaround, it was fixed on the latest driver --- Ryujinx.Graphics.Vulkan/BufferHolder.cs | 6 ------ Ryujinx.Graphics.Vulkan/StagingBuffer.cs | 5 ----- 2 files changed, 11 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/BufferHolder.cs b/Ryujinx.Graphics.Vulkan/BufferHolder.cs index 0d3a7c5e0..6d2bbbc7b 100644 --- a/Ryujinx.Graphics.Vulkan/BufferHolder.cs +++ b/Ryujinx.Graphics.Vulkan/BufferHolder.cs @@ -274,12 +274,6 @@ namespace Ryujinx.Graphics.Vulkan dstOffset, data.Length); - // Not flushing commands here causes glitches on Intel (driver bug?) - if (_gd.IsIntelWindows) - { - _gd.FlushAllCommands(); - } - return true; } diff --git a/Ryujinx.Graphics.Vulkan/StagingBuffer.cs b/Ryujinx.Graphics.Vulkan/StagingBuffer.cs index 55283d54e..3231fd0dc 100644 --- a/Ryujinx.Graphics.Vulkan/StagingBuffer.cs +++ b/Ryujinx.Graphics.Vulkan/StagingBuffer.cs @@ -82,11 +82,6 @@ namespace Ryujinx.Graphics.Vulkan { scoped.Dispose(); } - else if (_gd.IsIntelWindows) - { - // Not flushing commands here causes glitches on Intel (driver bug?) - _gd.FlushAllCommands(); - } } private void PushDataImpl(CommandBufferScoped cbs, BufferHolder dst, int dstOffset, ReadOnlySpan data) From db5ac3488af042a60d2ce25c8705f6425468aa61 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Sun, 26 Dec 2021 23:05:51 +0000 Subject: [PATCH 044/179] Use circular queue for checking consumption on command buffers Speeds up games that spam command buffers a little. Avoids checking multiple command buffers if multiple are active at once. --- Ryujinx.Graphics.Vulkan/CommandBufferPool.cs | 71 +++++++++++--------- 1 file changed, 39 insertions(+), 32 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/CommandBufferPool.cs b/Ryujinx.Graphics.Vulkan/CommandBufferPool.cs index 042c020f5..33f4c3ff1 100644 --- a/Ryujinx.Graphics.Vulkan/CommandBufferPool.cs +++ b/Ryujinx.Graphics.Vulkan/CommandBufferPool.cs @@ -26,7 +26,6 @@ namespace Ryujinx.Graphics.Vulkan { public bool InUse; public bool InConsumption; - public bool Active; public CommandBuffer CommandBuffer; public FenceHolder Fence; public SemaphoreHolder Semaphore; @@ -50,14 +49,15 @@ namespace Ryujinx.Graphics.Vulkan Dependants = new List(); Waitables = new HashSet(); Dependencies = new HashSet(); - - Active = true; // Fence should be refreshed. } } private readonly ReservedCommandBuffer[] _commandBuffers; - private int _cursor; + private readonly int[] _queuedIndexes; + private int _queuedIndexesPtr; + private int _queuedCount; + private int _inUseCount; public unsafe CommandBufferPool(Vk api, Device device, Queue queue, object queueLock, uint queueFamilyIndex, bool isLight = false) { @@ -82,9 +82,14 @@ namespace Ryujinx.Graphics.Vulkan _commandBuffers = new ReservedCommandBuffer[_totalCommandBuffers]; + _queuedIndexes = new int[_totalCommandBuffers]; + _queuedIndexesPtr = 0; + _queuedCount = 0; + for (int i = 0; i < _totalCommandBuffers; i++) { _commandBuffers[i].Initialize(api, device, _pool); + WaitAndDecrementRef(i); } } @@ -168,22 +173,33 @@ namespace Ryujinx.Graphics.Vulkan return _commandBuffers[cbIndex].Fence; } - private void CheckConsumption(int startAt) + private int FreeConsumed(bool wait) { - int wrapBefore = _totalCommandBuffers + 1; - int index = (startAt + wrapBefore) % _totalCommandBuffers; + int freeEntry = 0; - for (int i = 0; i < _totalCommandBuffers - 1; i++) + while (_queuedCount > 0) { + int index = _queuedIndexes[_queuedIndexesPtr]; + ref var entry = ref _commandBuffers[index]; - if (!entry.InUse && entry.InConsumption && entry.Fence.IsSignaled()) + if (wait || !entry.InConsumption || entry.Fence.IsSignaled()) { WaitAndDecrementRef(index); - } - index = (index + wrapBefore) % _totalCommandBuffers; + wait = false; + freeEntry = index; + + _queuedCount--; + _queuedIndexesPtr = (_queuedIndexesPtr + 1) % _totalCommandBuffers; + } + else + { + break; + } } + + return freeEntry; } public CommandBufferScoped ReturnAndRent(CommandBufferScoped cbs) @@ -196,19 +212,17 @@ namespace Ryujinx.Graphics.Vulkan { lock (_commandBuffers) { - CheckConsumption(_cursor); + int cursor = FreeConsumed(_inUseCount + _queuedCount == _totalCommandBuffers); for (int i = 0; i < _totalCommandBuffers; i++) { - int currentIndex = _cursor; + ref var entry = ref _commandBuffers[cursor]; - ref var entry = ref _commandBuffers[currentIndex]; - - if (!entry.InUse) + if (!entry.InUse && !entry.InConsumption) { - WaitAndDecrementRef(currentIndex); entry.InUse = true; - entry.Active = true; + + _inUseCount++; var commandBufferBeginInfo = new CommandBufferBeginInfo() { @@ -217,10 +231,10 @@ namespace Ryujinx.Graphics.Vulkan _api.BeginCommandBuffer(entry.CommandBuffer, commandBufferBeginInfo); - return new CommandBufferScoped(this, entry.CommandBuffer, currentIndex); + return new CommandBufferScoped(this, entry.CommandBuffer, cursor); } - _cursor = (currentIndex + 1) & _totalCommandBuffersMask; + cursor = (cursor + 1) & _totalCommandBuffersMask; } return default; @@ -244,15 +258,11 @@ namespace Ryujinx.Graphics.Vulkan ref var entry = ref _commandBuffers[cbIndex]; - if (_cursor == cbIndex) - { - _cursor = (cbIndex + 1) & _totalCommandBuffersMask; - } - Debug.Assert(entry.InUse); Debug.Assert(entry.CommandBuffer.Handle == cbs.CommandBuffer.Handle); entry.InUse = false; entry.InConsumption = true; + _inUseCount--; var commandBuffer = entry.CommandBuffer; @@ -280,6 +290,10 @@ namespace Ryujinx.Graphics.Vulkan } } } + + int ptr = (_queuedIndexesPtr + _queuedCount) % _totalCommandBuffers; + _queuedIndexes[ptr] = cbIndex; + _queuedCount++; // _api.QueueWaitIdle(_queue); } } @@ -288,13 +302,6 @@ namespace Ryujinx.Graphics.Vulkan { ref var entry = ref _commandBuffers[cbIndex]; - if (!entry.Active) - { - return; - } - - entry.Active = false; - if (entry.InConsumption) { entry.Fence.Wait(); From d14dbb0cffec5ff9c2ee620cae52982e512da38f Mon Sep 17 00:00:00 2001 From: riperiperi Date: Mon, 10 Jan 2022 22:50:31 +0000 Subject: [PATCH 045/179] Use SupportBufferUpdater, add single layer flush --- .../DescriptorSetUpdater.cs | 2 +- .../PersistentFlushBuffer.cs | 16 ++++++ Ryujinx.Graphics.Vulkan/PipelineBase.cs | 49 ++++++++----------- .../PipelineLayoutFactory.cs | 2 +- Ryujinx.Graphics.Vulkan/TextureView.cs | 31 +++++++++--- 5 files changed, 64 insertions(+), 36 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs b/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs index 3c3f69824..6b72dbb60 100644 --- a/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs +++ b/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs @@ -320,7 +320,7 @@ namespace Ryujinx.Graphics.Vulkan { Offset = 0, Range = (ulong)SupportBuffer.RequiredSize, - Buffer = _pipeline.RenderScaleBuffer.GetBuffer().Get(cbs, 0, SupportBuffer.RequiredSize).Value + Buffer = _gd.BufferManager.GetBuffer(cbs.CommandBuffer, _pipeline.SupportBufferUpdater.Handle, false).Get(cbs, 0, SupportBuffer.RequiredSize).Value }; dsc.UpdateBuffers(0, 0, uniformBuffer, DescriptorType.UniformBuffer); diff --git a/Ryujinx.Graphics.Vulkan/PersistentFlushBuffer.cs b/Ryujinx.Graphics.Vulkan/PersistentFlushBuffer.cs index 8e035aa32..c23d27b54 100644 --- a/Ryujinx.Graphics.Vulkan/PersistentFlushBuffer.cs +++ b/Ryujinx.Graphics.Vulkan/PersistentFlushBuffer.cs @@ -65,6 +65,22 @@ namespace Ryujinx.Graphics.Vulkan return flushStorage.GetDataStorage(0, size); } + public Span GetTextureData(CommandBufferPool cbp, TextureView view, int size, int layer, int level) + { + var flushStorage = ResizeIfNeeded(size); + + using (var cbs = cbp.Rent()) + { + var buffer = flushStorage.GetBuffer(cbs.CommandBuffer).Get(cbs).Value; + var image = view.GetImage().Get(cbs).Value; + + view.CopyFromOrToBuffer(cbs.CommandBuffer, buffer, image, size, true, layer, level, 1, 1, singleSlice: true); + } + + flushStorage.WaitForFences(); + return flushStorage.GetDataStorage(0, size); + } + public void Dispose() { _flushStorage.Dispose(); diff --git a/Ryujinx.Graphics.Vulkan/PipelineBase.cs b/Ryujinx.Graphics.Vulkan/PipelineBase.cs index ce631c4a6..52790efcb 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineBase.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineBase.cs @@ -41,16 +41,8 @@ namespace Ryujinx.Graphics.Vulkan private ShaderCollection _program; - private struct Vector4 - { - public T X; - public T Y; - public T Z; - public T W; - } - private Vector4[] _renderScale = new Vector4[65]; - private Vector4[] _cpRenderScale = new Vector4[64]; + private int _fragmentScaleCount; protected FramebufferParams FramebufferParams; private Auto _framebuffer; @@ -63,7 +55,7 @@ namespace Ryujinx.Graphics.Vulkan private readonly BufferState[] _transformFeedbackBuffers; private readonly BufferState[] _vertexBuffers; - public BufferHolder RenderScaleBuffer { get; } + public SupportBufferUpdater SupportBufferUpdater; private bool _needsIndexBufferRebind; private bool _needsTransformFeedbackBuffersRebind; @@ -100,9 +92,8 @@ namespace Ryujinx.Graphics.Vulkan var defaultScale = new Vector4 { X = 1f, Y = 0f, Z = 0f, W = 0f }; new Span>(_renderScale).Fill(defaultScale); - RenderScaleBuffer = gd.BufferManager.Create(gd, SupportBuffer.RequiredSize); - - SetSupportBufferDataCpu>(SupportBuffer.GraphicsRenderScaleOffset, _renderScale, SupportBuffer.RenderScaleMaxCount); + SupportBufferUpdater = new SupportBufferUpdater(gd); + SupportBufferUpdater.UpdateRenderScale(_renderScale, 0, SupportBuffer.RenderScaleMaxCount); _newState.Initialize(); _newState.LineWidth = 1f; @@ -295,6 +286,8 @@ namespace Ryujinx.Graphics.Vulkan { if (texture is TextureView srcTexture) { + SupportBufferUpdater.Commit(); + var oldCullMode = _newState.CullMode; var oldStencilTestEnable = _newState.StencilTestEnable; var oldDepthTestEnable = _newState.DepthTestEnable; @@ -622,7 +615,7 @@ namespace Ryujinx.Graphics.Vulkan public void SetRenderTargetScale(float scale) { _renderScale[0].X = scale; - SetSupportBufferData>(SupportBuffer.GraphicsRenderScaleOffset, _renderScale, 1); // Just the first element. + SupportBufferUpdater.UpdateRenderScale(_renderScale, 0, 1); // Just the first element. } public void SetScissors(ReadOnlySpan> regions) @@ -875,11 +868,11 @@ namespace Ryujinx.Graphics.Vulkan TextureBarrier(); } - public void UpdateRenderScale(ReadOnlySpan scales, int textureCount, int imageCount) + public void UpdateRenderScale(ReadOnlySpan scales, int totalCount, int fragmentCount) { bool changed = false; - for (int index = 0; index < textureCount + imageCount; index++) + for (int index = 0; index < totalCount; index++) { if (_renderScale[1 + index].X != scales[index]) { @@ -888,22 +881,19 @@ namespace Ryujinx.Graphics.Vulkan } } + // Only update fragment count if there are scales after it for the vertex stage. + if (fragmentCount != totalCount && fragmentCount != _fragmentScaleCount) + { + _fragmentScaleCount = fragmentCount; + SupportBufferUpdater.UpdateFragmentRenderScaleCount(_fragmentScaleCount); + } + if (changed) { - SetSupportBufferData>(SupportBuffer.GraphicsRenderScaleOffset, _renderScale, 1 + textureCount + imageCount); + SupportBufferUpdater.UpdateRenderScale(_renderScale, 0, 1 + totalCount); } } - private void SetSupportBufferData(int offset, ReadOnlySpan data, int count) where T : unmanaged - { - RenderScaleBuffer.SetDataInline(Cbs, EndRenderPass, offset, MemoryMarshal.Cast(data.Slice(0, count))); - } - - private void SetSupportBufferDataCpu(int offset, ReadOnlySpan data, int count) where T : unmanaged - { - RenderScaleBuffer.SetDataUnchecked(offset, MemoryMarshal.Cast(data.Slice(0, count))); - } - protected void SignalCommandBufferChange() { _needsIndexBufferRebind = true; @@ -1052,6 +1042,9 @@ namespace Ryujinx.Graphics.Vulkan // Take the opportunity to process any pending work requested by other threads. _dynamicState.ReplayIfDirty(Gd.Api, CommandBuffer); + // Commit changes to the support buffer before drawing. + SupportBufferUpdater.Commit(); + if (_stateDirty || Pbp != pbp) { CreatePipeline(pbp); @@ -1203,7 +1196,7 @@ namespace Ryujinx.Graphics.Vulkan Gd.Api.DestroyPipelineCache(Device, _pipelineCache, null); } - RenderScaleBuffer.Dispose(); + SupportBufferUpdater.Dispose(); } } diff --git a/Ryujinx.Graphics.Vulkan/PipelineLayoutFactory.cs b/Ryujinx.Graphics.Vulkan/PipelineLayoutFactory.cs index 3ceacfd0e..02b19c92b 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineLayoutFactory.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineLayoutFactory.cs @@ -27,7 +27,7 @@ namespace Ryujinx.Graphics.Vulkan Binding = 0, DescriptorType = DescriptorType.UniformBuffer, DescriptorCount = 1, - StageFlags = ShaderStageFlags.ShaderStageFragmentBit | ShaderStageFlags.ShaderStageComputeBit + StageFlags = ShaderStageFlags.ShaderStageVertexBit | ShaderStageFlags.ShaderStageFragmentBit | ShaderStageFlags.ShaderStageComputeBit }; int iter = 0; diff --git a/Ryujinx.Graphics.Vulkan/TextureView.cs b/Ryujinx.Graphics.Vulkan/TextureView.cs index 38b334486..a8bad9537 100644 --- a/Ryujinx.Graphics.Vulkan/TextureView.cs +++ b/Ryujinx.Graphics.Vulkan/TextureView.cs @@ -679,7 +679,18 @@ namespace Ryujinx.Graphics.Vulkan public ReadOnlySpan GetData(int layer, int level) { - throw new NotImplementedException(); + BackgroundResource resources = _gd.BackgroundResources.Get(); + + if (_gd.CommandBufferPool.OwnedByCurrentThread) + { + _gd.FlushAllCommands(); + + return GetData(_gd.CommandBufferPool, resources.GetFlushBuffer(), layer, level); + } + else + { + return GetData(resources.GetPool(), resources.GetFlushBuffer(), layer, level); + } } private ReadOnlySpan GetData(CommandBufferPool cbp, PersistentFlushBuffer flushBuffer) @@ -697,6 +708,14 @@ namespace Ryujinx.Graphics.Vulkan return GetDataFromBuffer(result, size, result); } + private ReadOnlySpan GetData(CommandBufferPool cbp, PersistentFlushBuffer flushBuffer, int layer, int level) + { + int size = GetBufferDataLength(Info.GetMipSize(level)); + + Span result = flushBuffer.GetTextureData(cbp, this, size, layer, level); + return GetDataFromBuffer(result, size, result); + } + public void SetData(ReadOnlySpan data) { SetData(data, 0, 0, Info.GetLayers(), Info.Levels, singleSlice: false); @@ -799,9 +818,9 @@ namespace Ryujinx.Graphics.Vulkan bool singleSlice) { bool is3D = Info.Target == Target.Texture3D; - int width = Info.Width; - int height = Info.Height; - int depth = is3D && !singleSlice ? Info.Depth : 1; + int width = Math.Max(1, Info.Width >> dstLevel); + int height = Math.Max(1, Info.Height >> dstLevel); + int depth = is3D && !singleSlice ? Math.Max(1, Info.Depth >> dstLevel) : 1; int layer = is3D ? 0 : dstLayer; int layers = dstLayers; int levels = dstLevels; @@ -810,7 +829,7 @@ namespace Ryujinx.Graphics.Vulkan for (int level = 0; level < levels; level++) { - int mipSize = GetBufferDataLength(Info.GetMipSize(level)); + int mipSize = GetBufferDataLength(Info.GetMipSize(dstLevel + level)); int endOffset = offset + mipSize; @@ -819,7 +838,7 @@ namespace Ryujinx.Graphics.Vulkan break; } - int rowLength = (Info.GetMipStride(level) / Info.BytesPerPixel) * Info.BlockWidth; + int rowLength = (Info.GetMipStride(dstLevel + level) / Info.BytesPerPixel) * Info.BlockWidth; var aspectFlags = Info.Format.ConvertAspectFlags(); From 1e167788d430c7df501953ce649a0cf2f8bd28d1 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Sat, 22 Jan 2022 19:30:20 +0000 Subject: [PATCH 046/179] Fix counter queue leak when game decides to use host conditional rendering --- Ryujinx.Graphics.Vulkan/PipelineFull.cs | 43 +++++++++++++++---------- 1 file changed, 26 insertions(+), 17 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/PipelineFull.cs b/Ryujinx.Graphics.Vulkan/PipelineFull.cs index 0f092bc0c..15a68ea31 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineFull.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineFull.cs @@ -11,6 +11,7 @@ namespace Ryujinx.Graphics.Vulkan private bool _hasPendingQuery; private readonly List _activeQueries; + private CounterQueueEvent _activeConditionalRender; public PipelineFull(VulkanGraphicsDevice gd, Device device) : base(gd, device) { @@ -167,6 +168,9 @@ namespace Ryujinx.Graphics.Vulkan { // throw new NotSupportedException(); } + + _activeConditionalRender?.ReleaseHostAccess(); + _activeConditionalRender = null; } public bool TryHostConditionalRendering(ICounterEvent value, ulong compare, bool isEqual) @@ -180,26 +184,31 @@ namespace Ryujinx.Graphics.Vulkan // - Comparing against 0. // - Event has not already been flushed. - if (evt.Disposed) + if (compare == 0 && evt.Type == CounterType.SamplesPassed && evt.ClearCounter) { - // If the event has been flushed, then just use the values on the CPU. - // The query object may already be repurposed for another draw (eg. begin + end). - return false; - } - - if (Gd.Capabilities.SupportsConditionalRendering && compare == 0 && evt.Type == CounterType.SamplesPassed && evt.ClearCounter) - { - var buffer = evt.GetBuffer().Get(Cbs, 0, sizeof(long)).Value; - var flags = isEqual ? ConditionalRenderingFlagsEXT.ConditionalRenderingInvertedBitExt : 0; - - var conditionalRenderingBeginInfo = new ConditionalRenderingBeginInfoEXT() + if (!value.ReserveForHostAccess()) { - SType = StructureType.ConditionalRenderingBeginInfoExt, - Buffer = buffer, - Flags = flags - }; + // If the event has been flushed, then just use the values on the CPU. + // The query object may already be repurposed for another draw (eg. begin + end). + return false; + } - // Gd.ConditionalRenderingApi.CmdBeginConditionalRendering(CommandBuffer, conditionalRenderingBeginInfo); + if (Gd.Capabilities.SupportsConditionalRendering) + { + var buffer = evt.GetBuffer().Get(Cbs, 0, sizeof(long)).Value; + var flags = isEqual ? ConditionalRenderingFlagsEXT.ConditionalRenderingInvertedBitExt : 0; + + var conditionalRenderingBeginInfo = new ConditionalRenderingBeginInfoEXT() + { + SType = StructureType.ConditionalRenderingBeginInfoExt, + Buffer = buffer, + Flags = flags + }; + + // Gd.ConditionalRenderingApi.CmdBeginConditionalRendering(CommandBuffer, conditionalRenderingBeginInfo); + } + + _activeConditionalRender = evt; return true; } } From 2f066d1d6d7a4fe84016875f5fe9c25f50d7e831 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Sun, 23 Jan 2022 01:41:15 +0000 Subject: [PATCH 047/179] Force device local storage for textures (fixes linux performance) --- Ryujinx.Graphics.Vulkan/TextureStorage.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Ryujinx.Graphics.Vulkan/TextureStorage.cs b/Ryujinx.Graphics.Vulkan/TextureStorage.cs index 406dfbe39..88a24d09a 100644 --- a/Ryujinx.Graphics.Vulkan/TextureStorage.cs +++ b/Ryujinx.Graphics.Vulkan/TextureStorage.cs @@ -10,6 +10,9 @@ namespace Ryujinx.Graphics.Vulkan { class TextureStorage : IDisposable { + private const MemoryPropertyFlags DefaultImageMemoryFlags = + MemoryPropertyFlags.MemoryPropertyDeviceLocalBit; + private const ImageUsageFlags DefaultUsageFlags = ImageUsageFlags.ImageUsageSampledBit | ImageUsageFlags.ImageUsageTransferSrcBit | @@ -127,7 +130,7 @@ namespace Ryujinx.Graphics.Vulkan if (foreignAllocation == null) { gd.Api.GetImageMemoryRequirements(device, _image, out var requirements); - var allocation = gd.MemoryAllocator.AllocateDeviceMemory(physicalDevice, requirements); + var allocation = gd.MemoryAllocator.AllocateDeviceMemory(physicalDevice, requirements, DefaultImageMemoryFlags); if (allocation.Memory.Handle == 0UL) { From 3f38a8526c1478444f72a2fe39f2ac8f0c547208 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Sun, 23 Jan 2022 19:05:02 +0000 Subject: [PATCH 048/179] Port #3019 --- Ryujinx.Graphics.Vulkan/Queries/BufferedQuery.cs | 6 +++++- Ryujinx.Graphics.Vulkan/Queries/CounterQueue.cs | 15 +++------------ 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/Queries/BufferedQuery.cs b/Ryujinx.Graphics.Vulkan/Queries/BufferedQuery.cs index 092376d99..dd2f348fe 100644 --- a/Ryujinx.Graphics.Vulkan/Queries/BufferedQuery.cs +++ b/Ryujinx.Graphics.Vulkan/Queries/BufferedQuery.cs @@ -84,7 +84,11 @@ namespace Ryujinx.Graphics.Vulkan.Queries { Marshal.WriteInt64(_bufferMap, DefaultValue); _pipeline.CopyQueryResults(_queryPool, _buffer); - // _pipeline.FlushCommandsImpl(); + } + else + { + // Dummy result, just return 0. + Marshal.WriteInt64(_bufferMap, 0); } } diff --git a/Ryujinx.Graphics.Vulkan/Queries/CounterQueue.cs b/Ryujinx.Graphics.Vulkan/Queries/CounterQueue.cs index 6f0b25c60..d32ae2ec4 100644 --- a/Ryujinx.Graphics.Vulkan/Queries/CounterQueue.cs +++ b/Ryujinx.Graphics.Vulkan/Queries/CounterQueue.cs @@ -125,19 +125,10 @@ namespace Ryujinx.Graphics.Vulkan.Queries _current.ReserveForHostAccess(); } - if (draws > 0 && Type != CounterType.TransformFeedbackPrimitivesWritten) - { - _current.Complete(true); - _events.Enqueue(_current); + _current.Complete(draws > 0 && Type != CounterType.TransformFeedbackPrimitivesWritten); + _events.Enqueue(_current); - _current.OnResult += resultHandler; - } - else - { - _current.Complete(false); - _current.Dispose(); - resultHandler(_current, 0); - } + _current.OnResult += resultHandler; result = _current; From 0fe19f51c0aeabd17e63d77897666148d2c43477 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Mon, 24 Jan 2022 13:34:44 +0000 Subject: [PATCH 049/179] Insert barriers around vkCmdBlitImage (may fix some amd flicker) --- Ryujinx.Graphics.Vulkan/TextureCopy.cs | 28 ++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/Ryujinx.Graphics.Vulkan/TextureCopy.cs b/Ryujinx.Graphics.Vulkan/TextureCopy.cs index b93638ff3..a8ef7bc22 100644 --- a/Ryujinx.Graphics.Vulkan/TextureCopy.cs +++ b/Ryujinx.Graphics.Vulkan/TextureCopy.cs @@ -55,6 +55,20 @@ namespace Ryujinx.Graphics.Vulkan var filter = linearFilter && !dstInfo.Format.IsDepthOrStencil() ? Filter.Linear : Filter.Nearest; + TextureView.InsertImageBarrier( + api, + commandBuffer, + srcImage, + TextureStorage.DefaultAccessMask, + AccessFlags.AccessTransferReadBit, + PipelineStageFlags.PipelineStageAllCommandsBit, + PipelineStageFlags.PipelineStageTransferBit, + srcAspectFlags, + srcLayer, + srcLevel, + layers, + levels); + for (int level = 0; level < levels; level++) { var srcSl = new ImageSubresourceLayers(srcAspectFlags, (uint)srcLevel, (uint)srcLayer, (uint)layers); @@ -81,6 +95,20 @@ namespace Ryujinx.Graphics.Vulkan layers = Math.Max(1, layers >> 1); } } + + TextureView.InsertImageBarrier( + api, + commandBuffer, + dstImage, + AccessFlags.AccessTransferWriteBit, + TextureStorage.DefaultAccessMask, + PipelineStageFlags.PipelineStageTransferBit, + PipelineStageFlags.PipelineStageAllCommandsBit, + dstAspectFlags, + dstLayer, + dstLevel, + layers, + levels); } public static void Copy( From 52249e50dd9bb358f709e4690a8ce1f6ed1ccc5c Mon Sep 17 00:00:00 2001 From: gdk Date: Wed, 26 Jan 2022 09:36:20 -0300 Subject: [PATCH 050/179] Fix transform feedback on Intel, gl_Position feedback and clears to inexistent depth buffers --- .../CodeGen/Glsl/Declarations.cs | 42 +++++++++++++++++-- Ryujinx.Graphics.Vulkan/PipelineBase.cs | 42 +++++++++---------- Ryujinx.Graphics.Vulkan/PipelineFull.cs | 2 - 3 files changed, 59 insertions(+), 27 deletions(-) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Glsl/Declarations.cs b/Ryujinx.Graphics.Shader/CodeGen/Glsl/Declarations.cs index d99f4df2a..8dcd0ac12 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Glsl/Declarations.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Glsl/Declarations.cs @@ -196,12 +196,36 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl context.Config.Stage != ShaderStage.Fragment && context.Config.TransformFeedbackEnabled) { - var tfOutput = context.GetTransformFeedbackOutput(AttributeConsts.PositionX); - if (tfOutput.Valid) + var tfPosition = context.GetTransformFeedbackOutput(AttributeConsts.PositionX); + var tfPointSize = context.GetTransformFeedbackOutput(AttributeConsts.PointSize); + var tfClipDistance = context.GetTransformFeedbackOutput(AttributeConsts.ClipDistance0); + + if (tfPosition.Valid || tfPointSize.Valid || tfClipDistance.Valid) { - context.AppendLine($"layout (xfb_buffer = {tfOutput.Buffer}, xfb_offset = {tfOutput.Offset}, xfb_stride = {tfOutput.Stride}) out gl_PerVertex"); + context.AppendLine("out gl_PerVertex"); context.EnterScope(); - context.AppendLine("vec4 gl_Position;"); + context.AppendLine($"{GetTfLayout(tfPosition)}vec4 gl_Position;"); + context.AppendLine($"{GetTfLayout(tfPointSize)}float gl_PointSize;"); + + if (tfClipDistance.Valid) + { + int clipDistanceCount = 1; + + for (; clipDistanceCount < 8; clipDistanceCount++) + { + if (!context.GetTransformFeedbackOutput(AttributeConsts.ClipDistance0 + clipDistanceCount).Valid) + { + break; + } + } + + context.AppendLine($"{GetTfLayout(tfClipDistance)}float gl_ClipDistance[{clipDistanceCount}];"); + } + else + { + context.AppendLine("float gl_ClipDistance[];"); + } + context.LeaveScope(context.Config.Stage == ShaderStage.TessellationControl ? " gl_out[];" : ";"); } } @@ -311,6 +335,16 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl } } + private static string GetTfLayout(TransformFeedbackOutput tfOutput) + { + if (tfOutput.Valid) + { + return $"layout (xfb_buffer = {tfOutput.Buffer}, xfb_offset = {tfOutput.Offset}, xfb_stride = {tfOutput.Stride}) "; + } + + return string.Empty; + } + public static void DeclareLocals(CodeGenContext context, StructuredFunction function) { foreach (AstOperand decl in function.Locals) diff --git a/Ryujinx.Graphics.Vulkan/PipelineBase.cs b/Ryujinx.Graphics.Vulkan/PipelineBase.cs index 52790efcb..dd952f82c 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineBase.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineBase.cs @@ -2,7 +2,6 @@ using Ryujinx.Graphics.Shader; using Silk.NET.Vulkan; using System; -using System.Runtime.InteropServices; namespace Ryujinx.Graphics.Vulkan { @@ -62,6 +61,7 @@ namespace Ryujinx.Graphics.Vulkan private bool _needsVertexBuffersRebind; private bool _tfEnabled; + private bool _tfActive; public ulong DrawCount { get; private set; } @@ -128,11 +128,7 @@ namespace Ryujinx.Graphics.Vulkan public void BeginTransformFeedback(GAL.PrimitiveTopology topology) { - if (!_tfEnabled) - { - BeginTransformFeedbackInternal(); - _tfEnabled = true; - } + _tfEnabled = true; } public void ClearBuffer(BufferHandle destination, int offset, int size, uint value) @@ -171,7 +167,7 @@ namespace Ryujinx.Graphics.Vulkan { // TODO: Use stencilMask (fully) - if (_framebuffer == null) + if (_framebuffer == null || !FramebufferParams.HasDepthStencil) { return; } @@ -237,6 +233,7 @@ namespace Ryujinx.Graphics.Vulkan BeginRenderPass(); RecreatePipelineIfNeeded(PipelineBindPoint.Graphics); + ResumeTransformFeedbackInternal(); DrawCount++; if (_topology == GAL.PrimitiveTopology.Quads) @@ -265,6 +262,7 @@ namespace Ryujinx.Graphics.Vulkan BeginRenderPass(); RecreatePipelineIfNeeded(PipelineBindPoint.Graphics); + ResumeTransformFeedbackInternal(); DrawCount++; if (_topology == GAL.PrimitiveTopology.Quads) @@ -334,11 +332,8 @@ namespace Ryujinx.Graphics.Vulkan public void EndTransformFeedback() { - if (_tfEnabled) - { - EndTransformFeedbackInternal(); - _tfEnabled = false; - } + PauseTransformFeedbackInternal(); + _tfEnabled = false; } public void MultiDrawIndirectCount(BufferRange indirectBuffer, BufferRange parameterBuffer, int maxDrawCount, int stride) @@ -355,6 +350,7 @@ namespace Ryujinx.Graphics.Vulkan BeginRenderPass(); RecreatePipelineIfNeeded(PipelineBindPoint.Graphics); + ResumeTransformFeedbackInternal(); DrawCount++; var buffer = Gd.BufferManager.GetBuffer(CommandBuffer, indirectBuffer.Handle, true).Get(Cbs, indirectBuffer.Offset, indirectBuffer.Size).Value; @@ -368,6 +364,8 @@ namespace Ryujinx.Graphics.Vulkan (ulong)parameterBuffer.Offset, (uint)maxDrawCount, (uint)stride); + + PauseTransformFeedbackInternal(); } public void MultiDrawIndexedIndirectCount(BufferRange indirectBuffer, BufferRange parameterBuffer, int maxDrawCount, int stride) @@ -384,6 +382,7 @@ namespace Ryujinx.Graphics.Vulkan BeginRenderPass(); RecreatePipelineIfNeeded(PipelineBindPoint.Graphics); + ResumeTransformFeedbackInternal(); DrawCount++; var buffer = Gd.BufferManager.GetBuffer(CommandBuffer, indirectBuffer.Handle, true).Get(Cbs, indirectBuffer.Offset, indirectBuffer.Size).Value; @@ -397,6 +396,8 @@ namespace Ryujinx.Graphics.Vulkan (ulong)parameterBuffer.Offset, (uint)maxDrawCount, (uint)stride); + + PauseTransformFeedbackInternal(); } public void SetAlphaTest(bool enable, float reference, GAL.CompareOp op) @@ -713,8 +714,6 @@ namespace Ryujinx.Graphics.Vulkan _transformFeedbackBuffers[i] = BufferState.Null; } } - - ResumeTransformFeedbackInternal(); } public void SetUniformBuffers(int first, ReadOnlySpan buffers) @@ -744,7 +743,6 @@ namespace Ryujinx.Graphics.Vulkan } _newState.VertexAttributeDescriptionsCount = (uint)count; - SignalStateChange(); } @@ -789,7 +787,6 @@ namespace Ryujinx.Graphics.Vulkan } _newState.VertexBindingDescriptionsCount = (uint)validCount; - SignalStateChange(); } @@ -1067,7 +1064,6 @@ namespace Ryujinx.Graphics.Vulkan _transformFeedbackBuffers[i].BindTransformFeedbackBuffer(Gd, Cbs, (uint)i); } - ResumeTransformFeedbackInternal(); _needsTransformFeedbackBuffersRebind = false; } @@ -1106,6 +1102,7 @@ namespace Ryujinx.Graphics.Vulkan // _pipeline?.Dispose(); Pipeline = pipeline; + PauseTransformFeedbackInternal(); Gd.Api.CmdBindPipeline(CommandBuffer, pbp, Pipeline.Get(Cbs).Value); } } @@ -1137,25 +1134,28 @@ namespace Ryujinx.Graphics.Vulkan { if (_renderPassActive) { + PauseTransformFeedbackInternal(); // System.Console.WriteLine("render pass ended " + caller); Gd.Api.CmdEndRenderPass(CommandBuffer); _renderPassActive = false; } } - protected void PauseTransformFeedbackInternal() + private void PauseTransformFeedbackInternal() { - if (_tfEnabled) + if (_tfEnabled && _tfActive) { EndTransformFeedbackInternal(); + _tfActive = false; } } - protected void ResumeTransformFeedbackInternal() + private void ResumeTransformFeedbackInternal() { - if (_tfEnabled) + if (_tfEnabled && !_tfActive) { BeginTransformFeedbackInternal(); + _tfActive = true; } } diff --git a/Ryujinx.Graphics.Vulkan/PipelineFull.cs b/Ryujinx.Graphics.Vulkan/PipelineFull.cs index 15a68ea31..e496649b8 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineFull.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineFull.cs @@ -249,7 +249,6 @@ namespace Ryujinx.Graphics.Vulkan // System.Console.WriteLine("flush by " + caller); EndRenderPass(); - PauseTransformFeedbackInternal(); foreach (var queryPool in _activeQueries) { @@ -277,7 +276,6 @@ namespace Ryujinx.Graphics.Vulkan Gd.Api.CmdBeginQuery(CommandBuffer, queryPool, 0, 0); } - ResumeTransformFeedbackInternal(); SignalCommandBufferChange(); } From 5a3695c968bfaff71db169dd54fcfa337908a87d Mon Sep 17 00:00:00 2001 From: gdk Date: Wed, 26 Jan 2022 09:41:06 -0300 Subject: [PATCH 051/179] Don't pause transform feedback for multi draw --- Ryujinx.Graphics.Vulkan/PipelineBase.cs | 4 ---- 1 file changed, 4 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/PipelineBase.cs b/Ryujinx.Graphics.Vulkan/PipelineBase.cs index dd952f82c..379f47573 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineBase.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineBase.cs @@ -364,8 +364,6 @@ namespace Ryujinx.Graphics.Vulkan (ulong)parameterBuffer.Offset, (uint)maxDrawCount, (uint)stride); - - PauseTransformFeedbackInternal(); } public void MultiDrawIndexedIndirectCount(BufferRange indirectBuffer, BufferRange parameterBuffer, int maxDrawCount, int stride) @@ -396,8 +394,6 @@ namespace Ryujinx.Graphics.Vulkan (ulong)parameterBuffer.Offset, (uint)maxDrawCount, (uint)stride); - - PauseTransformFeedbackInternal(); } public void SetAlphaTest(bool enable, float reference, GAL.CompareOp op) From 36b3ab0741b0c36e2de75d69ff654e7922dbd7aa Mon Sep 17 00:00:00 2001 From: gdk Date: Fri, 28 Jan 2022 18:43:28 -0300 Subject: [PATCH 052/179] Fix draw outside of render pass and missing capability --- Ryujinx.Graphics.Vulkan/PipelineBase.cs | 8 ++++---- Ryujinx.Graphics.Vulkan/VulkanInitialization.cs | 9 ++++++++- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/PipelineBase.cs b/Ryujinx.Graphics.Vulkan/PipelineBase.cs index 379f47573..c64b58316 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineBase.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineBase.cs @@ -231,8 +231,8 @@ namespace Ryujinx.Graphics.Vulkan return; } - BeginRenderPass(); RecreatePipelineIfNeeded(PipelineBindPoint.Graphics); + BeginRenderPass(); ResumeTransformFeedbackInternal(); DrawCount++; @@ -260,8 +260,8 @@ namespace Ryujinx.Graphics.Vulkan return; } - BeginRenderPass(); RecreatePipelineIfNeeded(PipelineBindPoint.Graphics); + BeginRenderPass(); ResumeTransformFeedbackInternal(); DrawCount++; @@ -348,8 +348,8 @@ namespace Ryujinx.Graphics.Vulkan return; } - BeginRenderPass(); RecreatePipelineIfNeeded(PipelineBindPoint.Graphics); + BeginRenderPass(); ResumeTransformFeedbackInternal(); DrawCount++; @@ -378,8 +378,8 @@ namespace Ryujinx.Graphics.Vulkan return; } - BeginRenderPass(); RecreatePipelineIfNeeded(PipelineBindPoint.Graphics); + BeginRenderPass(); ResumeTransformFeedbackInternal(); DrawCount++; diff --git a/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs b/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs index 66f36855e..6554386c5 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs @@ -374,10 +374,17 @@ namespace Ryujinx.Graphics.Vulkan ExtendedDynamicState = supportedExtensions.Contains(ExtExtendedDynamicState.ExtensionName) }; + var featuresVk11 = new PhysicalDeviceVulkan11Features() + { + SType = StructureType.PhysicalDeviceVulkan11Features, + PNext = &featuresExtendedDynamicState, + ShaderDrawParameters = true + }; + var featuresVk12 = new PhysicalDeviceVulkan12Features() { SType = StructureType.PhysicalDeviceVulkan12Features, - PNext = &featuresExtendedDynamicState, + PNext = &featuresVk11, DrawIndirectCount = supportedExtensions.Contains(KhrDrawIndirectCount.ExtensionName) }; From 522e7933e81777a9fdf52cc731524508d7eccf4d Mon Sep 17 00:00:00 2001 From: gdk Date: Sat, 29 Jan 2022 03:33:24 -0300 Subject: [PATCH 053/179] Workaround for wrong last attribute on AMD (affects FFVII, STRIKERS1945, probably more) --- Ryujinx.Graphics.Vulkan/BufferManager.cs | 12 ++++++++++++ Ryujinx.Graphics.Vulkan/PipelineBase.cs | 11 +++++++++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/BufferManager.cs b/Ryujinx.Graphics.Vulkan/BufferManager.cs index 8315ba4a0..06e137b42 100644 --- a/Ryujinx.Graphics.Vulkan/BufferManager.cs +++ b/Ryujinx.Graphics.Vulkan/BufferManager.cs @@ -125,6 +125,18 @@ namespace Ryujinx.Graphics.Vulkan return null; } + public Auto GetBufferWithSize(CommandBuffer commandBuffer, BufferHandle handle, bool isWrite, out int size) + { + if (TryGetBuffer(handle, out var holder)) + { + size = holder.Size; + return holder.GetBuffer(commandBuffer, isWrite); + } + + size = 0; + return null; + } + public Auto GetBufferI8ToI16(CommandBufferScoped cbs, BufferHandle handle, int offset, int size) { if (TryGetBuffer(handle, out var holder)) diff --git a/Ryujinx.Graphics.Vulkan/PipelineBase.cs b/Ryujinx.Graphics.Vulkan/PipelineBase.cs index c64b58316..a9880e5ab 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineBase.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineBase.cs @@ -759,7 +759,7 @@ namespace Ryujinx.Graphics.Vulkan if (vertexBuffer.Buffer.Handle != BufferHandle.Null) { - var vb = Gd.BufferManager.GetBuffer(CommandBuffer, vertexBuffer.Buffer.Handle, false); + var vb = Gd.BufferManager.GetBuffer(CommandBuffer, vertexBuffer.Buffer.Handle, false, out int totalBufferSize); if (vb != null) { int binding = i + 1; @@ -770,11 +770,18 @@ namespace Ryujinx.Graphics.Vulkan (uint)vertexBuffer.Stride, inputRate); + int vbSize = vertexBuffer.Buffer.Size; + + if (Gd.Vendor == Vendor.Amd) + { + vbSize = totalBufferSize; + } + _vertexBuffers[binding].Dispose(); _vertexBuffers[binding] = new BufferState( vb, vertexBuffer.Buffer.Offset, - vertexBuffer.Buffer.Size, + vbSize, (ulong)vertexBuffer.Stride); _vertexBuffers[binding].BindVertexBuffer(Gd, Cbs, (uint)binding); From 9b779adf57e21678c78768eb1871b758e9a45a88 Mon Sep 17 00:00:00 2001 From: gdk Date: Sat, 29 Jan 2022 04:03:43 -0300 Subject: [PATCH 054/179] Better workaround for AMD vertex buffer size alignment issue --- Ryujinx.Graphics.Vulkan/BufferManager.cs | 12 ------------ Ryujinx.Graphics.Vulkan/PipelineBase.cs | 13 ++++++++++--- 2 files changed, 10 insertions(+), 15 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/BufferManager.cs b/Ryujinx.Graphics.Vulkan/BufferManager.cs index 06e137b42..8315ba4a0 100644 --- a/Ryujinx.Graphics.Vulkan/BufferManager.cs +++ b/Ryujinx.Graphics.Vulkan/BufferManager.cs @@ -125,18 +125,6 @@ namespace Ryujinx.Graphics.Vulkan return null; } - public Auto GetBufferWithSize(CommandBuffer commandBuffer, BufferHandle handle, bool isWrite, out int size) - { - if (TryGetBuffer(handle, out var holder)) - { - size = holder.Size; - return holder.GetBuffer(commandBuffer, isWrite); - } - - size = 0; - return null; - } - public Auto GetBufferI8ToI16(CommandBufferScoped cbs, BufferHandle handle, int offset, int size) { if (TryGetBuffer(handle, out var holder)) diff --git a/Ryujinx.Graphics.Vulkan/PipelineBase.cs b/Ryujinx.Graphics.Vulkan/PipelineBase.cs index a9880e5ab..6c1f12f0f 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineBase.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineBase.cs @@ -759,7 +759,7 @@ namespace Ryujinx.Graphics.Vulkan if (vertexBuffer.Buffer.Handle != BufferHandle.Null) { - var vb = Gd.BufferManager.GetBuffer(CommandBuffer, vertexBuffer.Buffer.Handle, false, out int totalBufferSize); + var vb = Gd.BufferManager.GetBuffer(CommandBuffer, vertexBuffer.Buffer.Handle, false); if (vb != null) { int binding = i + 1; @@ -772,9 +772,16 @@ namespace Ryujinx.Graphics.Vulkan int vbSize = vertexBuffer.Buffer.Size; - if (Gd.Vendor == Vendor.Amd) + if (Gd.Vendor == Vendor.Amd && vertexBuffer.Stride > 0) { - vbSize = totalBufferSize; + // AMD has a bug where if offset + stride * count is greater than + // the size, then the last attribute will have the wrong value. + // As a workaround, simply use the full buffer size. + int remainder = vbSize % vertexBuffer.Stride; + if (remainder != 0) + { + vbSize += vertexBuffer.Stride - remainder; + } } _vertexBuffers[binding].Dispose(); From 7347642c05ad3676c4037ac1aa482948e0810f60 Mon Sep 17 00:00:00 2001 From: gdk Date: Sun, 13 Feb 2022 12:54:44 -0300 Subject: [PATCH 055/179] More instructions + fixes on SPIR-V backend --- .../CodeGen/Spirv/Declarations.cs | 3 + .../CodeGen/Spirv/Instructions.cs | 204 ++++++++++++++---- .../CodeGen/Spirv/TextureMeta.cs | 4 +- .../Translation/AttributeInfo.cs | 3 + 4 files changed, 166 insertions(+), 48 deletions(-) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs index bf2172218..b097f64b9 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs @@ -457,6 +457,9 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv AttributeConsts.ThreadIdX => BuiltIn.LocalInvocationId, AttributeConsts.CtaIdX => BuiltIn.WorkgroupId, AttributeConsts.LaneId => BuiltIn.SubgroupLocalInvocationId, + AttributeConsts.InvocationId => BuiltIn.InvocationId, + AttributeConsts.PrimitiveId => BuiltIn.PrimitiveId, + AttributeConsts.PatchVerticesIn => BuiltIn.PatchVertices, AttributeConsts.EqMask => BuiltIn.SubgroupEqMask, AttributeConsts.GeMask => BuiltIn.SubgroupGeMask, AttributeConsts.GtMask => BuiltIn.SubgroupGtMask, diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs index 351d29b13..8ac25580d 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs @@ -59,11 +59,15 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv Add(Instruction.CompareNotEqual, GenerateCompareNotEqual); Add(Instruction.ConditionalSelect, GenerateConditionalSelect); Add(Instruction.ConvertFP32ToFP64, GenerateConvertFP32ToFP64); - Add(Instruction.ConvertFP64ToFP32, GenerateConvertFP64ToFP32); Add(Instruction.ConvertFP32ToS32, GenerateConvertFP32ToS32); Add(Instruction.ConvertFP32ToU32, GenerateConvertFP32ToU32); + Add(Instruction.ConvertFP64ToFP32, GenerateConvertFP64ToFP32); + Add(Instruction.ConvertFP64ToS32, GenerateConvertFP64ToS32); + Add(Instruction.ConvertFP64ToU32, GenerateConvertFP64ToU32); Add(Instruction.ConvertS32ToFP32, GenerateConvertS32ToFP32); + Add(Instruction.ConvertS32ToFP64, GenerateConvertS32ToFP64); Add(Instruction.ConvertU32ToFP32, GenerateConvertU32ToFP32); + Add(Instruction.ConvertU32ToFP64, GenerateConvertU32ToFP64); Add(Instruction.Cosine, GenerateCosine); Add(Instruction.Ddx, GenerateDdx); Add(Instruction.Ddy, GenerateDdy); @@ -76,6 +80,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv Add(Instruction.Floor, GenerateFloor); Add(Instruction.FusedMultiplyAdd, GenerateFusedMultiplyAdd); Add(Instruction.GroupMemoryBarrier, GenerateGroupMemoryBarrier); + Add(Instruction.ImageAtomic, GenerateImageAtomic); Add(Instruction.ImageLoad, GenerateImageLoad); Add(Instruction.ImageStore, GenerateImageStore); Add(Instruction.IsNan, GenerateIsNan); @@ -97,6 +102,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv Add(Instruction.MinimumU32, GenerateMinimumU32); Add(Instruction.Multiply, GenerateMultiply); Add(Instruction.Negate, GenerateNegate); + Add(Instruction.PackDouble2x32, GeneratePackDouble2x32); Add(Instruction.PackHalf2x16, GeneratePackHalf2x16); Add(Instruction.ReciprocalSquareRoot, GenerateReciprocalSquareRoot); Add(Instruction.Return, GenerateReturn); @@ -117,6 +123,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv Add(Instruction.TextureSample, GenerateTextureSample); Add(Instruction.TextureSize, GenerateTextureSize); Add(Instruction.Truncate, GenerateTruncate); + Add(Instruction.UnpackDouble2x32, GenerateUnpackDouble2x32); Add(Instruction.UnpackHalf2x16, GenerateUnpackHalf2x16); Add(Instruction.VoteAll, GenerateVoteAll); Add(Instruction.VoteAllEqual, GenerateVoteAllEqual); @@ -403,6 +410,20 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv return new OperationResult(AggregateType.FP64, context.FConvert(context.TypeFP64(), context.GetFP32(source))); } + private static OperationResult GenerateConvertFP32ToS32(CodeGenContext context, AstOperation operation) + { + var source = operation.GetSource(0); + + return new OperationResult(AggregateType.S32, context.ConvertFToS(context.TypeS32(), context.GetFP32(source))); + } + + private static OperationResult GenerateConvertFP32ToU32(CodeGenContext context, AstOperation operation) + { + var source = operation.GetSource(0); + + return new OperationResult(AggregateType.U32, context.ConvertFToU(context.TypeU32(), context.GetFP32(source))); + } + private static OperationResult GenerateConvertFP64ToFP32(CodeGenContext context, AstOperation operation) { var source = operation.GetSource(0); @@ -410,60 +431,46 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv return new OperationResult(AggregateType.FP32, context.FConvert(context.TypeFP32(), context.GetFP64(source))); } - private static OperationResult GenerateConvertFP32ToS32(CodeGenContext context, AstOperation operation) + private static OperationResult GenerateConvertFP64ToS32(CodeGenContext context, AstOperation operation) { var source = operation.GetSource(0); - if (operation.Inst.HasFlag(Instruction.FP64)) - { - return new OperationResult(AggregateType.S32, context.ConvertFToS(context.TypeS32(), context.GetFP64(source))); - } - else - { - return new OperationResult(AggregateType.S32, context.ConvertFToS(context.TypeS32(), context.GetFP32(source))); - } + return new OperationResult(AggregateType.S32, context.ConvertFToS(context.TypeS32(), context.GetFP64(source))); } - private static OperationResult GenerateConvertFP32ToU32(CodeGenContext context, AstOperation operation) + private static OperationResult GenerateConvertFP64ToU32(CodeGenContext context, AstOperation operation) { var source = operation.GetSource(0); - if (operation.Inst.HasFlag(Instruction.FP64)) - { - return new OperationResult(AggregateType.U32, context.ConvertFToU(context.TypeU32(), context.GetFP64(source))); - } - else - { - return new OperationResult(AggregateType.U32, context.ConvertFToU(context.TypeU32(), context.GetFP32(source))); - } + return new OperationResult(AggregateType.U32, context.ConvertFToU(context.TypeU32(), context.GetFP64(source))); } private static OperationResult GenerateConvertS32ToFP32(CodeGenContext context, AstOperation operation) { var source = operation.GetSource(0); - if (operation.Inst.HasFlag(Instruction.FP64)) - { - return new OperationResult(AggregateType.FP64, context.ConvertSToF(context.TypeFP64(), context.GetS32(source))); - } - else - { - return new OperationResult(AggregateType.FP32, context.ConvertSToF(context.TypeFP32(), context.GetS32(source))); - } + return new OperationResult(AggregateType.FP32, context.ConvertSToF(context.TypeFP32(), context.GetS32(source))); + } + + private static OperationResult GenerateConvertS32ToFP64(CodeGenContext context, AstOperation operation) + { + var source = operation.GetSource(0); + + return new OperationResult(AggregateType.FP64, context.ConvertSToF(context.TypeFP64(), context.GetS32(source))); } private static OperationResult GenerateConvertU32ToFP32(CodeGenContext context, AstOperation operation) { var source = operation.GetSource(0); - if (operation.Inst.HasFlag(Instruction.FP64)) - { - return new OperationResult(AggregateType.FP64, context.ConvertUToF(context.TypeFP64(), context.GetU32(source))); - } - else - { - return new OperationResult(AggregateType.FP32, context.ConvertUToF(context.TypeFP32(), context.GetU32(source))); - } + return new OperationResult(AggregateType.FP32, context.ConvertUToF(context.TypeFP32(), context.GetU32(source))); + } + + private static OperationResult GenerateConvertU32ToFP64(CodeGenContext context, AstOperation operation) + { + var source = operation.GetSource(0); + + return new OperationResult(AggregateType.FP64, context.ConvertUToF(context.TypeFP64(), context.GetU32(source))); } private static OperationResult GenerateCosine(CodeGenContext context, AstOperation operation) @@ -531,6 +538,100 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv return OperationResult.Invalid; } + private static OperationResult GenerateImageAtomic(CodeGenContext context, AstOperation operation) + { + AstTextureOperation texOp = (AstTextureOperation)operation; + + bool isBindless = (texOp.Flags & TextureFlags.Bindless) != 0; + + var componentType = texOp.Format.GetComponentType(); + + // TODO: Bindless texture support. For now we just return 0/do nothing. + if (isBindless) + { + return new OperationResult(componentType.Convert(), componentType switch + { + VariableType.S32 => context.Constant(context.TypeS32(), 0), + VariableType.U32 => context.Constant(context.TypeU32(), 0u), + _ => context.Constant(context.TypeFP32(), 0f), + }); + } + + bool isArray = (texOp.Type & SamplerType.Array) != 0; + bool isIndexed = (texOp.Type & SamplerType.Indexed) != 0; + + int srcIndex = isBindless ? 1 : 0; + + SpvInstruction Src(AggregateType type) + { + return context.Get(type, texOp.GetSource(srcIndex++)); + } + + SpvInstruction index = null; + + if (isIndexed) + { + index = Src(AggregateType.S32); + } + + int coordsCount = texOp.Type.GetDimensions(); + + int pCount = coordsCount + (isArray ? 1 : 0); + + SpvInstruction pCoords; + + if (pCount > 1) + { + SpvInstruction[] elems = new SpvInstruction[pCount]; + + for (int i = 0; i < pCount; i++) + { + elems[i] = Src(AggregateType.S32); + } + + var vectorType = context.TypeVector(context.TypeS32(), pCount); + pCoords = context.CompositeConstruct(vectorType, elems); + } + else + { + pCoords = Src(AggregateType.S32); + } + + SpvInstruction value = Src(componentType.Convert()); + + (var imageType, var imageVariable) = context.Images[new TextureMeta(texOp.CbufSlot, texOp.Handle, texOp.Format, texOp.Type)]; + + var image = context.Load(imageType, imageVariable); + + SpvInstruction resultType = context.GetType(componentType.Convert()); + SpvInstruction imagePointerType = context.TypePointer(StorageClass.Image, resultType); + + var pointer = context.ImageTexelPointer(imagePointerType, imageVariable, pCoords, context.Constant(context.TypeU32(), 0)); + var one = context.Constant(context.TypeU32(), 1); + var zero = context.Constant(context.TypeU32(), 0); + + var result = (texOp.Flags & TextureFlags.AtomicMask) switch + { + TextureFlags.Add => context.AtomicIAdd(resultType, pointer, one, zero, value), + TextureFlags.Minimum => componentType == VariableType.S32 + ? context.AtomicSMin(resultType, pointer, one, zero, value) + : context.AtomicUMin(resultType, pointer, one, zero, value), + TextureFlags.Maximum => componentType == VariableType.S32 + ? context.AtomicSMax(resultType, pointer, one, zero, value) + : context.AtomicUMax(resultType, pointer, one, zero, value), + TextureFlags.Increment => context.AtomicIIncrement(resultType, pointer, one, zero), + TextureFlags.Decrement => context.AtomicIDecrement(resultType, pointer, one, zero), + TextureFlags.BitwiseAnd => context.AtomicAnd(resultType, pointer, one, zero, value), + TextureFlags.BitwiseOr => context.AtomicOr(resultType, pointer, one, zero, value), + TextureFlags.BitwiseXor => context.AtomicXor(resultType, pointer, one, zero, value), + TextureFlags.Swap => context.AtomicExchange(resultType, pointer, one, zero, value), + TextureFlags.CAS => context.AtomicCompareExchange(resultType, pointer, one, zero, zero, Src(componentType.Convert()), value), + _ => context.AtomicIAdd(resultType, pointer, one, zero, value), + }; + + return new OperationResult(componentType.Convert(), result); + } + private static OperationResult GenerateImageLoad(CodeGenContext context, AstOperation operation) { AstTextureOperation texOp = (AstTextureOperation)operation; @@ -898,6 +999,16 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv return GenerateUnary(context, operation, context.FNegate, context.SNegate); } + private static OperationResult GeneratePackDouble2x32(CodeGenContext context, AstOperation operation) + { + var value0 = context.GetU32(operation.GetSource(0)); + var value1 = context.GetU32(operation.GetSource(1)); + var vector = context.CompositeConstruct(context.TypeVector(context.TypeU32(), 2), value0, value1); + var result = context.GlslPackDouble2x32(context.TypeFP64(), vector); + + return new OperationResult(AggregateType.FP64, result); + } + private static OperationResult GeneratePackHalf2x16(CodeGenContext context, AstOperation operation) { var value0 = context.GetFP32(operation.GetSource(0)); @@ -983,7 +1094,6 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv var segMask = context.BitwiseAnd(context.TypeU32(), context.ShiftRightLogical(context.TypeU32(), mask, const8), const31); var notSegMask = context.Not(context.TypeU32(), segMask); var clampNotSegMask = context.BitwiseAnd(context.TypeU32(), clamp, notSegMask); - var indexNotSegMask = context.BitwiseAnd(context.TypeU32(), index, notSegMask); var threadId = context.GetAttribute(AggregateType.U32, new AstOperand(OperandType.Attribute, AttributeConsts.LaneId), false); @@ -1010,17 +1120,13 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv var const31 = context.Constant(context.TypeU32(), 31); var const8 = context.Constant(context.TypeU32(), 8); - var clamp = context.BitwiseAnd(context.TypeU32(), mask, const31); var segMask = context.BitwiseAnd(context.TypeU32(), context.ShiftRightLogical(context.TypeU32(), mask, const8), const31); - var notSegMask = context.Not(context.TypeU32(), segMask); - var clampNotSegMask = context.BitwiseAnd(context.TypeU32(), clamp, notSegMask); - var indexNotSegMask = context.BitwiseAnd(context.TypeU32(), index, notSegMask); var threadId = context.GetAttribute(AggregateType.U32, new AstOperand(OperandType.Attribute, AttributeConsts.LaneId), false); var minThreadId = context.BitwiseAnd(context.TypeU32(), threadId, segMask); var srcThreadId = context.ISub(context.TypeU32(), threadId, index); - var valid = context.UGreaterThanEqual(context.TypeBool(), srcThreadId, minThreadId); + var valid = context.SGreaterThanEqual(context.TypeBool(), srcThreadId, minThreadId); var value = context.SubgroupReadInvocationKHR(context.TypeFP32(), x, srcThreadId); var result = context.Select(context.TypeFP32(), valid, value, x); @@ -1044,7 +1150,6 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv var segMask = context.BitwiseAnd(context.TypeU32(), context.ShiftRightLogical(context.TypeU32(), mask, const8), const31); var notSegMask = context.Not(context.TypeU32(), segMask); var clampNotSegMask = context.BitwiseAnd(context.TypeU32(), clamp, notSegMask); - var indexNotSegMask = context.BitwiseAnd(context.TypeU32(), index, notSegMask); var threadId = context.GetAttribute(AggregateType.U32, new AstOperand(OperandType.Attribute, AttributeConsts.LaneId), false); @@ -1336,10 +1441,8 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv else if (hasOffsets) { operandsMask |= ImageOperandsMask.ConstOffsets; - operandsList.Add(offsets[0]); - operandsList.Add(offsets[1]); - operandsList.Add(offsets[2]); - operandsList.Add(offsets[3]); + SpvInstruction arrayv2 = context.TypeArray(context.TypeVector(context.TypeS32(), 2), context.Constant(context.TypeU32(), 4)); + operandsList.Add(context.CompositeConstruct(arrayv2, offsets[0], offsets[1], offsets[2], offsets[3])); } if (isMultisample) @@ -1464,6 +1567,15 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv return GenerateUnary(context, operation, context.GlslTrunc, null); } + private static OperationResult GenerateUnpackDouble2x32(CodeGenContext context, AstOperation operation) + { + var value = context.GetFP64(operation.GetSource(0)); + var vector = context.GlslUnpackDouble2x32(context.TypeVector(context.TypeU32(), 2), value); + var result = context.CompositeExtract(context.TypeU32(), vector, operation.Index); + + return new OperationResult(AggregateType.U32, result); + } + private static OperationResult GenerateUnpackHalf2x16(CodeGenContext context, AstOperation operation) { var value = context.GetU32(operation.GetSource(0)); diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/TextureMeta.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/TextureMeta.cs index 7d4aaa436..9c684d858 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/TextureMeta.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/TextureMeta.cs @@ -24,12 +24,12 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv public bool Equals(TextureMeta other) { - return Handle == other.Handle && Type == other.Type; + return CbufSlot == other.CbufSlot && Handle == other.Handle && Format == other.Format && Type == other.Type; } public override int GetHashCode() { - return HashCode.Combine(Handle, Type); + return HashCode.Combine(CbufSlot, Handle, Format, Type); } } } \ No newline at end of file diff --git a/Ryujinx.Graphics.Shader/Translation/AttributeInfo.cs b/Ryujinx.Graphics.Shader/Translation/AttributeInfo.cs index 2b909cdfa..c39e655e4 100644 --- a/Ryujinx.Graphics.Shader/Translation/AttributeInfo.cs +++ b/Ryujinx.Graphics.Shader/Translation/AttributeInfo.cs @@ -40,6 +40,9 @@ namespace Ryujinx.Graphics.Shader.Translation { AttributeConsts.CtaIdY, new AttributeInfo(AttributeConsts.CtaIdX, 1, 3, AggregateType.Vector | AggregateType.U32) }, { AttributeConsts.CtaIdZ, new AttributeInfo(AttributeConsts.CtaIdX, 2, 3, AggregateType.Vector | AggregateType.U32) }, { AttributeConsts.LaneId, new AttributeInfo(AttributeConsts.LaneId, 0, 1, AggregateType.U32) }, + { AttributeConsts.InvocationId, new AttributeInfo(AttributeConsts.InvocationId, 0, 1, AggregateType.S32) }, + { AttributeConsts.PrimitiveId, new AttributeInfo(AttributeConsts.PrimitiveId, 0, 1, AggregateType.S32) }, + { AttributeConsts.PatchVerticesIn, new AttributeInfo(AttributeConsts.PatchVerticesIn, 0, 1, AggregateType.S32) }, { AttributeConsts.EqMask, new AttributeInfo(AttributeConsts.EqMask, 0, 4, AggregateType.Vector | AggregateType.U32) }, { AttributeConsts.GeMask, new AttributeInfo(AttributeConsts.GeMask, 0, 4, AggregateType.Vector | AggregateType.U32) }, { AttributeConsts.GtMask, new AttributeInfo(AttributeConsts.GtMask, 0, 4, AggregateType.Vector | AggregateType.U32) }, From f1a1f477ef6c6a691009eca5a64a6b43a028c097 Mon Sep 17 00:00:00 2001 From: gdk Date: Sun, 13 Feb 2022 13:05:54 -0300 Subject: [PATCH 056/179] Allow custom aspect ratio on Vulkan --- Ryujinx.Graphics.Vulkan/Window.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/Window.cs b/Ryujinx.Graphics.Vulkan/Window.cs index fafc3206a..505b86a40 100644 --- a/Ryujinx.Graphics.Vulkan/Window.cs +++ b/Ryujinx.Graphics.Vulkan/Window.cs @@ -293,8 +293,8 @@ namespace Ryujinx.Graphics.Vulkan ScreenCaptureRequested = false; } - float ratioX = MathF.Min(1f, (_height * (float)SurfaceWidth) / ((float)SurfaceHeight * _width)); - float ratioY = MathF.Min(1f, (_width * (float)SurfaceHeight) / ((float)SurfaceWidth * _height)); + float ratioX = crop.IsStretched ? 1.0f : MathF.Min(1.0f, _height * crop.AspectRatioX / (_width * crop.AspectRatioY)); + float ratioY = crop.IsStretched ? 1.0f : MathF.Min(1.0f, _width * crop.AspectRatioY / (_height * crop.AspectRatioX)); int dstWidth = (int)(_width * ratioX); int dstHeight = (int)(_height * ratioY); From be36f6fa5b0a2c5c6322487c3ac1ace96bdc65b7 Mon Sep 17 00:00:00 2001 From: gdk Date: Sun, 13 Feb 2022 13:10:53 -0300 Subject: [PATCH 057/179] Correct GTK UI status bar positions --- Ryujinx/Ui/MainWindow.glade | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Ryujinx/Ui/MainWindow.glade b/Ryujinx/Ui/MainWindow.glade index d3d748783..3c318a76d 100644 --- a/Ryujinx/Ui/MainWindow.glade +++ b/Ryujinx/Ui/MainWindow.glade @@ -785,7 +785,7 @@ False True - 10 + 12 @@ -796,7 +796,7 @@ False True - 11 + 13 @@ -810,7 +810,7 @@ True True - 12 + 14 From a2e4b4b6d80aa990ec171a22b597a96f4bf5f9d3 Mon Sep 17 00:00:00 2001 From: gdk Date: Sun, 13 Feb 2022 16:33:21 -0300 Subject: [PATCH 058/179] SPIR-V: Functions must always end with a return --- Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs index 1cd965813..c74d6d30f 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs @@ -84,6 +84,12 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv Generate(context, function.MainBlock); + // Functions must always end with a return. + if (!(function.MainBlock.Last is AstOperation operation) || operation.Inst != Instruction.Return) + { + context.Return(); + } + context.FunctionEnd(); if (funcIndex == 0) From 97b179696b456c752f70dbbf1fc7641a29a24f08 Mon Sep 17 00:00:00 2001 From: gdk Date: Sun, 13 Feb 2022 20:14:46 -0300 Subject: [PATCH 059/179] SPIR-V: Fix ImageQuerySizeLod --- .../CodeGen/Spirv/Instructions.cs | 3 ++- .../CodeGen/Spirv/SpirvGenerator.cs | 1 + .../Translation/EmitterContext.cs | 2 +- Spv.Generator/spirv.cs | 15 ++++++++------- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs index 8ac25580d..f5d9e70db 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs @@ -1539,9 +1539,10 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv var meta = new TextureMeta(texOp.CbufSlot, texOp.Handle, texOp.Format, texOp.Type); - (_, var sampledImageType, var sampledImageVariable) = context.Samplers[meta]; + (var imageType, var sampledImageType, var sampledImageVariable) = context.Samplers[meta]; var image = context.Load(sampledImageType, sampledImageVariable); + image = context.Image(imageType, image); if (texOp.Index == 3) { diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs index c74d6d30f..203226338 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs @@ -25,6 +25,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv context.AddCapability(Capability.GroupNonUniformBallot); context.AddCapability(Capability.ImageBuffer); + context.AddCapability(Capability.ImageQuery); context.AddCapability(Capability.SampledBuffer); context.AddCapability(Capability.SubgroupBallotKHR); context.AddCapability(Capability.SubgroupVoteKHR); diff --git a/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs b/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs index 237a66aa2..3f59eee35 100644 --- a/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs +++ b/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs @@ -234,7 +234,7 @@ namespace Ryujinx.Graphics.Shader.Translation } else if (Config.Stage == ShaderStage.Fragment) { - bool supportsBgra = Config.GpuAccessor.QueryHostSupportsBgraFormat(); + bool supportsBgra = true; // Config.GpuAccessor.QueryHostSupportsBgraFormat(); if (Config.OmapDepth) { diff --git a/Spv.Generator/spirv.cs b/Spv.Generator/spirv.cs index 6152cc182..df28438bb 100644 --- a/Spv.Generator/spirv.cs +++ b/Spv.Generator/spirv.cs @@ -1,19 +1,19 @@ // Copyright (c) 2014-2020 The Khronos Group Inc. -// +// // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and/or associated documentation files (the "Materials"), // to deal in the Materials without restriction, including without limitation // the rights to use, copy, modify, merge, publish, distribute, sublicense, // and/or sell copies of the Materials, and to permit persons to whom the // Materials are furnished to do so, subject to the following conditions: -// +// // The above copyright notice and this permission notice shall be included in // all copies or substantial portions of the Materials. -// +// // MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS // STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND -// HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ -// +// HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ +// // THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL @@ -27,7 +27,7 @@ // Enumeration tokens for SPIR-V, in various styles: // C, C++, C++11, JSON, Lua, Python, C#, D -// +// // - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL // - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL // - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL @@ -36,7 +36,7 @@ // - C# will use enum classes in the Specification class located in the "Spv" namespace, // e.g.: Spv.Specification.SourceLanguage.GLSL // - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL -// +// // Some tokens act like mask values, which can be OR'd together, // while others are mutually exclusive. The mask-like ones have // "Mask" in their name, and a parallel enum that has the shift @@ -362,6 +362,7 @@ namespace Spv VolatileTexelKHR = 0x00000800, SignExtend = 0x00001000, ZeroExtend = 0x00002000, + Offsets = 0x00010000, } public enum FPFastMathModeShift From aa0913838d1f3d113324a512a417542ffe08ddbc Mon Sep 17 00:00:00 2001 From: gdk Date: Sun, 13 Feb 2022 21:53:23 -0300 Subject: [PATCH 060/179] SPIR-V: Set DepthReplacing execution mode when FragDepth is modified --- Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs index 203226338..1a2157f24 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs @@ -102,6 +102,11 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv context.AddExecutionMode(spvFunc, context.Config.Options.TargetApi == TargetApi.Vulkan ? ExecutionMode.OriginUpperLeft : ExecutionMode.OriginLowerLeft); + + if (context.Outputs.ContainsKey(AttributeConsts.FragmentOutputDepth)) + { + context.AddExecutionMode(spvFunc, ExecutionMode.DepthReplacing); + } } else if (context.Config.Stage == ShaderStage.Compute) { From 3c949309e5be903ccd0bbdc8e467470dbecf4519 Mon Sep 17 00:00:00 2001 From: gdk Date: Sun, 13 Feb 2022 23:00:20 -0300 Subject: [PATCH 061/179] SPIR-V: Implement LoopContinue IR instruction --- .../CodeGen/Spirv/CodeGenContext.cs | 2 ++ .../CodeGen/Spirv/Instructions.cs | 16 ++++++++++++++++ .../CodeGen/Spirv/SpirvGenerator.cs | 3 +++ 3 files changed, 21 insertions(+) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs index 46841d48a..84de8bd6e 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs @@ -57,6 +57,8 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv private readonly Dictionary _labels = new Dictionary(); + public Dictionary LoopTargets { get; set; } + public AstBlock CurrentBlock { get; private set; } public CodeGenContext(ShaderConfig config) : base(0x00010300) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs index f5d9e70db..3375e8d64 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs @@ -95,6 +95,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv Add(Instruction.LogicalNot, GenerateLogicalNot); Add(Instruction.LogicalOr, GenerateLogicalOr); Add(Instruction.LoopBreak, GenerateLoopBreak); + Add(Instruction.LoopContinue, GenerateLoopContinue); Add(Instruction.Maximum, GenerateMaximum); Add(Instruction.MaximumU32, GenerateMaximumU32); Add(Instruction.MemoryBarrier, GenerateMemoryBarrier); @@ -963,6 +964,21 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv return OperationResult.Invalid; } + private static OperationResult GenerateLoopContinue(CodeGenContext context, AstOperation operation) + { + AstBlock loopBlock = context.CurrentBlock; + while (loopBlock.Type != AstBlockType.DoWhile) + { + loopBlock = loopBlock.Parent; + } + + (var loopTarget, var continueTarget) = context.LoopTargets[loopBlock]; + + context.Branch(continueTarget); + + return OperationResult.Invalid; + } + private static OperationResult GenerateMaximum(CodeGenContext context, AstOperation operation) { return GenerateBinary(context, operation, context.GlslFMax, context.GlslSMax); diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs index 1a2157f24..67caa18e9 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs @@ -130,6 +130,8 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv var loopTargets = new Dictionary(); + context.LoopTargets = loopTargets; + visitor.BlockEntered += (sender, e) => { AstBlock mergeBlock = e.Block.Parent; @@ -192,6 +194,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv bool lastIsCf = e.Block.Last is AstOperation lastOp && (lastOp.Inst == Instruction.Discard || lastOp.Inst == Instruction.LoopBreak || + lastOp.Inst == Instruction.LoopContinue || lastOp.Inst == Instruction.Return); if (!lastIsCf) From bd56998f4d670c15cae58eecd0a15dc3cb2ab062 Mon Sep 17 00:00:00 2001 From: gdk Date: Sun, 13 Feb 2022 23:03:06 -0300 Subject: [PATCH 062/179] Re-enable BGRA (was not supposed to disable it) --- Ryujinx.Graphics.Shader/Translation/EmitterContext.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs b/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs index 3f59eee35..237a66aa2 100644 --- a/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs +++ b/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs @@ -234,7 +234,7 @@ namespace Ryujinx.Graphics.Shader.Translation } else if (Config.Stage == ShaderStage.Fragment) { - bool supportsBgra = true; // Config.GpuAccessor.QueryHostSupportsBgraFormat(); + bool supportsBgra = Config.GpuAccessor.QueryHostSupportsBgraFormat(); if (Config.OmapDepth) { From e1d73cc5605f7793eca5d2576df42244640596d2 Mon Sep 17 00:00:00 2001 From: gdk Date: Mon, 14 Feb 2022 15:53:35 -0300 Subject: [PATCH 063/179] SPIR-V: Geometry shader support --- Ryujinx.Graphics.Gpu/Constants.cs | 2 +- .../Engine/Threed/ThreedClassState.cs | 4 +- Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs | 2 +- .../CodeGen/Glsl/OperandManager.cs | 14 +----- .../CodeGen/Spirv/CodeGenContext.cs | 47 ++++++++++++++----- .../CodeGen/Spirv/Declarations.cs | 15 +++--- .../CodeGen/Spirv/Instructions.cs | 42 ++++++++++++++--- .../CodeGen/Spirv/SpirvGenerator.cs | 42 ++++++++++++++++- .../StructuredIr/StructuredProgram.cs | 12 +++++ .../StructuredIr/StructuredProgramContext.cs | 2 +- .../Translation/AttributeInfo.cs | 15 +++++- .../Translation/EmitterContext.cs | 4 +- 12 files changed, 150 insertions(+), 51 deletions(-) diff --git a/Ryujinx.Graphics.Gpu/Constants.cs b/Ryujinx.Graphics.Gpu/Constants.cs index 455029f54..1738fddf7 100644 --- a/Ryujinx.Graphics.Gpu/Constants.cs +++ b/Ryujinx.Graphics.Gpu/Constants.cs @@ -69,7 +69,7 @@ namespace Ryujinx.Graphics.Gpu /// /// Maximum number of vertex attributes. /// - public const int TotalVertexAttribs = 16; + public const int TotalVertexAttribs = 16; // FIXME: Should be 32, but OpenGL only supports 16. /// /// Maximum number of vertex buffers. diff --git a/Ryujinx.Graphics.Gpu/Engine/Threed/ThreedClassState.cs b/Ryujinx.Graphics.Gpu/Engine/Threed/ThreedClassState.cs index 172e8c370..26260ce59 100644 --- a/Ryujinx.Graphics.Gpu/Engine/Threed/ThreedClassState.cs +++ b/Ryujinx.Graphics.Gpu/Engine/Threed/ThreedClassState.cs @@ -768,8 +768,8 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed public fixed uint Reserved10B0[18]; public uint ClearFlags; public fixed uint Reserved10FC[25]; - public Array16 VertexAttribState; - public fixed uint Reserved11A0[31]; + public Array32 VertexAttribState; + public fixed uint Reserved11E0[15]; public RtControl RtControl; public fixed uint Reserved1220[2]; public Size3D RtDepthStencilSize; diff --git a/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs b/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs index 9ffece6a2..8cacd8956 100644 --- a/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs +++ b/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs @@ -261,7 +261,7 @@ namespace Ryujinx.Graphics.Gpu.Shader return gpShaders; } - AttributeType[] attributeTypes = new AttributeType[Constants.TotalVertexAttribs]; + AttributeType[] attributeTypes = new AttributeType[32]; for (int location = 0; location < attributeTypes.Length; location++) { diff --git a/Ryujinx.Graphics.Shader/CodeGen/Glsl/OperandManager.cs b/Ryujinx.Graphics.Shader/CodeGen/Glsl/OperandManager.cs index c5d60ee16..74dfd0236 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Glsl/OperandManager.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Glsl/OperandManager.cs @@ -275,7 +275,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl string name = builtInAttr.Name; - if (!perPatch && IsArrayAttribute(config.Stage, isOutAttr) && IsArrayBuiltIn(value)) + if (!perPatch && IsArrayAttribute(config.Stage, isOutAttr) && AttributeInfo.IsArrayBuiltIn(value)) { name = isOutAttr ? $"gl_out[gl_InvocationID].{name}" : $"gl_in[{indexExpr}].{name}"; } @@ -317,18 +317,6 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl } } - private static bool IsArrayBuiltIn(int attr) - { - if (attr <= AttributeConsts.TessLevelInner1 || - attr == AttributeConsts.TessCoordX || - attr == AttributeConsts.TessCoordY) - { - return false; - } - - return (attr & AttributeConsts.SpecialMask) == 0; - } - public static string GetUbName(ShaderStage stage, int slot, bool cbIndexable) { if (cbIndexable) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs index 84de8bd6e..28d0aeab7 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs @@ -15,6 +15,8 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv { public ShaderConfig Config { get; } + public int InputVertices { get; } + public Dictionary UniformBuffers { get; } = new Dictionary(); public Instruction StorageBuffersArray { get; set; } public Instruction LocalMemory { get; set; } @@ -65,6 +67,21 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv { Config = config; + if (config.Stage == ShaderStage.Geometry) + { + InputTopology inPrimitive = config.GpuAccessor.QueryPrimitiveTopology(); + + InputVertices = inPrimitive switch + { + InputTopology.Points => 1, + InputTopology.Lines => 2, + InputTopology.LinesAdjacency => 2, + InputTopology.Triangles => 3, + InputTopology.TrianglesAdjacency => 3, + _ => throw new InvalidOperationException($"Invalid input topology \"{inPrimitive}\".") + }; + } + AddCapability(Capability.Shader); AddCapability(Capability.Float64); @@ -171,7 +188,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv return operand.Type switch { IrOperandType.Argument => GetArgument(type, operand), - IrOperandType.Attribute => GetAttribute(type, operand, false), + IrOperandType.Attribute => GetAttribute(type, operand.Value & AttributeConsts.Mask, (operand.Value & AttributeConsts.LoadOutputMask) != 0), IrOperandType.Constant => GetConstant(type, operand), IrOperandType.ConstantBuffer => GetConstantBuffer(type, operand), IrOperandType.LocalVariable => GetLocal(type, operand), @@ -190,16 +207,16 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv return isOutAttr ? Outputs[attrInfo.BaseValue] : Inputs[attrInfo.BaseValue]; } - public Instruction GetAttributeElemPointer(AstOperand operand, bool isOutAttr, out AggregateType elemType) + public Instruction GetAttributeElemPointer(int attr, bool isOutAttr, Instruction index, out AggregateType elemType) { - var attrInfo = AttributeInfo.From(Config, operand.Value); - if (attrInfo.BaseValue == AttributeConsts.PositionX && Config.Stage != ShaderStage.Fragment) - { - isOutAttr = true; - } + var attrInfo = AttributeInfo.From(Config, attr); elemType = attrInfo.Type & AggregateType.ElementTypeMask; + var storageClass = isOutAttr ? StorageClass.Output : StorageClass.Input; + + var elemIndex = Constant(TypeU32(), attrInfo.GetInnermostIndex()); + var ioVariable = isOutAttr ? Outputs[attrInfo.BaseValue] : Inputs[attrInfo.BaseValue]; if ((attrInfo.Type & (AggregateType.Array | AggregateType.Vector)) == 0) @@ -207,15 +224,19 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv return ioVariable; } - var storageClass = isOutAttr ? StorageClass.Output : StorageClass.Input; - - var elemIndex = Constant(TypeU32(), attrInfo.GetInnermostIndex()); - return AccessChain(TypePointer(storageClass, GetType(elemType)), ioVariable, elemIndex); + if (Config.Stage == ShaderStage.Geometry && !isOutAttr && (!attrInfo.IsBuiltin || AttributeInfo.IsArrayBuiltIn(attr))) + { + return AccessChain(TypePointer(storageClass, GetType(elemType)), ioVariable, index, elemIndex); + } + else + { + return AccessChain(TypePointer(storageClass, GetType(elemType)), ioVariable, elemIndex); + } } - public Instruction GetAttribute(AggregateType type, AstOperand operand, bool isOutAttr) + public Instruction GetAttribute(AggregateType type, int attr, bool isOutAttr, Instruction index = null) { - var elemPointer = GetAttributeElemPointer(operand, isOutAttr, out var elemType); + var elemPointer = GetAttributeElemPointer(attr, isOutAttr, index, out var elemType); return BitcastIfNeeded(type, elemType, Load(GetType(elemType), elemPointer)); } diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs index b097f64b9..83f94dbf6 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs @@ -391,19 +391,20 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv var dict = isOutAttr ? context.Outputs : context.Inputs; var attrInfo = AttributeInfo.From(context.Config, attr); - if (attrInfo.BaseValue == AttributeConsts.PositionX && context.Config.Stage != ShaderStage.Fragment) - { - isOutAttr = true; - dict = context.Outputs; - } - if (dict.ContainsKey(attrInfo.BaseValue)) { return; } var storageClass = isOutAttr ? StorageClass.Output : StorageClass.Input; - var spvType = context.TypePointer(storageClass, context.GetType(attrInfo.Type, attrInfo.Length)); + var attrType = context.GetType(attrInfo.Type, attrInfo.Length); + + if (context.Config.Stage == ShaderStage.Geometry && !isOutAttr && (!attrInfo.IsBuiltin || AttributeInfo.IsArrayBuiltIn(attr))) + { + attrType = context.TypeArray(attrType, context.Constant(context.TypeU32(), (LiteralInteger)context.InputVertices)); + } + + var spvType = context.TypePointer(storageClass, attrType); var spvVar = context.Variable(spvType, storageClass); if (attrInfo.IsBuiltin) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs index 3375e8d64..f1d72a95b 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs @@ -73,6 +73,8 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv Add(Instruction.Ddy, GenerateDdy); Add(Instruction.Discard, GenerateDiscard); Add(Instruction.Divide, GenerateDivide); + Add(Instruction.EmitVertex, GenerateEmitVertex); + Add(Instruction.EndPrimitive, GenerateEndPrimitive); Add(Instruction.ExponentB2, GenerateExponentB2); Add(Instruction.FindLSB, GenerateFindLSB); Add(Instruction.FindMSBS32, GenerateFindMSBS32); @@ -500,6 +502,20 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv return GenerateBinary(context, operation, context.FDiv, context.SDiv); } + private static OperationResult GenerateEmitVertex(CodeGenContext context, AstOperation operation) + { + context.EmitVertex(); + + return OperationResult.Invalid; + } + + private static OperationResult GenerateEndPrimitive(CodeGenContext context, AstOperation operation) + { + context.EndPrimitive(); + + return OperationResult.Invalid; + } + private static OperationResult GenerateExponentB2(CodeGenContext context, AstOperation operation) { return GenerateUnary(context, operation, context.GlslExp2, null); @@ -812,13 +828,25 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv { var src1 = operation.GetSource(0); var src2 = operation.GetSource(1); + var src3 = operation.GetSource(2); - if (src1 is not AstOperand oper || oper.Type != OperandType.Attribute) + if (!(src1 is AstOperand baseAttr) || baseAttr.Type != OperandType.Constant) { - throw new InvalidOperationException("First source of LoadAttribute must be a attribute."); + throw new InvalidOperationException($"First input of {nameof(Instruction.LoadAttribute)} must be a constant operand."); } - return new OperationResult(AggregateType.FP32, context.GetAttribute(AggregateType.FP32, oper, false)); + var index = context.Get(AggregateType.S32, src3); + var resultType = AggregateType.FP32; + + if (src2 is AstOperand operand && operand.Type == OperandType.Constant) + { + int attrOffset = baseAttr.Value + (operand.Value << 2); + return new OperationResult(resultType, context.GetAttribute(resultType, attrOffset, false, index)); + } + else + { + throw new NotImplementedException(); + } } private static OperationResult GenerateLoadConstant(CodeGenContext context, AstOperation operation) @@ -1081,7 +1109,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv var clampNotSegMask = context.BitwiseAnd(context.TypeU32(), clamp, notSegMask); var indexNotSegMask = context.BitwiseAnd(context.TypeU32(), index, notSegMask); - var threadId = context.GetAttribute(AggregateType.U32, new AstOperand(OperandType.Attribute, AttributeConsts.LaneId), false); + var threadId = context.GetAttribute(AggregateType.U32, AttributeConsts.LaneId, false); var minThreadId = context.BitwiseAnd(context.TypeU32(), threadId, segMask); var maxThreadId = context.BitwiseOr(context.TypeU32(), minThreadId, clampNotSegMask); @@ -1111,7 +1139,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv var notSegMask = context.Not(context.TypeU32(), segMask); var clampNotSegMask = context.BitwiseAnd(context.TypeU32(), clamp, notSegMask); - var threadId = context.GetAttribute(AggregateType.U32, new AstOperand(OperandType.Attribute, AttributeConsts.LaneId), false); + var threadId = context.GetAttribute(AggregateType.U32, AttributeConsts.LaneId, false); var minThreadId = context.BitwiseAnd(context.TypeU32(), threadId, segMask); var maxThreadId = context.BitwiseOr(context.TypeU32(), minThreadId, clampNotSegMask); @@ -1138,7 +1166,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv var segMask = context.BitwiseAnd(context.TypeU32(), context.ShiftRightLogical(context.TypeU32(), mask, const8), const31); - var threadId = context.GetAttribute(AggregateType.U32, new AstOperand(OperandType.Attribute, AttributeConsts.LaneId), false); + var threadId = context.GetAttribute(AggregateType.U32, AttributeConsts.LaneId, false); var minThreadId = context.BitwiseAnd(context.TypeU32(), threadId, segMask); var srcThreadId = context.ISub(context.TypeU32(), threadId, index); @@ -1167,7 +1195,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv var notSegMask = context.Not(context.TypeU32(), segMask); var clampNotSegMask = context.BitwiseAnd(context.TypeU32(), clamp, notSegMask); - var threadId = context.GetAttribute(AggregateType.U32, new AstOperand(OperandType.Attribute, AttributeConsts.LaneId), false); + var threadId = context.GetAttribute(AggregateType.U32, AttributeConsts.LaneId, false); var minThreadId = context.BitwiseAnd(context.TypeU32(), threadId, segMask); var maxThreadId = context.BitwiseOr(context.TypeU32(), minThreadId, clampNotSegMask); diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs index 67caa18e9..269635a0b 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs @@ -29,6 +29,12 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv context.AddCapability(Capability.SampledBuffer); context.AddCapability(Capability.SubgroupBallotKHR); context.AddCapability(Capability.SubgroupVoteKHR); + + if (config.Stage == ShaderStage.Geometry) + { + context.AddCapability(Capability.Geometry); + } + context.AddExtension("SPV_KHR_shader_ballot"); context.AddExtension("SPV_KHR_subgroup_vote"); @@ -97,7 +103,39 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv { context.AddEntryPoint(context.Config.Stage.Convert(), spvFunc, "main", context.GetMainInterface()); - if (context.Config.Stage == ShaderStage.Fragment) + if (context.Config.Stage == ShaderStage.Geometry) + { + InputTopology inPrimitive = context.Config.GpuAccessor.QueryPrimitiveTopology(); + + switch (inPrimitive) + { + case InputTopology.Points: + context.AddExecutionMode(spvFunc, ExecutionMode.InputPoints); + break; + case InputTopology.Lines: + context.AddExecutionMode(spvFunc, ExecutionMode.InputLines); + break; + case InputTopology.LinesAdjacency: + context.AddExecutionMode(spvFunc, ExecutionMode.InputLinesAdjacency); + break; + case InputTopology.TrianglesAdjacency: + context.AddExecutionMode(spvFunc, ExecutionMode.InputTrianglesAdjacency); + break; + } + + context.AddExecutionMode(spvFunc, ExecutionMode.Invocations, (SpvLiteralInteger)context.InputVertices); + + context.AddExecutionMode(spvFunc, context.Config.OutputTopology switch + { + OutputTopology.PointList => ExecutionMode.OutputPoints, + OutputTopology.LineStrip => ExecutionMode.OutputLineStrip, + OutputTopology.TriangleStrip => ExecutionMode.OutputTriangleStrip, + _ => throw new InvalidOperationException($"Invalid output topology \"{context.Config.OutputTopology}\".") + }); + + context.AddExecutionMode(spvFunc, ExecutionMode.OutputVertices, (SpvLiteralInteger)context.Config.MaxOutputVertices); + } + else if (context.Config.Stage == ShaderStage.Fragment) { context.AddExecutionMode(spvFunc, context.Config.Options.TargetApi == TargetApi.Vulkan ? ExecutionMode.OriginUpperLeft @@ -228,7 +266,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv } else if (dest.Type == OperandType.Attribute) { - var elemPointer = context.GetAttributeElemPointer(dest, true, out var elemType); + var elemPointer = context.GetAttributeElemPointer(dest.Value, true, null, out var elemType); context.Store(elemPointer, context.Get(elemType, assignment.Source)); } else if (dest.Type == OperandType.Argument) diff --git a/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgram.cs b/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgram.cs index ce79f3b8e..0ec56441c 100644 --- a/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgram.cs +++ b/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgram.cs @@ -89,6 +89,18 @@ namespace Ryujinx.Graphics.Shader.StructuredIr { Instruction inst = operation.Inst; + if (inst == Instruction.LoadAttribute) + { + Operand src1 = operation.GetSource(0); + Operand src2 = operation.GetSource(1); + + if (src1.Type == OperandType.Constant && src2.Type == OperandType.Constant) + { + int attrOffset = src1.Value + (src2.Value << 2); + context.Info.Inputs.Add(attrOffset); + } + } + int sourcesCount = operation.SourcesCount; int outDestsCount = operation.DestsCount != 0 ? operation.DestsCount - 1 : 0; diff --git a/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgramContext.cs b/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgramContext.cs index 4e3f3e28a..2c87721ee 100644 --- a/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgramContext.cs +++ b/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgramContext.cs @@ -279,7 +279,7 @@ namespace Ryujinx.Graphics.Shader.StructuredIr { if (operand.Type == OperandType.Attribute) { - Info.Outputs.Add(operand.Value); + Info.Outputs.Add(operand.Value & AttributeConsts.Mask); } return GetOperand(operand); diff --git a/Ryujinx.Graphics.Shader/Translation/AttributeInfo.cs b/Ryujinx.Graphics.Shader/Translation/AttributeInfo.cs index c39e655e4..d0394969d 100644 --- a/Ryujinx.Graphics.Shader/Translation/AttributeInfo.cs +++ b/Ryujinx.Graphics.Shader/Translation/AttributeInfo.cs @@ -1,5 +1,4 @@ -using Ryujinx.Common; -using System.Collections.Generic; +using System.Collections.Generic; namespace Ryujinx.Graphics.Shader.Translation { @@ -98,5 +97,17 @@ namespace Ryujinx.Graphics.Shader.Translation return new AttributeInfo(value, 0, 0, AggregateType.Invalid); } + + public static bool IsArrayBuiltIn(int attr) + { + if (attr <= AttributeConsts.TessLevelInner1 || + attr == AttributeConsts.TessCoordX || + attr == AttributeConsts.TessCoordY) + { + return false; + } + + return (attr & AttributeConsts.SpecialMask) == 0; + } } } diff --git a/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs b/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs index 237a66aa2..dbf4eb125 100644 --- a/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs +++ b/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs @@ -183,8 +183,8 @@ namespace Ryujinx.Graphics.Shader.Translation if (Config.GpuAccessor.QueryTransformDepthMinusOneToOne()) { - Operand z = Attribute(AttributeConsts.PositionZ); - Operand w = Attribute(AttributeConsts.PositionW); + Operand z = Attribute(AttributeConsts.PositionZ | AttributeConsts.LoadOutputMask); + Operand w = Attribute(AttributeConsts.PositionW | AttributeConsts.LoadOutputMask); Operand halfW = this.FPMultiply(w, ConstF(0.5f)); this.Copy(Attribute(AttributeConsts.PositionZ), this.FPFusedMultiplyAdd(z, ConstF(0.5f), halfW)); From 301ddec36f7395a6542304c523e99ae8ed9fe539 Mon Sep 17 00:00:00 2001 From: gdk Date: Mon, 14 Feb 2022 17:09:00 -0300 Subject: [PATCH 064/179] SPIR-V: Use correct binding number on storage buffers array --- Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs index 83f94dbf6..106c1d352 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs @@ -166,7 +166,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv context.Name(sbVariable, $"{GetStagePrefix(context.Config.Stage)}_s"); context.Decorate(sbVariable, Decoration.DescriptorSet, (LiteralInteger)setIndex); - context.Decorate(sbVariable, Decoration.Binding, (LiteralInteger)descriptors[0].Binding); + context.Decorate(sbVariable, Decoration.Binding, (LiteralInteger)context.Config.FirstStorageBufferBinding); context.AddGlobalVariable(sbVariable); context.StorageBuffersArray = sbVariable; From 12dec18f396bb996d5db09cc67b1774ae55629e8 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Tue, 15 Feb 2022 19:17:33 +0000 Subject: [PATCH 065/179] Reduce allocations for Spir-v serialization Passes BinaryWriter instead of the stream to Write and WriteOperand - Removes creation of BinaryWriter for each instruction - Removes allocations for literal string --- Spv.Generator/Instruction.cs | 12 +++++------- Spv.Generator/LiteralInteger.cs | 4 ++-- Spv.Generator/LiteralString.cs | 10 +++++----- Spv.Generator/Module.cs | 24 ++++++++++++------------ Spv.Generator/Operand.cs | 2 +- 5 files changed, 25 insertions(+), 27 deletions(-) diff --git a/Spv.Generator/Instruction.cs b/Spv.Generator/Instruction.cs index a7fb162c9..dfe28484d 100644 --- a/Spv.Generator/Instruction.cs +++ b/Spv.Generator/Instruction.cs @@ -111,15 +111,13 @@ namespace Spv.Generator AddOperand(LiteralInteger.CreateForEnum(value)); } - public void Write(Stream stream) + public void Write(BinaryWriter writer) { - BinaryWriter writer = new BinaryWriter(stream); - // Word 0 writer.Write((ushort)Opcode); writer.Write(GetTotalWordCount()); - _resultType?.WriteOperand(stream); + _resultType?.WriteOperand(writer); if (Id != InvalidId) { @@ -128,11 +126,11 @@ namespace Spv.Generator foreach (Operand operand in _operands) { - operand.WriteOperand(stream); + operand.WriteOperand(writer); } } - public void WriteOperand(Stream stream) + public void WriteOperand(BinaryWriter writer) { Debug.Assert(Id != InvalidId); @@ -156,7 +154,7 @@ namespace Spv.Generator throw new InvalidOperationException($"Id wasn't bound to the module, please make sure to call {methodToCall}"); } - stream.Write(BitConverter.GetBytes(Id)); + writer.Write(Id); } public override bool Equals(object obj) diff --git a/Spv.Generator/LiteralInteger.cs b/Spv.Generator/LiteralInteger.cs index 7568cc1bc..b9afa0055 100644 --- a/Spv.Generator/LiteralInteger.cs +++ b/Spv.Generator/LiteralInteger.cs @@ -53,9 +53,9 @@ namespace Spv.Generator public ushort WordCount => (ushort)(_data.Length / 4); - public void WriteOperand(Stream stream) + public void WriteOperand(BinaryWriter writer) { - stream.Write(_data); + writer.Write(_data); } public override bool Equals(object obj) diff --git a/Spv.Generator/LiteralString.cs b/Spv.Generator/LiteralString.cs index 8d27e407e..259b946ac 100644 --- a/Spv.Generator/LiteralString.cs +++ b/Spv.Generator/LiteralString.cs @@ -17,15 +17,15 @@ namespace Spv.Generator public ushort WordCount => (ushort)(_value.Length / 4 + 1); - public void WriteOperand(Stream stream) + public void WriteOperand(BinaryWriter writer) { - byte[] rawValue = Encoding.ASCII.GetBytes(_value); + writer.Write(_value.AsSpan()); - stream.Write(rawValue); + int paddingSize = 4 - (Encoding.ASCII.GetByteCount(_value) % 4); - int paddingSize = 4 - (rawValue.Length % 4); + Span padding = stackalloc byte[paddingSize]; - stream.Write(new byte[paddingSize]); + writer.Write(padding); } public override bool Equals(object obj) diff --git a/Spv.Generator/Module.cs b/Spv.Generator/Module.cs index b16b859b6..03d649680 100644 --- a/Spv.Generator/Module.cs +++ b/Spv.Generator/Module.cs @@ -247,7 +247,7 @@ namespace Spv.Generator { using (MemoryStream stream = new MemoryStream()) { - BinaryWriter writer = new BinaryWriter(stream); + BinaryWriter writer = new BinaryWriter(stream, System.Text.Encoding.ASCII); // Header writer.Write(MagicNumber); @@ -262,7 +262,7 @@ namespace Spv.Generator Instruction capabilityInstruction = new Instruction(Op.OpCapability); capabilityInstruction.AddOperand(capability); - capabilityInstruction.Write(stream); + capabilityInstruction.Write(writer); } // 2. @@ -271,44 +271,44 @@ namespace Spv.Generator Instruction extensionInstruction = new Instruction(Op.OpExtension); extensionInstruction.AddOperand(extension); - extensionInstruction.Write(stream); + extensionInstruction.Write(writer); } // 3. foreach (Instruction extInstImport in _extInstImports) { - extInstImport.Write(stream); + extInstImport.Write(writer); } // 4. Instruction memoryModelInstruction = new Instruction(Op.OpMemoryModel); memoryModelInstruction.AddOperand(_addressingModel); memoryModelInstruction.AddOperand(_memoryModel); - memoryModelInstruction.Write(stream); + memoryModelInstruction.Write(writer); // 5. foreach (Instruction entrypoint in _entrypoints) { - entrypoint.Write(stream); + entrypoint.Write(writer); } // 6. foreach (Instruction executionMode in _executionModes) { - executionMode.Write(stream); + executionMode.Write(writer); } // 7. // TODO: order debug information correclty. foreach (Instruction debug in _debug) { - debug.Write(stream); + debug.Write(writer); } // 8. foreach (Instruction annotation in _annotations) { - annotation.Write(stream); + annotation.Write(writer); } // Ensure that everything is in the right order in the declarations section @@ -320,19 +320,19 @@ namespace Spv.Generator // 9. foreach (Instruction declaration in declarations) { - declaration.Write(stream); + declaration.Write(writer); } // 10. foreach (Instruction functionDeclaration in _functionsDeclarations) { - functionDeclaration.Write(stream); + functionDeclaration.Write(writer); } // 11. foreach (Instruction functionDefinition in _functionsDefinitions) { - functionDefinition.Write(stream); + functionDefinition.Write(writer); } return stream.ToArray(); diff --git a/Spv.Generator/Operand.cs b/Spv.Generator/Operand.cs index b180105a0..eaa2e13e0 100644 --- a/Spv.Generator/Operand.cs +++ b/Spv.Generator/Operand.cs @@ -9,6 +9,6 @@ namespace Spv.Generator ushort WordCount { get; } - void WriteOperand(Stream stream); + void WriteOperand(BinaryWriter writer); } } From bf94f4c7d66d1928c5f340f1d8da3623c1f3f24d Mon Sep 17 00:00:00 2001 From: riperiperi Date: Wed, 16 Feb 2022 13:24:29 +0000 Subject: [PATCH 066/179] Some optimizations to Spv.Generator - Dictionary for lookups of type declarations, constants, extinst - LiteralInteger internal data format -> ushort - Deterministic HashCode implementation to avoid spirv result not being the same between runs - Inline operand list instead of List, falls back to array if many operands. (large performance boost) TODO: improve instruction allocation, structured program creator, ssa? --- Spv.Generator/ConstantKey.cs | 30 +++++++ Spv.Generator/DeterministicHashCode.cs | 110 ++++++++++++++++++++++++ Spv.Generator/DeterministicStringKey.cs | 30 +++++++ Spv.Generator/Instruction.cs | 48 ++++++++--- Spv.Generator/InstructionOperands.cs | 57 ++++++++++++ Spv.Generator/LiteralInteger.cs | 50 +++++------ Spv.Generator/LiteralString.cs | 2 +- Spv.Generator/Module.cs | 72 ++++++++-------- Spv.Generator/TypeDeclarationKey.cs | 30 +++++++ 9 files changed, 356 insertions(+), 73 deletions(-) create mode 100644 Spv.Generator/ConstantKey.cs create mode 100644 Spv.Generator/DeterministicHashCode.cs create mode 100644 Spv.Generator/DeterministicStringKey.cs create mode 100644 Spv.Generator/InstructionOperands.cs create mode 100644 Spv.Generator/TypeDeclarationKey.cs diff --git a/Spv.Generator/ConstantKey.cs b/Spv.Generator/ConstantKey.cs new file mode 100644 index 000000000..d3c1b905a --- /dev/null +++ b/Spv.Generator/ConstantKey.cs @@ -0,0 +1,30 @@ +using System; +using System.Diagnostics.CodeAnalysis; + +namespace Spv.Generator +{ + internal struct ConstantKey : IEquatable + { + private Instruction _constant; + + public ConstantKey(Instruction constant) + { + _constant = constant; + } + + public override int GetHashCode() + { + return HashCode.Combine(_constant.Opcode, _constant.GetHashCodeContent(), _constant.GetHashCodeResultType()); + } + + public bool Equals(ConstantKey other) + { + return _constant.Opcode == other._constant.Opcode && _constant.EqualsContent(other._constant) && _constant.EqualsResultType(other._constant); + } + + public override bool Equals([NotNullWhen(true)] object obj) + { + return obj is ConstantKey && Equals((ConstantKey)obj); + } + } +} diff --git a/Spv.Generator/DeterministicHashCode.cs b/Spv.Generator/DeterministicHashCode.cs new file mode 100644 index 000000000..caba7ad32 --- /dev/null +++ b/Spv.Generator/DeterministicHashCode.cs @@ -0,0 +1,110 @@ +using System; +using System.Collections.Generic; +using System.Numerics; +using System.Runtime.CompilerServices; + +namespace Spv.Generator +{ + /// + /// Similar to System.HashCode, but without introducing random values. + /// The same primes and shifts are used. + /// + internal static class DeterministicHashCode + { + private const uint Prime1 = 2654435761U; + private const uint Prime2 = 2246822519U; + private const uint Prime3 = 3266489917U; + private const uint Prime4 = 668265263U; + + public static int GetHashCode(string value) + { + uint hash = (uint)value.Length + Prime1; + + for (int i = 0; i < value.Length; i++) + { + hash += (hash << 7) ^ value[i]; + } + + return (int)MixFinal(hash); + } + + public static int Combine(ReadOnlySpan values) + { + uint hashCode = Prime2; + hashCode += 4 * (uint)values.Length; + + foreach (T value in values) + { + uint hc = (uint)(value?.GetHashCode() ?? 0); + hashCode = MixStep(hashCode, hc); + } + + return (int)MixFinal(hashCode); + } + + public static int Combine(T1 value1, T2 value2) + { + uint hc1 = (uint)(value1?.GetHashCode() ?? 0); + uint hc2 = (uint)(value2?.GetHashCode() ?? 0); + + uint hash = Prime2; + hash += 8; + + hash = MixStep(hash, hc1); + hash = MixStep(hash, hc2); + + return (int)MixFinal(hash); + } + + public static int Combine(T1 value1, T2 value2, T3 value3) + { + uint hc1 = (uint)(value1?.GetHashCode() ?? 0); + uint hc2 = (uint)(value2?.GetHashCode() ?? 0); + uint hc3 = (uint)(value3?.GetHashCode() ?? 0); + + uint hash = Prime2; + hash += 12; + + hash = MixStep(hash, hc1); + hash = MixStep(hash, hc2); + hash = MixStep(hash, hc3); + + return (int)MixFinal(hash); + } + + public static int Combine(T1 value1, T2 value2, T3 value3, T4 value4) + { + uint hc1 = (uint)(value1?.GetHashCode() ?? 0); + uint hc2 = (uint)(value2?.GetHashCode() ?? 0); + uint hc3 = (uint)(value3?.GetHashCode() ?? 0); + uint hc4 = (uint)(value4?.GetHashCode() ?? 0); + + uint hash = Prime2; + hash += 16; + + hash = MixStep(hash, hc1); + hash = MixStep(hash, hc2); + hash = MixStep(hash, hc3); + hash = MixStep(hash, hc4); + + return (int)MixFinal(hash); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private static uint MixStep(uint hashCode, uint mixValue) + { + return BitOperations.RotateLeft(hashCode + mixValue * Prime3, 17) * Prime4; + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private static uint MixFinal(uint hash) + { + hash ^= hash >> 15; + hash *= Prime2; + hash ^= hash >> 13; + hash *= Prime3; + hash ^= hash >> 16; + return hash; + } + } +} diff --git a/Spv.Generator/DeterministicStringKey.cs b/Spv.Generator/DeterministicStringKey.cs new file mode 100644 index 000000000..491bb745a --- /dev/null +++ b/Spv.Generator/DeterministicStringKey.cs @@ -0,0 +1,30 @@ +using System; +using System.Diagnostics.CodeAnalysis; + +namespace Spv.Generator +{ + internal class DeterministicStringKey : IEquatable + { + private string _value; + + public DeterministicStringKey(string value) + { + _value = value; + } + + public override int GetHashCode() + { + return DeterministicHashCode.GetHashCode(_value); + } + + public bool Equals(DeterministicStringKey other) + { + return _value == other._value; + } + + public override bool Equals([NotNullWhen(true)] object obj) + { + return obj is DeterministicStringKey && Equals((DeterministicStringKey)obj); + } + } +} diff --git a/Spv.Generator/Instruction.cs b/Spv.Generator/Instruction.cs index dfe28484d..5a1f98f14 100644 --- a/Spv.Generator/Instruction.cs +++ b/Spv.Generator/Instruction.cs @@ -1,8 +1,6 @@ using System; -using System.Collections.Generic; using System.Diagnostics; using System.IO; -using System.Linq; namespace Spv.Generator { @@ -12,7 +10,7 @@ namespace Spv.Generator public Specification.Op Opcode { get; private set; } private Instruction _resultType; - public List _operands; + private InstructionOperands _operands; public uint Id { get; set; } @@ -22,7 +20,7 @@ namespace Spv.Generator Id = id; _resultType = resultType; - _operands = new List(); + _operands = new InstructionOperands(); } public void SetId(uint id) @@ -46,9 +44,10 @@ namespace Spv.Generator result += _resultType.WordCount; } - foreach (Operand operand in _operands) + Span operands = _operands.ToSpan(); + for (int i = 0; i < operands.Length; i++) { - result += operand.WordCount; + result += operands[i].WordCount; } return result; @@ -101,7 +100,7 @@ namespace Spv.Generator AddOperand(new LiteralString(value)); } - public void AddOperand(T value) where T: struct + public void AddOperand(T value) where T: Enum { if (!typeof(T).IsPrimitive && !typeof(T).IsEnum) { @@ -124,9 +123,10 @@ namespace Spv.Generator writer.Write(Id); } - foreach (Operand operand in _operands) + Span operands = _operands.ToSpan(); + for (int i = 0; i < operands.Length; i++) { - operand.WriteOperand(writer); + operands[i].WriteOperand(writer); } } @@ -188,7 +188,23 @@ namespace Spv.Generator public bool EqualsContent(Instruction cmpObj) { - return _operands.SequenceEqual(cmpObj._operands); + Span thisOperands = _operands.ToSpan(); + Span cmpOperands = cmpObj._operands.ToSpan(); + + if (thisOperands.Length != cmpOperands.Length) + { + return false; + } + + for (int i = 0; i < thisOperands.Length; i++) + { + if (!thisOperands[i].Equals(cmpOperands[i])) + { + return false; + } + } + + return true; } public bool EqualsResultType(Instruction cmpObj) @@ -196,9 +212,19 @@ namespace Spv.Generator return _resultType.Opcode == cmpObj._resultType.Opcode && _resultType.EqualsContent(cmpObj._resultType); } + public int GetHashCodeContent() + { + return DeterministicHashCode.Combine(_operands.ToSpan()); + } + + public int GetHashCodeResultType() + { + return DeterministicHashCode.Combine(_resultType.Opcode, _resultType.GetHashCodeContent()); + } + public override int GetHashCode() { - return HashCode.Combine(Opcode, Id, _resultType, _operands); + return DeterministicHashCode.Combine(Opcode, Id, _resultType, DeterministicHashCode.Combine(_operands.ToSpan())); } public bool Equals(Operand obj) diff --git a/Spv.Generator/InstructionOperands.cs b/Spv.Generator/InstructionOperands.cs new file mode 100644 index 000000000..3e53e60e7 --- /dev/null +++ b/Spv.Generator/InstructionOperands.cs @@ -0,0 +1,57 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.InteropServices; +using System.Text; +using System.Threading.Tasks; + +namespace Spv.Generator +{ + public struct InstructionOperands + { + private const int InternalCount = 5; + + public int Count; + public Operand Operand1; + public Operand Operand2; + public Operand Operand3; + public Operand Operand4; + public Operand Operand5; + public Operand[] Overflow; + + public Span ToSpan() + { + if (Count > InternalCount) + { + return MemoryMarshal.CreateSpan(ref this.Overflow[0], Count); + } + else + { + return MemoryMarshal.CreateSpan(ref this.Operand1, Count); + } + } + + public void Add(Operand operand) + { + if (Count < InternalCount) + { + MemoryMarshal.CreateSpan(ref this.Operand1, Count + 1)[Count] = operand; + Count++; + } + else + { + if (Overflow == null) + { + Overflow = new Operand[InternalCount * 2]; + MemoryMarshal.CreateSpan(ref this.Operand1, InternalCount).CopyTo(Overflow.AsSpan()); + } + else if (Count == Overflow.Length) + { + Array.Resize(ref Overflow, Overflow.Length * 2); + } + + Overflow[Count++] = operand; + } + } + } +} diff --git a/Spv.Generator/LiteralInteger.cs b/Spv.Generator/LiteralInteger.cs index b9afa0055..d88ee5f70 100644 --- a/Spv.Generator/LiteralInteger.cs +++ b/Spv.Generator/LiteralInteger.cs @@ -1,7 +1,5 @@ using System; using System.IO; -using System.Linq; -using System.Runtime.InteropServices; namespace Spv.Generator { @@ -20,42 +18,44 @@ namespace Spv.Generator } private IntegerType _integerType; + private ulong _data; - private byte[] _data; + public ushort WordCount { get; } - private LiteralInteger(byte[] data, IntegerType integerType) + private LiteralInteger(ulong data, IntegerType integerType, ushort wordCount) { _data = data; _integerType = integerType; + + WordCount = wordCount; } - public static implicit operator LiteralInteger(int value) => Create(value, IntegerType.Int32); - public static implicit operator LiteralInteger(uint value) => Create(value, IntegerType.UInt32); - public static implicit operator LiteralInteger(long value) => Create(value, IntegerType.Int64); - public static implicit operator LiteralInteger(ulong value) => Create(value, IntegerType.UInt64); - public static implicit operator LiteralInteger(float value) => Create(value, IntegerType.Float32); - public static implicit operator LiteralInteger(double value) => Create(value, IntegerType.Float64); - public static implicit operator LiteralInteger(Enum value) => Create((int)Convert.ChangeType(value, typeof(int)), IntegerType.Int32); + public static implicit operator LiteralInteger(int value) => new LiteralInteger((ulong)value, IntegerType.Int32, 1); + public static implicit operator LiteralInteger(uint value) => new LiteralInteger(value, IntegerType.UInt32, 1); + public static implicit operator LiteralInteger(long value) => new LiteralInteger((ulong)value, IntegerType.Int64, 2); + public static implicit operator LiteralInteger(ulong value) => new LiteralInteger(value, IntegerType.UInt64, 2); + public static implicit operator LiteralInteger(float value) => new LiteralInteger(BitConverter.SingleToUInt32Bits(value), IntegerType.Float32, 1); + public static implicit operator LiteralInteger(double value) => new LiteralInteger(BitConverter.DoubleToUInt64Bits(value), IntegerType.Float64, 2); + public static implicit operator LiteralInteger(Enum value) => new LiteralInteger((ulong)Convert.ChangeType(value, typeof(ulong)), IntegerType.Int32, 1); // NOTE: this is not in the standard, but this is some syntax sugar useful in some instructions (TypeInt ect) - public static implicit operator LiteralInteger(bool value) => Create(Convert.ToInt32(value), IntegerType.Int32); + public static implicit operator LiteralInteger(bool value) => new LiteralInteger(Convert.ToUInt64(value), IntegerType.Int32, 1); - - public static LiteralInteger CreateForEnum(T value) where T : struct + public static LiteralInteger CreateForEnum(T value) where T : Enum { - return Create(value, IntegerType.Int32); + return value; } - private static LiteralInteger Create(T value, IntegerType integerType) where T: struct - { - return new LiteralInteger(MemoryMarshal.Cast(MemoryMarshal.CreateSpan(ref value, 1)).ToArray(), integerType); - } - - public ushort WordCount => (ushort)(_data.Length / 4); - public void WriteOperand(BinaryWriter writer) { - writer.Write(_data); + if (WordCount == 1) + { + writer.Write((uint)_data); + } + else + { + writer.Write(_data); + } } public override bool Equals(object obj) @@ -65,12 +65,12 @@ namespace Spv.Generator public bool Equals(LiteralInteger cmpObj) { - return Type == cmpObj.Type && _integerType == cmpObj._integerType && _data.SequenceEqual(cmpObj._data); + return Type == cmpObj.Type && _integerType == cmpObj._integerType && _data == cmpObj._data; } public override int GetHashCode() { - return HashCode.Combine(Type, _data); + return DeterministicHashCode.Combine(Type, _data); } public bool Equals(Operand obj) diff --git a/Spv.Generator/LiteralString.cs b/Spv.Generator/LiteralString.cs index 259b946ac..1cb1b8383 100644 --- a/Spv.Generator/LiteralString.cs +++ b/Spv.Generator/LiteralString.cs @@ -40,7 +40,7 @@ namespace Spv.Generator public override int GetHashCode() { - return HashCode.Combine(Type, _value); + return DeterministicHashCode.Combine(Type, DeterministicHashCode.GetHashCode(_value)); } public bool Equals(Operand obj) diff --git a/Spv.Generator/Module.cs b/Spv.Generator/Module.cs index 03d649680..5e678af36 100644 --- a/Spv.Generator/Module.cs +++ b/Spv.Generator/Module.cs @@ -1,8 +1,6 @@ -using System; -using System.Collections.Generic; +using System.Collections.Generic; using System.Diagnostics; using System.IO; -using System.Linq; using static Spv.Specification; namespace Spv.Generator @@ -19,7 +17,7 @@ namespace Spv.Generator // Follow spec order here why keeping it as dumb as possible. private List _capabilities; private List _extensions; - private List _extInstImports; + private Dictionary _extInstImports; private AddressingModel _addressingModel; private MemoryModel _memoryModel; @@ -29,9 +27,11 @@ namespace Spv.Generator private List _annotations; // In the declaration block. - private List _typeDeclarations; + private Dictionary _typeDeclarations; // In the declaration block. private List _globals; + // In the declaration block. + private Dictionary _constants; // In the declaration block, for function that aren't defined in the module. private List _functionsDeclarations; @@ -43,14 +43,15 @@ namespace Spv.Generator _bound = 1; _capabilities = new List(); _extensions = new List(); - _extInstImports = new List(); + _extInstImports = new Dictionary(); _addressingModel = AddressingModel.Logical; _memoryModel = MemoryModel.Simple; _entrypoints = new List(); _executionModes = new List(); _debug = new List(); _annotations = new List(); - _typeDeclarations = new List(); + _typeDeclarations = new Dictionary(); + _constants = new Dictionary(); _globals = new List(); _functionsDeclarations = new List(); _functionsDefinitions = new List(); @@ -73,44 +74,43 @@ namespace Spv.Generator public Instruction AddExtInstImport(string import) { + var key = new DeterministicStringKey(import); + + if (_extInstImports.TryGetValue(key, out Instruction extInstImport)) + { + // update the duplicate instance to use the good id so it ends up being encoded right. + return extInstImport; + } + Instruction instruction = new Instruction(Op.OpExtInstImport); instruction.AddOperand(import); - foreach (Instruction extInstImport in _extInstImports) - { - if (extInstImport.Opcode == Op.OpExtInstImport && extInstImport.EqualsContent(instruction)) - { - // update the duplicate instance to use the good id so it ends up being encoded right. - return extInstImport; - } - } - instruction.SetId(GetNewId()); - _extInstImports.Add(instruction); + _extInstImports.Add(key, instruction); return instruction; } private void AddTypeDeclaration(Instruction instruction, bool forceIdAllocation) { + var key = new TypeDeclarationKey(instruction); + if (!forceIdAllocation) { - foreach (Instruction typeDeclaration in _typeDeclarations) + if (_typeDeclarations.TryGetValue(key, out Instruction typeDeclaration)) { - if (typeDeclaration.Opcode == instruction.Opcode && typeDeclaration.EqualsContent(instruction)) - { - // update the duplicate instance to use the good id so it ends up being encoded right. - instruction.SetId(typeDeclaration.Id); + // update the duplicate instance to use the good id so it ends up being encoded right. - return; - } + instruction.SetId(typeDeclaration.Id); + + return; } } instruction.SetId(GetNewId()); - _typeDeclarations.Add(instruction); + _typeDeclarations.Add(key, instruction); } public void AddEntryPoint(ExecutionModel executionModel, Instruction function, string name, params Instruction[] interfaces) @@ -195,20 +195,19 @@ namespace Spv.Generator constant.Opcode == Op.OpConstantNull || constant.Opcode == Op.OpConstantComposite); - foreach (Instruction global in _globals) - { - if (global.Opcode == constant.Opcode && global.EqualsContent(constant) && global.EqualsResultType(constant)) - { - // update the duplicate instance to use the good id so it ends up being encoded right. - constant.SetId(global.Id); + var key = new ConstantKey(constant); - return; - } + if (_constants.TryGetValue(key, out Instruction global)) + { + // update the duplicate instance to use the good id so it ends up being encoded right. + constant.SetId(global.Id); + + return; } constant.SetId(GetNewId()); - _globals.Add(constant); + _constants.Add(key, constant); } public Instruction ExtInst(Instruction resultType, Instruction set, LiteralInteger instruction, params Operand[] parameters) @@ -275,7 +274,7 @@ namespace Spv.Generator } // 3. - foreach (Instruction extInstImport in _extInstImports) + foreach (Instruction extInstImport in _extInstImports.Values) { extInstImport.Write(writer); } @@ -313,8 +312,9 @@ namespace Spv.Generator // Ensure that everything is in the right order in the declarations section List declarations = new List(); - declarations.AddRange(_typeDeclarations); + declarations.AddRange(_typeDeclarations.Values); declarations.AddRange(_globals); + declarations.AddRange(_constants.Values); declarations.Sort((Instruction x, Instruction y) => x.Id.CompareTo(y.Id)); // 9. diff --git a/Spv.Generator/TypeDeclarationKey.cs b/Spv.Generator/TypeDeclarationKey.cs new file mode 100644 index 000000000..a4aa95634 --- /dev/null +++ b/Spv.Generator/TypeDeclarationKey.cs @@ -0,0 +1,30 @@ +using System; +using System.Diagnostics.CodeAnalysis; + +namespace Spv.Generator +{ + internal struct TypeDeclarationKey : IEquatable + { + private Instruction _typeDeclaration; + + public TypeDeclarationKey(Instruction typeDeclaration) + { + _typeDeclaration = typeDeclaration; + } + + public override int GetHashCode() + { + return DeterministicHashCode.Combine(_typeDeclaration.Opcode, _typeDeclaration.GetHashCodeContent()); + } + + public bool Equals(TypeDeclarationKey other) + { + return _typeDeclaration.Opcode == other._typeDeclaration.Opcode && _typeDeclaration.EqualsContent(other._typeDeclaration); + } + + public override bool Equals([NotNullWhen(true)] object obj) + { + return obj is TypeDeclarationKey && Equals((TypeDeclarationKey)obj); + } + } +} From dd718fbe973d44343fc7a84095ee01da9b1f6c68 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Sat, 19 Feb 2022 01:34:07 +0000 Subject: [PATCH 067/179] Pool Spv.Generator resources, cache delegates, spv opts - Pools for Instructions and LiteralIntegers. Can be passed in when creating the generator module. - NewInstruction is called instead of new Instruction() - Ryujinx SpirvGenerator passes in some pools that are static. The idea is for these to be shared between threads eventually. - Estimate code size when creating the output MemoryStream - LiteralInteger pools using ThreadStatic pools that are initialized before and after creation... not sure of a better way since the way these are created is via implicit cast. Also, cache delegates for Spv.Generator for functions that are passed around to GenerateBinary etc, since passing the function raw creates a delegate on each call. TODO: update python spv cs generator to make the coregrammar with NewInstruction and the `params` overloads. --- .../CodeGen/Spirv/CodeGenContext.cs | 6 +- .../CodeGen/Spirv/Instructions.cs | 118 +-- .../CodeGen/Spirv/SpirvDelegates.cs | 224 ++++ .../CodeGen/Spirv/SpirvGenerator.cs | 40 +- Spv.Generator/Autogenerated/CoreGrammar.cs | 956 ++++++++++-------- Spv.Generator/GeneratorPool.cs | 58 ++ Spv.Generator/Instruction.cs | 11 +- Spv.Generator/LiteralInteger.cs | 42 +- Spv.Generator/Module.cs | 44 +- 9 files changed, 973 insertions(+), 526 deletions(-) create mode 100644 Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvDelegates.cs create mode 100644 Spv.Generator/GeneratorPool.cs diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs index 28d0aeab7..f451602db 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs @@ -63,7 +63,9 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv public AstBlock CurrentBlock { get; private set; } - public CodeGenContext(ShaderConfig config) : base(0x00010300) + public SpirvDelegates Delegates { get; } + + public CodeGenContext(ShaderConfig config, GeneratorPool instPool, GeneratorPool integerPool) : base(0x00010300, instPool, integerPool) { Config = config; @@ -86,6 +88,8 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv AddCapability(Capability.Float64); SetMemoryModel(AddressingModel.Logical, MemoryModel.GLSL450); + + Delegates = new SpirvDelegates(this); } public void StartFunction() diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs index f1d72a95b..871de694a 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs @@ -153,22 +153,22 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv private static OperationResult GenerateAbsolute(CodeGenContext context, AstOperation operation) { - return GenerateUnary(context, operation, context.GlslFAbs, context.GlslSAbs); + return GenerateUnary(context, operation, context.Delegates.GlslFAbs, context.Delegates.GlslSAbs); } private static OperationResult GenerateAdd(CodeGenContext context, AstOperation operation) { - return GenerateBinary(context, operation, context.FAdd, context.IAdd); + return GenerateBinary(context, operation, context.Delegates.FAdd, context.Delegates.IAdd); } private static OperationResult GenerateAtomicAdd(CodeGenContext context, AstOperation operation) { - return GenerateAtomicMemoryBinary(context, operation, context.AtomicIAdd); + return GenerateAtomicMemoryBinary(context, operation, context.Delegates.AtomicIAdd); } private static OperationResult GenerateAtomicAnd(CodeGenContext context, AstOperation operation) { - return GenerateAtomicMemoryBinary(context, operation, context.AtomicAnd); + return GenerateAtomicMemoryBinary(context, operation, context.Delegates.AtomicAnd); } private static OperationResult GenerateAtomicCompareAndSwap(CodeGenContext context, AstOperation operation) @@ -178,37 +178,37 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv private static OperationResult GenerateAtomicMinS32(CodeGenContext context, AstOperation operation) { - return GenerateAtomicMemoryBinary(context, operation, context.AtomicSMin); + return GenerateAtomicMemoryBinary(context, operation, context.Delegates.AtomicSMin); } private static OperationResult GenerateAtomicMinU32(CodeGenContext context, AstOperation operation) { - return GenerateAtomicMemoryBinary(context, operation, context.AtomicUMin); + return GenerateAtomicMemoryBinary(context, operation, context.Delegates.AtomicUMin); } private static OperationResult GenerateAtomicMaxS32(CodeGenContext context, AstOperation operation) { - return GenerateAtomicMemoryBinary(context, operation, context.AtomicSMax); + return GenerateAtomicMemoryBinary(context, operation, context.Delegates.AtomicSMax); } private static OperationResult GenerateAtomicMaxU32(CodeGenContext context, AstOperation operation) { - return GenerateAtomicMemoryBinary(context, operation, context.AtomicUMax); + return GenerateAtomicMemoryBinary(context, operation, context.Delegates.AtomicUMax); } private static OperationResult GenerateAtomicOr(CodeGenContext context, AstOperation operation) { - return GenerateAtomicMemoryBinary(context, operation, context.AtomicOr); + return GenerateAtomicMemoryBinary(context, operation, context.Delegates.AtomicOr); } private static OperationResult GenerateAtomicSwap(CodeGenContext context, AstOperation operation) { - return GenerateAtomicMemoryBinary(context, operation, context.AtomicExchange); + return GenerateAtomicMemoryBinary(context, operation, context.Delegates.AtomicExchange); } private static OperationResult GenerateAtomicXor(CodeGenContext context, AstOperation operation) { - return GenerateAtomicMemoryBinary(context, operation, context.AtomicXor); + return GenerateAtomicMemoryBinary(context, operation, context.Delegates.AtomicXor); } private static OperationResult GenerateBallot(CodeGenContext context, AstOperation operation) @@ -236,47 +236,47 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv private static OperationResult GenerateBitCount(CodeGenContext context, AstOperation operation) { - return GenerateUnaryS32(context, operation, context.BitCount); + return GenerateUnaryS32(context, operation, context.Delegates.BitCount); } private static OperationResult GenerateBitfieldExtractS32(CodeGenContext context, AstOperation operation) { - return GenerateTernaryS32(context, operation, context.BitFieldSExtract); + return GenerateTernaryS32(context, operation, context.Delegates.BitFieldSExtract); } private static OperationResult GenerateBitfieldExtractU32(CodeGenContext context, AstOperation operation) { - return GenerateTernaryS32(context, operation, context.BitFieldUExtract); + return GenerateTernaryS32(context, operation, context.Delegates.BitFieldUExtract); } private static OperationResult GenerateBitfieldInsert(CodeGenContext context, AstOperation operation) { - return GenerateQuaternaryS32(context, operation, context.BitFieldInsert); + return GenerateQuaternaryS32(context, operation, context.Delegates.BitFieldInsert); } private static OperationResult GenerateBitfieldReverse(CodeGenContext context, AstOperation operation) { - return GenerateUnaryS32(context, operation, context.BitReverse); + return GenerateUnaryS32(context, operation, context.Delegates.BitReverse); } private static OperationResult GenerateBitwiseAnd(CodeGenContext context, AstOperation operation) { - return GenerateBinaryS32(context, operation, context.BitwiseAnd); + return GenerateBinaryS32(context, operation, context.Delegates.BitwiseAnd); } private static OperationResult GenerateBitwiseExclusiveOr(CodeGenContext context, AstOperation operation) { - return GenerateBinaryS32(context, operation, context.BitwiseXor); + return GenerateBinaryS32(context, operation, context.Delegates.BitwiseXor); } private static OperationResult GenerateBitwiseNot(CodeGenContext context, AstOperation operation) { - return GenerateUnaryS32(context, operation, context.Not); + return GenerateUnaryS32(context, operation, context.Delegates.Not); } private static OperationResult GenerateBitwiseOr(CodeGenContext context, AstOperation operation) { - return GenerateBinaryS32(context, operation, context.BitwiseOr); + return GenerateBinaryS32(context, operation, context.Delegates.BitwiseOr); } private static OperationResult GenerateCall(CodeGenContext context, AstOperation operation) @@ -316,17 +316,17 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv private static OperationResult GenerateCeiling(CodeGenContext context, AstOperation operation) { - return GenerateUnary(context, operation, context.GlslCeil, null); + return GenerateUnary(context, operation, context.Delegates.GlslCeil, null); } private static OperationResult GenerateClamp(CodeGenContext context, AstOperation operation) { - return GenerateTernary(context, operation, context.GlslFClamp, context.GlslSClamp); + return GenerateTernary(context, operation, context.Delegates.GlslFClamp, context.Delegates.GlslSClamp); } private static OperationResult GenerateClampU32(CodeGenContext context, AstOperation operation) { - return GenerateTernaryU32(context, operation, context.GlslUClamp); + return GenerateTernaryU32(context, operation, context.Delegates.GlslUClamp); } private static OperationResult GenerateComment(CodeGenContext context, AstOperation operation) @@ -336,52 +336,52 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv private static OperationResult GenerateCompareEqual(CodeGenContext context, AstOperation operation) { - return GenerateCompare(context, operation, context.FOrdEqual, context.IEqual); + return GenerateCompare(context, operation, context.Delegates.FOrdEqual, context.Delegates.IEqual); } private static OperationResult GenerateCompareGreater(CodeGenContext context, AstOperation operation) { - return GenerateCompare(context, operation, context.FOrdGreaterThan, context.SGreaterThan); + return GenerateCompare(context, operation, context.Delegates.FOrdGreaterThan, context.Delegates.SGreaterThan); } private static OperationResult GenerateCompareGreaterOrEqual(CodeGenContext context, AstOperation operation) { - return GenerateCompare(context, operation, context.FOrdGreaterThanEqual, context.SGreaterThanEqual); + return GenerateCompare(context, operation, context.Delegates.FOrdGreaterThanEqual, context.Delegates.SGreaterThanEqual); } private static OperationResult GenerateCompareGreaterOrEqualU32(CodeGenContext context, AstOperation operation) { - return GenerateCompareU32(context, operation, context.UGreaterThanEqual); + return GenerateCompareU32(context, operation, context.Delegates.UGreaterThanEqual); } private static OperationResult GenerateCompareGreaterU32(CodeGenContext context, AstOperation operation) { - return GenerateCompareU32(context, operation, context.UGreaterThan); + return GenerateCompareU32(context, operation, context.Delegates.UGreaterThan); } private static OperationResult GenerateCompareLess(CodeGenContext context, AstOperation operation) { - return GenerateCompare(context, operation, context.FOrdLessThan, context.SLessThan); + return GenerateCompare(context, operation, context.Delegates.FOrdLessThan, context.Delegates.SLessThan); } private static OperationResult GenerateCompareLessOrEqual(CodeGenContext context, AstOperation operation) { - return GenerateCompare(context, operation, context.FOrdLessThanEqual, context.SLessThanEqual); + return GenerateCompare(context, operation, context.Delegates.FOrdLessThanEqual, context.Delegates.SLessThanEqual); } private static OperationResult GenerateCompareLessOrEqualU32(CodeGenContext context, AstOperation operation) { - return GenerateCompareU32(context, operation, context.ULessThanEqual); + return GenerateCompareU32(context, operation, context.Delegates.ULessThanEqual); } private static OperationResult GenerateCompareLessU32(CodeGenContext context, AstOperation operation) { - return GenerateCompareU32(context, operation, context.ULessThan); + return GenerateCompareU32(context, operation, context.Delegates.ULessThan); } private static OperationResult GenerateCompareNotEqual(CodeGenContext context, AstOperation operation) { - return GenerateCompare(context, operation, context.FOrdNotEqual, context.INotEqual); + return GenerateCompare(context, operation, context.Delegates.FOrdNotEqual, context.Delegates.INotEqual); } private static OperationResult GenerateConditionalSelect(CodeGenContext context, AstOperation operation) @@ -478,17 +478,17 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv private static OperationResult GenerateCosine(CodeGenContext context, AstOperation operation) { - return GenerateUnary(context, operation, context.GlslCos, null); + return GenerateUnary(context, operation, context.Delegates.GlslCos, null); } private static OperationResult GenerateDdx(CodeGenContext context, AstOperation operation) { - return GenerateUnaryFP32(context, operation, context.DPdx); + return GenerateUnaryFP32(context, operation, context.Delegates.DPdx); } private static OperationResult GenerateDdy(CodeGenContext context, AstOperation operation) { - return GenerateUnaryFP32(context, operation, context.DPdy); + return GenerateUnaryFP32(context, operation, context.Delegates.DPdy); } private static OperationResult GenerateDiscard(CodeGenContext context, AstOperation operation) @@ -499,7 +499,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv private static OperationResult GenerateDivide(CodeGenContext context, AstOperation operation) { - return GenerateBinary(context, operation, context.FDiv, context.SDiv); + return GenerateBinary(context, operation, context.Delegates.FDiv, context.Delegates.SDiv); } private static OperationResult GenerateEmitVertex(CodeGenContext context, AstOperation operation) @@ -518,7 +518,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv private static OperationResult GenerateExponentB2(CodeGenContext context, AstOperation operation) { - return GenerateUnary(context, operation, context.GlslExp2, null); + return GenerateUnary(context, operation, context.Delegates.GlslExp2, null); } private static OperationResult GenerateFindLSB(CodeGenContext context, AstOperation operation) @@ -541,12 +541,12 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv private static OperationResult GenerateFloor(CodeGenContext context, AstOperation operation) { - return GenerateUnary(context, operation, context.GlslFloor, null); + return GenerateUnary(context, operation, context.Delegates.GlslFloor, null); } private static OperationResult GenerateFusedMultiplyAdd(CodeGenContext context, AstOperation operation) { - return GenerateTernary(context, operation, context.GlslFma, null); + return GenerateTernary(context, operation, context.Delegates.GlslFma, null); } private static OperationResult GenerateGroupMemoryBarrier(CodeGenContext context, AstOperation operation) @@ -961,22 +961,22 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv private static OperationResult GenerateLogarithmB2(CodeGenContext context, AstOperation operation) { - return GenerateUnary(context, operation, context.GlslLog2, null); + return GenerateUnary(context, operation, context.Delegates.GlslLog2, null); } private static OperationResult GenerateLogicalAnd(CodeGenContext context, AstOperation operation) { - return GenerateBinaryBool(context, operation, context.LogicalAnd); + return GenerateBinaryBool(context, operation, context.Delegates.LogicalAnd); } private static OperationResult GenerateLogicalNot(CodeGenContext context, AstOperation operation) { - return GenerateUnaryBool(context, operation, context.LogicalNot); + return GenerateUnaryBool(context, operation, context.Delegates.LogicalNot); } private static OperationResult GenerateLogicalOr(CodeGenContext context, AstOperation operation) { - return GenerateBinaryBool(context, operation, context.LogicalOr); + return GenerateBinaryBool(context, operation, context.Delegates.LogicalOr); } private static OperationResult GenerateLoopBreak(CodeGenContext context, AstOperation operation) @@ -1009,12 +1009,12 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv private static OperationResult GenerateMaximum(CodeGenContext context, AstOperation operation) { - return GenerateBinary(context, operation, context.GlslFMax, context.GlslSMax); + return GenerateBinary(context, operation, context.Delegates.GlslFMax, context.Delegates.GlslSMax); } private static OperationResult GenerateMaximumU32(CodeGenContext context, AstOperation operation) { - return GenerateBinaryU32(context, operation, context.GlslUMax); + return GenerateBinaryU32(context, operation, context.Delegates.GlslUMax); } private static OperationResult GenerateMemoryBarrier(CodeGenContext context, AstOperation operation) @@ -1025,22 +1025,22 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv private static OperationResult GenerateMinimum(CodeGenContext context, AstOperation operation) { - return GenerateBinary(context, operation, context.GlslFMin, context.GlslSMin); + return GenerateBinary(context, operation, context.Delegates.GlslFMin, context.Delegates.GlslSMin); } private static OperationResult GenerateMinimumU32(CodeGenContext context, AstOperation operation) { - return GenerateBinaryU32(context, operation, context.GlslUMin); + return GenerateBinaryU32(context, operation, context.Delegates.GlslUMin); } private static OperationResult GenerateMultiply(CodeGenContext context, AstOperation operation) { - return GenerateBinary(context, operation, context.FMul, context.IMul); + return GenerateBinary(context, operation, context.Delegates.FMul, context.Delegates.IMul); } private static OperationResult GenerateNegate(CodeGenContext context, AstOperation operation) { - return GenerateUnary(context, operation, context.FNegate, context.SNegate); + return GenerateUnary(context, operation, context.Delegates.FNegate, context.Delegates.SNegate); } private static OperationResult GeneratePackDouble2x32(CodeGenContext context, AstOperation operation) @@ -1065,7 +1065,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv private static OperationResult GenerateReciprocalSquareRoot(CodeGenContext context, AstOperation operation) { - return GenerateUnary(context, operation, context.GlslInverseSqrt, null); + return GenerateUnary(context, operation, context.Delegates.GlslInverseSqrt, null); } private static OperationResult GenerateReturn(CodeGenContext context, AstOperation operation) @@ -1076,22 +1076,22 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv private static OperationResult GenerateRound(CodeGenContext context, AstOperation operation) { - return GenerateUnary(context, operation, context.GlslRoundEven, null); + return GenerateUnary(context, operation, context.Delegates.GlslRoundEven, null); } private static OperationResult GenerateShiftLeft(CodeGenContext context, AstOperation operation) { - return GenerateBinaryS32(context, operation, context.ShiftLeftLogical); + return GenerateBinaryS32(context, operation, context.Delegates.ShiftLeftLogical); } private static OperationResult GenerateShiftRightS32(CodeGenContext context, AstOperation operation) { - return GenerateBinaryS32(context, operation, context.ShiftRightArithmetic); + return GenerateBinaryS32(context, operation, context.Delegates.ShiftRightArithmetic); } private static OperationResult GenerateShiftRightU32(CodeGenContext context, AstOperation operation) { - return GenerateBinaryS32(context, operation, context.ShiftRightLogical); + return GenerateBinaryS32(context, operation, context.Delegates.ShiftRightLogical); } private static OperationResult GenerateShuffle(CodeGenContext context, AstOperation operation) @@ -1213,12 +1213,12 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv private static OperationResult GenerateSine(CodeGenContext context, AstOperation operation) { - return GenerateUnary(context, operation, context.GlslSin, null); + return GenerateUnary(context, operation, context.Delegates.GlslSin, null); } private static OperationResult GenerateSquareRoot(CodeGenContext context, AstOperation operation) { - return GenerateUnary(context, operation, context.GlslSqrt, null); + return GenerateUnary(context, operation, context.Delegates.GlslSqrt, null); } private static OperationResult GenerateStoreLocal(CodeGenContext context, AstOperation operation) @@ -1256,7 +1256,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv private static OperationResult GenerateSubtract(CodeGenContext context, AstOperation operation) { - return GenerateBinary(context, operation, context.FSub, context.ISub); + return GenerateBinary(context, operation, context.Delegates.FSub, context.Delegates.ISub); } private static OperationResult GenerateTextureSample(CodeGenContext context, AstOperation operation) @@ -1609,7 +1609,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv private static OperationResult GenerateTruncate(CodeGenContext context, AstOperation operation) { - return GenerateUnary(context, operation, context.GlslTrunc, null); + return GenerateUnary(context, operation, context.Delegates.GlslTrunc, null); } private static OperationResult GenerateUnpackDouble2x32(CodeGenContext context, AstOperation operation) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvDelegates.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvDelegates.cs new file mode 100644 index 000000000..89e1f73a7 --- /dev/null +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvDelegates.cs @@ -0,0 +1,224 @@ +using FuncUnaryInstruction = System.Func; +using FuncBinaryInstruction = System.Func; +using FuncTernaryInstruction = System.Func; +using FuncQuaternaryInstruction = System.Func; + +namespace Ryujinx.Graphics.Shader.CodeGen.Spirv +{ + /// + /// Delegate cache for SPIR-V instruction generators. Avoids delegate allocation when passing generators as arguments. + /// + internal struct SpirvDelegates + { + // Unary + public readonly FuncUnaryInstruction GlslFAbs; + public readonly FuncUnaryInstruction GlslSAbs; + public readonly FuncUnaryInstruction GlslCeil; + public readonly FuncUnaryInstruction GlslCos; + public readonly FuncUnaryInstruction GlslExp2; + public readonly FuncUnaryInstruction GlslFloor; + public readonly FuncUnaryInstruction GlslLog2; + public readonly FuncUnaryInstruction FNegate; + public readonly FuncUnaryInstruction SNegate; + public readonly FuncUnaryInstruction GlslInverseSqrt; + public readonly FuncUnaryInstruction GlslRoundEven; + public readonly FuncUnaryInstruction GlslSin; + public readonly FuncUnaryInstruction GlslSqrt; + public readonly FuncUnaryInstruction GlslTrunc; + + // UnaryBool + public readonly FuncUnaryInstruction LogicalNot; + + // UnaryFP32 + public readonly FuncUnaryInstruction DPdx; + public readonly FuncUnaryInstruction DPdy; + + // UnaryS32 + public readonly FuncUnaryInstruction BitCount; + public readonly FuncUnaryInstruction BitReverse; + public readonly FuncUnaryInstruction Not; + + // Compare + public readonly FuncBinaryInstruction FOrdEqual; + public readonly FuncBinaryInstruction IEqual; + public readonly FuncBinaryInstruction FOrdGreaterThan; + public readonly FuncBinaryInstruction SGreaterThan; + public readonly FuncBinaryInstruction FOrdGreaterThanEqual; + public readonly FuncBinaryInstruction SGreaterThanEqual; + public readonly FuncBinaryInstruction FOrdLessThan; + public readonly FuncBinaryInstruction SLessThan; + public readonly FuncBinaryInstruction FOrdLessThanEqual; + public readonly FuncBinaryInstruction SLessThanEqual; + public readonly FuncBinaryInstruction FOrdNotEqual; + public readonly FuncBinaryInstruction INotEqual; + + // CompareU32 + public readonly FuncBinaryInstruction UGreaterThanEqual; + public readonly FuncBinaryInstruction UGreaterThan; + public readonly FuncBinaryInstruction ULessThanEqual; + public readonly FuncBinaryInstruction ULessThan; + + // Binary + public readonly FuncBinaryInstruction FAdd; + public readonly FuncBinaryInstruction IAdd; + public readonly FuncBinaryInstruction FDiv; + public readonly FuncBinaryInstruction SDiv; + public readonly FuncBinaryInstruction GlslFMax; + public readonly FuncBinaryInstruction GlslSMax; + public readonly FuncBinaryInstruction GlslFMin; + public readonly FuncBinaryInstruction GlslSMin; + public readonly FuncBinaryInstruction FMul; + public readonly FuncBinaryInstruction IMul; + public readonly FuncBinaryInstruction FSub; + public readonly FuncBinaryInstruction ISub; + + // BinaryBool + public readonly FuncBinaryInstruction LogicalAnd; + public readonly FuncBinaryInstruction LogicalOr; + + // BinaryS32 + public readonly FuncBinaryInstruction BitwiseAnd; + public readonly FuncBinaryInstruction BitwiseXor; + public readonly FuncBinaryInstruction BitwiseOr; + public readonly FuncBinaryInstruction ShiftLeftLogical; + public readonly FuncBinaryInstruction ShiftRightArithmetic; + public readonly FuncBinaryInstruction ShiftRightLogical; + + // BinaryU32 + public readonly FuncBinaryInstruction GlslUMax; + public readonly FuncBinaryInstruction GlslUMin; + + // AtomicMemoryBinary + public readonly FuncQuaternaryInstruction AtomicIAdd; + public readonly FuncQuaternaryInstruction AtomicAnd; + public readonly FuncQuaternaryInstruction AtomicSMin; + public readonly FuncQuaternaryInstruction AtomicUMin; + public readonly FuncQuaternaryInstruction AtomicSMax; + public readonly FuncQuaternaryInstruction AtomicUMax; + public readonly FuncQuaternaryInstruction AtomicOr; + public readonly FuncQuaternaryInstruction AtomicExchange; + public readonly FuncQuaternaryInstruction AtomicXor; + + // Ternary + public readonly FuncTernaryInstruction GlslFClamp; + public readonly FuncTernaryInstruction GlslSClamp; + public readonly FuncTernaryInstruction GlslFma; + + // TernaryS32 + public readonly FuncTernaryInstruction BitFieldSExtract; + public readonly FuncTernaryInstruction BitFieldUExtract; + + // TernaryU32 + public readonly FuncTernaryInstruction GlslUClamp; + + // QuaternaryS32 + public readonly FuncQuaternaryInstruction BitFieldInsert; + + public SpirvDelegates(CodeGenContext context) + { + // Unary + GlslFAbs = context.GlslFAbs; + GlslSAbs = context.GlslSAbs; + GlslCeil = context.GlslCeil; + GlslCos = context.GlslCos; + GlslExp2 = context.GlslExp2; + GlslFloor = context.GlslFloor; + GlslLog2 = context.GlslLog2; + FNegate = context.FNegate; + SNegate = context.SNegate; + GlslInverseSqrt = context.GlslInverseSqrt; + GlslRoundEven = context.GlslRoundEven; + GlslSin = context.GlslSin; + GlslSqrt = context.GlslSqrt; + GlslTrunc = context.GlslTrunc; + + // UnaryBool + LogicalNot = context.LogicalNot; + + // UnaryFP32 + DPdx = context.DPdx; + DPdy = context.DPdy; + + // UnaryS32 + BitCount = context.BitCount; + BitReverse = context.BitReverse; + Not = context.Not; + + // Compare + FOrdEqual = context.FOrdEqual; + IEqual = context.IEqual; + FOrdGreaterThan = context.FOrdGreaterThan; + SGreaterThan = context.SGreaterThan; + FOrdGreaterThanEqual = context.FOrdGreaterThanEqual; + SGreaterThanEqual = context.SGreaterThanEqual; + FOrdLessThan = context.FOrdLessThan; + SLessThan = context.SLessThan; + FOrdLessThanEqual = context.FOrdLessThanEqual; + SLessThanEqual = context.SLessThanEqual; + FOrdNotEqual = context.FOrdNotEqual; + INotEqual = context.INotEqual; + + // CompareU32 + UGreaterThanEqual = context.UGreaterThanEqual; + UGreaterThan = context.UGreaterThan; + ULessThanEqual = context.ULessThanEqual; + ULessThan = context.ULessThan; + + // Binary + FAdd = context.FAdd; + IAdd = context.IAdd; + FDiv = context.FDiv; + SDiv = context.SDiv; + GlslFMax = context.GlslFMax; + GlslSMax = context.GlslSMax; + GlslFMin = context.GlslFMin; + GlslSMin = context.GlslSMin; + FMul = context.FMul; + IMul = context.IMul; + FSub = context.FSub; + ISub = context.ISub; + + // BinaryBool + LogicalAnd = context.LogicalAnd; + LogicalOr = context.LogicalOr; + + // BinaryS32 + BitwiseAnd = context.BitwiseAnd; + BitwiseXor = context.BitwiseXor; + BitwiseOr = context.BitwiseOr; + ShiftLeftLogical = context.ShiftLeftLogical; + ShiftRightArithmetic = context.ShiftRightArithmetic; + ShiftRightLogical = context.ShiftRightLogical; + + // BinaryU32 + GlslUMax = context.GlslUMax; + GlslUMin = context.GlslUMin; + + // AtomicMemoryBinary + AtomicIAdd = context.AtomicIAdd; + AtomicAnd = context.AtomicAnd; + AtomicSMin = context.AtomicSMin; + AtomicUMin = context.AtomicUMin; + AtomicSMax = context.AtomicSMax; + AtomicUMax = context.AtomicUMax; + AtomicOr = context.AtomicOr; + AtomicExchange = context.AtomicExchange; + AtomicXor = context.AtomicXor; + + // Ternary + GlslFClamp = context.GlslFClamp; + GlslSClamp = context.GlslSClamp; + GlslFma = context.GlslFma; + + // TernaryS32 + BitFieldSExtract = context.BitFieldSExtract; + BitFieldUExtract = context.BitFieldUExtract; + + // TernaryU32 + GlslUClamp = context.GlslUClamp; + + // QuaternaryS32 + BitFieldInsert = context.BitFieldInsert; + } + } +} diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs index 269635a0b..4e5dddce2 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs @@ -1,4 +1,5 @@ -using Ryujinx.Graphics.Shader.IntermediateRepresentation; +using Ryujinx.Common; +using Ryujinx.Graphics.Shader.IntermediateRepresentation; using Ryujinx.Graphics.Shader.StructuredIr; using Ryujinx.Graphics.Shader.Translation; using System; @@ -10,8 +11,24 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv using SpvInstruction = Spv.Generator.Instruction; using SpvLiteralInteger = Spv.Generator.LiteralInteger; + using SpvInstructionPool = Spv.Generator.GeneratorPool; + using SpvLiteralIntegerPool = Spv.Generator.GeneratorPool; + static class SpirvGenerator { + // Resource pools for Spirv generation. Note: Increase count when more threads are being used. + private const int GeneratorPoolCount = 1; + private static ObjectPool InstructionPool; + private static ObjectPool IntegerPool; + private static object PoolLock; + + static SpirvGenerator() + { + InstructionPool = new (() => new SpvInstructionPool(), GeneratorPoolCount); + IntegerPool = new (() => new SpvLiteralIntegerPool(), GeneratorPoolCount); + PoolLock = new object(); + } + private const HelperFunctionsMask NeedsInvocationIdMask = HelperFunctionsMask.Shuffle | HelperFunctionsMask.ShuffleDown | @@ -21,7 +38,16 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv public static byte[] Generate(StructuredProgramInfo info, ShaderConfig config) { - CodeGenContext context = new CodeGenContext(config); + SpvInstructionPool instPool; + SpvLiteralIntegerPool integerPool; + + lock (PoolLock) + { + instPool = InstructionPool.Allocate(); + integerPool = IntegerPool.Allocate(); + } + + CodeGenContext context = new CodeGenContext(config, instPool, integerPool); context.AddCapability(Capability.GroupNonUniformBallot); context.AddCapability(Capability.ImageBuffer); @@ -70,7 +96,15 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv Generate(context, info, funcIndex); } - return context.Generate(); + byte[] result = context.Generate(); + + lock (PoolLock) + { + InstructionPool.Release(instPool); + IntegerPool.Release(integerPool); + } + + return result; } private static void Generate(CodeGenContext context, StructuredProgramInfo info, int funcIndex) diff --git a/Spv.Generator/Autogenerated/CoreGrammar.cs b/Spv.Generator/Autogenerated/CoreGrammar.cs index 552887e39..3b2f6fa65 100644 --- a/Spv.Generator/Autogenerated/CoreGrammar.cs +++ b/Spv.Generator/Autogenerated/CoreGrammar.cs @@ -36,7 +36,7 @@ namespace Spv.Generator public Instruction Nop() { - Instruction result = new Instruction(Op.OpNop); + Instruction result = NewInstruction(Op.OpNop); AddToFunctionDefinitions(result); @@ -45,7 +45,7 @@ namespace Spv.Generator public Instruction Undef(Instruction resultType) { - Instruction result = new Instruction(Op.OpUndef, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpUndef, GetNewId(), resultType); AddToFunctionDefinitions(result); @@ -54,7 +54,7 @@ namespace Spv.Generator public Instruction SizeOf(Instruction resultType, Instruction pointer) { - Instruction result = new Instruction(Op.OpSizeOf, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpSizeOf, GetNewId(), resultType); result.AddOperand(pointer); AddToFunctionDefinitions(result); @@ -66,7 +66,7 @@ namespace Spv.Generator public Instruction SourceContinued(string continuedSource) { - Instruction result = new Instruction(Op.OpSourceContinued); + Instruction result = NewInstruction(Op.OpSourceContinued); result.AddOperand(continuedSource); AddDebug(result); @@ -76,7 +76,7 @@ namespace Spv.Generator public Instruction Source(SourceLanguage sourceLanguage, LiteralInteger version, Instruction file = null, string source = null) { - Instruction result = new Instruction(Op.OpSource); + Instruction result = NewInstruction(Op.OpSource); result.AddOperand(sourceLanguage); result.AddOperand(version); @@ -95,7 +95,7 @@ namespace Spv.Generator public Instruction SourceExtension(string extension) { - Instruction result = new Instruction(Op.OpSourceExtension); + Instruction result = NewInstruction(Op.OpSourceExtension); result.AddOperand(extension); AddDebug(result); @@ -105,7 +105,7 @@ namespace Spv.Generator public Instruction Name(Instruction target, string name) { - Instruction result = new Instruction(Op.OpName); + Instruction result = NewInstruction(Op.OpName); result.AddOperand(target); result.AddOperand(name); @@ -116,7 +116,7 @@ namespace Spv.Generator public Instruction MemberName(Instruction type, LiteralInteger member, string name) { - Instruction result = new Instruction(Op.OpMemberName); + Instruction result = NewInstruction(Op.OpMemberName); result.AddOperand(type); result.AddOperand(member); @@ -128,7 +128,7 @@ namespace Spv.Generator public Instruction String(string str) { - Instruction result = new Instruction(Op.OpString, GetNewId()); + Instruction result = NewInstruction(Op.OpString, GetNewId()); result.AddOperand(str); AddDebug(result); @@ -138,7 +138,7 @@ namespace Spv.Generator public Instruction Line(Instruction file, LiteralInteger line, LiteralInteger column) { - Instruction result = new Instruction(Op.OpLine); + Instruction result = NewInstruction(Op.OpLine); result.AddOperand(file); result.AddOperand(line); @@ -150,7 +150,7 @@ namespace Spv.Generator public Instruction NoLine() { - Instruction result = new Instruction(Op.OpNoLine); + Instruction result = NewInstruction(Op.OpNoLine); AddDebug(result); @@ -159,7 +159,7 @@ namespace Spv.Generator public Instruction ModuleProcessed(string process) { - Instruction result = new Instruction(Op.OpModuleProcessed); + Instruction result = NewInstruction(Op.OpModuleProcessed); result.AddOperand(process); AddDebug(result); @@ -169,9 +169,32 @@ namespace Spv.Generator // Annotation + public Instruction Decorate(Instruction target, Decoration decoration) + { + Instruction result = NewInstruction(Op.OpDecorate); + + result.AddOperand(target); + result.AddOperand(decoration); + AddAnnotation(result); + + return result; + } + + public Instruction Decorate(Instruction target, Decoration decoration, Operand parameter) + { + Instruction result = NewInstruction(Op.OpDecorate); + + result.AddOperand(target); + result.AddOperand(decoration); + result.AddOperand(parameter); + AddAnnotation(result); + + return result; + } + public Instruction Decorate(Instruction target, Decoration decoration, params Operand[] parameters) { - Instruction result = new Instruction(Op.OpDecorate); + Instruction result = NewInstruction(Op.OpDecorate); result.AddOperand(target); result.AddOperand(decoration); @@ -181,9 +204,34 @@ namespace Spv.Generator return result; } + public Instruction MemberDecorate(Instruction structureType, LiteralInteger member, Decoration decoration) + { + Instruction result = NewInstruction(Op.OpMemberDecorate); + + result.AddOperand(structureType); + result.AddOperand(member); + result.AddOperand(decoration); + AddAnnotation(result); + + return result; + } + + public Instruction MemberDecorate(Instruction structureType, LiteralInteger member, Decoration decoration, Operand parameter) + { + Instruction result = NewInstruction(Op.OpMemberDecorate); + + result.AddOperand(structureType); + result.AddOperand(member); + result.AddOperand(decoration); + result.AddOperand(parameter); + AddAnnotation(result); + + return result; + } + public Instruction MemberDecorate(Instruction structureType, LiteralInteger member, Decoration decoration, params Operand[] parameters) { - Instruction result = new Instruction(Op.OpMemberDecorate); + Instruction result = NewInstruction(Op.OpMemberDecorate); result.AddOperand(structureType); result.AddOperand(member); @@ -196,7 +244,7 @@ namespace Spv.Generator public Instruction DecorationGroup() { - Instruction result = new Instruction(Op.OpDecorationGroup, GetNewId()); + Instruction result = NewInstruction(Op.OpDecorationGroup, GetNewId()); AddAnnotation(result); @@ -205,7 +253,7 @@ namespace Spv.Generator public Instruction GroupDecorate(Instruction decorationGroup, params Instruction[] targets) { - Instruction result = new Instruction(Op.OpGroupDecorate); + Instruction result = NewInstruction(Op.OpGroupDecorate); result.AddOperand(decorationGroup); result.AddOperand(targets); @@ -216,7 +264,7 @@ namespace Spv.Generator public Instruction GroupMemberDecorate(Instruction decorationGroup, params Operand[] targets) { - Instruction result = new Instruction(Op.OpGroupMemberDecorate); + Instruction result = NewInstruction(Op.OpGroupMemberDecorate); result.AddOperand(decorationGroup); result.AddOperand(targets); @@ -227,7 +275,7 @@ namespace Spv.Generator public Instruction DecorateId(Instruction target, Decoration decoration, params Operand[] parameters) { - Instruction result = new Instruction(Op.OpDecorateId); + Instruction result = NewInstruction(Op.OpDecorateId); result.AddOperand(target); result.AddOperand(decoration); @@ -239,7 +287,7 @@ namespace Spv.Generator public Instruction DecorateString(Instruction target, Decoration decoration, params Operand[] parameters) { - Instruction result = new Instruction(Op.OpDecorateString); + Instruction result = NewInstruction(Op.OpDecorateString); result.AddOperand(target); result.AddOperand(decoration); @@ -251,7 +299,7 @@ namespace Spv.Generator public Instruction DecorateStringGOOGLE(Instruction target, Decoration decoration, params Operand[] parameters) { - Instruction result = new Instruction(Op.OpDecorateStringGOOGLE); + Instruction result = NewInstruction(Op.OpDecorateStringGOOGLE); result.AddOperand(target); result.AddOperand(decoration); @@ -263,7 +311,7 @@ namespace Spv.Generator public Instruction MemberDecorateString(Instruction structType, LiteralInteger member, Decoration decoration, params Operand[] parameters) { - Instruction result = new Instruction(Op.OpMemberDecorateString); + Instruction result = NewInstruction(Op.OpMemberDecorateString); result.AddOperand(structType); result.AddOperand(member); @@ -276,7 +324,7 @@ namespace Spv.Generator public Instruction MemberDecorateStringGOOGLE(Instruction structType, LiteralInteger member, Decoration decoration, params Operand[] parameters) { - Instruction result = new Instruction(Op.OpMemberDecorateStringGOOGLE); + Instruction result = NewInstruction(Op.OpMemberDecorateStringGOOGLE); result.AddOperand(structType); result.AddOperand(member); @@ -291,7 +339,7 @@ namespace Spv.Generator public Instruction TypeVoid(bool forceIdAllocation = false) { - Instruction result = new Instruction(Op.OpTypeVoid); + Instruction result = NewInstruction(Op.OpTypeVoid); AddTypeDeclaration(result, forceIdAllocation); @@ -300,7 +348,7 @@ namespace Spv.Generator public Instruction TypeBool(bool forceIdAllocation = false) { - Instruction result = new Instruction(Op.OpTypeBool); + Instruction result = NewInstruction(Op.OpTypeBool); AddTypeDeclaration(result, forceIdAllocation); @@ -309,7 +357,7 @@ namespace Spv.Generator public Instruction TypeInt(LiteralInteger width, LiteralInteger signedness, bool forceIdAllocation = false) { - Instruction result = new Instruction(Op.OpTypeInt); + Instruction result = NewInstruction(Op.OpTypeInt); result.AddOperand(width); result.AddOperand(signedness); @@ -320,7 +368,7 @@ namespace Spv.Generator public Instruction TypeFloat(LiteralInteger width, bool forceIdAllocation = false) { - Instruction result = new Instruction(Op.OpTypeFloat); + Instruction result = NewInstruction(Op.OpTypeFloat); result.AddOperand(width); AddTypeDeclaration(result, forceIdAllocation); @@ -330,7 +378,7 @@ namespace Spv.Generator public Instruction TypeVector(Instruction componentType, LiteralInteger componentCount, bool forceIdAllocation = false) { - Instruction result = new Instruction(Op.OpTypeVector); + Instruction result = NewInstruction(Op.OpTypeVector); result.AddOperand(componentType); result.AddOperand(componentCount); @@ -341,7 +389,7 @@ namespace Spv.Generator public Instruction TypeMatrix(Instruction columnType, LiteralInteger columnCount, bool forceIdAllocation = false) { - Instruction result = new Instruction(Op.OpTypeMatrix); + Instruction result = NewInstruction(Op.OpTypeMatrix); result.AddOperand(columnType); result.AddOperand(columnCount); @@ -352,7 +400,7 @@ namespace Spv.Generator public Instruction TypeImage(Instruction sampledType, Dim dim, LiteralInteger depth, LiteralInteger arrayed, LiteralInteger mS, LiteralInteger sampled, ImageFormat imageFormat, AccessQualifier accessQualifier = (AccessQualifier)int.MaxValue, bool forceIdAllocation = false) { - Instruction result = new Instruction(Op.OpTypeImage); + Instruction result = NewInstruction(Op.OpTypeImage); result.AddOperand(sampledType); result.AddOperand(dim); @@ -372,7 +420,7 @@ namespace Spv.Generator public Instruction TypeSampler(bool forceIdAllocation = false) { - Instruction result = new Instruction(Op.OpTypeSampler); + Instruction result = NewInstruction(Op.OpTypeSampler); AddTypeDeclaration(result, forceIdAllocation); @@ -381,7 +429,7 @@ namespace Spv.Generator public Instruction TypeSampledImage(Instruction imageType, bool forceIdAllocation = false) { - Instruction result = new Instruction(Op.OpTypeSampledImage); + Instruction result = NewInstruction(Op.OpTypeSampledImage); result.AddOperand(imageType); AddTypeDeclaration(result, forceIdAllocation); @@ -391,7 +439,7 @@ namespace Spv.Generator public Instruction TypeArray(Instruction elementType, Instruction length, bool forceIdAllocation = false) { - Instruction result = new Instruction(Op.OpTypeArray); + Instruction result = NewInstruction(Op.OpTypeArray); result.AddOperand(elementType); result.AddOperand(length); @@ -402,7 +450,7 @@ namespace Spv.Generator public Instruction TypeRuntimeArray(Instruction elementType, bool forceIdAllocation = false) { - Instruction result = new Instruction(Op.OpTypeRuntimeArray); + Instruction result = NewInstruction(Op.OpTypeRuntimeArray); result.AddOperand(elementType); AddTypeDeclaration(result, forceIdAllocation); @@ -412,7 +460,7 @@ namespace Spv.Generator public Instruction TypeStruct(bool forceIdAllocation, params Instruction[] parameters) { - Instruction result = new Instruction(Op.OpTypeStruct); + Instruction result = NewInstruction(Op.OpTypeStruct); result.AddOperand(parameters); AddTypeDeclaration(result, forceIdAllocation); @@ -422,7 +470,7 @@ namespace Spv.Generator public Instruction TypeOpaque(string thenameoftheopaquetype, bool forceIdAllocation = false) { - Instruction result = new Instruction(Op.OpTypeOpaque); + Instruction result = NewInstruction(Op.OpTypeOpaque); result.AddOperand(thenameoftheopaquetype); AddTypeDeclaration(result, forceIdAllocation); @@ -432,7 +480,7 @@ namespace Spv.Generator public Instruction TypePointer(StorageClass storageClass, Instruction type, bool forceIdAllocation = false) { - Instruction result = new Instruction(Op.OpTypePointer); + Instruction result = NewInstruction(Op.OpTypePointer); result.AddOperand(storageClass); result.AddOperand(type); @@ -443,7 +491,7 @@ namespace Spv.Generator public Instruction TypeFunction(Instruction returnType, bool forceIdAllocation, params Instruction[] parameters) { - Instruction result = new Instruction(Op.OpTypeFunction); + Instruction result = NewInstruction(Op.OpTypeFunction); result.AddOperand(returnType); result.AddOperand(parameters); @@ -454,7 +502,7 @@ namespace Spv.Generator public Instruction TypeEvent(bool forceIdAllocation = false) { - Instruction result = new Instruction(Op.OpTypeEvent); + Instruction result = NewInstruction(Op.OpTypeEvent); AddTypeDeclaration(result, forceIdAllocation); @@ -463,7 +511,7 @@ namespace Spv.Generator public Instruction TypeDeviceEvent(bool forceIdAllocation = false) { - Instruction result = new Instruction(Op.OpTypeDeviceEvent); + Instruction result = NewInstruction(Op.OpTypeDeviceEvent); AddTypeDeclaration(result, forceIdAllocation); @@ -472,7 +520,7 @@ namespace Spv.Generator public Instruction TypeReserveId(bool forceIdAllocation = false) { - Instruction result = new Instruction(Op.OpTypeReserveId); + Instruction result = NewInstruction(Op.OpTypeReserveId); AddTypeDeclaration(result, forceIdAllocation); @@ -481,7 +529,7 @@ namespace Spv.Generator public Instruction TypeQueue(bool forceIdAllocation = false) { - Instruction result = new Instruction(Op.OpTypeQueue); + Instruction result = NewInstruction(Op.OpTypeQueue); AddTypeDeclaration(result, forceIdAllocation); @@ -490,7 +538,7 @@ namespace Spv.Generator public Instruction TypePipe(AccessQualifier qualifier, bool forceIdAllocation = false) { - Instruction result = new Instruction(Op.OpTypePipe); + Instruction result = NewInstruction(Op.OpTypePipe); result.AddOperand(qualifier); AddTypeDeclaration(result, forceIdAllocation); @@ -500,7 +548,7 @@ namespace Spv.Generator public Instruction TypeForwardPointer(Instruction pointerType, StorageClass storageClass, bool forceIdAllocation = false) { - Instruction result = new Instruction(Op.OpTypeForwardPointer); + Instruction result = NewInstruction(Op.OpTypeForwardPointer); result.AddOperand(pointerType); result.AddOperand(storageClass); @@ -511,7 +559,7 @@ namespace Spv.Generator public Instruction TypePipeStorage(bool forceIdAllocation = false) { - Instruction result = new Instruction(Op.OpTypePipeStorage); + Instruction result = NewInstruction(Op.OpTypePipeStorage); AddTypeDeclaration(result, forceIdAllocation); @@ -520,7 +568,7 @@ namespace Spv.Generator public Instruction TypeNamedBarrier(bool forceIdAllocation = false) { - Instruction result = new Instruction(Op.OpTypeNamedBarrier); + Instruction result = NewInstruction(Op.OpTypeNamedBarrier); AddTypeDeclaration(result, forceIdAllocation); @@ -531,7 +579,7 @@ namespace Spv.Generator public Instruction ConstantTrue(Instruction resultType) { - Instruction result = new Instruction(Op.OpConstantTrue, Instruction.InvalidId, resultType); + Instruction result = NewInstruction(Op.OpConstantTrue, Instruction.InvalidId, resultType); AddConstant(result); @@ -540,7 +588,7 @@ namespace Spv.Generator public Instruction ConstantFalse(Instruction resultType) { - Instruction result = new Instruction(Op.OpConstantFalse, Instruction.InvalidId, resultType); + Instruction result = NewInstruction(Op.OpConstantFalse, Instruction.InvalidId, resultType); AddConstant(result); @@ -549,7 +597,7 @@ namespace Spv.Generator public Instruction Constant(Instruction resultType, LiteralInteger value) { - Instruction result = new Instruction(Op.OpConstant, Instruction.InvalidId, resultType); + Instruction result = NewInstruction(Op.OpConstant, Instruction.InvalidId, resultType); result.AddOperand(value); AddConstant(result); @@ -559,7 +607,7 @@ namespace Spv.Generator public Instruction ConstantComposite(Instruction resultType, params Instruction[] constituents) { - Instruction result = new Instruction(Op.OpConstantComposite, Instruction.InvalidId, resultType); + Instruction result = NewInstruction(Op.OpConstantComposite, Instruction.InvalidId, resultType); result.AddOperand(constituents); AddConstant(result); @@ -569,7 +617,7 @@ namespace Spv.Generator public Instruction ConstantSampler(Instruction resultType, SamplerAddressingMode samplerAddressingMode, LiteralInteger param, SamplerFilterMode samplerFilterMode) { - Instruction result = new Instruction(Op.OpConstantSampler, Instruction.InvalidId, resultType); + Instruction result = NewInstruction(Op.OpConstantSampler, Instruction.InvalidId, resultType); result.AddOperand(samplerAddressingMode); result.AddOperand(param); @@ -581,7 +629,7 @@ namespace Spv.Generator public Instruction ConstantNull(Instruction resultType) { - Instruction result = new Instruction(Op.OpConstantNull, Instruction.InvalidId, resultType); + Instruction result = NewInstruction(Op.OpConstantNull, Instruction.InvalidId, resultType); AddConstant(result); @@ -590,7 +638,7 @@ namespace Spv.Generator public Instruction SpecConstantTrue(Instruction resultType) { - Instruction result = new Instruction(Op.OpSpecConstantTrue, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpSpecConstantTrue, GetNewId(), resultType); AddToFunctionDefinitions(result); @@ -599,7 +647,7 @@ namespace Spv.Generator public Instruction SpecConstantFalse(Instruction resultType) { - Instruction result = new Instruction(Op.OpSpecConstantFalse, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpSpecConstantFalse, GetNewId(), resultType); AddToFunctionDefinitions(result); @@ -608,7 +656,7 @@ namespace Spv.Generator public Instruction SpecConstant(Instruction resultType, LiteralInteger value) { - Instruction result = new Instruction(Op.OpSpecConstant, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpSpecConstant, GetNewId(), resultType); result.AddOperand(value); AddToFunctionDefinitions(result); @@ -618,7 +666,7 @@ namespace Spv.Generator public Instruction SpecConstantComposite(Instruction resultType, params Instruction[] constituents) { - Instruction result = new Instruction(Op.OpSpecConstantComposite, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpSpecConstantComposite, GetNewId(), resultType); result.AddOperand(constituents); AddToFunctionDefinitions(result); @@ -628,7 +676,7 @@ namespace Spv.Generator public Instruction SpecConstantOp(Instruction resultType, LiteralInteger opcode) { - Instruction result = new Instruction(Op.OpSpecConstantOp, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpSpecConstantOp, GetNewId(), resultType); result.AddOperand(opcode); AddToFunctionDefinitions(result); @@ -640,7 +688,7 @@ namespace Spv.Generator public Instruction Variable(Instruction resultType, StorageClass storageClass, Instruction initializer = null) { - Instruction result = new Instruction(Op.OpVariable, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpVariable, GetNewId(), resultType); result.AddOperand(storageClass); if (initializer != null) @@ -652,7 +700,7 @@ namespace Spv.Generator public Instruction ImageTexelPointer(Instruction resultType, Instruction image, Instruction coordinate, Instruction sample) { - Instruction result = new Instruction(Op.OpImageTexelPointer, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpImageTexelPointer, GetNewId(), resultType); result.AddOperand(image); result.AddOperand(coordinate); @@ -664,7 +712,7 @@ namespace Spv.Generator public Instruction Load(Instruction resultType, Instruction pointer, MemoryAccessMask memoryAccess = (MemoryAccessMask)int.MaxValue) { - Instruction result = new Instruction(Op.OpLoad, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpLoad, GetNewId(), resultType); result.AddOperand(pointer); if (memoryAccess != (MemoryAccessMask)int.MaxValue) @@ -678,7 +726,7 @@ namespace Spv.Generator public Instruction Store(Instruction pointer, Instruction obj, MemoryAccessMask memoryAccess = (MemoryAccessMask)int.MaxValue) { - Instruction result = new Instruction(Op.OpStore); + Instruction result = NewInstruction(Op.OpStore); result.AddOperand(pointer); result.AddOperand(obj); @@ -693,7 +741,7 @@ namespace Spv.Generator public Instruction CopyMemory(Instruction target, Instruction source, MemoryAccessMask memoryAccess0 = (MemoryAccessMask)int.MaxValue, MemoryAccessMask memoryAccess1 = (MemoryAccessMask)int.MaxValue) { - Instruction result = new Instruction(Op.OpCopyMemory); + Instruction result = NewInstruction(Op.OpCopyMemory); result.AddOperand(target); result.AddOperand(source); @@ -712,7 +760,7 @@ namespace Spv.Generator public Instruction CopyMemorySized(Instruction target, Instruction source, Instruction size, MemoryAccessMask memoryAccess0 = (MemoryAccessMask)int.MaxValue, MemoryAccessMask memoryAccess1 = (MemoryAccessMask)int.MaxValue) { - Instruction result = new Instruction(Op.OpCopyMemorySized); + Instruction result = NewInstruction(Op.OpCopyMemorySized); result.AddOperand(target); result.AddOperand(source); @@ -730,9 +778,45 @@ namespace Spv.Generator return result; } + public Instruction AccessChain(Instruction resultType, Instruction baseObj, Instruction index) + { + Instruction result = NewInstruction(Op.OpAccessChain, GetNewId(), resultType); + + result.AddOperand(baseObj); + result.AddOperand(index); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction AccessChain(Instruction resultType, Instruction baseObj, Instruction index0, Instruction index1) + { + Instruction result = NewInstruction(Op.OpAccessChain, GetNewId(), resultType); + + result.AddOperand(baseObj); + result.AddOperand(index0); + result.AddOperand(index1); + AddToFunctionDefinitions(result); + + return result; + } + + public Instruction AccessChain(Instruction resultType, Instruction baseObj, Instruction index0, Instruction index1, Instruction index2) + { + Instruction result = NewInstruction(Op.OpAccessChain, GetNewId(), resultType); + + result.AddOperand(baseObj); + result.AddOperand(index0); + result.AddOperand(index1); + result.AddOperand(index2); + AddToFunctionDefinitions(result); + + return result; + } + public Instruction AccessChain(Instruction resultType, Instruction baseObj, params Instruction[] indexes) { - Instruction result = new Instruction(Op.OpAccessChain, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpAccessChain, GetNewId(), resultType); result.AddOperand(baseObj); result.AddOperand(indexes); @@ -743,7 +827,7 @@ namespace Spv.Generator public Instruction InBoundsAccessChain(Instruction resultType, Instruction baseObj, params Instruction[] indexes) { - Instruction result = new Instruction(Op.OpInBoundsAccessChain, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpInBoundsAccessChain, GetNewId(), resultType); result.AddOperand(baseObj); result.AddOperand(indexes); @@ -754,7 +838,7 @@ namespace Spv.Generator public Instruction PtrAccessChain(Instruction resultType, Instruction baseObj, Instruction element, params Instruction[] indexes) { - Instruction result = new Instruction(Op.OpPtrAccessChain, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpPtrAccessChain, GetNewId(), resultType); result.AddOperand(baseObj); result.AddOperand(element); @@ -766,7 +850,7 @@ namespace Spv.Generator public Instruction ArrayLength(Instruction resultType, Instruction structure, LiteralInteger arraymember) { - Instruction result = new Instruction(Op.OpArrayLength, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpArrayLength, GetNewId(), resultType); result.AddOperand(structure); result.AddOperand(arraymember); @@ -777,7 +861,7 @@ namespace Spv.Generator public Instruction GenericPtrMemSemantics(Instruction resultType, Instruction pointer) { - Instruction result = new Instruction(Op.OpGenericPtrMemSemantics, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGenericPtrMemSemantics, GetNewId(), resultType); result.AddOperand(pointer); AddToFunctionDefinitions(result); @@ -787,7 +871,7 @@ namespace Spv.Generator public Instruction InBoundsPtrAccessChain(Instruction resultType, Instruction baseObj, Instruction element, params Instruction[] indexes) { - Instruction result = new Instruction(Op.OpInBoundsPtrAccessChain, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpInBoundsPtrAccessChain, GetNewId(), resultType); result.AddOperand(baseObj); result.AddOperand(element); @@ -799,7 +883,7 @@ namespace Spv.Generator public Instruction PtrEqual(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpPtrEqual, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpPtrEqual, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -810,7 +894,7 @@ namespace Spv.Generator public Instruction PtrNotEqual(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpPtrNotEqual, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpPtrNotEqual, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -821,7 +905,7 @@ namespace Spv.Generator public Instruction PtrDiff(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpPtrDiff, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpPtrDiff, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -834,7 +918,7 @@ namespace Spv.Generator public Instruction Function(Instruction resultType, FunctionControlMask functionControl, Instruction functionType) { - Instruction result = new Instruction(Op.OpFunction, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpFunction, GetNewId(), resultType); result.AddOperand(functionControl); result.AddOperand(functionType); @@ -849,7 +933,7 @@ namespace Spv.Generator public Instruction FunctionParameter(Instruction resultType) { - Instruction result = new Instruction(Op.OpFunctionParameter, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpFunctionParameter, GetNewId(), resultType); AddToFunctionDefinitions(result); @@ -858,7 +942,7 @@ namespace Spv.Generator public Instruction FunctionEnd() { - Instruction result = new Instruction(Op.OpFunctionEnd); + Instruction result = NewInstruction(Op.OpFunctionEnd); AddToFunctionDefinitions(result); @@ -867,7 +951,7 @@ namespace Spv.Generator public Instruction FunctionCall(Instruction resultType, Instruction function, params Instruction[] parameters) { - Instruction result = new Instruction(Op.OpFunctionCall, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpFunctionCall, GetNewId(), resultType); result.AddOperand(function); result.AddOperand(parameters); @@ -880,7 +964,7 @@ namespace Spv.Generator public Instruction SampledImage(Instruction resultType, Instruction image, Instruction sampler) { - Instruction result = new Instruction(Op.OpSampledImage, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpSampledImage, GetNewId(), resultType); result.AddOperand(image); result.AddOperand(sampler); @@ -891,7 +975,7 @@ namespace Spv.Generator public Instruction ImageSampleImplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { - Instruction result = new Instruction(Op.OpImageSampleImplicitLod, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpImageSampleImplicitLod, GetNewId(), resultType); result.AddOperand(sampledImage); result.AddOperand(coordinate); @@ -910,7 +994,7 @@ namespace Spv.Generator public Instruction ImageSampleExplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { - Instruction result = new Instruction(Op.OpImageSampleExplicitLod, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpImageSampleExplicitLod, GetNewId(), resultType); result.AddOperand(sampledImage); result.AddOperand(coordinate); @@ -926,7 +1010,7 @@ namespace Spv.Generator public Instruction ImageSampleDrefImplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction dRef, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { - Instruction result = new Instruction(Op.OpImageSampleDrefImplicitLod, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpImageSampleDrefImplicitLod, GetNewId(), resultType); result.AddOperand(sampledImage); result.AddOperand(coordinate); @@ -946,7 +1030,7 @@ namespace Spv.Generator public Instruction ImageSampleDrefExplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction dRef, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { - Instruction result = new Instruction(Op.OpImageSampleDrefExplicitLod, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpImageSampleDrefExplicitLod, GetNewId(), resultType); result.AddOperand(sampledImage); result.AddOperand(coordinate); @@ -963,7 +1047,7 @@ namespace Spv.Generator public Instruction ImageSampleProjImplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { - Instruction result = new Instruction(Op.OpImageSampleProjImplicitLod, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpImageSampleProjImplicitLod, GetNewId(), resultType); result.AddOperand(sampledImage); result.AddOperand(coordinate); @@ -982,7 +1066,7 @@ namespace Spv.Generator public Instruction ImageSampleProjExplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { - Instruction result = new Instruction(Op.OpImageSampleProjExplicitLod, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpImageSampleProjExplicitLod, GetNewId(), resultType); result.AddOperand(sampledImage); result.AddOperand(coordinate); @@ -998,7 +1082,7 @@ namespace Spv.Generator public Instruction ImageSampleProjDrefImplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction dRef, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { - Instruction result = new Instruction(Op.OpImageSampleProjDrefImplicitLod, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpImageSampleProjDrefImplicitLod, GetNewId(), resultType); result.AddOperand(sampledImage); result.AddOperand(coordinate); @@ -1018,7 +1102,7 @@ namespace Spv.Generator public Instruction ImageSampleProjDrefExplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction dRef, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { - Instruction result = new Instruction(Op.OpImageSampleProjDrefExplicitLod, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpImageSampleProjDrefExplicitLod, GetNewId(), resultType); result.AddOperand(sampledImage); result.AddOperand(coordinate); @@ -1035,7 +1119,7 @@ namespace Spv.Generator public Instruction ImageFetch(Instruction resultType, Instruction image, Instruction coordinate, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { - Instruction result = new Instruction(Op.OpImageFetch, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpImageFetch, GetNewId(), resultType); result.AddOperand(image); result.AddOperand(coordinate); @@ -1054,7 +1138,7 @@ namespace Spv.Generator public Instruction ImageGather(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction component, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { - Instruction result = new Instruction(Op.OpImageGather, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpImageGather, GetNewId(), resultType); result.AddOperand(sampledImage); result.AddOperand(coordinate); @@ -1074,7 +1158,7 @@ namespace Spv.Generator public Instruction ImageDrefGather(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction dRef, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { - Instruction result = new Instruction(Op.OpImageDrefGather, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpImageDrefGather, GetNewId(), resultType); result.AddOperand(sampledImage); result.AddOperand(coordinate); @@ -1094,7 +1178,7 @@ namespace Spv.Generator public Instruction ImageRead(Instruction resultType, Instruction image, Instruction coordinate, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { - Instruction result = new Instruction(Op.OpImageRead, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpImageRead, GetNewId(), resultType); result.AddOperand(image); result.AddOperand(coordinate); @@ -1113,7 +1197,7 @@ namespace Spv.Generator public Instruction ImageWrite(Instruction image, Instruction coordinate, Instruction texel, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { - Instruction result = new Instruction(Op.OpImageWrite); + Instruction result = NewInstruction(Op.OpImageWrite); result.AddOperand(image); result.AddOperand(coordinate); @@ -1133,7 +1217,7 @@ namespace Spv.Generator public Instruction Image(Instruction resultType, Instruction sampledImage) { - Instruction result = new Instruction(Op.OpImage, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpImage, GetNewId(), resultType); result.AddOperand(sampledImage); AddToFunctionDefinitions(result); @@ -1143,7 +1227,7 @@ namespace Spv.Generator public Instruction ImageQueryFormat(Instruction resultType, Instruction image) { - Instruction result = new Instruction(Op.OpImageQueryFormat, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpImageQueryFormat, GetNewId(), resultType); result.AddOperand(image); AddToFunctionDefinitions(result); @@ -1153,7 +1237,7 @@ namespace Spv.Generator public Instruction ImageQueryOrder(Instruction resultType, Instruction image) { - Instruction result = new Instruction(Op.OpImageQueryOrder, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpImageQueryOrder, GetNewId(), resultType); result.AddOperand(image); AddToFunctionDefinitions(result); @@ -1163,7 +1247,7 @@ namespace Spv.Generator public Instruction ImageQuerySizeLod(Instruction resultType, Instruction image, Instruction levelofDetail) { - Instruction result = new Instruction(Op.OpImageQuerySizeLod, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpImageQuerySizeLod, GetNewId(), resultType); result.AddOperand(image); result.AddOperand(levelofDetail); @@ -1174,7 +1258,7 @@ namespace Spv.Generator public Instruction ImageQuerySize(Instruction resultType, Instruction image) { - Instruction result = new Instruction(Op.OpImageQuerySize, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpImageQuerySize, GetNewId(), resultType); result.AddOperand(image); AddToFunctionDefinitions(result); @@ -1184,7 +1268,7 @@ namespace Spv.Generator public Instruction ImageQueryLod(Instruction resultType, Instruction sampledImage, Instruction coordinate) { - Instruction result = new Instruction(Op.OpImageQueryLod, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpImageQueryLod, GetNewId(), resultType); result.AddOperand(sampledImage); result.AddOperand(coordinate); @@ -1195,7 +1279,7 @@ namespace Spv.Generator public Instruction ImageQueryLevels(Instruction resultType, Instruction image) { - Instruction result = new Instruction(Op.OpImageQueryLevels, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpImageQueryLevels, GetNewId(), resultType); result.AddOperand(image); AddToFunctionDefinitions(result); @@ -1205,7 +1289,7 @@ namespace Spv.Generator public Instruction ImageQuerySamples(Instruction resultType, Instruction image) { - Instruction result = new Instruction(Op.OpImageQuerySamples, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpImageQuerySamples, GetNewId(), resultType); result.AddOperand(image); AddToFunctionDefinitions(result); @@ -1215,7 +1299,7 @@ namespace Spv.Generator public Instruction ImageSparseSampleImplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { - Instruction result = new Instruction(Op.OpImageSparseSampleImplicitLod, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpImageSparseSampleImplicitLod, GetNewId(), resultType); result.AddOperand(sampledImage); result.AddOperand(coordinate); @@ -1234,7 +1318,7 @@ namespace Spv.Generator public Instruction ImageSparseSampleExplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { - Instruction result = new Instruction(Op.OpImageSparseSampleExplicitLod, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpImageSparseSampleExplicitLod, GetNewId(), resultType); result.AddOperand(sampledImage); result.AddOperand(coordinate); @@ -1250,7 +1334,7 @@ namespace Spv.Generator public Instruction ImageSparseSampleDrefImplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction dRef, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { - Instruction result = new Instruction(Op.OpImageSparseSampleDrefImplicitLod, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpImageSparseSampleDrefImplicitLod, GetNewId(), resultType); result.AddOperand(sampledImage); result.AddOperand(coordinate); @@ -1270,7 +1354,7 @@ namespace Spv.Generator public Instruction ImageSparseSampleDrefExplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction dRef, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { - Instruction result = new Instruction(Op.OpImageSparseSampleDrefExplicitLod, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpImageSparseSampleDrefExplicitLod, GetNewId(), resultType); result.AddOperand(sampledImage); result.AddOperand(coordinate); @@ -1287,7 +1371,7 @@ namespace Spv.Generator public Instruction ImageSparseSampleProjImplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { - Instruction result = new Instruction(Op.OpImageSparseSampleProjImplicitLod, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpImageSparseSampleProjImplicitLod, GetNewId(), resultType); result.AddOperand(sampledImage); result.AddOperand(coordinate); @@ -1306,7 +1390,7 @@ namespace Spv.Generator public Instruction ImageSparseSampleProjExplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { - Instruction result = new Instruction(Op.OpImageSparseSampleProjExplicitLod, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpImageSparseSampleProjExplicitLod, GetNewId(), resultType); result.AddOperand(sampledImage); result.AddOperand(coordinate); @@ -1322,7 +1406,7 @@ namespace Spv.Generator public Instruction ImageSparseSampleProjDrefImplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction dRef, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { - Instruction result = new Instruction(Op.OpImageSparseSampleProjDrefImplicitLod, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpImageSparseSampleProjDrefImplicitLod, GetNewId(), resultType); result.AddOperand(sampledImage); result.AddOperand(coordinate); @@ -1342,7 +1426,7 @@ namespace Spv.Generator public Instruction ImageSparseSampleProjDrefExplicitLod(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction dRef, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { - Instruction result = new Instruction(Op.OpImageSparseSampleProjDrefExplicitLod, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpImageSparseSampleProjDrefExplicitLod, GetNewId(), resultType); result.AddOperand(sampledImage); result.AddOperand(coordinate); @@ -1359,7 +1443,7 @@ namespace Spv.Generator public Instruction ImageSparseFetch(Instruction resultType, Instruction image, Instruction coordinate, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { - Instruction result = new Instruction(Op.OpImageSparseFetch, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpImageSparseFetch, GetNewId(), resultType); result.AddOperand(image); result.AddOperand(coordinate); @@ -1378,7 +1462,7 @@ namespace Spv.Generator public Instruction ImageSparseGather(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction component, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { - Instruction result = new Instruction(Op.OpImageSparseGather, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpImageSparseGather, GetNewId(), resultType); result.AddOperand(sampledImage); result.AddOperand(coordinate); @@ -1398,7 +1482,7 @@ namespace Spv.Generator public Instruction ImageSparseDrefGather(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction dRef, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { - Instruction result = new Instruction(Op.OpImageSparseDrefGather, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpImageSparseDrefGather, GetNewId(), resultType); result.AddOperand(sampledImage); result.AddOperand(coordinate); @@ -1418,7 +1502,7 @@ namespace Spv.Generator public Instruction ImageSparseTexelsResident(Instruction resultType, Instruction residentCode) { - Instruction result = new Instruction(Op.OpImageSparseTexelsResident, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpImageSparseTexelsResident, GetNewId(), resultType); result.AddOperand(residentCode); AddToFunctionDefinitions(result); @@ -1428,7 +1512,7 @@ namespace Spv.Generator public Instruction ImageSparseRead(Instruction resultType, Instruction image, Instruction coordinate, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { - Instruction result = new Instruction(Op.OpImageSparseRead, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpImageSparseRead, GetNewId(), resultType); result.AddOperand(image); result.AddOperand(coordinate); @@ -1447,7 +1531,7 @@ namespace Spv.Generator public Instruction ImageSampleFootprintNV(Instruction resultType, Instruction sampledImage, Instruction coordinate, Instruction granularity, Instruction coarse, ImageOperandsMask imageOperands, params Instruction[] imageOperandIds) { - Instruction result = new Instruction(Op.OpImageSampleFootprintNV, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpImageSampleFootprintNV, GetNewId(), resultType); result.AddOperand(sampledImage); result.AddOperand(coordinate); @@ -1470,7 +1554,7 @@ namespace Spv.Generator public Instruction ConvertFToU(Instruction resultType, Instruction floatValue) { - Instruction result = new Instruction(Op.OpConvertFToU, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpConvertFToU, GetNewId(), resultType); result.AddOperand(floatValue); AddToFunctionDefinitions(result); @@ -1480,7 +1564,7 @@ namespace Spv.Generator public Instruction ConvertFToS(Instruction resultType, Instruction floatValue) { - Instruction result = new Instruction(Op.OpConvertFToS, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpConvertFToS, GetNewId(), resultType); result.AddOperand(floatValue); AddToFunctionDefinitions(result); @@ -1490,7 +1574,7 @@ namespace Spv.Generator public Instruction ConvertSToF(Instruction resultType, Instruction signedValue) { - Instruction result = new Instruction(Op.OpConvertSToF, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpConvertSToF, GetNewId(), resultType); result.AddOperand(signedValue); AddToFunctionDefinitions(result); @@ -1500,7 +1584,7 @@ namespace Spv.Generator public Instruction ConvertUToF(Instruction resultType, Instruction unsignedValue) { - Instruction result = new Instruction(Op.OpConvertUToF, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpConvertUToF, GetNewId(), resultType); result.AddOperand(unsignedValue); AddToFunctionDefinitions(result); @@ -1510,7 +1594,7 @@ namespace Spv.Generator public Instruction UConvert(Instruction resultType, Instruction unsignedValue) { - Instruction result = new Instruction(Op.OpUConvert, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpUConvert, GetNewId(), resultType); result.AddOperand(unsignedValue); AddToFunctionDefinitions(result); @@ -1520,7 +1604,7 @@ namespace Spv.Generator public Instruction SConvert(Instruction resultType, Instruction signedValue) { - Instruction result = new Instruction(Op.OpSConvert, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpSConvert, GetNewId(), resultType); result.AddOperand(signedValue); AddToFunctionDefinitions(result); @@ -1530,7 +1614,7 @@ namespace Spv.Generator public Instruction FConvert(Instruction resultType, Instruction floatValue) { - Instruction result = new Instruction(Op.OpFConvert, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpFConvert, GetNewId(), resultType); result.AddOperand(floatValue); AddToFunctionDefinitions(result); @@ -1540,7 +1624,7 @@ namespace Spv.Generator public Instruction QuantizeToF16(Instruction resultType, Instruction value) { - Instruction result = new Instruction(Op.OpQuantizeToF16, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpQuantizeToF16, GetNewId(), resultType); result.AddOperand(value); AddToFunctionDefinitions(result); @@ -1550,7 +1634,7 @@ namespace Spv.Generator public Instruction ConvertPtrToU(Instruction resultType, Instruction pointer) { - Instruction result = new Instruction(Op.OpConvertPtrToU, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpConvertPtrToU, GetNewId(), resultType); result.AddOperand(pointer); AddToFunctionDefinitions(result); @@ -1560,7 +1644,7 @@ namespace Spv.Generator public Instruction SatConvertSToU(Instruction resultType, Instruction signedValue) { - Instruction result = new Instruction(Op.OpSatConvertSToU, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpSatConvertSToU, GetNewId(), resultType); result.AddOperand(signedValue); AddToFunctionDefinitions(result); @@ -1570,7 +1654,7 @@ namespace Spv.Generator public Instruction SatConvertUToS(Instruction resultType, Instruction unsignedValue) { - Instruction result = new Instruction(Op.OpSatConvertUToS, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpSatConvertUToS, GetNewId(), resultType); result.AddOperand(unsignedValue); AddToFunctionDefinitions(result); @@ -1580,7 +1664,7 @@ namespace Spv.Generator public Instruction ConvertUToPtr(Instruction resultType, Instruction integerValue) { - Instruction result = new Instruction(Op.OpConvertUToPtr, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpConvertUToPtr, GetNewId(), resultType); result.AddOperand(integerValue); AddToFunctionDefinitions(result); @@ -1590,7 +1674,7 @@ namespace Spv.Generator public Instruction PtrCastToGeneric(Instruction resultType, Instruction pointer) { - Instruction result = new Instruction(Op.OpPtrCastToGeneric, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpPtrCastToGeneric, GetNewId(), resultType); result.AddOperand(pointer); AddToFunctionDefinitions(result); @@ -1600,7 +1684,7 @@ namespace Spv.Generator public Instruction GenericCastToPtr(Instruction resultType, Instruction pointer) { - Instruction result = new Instruction(Op.OpGenericCastToPtr, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGenericCastToPtr, GetNewId(), resultType); result.AddOperand(pointer); AddToFunctionDefinitions(result); @@ -1610,7 +1694,7 @@ namespace Spv.Generator public Instruction GenericCastToPtrExplicit(Instruction resultType, Instruction pointer, StorageClass storage) { - Instruction result = new Instruction(Op.OpGenericCastToPtrExplicit, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGenericCastToPtrExplicit, GetNewId(), resultType); result.AddOperand(pointer); result.AddOperand(storage); @@ -1621,7 +1705,7 @@ namespace Spv.Generator public Instruction Bitcast(Instruction resultType, Instruction operand) { - Instruction result = new Instruction(Op.OpBitcast, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpBitcast, GetNewId(), resultType); result.AddOperand(operand); AddToFunctionDefinitions(result); @@ -1633,7 +1717,7 @@ namespace Spv.Generator public Instruction VectorExtractDynamic(Instruction resultType, Instruction vector, Instruction index) { - Instruction result = new Instruction(Op.OpVectorExtractDynamic, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpVectorExtractDynamic, GetNewId(), resultType); result.AddOperand(vector); result.AddOperand(index); @@ -1644,7 +1728,7 @@ namespace Spv.Generator public Instruction VectorInsertDynamic(Instruction resultType, Instruction vector, Instruction component, Instruction index) { - Instruction result = new Instruction(Op.OpVectorInsertDynamic, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpVectorInsertDynamic, GetNewId(), resultType); result.AddOperand(vector); result.AddOperand(component); @@ -1656,7 +1740,7 @@ namespace Spv.Generator public Instruction VectorShuffle(Instruction resultType, Instruction vector1, Instruction vector2, params LiteralInteger[] components) { - Instruction result = new Instruction(Op.OpVectorShuffle, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpVectorShuffle, GetNewId(), resultType); result.AddOperand(vector1); result.AddOperand(vector2); @@ -1668,7 +1752,7 @@ namespace Spv.Generator public Instruction CompositeConstruct(Instruction resultType, params Instruction[] constituents) { - Instruction result = new Instruction(Op.OpCompositeConstruct, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpCompositeConstruct, GetNewId(), resultType); result.AddOperand(constituents); AddToFunctionDefinitions(result); @@ -1678,7 +1762,7 @@ namespace Spv.Generator public Instruction CompositeExtract(Instruction resultType, Instruction composite, params LiteralInteger[] indexes) { - Instruction result = new Instruction(Op.OpCompositeExtract, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpCompositeExtract, GetNewId(), resultType); result.AddOperand(composite); result.AddOperand(indexes); @@ -1689,7 +1773,7 @@ namespace Spv.Generator public Instruction CompositeInsert(Instruction resultType, Instruction obj, Instruction composite, params LiteralInteger[] indexes) { - Instruction result = new Instruction(Op.OpCompositeInsert, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpCompositeInsert, GetNewId(), resultType); result.AddOperand(obj); result.AddOperand(composite); @@ -1701,7 +1785,7 @@ namespace Spv.Generator public Instruction CopyObject(Instruction resultType, Instruction operand) { - Instruction result = new Instruction(Op.OpCopyObject, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpCopyObject, GetNewId(), resultType); result.AddOperand(operand); AddToFunctionDefinitions(result); @@ -1711,7 +1795,7 @@ namespace Spv.Generator public Instruction Transpose(Instruction resultType, Instruction matrix) { - Instruction result = new Instruction(Op.OpTranspose, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpTranspose, GetNewId(), resultType); result.AddOperand(matrix); AddToFunctionDefinitions(result); @@ -1721,7 +1805,7 @@ namespace Spv.Generator public Instruction CopyLogical(Instruction resultType, Instruction operand) { - Instruction result = new Instruction(Op.OpCopyLogical, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpCopyLogical, GetNewId(), resultType); result.AddOperand(operand); AddToFunctionDefinitions(result); @@ -1733,7 +1817,7 @@ namespace Spv.Generator public Instruction SNegate(Instruction resultType, Instruction operand) { - Instruction result = new Instruction(Op.OpSNegate, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpSNegate, GetNewId(), resultType); result.AddOperand(operand); AddToFunctionDefinitions(result); @@ -1743,7 +1827,7 @@ namespace Spv.Generator public Instruction FNegate(Instruction resultType, Instruction operand) { - Instruction result = new Instruction(Op.OpFNegate, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpFNegate, GetNewId(), resultType); result.AddOperand(operand); AddToFunctionDefinitions(result); @@ -1753,7 +1837,7 @@ namespace Spv.Generator public Instruction IAdd(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpIAdd, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpIAdd, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -1764,7 +1848,7 @@ namespace Spv.Generator public Instruction FAdd(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpFAdd, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpFAdd, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -1775,7 +1859,7 @@ namespace Spv.Generator public Instruction ISub(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpISub, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpISub, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -1786,7 +1870,7 @@ namespace Spv.Generator public Instruction FSub(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpFSub, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpFSub, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -1797,7 +1881,7 @@ namespace Spv.Generator public Instruction IMul(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpIMul, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpIMul, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -1808,7 +1892,7 @@ namespace Spv.Generator public Instruction FMul(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpFMul, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpFMul, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -1819,7 +1903,7 @@ namespace Spv.Generator public Instruction UDiv(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpUDiv, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpUDiv, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -1830,7 +1914,7 @@ namespace Spv.Generator public Instruction SDiv(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpSDiv, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpSDiv, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -1841,7 +1925,7 @@ namespace Spv.Generator public Instruction FDiv(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpFDiv, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpFDiv, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -1852,7 +1936,7 @@ namespace Spv.Generator public Instruction UMod(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpUMod, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpUMod, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -1863,7 +1947,7 @@ namespace Spv.Generator public Instruction SRem(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpSRem, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpSRem, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -1874,7 +1958,7 @@ namespace Spv.Generator public Instruction SMod(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpSMod, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpSMod, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -1885,7 +1969,7 @@ namespace Spv.Generator public Instruction FRem(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpFRem, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpFRem, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -1896,7 +1980,7 @@ namespace Spv.Generator public Instruction FMod(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpFMod, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpFMod, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -1907,7 +1991,7 @@ namespace Spv.Generator public Instruction VectorTimesScalar(Instruction resultType, Instruction vector, Instruction scalar) { - Instruction result = new Instruction(Op.OpVectorTimesScalar, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpVectorTimesScalar, GetNewId(), resultType); result.AddOperand(vector); result.AddOperand(scalar); @@ -1918,7 +2002,7 @@ namespace Spv.Generator public Instruction MatrixTimesScalar(Instruction resultType, Instruction matrix, Instruction scalar) { - Instruction result = new Instruction(Op.OpMatrixTimesScalar, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpMatrixTimesScalar, GetNewId(), resultType); result.AddOperand(matrix); result.AddOperand(scalar); @@ -1929,7 +2013,7 @@ namespace Spv.Generator public Instruction VectorTimesMatrix(Instruction resultType, Instruction vector, Instruction matrix) { - Instruction result = new Instruction(Op.OpVectorTimesMatrix, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpVectorTimesMatrix, GetNewId(), resultType); result.AddOperand(vector); result.AddOperand(matrix); @@ -1940,7 +2024,7 @@ namespace Spv.Generator public Instruction MatrixTimesVector(Instruction resultType, Instruction matrix, Instruction vector) { - Instruction result = new Instruction(Op.OpMatrixTimesVector, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpMatrixTimesVector, GetNewId(), resultType); result.AddOperand(matrix); result.AddOperand(vector); @@ -1951,7 +2035,7 @@ namespace Spv.Generator public Instruction MatrixTimesMatrix(Instruction resultType, Instruction leftMatrix, Instruction rightMatrix) { - Instruction result = new Instruction(Op.OpMatrixTimesMatrix, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpMatrixTimesMatrix, GetNewId(), resultType); result.AddOperand(leftMatrix); result.AddOperand(rightMatrix); @@ -1962,7 +2046,7 @@ namespace Spv.Generator public Instruction OuterProduct(Instruction resultType, Instruction vector1, Instruction vector2) { - Instruction result = new Instruction(Op.OpOuterProduct, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpOuterProduct, GetNewId(), resultType); result.AddOperand(vector1); result.AddOperand(vector2); @@ -1973,7 +2057,7 @@ namespace Spv.Generator public Instruction Dot(Instruction resultType, Instruction vector1, Instruction vector2) { - Instruction result = new Instruction(Op.OpDot, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpDot, GetNewId(), resultType); result.AddOperand(vector1); result.AddOperand(vector2); @@ -1984,7 +2068,7 @@ namespace Spv.Generator public Instruction IAddCarry(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpIAddCarry, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpIAddCarry, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -1995,7 +2079,7 @@ namespace Spv.Generator public Instruction ISubBorrow(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpISubBorrow, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpISubBorrow, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -2006,7 +2090,7 @@ namespace Spv.Generator public Instruction UMulExtended(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpUMulExtended, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpUMulExtended, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -2017,7 +2101,7 @@ namespace Spv.Generator public Instruction SMulExtended(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpSMulExtended, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpSMulExtended, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -2030,7 +2114,7 @@ namespace Spv.Generator public Instruction ShiftRightLogical(Instruction resultType, Instruction baseObj, Instruction shift) { - Instruction result = new Instruction(Op.OpShiftRightLogical, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpShiftRightLogical, GetNewId(), resultType); result.AddOperand(baseObj); result.AddOperand(shift); @@ -2041,7 +2125,7 @@ namespace Spv.Generator public Instruction ShiftRightArithmetic(Instruction resultType, Instruction baseObj, Instruction shift) { - Instruction result = new Instruction(Op.OpShiftRightArithmetic, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpShiftRightArithmetic, GetNewId(), resultType); result.AddOperand(baseObj); result.AddOperand(shift); @@ -2052,7 +2136,7 @@ namespace Spv.Generator public Instruction ShiftLeftLogical(Instruction resultType, Instruction baseObj, Instruction shift) { - Instruction result = new Instruction(Op.OpShiftLeftLogical, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpShiftLeftLogical, GetNewId(), resultType); result.AddOperand(baseObj); result.AddOperand(shift); @@ -2063,7 +2147,7 @@ namespace Spv.Generator public Instruction BitwiseOr(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpBitwiseOr, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpBitwiseOr, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -2074,7 +2158,7 @@ namespace Spv.Generator public Instruction BitwiseXor(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpBitwiseXor, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpBitwiseXor, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -2085,7 +2169,7 @@ namespace Spv.Generator public Instruction BitwiseAnd(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpBitwiseAnd, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpBitwiseAnd, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -2096,7 +2180,7 @@ namespace Spv.Generator public Instruction Not(Instruction resultType, Instruction operand) { - Instruction result = new Instruction(Op.OpNot, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpNot, GetNewId(), resultType); result.AddOperand(operand); AddToFunctionDefinitions(result); @@ -2106,7 +2190,7 @@ namespace Spv.Generator public Instruction BitFieldInsert(Instruction resultType, Instruction baseObj, Instruction insert, Instruction offset, Instruction count) { - Instruction result = new Instruction(Op.OpBitFieldInsert, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpBitFieldInsert, GetNewId(), resultType); result.AddOperand(baseObj); result.AddOperand(insert); @@ -2119,7 +2203,7 @@ namespace Spv.Generator public Instruction BitFieldSExtract(Instruction resultType, Instruction baseObj, Instruction offset, Instruction count) { - Instruction result = new Instruction(Op.OpBitFieldSExtract, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpBitFieldSExtract, GetNewId(), resultType); result.AddOperand(baseObj); result.AddOperand(offset); @@ -2131,7 +2215,7 @@ namespace Spv.Generator public Instruction BitFieldUExtract(Instruction resultType, Instruction baseObj, Instruction offset, Instruction count) { - Instruction result = new Instruction(Op.OpBitFieldUExtract, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpBitFieldUExtract, GetNewId(), resultType); result.AddOperand(baseObj); result.AddOperand(offset); @@ -2143,7 +2227,7 @@ namespace Spv.Generator public Instruction BitReverse(Instruction resultType, Instruction baseObj) { - Instruction result = new Instruction(Op.OpBitReverse, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpBitReverse, GetNewId(), resultType); result.AddOperand(baseObj); AddToFunctionDefinitions(result); @@ -2153,7 +2237,7 @@ namespace Spv.Generator public Instruction BitCount(Instruction resultType, Instruction baseObj) { - Instruction result = new Instruction(Op.OpBitCount, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpBitCount, GetNewId(), resultType); result.AddOperand(baseObj); AddToFunctionDefinitions(result); @@ -2165,7 +2249,7 @@ namespace Spv.Generator public Instruction Any(Instruction resultType, Instruction vector) { - Instruction result = new Instruction(Op.OpAny, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpAny, GetNewId(), resultType); result.AddOperand(vector); AddToFunctionDefinitions(result); @@ -2175,7 +2259,7 @@ namespace Spv.Generator public Instruction All(Instruction resultType, Instruction vector) { - Instruction result = new Instruction(Op.OpAll, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpAll, GetNewId(), resultType); result.AddOperand(vector); AddToFunctionDefinitions(result); @@ -2185,7 +2269,7 @@ namespace Spv.Generator public Instruction IsNan(Instruction resultType, Instruction x) { - Instruction result = new Instruction(Op.OpIsNan, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpIsNan, GetNewId(), resultType); result.AddOperand(x); AddToFunctionDefinitions(result); @@ -2195,7 +2279,7 @@ namespace Spv.Generator public Instruction IsInf(Instruction resultType, Instruction x) { - Instruction result = new Instruction(Op.OpIsInf, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpIsInf, GetNewId(), resultType); result.AddOperand(x); AddToFunctionDefinitions(result); @@ -2205,7 +2289,7 @@ namespace Spv.Generator public Instruction IsFinite(Instruction resultType, Instruction x) { - Instruction result = new Instruction(Op.OpIsFinite, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpIsFinite, GetNewId(), resultType); result.AddOperand(x); AddToFunctionDefinitions(result); @@ -2215,7 +2299,7 @@ namespace Spv.Generator public Instruction IsNormal(Instruction resultType, Instruction x) { - Instruction result = new Instruction(Op.OpIsNormal, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpIsNormal, GetNewId(), resultType); result.AddOperand(x); AddToFunctionDefinitions(result); @@ -2225,7 +2309,7 @@ namespace Spv.Generator public Instruction SignBitSet(Instruction resultType, Instruction x) { - Instruction result = new Instruction(Op.OpSignBitSet, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpSignBitSet, GetNewId(), resultType); result.AddOperand(x); AddToFunctionDefinitions(result); @@ -2235,7 +2319,7 @@ namespace Spv.Generator public Instruction LessOrGreater(Instruction resultType, Instruction x, Instruction y) { - Instruction result = new Instruction(Op.OpLessOrGreater, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpLessOrGreater, GetNewId(), resultType); result.AddOperand(x); result.AddOperand(y); @@ -2246,7 +2330,7 @@ namespace Spv.Generator public Instruction Ordered(Instruction resultType, Instruction x, Instruction y) { - Instruction result = new Instruction(Op.OpOrdered, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpOrdered, GetNewId(), resultType); result.AddOperand(x); result.AddOperand(y); @@ -2257,7 +2341,7 @@ namespace Spv.Generator public Instruction Unordered(Instruction resultType, Instruction x, Instruction y) { - Instruction result = new Instruction(Op.OpUnordered, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpUnordered, GetNewId(), resultType); result.AddOperand(x); result.AddOperand(y); @@ -2268,7 +2352,7 @@ namespace Spv.Generator public Instruction LogicalEqual(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpLogicalEqual, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpLogicalEqual, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -2279,7 +2363,7 @@ namespace Spv.Generator public Instruction LogicalNotEqual(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpLogicalNotEqual, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpLogicalNotEqual, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -2290,7 +2374,7 @@ namespace Spv.Generator public Instruction LogicalOr(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpLogicalOr, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpLogicalOr, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -2301,7 +2385,7 @@ namespace Spv.Generator public Instruction LogicalAnd(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpLogicalAnd, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpLogicalAnd, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -2312,7 +2396,7 @@ namespace Spv.Generator public Instruction LogicalNot(Instruction resultType, Instruction operand) { - Instruction result = new Instruction(Op.OpLogicalNot, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpLogicalNot, GetNewId(), resultType); result.AddOperand(operand); AddToFunctionDefinitions(result); @@ -2322,7 +2406,7 @@ namespace Spv.Generator public Instruction Select(Instruction resultType, Instruction condition, Instruction object1, Instruction object2) { - Instruction result = new Instruction(Op.OpSelect, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpSelect, GetNewId(), resultType); result.AddOperand(condition); result.AddOperand(object1); @@ -2334,7 +2418,7 @@ namespace Spv.Generator public Instruction IEqual(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpIEqual, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpIEqual, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -2345,7 +2429,7 @@ namespace Spv.Generator public Instruction INotEqual(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpINotEqual, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpINotEqual, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -2356,7 +2440,7 @@ namespace Spv.Generator public Instruction UGreaterThan(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpUGreaterThan, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpUGreaterThan, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -2367,7 +2451,7 @@ namespace Spv.Generator public Instruction SGreaterThan(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpSGreaterThan, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpSGreaterThan, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -2378,7 +2462,7 @@ namespace Spv.Generator public Instruction UGreaterThanEqual(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpUGreaterThanEqual, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpUGreaterThanEqual, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -2389,7 +2473,7 @@ namespace Spv.Generator public Instruction SGreaterThanEqual(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpSGreaterThanEqual, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpSGreaterThanEqual, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -2400,7 +2484,7 @@ namespace Spv.Generator public Instruction ULessThan(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpULessThan, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpULessThan, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -2411,7 +2495,7 @@ namespace Spv.Generator public Instruction SLessThan(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpSLessThan, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpSLessThan, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -2422,7 +2506,7 @@ namespace Spv.Generator public Instruction ULessThanEqual(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpULessThanEqual, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpULessThanEqual, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -2433,7 +2517,7 @@ namespace Spv.Generator public Instruction SLessThanEqual(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpSLessThanEqual, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpSLessThanEqual, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -2444,7 +2528,7 @@ namespace Spv.Generator public Instruction FOrdEqual(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpFOrdEqual, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpFOrdEqual, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -2455,7 +2539,7 @@ namespace Spv.Generator public Instruction FUnordEqual(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpFUnordEqual, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpFUnordEqual, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -2466,7 +2550,7 @@ namespace Spv.Generator public Instruction FOrdNotEqual(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpFOrdNotEqual, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpFOrdNotEqual, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -2477,7 +2561,7 @@ namespace Spv.Generator public Instruction FUnordNotEqual(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpFUnordNotEqual, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpFUnordNotEqual, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -2488,7 +2572,7 @@ namespace Spv.Generator public Instruction FOrdLessThan(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpFOrdLessThan, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpFOrdLessThan, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -2499,7 +2583,7 @@ namespace Spv.Generator public Instruction FUnordLessThan(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpFUnordLessThan, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpFUnordLessThan, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -2510,7 +2594,7 @@ namespace Spv.Generator public Instruction FOrdGreaterThan(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpFOrdGreaterThan, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpFOrdGreaterThan, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -2521,7 +2605,7 @@ namespace Spv.Generator public Instruction FUnordGreaterThan(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpFUnordGreaterThan, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpFUnordGreaterThan, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -2532,7 +2616,7 @@ namespace Spv.Generator public Instruction FOrdLessThanEqual(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpFOrdLessThanEqual, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpFOrdLessThanEqual, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -2543,7 +2627,7 @@ namespace Spv.Generator public Instruction FUnordLessThanEqual(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpFUnordLessThanEqual, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpFUnordLessThanEqual, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -2554,7 +2638,7 @@ namespace Spv.Generator public Instruction FOrdGreaterThanEqual(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpFOrdGreaterThanEqual, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpFOrdGreaterThanEqual, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -2565,7 +2649,7 @@ namespace Spv.Generator public Instruction FUnordGreaterThanEqual(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpFUnordGreaterThanEqual, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpFUnordGreaterThanEqual, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -2578,7 +2662,7 @@ namespace Spv.Generator public Instruction DPdx(Instruction resultType, Instruction p) { - Instruction result = new Instruction(Op.OpDPdx, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpDPdx, GetNewId(), resultType); result.AddOperand(p); AddToFunctionDefinitions(result); @@ -2588,7 +2672,7 @@ namespace Spv.Generator public Instruction DPdy(Instruction resultType, Instruction p) { - Instruction result = new Instruction(Op.OpDPdy, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpDPdy, GetNewId(), resultType); result.AddOperand(p); AddToFunctionDefinitions(result); @@ -2598,7 +2682,7 @@ namespace Spv.Generator public Instruction Fwidth(Instruction resultType, Instruction p) { - Instruction result = new Instruction(Op.OpFwidth, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpFwidth, GetNewId(), resultType); result.AddOperand(p); AddToFunctionDefinitions(result); @@ -2608,7 +2692,7 @@ namespace Spv.Generator public Instruction DPdxFine(Instruction resultType, Instruction p) { - Instruction result = new Instruction(Op.OpDPdxFine, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpDPdxFine, GetNewId(), resultType); result.AddOperand(p); AddToFunctionDefinitions(result); @@ -2618,7 +2702,7 @@ namespace Spv.Generator public Instruction DPdyFine(Instruction resultType, Instruction p) { - Instruction result = new Instruction(Op.OpDPdyFine, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpDPdyFine, GetNewId(), resultType); result.AddOperand(p); AddToFunctionDefinitions(result); @@ -2628,7 +2712,7 @@ namespace Spv.Generator public Instruction FwidthFine(Instruction resultType, Instruction p) { - Instruction result = new Instruction(Op.OpFwidthFine, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpFwidthFine, GetNewId(), resultType); result.AddOperand(p); AddToFunctionDefinitions(result); @@ -2638,7 +2722,7 @@ namespace Spv.Generator public Instruction DPdxCoarse(Instruction resultType, Instruction p) { - Instruction result = new Instruction(Op.OpDPdxCoarse, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpDPdxCoarse, GetNewId(), resultType); result.AddOperand(p); AddToFunctionDefinitions(result); @@ -2648,7 +2732,7 @@ namespace Spv.Generator public Instruction DPdyCoarse(Instruction resultType, Instruction p) { - Instruction result = new Instruction(Op.OpDPdyCoarse, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpDPdyCoarse, GetNewId(), resultType); result.AddOperand(p); AddToFunctionDefinitions(result); @@ -2658,7 +2742,7 @@ namespace Spv.Generator public Instruction FwidthCoarse(Instruction resultType, Instruction p) { - Instruction result = new Instruction(Op.OpFwidthCoarse, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpFwidthCoarse, GetNewId(), resultType); result.AddOperand(p); AddToFunctionDefinitions(result); @@ -2670,7 +2754,7 @@ namespace Spv.Generator public Instruction Phi(Instruction resultType, params Instruction[] parameters) { - Instruction result = new Instruction(Op.OpPhi, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpPhi, GetNewId(), resultType); result.AddOperand(parameters); AddToFunctionDefinitions(result); @@ -2680,7 +2764,7 @@ namespace Spv.Generator public Instruction LoopMerge(Instruction mergeBlock, Instruction continueTarget, LoopControlMask loopControl) { - Instruction result = new Instruction(Op.OpLoopMerge); + Instruction result = NewInstruction(Op.OpLoopMerge); result.AddOperand(mergeBlock); result.AddOperand(continueTarget); @@ -2692,7 +2776,7 @@ namespace Spv.Generator public Instruction SelectionMerge(Instruction mergeBlock, SelectionControlMask selectionControl) { - Instruction result = new Instruction(Op.OpSelectionMerge); + Instruction result = NewInstruction(Op.OpSelectionMerge); result.AddOperand(mergeBlock); result.AddOperand(selectionControl); @@ -2703,14 +2787,14 @@ namespace Spv.Generator public Instruction Label() { - Instruction result = new Instruction(Op.OpLabel); + Instruction result = NewInstruction(Op.OpLabel); return result; } public Instruction Branch(Instruction targetLabel) { - Instruction result = new Instruction(Op.OpBranch); + Instruction result = NewInstruction(Op.OpBranch); result.AddOperand(targetLabel); AddToFunctionDefinitions(result); @@ -2720,7 +2804,7 @@ namespace Spv.Generator public Instruction BranchConditional(Instruction condition, Instruction trueLabel, Instruction falseLabel, params LiteralInteger[] branchweights) { - Instruction result = new Instruction(Op.OpBranchConditional); + Instruction result = NewInstruction(Op.OpBranchConditional); result.AddOperand(condition); result.AddOperand(trueLabel); @@ -2733,7 +2817,7 @@ namespace Spv.Generator public Instruction Switch(Instruction selector, Instruction defaultObj, params Operand[] target) { - Instruction result = new Instruction(Op.OpSwitch); + Instruction result = NewInstruction(Op.OpSwitch); result.AddOperand(selector); result.AddOperand(defaultObj); @@ -2745,7 +2829,7 @@ namespace Spv.Generator public Instruction Kill() { - Instruction result = new Instruction(Op.OpKill); + Instruction result = NewInstruction(Op.OpKill); AddToFunctionDefinitions(result); @@ -2754,7 +2838,7 @@ namespace Spv.Generator public Instruction Return() { - Instruction result = new Instruction(Op.OpReturn); + Instruction result = NewInstruction(Op.OpReturn); AddToFunctionDefinitions(result); @@ -2763,7 +2847,7 @@ namespace Spv.Generator public Instruction ReturnValue(Instruction value) { - Instruction result = new Instruction(Op.OpReturnValue); + Instruction result = NewInstruction(Op.OpReturnValue); result.AddOperand(value); AddToFunctionDefinitions(result); @@ -2773,7 +2857,7 @@ namespace Spv.Generator public Instruction Unreachable() { - Instruction result = new Instruction(Op.OpUnreachable); + Instruction result = NewInstruction(Op.OpUnreachable); AddToFunctionDefinitions(result); @@ -2782,7 +2866,7 @@ namespace Spv.Generator public Instruction LifetimeStart(Instruction pointer, LiteralInteger size) { - Instruction result = new Instruction(Op.OpLifetimeStart); + Instruction result = NewInstruction(Op.OpLifetimeStart); result.AddOperand(pointer); result.AddOperand(size); @@ -2793,7 +2877,7 @@ namespace Spv.Generator public Instruction LifetimeStop(Instruction pointer, LiteralInteger size) { - Instruction result = new Instruction(Op.OpLifetimeStop); + Instruction result = NewInstruction(Op.OpLifetimeStop); result.AddOperand(pointer); result.AddOperand(size); @@ -2804,7 +2888,7 @@ namespace Spv.Generator public Instruction TerminateInvocation() { - Instruction result = new Instruction(Op.OpTerminateInvocation); + Instruction result = NewInstruction(Op.OpTerminateInvocation); AddToFunctionDefinitions(result); @@ -2815,7 +2899,7 @@ namespace Spv.Generator public Instruction AtomicLoad(Instruction resultType, Instruction pointer, Instruction memory, Instruction semantics) { - Instruction result = new Instruction(Op.OpAtomicLoad, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpAtomicLoad, GetNewId(), resultType); result.AddOperand(pointer); result.AddOperand(memory); @@ -2827,7 +2911,7 @@ namespace Spv.Generator public Instruction AtomicStore(Instruction pointer, Instruction memory, Instruction semantics, Instruction value) { - Instruction result = new Instruction(Op.OpAtomicStore); + Instruction result = NewInstruction(Op.OpAtomicStore); result.AddOperand(pointer); result.AddOperand(memory); @@ -2840,7 +2924,7 @@ namespace Spv.Generator public Instruction AtomicExchange(Instruction resultType, Instruction pointer, Instruction memory, Instruction semantics, Instruction value) { - Instruction result = new Instruction(Op.OpAtomicExchange, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpAtomicExchange, GetNewId(), resultType); result.AddOperand(pointer); result.AddOperand(memory); @@ -2853,7 +2937,7 @@ namespace Spv.Generator public Instruction AtomicCompareExchange(Instruction resultType, Instruction pointer, Instruction memory, Instruction equal, Instruction unequal, Instruction value, Instruction comparator) { - Instruction result = new Instruction(Op.OpAtomicCompareExchange, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpAtomicCompareExchange, GetNewId(), resultType); result.AddOperand(pointer); result.AddOperand(memory); @@ -2868,7 +2952,7 @@ namespace Spv.Generator public Instruction AtomicCompareExchangeWeak(Instruction resultType, Instruction pointer, Instruction memory, Instruction equal, Instruction unequal, Instruction value, Instruction comparator) { - Instruction result = new Instruction(Op.OpAtomicCompareExchangeWeak, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpAtomicCompareExchangeWeak, GetNewId(), resultType); result.AddOperand(pointer); result.AddOperand(memory); @@ -2883,7 +2967,7 @@ namespace Spv.Generator public Instruction AtomicIIncrement(Instruction resultType, Instruction pointer, Instruction memory, Instruction semantics) { - Instruction result = new Instruction(Op.OpAtomicIIncrement, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpAtomicIIncrement, GetNewId(), resultType); result.AddOperand(pointer); result.AddOperand(memory); @@ -2895,7 +2979,7 @@ namespace Spv.Generator public Instruction AtomicIDecrement(Instruction resultType, Instruction pointer, Instruction memory, Instruction semantics) { - Instruction result = new Instruction(Op.OpAtomicIDecrement, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpAtomicIDecrement, GetNewId(), resultType); result.AddOperand(pointer); result.AddOperand(memory); @@ -2907,7 +2991,7 @@ namespace Spv.Generator public Instruction AtomicIAdd(Instruction resultType, Instruction pointer, Instruction memory, Instruction semantics, Instruction value) { - Instruction result = new Instruction(Op.OpAtomicIAdd, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpAtomicIAdd, GetNewId(), resultType); result.AddOperand(pointer); result.AddOperand(memory); @@ -2920,7 +3004,7 @@ namespace Spv.Generator public Instruction AtomicISub(Instruction resultType, Instruction pointer, Instruction memory, Instruction semantics, Instruction value) { - Instruction result = new Instruction(Op.OpAtomicISub, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpAtomicISub, GetNewId(), resultType); result.AddOperand(pointer); result.AddOperand(memory); @@ -2933,7 +3017,7 @@ namespace Spv.Generator public Instruction AtomicSMin(Instruction resultType, Instruction pointer, Instruction memory, Instruction semantics, Instruction value) { - Instruction result = new Instruction(Op.OpAtomicSMin, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpAtomicSMin, GetNewId(), resultType); result.AddOperand(pointer); result.AddOperand(memory); @@ -2946,7 +3030,7 @@ namespace Spv.Generator public Instruction AtomicUMin(Instruction resultType, Instruction pointer, Instruction memory, Instruction semantics, Instruction value) { - Instruction result = new Instruction(Op.OpAtomicUMin, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpAtomicUMin, GetNewId(), resultType); result.AddOperand(pointer); result.AddOperand(memory); @@ -2959,7 +3043,7 @@ namespace Spv.Generator public Instruction AtomicSMax(Instruction resultType, Instruction pointer, Instruction memory, Instruction semantics, Instruction value) { - Instruction result = new Instruction(Op.OpAtomicSMax, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpAtomicSMax, GetNewId(), resultType); result.AddOperand(pointer); result.AddOperand(memory); @@ -2972,7 +3056,7 @@ namespace Spv.Generator public Instruction AtomicUMax(Instruction resultType, Instruction pointer, Instruction memory, Instruction semantics, Instruction value) { - Instruction result = new Instruction(Op.OpAtomicUMax, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpAtomicUMax, GetNewId(), resultType); result.AddOperand(pointer); result.AddOperand(memory); @@ -2985,7 +3069,7 @@ namespace Spv.Generator public Instruction AtomicAnd(Instruction resultType, Instruction pointer, Instruction memory, Instruction semantics, Instruction value) { - Instruction result = new Instruction(Op.OpAtomicAnd, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpAtomicAnd, GetNewId(), resultType); result.AddOperand(pointer); result.AddOperand(memory); @@ -2998,7 +3082,7 @@ namespace Spv.Generator public Instruction AtomicOr(Instruction resultType, Instruction pointer, Instruction memory, Instruction semantics, Instruction value) { - Instruction result = new Instruction(Op.OpAtomicOr, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpAtomicOr, GetNewId(), resultType); result.AddOperand(pointer); result.AddOperand(memory); @@ -3011,7 +3095,7 @@ namespace Spv.Generator public Instruction AtomicXor(Instruction resultType, Instruction pointer, Instruction memory, Instruction semantics, Instruction value) { - Instruction result = new Instruction(Op.OpAtomicXor, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpAtomicXor, GetNewId(), resultType); result.AddOperand(pointer); result.AddOperand(memory); @@ -3024,7 +3108,7 @@ namespace Spv.Generator public Instruction AtomicFlagTestAndSet(Instruction resultType, Instruction pointer, Instruction memory, Instruction semantics) { - Instruction result = new Instruction(Op.OpAtomicFlagTestAndSet, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpAtomicFlagTestAndSet, GetNewId(), resultType); result.AddOperand(pointer); result.AddOperand(memory); @@ -3036,7 +3120,7 @@ namespace Spv.Generator public Instruction AtomicFlagClear(Instruction pointer, Instruction memory, Instruction semantics) { - Instruction result = new Instruction(Op.OpAtomicFlagClear); + Instruction result = NewInstruction(Op.OpAtomicFlagClear); result.AddOperand(pointer); result.AddOperand(memory); @@ -3048,7 +3132,7 @@ namespace Spv.Generator public Instruction AtomicFAddEXT(Instruction resultType, Instruction pointer, Instruction memory, Instruction semantics, Instruction value) { - Instruction result = new Instruction(Op.OpAtomicFAddEXT, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpAtomicFAddEXT, GetNewId(), resultType); result.AddOperand(pointer); result.AddOperand(memory); @@ -3063,7 +3147,7 @@ namespace Spv.Generator public Instruction EmitVertex() { - Instruction result = new Instruction(Op.OpEmitVertex); + Instruction result = NewInstruction(Op.OpEmitVertex); AddToFunctionDefinitions(result); @@ -3072,7 +3156,7 @@ namespace Spv.Generator public Instruction EndPrimitive() { - Instruction result = new Instruction(Op.OpEndPrimitive); + Instruction result = NewInstruction(Op.OpEndPrimitive); AddToFunctionDefinitions(result); @@ -3081,7 +3165,7 @@ namespace Spv.Generator public Instruction EmitStreamVertex(Instruction stream) { - Instruction result = new Instruction(Op.OpEmitStreamVertex); + Instruction result = NewInstruction(Op.OpEmitStreamVertex); result.AddOperand(stream); AddToFunctionDefinitions(result); @@ -3091,7 +3175,7 @@ namespace Spv.Generator public Instruction EndStreamPrimitive(Instruction stream) { - Instruction result = new Instruction(Op.OpEndStreamPrimitive); + Instruction result = NewInstruction(Op.OpEndStreamPrimitive); result.AddOperand(stream); AddToFunctionDefinitions(result); @@ -3103,7 +3187,7 @@ namespace Spv.Generator public Instruction ControlBarrier(Instruction execution, Instruction memory, Instruction semantics) { - Instruction result = new Instruction(Op.OpControlBarrier); + Instruction result = NewInstruction(Op.OpControlBarrier); result.AddOperand(execution); result.AddOperand(memory); @@ -3115,7 +3199,7 @@ namespace Spv.Generator public Instruction MemoryBarrier(Instruction memory, Instruction semantics) { - Instruction result = new Instruction(Op.OpMemoryBarrier); + Instruction result = NewInstruction(Op.OpMemoryBarrier); result.AddOperand(memory); result.AddOperand(semantics); @@ -3126,7 +3210,7 @@ namespace Spv.Generator public Instruction NamedBarrierInitialize(Instruction resultType, Instruction subgroupCount) { - Instruction result = new Instruction(Op.OpNamedBarrierInitialize, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpNamedBarrierInitialize, GetNewId(), resultType); result.AddOperand(subgroupCount); AddToFunctionDefinitions(result); @@ -3136,7 +3220,7 @@ namespace Spv.Generator public Instruction MemoryNamedBarrier(Instruction namedBarrier, Instruction memory, Instruction semantics) { - Instruction result = new Instruction(Op.OpMemoryNamedBarrier); + Instruction result = NewInstruction(Op.OpMemoryNamedBarrier); result.AddOperand(namedBarrier); result.AddOperand(memory); @@ -3150,7 +3234,7 @@ namespace Spv.Generator public Instruction GroupAsyncCopy(Instruction resultType, Instruction execution, Instruction destination, Instruction source, Instruction numElements, Instruction stride, Instruction eventObj) { - Instruction result = new Instruction(Op.OpGroupAsyncCopy, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupAsyncCopy, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(destination); @@ -3165,7 +3249,7 @@ namespace Spv.Generator public Instruction GroupWaitEvents(Instruction execution, Instruction numEvents, Instruction eventsList) { - Instruction result = new Instruction(Op.OpGroupWaitEvents); + Instruction result = NewInstruction(Op.OpGroupWaitEvents); result.AddOperand(execution); result.AddOperand(numEvents); @@ -3177,7 +3261,7 @@ namespace Spv.Generator public Instruction GroupAll(Instruction resultType, Instruction execution, Instruction predicate) { - Instruction result = new Instruction(Op.OpGroupAll, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupAll, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(predicate); @@ -3188,7 +3272,7 @@ namespace Spv.Generator public Instruction GroupAny(Instruction resultType, Instruction execution, Instruction predicate) { - Instruction result = new Instruction(Op.OpGroupAny, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupAny, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(predicate); @@ -3199,7 +3283,7 @@ namespace Spv.Generator public Instruction GroupBroadcast(Instruction resultType, Instruction execution, Instruction value, Instruction localId) { - Instruction result = new Instruction(Op.OpGroupBroadcast, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupBroadcast, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(value); @@ -3211,7 +3295,7 @@ namespace Spv.Generator public Instruction GroupIAdd(Instruction resultType, Instruction execution, GroupOperation operation, Instruction x) { - Instruction result = new Instruction(Op.OpGroupIAdd, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupIAdd, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(operation); @@ -3223,7 +3307,7 @@ namespace Spv.Generator public Instruction GroupFAdd(Instruction resultType, Instruction execution, GroupOperation operation, Instruction x) { - Instruction result = new Instruction(Op.OpGroupFAdd, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupFAdd, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(operation); @@ -3235,7 +3319,7 @@ namespace Spv.Generator public Instruction GroupFMin(Instruction resultType, Instruction execution, GroupOperation operation, Instruction x) { - Instruction result = new Instruction(Op.OpGroupFMin, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupFMin, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(operation); @@ -3247,7 +3331,7 @@ namespace Spv.Generator public Instruction GroupUMin(Instruction resultType, Instruction execution, GroupOperation operation, Instruction x) { - Instruction result = new Instruction(Op.OpGroupUMin, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupUMin, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(operation); @@ -3259,7 +3343,7 @@ namespace Spv.Generator public Instruction GroupSMin(Instruction resultType, Instruction execution, GroupOperation operation, Instruction x) { - Instruction result = new Instruction(Op.OpGroupSMin, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupSMin, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(operation); @@ -3271,7 +3355,7 @@ namespace Spv.Generator public Instruction GroupFMax(Instruction resultType, Instruction execution, GroupOperation operation, Instruction x) { - Instruction result = new Instruction(Op.OpGroupFMax, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupFMax, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(operation); @@ -3283,7 +3367,7 @@ namespace Spv.Generator public Instruction GroupUMax(Instruction resultType, Instruction execution, GroupOperation operation, Instruction x) { - Instruction result = new Instruction(Op.OpGroupUMax, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupUMax, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(operation); @@ -3295,7 +3379,7 @@ namespace Spv.Generator public Instruction GroupSMax(Instruction resultType, Instruction execution, GroupOperation operation, Instruction x) { - Instruction result = new Instruction(Op.OpGroupSMax, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupSMax, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(operation); @@ -3307,7 +3391,7 @@ namespace Spv.Generator public Instruction SubgroupBallotKHR(Instruction resultType, Instruction predicate) { - Instruction result = new Instruction(Op.OpSubgroupBallotKHR, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpSubgroupBallotKHR, GetNewId(), resultType); result.AddOperand(predicate); AddToFunctionDefinitions(result); @@ -3317,7 +3401,7 @@ namespace Spv.Generator public Instruction SubgroupFirstInvocationKHR(Instruction resultType, Instruction value) { - Instruction result = new Instruction(Op.OpSubgroupFirstInvocationKHR, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpSubgroupFirstInvocationKHR, GetNewId(), resultType); result.AddOperand(value); AddToFunctionDefinitions(result); @@ -3327,7 +3411,7 @@ namespace Spv.Generator public Instruction SubgroupAllKHR(Instruction resultType, Instruction predicate) { - Instruction result = new Instruction(Op.OpSubgroupAllKHR, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpSubgroupAllKHR, GetNewId(), resultType); result.AddOperand(predicate); AddToFunctionDefinitions(result); @@ -3337,7 +3421,7 @@ namespace Spv.Generator public Instruction SubgroupAnyKHR(Instruction resultType, Instruction predicate) { - Instruction result = new Instruction(Op.OpSubgroupAnyKHR, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpSubgroupAnyKHR, GetNewId(), resultType); result.AddOperand(predicate); AddToFunctionDefinitions(result); @@ -3347,7 +3431,7 @@ namespace Spv.Generator public Instruction SubgroupAllEqualKHR(Instruction resultType, Instruction predicate) { - Instruction result = new Instruction(Op.OpSubgroupAllEqualKHR, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpSubgroupAllEqualKHR, GetNewId(), resultType); result.AddOperand(predicate); AddToFunctionDefinitions(result); @@ -3357,7 +3441,7 @@ namespace Spv.Generator public Instruction SubgroupReadInvocationKHR(Instruction resultType, Instruction value, Instruction index) { - Instruction result = new Instruction(Op.OpSubgroupReadInvocationKHR, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpSubgroupReadInvocationKHR, GetNewId(), resultType); result.AddOperand(value); result.AddOperand(index); @@ -3368,7 +3452,7 @@ namespace Spv.Generator public Instruction GroupIAddNonUniformAMD(Instruction resultType, Instruction execution, GroupOperation operation, Instruction x) { - Instruction result = new Instruction(Op.OpGroupIAddNonUniformAMD, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupIAddNonUniformAMD, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(operation); @@ -3380,7 +3464,7 @@ namespace Spv.Generator public Instruction GroupFAddNonUniformAMD(Instruction resultType, Instruction execution, GroupOperation operation, Instruction x) { - Instruction result = new Instruction(Op.OpGroupFAddNonUniformAMD, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupFAddNonUniformAMD, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(operation); @@ -3392,7 +3476,7 @@ namespace Spv.Generator public Instruction GroupFMinNonUniformAMD(Instruction resultType, Instruction execution, GroupOperation operation, Instruction x) { - Instruction result = new Instruction(Op.OpGroupFMinNonUniformAMD, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupFMinNonUniformAMD, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(operation); @@ -3404,7 +3488,7 @@ namespace Spv.Generator public Instruction GroupUMinNonUniformAMD(Instruction resultType, Instruction execution, GroupOperation operation, Instruction x) { - Instruction result = new Instruction(Op.OpGroupUMinNonUniformAMD, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupUMinNonUniformAMD, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(operation); @@ -3416,7 +3500,7 @@ namespace Spv.Generator public Instruction GroupSMinNonUniformAMD(Instruction resultType, Instruction execution, GroupOperation operation, Instruction x) { - Instruction result = new Instruction(Op.OpGroupSMinNonUniformAMD, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupSMinNonUniformAMD, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(operation); @@ -3428,7 +3512,7 @@ namespace Spv.Generator public Instruction GroupFMaxNonUniformAMD(Instruction resultType, Instruction execution, GroupOperation operation, Instruction x) { - Instruction result = new Instruction(Op.OpGroupFMaxNonUniformAMD, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupFMaxNonUniformAMD, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(operation); @@ -3440,7 +3524,7 @@ namespace Spv.Generator public Instruction GroupUMaxNonUniformAMD(Instruction resultType, Instruction execution, GroupOperation operation, Instruction x) { - Instruction result = new Instruction(Op.OpGroupUMaxNonUniformAMD, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupUMaxNonUniformAMD, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(operation); @@ -3452,7 +3536,7 @@ namespace Spv.Generator public Instruction GroupSMaxNonUniformAMD(Instruction resultType, Instruction execution, GroupOperation operation, Instruction x) { - Instruction result = new Instruction(Op.OpGroupSMaxNonUniformAMD, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupSMaxNonUniformAMD, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(operation); @@ -3464,7 +3548,7 @@ namespace Spv.Generator public Instruction SubgroupShuffleINTEL(Instruction resultType, Instruction data, Instruction invocationId) { - Instruction result = new Instruction(Op.OpSubgroupShuffleINTEL, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpSubgroupShuffleINTEL, GetNewId(), resultType); result.AddOperand(data); result.AddOperand(invocationId); @@ -3475,7 +3559,7 @@ namespace Spv.Generator public Instruction SubgroupShuffleDownINTEL(Instruction resultType, Instruction current, Instruction next, Instruction delta) { - Instruction result = new Instruction(Op.OpSubgroupShuffleDownINTEL, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpSubgroupShuffleDownINTEL, GetNewId(), resultType); result.AddOperand(current); result.AddOperand(next); @@ -3487,7 +3571,7 @@ namespace Spv.Generator public Instruction SubgroupShuffleUpINTEL(Instruction resultType, Instruction previous, Instruction current, Instruction delta) { - Instruction result = new Instruction(Op.OpSubgroupShuffleUpINTEL, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpSubgroupShuffleUpINTEL, GetNewId(), resultType); result.AddOperand(previous); result.AddOperand(current); @@ -3499,7 +3583,7 @@ namespace Spv.Generator public Instruction SubgroupShuffleXorINTEL(Instruction resultType, Instruction data, Instruction value) { - Instruction result = new Instruction(Op.OpSubgroupShuffleXorINTEL, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpSubgroupShuffleXorINTEL, GetNewId(), resultType); result.AddOperand(data); result.AddOperand(value); @@ -3510,7 +3594,7 @@ namespace Spv.Generator public Instruction SubgroupBlockReadINTEL(Instruction resultType, Instruction ptr) { - Instruction result = new Instruction(Op.OpSubgroupBlockReadINTEL, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpSubgroupBlockReadINTEL, GetNewId(), resultType); result.AddOperand(ptr); AddToFunctionDefinitions(result); @@ -3520,7 +3604,7 @@ namespace Spv.Generator public Instruction SubgroupBlockWriteINTEL(Instruction ptr, Instruction data) { - Instruction result = new Instruction(Op.OpSubgroupBlockWriteINTEL); + Instruction result = NewInstruction(Op.OpSubgroupBlockWriteINTEL); result.AddOperand(ptr); result.AddOperand(data); @@ -3531,7 +3615,7 @@ namespace Spv.Generator public Instruction SubgroupImageBlockReadINTEL(Instruction resultType, Instruction image, Instruction coordinate) { - Instruction result = new Instruction(Op.OpSubgroupImageBlockReadINTEL, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpSubgroupImageBlockReadINTEL, GetNewId(), resultType); result.AddOperand(image); result.AddOperand(coordinate); @@ -3542,7 +3626,7 @@ namespace Spv.Generator public Instruction SubgroupImageBlockWriteINTEL(Instruction image, Instruction coordinate, Instruction data) { - Instruction result = new Instruction(Op.OpSubgroupImageBlockWriteINTEL); + Instruction result = NewInstruction(Op.OpSubgroupImageBlockWriteINTEL); result.AddOperand(image); result.AddOperand(coordinate); @@ -3554,7 +3638,7 @@ namespace Spv.Generator public Instruction SubgroupImageMediaBlockReadINTEL(Instruction resultType, Instruction image, Instruction coordinate, Instruction width, Instruction height) { - Instruction result = new Instruction(Op.OpSubgroupImageMediaBlockReadINTEL, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpSubgroupImageMediaBlockReadINTEL, GetNewId(), resultType); result.AddOperand(image); result.AddOperand(coordinate); @@ -3567,7 +3651,7 @@ namespace Spv.Generator public Instruction SubgroupImageMediaBlockWriteINTEL(Instruction image, Instruction coordinate, Instruction width, Instruction height, Instruction data) { - Instruction result = new Instruction(Op.OpSubgroupImageMediaBlockWriteINTEL); + Instruction result = NewInstruction(Op.OpSubgroupImageMediaBlockWriteINTEL); result.AddOperand(image); result.AddOperand(coordinate); @@ -3583,7 +3667,7 @@ namespace Spv.Generator public Instruction EnqueueMarker(Instruction resultType, Instruction queue, Instruction numEvents, Instruction waitEvents, Instruction retEvent) { - Instruction result = new Instruction(Op.OpEnqueueMarker, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpEnqueueMarker, GetNewId(), resultType); result.AddOperand(queue); result.AddOperand(numEvents); @@ -3596,7 +3680,7 @@ namespace Spv.Generator public Instruction EnqueueKernel(Instruction resultType, Instruction queue, Instruction flags, Instruction nDRange, Instruction numEvents, Instruction waitEvents, Instruction retEvent, Instruction invoke, Instruction param, Instruction paramSize, Instruction paramAlign, params Instruction[] localSize) { - Instruction result = new Instruction(Op.OpEnqueueKernel, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpEnqueueKernel, GetNewId(), resultType); result.AddOperand(queue); result.AddOperand(flags); @@ -3616,7 +3700,7 @@ namespace Spv.Generator public Instruction GetKernelNDrangeSubGroupCount(Instruction resultType, Instruction nDRange, Instruction invoke, Instruction param, Instruction paramSize, Instruction paramAlign) { - Instruction result = new Instruction(Op.OpGetKernelNDrangeSubGroupCount, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGetKernelNDrangeSubGroupCount, GetNewId(), resultType); result.AddOperand(nDRange); result.AddOperand(invoke); @@ -3630,7 +3714,7 @@ namespace Spv.Generator public Instruction GetKernelNDrangeMaxSubGroupSize(Instruction resultType, Instruction nDRange, Instruction invoke, Instruction param, Instruction paramSize, Instruction paramAlign) { - Instruction result = new Instruction(Op.OpGetKernelNDrangeMaxSubGroupSize, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGetKernelNDrangeMaxSubGroupSize, GetNewId(), resultType); result.AddOperand(nDRange); result.AddOperand(invoke); @@ -3644,7 +3728,7 @@ namespace Spv.Generator public Instruction GetKernelWorkGroupSize(Instruction resultType, Instruction invoke, Instruction param, Instruction paramSize, Instruction paramAlign) { - Instruction result = new Instruction(Op.OpGetKernelWorkGroupSize, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGetKernelWorkGroupSize, GetNewId(), resultType); result.AddOperand(invoke); result.AddOperand(param); @@ -3657,7 +3741,7 @@ namespace Spv.Generator public Instruction GetKernelPreferredWorkGroupSizeMultiple(Instruction resultType, Instruction invoke, Instruction param, Instruction paramSize, Instruction paramAlign) { - Instruction result = new Instruction(Op.OpGetKernelPreferredWorkGroupSizeMultiple, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGetKernelPreferredWorkGroupSizeMultiple, GetNewId(), resultType); result.AddOperand(invoke); result.AddOperand(param); @@ -3670,7 +3754,7 @@ namespace Spv.Generator public Instruction RetainEvent(Instruction eventObj) { - Instruction result = new Instruction(Op.OpRetainEvent); + Instruction result = NewInstruction(Op.OpRetainEvent); result.AddOperand(eventObj); AddToFunctionDefinitions(result); @@ -3680,7 +3764,7 @@ namespace Spv.Generator public Instruction ReleaseEvent(Instruction eventObj) { - Instruction result = new Instruction(Op.OpReleaseEvent); + Instruction result = NewInstruction(Op.OpReleaseEvent); result.AddOperand(eventObj); AddToFunctionDefinitions(result); @@ -3690,7 +3774,7 @@ namespace Spv.Generator public Instruction CreateUserEvent(Instruction resultType) { - Instruction result = new Instruction(Op.OpCreateUserEvent, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpCreateUserEvent, GetNewId(), resultType); AddToFunctionDefinitions(result); @@ -3699,7 +3783,7 @@ namespace Spv.Generator public Instruction IsValidEvent(Instruction resultType, Instruction eventObj) { - Instruction result = new Instruction(Op.OpIsValidEvent, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpIsValidEvent, GetNewId(), resultType); result.AddOperand(eventObj); AddToFunctionDefinitions(result); @@ -3709,7 +3793,7 @@ namespace Spv.Generator public Instruction SetUserEventStatus(Instruction eventObj, Instruction status) { - Instruction result = new Instruction(Op.OpSetUserEventStatus); + Instruction result = NewInstruction(Op.OpSetUserEventStatus); result.AddOperand(eventObj); result.AddOperand(status); @@ -3720,7 +3804,7 @@ namespace Spv.Generator public Instruction CaptureEventProfilingInfo(Instruction eventObj, Instruction profilingInfo, Instruction value) { - Instruction result = new Instruction(Op.OpCaptureEventProfilingInfo); + Instruction result = NewInstruction(Op.OpCaptureEventProfilingInfo); result.AddOperand(eventObj); result.AddOperand(profilingInfo); @@ -3732,7 +3816,7 @@ namespace Spv.Generator public Instruction GetDefaultQueue(Instruction resultType) { - Instruction result = new Instruction(Op.OpGetDefaultQueue, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGetDefaultQueue, GetNewId(), resultType); AddToFunctionDefinitions(result); @@ -3741,7 +3825,7 @@ namespace Spv.Generator public Instruction BuildNDRange(Instruction resultType, Instruction globalWorkSize, Instruction localWorkSize, Instruction globalWorkOffset) { - Instruction result = new Instruction(Op.OpBuildNDRange, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpBuildNDRange, GetNewId(), resultType); result.AddOperand(globalWorkSize); result.AddOperand(localWorkSize); @@ -3753,7 +3837,7 @@ namespace Spv.Generator public Instruction GetKernelLocalSizeForSubgroupCount(Instruction resultType, Instruction subgroupCount, Instruction invoke, Instruction param, Instruction paramSize, Instruction paramAlign) { - Instruction result = new Instruction(Op.OpGetKernelLocalSizeForSubgroupCount, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGetKernelLocalSizeForSubgroupCount, GetNewId(), resultType); result.AddOperand(subgroupCount); result.AddOperand(invoke); @@ -3767,7 +3851,7 @@ namespace Spv.Generator public Instruction GetKernelMaxNumSubgroups(Instruction resultType, Instruction invoke, Instruction param, Instruction paramSize, Instruction paramAlign) { - Instruction result = new Instruction(Op.OpGetKernelMaxNumSubgroups, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGetKernelMaxNumSubgroups, GetNewId(), resultType); result.AddOperand(invoke); result.AddOperand(param); @@ -3782,7 +3866,7 @@ namespace Spv.Generator public Instruction ReadPipe(Instruction resultType, Instruction pipe, Instruction pointer, Instruction packetSize, Instruction packetAlignment) { - Instruction result = new Instruction(Op.OpReadPipe, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpReadPipe, GetNewId(), resultType); result.AddOperand(pipe); result.AddOperand(pointer); @@ -3795,7 +3879,7 @@ namespace Spv.Generator public Instruction WritePipe(Instruction resultType, Instruction pipe, Instruction pointer, Instruction packetSize, Instruction packetAlignment) { - Instruction result = new Instruction(Op.OpWritePipe, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpWritePipe, GetNewId(), resultType); result.AddOperand(pipe); result.AddOperand(pointer); @@ -3808,7 +3892,7 @@ namespace Spv.Generator public Instruction ReservedReadPipe(Instruction resultType, Instruction pipe, Instruction reserveId, Instruction index, Instruction pointer, Instruction packetSize, Instruction packetAlignment) { - Instruction result = new Instruction(Op.OpReservedReadPipe, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpReservedReadPipe, GetNewId(), resultType); result.AddOperand(pipe); result.AddOperand(reserveId); @@ -3823,7 +3907,7 @@ namespace Spv.Generator public Instruction ReservedWritePipe(Instruction resultType, Instruction pipe, Instruction reserveId, Instruction index, Instruction pointer, Instruction packetSize, Instruction packetAlignment) { - Instruction result = new Instruction(Op.OpReservedWritePipe, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpReservedWritePipe, GetNewId(), resultType); result.AddOperand(pipe); result.AddOperand(reserveId); @@ -3838,7 +3922,7 @@ namespace Spv.Generator public Instruction ReserveReadPipePackets(Instruction resultType, Instruction pipe, Instruction numPackets, Instruction packetSize, Instruction packetAlignment) { - Instruction result = new Instruction(Op.OpReserveReadPipePackets, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpReserveReadPipePackets, GetNewId(), resultType); result.AddOperand(pipe); result.AddOperand(numPackets); @@ -3851,7 +3935,7 @@ namespace Spv.Generator public Instruction ReserveWritePipePackets(Instruction resultType, Instruction pipe, Instruction numPackets, Instruction packetSize, Instruction packetAlignment) { - Instruction result = new Instruction(Op.OpReserveWritePipePackets, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpReserveWritePipePackets, GetNewId(), resultType); result.AddOperand(pipe); result.AddOperand(numPackets); @@ -3864,7 +3948,7 @@ namespace Spv.Generator public Instruction CommitReadPipe(Instruction pipe, Instruction reserveId, Instruction packetSize, Instruction packetAlignment) { - Instruction result = new Instruction(Op.OpCommitReadPipe); + Instruction result = NewInstruction(Op.OpCommitReadPipe); result.AddOperand(pipe); result.AddOperand(reserveId); @@ -3877,7 +3961,7 @@ namespace Spv.Generator public Instruction CommitWritePipe(Instruction pipe, Instruction reserveId, Instruction packetSize, Instruction packetAlignment) { - Instruction result = new Instruction(Op.OpCommitWritePipe); + Instruction result = NewInstruction(Op.OpCommitWritePipe); result.AddOperand(pipe); result.AddOperand(reserveId); @@ -3890,7 +3974,7 @@ namespace Spv.Generator public Instruction IsValidReserveId(Instruction resultType, Instruction reserveId) { - Instruction result = new Instruction(Op.OpIsValidReserveId, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpIsValidReserveId, GetNewId(), resultType); result.AddOperand(reserveId); AddToFunctionDefinitions(result); @@ -3900,7 +3984,7 @@ namespace Spv.Generator public Instruction GetNumPipePackets(Instruction resultType, Instruction pipe, Instruction packetSize, Instruction packetAlignment) { - Instruction result = new Instruction(Op.OpGetNumPipePackets, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGetNumPipePackets, GetNewId(), resultType); result.AddOperand(pipe); result.AddOperand(packetSize); @@ -3912,7 +3996,7 @@ namespace Spv.Generator public Instruction GetMaxPipePackets(Instruction resultType, Instruction pipe, Instruction packetSize, Instruction packetAlignment) { - Instruction result = new Instruction(Op.OpGetMaxPipePackets, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGetMaxPipePackets, GetNewId(), resultType); result.AddOperand(pipe); result.AddOperand(packetSize); @@ -3924,7 +4008,7 @@ namespace Spv.Generator public Instruction GroupReserveReadPipePackets(Instruction resultType, Instruction execution, Instruction pipe, Instruction numPackets, Instruction packetSize, Instruction packetAlignment) { - Instruction result = new Instruction(Op.OpGroupReserveReadPipePackets, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupReserveReadPipePackets, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(pipe); @@ -3938,7 +4022,7 @@ namespace Spv.Generator public Instruction GroupReserveWritePipePackets(Instruction resultType, Instruction execution, Instruction pipe, Instruction numPackets, Instruction packetSize, Instruction packetAlignment) { - Instruction result = new Instruction(Op.OpGroupReserveWritePipePackets, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupReserveWritePipePackets, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(pipe); @@ -3952,7 +4036,7 @@ namespace Spv.Generator public Instruction GroupCommitReadPipe(Instruction execution, Instruction pipe, Instruction reserveId, Instruction packetSize, Instruction packetAlignment) { - Instruction result = new Instruction(Op.OpGroupCommitReadPipe); + Instruction result = NewInstruction(Op.OpGroupCommitReadPipe); result.AddOperand(execution); result.AddOperand(pipe); @@ -3966,7 +4050,7 @@ namespace Spv.Generator public Instruction GroupCommitWritePipe(Instruction execution, Instruction pipe, Instruction reserveId, Instruction packetSize, Instruction packetAlignment) { - Instruction result = new Instruction(Op.OpGroupCommitWritePipe); + Instruction result = NewInstruction(Op.OpGroupCommitWritePipe); result.AddOperand(execution); result.AddOperand(pipe); @@ -3980,7 +4064,7 @@ namespace Spv.Generator public Instruction ConstantPipeStorage(Instruction resultType, LiteralInteger packetSize, LiteralInteger packetAlignment, LiteralInteger capacity) { - Instruction result = new Instruction(Op.OpConstantPipeStorage, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpConstantPipeStorage, GetNewId(), resultType); result.AddOperand(packetSize); result.AddOperand(packetAlignment); @@ -3992,7 +4076,7 @@ namespace Spv.Generator public Instruction CreatePipeFromPipeStorage(Instruction resultType, Instruction pipeStorage) { - Instruction result = new Instruction(Op.OpCreatePipeFromPipeStorage, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpCreatePipeFromPipeStorage, GetNewId(), resultType); result.AddOperand(pipeStorage); AddToFunctionDefinitions(result); @@ -4002,7 +4086,7 @@ namespace Spv.Generator public Instruction ReadPipeBlockingINTEL(Instruction resultType, Instruction packetSize, Instruction packetAlignment) { - Instruction result = new Instruction(Op.OpReadPipeBlockingINTEL, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpReadPipeBlockingINTEL, GetNewId(), resultType); result.AddOperand(packetSize); result.AddOperand(packetAlignment); @@ -4013,7 +4097,7 @@ namespace Spv.Generator public Instruction WritePipeBlockingINTEL(Instruction resultType, Instruction packetSize, Instruction packetAlignment) { - Instruction result = new Instruction(Op.OpWritePipeBlockingINTEL, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpWritePipeBlockingINTEL, GetNewId(), resultType); result.AddOperand(packetSize); result.AddOperand(packetAlignment); @@ -4026,7 +4110,7 @@ namespace Spv.Generator public Instruction GroupNonUniformElect(Instruction resultType, Instruction execution) { - Instruction result = new Instruction(Op.OpGroupNonUniformElect, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupNonUniformElect, GetNewId(), resultType); result.AddOperand(execution); AddToFunctionDefinitions(result); @@ -4036,7 +4120,7 @@ namespace Spv.Generator public Instruction GroupNonUniformAll(Instruction resultType, Instruction execution, Instruction predicate) { - Instruction result = new Instruction(Op.OpGroupNonUniformAll, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupNonUniformAll, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(predicate); @@ -4047,7 +4131,7 @@ namespace Spv.Generator public Instruction GroupNonUniformAny(Instruction resultType, Instruction execution, Instruction predicate) { - Instruction result = new Instruction(Op.OpGroupNonUniformAny, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupNonUniformAny, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(predicate); @@ -4058,7 +4142,7 @@ namespace Spv.Generator public Instruction GroupNonUniformAllEqual(Instruction resultType, Instruction execution, Instruction value) { - Instruction result = new Instruction(Op.OpGroupNonUniformAllEqual, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupNonUniformAllEqual, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(value); @@ -4069,7 +4153,7 @@ namespace Spv.Generator public Instruction GroupNonUniformBroadcast(Instruction resultType, Instruction execution, Instruction value, Instruction id) { - Instruction result = new Instruction(Op.OpGroupNonUniformBroadcast, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupNonUniformBroadcast, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(value); @@ -4081,7 +4165,7 @@ namespace Spv.Generator public Instruction GroupNonUniformBroadcastFirst(Instruction resultType, Instruction execution, Instruction value) { - Instruction result = new Instruction(Op.OpGroupNonUniformBroadcastFirst, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupNonUniformBroadcastFirst, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(value); @@ -4092,7 +4176,7 @@ namespace Spv.Generator public Instruction GroupNonUniformBallot(Instruction resultType, Instruction execution, Instruction predicate) { - Instruction result = new Instruction(Op.OpGroupNonUniformBallot, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupNonUniformBallot, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(predicate); @@ -4103,7 +4187,7 @@ namespace Spv.Generator public Instruction GroupNonUniformInverseBallot(Instruction resultType, Instruction execution, Instruction value) { - Instruction result = new Instruction(Op.OpGroupNonUniformInverseBallot, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupNonUniformInverseBallot, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(value); @@ -4114,7 +4198,7 @@ namespace Spv.Generator public Instruction GroupNonUniformBallotBitExtract(Instruction resultType, Instruction execution, Instruction value, Instruction index) { - Instruction result = new Instruction(Op.OpGroupNonUniformBallotBitExtract, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupNonUniformBallotBitExtract, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(value); @@ -4126,7 +4210,7 @@ namespace Spv.Generator public Instruction GroupNonUniformBallotBitCount(Instruction resultType, Instruction execution, GroupOperation operation, Instruction value) { - Instruction result = new Instruction(Op.OpGroupNonUniformBallotBitCount, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupNonUniformBallotBitCount, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(operation); @@ -4138,7 +4222,7 @@ namespace Spv.Generator public Instruction GroupNonUniformBallotFindLSB(Instruction resultType, Instruction execution, Instruction value) { - Instruction result = new Instruction(Op.OpGroupNonUniformBallotFindLSB, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupNonUniformBallotFindLSB, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(value); @@ -4149,7 +4233,7 @@ namespace Spv.Generator public Instruction GroupNonUniformBallotFindMSB(Instruction resultType, Instruction execution, Instruction value) { - Instruction result = new Instruction(Op.OpGroupNonUniformBallotFindMSB, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupNonUniformBallotFindMSB, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(value); @@ -4160,7 +4244,7 @@ namespace Spv.Generator public Instruction GroupNonUniformShuffle(Instruction resultType, Instruction execution, Instruction value, Instruction id) { - Instruction result = new Instruction(Op.OpGroupNonUniformShuffle, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupNonUniformShuffle, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(value); @@ -4172,7 +4256,7 @@ namespace Spv.Generator public Instruction GroupNonUniformShuffleXor(Instruction resultType, Instruction execution, Instruction value, Instruction mask) { - Instruction result = new Instruction(Op.OpGroupNonUniformShuffleXor, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupNonUniformShuffleXor, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(value); @@ -4184,7 +4268,7 @@ namespace Spv.Generator public Instruction GroupNonUniformShuffleUp(Instruction resultType, Instruction execution, Instruction value, Instruction delta) { - Instruction result = new Instruction(Op.OpGroupNonUniformShuffleUp, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupNonUniformShuffleUp, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(value); @@ -4196,7 +4280,7 @@ namespace Spv.Generator public Instruction GroupNonUniformShuffleDown(Instruction resultType, Instruction execution, Instruction value, Instruction delta) { - Instruction result = new Instruction(Op.OpGroupNonUniformShuffleDown, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupNonUniformShuffleDown, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(value); @@ -4208,7 +4292,7 @@ namespace Spv.Generator public Instruction GroupNonUniformIAdd(Instruction resultType, Instruction execution, GroupOperation operation, Instruction value, Instruction clusterSize = null) { - Instruction result = new Instruction(Op.OpGroupNonUniformIAdd, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupNonUniformIAdd, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(operation); @@ -4224,7 +4308,7 @@ namespace Spv.Generator public Instruction GroupNonUniformFAdd(Instruction resultType, Instruction execution, GroupOperation operation, Instruction value, Instruction clusterSize = null) { - Instruction result = new Instruction(Op.OpGroupNonUniformFAdd, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupNonUniformFAdd, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(operation); @@ -4240,7 +4324,7 @@ namespace Spv.Generator public Instruction GroupNonUniformIMul(Instruction resultType, Instruction execution, GroupOperation operation, Instruction value, Instruction clusterSize = null) { - Instruction result = new Instruction(Op.OpGroupNonUniformIMul, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupNonUniformIMul, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(operation); @@ -4256,7 +4340,7 @@ namespace Spv.Generator public Instruction GroupNonUniformFMul(Instruction resultType, Instruction execution, GroupOperation operation, Instruction value, Instruction clusterSize = null) { - Instruction result = new Instruction(Op.OpGroupNonUniformFMul, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupNonUniformFMul, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(operation); @@ -4272,7 +4356,7 @@ namespace Spv.Generator public Instruction GroupNonUniformSMin(Instruction resultType, Instruction execution, GroupOperation operation, Instruction value, Instruction clusterSize = null) { - Instruction result = new Instruction(Op.OpGroupNonUniformSMin, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupNonUniformSMin, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(operation); @@ -4288,7 +4372,7 @@ namespace Spv.Generator public Instruction GroupNonUniformUMin(Instruction resultType, Instruction execution, GroupOperation operation, Instruction value, Instruction clusterSize = null) { - Instruction result = new Instruction(Op.OpGroupNonUniformUMin, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupNonUniformUMin, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(operation); @@ -4304,7 +4388,7 @@ namespace Spv.Generator public Instruction GroupNonUniformFMin(Instruction resultType, Instruction execution, GroupOperation operation, Instruction value, Instruction clusterSize = null) { - Instruction result = new Instruction(Op.OpGroupNonUniformFMin, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupNonUniformFMin, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(operation); @@ -4320,7 +4404,7 @@ namespace Spv.Generator public Instruction GroupNonUniformSMax(Instruction resultType, Instruction execution, GroupOperation operation, Instruction value, Instruction clusterSize = null) { - Instruction result = new Instruction(Op.OpGroupNonUniformSMax, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupNonUniformSMax, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(operation); @@ -4336,7 +4420,7 @@ namespace Spv.Generator public Instruction GroupNonUniformUMax(Instruction resultType, Instruction execution, GroupOperation operation, Instruction value, Instruction clusterSize = null) { - Instruction result = new Instruction(Op.OpGroupNonUniformUMax, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupNonUniformUMax, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(operation); @@ -4352,7 +4436,7 @@ namespace Spv.Generator public Instruction GroupNonUniformFMax(Instruction resultType, Instruction execution, GroupOperation operation, Instruction value, Instruction clusterSize = null) { - Instruction result = new Instruction(Op.OpGroupNonUniformFMax, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupNonUniformFMax, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(operation); @@ -4368,7 +4452,7 @@ namespace Spv.Generator public Instruction GroupNonUniformBitwiseAnd(Instruction resultType, Instruction execution, GroupOperation operation, Instruction value, Instruction clusterSize = null) { - Instruction result = new Instruction(Op.OpGroupNonUniformBitwiseAnd, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupNonUniformBitwiseAnd, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(operation); @@ -4384,7 +4468,7 @@ namespace Spv.Generator public Instruction GroupNonUniformBitwiseOr(Instruction resultType, Instruction execution, GroupOperation operation, Instruction value, Instruction clusterSize = null) { - Instruction result = new Instruction(Op.OpGroupNonUniformBitwiseOr, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupNonUniformBitwiseOr, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(operation); @@ -4400,7 +4484,7 @@ namespace Spv.Generator public Instruction GroupNonUniformBitwiseXor(Instruction resultType, Instruction execution, GroupOperation operation, Instruction value, Instruction clusterSize = null) { - Instruction result = new Instruction(Op.OpGroupNonUniformBitwiseXor, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupNonUniformBitwiseXor, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(operation); @@ -4416,7 +4500,7 @@ namespace Spv.Generator public Instruction GroupNonUniformLogicalAnd(Instruction resultType, Instruction execution, GroupOperation operation, Instruction value, Instruction clusterSize = null) { - Instruction result = new Instruction(Op.OpGroupNonUniformLogicalAnd, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupNonUniformLogicalAnd, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(operation); @@ -4432,7 +4516,7 @@ namespace Spv.Generator public Instruction GroupNonUniformLogicalOr(Instruction resultType, Instruction execution, GroupOperation operation, Instruction value, Instruction clusterSize = null) { - Instruction result = new Instruction(Op.OpGroupNonUniformLogicalOr, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupNonUniformLogicalOr, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(operation); @@ -4448,7 +4532,7 @@ namespace Spv.Generator public Instruction GroupNonUniformLogicalXor(Instruction resultType, Instruction execution, GroupOperation operation, Instruction value, Instruction clusterSize = null) { - Instruction result = new Instruction(Op.OpGroupNonUniformLogicalXor, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupNonUniformLogicalXor, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(operation); @@ -4464,7 +4548,7 @@ namespace Spv.Generator public Instruction GroupNonUniformQuadBroadcast(Instruction resultType, Instruction execution, Instruction value, Instruction index) { - Instruction result = new Instruction(Op.OpGroupNonUniformQuadBroadcast, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupNonUniformQuadBroadcast, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(value); @@ -4476,7 +4560,7 @@ namespace Spv.Generator public Instruction GroupNonUniformQuadSwap(Instruction resultType, Instruction execution, Instruction value, Instruction direction) { - Instruction result = new Instruction(Op.OpGroupNonUniformQuadSwap, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupNonUniformQuadSwap, GetNewId(), resultType); result.AddOperand(execution); result.AddOperand(value); @@ -4488,7 +4572,7 @@ namespace Spv.Generator public Instruction GroupNonUniformPartitionNV(Instruction resultType, Instruction value) { - Instruction result = new Instruction(Op.OpGroupNonUniformPartitionNV, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpGroupNonUniformPartitionNV, GetNewId(), resultType); result.AddOperand(value); AddToFunctionDefinitions(result); @@ -4500,7 +4584,7 @@ namespace Spv.Generator public Instruction TraceRayKHR(Instruction accel, Instruction rayFlags, Instruction cullMask, Instruction sBTOffset, Instruction sBTStride, Instruction missIndex, Instruction rayOrigin, Instruction rayTmin, Instruction rayDirection, Instruction rayTmax, Instruction payload) { - Instruction result = new Instruction(Op.OpTraceRayKHR); + Instruction result = NewInstruction(Op.OpTraceRayKHR); result.AddOperand(accel); result.AddOperand(rayFlags); @@ -4520,7 +4604,7 @@ namespace Spv.Generator public Instruction ExecuteCallableKHR(Instruction sBTIndex, Instruction callableData) { - Instruction result = new Instruction(Op.OpExecuteCallableKHR); + Instruction result = NewInstruction(Op.OpExecuteCallableKHR); result.AddOperand(sBTIndex); result.AddOperand(callableData); @@ -4531,7 +4615,7 @@ namespace Spv.Generator public Instruction ConvertUToAccelerationStructureKHR(Instruction resultType, Instruction accel) { - Instruction result = new Instruction(Op.OpConvertUToAccelerationStructureKHR, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpConvertUToAccelerationStructureKHR, GetNewId(), resultType); result.AddOperand(accel); AddToFunctionDefinitions(result); @@ -4541,7 +4625,7 @@ namespace Spv.Generator public Instruction IgnoreIntersectionKHR() { - Instruction result = new Instruction(Op.OpIgnoreIntersectionKHR); + Instruction result = NewInstruction(Op.OpIgnoreIntersectionKHR); AddToFunctionDefinitions(result); @@ -4550,7 +4634,7 @@ namespace Spv.Generator public Instruction TerminateRayKHR() { - Instruction result = new Instruction(Op.OpTerminateRayKHR); + Instruction result = NewInstruction(Op.OpTerminateRayKHR); AddToFunctionDefinitions(result); @@ -4559,7 +4643,7 @@ namespace Spv.Generator public Instruction TypeRayQueryKHR() { - Instruction result = new Instruction(Op.OpTypeRayQueryKHR, GetNewId()); + Instruction result = NewInstruction(Op.OpTypeRayQueryKHR, GetNewId()); AddToFunctionDefinitions(result); @@ -4568,7 +4652,7 @@ namespace Spv.Generator public Instruction RayQueryInitializeKHR(Instruction rayQuery, Instruction accel, Instruction rayFlags, Instruction cullMask, Instruction rayOrigin, Instruction rayTMin, Instruction rayDirection, Instruction rayTMax) { - Instruction result = new Instruction(Op.OpRayQueryInitializeKHR); + Instruction result = NewInstruction(Op.OpRayQueryInitializeKHR); result.AddOperand(rayQuery); result.AddOperand(accel); @@ -4585,7 +4669,7 @@ namespace Spv.Generator public Instruction RayQueryTerminateKHR(Instruction rayQuery) { - Instruction result = new Instruction(Op.OpRayQueryTerminateKHR); + Instruction result = NewInstruction(Op.OpRayQueryTerminateKHR); result.AddOperand(rayQuery); AddToFunctionDefinitions(result); @@ -4595,7 +4679,7 @@ namespace Spv.Generator public Instruction RayQueryGenerateIntersectionKHR(Instruction rayQuery, Instruction hitT) { - Instruction result = new Instruction(Op.OpRayQueryGenerateIntersectionKHR); + Instruction result = NewInstruction(Op.OpRayQueryGenerateIntersectionKHR); result.AddOperand(rayQuery); result.AddOperand(hitT); @@ -4606,7 +4690,7 @@ namespace Spv.Generator public Instruction RayQueryConfirmIntersectionKHR(Instruction rayQuery) { - Instruction result = new Instruction(Op.OpRayQueryConfirmIntersectionKHR); + Instruction result = NewInstruction(Op.OpRayQueryConfirmIntersectionKHR); result.AddOperand(rayQuery); AddToFunctionDefinitions(result); @@ -4616,7 +4700,7 @@ namespace Spv.Generator public Instruction RayQueryProceedKHR(Instruction resultType, Instruction rayQuery) { - Instruction result = new Instruction(Op.OpRayQueryProceedKHR, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpRayQueryProceedKHR, GetNewId(), resultType); result.AddOperand(rayQuery); AddToFunctionDefinitions(result); @@ -4626,7 +4710,7 @@ namespace Spv.Generator public Instruction RayQueryGetIntersectionTypeKHR(Instruction resultType, Instruction rayQuery, Instruction intersection) { - Instruction result = new Instruction(Op.OpRayQueryGetIntersectionTypeKHR, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpRayQueryGetIntersectionTypeKHR, GetNewId(), resultType); result.AddOperand(rayQuery); result.AddOperand(intersection); @@ -4637,7 +4721,7 @@ namespace Spv.Generator public Instruction FragmentMaskFetchAMD(Instruction resultType, Instruction image, Instruction coordinate) { - Instruction result = new Instruction(Op.OpFragmentMaskFetchAMD, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpFragmentMaskFetchAMD, GetNewId(), resultType); result.AddOperand(image); result.AddOperand(coordinate); @@ -4648,7 +4732,7 @@ namespace Spv.Generator public Instruction FragmentFetchAMD(Instruction resultType, Instruction image, Instruction coordinate, Instruction fragmentIndex) { - Instruction result = new Instruction(Op.OpFragmentFetchAMD, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpFragmentFetchAMD, GetNewId(), resultType); result.AddOperand(image); result.AddOperand(coordinate); @@ -4660,7 +4744,7 @@ namespace Spv.Generator public Instruction ReadClockKHR(Instruction resultType, Instruction execution) { - Instruction result = new Instruction(Op.OpReadClockKHR, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpReadClockKHR, GetNewId(), resultType); result.AddOperand(execution); AddToFunctionDefinitions(result); @@ -4670,7 +4754,7 @@ namespace Spv.Generator public Instruction WritePackedPrimitiveIndices4x8NV(Instruction indexOffset, Instruction packedIndices) { - Instruction result = new Instruction(Op.OpWritePackedPrimitiveIndices4x8NV); + Instruction result = NewInstruction(Op.OpWritePackedPrimitiveIndices4x8NV); result.AddOperand(indexOffset); result.AddOperand(packedIndices); @@ -4681,7 +4765,7 @@ namespace Spv.Generator public Instruction ReportIntersectionNV(Instruction resultType, Instruction hit, Instruction hitKind) { - Instruction result = new Instruction(Op.OpReportIntersectionNV, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpReportIntersectionNV, GetNewId(), resultType); result.AddOperand(hit); result.AddOperand(hitKind); @@ -4692,7 +4776,7 @@ namespace Spv.Generator public Instruction ReportIntersectionKHR(Instruction resultType, Instruction hit, Instruction hitKind) { - Instruction result = new Instruction(Op.OpReportIntersectionKHR, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpReportIntersectionKHR, GetNewId(), resultType); result.AddOperand(hit); result.AddOperand(hitKind); @@ -4703,7 +4787,7 @@ namespace Spv.Generator public Instruction IgnoreIntersectionNV() { - Instruction result = new Instruction(Op.OpIgnoreIntersectionNV); + Instruction result = NewInstruction(Op.OpIgnoreIntersectionNV); AddToFunctionDefinitions(result); @@ -4712,7 +4796,7 @@ namespace Spv.Generator public Instruction TerminateRayNV() { - Instruction result = new Instruction(Op.OpTerminateRayNV); + Instruction result = NewInstruction(Op.OpTerminateRayNV); AddToFunctionDefinitions(result); @@ -4721,7 +4805,7 @@ namespace Spv.Generator public Instruction TraceNV(Instruction accel, Instruction rayFlags, Instruction cullMask, Instruction sBTOffset, Instruction sBTStride, Instruction missIndex, Instruction rayOrigin, Instruction rayTmin, Instruction rayDirection, Instruction rayTmax, Instruction payloadId) { - Instruction result = new Instruction(Op.OpTraceNV); + Instruction result = NewInstruction(Op.OpTraceNV); result.AddOperand(accel); result.AddOperand(rayFlags); @@ -4741,7 +4825,7 @@ namespace Spv.Generator public Instruction TypeAccelerationStructureNV() { - Instruction result = new Instruction(Op.OpTypeAccelerationStructureNV, GetNewId()); + Instruction result = NewInstruction(Op.OpTypeAccelerationStructureNV, GetNewId()); AddToFunctionDefinitions(result); @@ -4750,7 +4834,7 @@ namespace Spv.Generator public Instruction TypeAccelerationStructureKHR() { - Instruction result = new Instruction(Op.OpTypeAccelerationStructureKHR, GetNewId()); + Instruction result = NewInstruction(Op.OpTypeAccelerationStructureKHR, GetNewId()); AddToFunctionDefinitions(result); @@ -4759,7 +4843,7 @@ namespace Spv.Generator public Instruction ExecuteCallableNV(Instruction sBTIndex, Instruction callableDataId) { - Instruction result = new Instruction(Op.OpExecuteCallableNV); + Instruction result = NewInstruction(Op.OpExecuteCallableNV); result.AddOperand(sBTIndex); result.AddOperand(callableDataId); @@ -4770,7 +4854,7 @@ namespace Spv.Generator public Instruction TypeCooperativeMatrixNV(Instruction componentType, Instruction execution, Instruction rows, Instruction columns) { - Instruction result = new Instruction(Op.OpTypeCooperativeMatrixNV, GetNewId()); + Instruction result = NewInstruction(Op.OpTypeCooperativeMatrixNV, GetNewId()); result.AddOperand(componentType); result.AddOperand(execution); @@ -4783,7 +4867,7 @@ namespace Spv.Generator public Instruction CooperativeMatrixLoadNV(Instruction resultType, Instruction pointer, Instruction stride, Instruction columnMajor, MemoryAccessMask memoryAccess = (MemoryAccessMask)int.MaxValue) { - Instruction result = new Instruction(Op.OpCooperativeMatrixLoadNV, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpCooperativeMatrixLoadNV, GetNewId(), resultType); result.AddOperand(pointer); result.AddOperand(stride); @@ -4799,7 +4883,7 @@ namespace Spv.Generator public Instruction CooperativeMatrixStoreNV(Instruction pointer, Instruction obj, Instruction stride, Instruction columnMajor, MemoryAccessMask memoryAccess = (MemoryAccessMask)int.MaxValue) { - Instruction result = new Instruction(Op.OpCooperativeMatrixStoreNV); + Instruction result = NewInstruction(Op.OpCooperativeMatrixStoreNV); result.AddOperand(pointer); result.AddOperand(obj); @@ -4816,7 +4900,7 @@ namespace Spv.Generator public Instruction CooperativeMatrixMulAddNV(Instruction resultType, Instruction a, Instruction b, Instruction c) { - Instruction result = new Instruction(Op.OpCooperativeMatrixMulAddNV, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpCooperativeMatrixMulAddNV, GetNewId(), resultType); result.AddOperand(a); result.AddOperand(b); @@ -4828,7 +4912,7 @@ namespace Spv.Generator public Instruction CooperativeMatrixLengthNV(Instruction resultType, Instruction type) { - Instruction result = new Instruction(Op.OpCooperativeMatrixLengthNV, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpCooperativeMatrixLengthNV, GetNewId(), resultType); result.AddOperand(type); AddToFunctionDefinitions(result); @@ -4838,7 +4922,7 @@ namespace Spv.Generator public Instruction BeginInvocationInterlockEXT() { - Instruction result = new Instruction(Op.OpBeginInvocationInterlockEXT); + Instruction result = NewInstruction(Op.OpBeginInvocationInterlockEXT); AddToFunctionDefinitions(result); @@ -4847,7 +4931,7 @@ namespace Spv.Generator public Instruction EndInvocationInterlockEXT() { - Instruction result = new Instruction(Op.OpEndInvocationInterlockEXT); + Instruction result = NewInstruction(Op.OpEndInvocationInterlockEXT); AddToFunctionDefinitions(result); @@ -4856,7 +4940,7 @@ namespace Spv.Generator public Instruction DemoteToHelperInvocationEXT() { - Instruction result = new Instruction(Op.OpDemoteToHelperInvocationEXT); + Instruction result = NewInstruction(Op.OpDemoteToHelperInvocationEXT); AddToFunctionDefinitions(result); @@ -4865,7 +4949,7 @@ namespace Spv.Generator public Instruction IsHelperInvocationEXT(Instruction resultType) { - Instruction result = new Instruction(Op.OpIsHelperInvocationEXT, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpIsHelperInvocationEXT, GetNewId(), resultType); AddToFunctionDefinitions(result); @@ -4874,7 +4958,7 @@ namespace Spv.Generator public Instruction UCountLeadingZerosINTEL(Instruction resultType, Instruction operand) { - Instruction result = new Instruction(Op.OpUCountLeadingZerosINTEL, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpUCountLeadingZerosINTEL, GetNewId(), resultType); result.AddOperand(operand); AddToFunctionDefinitions(result); @@ -4884,7 +4968,7 @@ namespace Spv.Generator public Instruction UCountTrailingZerosINTEL(Instruction resultType, Instruction operand) { - Instruction result = new Instruction(Op.OpUCountTrailingZerosINTEL, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpUCountTrailingZerosINTEL, GetNewId(), resultType); result.AddOperand(operand); AddToFunctionDefinitions(result); @@ -4894,7 +4978,7 @@ namespace Spv.Generator public Instruction AbsISubINTEL(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpAbsISubINTEL, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpAbsISubINTEL, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -4905,7 +4989,7 @@ namespace Spv.Generator public Instruction AbsUSubINTEL(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpAbsUSubINTEL, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpAbsUSubINTEL, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -4916,7 +5000,7 @@ namespace Spv.Generator public Instruction IAddSatINTEL(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpIAddSatINTEL, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpIAddSatINTEL, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -4927,7 +5011,7 @@ namespace Spv.Generator public Instruction UAddSatINTEL(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpUAddSatINTEL, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpUAddSatINTEL, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -4938,7 +5022,7 @@ namespace Spv.Generator public Instruction IAverageINTEL(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpIAverageINTEL, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpIAverageINTEL, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -4949,7 +5033,7 @@ namespace Spv.Generator public Instruction UAverageINTEL(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpUAverageINTEL, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpUAverageINTEL, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -4960,7 +5044,7 @@ namespace Spv.Generator public Instruction IAverageRoundedINTEL(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpIAverageRoundedINTEL, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpIAverageRoundedINTEL, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -4971,7 +5055,7 @@ namespace Spv.Generator public Instruction UAverageRoundedINTEL(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpUAverageRoundedINTEL, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpUAverageRoundedINTEL, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -4982,7 +5066,7 @@ namespace Spv.Generator public Instruction ISubSatINTEL(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpISubSatINTEL, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpISubSatINTEL, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -4993,7 +5077,7 @@ namespace Spv.Generator public Instruction USubSatINTEL(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpUSubSatINTEL, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpUSubSatINTEL, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -5004,7 +5088,7 @@ namespace Spv.Generator public Instruction IMul32x16INTEL(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpIMul32x16INTEL, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpIMul32x16INTEL, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -5015,7 +5099,7 @@ namespace Spv.Generator public Instruction UMul32x16INTEL(Instruction resultType, Instruction operand1, Instruction operand2) { - Instruction result = new Instruction(Op.OpUMul32x16INTEL, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpUMul32x16INTEL, GetNewId(), resultType); result.AddOperand(operand1); result.AddOperand(operand2); @@ -5026,7 +5110,7 @@ namespace Spv.Generator public Instruction LoopControlINTEL(params LiteralInteger[] loopControlParameters) { - Instruction result = new Instruction(Op.OpLoopControlINTEL); + Instruction result = NewInstruction(Op.OpLoopControlINTEL); result.AddOperand(loopControlParameters); AddToFunctionDefinitions(result); @@ -5036,7 +5120,7 @@ namespace Spv.Generator public Instruction FPGARegINTEL(Instruction resultType, Instruction resultObj, Instruction input) { - Instruction result = new Instruction(Op.OpFPGARegINTEL, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpFPGARegINTEL, GetNewId(), resultType); result.AddOperand(resultObj); result.AddOperand(input); @@ -5047,7 +5131,7 @@ namespace Spv.Generator public Instruction RayQueryGetRayTMinKHR(Instruction resultType, Instruction rayQuery) { - Instruction result = new Instruction(Op.OpRayQueryGetRayTMinKHR, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpRayQueryGetRayTMinKHR, GetNewId(), resultType); result.AddOperand(rayQuery); AddToFunctionDefinitions(result); @@ -5057,7 +5141,7 @@ namespace Spv.Generator public Instruction RayQueryGetRayFlagsKHR(Instruction resultType, Instruction rayQuery) { - Instruction result = new Instruction(Op.OpRayQueryGetRayFlagsKHR, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpRayQueryGetRayFlagsKHR, GetNewId(), resultType); result.AddOperand(rayQuery); AddToFunctionDefinitions(result); @@ -5067,7 +5151,7 @@ namespace Spv.Generator public Instruction RayQueryGetIntersectionTKHR(Instruction resultType, Instruction rayQuery, Instruction intersection) { - Instruction result = new Instruction(Op.OpRayQueryGetIntersectionTKHR, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpRayQueryGetIntersectionTKHR, GetNewId(), resultType); result.AddOperand(rayQuery); result.AddOperand(intersection); @@ -5078,7 +5162,7 @@ namespace Spv.Generator public Instruction RayQueryGetIntersectionInstanceCustomIndexKHR(Instruction resultType, Instruction rayQuery, Instruction intersection) { - Instruction result = new Instruction(Op.OpRayQueryGetIntersectionInstanceCustomIndexKHR, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpRayQueryGetIntersectionInstanceCustomIndexKHR, GetNewId(), resultType); result.AddOperand(rayQuery); result.AddOperand(intersection); @@ -5089,7 +5173,7 @@ namespace Spv.Generator public Instruction RayQueryGetIntersectionInstanceIdKHR(Instruction resultType, Instruction rayQuery, Instruction intersection) { - Instruction result = new Instruction(Op.OpRayQueryGetIntersectionInstanceIdKHR, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpRayQueryGetIntersectionInstanceIdKHR, GetNewId(), resultType); result.AddOperand(rayQuery); result.AddOperand(intersection); @@ -5100,7 +5184,7 @@ namespace Spv.Generator public Instruction RayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR(Instruction resultType, Instruction rayQuery, Instruction intersection) { - Instruction result = new Instruction(Op.OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR, GetNewId(), resultType); result.AddOperand(rayQuery); result.AddOperand(intersection); @@ -5111,7 +5195,7 @@ namespace Spv.Generator public Instruction RayQueryGetIntersectionGeometryIndexKHR(Instruction resultType, Instruction rayQuery, Instruction intersection) { - Instruction result = new Instruction(Op.OpRayQueryGetIntersectionGeometryIndexKHR, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpRayQueryGetIntersectionGeometryIndexKHR, GetNewId(), resultType); result.AddOperand(rayQuery); result.AddOperand(intersection); @@ -5122,7 +5206,7 @@ namespace Spv.Generator public Instruction RayQueryGetIntersectionPrimitiveIndexKHR(Instruction resultType, Instruction rayQuery, Instruction intersection) { - Instruction result = new Instruction(Op.OpRayQueryGetIntersectionPrimitiveIndexKHR, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpRayQueryGetIntersectionPrimitiveIndexKHR, GetNewId(), resultType); result.AddOperand(rayQuery); result.AddOperand(intersection); @@ -5133,7 +5217,7 @@ namespace Spv.Generator public Instruction RayQueryGetIntersectionBarycentricsKHR(Instruction resultType, Instruction rayQuery, Instruction intersection) { - Instruction result = new Instruction(Op.OpRayQueryGetIntersectionBarycentricsKHR, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpRayQueryGetIntersectionBarycentricsKHR, GetNewId(), resultType); result.AddOperand(rayQuery); result.AddOperand(intersection); @@ -5144,7 +5228,7 @@ namespace Spv.Generator public Instruction RayQueryGetIntersectionFrontFaceKHR(Instruction resultType, Instruction rayQuery, Instruction intersection) { - Instruction result = new Instruction(Op.OpRayQueryGetIntersectionFrontFaceKHR, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpRayQueryGetIntersectionFrontFaceKHR, GetNewId(), resultType); result.AddOperand(rayQuery); result.AddOperand(intersection); @@ -5155,7 +5239,7 @@ namespace Spv.Generator public Instruction RayQueryGetIntersectionCandidateAABBOpaqueKHR(Instruction resultType, Instruction rayQuery) { - Instruction result = new Instruction(Op.OpRayQueryGetIntersectionCandidateAABBOpaqueKHR, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpRayQueryGetIntersectionCandidateAABBOpaqueKHR, GetNewId(), resultType); result.AddOperand(rayQuery); AddToFunctionDefinitions(result); @@ -5165,7 +5249,7 @@ namespace Spv.Generator public Instruction RayQueryGetIntersectionObjectRayDirectionKHR(Instruction resultType, Instruction rayQuery, Instruction intersection) { - Instruction result = new Instruction(Op.OpRayQueryGetIntersectionObjectRayDirectionKHR, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpRayQueryGetIntersectionObjectRayDirectionKHR, GetNewId(), resultType); result.AddOperand(rayQuery); result.AddOperand(intersection); @@ -5176,7 +5260,7 @@ namespace Spv.Generator public Instruction RayQueryGetIntersectionObjectRayOriginKHR(Instruction resultType, Instruction rayQuery, Instruction intersection) { - Instruction result = new Instruction(Op.OpRayQueryGetIntersectionObjectRayOriginKHR, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpRayQueryGetIntersectionObjectRayOriginKHR, GetNewId(), resultType); result.AddOperand(rayQuery); result.AddOperand(intersection); @@ -5187,7 +5271,7 @@ namespace Spv.Generator public Instruction RayQueryGetWorldRayDirectionKHR(Instruction resultType, Instruction rayQuery) { - Instruction result = new Instruction(Op.OpRayQueryGetWorldRayDirectionKHR, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpRayQueryGetWorldRayDirectionKHR, GetNewId(), resultType); result.AddOperand(rayQuery); AddToFunctionDefinitions(result); @@ -5197,7 +5281,7 @@ namespace Spv.Generator public Instruction RayQueryGetWorldRayOriginKHR(Instruction resultType, Instruction rayQuery) { - Instruction result = new Instruction(Op.OpRayQueryGetWorldRayOriginKHR, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpRayQueryGetWorldRayOriginKHR, GetNewId(), resultType); result.AddOperand(rayQuery); AddToFunctionDefinitions(result); @@ -5207,7 +5291,7 @@ namespace Spv.Generator public Instruction RayQueryGetIntersectionObjectToWorldKHR(Instruction resultType, Instruction rayQuery, Instruction intersection) { - Instruction result = new Instruction(Op.OpRayQueryGetIntersectionObjectToWorldKHR, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpRayQueryGetIntersectionObjectToWorldKHR, GetNewId(), resultType); result.AddOperand(rayQuery); result.AddOperand(intersection); @@ -5218,7 +5302,7 @@ namespace Spv.Generator public Instruction RayQueryGetIntersectionWorldToObjectKHR(Instruction resultType, Instruction rayQuery, Instruction intersection) { - Instruction result = new Instruction(Op.OpRayQueryGetIntersectionWorldToObjectKHR, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpRayQueryGetIntersectionWorldToObjectKHR, GetNewId(), resultType); result.AddOperand(rayQuery); result.AddOperand(intersection); diff --git a/Spv.Generator/GeneratorPool.cs b/Spv.Generator/GeneratorPool.cs new file mode 100644 index 000000000..f6c92918e --- /dev/null +++ b/Spv.Generator/GeneratorPool.cs @@ -0,0 +1,58 @@ +using System.Collections.Generic; + +namespace Spv.Generator +{ + public class GeneratorPool where T : class, new() + { + private List _pool; + private int _chunkIndex = -1; + private int _poolIndex = -1; + private int _initialSize; + private int _poolSizeIncrement; + + public GeneratorPool(): this(1000, 200) { } + + public GeneratorPool(int chunkSizeLimit, int poolSizeIncrement) + { + _initialSize = chunkSizeLimit; + _poolSizeIncrement = poolSizeIncrement; + + _pool = new(chunkSizeLimit * 2); + + AddChunkIfNeeded(); + } + + public T Allocate() + { + if (++_poolIndex >= _poolSizeIncrement) + { + AddChunkIfNeeded(); + + _poolIndex = 0; + } + + return _pool[_chunkIndex][_poolIndex]; + } + + private void AddChunkIfNeeded() + { + if (++_chunkIndex >= _pool.Count) + { + T[] pool = new T[_poolSizeIncrement]; + + for (int i = 0; i < _poolSizeIncrement; i++) + { + pool[i] = new T(); + } + + _pool.Add(pool); + } + } + + public void Clear() + { + _chunkIndex = 0; + _poolIndex = -1; + } + } +} diff --git a/Spv.Generator/Instruction.cs b/Spv.Generator/Instruction.cs index 5a1f98f14..922994049 100644 --- a/Spv.Generator/Instruction.cs +++ b/Spv.Generator/Instruction.cs @@ -14,7 +14,9 @@ namespace Spv.Generator public uint Id { get; set; } - public Instruction(Specification.Op opcode, uint id = InvalidId, Instruction resultType = null) + public Instruction() { } + + public void Set(Specification.Op opcode, uint id = InvalidId, Instruction resultType = null) { Opcode = opcode; Id = id; @@ -55,7 +57,7 @@ namespace Spv.Generator public ushort WordCount => 1; - private void AddOperand(Operand value) + public void AddOperand(Operand value) { Debug.Assert(value != null); _operands.Add(value); @@ -102,11 +104,6 @@ namespace Spv.Generator public void AddOperand(T value) where T: Enum { - if (!typeof(T).IsPrimitive && !typeof(T).IsEnum) - { - throw new InvalidOperationException(); - } - AddOperand(LiteralInteger.CreateForEnum(value)); } diff --git a/Spv.Generator/LiteralInteger.cs b/Spv.Generator/LiteralInteger.cs index d88ee5f70..3193ed6e5 100644 --- a/Spv.Generator/LiteralInteger.cs +++ b/Spv.Generator/LiteralInteger.cs @@ -5,6 +5,19 @@ namespace Spv.Generator { public class LiteralInteger : Operand, IEquatable { + [ThreadStatic] + private static GeneratorPool _pool; + + internal static void RegisterPool(GeneratorPool pool) + { + _pool = pool; + } + + internal static void UnregisterPool() + { + _pool = null; + } + public OperandType Type => OperandType.Number; private enum IntegerType @@ -20,26 +33,35 @@ namespace Spv.Generator private IntegerType _integerType; private ulong _data; - public ushort WordCount { get; } + public ushort WordCount { get; private set; } - private LiteralInteger(ulong data, IntegerType integerType, ushort wordCount) + public LiteralInteger() { } + + private static LiteralInteger New() + { + return _pool.Allocate(); + } + + private LiteralInteger Set(ulong data, IntegerType integerType, ushort wordCount) { _data = data; _integerType = integerType; WordCount = wordCount; + + return this; } - public static implicit operator LiteralInteger(int value) => new LiteralInteger((ulong)value, IntegerType.Int32, 1); - public static implicit operator LiteralInteger(uint value) => new LiteralInteger(value, IntegerType.UInt32, 1); - public static implicit operator LiteralInteger(long value) => new LiteralInteger((ulong)value, IntegerType.Int64, 2); - public static implicit operator LiteralInteger(ulong value) => new LiteralInteger(value, IntegerType.UInt64, 2); - public static implicit operator LiteralInteger(float value) => new LiteralInteger(BitConverter.SingleToUInt32Bits(value), IntegerType.Float32, 1); - public static implicit operator LiteralInteger(double value) => new LiteralInteger(BitConverter.DoubleToUInt64Bits(value), IntegerType.Float64, 2); - public static implicit operator LiteralInteger(Enum value) => new LiteralInteger((ulong)Convert.ChangeType(value, typeof(ulong)), IntegerType.Int32, 1); + public static implicit operator LiteralInteger(int value) => New().Set((ulong)value, IntegerType.Int32, 1); + public static implicit operator LiteralInteger(uint value) => New().Set(value, IntegerType.UInt32, 1); + public static implicit operator LiteralInteger(long value) => New().Set((ulong)value, IntegerType.Int64, 2); + public static implicit operator LiteralInteger(ulong value) => New().Set(value, IntegerType.UInt64, 2); + public static implicit operator LiteralInteger(float value) => New().Set(BitConverter.SingleToUInt32Bits(value), IntegerType.Float32, 1); + public static implicit operator LiteralInteger(double value) => New().Set(BitConverter.DoubleToUInt64Bits(value), IntegerType.Float64, 2); + public static implicit operator LiteralInteger(Enum value) => New().Set((ulong)(int)(object)value, IntegerType.Int32, 1); // NOTE: this is not in the standard, but this is some syntax sugar useful in some instructions (TypeInt ect) - public static implicit operator LiteralInteger(bool value) => new LiteralInteger(Convert.ToUInt64(value), IntegerType.Int32, 1); + public static implicit operator LiteralInteger(bool value) => New().Set(Convert.ToUInt64(value), IntegerType.Int32, 1); public static LiteralInteger CreateForEnum(T value) where T : Enum { diff --git a/Spv.Generator/Module.cs b/Spv.Generator/Module.cs index 5e678af36..1505d4df5 100644 --- a/Spv.Generator/Module.cs +++ b/Spv.Generator/Module.cs @@ -37,7 +37,10 @@ namespace Spv.Generator private List _functionsDefinitions; - public Module(uint version) + private GeneratorPool _instPool; + private GeneratorPool _integerPool; + + public Module(uint version, GeneratorPool instPool = null, GeneratorPool integerPool = null) { _version = version; _bound = 1; @@ -55,6 +58,11 @@ namespace Spv.Generator _globals = new List(); _functionsDeclarations = new List(); _functionsDefinitions = new List(); + + _instPool = instPool ?? new GeneratorPool(); + _integerPool = integerPool ?? new GeneratorPool(); + + LiteralInteger.RegisterPool(_integerPool); } private uint GetNewId() @@ -72,6 +80,14 @@ namespace Spv.Generator _extensions.Add(extension); } + public Instruction NewInstruction(Op opcode, uint id = Instruction.InvalidId, Instruction resultType = null) + { + var result = _instPool.Allocate(); + result.Set(opcode, id, resultType); + + return result; + } + public Instruction AddExtInstImport(string import) { var key = new DeterministicStringKey(import); @@ -82,7 +98,7 @@ namespace Spv.Generator return extInstImport; } - Instruction instruction = new Instruction(Op.OpExtInstImport); + Instruction instruction = NewInstruction(Op.OpExtInstImport); instruction.AddOperand(import); instruction.SetId(GetNewId()); @@ -117,7 +133,7 @@ namespace Spv.Generator { Debug.Assert(function.Opcode == Op.OpFunction); - Instruction entryPoint = new Instruction(Op.OpEntryPoint); + Instruction entryPoint = NewInstruction(Op.OpEntryPoint); entryPoint.AddOperand(executionModel); entryPoint.AddOperand(function); @@ -131,7 +147,7 @@ namespace Spv.Generator { Debug.Assert(function.Opcode == Op.OpFunction); - Instruction executionModeInstruction = new Instruction(Op.OpExecutionMode); + Instruction executionModeInstruction = NewInstruction(Op.OpExecutionMode); executionModeInstruction.AddOperand(function); executionModeInstruction.AddOperand(mode); @@ -212,7 +228,7 @@ namespace Spv.Generator public Instruction ExtInst(Instruction resultType, Instruction set, LiteralInteger instruction, params Operand[] parameters) { - Instruction result = new Instruction(Op.OpExtInst, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpExtInst, GetNewId(), resultType); result.AddOperand(set); result.AddOperand(instruction); @@ -231,7 +247,7 @@ namespace Spv.Generator // TODO: Found a way to make the auto generate one used. public Instruction OpenClPrintf(Instruction resultType, Instruction format, params Instruction[] additionalarguments) { - Instruction result = new Instruction(Op.OpExtInst, GetNewId(), resultType); + Instruction result = NewInstruction(Op.OpExtInst, GetNewId(), resultType); result.AddOperand(AddExtInstImport("OpenCL.std")); result.AddOperand((LiteralInteger)184); @@ -244,7 +260,10 @@ namespace Spv.Generator public byte[] Generate() { - using (MemoryStream stream = new MemoryStream()) + // Estimate the size needed for the generated code, to avoid expanding the MemoryStream. + int sizeEstimate = 1024 + _functionsDefinitions.Count * 32; + + using (MemoryStream stream = new MemoryStream(sizeEstimate)) { BinaryWriter writer = new BinaryWriter(stream, System.Text.Encoding.ASCII); @@ -258,7 +277,7 @@ namespace Spv.Generator // 1. foreach (Capability capability in _capabilities) { - Instruction capabilityInstruction = new Instruction(Op.OpCapability); + Instruction capabilityInstruction = NewInstruction(Op.OpCapability); capabilityInstruction.AddOperand(capability); capabilityInstruction.Write(writer); @@ -267,7 +286,7 @@ namespace Spv.Generator // 2. foreach (string extension in _extensions) { - Instruction extensionInstruction = new Instruction(Op.OpExtension); + Instruction extensionInstruction = NewInstruction(Op.OpExtension); extensionInstruction.AddOperand(extension); extensionInstruction.Write(writer); @@ -280,7 +299,7 @@ namespace Spv.Generator } // 4. - Instruction memoryModelInstruction = new Instruction(Op.OpMemoryModel); + Instruction memoryModelInstruction = NewInstruction(Op.OpMemoryModel); memoryModelInstruction.AddOperand(_addressingModel); memoryModelInstruction.AddOperand(_memoryModel); memoryModelInstruction.Write(writer); @@ -335,6 +354,11 @@ namespace Spv.Generator functionDefinition.Write(writer); } + _instPool.Clear(); + _integerPool.Clear(); + + LiteralInteger.UnregisterPool(); + return stream.ToArray(); } } From afa54813f785de8fc5333fb8e14b79b97c937483 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Sat, 19 Feb 2022 01:36:09 +0000 Subject: [PATCH 068/179] LocalDefMap for Ssa Rewriter Rather than allocating a large array of all registers for each block in the shader, allocate one array of all registers and clear it between blocks. Reduces allocations in the shader translator. --- Ryujinx.Graphics.Shader/Translation/Ssa.cs | 77 +++++++++++++++++----- 1 file changed, 61 insertions(+), 16 deletions(-) diff --git a/Ryujinx.Graphics.Shader/Translation/Ssa.cs b/Ryujinx.Graphics.Shader/Translation/Ssa.cs index ff0fa2b7f..8c63d72dd 100644 --- a/Ryujinx.Graphics.Shader/Translation/Ssa.cs +++ b/Ryujinx.Graphics.Shader/Translation/Ssa.cs @@ -63,6 +63,51 @@ namespace Ryujinx.Graphics.Shader.Translation } } + private class LocalDefMap + { + private Operand[] _map; + private int[] _uses; + public int UseCount { get; private set; } + + public LocalDefMap() + { + _map = new Operand[RegisterConsts.TotalCount]; + _uses = new int[RegisterConsts.TotalCount]; + } + + public Operand Get(int key) + { + return _map[key]; + } + + public void Add(int key, Operand operand) + { + if (_map[key] == null) + { + _uses[UseCount++] = key; + } + + _map[key] = operand; + } + + public Operand GetUse(int index, out int key) + { + key = _uses[index]; + + return _map[key]; + } + + public void Clear() + { + for (int i = 0; i < UseCount; i++) + { + _map[_uses[i]] = null; + } + + UseCount = 0; + } + } + private struct Definition { public BasicBlock Block { get; } @@ -78,6 +123,7 @@ namespace Ryujinx.Graphics.Shader.Translation public static void Rename(BasicBlock[] blocks) { DefMap[] globalDefs = new DefMap[blocks.Length]; + LocalDefMap localDefs = new LocalDefMap(); for (int blkIndex = 0; blkIndex < blocks.Length; blkIndex++) { @@ -89,13 +135,11 @@ namespace Ryujinx.Graphics.Shader.Translation // First pass, get all defs and locals uses. for (int blkIndex = 0; blkIndex < blocks.Length; blkIndex++) { - Operand[] localDefs = new Operand[RegisterConsts.TotalCount]; - Operand RenameLocal(Operand operand) { if (operand != null && operand.Type == OperandType.Register) { - Operand local = localDefs[GetKeyFromRegister(operand.GetRegister())]; + Operand local = localDefs.Get(GetKeyFromRegister(operand.GetRegister())); operand = local ?? operand; } @@ -124,7 +168,7 @@ namespace Ryujinx.Graphics.Shader.Translation { Operand local = Local(); - localDefs[GetKeyFromRegister(dest.GetRegister())] = local; + localDefs.Add(GetKeyFromRegister(dest.GetRegister()), local); operation.SetDest(index, local); } @@ -134,16 +178,12 @@ namespace Ryujinx.Graphics.Shader.Translation node = node.Next; } - for (int index = 0; index < RegisterConsts.TotalCount; index++) + int localUses = localDefs.UseCount; + for (int index = 0; index < localUses; index++) { - Operand local = localDefs[index]; + Operand local = localDefs.GetUse(index, out int key); - if (local == null) - { - continue; - } - - Register reg = GetRegisterFromKey(index); + Register reg = GetRegisterFromKey(key); globalDefs[block.Index].TryAddOperand(reg, local); @@ -160,13 +200,13 @@ namespace Ryujinx.Graphics.Shader.Translation } } } + + localDefs.Clear(); } // Second pass, rename variables with definitions on different blocks. for (int blkIndex = 0; blkIndex < blocks.Length; blkIndex++) { - Operand[] localDefs = new Operand[RegisterConsts.TotalCount]; - BasicBlock block = blocks[blkIndex]; Operand RenameGlobal(Operand operand) @@ -175,7 +215,7 @@ namespace Ryujinx.Graphics.Shader.Translation { int key = GetKeyFromRegister(operand.GetRegister()); - Operand local = localDefs[key]; + Operand local = localDefs.Get(key); if (local != null) { @@ -184,7 +224,7 @@ namespace Ryujinx.Graphics.Shader.Translation operand = FindDefinitionForCurr(globalDefs, block, operand.GetRegister()); - localDefs[key] = operand; + localDefs.Add(key, operand); } return operand; @@ -200,6 +240,11 @@ namespace Ryujinx.Graphics.Shader.Translation } } } + + if (blkIndex < blocks.Length - 1) + { + localDefs.Clear(); + } } } From f51f9e90d469da67489cb339d6d476ce8792aa29 Mon Sep 17 00:00:00 2001 From: gdk Date: Sat, 19 Feb 2022 16:24:41 -0300 Subject: [PATCH 069/179] SPIR-V: Transform feedback support --- .../CodeGen/Spirv/CodeGenContext.cs | 40 +++++++- .../CodeGen/Spirv/Declarations.cs | 95 +++++++++++++++---- .../CodeGen/Spirv/SpirvGenerator.cs | 12 ++- 3 files changed, 124 insertions(+), 23 deletions(-) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs index f451602db..b2b856e06 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs @@ -13,6 +13,8 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv partial class CodeGenContext : Module { + private readonly StructuredProgramInfo _info; + public ShaderConfig Config { get; } public int InputVertices { get; } @@ -65,8 +67,13 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv public SpirvDelegates Delegates { get; } - public CodeGenContext(ShaderConfig config, GeneratorPool instPool, GeneratorPool integerPool) : base(0x00010300, instPool, integerPool) + public CodeGenContext( + StructuredProgramInfo info, + ShaderConfig config, + GeneratorPool instPool, + GeneratorPool integerPool) : base(0x00010300, instPool, integerPool) { + _info = info; Config = config; if (config.Stage == ShaderStage.Geometry) @@ -217,17 +224,28 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv elemType = attrInfo.Type & AggregateType.ElementTypeMask; - var storageClass = isOutAttr ? StorageClass.Output : StorageClass.Input; + int attrOffset = attrInfo.BaseValue; + AggregateType type = attrInfo.Type; - var elemIndex = Constant(TypeU32(), attrInfo.GetInnermostIndex()); + bool isUserAttr = attr >= AttributeConsts.UserAttributeBase && attr < AttributeConsts.UserAttributeEnd; + if (isUserAttr && Config.TransformFeedbackEnabled && + ((isOutAttr && Config.Stage != ShaderStage.Fragment) || + (!isOutAttr && Config.Stage != ShaderStage.Vertex))) + { + attrOffset = attr; + type = elemType; + } - var ioVariable = isOutAttr ? Outputs[attrInfo.BaseValue] : Inputs[attrInfo.BaseValue]; + var ioVariable = isOutAttr ? Outputs[attrOffset] : Inputs[attrOffset]; - if ((attrInfo.Type & (AggregateType.Array | AggregateType.Vector)) == 0) + if ((type & (AggregateType.Array | AggregateType.Vector)) == 0) { return ioVariable; } + var storageClass = isOutAttr ? StorageClass.Output : StorageClass.Input; + var elemIndex = Constant(TypeU32(), attrInfo.GetInnermostIndex()); + if (Config.Stage == ShaderStage.Geometry && !isOutAttr && (!attrInfo.IsBuiltin || AttributeInfo.IsArrayBuiltIn(attr))) { return AccessChain(TypePointer(storageClass, GetType(elemType)), ioVariable, index, elemIndex); @@ -300,6 +318,18 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv return _functions[funcIndex]; } + public TransformFeedbackOutput GetTransformFeedbackOutput(int location, int component) + { + int index = (AttributeConsts.UserAttributeBase / 4) + location * 4 + component; + return _info.TransformFeedbackOutputs[index]; + } + + public TransformFeedbackOutput GetTransformFeedbackOutput(int location) + { + int index = location / 4; + return _info.TransformFeedbackOutputs[index]; + } + public Instruction GetType(AggregateType type, int length = 1) { if (type.HasFlag(AggregateType.Array)) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs index 106c1d352..23f64ea5d 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs @@ -4,6 +4,7 @@ using Ryujinx.Graphics.Shader.Translation; using Spv.Generator; using System; using System.Collections.Generic; +using System.Diagnostics; using System.Linq; using static Spv.Specification; @@ -335,14 +336,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv iq = context.Config.ImapTypes[(attr - AttributeConsts.UserAttributeBase) / 16].GetFirstUsedType(); } - if (context.Config.TransformFeedbackEnabled) - { - throw new NotImplementedException(); - } - else - { - DeclareInputOrOutput(context, attr, false, iq); - } + DeclareInputOrOutput(context, attr, false, iq); } } @@ -371,14 +365,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv private static void DeclareOutputAttribute(CodeGenContext context, int attr) { - if (context.Config.TransformFeedbackEnabled) - { - throw new NotImplementedException(); - } - else - { - DeclareInputOrOutput(context, attr, true); - } + DeclareInputOrOutput(context, attr, true); } public static void DeclareInvocationId(CodeGenContext context) @@ -388,6 +375,15 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv private static void DeclareInputOrOutput(CodeGenContext context, int attr, bool isOutAttr, PixelImap iq = PixelImap.Unused) { + bool isUserAttr = attr >= AttributeConsts.UserAttributeBase && attr < AttributeConsts.UserAttributeEnd; + if (isUserAttr && context.Config.TransformFeedbackEnabled && + ((isOutAttr && context.Config.Stage != ShaderStage.Fragment) || + (!isOutAttr && context.Config.Stage != ShaderStage.Vertex))) + { + DeclareInputOrOutput(context, attr, (attr >> 2) & 3, isOutAttr, iq); + return; + } + var dict = isOutAttr ? context.Outputs : context.Inputs; var attrInfo = AttributeInfo.From(context.Config, attr); @@ -410,8 +406,19 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv if (attrInfo.IsBuiltin) { context.Decorate(spvVar, Decoration.BuiltIn, (LiteralInteger)GetBuiltIn(context, attrInfo.BaseValue)); + + if (context.Config.TransformFeedbackEnabled && isOutAttr) + { + var tfOutput = context.GetTransformFeedbackOutput(attrInfo.BaseValue); + if (tfOutput.Valid) + { + context.Decorate(spvVar, Decoration.XfbBuffer, (LiteralInteger)tfOutput.Buffer); + context.Decorate(spvVar, Decoration.XfbStride, (LiteralInteger)tfOutput.Stride); + context.Decorate(spvVar, Decoration.Offset, (LiteralInteger)tfOutput.Offset); + } + } } - else if (attr >= AttributeConsts.UserAttributeBase && attr < AttributeConsts.UserAttributeEnd) + else if (isUserAttr) { int location = (attr - AttributeConsts.UserAttributeBase) / 16; context.Decorate(spvVar, Decoration.Location, (LiteralInteger)location); @@ -439,6 +446,60 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv dict.Add(attrInfo.BaseValue, spvVar); } + private static void DeclareInputOrOutput(CodeGenContext context, int attr, int component, bool isOutAttr, PixelImap iq = PixelImap.Unused) + { + var dict = isOutAttr ? context.Outputs : context.Inputs; + var attrInfo = AttributeInfo.From(context.Config, attr); + + if (dict.ContainsKey(attr)) + { + return; + } + + var storageClass = isOutAttr ? StorageClass.Output : StorageClass.Input; + var attrType = context.GetType(attrInfo.Type & AggregateType.ElementTypeMask); + + if (context.Config.Stage == ShaderStage.Geometry && !isOutAttr && (!attrInfo.IsBuiltin || AttributeInfo.IsArrayBuiltIn(attr))) + { + attrType = context.TypeArray(attrType, context.Constant(context.TypeU32(), (LiteralInteger)context.InputVertices)); + } + + var spvType = context.TypePointer(storageClass, attrType); + var spvVar = context.Variable(spvType, storageClass); + + Debug.Assert(attr >= AttributeConsts.UserAttributeBase && attr < AttributeConsts.UserAttributeEnd); + int location = (attr - AttributeConsts.UserAttributeBase) / 16; + + context.Decorate(spvVar, Decoration.Location, (LiteralInteger)location); + context.Decorate(spvVar, Decoration.Component, (LiteralInteger)component); + + if (isOutAttr) + { + var tfOutput = context.GetTransformFeedbackOutput(location, component); + if (tfOutput.Valid) + { + context.Decorate(spvVar, Decoration.XfbBuffer, (LiteralInteger)tfOutput.Buffer); + context.Decorate(spvVar, Decoration.XfbStride, (LiteralInteger)tfOutput.Stride); + context.Decorate(spvVar, Decoration.Offset, (LiteralInteger)tfOutput.Offset); + } + } + else + { + switch (iq) + { + case PixelImap.Constant: + context.Decorate(spvVar, Decoration.Flat); + break; + case PixelImap.ScreenLinear: + context.Decorate(spvVar, Decoration.NoPerspective); + break; + } + } + + context.AddGlobalVariable(spvVar); + dict.Add(attr, spvVar); + } + private static BuiltIn GetBuiltIn(CodeGenContext context, int attr) { return attr switch diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs index 4e5dddce2..20b8fa0cb 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs @@ -47,7 +47,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv integerPool = IntegerPool.Allocate(); } - CodeGenContext context = new CodeGenContext(config, instPool, integerPool); + CodeGenContext context = new CodeGenContext(info, config, instPool, integerPool); context.AddCapability(Capability.GroupNonUniformBallot); context.AddCapability(Capability.ImageBuffer); @@ -56,6 +56,11 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv context.AddCapability(Capability.SubgroupBallotKHR); context.AddCapability(Capability.SubgroupVoteKHR); + if (config.TransformFeedbackEnabled && config.Stage != ShaderStage.Fragment) + { + context.AddCapability(Capability.TransformFeedback); + } + if (config.Stage == ShaderStage.Geometry) { context.AddCapability(Capability.Geometry); @@ -193,6 +198,11 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv localSizeY, localSizeZ); } + + if (context.Config.TransformFeedbackEnabled && context.Config.Stage != ShaderStage.Fragment) + { + context.AddExecutionMode(spvFunc, ExecutionMode.Xfb); + } } } From 387333454b963c9bbbd0c16b2a485bd947d72584 Mon Sep 17 00:00:00 2001 From: gdk Date: Sat, 19 Feb 2022 16:55:30 -0300 Subject: [PATCH 070/179] SPIR-V: Fragment shader interlock support (and image coherency) --- .../CodeGen/Spirv/Declarations.cs | 8 ++++++- .../CodeGen/Spirv/Instructions.cs | 22 +++++++++++++++++++ .../CodeGen/Spirv/SpirvGenerator.cs | 11 ++++++++++ 3 files changed, 40 insertions(+), 1 deletion(-) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs index 23f64ea5d..50ed91eef 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs @@ -243,7 +243,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv meta.Type.HasFlag(SamplerType.Shadow), meta.Type.HasFlag(SamplerType.Array), meta.Type.HasFlag(SamplerType.Multisample), - 2, + AccessQualifier.ReadWrite, GetImageFormat(meta.Format)); var nameSuffix = meta.CbufSlot < 0 ? @@ -258,6 +258,12 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv context.Name(imageVariable, $"{GetStagePrefix(context.Config.Stage)}_img{nameSuffix}"); context.Decorate(imageVariable, Decoration.DescriptorSet, (LiteralInteger)setIndex); context.Decorate(imageVariable, Decoration.Binding, (LiteralInteger)descriptor.Binding); + + if (descriptor.Flags.HasFlag(TextureUsageFlags.ImageCoherent)) + { + context.Decorate(imageVariable, Decoration.Coherent); + } + context.AddGlobalVariable(imageVariable); } } diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs index 871de694a..54ad3c96d 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs @@ -76,6 +76,8 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv Add(Instruction.EmitVertex, GenerateEmitVertex); Add(Instruction.EndPrimitive, GenerateEndPrimitive); Add(Instruction.ExponentB2, GenerateExponentB2); + Add(Instruction.FSIBegin, GenerateFSIBegin); + Add(Instruction.FSIEnd, GenerateFSIEnd); Add(Instruction.FindLSB, GenerateFindLSB); Add(Instruction.FindMSBS32, GenerateFindMSBS32); Add(Instruction.FindMSBU32, GenerateFindMSBU32); @@ -521,6 +523,26 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv return GenerateUnary(context, operation, context.Delegates.GlslExp2, null); } + private static OperationResult GenerateFSIBegin(CodeGenContext context, AstOperation operation) + { + if (context.Config.GpuAccessor.QueryHostSupportsFragmentShaderInterlock()) + { + context.BeginInvocationInterlockEXT(); + } + + return OperationResult.Invalid; + } + + private static OperationResult GenerateFSIEnd(CodeGenContext context, AstOperation operation) + { + if (context.Config.GpuAccessor.QueryHostSupportsFragmentShaderInterlock()) + { + context.EndInvocationInterlockEXT(); + } + + return OperationResult.Invalid; + } + private static OperationResult GenerateFindLSB(CodeGenContext context, AstOperation operation) { var source = context.GetU32(operation.GetSource(0)); diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs index 20b8fa0cb..fe47f4bbb 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs @@ -61,6 +61,12 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv context.AddCapability(Capability.TransformFeedback); } + if (config.Stage == ShaderStage.Fragment && context.Config.GpuAccessor.QueryHostSupportsFragmentShaderInterlock()) + { + context.AddCapability(Capability.FragmentShaderPixelInterlockEXT); + context.AddExtension("SPV_EXT_fragment_shader_interlock"); + } + if (config.Stage == ShaderStage.Geometry) { context.AddCapability(Capability.Geometry); @@ -184,6 +190,11 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv { context.AddExecutionMode(spvFunc, ExecutionMode.DepthReplacing); } + + if (context.Config.GpuAccessor.QueryHostSupportsFragmentShaderInterlock()) + { + context.AddExecutionMode(spvFunc, ExecutionMode.PixelInterlockOrderedEXT); + } } else if (context.Config.Stage == ShaderStage.Compute) { From c260ef7b0a3d0ebe291c4ef321a90ce8f1c11594 Mon Sep 17 00:00:00 2001 From: gdk Date: Sat, 19 Feb 2022 18:14:01 -0300 Subject: [PATCH 071/179] SPIR-V: Add early fragment tests support --- Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs index fe47f4bbb..2e03f7375 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs @@ -191,6 +191,11 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv context.AddExecutionMode(spvFunc, ExecutionMode.DepthReplacing); } + if (context.Config.GpuAccessor.QueryEarlyZForce()) + { + context.AddExecutionMode(spvFunc, ExecutionMode.EarlyFragmentTests); + } + if (context.Config.GpuAccessor.QueryHostSupportsFragmentShaderInterlock()) { context.AddExecutionMode(spvFunc, ExecutionMode.PixelInterlockOrderedEXT); From 1ab42e9ce8dd1e288c02bd94d9642840988acf3c Mon Sep 17 00:00:00 2001 From: gdk Date: Sat, 19 Feb 2022 20:25:39 -0300 Subject: [PATCH 072/179] SPIR-V: Implement SwizzleAdd, add missing Triangles ExecutionMode for geometry shaders, remove SamplerType field from TextureMeta --- .../CodeGen/Spirv/Declarations.cs | 22 +++++----- .../CodeGen/Spirv/Instructions.cs | 41 ++++++++++++++++--- .../CodeGen/Spirv/SpirvGenerator.cs | 3 ++ .../CodeGen/Spirv/TextureMeta.cs | 8 ++-- 4 files changed, 52 insertions(+), 22 deletions(-) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs index 50ed91eef..f23444389 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs @@ -177,7 +177,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv { foreach (var descriptor in descriptors) { - var meta = new TextureMeta(descriptor.CbufSlot, descriptor.HandleIndex, descriptor.Format, descriptor.Type); + var meta = new TextureMeta(descriptor.CbufSlot, descriptor.HandleIndex, descriptor.Format); if (context.Samplers.ContainsKey(meta)) { @@ -187,22 +187,22 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv bool isBuffer = (descriptor.Type & SamplerType.Mask) == SamplerType.TextureBuffer; int setIndex = context.Config.Options.TargetApi == TargetApi.Vulkan ? (isBuffer ? 4 : 2) : 0; - var dim = (meta.Type & SamplerType.Mask) switch + var dim = (descriptor.Type & SamplerType.Mask) switch { SamplerType.Texture1D => Dim.Dim1D, SamplerType.Texture2D => Dim.Dim2D, SamplerType.Texture3D => Dim.Dim3D, SamplerType.TextureCube => Dim.Cube, SamplerType.TextureBuffer => Dim.Buffer, - _ => throw new InvalidOperationException($"Invalid sampler type \"{meta.Type & SamplerType.Mask}\".") + _ => throw new InvalidOperationException($"Invalid sampler type \"{descriptor.Type & SamplerType.Mask}\".") }; var imageType = context.TypeImage( context.TypeFP32(), dim, - meta.Type.HasFlag(SamplerType.Shadow), - meta.Type.HasFlag(SamplerType.Array), - meta.Type.HasFlag(SamplerType.Multisample), + descriptor.Type.HasFlag(SamplerType.Shadow), + descriptor.Type.HasFlag(SamplerType.Array), + descriptor.Type.HasFlag(SamplerType.Multisample), 1, ImageFormat.Unknown); @@ -225,7 +225,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv { foreach (var descriptor in descriptors) { - var meta = new TextureMeta(descriptor.CbufSlot, descriptor.HandleIndex, descriptor.Format, descriptor.Type); + var meta = new TextureMeta(descriptor.CbufSlot, descriptor.HandleIndex, descriptor.Format); if (context.Images.ContainsKey(meta)) { @@ -235,14 +235,14 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv bool isBuffer = (descriptor.Type & SamplerType.Mask) == SamplerType.TextureBuffer; int setIndex = context.Config.Options.TargetApi == TargetApi.Vulkan ? (isBuffer ? 5 : 3) : 0; - var dim = GetDim(meta.Type); + var dim = GetDim(descriptor.Type); var imageType = context.TypeImage( context.GetType(meta.Format.GetComponentType().Convert()), dim, - meta.Type.HasFlag(SamplerType.Shadow), - meta.Type.HasFlag(SamplerType.Array), - meta.Type.HasFlag(SamplerType.Multisample), + descriptor.Type.HasFlag(SamplerType.Shadow), + descriptor.Type.HasFlag(SamplerType.Array), + descriptor.Type.HasFlag(SamplerType.Multisample), AccessQualifier.ReadWrite, GetImageFormat(meta.Format)); diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs index 54ad3c96d..90a55f626 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs @@ -125,6 +125,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv Add(Instruction.StoreShared, GenerateStoreShared); Add(Instruction.StoreStorage, GenerateStoreStorage); Add(Instruction.Subtract, GenerateSubtract); + Add(Instruction.SwizzleAdd, GenerateSwizzleAdd); Add(Instruction.TextureSample, GenerateTextureSample); Add(Instruction.TextureSize, GenerateTextureSize); Add(Instruction.Truncate, GenerateTruncate); @@ -638,7 +639,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv SpvInstruction value = Src(componentType.Convert()); - (var imageType, var imageVariable) = context.Images[new TextureMeta(texOp.CbufSlot, texOp.Handle, texOp.Format, texOp.Type)]; + (var imageType, var imageVariable) = context.Images[new TextureMeta(texOp.CbufSlot, texOp.Handle, texOp.Format)]; var image = context.Load(imageType, imageVariable); @@ -732,7 +733,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv pCoords = Src(AggregateType.S32); } - (var imageType, var imageVariable) = context.Images[new TextureMeta(texOp.CbufSlot, texOp.Handle, texOp.Format, texOp.Type)]; + (var imageType, var imageVariable) = context.Images[new TextureMeta(texOp.CbufSlot, texOp.Handle, texOp.Format)]; var image = context.Load(imageType, imageVariable); @@ -819,7 +820,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv var texel = context.CompositeConstruct(context.TypeVector(context.GetType(componentType.Convert()), ComponentsCount), cElems); - (var imageType, var imageVariable) = context.Images[new TextureMeta(texOp.CbufSlot, texOp.Handle, texOp.Format, texOp.Type)]; + (var imageType, var imageVariable) = context.Images[new TextureMeta(texOp.CbufSlot, texOp.Handle, texOp.Format)]; var image = context.Load(imageType, imageVariable); @@ -968,7 +969,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv pCoords = Src(AggregateType.FP32); } - var meta = new TextureMeta(texOp.CbufSlot, texOp.Handle, texOp.Format, texOp.Type); + var meta = new TextureMeta(texOp.CbufSlot, texOp.Handle, texOp.Format); (_, var sampledImageType, var sampledImageVariable) = context.Samplers[meta]; @@ -1281,6 +1282,34 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv return GenerateBinary(context, operation, context.Delegates.FSub, context.Delegates.ISub); } + private static OperationResult GenerateSwizzleAdd(CodeGenContext context, AstOperation operation) + { + var x = context.Get(AggregateType.FP32, operation.GetSource(0)); + var y = context.Get(AggregateType.FP32, operation.GetSource(1)); + var mask = context.Get(AggregateType.U32, operation.GetSource(2)); + + var v4float = context.TypeVector(context.TypeFP32(), (SpvLiteralInteger)4); + var one = context.Constant(context.TypeFP32(), (SpvLiteralInteger)1.0f); + var minusOne = context.Constant(context.TypeFP32(), (SpvLiteralInteger)(-1.0f)); + var zero = context.Constant(context.TypeFP32(), (SpvLiteralInteger)0.0f); + var xLut = context.ConstantComposite(v4float, one, minusOne, one, zero); + var yLut = context.ConstantComposite(v4float, one, one, minusOne, one); + + var threadId = context.GetAttribute(AggregateType.U32, AttributeConsts.LaneId, false); + var shift = context.BitwiseAnd(context.TypeU32(), threadId, context.Constant(context.TypeU32(), (SpvLiteralInteger)3)); + shift = context.ShiftLeftLogical(context.TypeU32(), shift, context.Constant(context.TypeU32(), (SpvLiteralInteger)1)); + var lutIdx = context.ShiftRightLogical(context.TypeU32(), mask, shift); + + var xLutValue = context.AccessChain(context.TypeFP32(), xLut, lutIdx); + var yLutValue = context.AccessChain(context.TypeFP32(), yLut, lutIdx); + + var xResult = context.FMul(context.TypeFP32(), x, xLutValue); + var yResult = context.FMul(context.TypeFP32(), y, yLutValue); + var result = context.FAdd(context.TypeFP32(), xResult, yResult); + + return new OperationResult(AggregateType.FP32, result); + } + private static OperationResult GenerateTextureSample(CodeGenContext context, AstOperation operation) { AstTextureOperation texOp = (AstTextureOperation)operation; @@ -1520,7 +1549,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv bool colorIsVector = isGather || !isShadow; var resultType = colorIsVector ? context.TypeVector(context.TypeFP32(), 4) : context.TypeFP32(); - var meta = new TextureMeta(texOp.CbufSlot, texOp.Handle, texOp.Format, texOp.Type); + var meta = new TextureMeta(texOp.CbufSlot, texOp.Handle, texOp.Format); (var imageType, var sampledImageType, var sampledImageVariable) = context.Samplers[meta]; @@ -1603,7 +1632,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv var lod = context.GetS32(operation.GetSource(lodSrcIndex)); - var meta = new TextureMeta(texOp.CbufSlot, texOp.Handle, texOp.Format, texOp.Type); + var meta = new TextureMeta(texOp.CbufSlot, texOp.Handle, texOp.Format); (var imageType, var sampledImageType, var sampledImageVariable) = context.Samplers[meta]; diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs index 2e03f7375..37b6be7f5 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs @@ -163,6 +163,9 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv case InputTopology.LinesAdjacency: context.AddExecutionMode(spvFunc, ExecutionMode.InputLinesAdjacency); break; + case InputTopology.Triangles: + context.AddExecutionMode(spvFunc, ExecutionMode.Triangles); + break; case InputTopology.TrianglesAdjacency: context.AddExecutionMode(spvFunc, ExecutionMode.InputTrianglesAdjacency); break; diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/TextureMeta.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/TextureMeta.cs index 9c684d858..686259ad7 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/TextureMeta.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/TextureMeta.cs @@ -7,14 +7,12 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv public int CbufSlot { get; } public int Handle { get; } public TextureFormat Format { get; } - public SamplerType Type { get; } - public TextureMeta(int cbufSlot, int handle, TextureFormat format, SamplerType type) + public TextureMeta(int cbufSlot, int handle, TextureFormat format) { CbufSlot = cbufSlot; Handle = handle; Format = format; - Type = type; } public override bool Equals(object obj) @@ -24,12 +22,12 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv public bool Equals(TextureMeta other) { - return CbufSlot == other.CbufSlot && Handle == other.Handle && Format == other.Format && Type == other.Type; + return CbufSlot == other.CbufSlot && Handle == other.Handle && Format == other.Format; } public override int GetHashCode() { - return HashCode.Combine(CbufSlot, Handle, Format, Type); + return HashCode.Combine(CbufSlot, Handle, Format); } } } \ No newline at end of file From fb20e5b371531147be08ae73e5b63ee863235aee Mon Sep 17 00:00:00 2001 From: riperiperi Date: Sun, 20 Feb 2022 15:37:02 +0000 Subject: [PATCH 073/179] Don't pass depth clip state right now (fix decals) Explicitly disabling it is incorrect. OpenGL currently automatically disables based on depth clamp, which is the behaviour if this state is omitted. --- Ryujinx.Graphics.Vulkan/PipelineState.cs | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/PipelineState.cs b/Ryujinx.Graphics.Vulkan/PipelineState.cs index 6da2e23eb..b97954f27 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineState.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineState.cs @@ -378,12 +378,6 @@ namespace Ryujinx.Graphics.Vulkan PatchControlPoints = PatchControlPoints }; - var depthClipState = new PipelineRasterizationDepthClipStateCreateInfoEXT() - { - SType = StructureType.PipelineRasterizationDepthClipStateCreateInfoExt, - DepthClipEnable = false - }; - var rasterizationState = new PipelineRasterizationStateCreateInfo() { SType = StructureType.PipelineRasterizationStateCreateInfo, @@ -396,8 +390,7 @@ namespace Ryujinx.Graphics.Vulkan DepthBiasEnable = DepthBiasEnable, DepthBiasClamp = DepthBiasClamp, DepthBiasConstantFactor = DepthBiasConstantFactor, - DepthBiasSlopeFactor = DepthBiasSlopeFactor, - PNext = &depthClipState + DepthBiasSlopeFactor = DepthBiasSlopeFactor }; var viewportState = new PipelineViewportStateCreateInfo() From 68107966389b35d2fede268e9e620818a892d437 Mon Sep 17 00:00:00 2001 From: gdk Date: Sun, 20 Feb 2022 17:13:47 -0300 Subject: [PATCH 074/179] Multisampling support --- Ryujinx.Graphics.Vulkan/FramebufferParams.cs | 5 +++++ Ryujinx.Graphics.Vulkan/PipelineBase.cs | 4 +++- Ryujinx.Graphics.Vulkan/PipelineState.cs | 22 +++++++++++++------- Ryujinx.Graphics.Vulkan/TextureStorage.cs | 3 +-- 4 files changed, 23 insertions(+), 11 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/FramebufferParams.cs b/Ryujinx.Graphics.Vulkan/FramebufferParams.cs index 817c26bb4..59e161a9c 100644 --- a/Ryujinx.Graphics.Vulkan/FramebufferParams.cs +++ b/Ryujinx.Graphics.Vulkan/FramebufferParams.cs @@ -15,6 +15,7 @@ namespace Ryujinx.Graphics.Vulkan public uint Height { get; } public uint Layers { get; } + public uint[] AttachmentSamples { get; } public VkFormat[] AttachmentFormats { get; } public int[] AttachmentIndices { get; } @@ -38,6 +39,7 @@ namespace Ryujinx.Graphics.Vulkan Height = height; Layers = 1; + AttachmentSamples = new[] { 1u }; AttachmentFormats = new[] { format }; AttachmentIndices = new[] { 0 }; @@ -56,6 +58,7 @@ namespace Ryujinx.Graphics.Vulkan _attachments = new Auto[count]; + AttachmentSamples = new uint[count]; AttachmentFormats = new VkFormat[count]; AttachmentIndices = new int[count]; MaxColorAttachmentIndex = colors.Length - 1; @@ -75,6 +78,7 @@ namespace Ryujinx.Graphics.Vulkan _attachments[index] = texture.GetImageViewForAttachment(); + AttachmentSamples[index] = (uint)texture.Info.Samples; AttachmentFormats[index] = texture.VkFormat; AttachmentIndices[index] = bindIndex; @@ -95,6 +99,7 @@ namespace Ryujinx.Graphics.Vulkan { _attachments[count - 1] = dsTexture.GetImageViewForAttachment(); + AttachmentSamples[count - 1] = (uint)dsTexture.Info.Samples; AttachmentFormats[count - 1] = dsTexture.VkFormat; width = Math.Min(width, (uint)dsTexture.Width); diff --git a/Ryujinx.Graphics.Vulkan/PipelineBase.cs b/Ryujinx.Graphics.Vulkan/PipelineBase.cs index 6c1f12f0f..e43735732 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineBase.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineBase.cs @@ -97,6 +97,7 @@ namespace Ryujinx.Graphics.Vulkan _newState.Initialize(); _newState.LineWidth = 1f; + _newState.SamplesCount = 1; } protected virtual DescriptorSetLayout[] CreateDescriptorSetLayouts(VulkanGraphicsDevice gd, Device device, out PipelineLayout layout) @@ -916,6 +917,7 @@ namespace Ryujinx.Graphics.Vulkan { FramebufferParams = new FramebufferParams(Device, colors, depthStencil); UpdatePipelineAttachmentFormats(); + _newState.SamplesCount = FramebufferParams.AttachmentSamples.Length != 0 ? FramebufferParams.AttachmentSamples[0] : 1; } protected void UpdatePipelineAttachmentFormats() @@ -959,7 +961,7 @@ namespace Ryujinx.Graphics.Vulkan attachmentDescs[i] = new AttachmentDescription( 0, FramebufferParams.AttachmentFormats[i], - SampleCountFlags.SampleCount1Bit, + TextureStorage.ConvertToSampleCountFlags(FramebufferParams.AttachmentSamples[i]), AttachmentLoadOp.Load, AttachmentStoreOp.Store, AttachmentLoadOp.Load, diff --git a/Ryujinx.Graphics.Vulkan/PipelineState.cs b/Ryujinx.Graphics.Vulkan/PipelineState.cs index b97954f27..1e8cc2ae5 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineState.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineState.cs @@ -33,37 +33,37 @@ namespace Ryujinx.Graphics.Vulkan public uint StencilFrontCompareMask { - get => (UInt32)((Internal.Id2 >> 0) & 0xFFFFFFFF); + get => (uint)((Internal.Id2 >> 0) & 0xFFFFFFFF); set => Internal.Id2 = (Internal.Id2 & 0xFFFFFFFF00000000) | ((ulong)value << 0); } public uint StencilFrontWriteMask { - get => (UInt32)((Internal.Id2 >> 32) & 0xFFFFFFFF); + get => (uint)((Internal.Id2 >> 32) & 0xFFFFFFFF); set => Internal.Id2 = (Internal.Id2 & 0xFFFFFFFF) | ((ulong)value << 32); } public uint StencilFrontReference { - get => (UInt32)((Internal.Id3 >> 0) & 0xFFFFFFFF); + get => (uint)((Internal.Id3 >> 0) & 0xFFFFFFFF); set => Internal.Id3 = (Internal.Id3 & 0xFFFFFFFF00000000) | ((ulong)value << 0); } public uint StencilBackCompareMask { - get => (UInt32)((Internal.Id3 >> 32) & 0xFFFFFFFF); + get => (uint)((Internal.Id3 >> 32) & 0xFFFFFFFF); set => Internal.Id3 = (Internal.Id3 & 0xFFFFFFFF) | ((ulong)value << 32); } public uint StencilBackWriteMask { - get => (UInt32)((Internal.Id4 >> 0) & 0xFFFFFFFF); + get => (uint)((Internal.Id4 >> 0) & 0xFFFFFFFF); set => Internal.Id4 = (Internal.Id4 & 0xFFFFFFFF00000000) | ((ulong)value << 0); } public uint StencilBackReference { - get => (UInt32)((Internal.Id4 >> 32) & 0xFFFFFFFF); + get => (uint)((Internal.Id4 >> 32) & 0xFFFFFFFF); set => Internal.Id4 = (Internal.Id4 & 0xFFFFFFFF) | ((ulong)value << 32); } @@ -285,10 +285,16 @@ namespace Ryujinx.Graphics.Vulkan public uint PatchControlPoints { - get => (UInt32)((Internal.Id10 >> 0) & 0xFFFFFFFF); + get => (uint)((Internal.Id10 >> 0) & 0xFFFFFFFF); set => Internal.Id10 = (Internal.Id10 & 0xFFFFFFFF00000000) | ((ulong)value << 0); } + public uint SamplesCount + { + get => (uint)((Internal.Id10 >> 32) & 0xFFFFFFFF); + set => Internal.Id10 = (Internal.Id10 & 0xFFFFFFFF) | ((ulong)value << 32); + } + public NativeArray Stages; public PipelineLayout PipelineLayout; @@ -406,7 +412,7 @@ namespace Ryujinx.Graphics.Vulkan { SType = StructureType.PipelineMultisampleStateCreateInfo, SampleShadingEnable = false, - RasterizationSamples = SampleCountFlags.SampleCount1Bit, + RasterizationSamples = TextureStorage.ConvertToSampleCountFlags(SamplesCount), MinSampleShading = 1 }; diff --git a/Ryujinx.Graphics.Vulkan/TextureStorage.cs b/Ryujinx.Graphics.Vulkan/TextureStorage.cs index 88a24d09a..d1a8b444e 100644 --- a/Ryujinx.Graphics.Vulkan/TextureStorage.cs +++ b/Ryujinx.Graphics.Vulkan/TextureStorage.cs @@ -302,9 +302,8 @@ namespace Ryujinx.Graphics.Vulkan } } - private static SampleCountFlags ConvertToSampleCountFlags(uint samples) + public static SampleCountFlags ConvertToSampleCountFlags(uint samples) { - return SampleCountFlags.SampleCount1Bit; if (samples == 0 || samples > (uint)SampleCountFlags.SampleCount64Bit) { return SampleCountFlags.SampleCount1Bit; From 5efe0167eaab7aae4c664c984eb355b1af58f51d Mon Sep 17 00:00:00 2001 From: gdk Date: Sun, 20 Feb 2022 19:00:06 -0300 Subject: [PATCH 075/179] Multisampling: Use resolve if src samples count > dst samples count --- Ryujinx.Graphics.Vulkan/TextureCopy.cs | 13 +++++++++++-- Ryujinx.Graphics.Vulkan/TextureView.cs | 3 ++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/TextureCopy.cs b/Ryujinx.Graphics.Vulkan/TextureCopy.cs index a8ef7bc22..edcdecaea 100644 --- a/Ryujinx.Graphics.Vulkan/TextureCopy.cs +++ b/Ryujinx.Graphics.Vulkan/TextureCopy.cs @@ -316,9 +316,18 @@ namespace Ryujinx.Graphics.Vulkan var extent = new Extent3D((uint)copyWidth, (uint)copyHeight, (uint)srcDepth); - var region = new ImageCopy(srcSl, new Offset3D(0, 0, srcZ), dstSl, new Offset3D(0, 0, dstZ), extent); + if (srcInfo.Samples > 1 && srcInfo.Samples != dstInfo.Samples) + { + var region = new ImageResolve(srcSl, new Offset3D(0, 0, srcZ), dstSl, new Offset3D(0, 0, dstZ), extent); - api.CmdCopyImage(commandBuffer, srcImage, ImageLayout.General, dstImage, ImageLayout.General, 1, region); + api.CmdResolveImage(commandBuffer, srcImage, ImageLayout.General, dstImage, ImageLayout.General, 1, region); + } + else + { + var region = new ImageCopy(srcSl, new Offset3D(0, 0, srcZ), dstSl, new Offset3D(0, 0, dstZ), extent); + + api.CmdCopyImage(commandBuffer, srcImage, ImageLayout.General, dstImage, ImageLayout.General, 1, region); + } width = Math.Max(1, width >> 1); height = Math.Max(1, height >> 1); diff --git a/Ryujinx.Graphics.Vulkan/TextureView.cs b/Ryujinx.Graphics.Vulkan/TextureView.cs index a8bad9537..3148ca6f5 100644 --- a/Ryujinx.Graphics.Vulkan/TextureView.cs +++ b/Ryujinx.Graphics.Vulkan/TextureView.cs @@ -266,7 +266,8 @@ namespace Ryujinx.Graphics.Vulkan dstRegion.Y2 == dst.Height && src.Width == dst.Width && src.Height == dst.Height && - src.VkFormat == dst.VkFormat) + src.VkFormat == dst.VkFormat && + src.Info.Samples == 1) { TextureCopy.Copy( _gd.Api, From 51d986da35b7f355c3c098d269b8cf0f6c6cce57 Mon Sep 17 00:00:00 2001 From: gdk Date: Sun, 20 Feb 2022 19:05:58 -0300 Subject: [PATCH 076/179] Multisampling: We can only resolve for unscaled copies --- Ryujinx.Graphics.Vulkan/TextureView.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/TextureView.cs b/Ryujinx.Graphics.Vulkan/TextureView.cs index 3148ca6f5..a8bad9537 100644 --- a/Ryujinx.Graphics.Vulkan/TextureView.cs +++ b/Ryujinx.Graphics.Vulkan/TextureView.cs @@ -266,8 +266,7 @@ namespace Ryujinx.Graphics.Vulkan dstRegion.Y2 == dst.Height && src.Width == dst.Width && src.Height == dst.Height && - src.VkFormat == dst.VkFormat && - src.Info.Samples == 1) + src.VkFormat == dst.VkFormat) { TextureCopy.Copy( _gd.Api, From 2d6642d605e31a9d8e84d15f9c6c095bc8d22eec Mon Sep 17 00:00:00 2001 From: riperiperi Date: Sun, 27 Feb 2022 23:00:04 +0000 Subject: [PATCH 077/179] SPIR-V: Only add FSI exec mode if used. --- Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs | 3 ++- Ryujinx.Graphics.Shader/StructuredIr/HelperFunctionsMask.cs | 3 ++- Ryujinx.Graphics.Shader/StructuredIr/StructuredProgram.cs | 4 ++++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs index 37b6be7f5..895b37b53 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs @@ -199,7 +199,8 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv context.AddExecutionMode(spvFunc, ExecutionMode.EarlyFragmentTests); } - if (context.Config.GpuAccessor.QueryHostSupportsFragmentShaderInterlock()) + if ((info.HelperFunctionsMask & HelperFunctionsMask.FSI) != 0 && + context.Config.GpuAccessor.QueryHostSupportsFragmentShaderInterlock()) { context.AddExecutionMode(spvFunc, ExecutionMode.PixelInterlockOrderedEXT); } diff --git a/Ryujinx.Graphics.Shader/StructuredIr/HelperFunctionsMask.cs b/Ryujinx.Graphics.Shader/StructuredIr/HelperFunctionsMask.cs index 3dfd025b5..d45f8d4ee 100644 --- a/Ryujinx.Graphics.Shader/StructuredIr/HelperFunctionsMask.cs +++ b/Ryujinx.Graphics.Shader/StructuredIr/HelperFunctionsMask.cs @@ -15,6 +15,7 @@ namespace Ryujinx.Graphics.Shader.StructuredIr ShuffleXor = 1 << 7, StoreSharedSmallInt = 1 << 8, StoreStorageSmallInt = 1 << 9, - SwizzleAdd = 1 << 10 + SwizzleAdd = 1 << 10, + FSI = 1 << 11 } } \ No newline at end of file diff --git a/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgram.cs b/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgram.cs index 0ec56441c..7e15384b2 100644 --- a/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgram.cs +++ b/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgram.cs @@ -244,6 +244,10 @@ namespace Ryujinx.Graphics.Shader.StructuredIr case Instruction.SwizzleAdd: context.Info.HelperFunctionsMask |= HelperFunctionsMask.SwizzleAdd; break; + case Instruction.FSIBegin: + case Instruction.FSIEnd: + context.Info.HelperFunctionsMask |= HelperFunctionsMask.FSI; + break; } } From c1517e5ee36934994897e771819a535edb1e070b Mon Sep 17 00:00:00 2001 From: riperiperi Date: Thu, 3 Mar 2022 23:10:51 +0000 Subject: [PATCH 078/179] SPIR-V: Use ConstantComposite for Texture Offset Vector Fixes a bunch of freezes with SPIR-V on AMD hardware, and validation errors. Note: Obviously assumes input offsets are constant, which they currently are. --- Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs index 90a55f626..e9799f48a 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs @@ -1465,7 +1465,8 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv } var vectorType = context.TypeVector(context.TypeS32(), count); - return context.CompositeConstruct(vectorType, elems); + + return context.ConstantComposite(vectorType, elems); } else { From cbeb40934f3f1ef2cdc8a0e410f4a21496daa845 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Mon, 7 Mar 2022 21:41:27 +0000 Subject: [PATCH 079/179] SPIR-V: Don't OpReturn if we already OpExit'ed Fixes spir-v parse failure and stack smashing in RADV (obviously you still need bolist) --- Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs index 895b37b53..6c6836b69 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs @@ -137,7 +137,8 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv Generate(context, function.MainBlock); // Functions must always end with a return. - if (!(function.MainBlock.Last is AstOperation operation) || operation.Inst != Instruction.Return) + if (!(function.MainBlock.Last is AstOperation operation) || + (operation.Inst != Instruction.Return && operation.Inst != Instruction.Discard)) { context.Return(); } From 7882c0498bb1aee22879c6af7c7b6a79b2d09a7a Mon Sep 17 00:00:00 2001 From: riperiperi Date: Mon, 7 Mar 2022 23:36:39 +0000 Subject: [PATCH 080/179] SPIR-V: Only use input attribute type for input attributes Output vertex attributes should always be of type float. --- .../CodeGen/Spirv/CodeGenContext.cs | 4 ++-- .../CodeGen/Spirv/Declarations.cs | 4 ++-- .../Translation/AttributeInfo.cs | 22 ++++++++++++++----- 3 files changed, 20 insertions(+), 10 deletions(-) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs index b2b856e06..9820b2591 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs @@ -213,14 +213,14 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv public Instruction GetAttributeVectorPointer(AstOperand operand, bool isOutAttr) { - var attrInfo = AttributeInfo.From(Config, operand.Value); + var attrInfo = AttributeInfo.From(Config, operand.Value, isOutAttr); return isOutAttr ? Outputs[attrInfo.BaseValue] : Inputs[attrInfo.BaseValue]; } public Instruction GetAttributeElemPointer(int attr, bool isOutAttr, Instruction index, out AggregateType elemType) { - var attrInfo = AttributeInfo.From(Config, attr); + var attrInfo = AttributeInfo.From(Config, attr, isOutAttr); elemType = attrInfo.Type & AggregateType.ElementTypeMask; diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs index f23444389..13f852d1d 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs @@ -391,7 +391,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv } var dict = isOutAttr ? context.Outputs : context.Inputs; - var attrInfo = AttributeInfo.From(context.Config, attr); + var attrInfo = AttributeInfo.From(context.Config, attr, isOutAttr); if (dict.ContainsKey(attrInfo.BaseValue)) { @@ -455,7 +455,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv private static void DeclareInputOrOutput(CodeGenContext context, int attr, int component, bool isOutAttr, PixelImap iq = PixelImap.Unused) { var dict = isOutAttr ? context.Outputs : context.Inputs; - var attrInfo = AttributeInfo.From(context.Config, attr); + var attrInfo = AttributeInfo.From(context.Config, attr, isOutAttr); if (dict.ContainsKey(attr)) { diff --git a/Ryujinx.Graphics.Shader/Translation/AttributeInfo.cs b/Ryujinx.Graphics.Shader/Translation/AttributeInfo.cs index d0394969d..8e253c961 100644 --- a/Ryujinx.Graphics.Shader/Translation/AttributeInfo.cs +++ b/Ryujinx.Graphics.Shader/Translation/AttributeInfo.cs @@ -70,19 +70,29 @@ namespace Ryujinx.Graphics.Shader.Translation return (Value - BaseValue) / 4; } - public static AttributeInfo From(ShaderConfig config, int value) + public static AttributeInfo From(ShaderConfig config, int value, bool isOutAttr) { value &= ~3; if (value >= AttributeConsts.UserAttributeBase && value < AttributeConsts.UserAttributeEnd) { int location = (value - AttributeConsts.UserAttributeBase) / 16; - var elemType = config.GpuAccessor.QueryAttributeType(location) switch + + AggregateType elemType; + + if (!isOutAttr) { - AttributeType.Sint => AggregateType.S32, - AttributeType.Uint => AggregateType.U32, - _ => AggregateType.FP32 - }; + elemType = config.GpuAccessor.QueryAttributeType(location) switch + { + AttributeType.Sint => AggregateType.S32, + AttributeType.Uint => AggregateType.U32, + _ => AggregateType.FP32 + }; + } + else + { + elemType = AggregateType.FP32; + } return new AttributeInfo(value & ~0xf, (value >> 2) & 3, 4, AggregateType.Vector | elemType, false); } From f6196fe07ba460bd9168d32c47da6561f376e68e Mon Sep 17 00:00:00 2001 From: riperiperi Date: Tue, 22 Feb 2022 18:47:46 +0000 Subject: [PATCH 081/179] Multithreaded Pipeline Compilation --- .../Resources/ThreadedTexture.cs | 1 - .../Multithreading/ThreadedRenderer.cs | 7 + Ryujinx.Graphics.GAL/ProgramPipelineState.cs | 78 +++++ Ryujinx.Graphics.GAL/ShaderInfo.cs | 11 + .../Engine/Threed/DrawManager.cs | 14 +- .../Engine/Threed/StateUpdater.cs | 173 ++++++----- .../Engine/Threed/ThreedClass.cs | 11 +- Ryujinx.Graphics.Gpu/GraphicsConfig.cs | 2 +- Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs | 47 ++- Ryujinx.Graphics.Vulkan/HashTableSlim.cs | 7 +- Ryujinx.Graphics.Vulkan/PipelineBase.cs | 2 +- Ryujinx.Graphics.Vulkan/PipelineConverter.cs | 271 ++++++++++++++++++ Ryujinx.Graphics.Vulkan/PipelineState.cs | 1 + Ryujinx.Graphics.Vulkan/Shader.cs | 38 +-- Ryujinx.Graphics.Vulkan/ShaderCollection.cs | 135 ++++++++- .../VulkanGraphicsDevice.cs | 9 +- 16 files changed, 704 insertions(+), 103 deletions(-) create mode 100644 Ryujinx.Graphics.GAL/ProgramPipelineState.cs create mode 100644 Ryujinx.Graphics.Vulkan/PipelineConverter.cs diff --git a/Ryujinx.Graphics.GAL/Multithreading/Resources/ThreadedTexture.cs b/Ryujinx.Graphics.GAL/Multithreading/Resources/ThreadedTexture.cs index 64d8aa3bd..6023ee388 100644 --- a/Ryujinx.Graphics.GAL/Multithreading/Resources/ThreadedTexture.cs +++ b/Ryujinx.Graphics.GAL/Multithreading/Resources/ThreadedTexture.cs @@ -14,7 +14,6 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Resources public ITexture Base; public int Width => _info.Width; - public int Height => _info.Height; public float ScaleFactor { get; } diff --git a/Ryujinx.Graphics.GAL/Multithreading/ThreadedRenderer.cs b/Ryujinx.Graphics.GAL/Multithreading/ThreadedRenderer.cs index 6a123108a..e7faf474c 100644 --- a/Ryujinx.Graphics.GAL/Multithreading/ThreadedRenderer.cs +++ b/Ryujinx.Graphics.GAL/Multithreading/ThreadedRenderer.cs @@ -262,7 +262,14 @@ namespace Ryujinx.Graphics.GAL.Multithreading public IProgram CreateProgram(ShaderSource[] shaders, ShaderInfo info) { var program = new ThreadedProgram(this); + + if (info.State.HasValue) + { + info.BackgroundCompile = true; + } + SourceProgramRequest request = new SourceProgramRequest(program, shaders, info); + Programs.Add(request); New().Set(Ref((IProgramRequest)request)); diff --git a/Ryujinx.Graphics.GAL/ProgramPipelineState.cs b/Ryujinx.Graphics.GAL/ProgramPipelineState.cs new file mode 100644 index 000000000..39665e86b --- /dev/null +++ b/Ryujinx.Graphics.GAL/ProgramPipelineState.cs @@ -0,0 +1,78 @@ +using Ryujinx.Common.Memory; +using System; + +namespace Ryujinx.Graphics.GAL +{ + /// + /// Descriptor for a pipeline buffer binding. + /// + public struct BufferPipelineDescriptor + { + public bool Enable { get; } + public int Stride { get; } + public int Divisor { get; } + + public BufferPipelineDescriptor(bool enable, int stride, int divisor) + { + Enable = enable; + Stride = stride; + Divisor = divisor; + } + } + + /// + /// State required for a program to compile shaders. + /// + public struct ProgramPipelineState + { + // Some state is considered always dynamic and should not be included: + // - Viewports/Scissors + // - Bias values (not enable) + + public int SamplesCount; + public Array8 AttachmentEnable; + public Array8 AttachmentFormats; + public bool DepthStencilEnable; + public Format DepthStencilFormat; + + public bool LogicOpEnable; + public LogicalOp LogicOp; + public Array8 BlendDescriptors; + public Array8 ColorWriteMask; + + public int VertexAttribCount; + public Array32 VertexAttribs; + + public int VertexBufferCount; + public Array33 VertexBuffers; + + // TODO: Min/max depth bounds. + public DepthTestDescriptor DepthTest; + public StencilTestDescriptor StencilTest; + public FrontFace FrontFace; + public Face CullMode; + public bool CullEnable; + + public PolygonModeMask BiasEnable; + + public float LineWidth; + // TODO: Polygon mode. + public bool DepthClampEnable; + public bool RasterizerDiscard; + public PrimitiveTopology Topology; + public bool PrimitiveRestartEnable; + public uint PatchControlPoints; + + public void SetVertexAttribs(ReadOnlySpan vertexAttribs) + { + VertexAttribCount = vertexAttribs.Length; + vertexAttribs.CopyTo(VertexAttribs.ToSpan()); + } + + public void SetLogicOpState(bool enable, LogicalOp op) + { + LogicOp = op; + LogicOpEnable = enable; + } + } +} diff --git a/Ryujinx.Graphics.GAL/ShaderInfo.cs b/Ryujinx.Graphics.GAL/ShaderInfo.cs index 0c187e066..f7be8b39b 100644 --- a/Ryujinx.Graphics.GAL/ShaderInfo.cs +++ b/Ryujinx.Graphics.GAL/ShaderInfo.cs @@ -3,10 +3,21 @@ namespace Ryujinx.Graphics.GAL public struct ShaderInfo { public int FragmentOutputMap { get; } + public ProgramPipelineState? State { get; } + public bool BackgroundCompile { get; set; } + + public ShaderInfo(int fragmentOutputMap, ProgramPipelineState state) + { + FragmentOutputMap = fragmentOutputMap; + State = state; + BackgroundCompile = false; + } public ShaderInfo(int fragmentOutputMap) { FragmentOutputMap = fragmentOutputMap; + State = null; + BackgroundCompile = false; } } } \ No newline at end of file diff --git a/Ryujinx.Graphics.Gpu/Engine/Threed/DrawManager.cs b/Ryujinx.Graphics.Gpu/Engine/Threed/DrawManager.cs index 6dc5dca5b..07134485c 100644 --- a/Ryujinx.Graphics.Gpu/Engine/Threed/DrawManager.cs +++ b/Ryujinx.Graphics.Gpu/Engine/Threed/DrawManager.cs @@ -200,8 +200,9 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed /// Starts draw. /// This sets primitive type and instanced draw parameters. /// + /// 3D engine where this method is being called /// Method call argument - public void DrawBegin(int argument) + public void DrawBegin(ThreedClass engine, int argument) { bool incrementInstance = (argument & (1 << 26)) != 0; bool resetInstance = (argument & (1 << 27)) == 0; @@ -209,12 +210,12 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed if (_state.State.PrimitiveTypeOverrideEnable) { PrimitiveTypeOverride typeOverride = _state.State.PrimitiveTypeOverride; - DrawBegin(incrementInstance, resetInstance, typeOverride.Convert()); + DrawBegin(engine, incrementInstance, resetInstance, typeOverride.Convert()); } else { PrimitiveType type = (PrimitiveType)(argument & 0xffff); - DrawBegin(incrementInstance, resetInstance, type.Convert()); + DrawBegin(engine, incrementInstance, resetInstance, type.Convert()); } } @@ -222,10 +223,11 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed /// Starts draw. /// This sets primitive type and instanced draw parameters. ///
+ /// 3D engine where this method is being called /// Indicates if the current instance should be incremented /// Indicates if the current instance should be set to zero /// Primitive topology - private void DrawBegin(bool incrementInstance, bool resetInstance, PrimitiveTopology topology) + private void DrawBegin(ThreedClass engine, bool incrementInstance, bool resetInstance, PrimitiveTopology topology) { if (incrementInstance) { @@ -240,6 +242,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed if (_drawState.Topology != topology || !_topologySet) { + engine.SetPipelineTopology(topology); _context.Renderer.Pipeline.SetPrimitiveTopology(topology); _drawState.Topology = topology; _topologySet = true; @@ -309,7 +312,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed { PrimitiveTypeOverride typeOverride = _state.State.PrimitiveTypeOverride; - DrawBegin(instanced, !instanced, typeOverride.Convert()); + DrawBegin(engine, instanced, !instanced, typeOverride.Convert()); int firstIndex = argument & 0xffff; int indexCount = (argument >> 16) & 0xfff; @@ -403,6 +406,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed { engine.Write(IndexBufferCountMethodOffset * 4, indexCount); + engine.SetPipelineTopology(topology); _context.Renderer.Pipeline.SetPrimitiveTopology(topology); _drawState.Topology = topology; _topologySet = true; diff --git a/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs b/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs index 8ae980576..33b34e6cb 100644 --- a/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs +++ b/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs @@ -15,11 +15,11 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed ///
class StateUpdater { - public const int ShaderStateIndex = 0; - public const int RasterizerStateIndex = 1; - public const int ScissorStateIndex = 2; - public const int VertexBufferStateIndex = 3; - public const int PrimitiveRestartStateIndex = 4; + public const int ShaderStateIndex = 16; + public const int RasterizerStateIndex = 15; + public const int ScissorStateIndex = 17; + public const int VertexBufferStateIndex = 0; + public const int PrimitiveRestartStateIndex = 12; private readonly GpuContext _context; private readonly GpuChannel _channel; @@ -31,6 +31,8 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed private readonly ShaderProgramInfo[] _currentProgramInfo; private ShaderSpecializationState _shaderSpecState; + private ProgramPipelineState _pipeline; + private bool _vtgWritesRtLayer; private byte _vsClipDistancesWritten; @@ -54,7 +56,8 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed _drawState = drawState; _currentProgramInfo = new ShaderProgramInfo[Constants.ShaderStages]; - // ShaderState must be the first, as other state updates depends on information from the currently bound shader. + // ShaderState must be updated after other state updates, as pipeline state is sent to the backend when compiling new shaders. + // Render target state must appear after shader state as it depends on information from the currently bound shader. // Rasterizer and scissor states are checked by render target clear, their indexes // must be updated on the constants "RasterizerStateIndex" and "ScissorStateIndex" if modified. // The vertex buffer state may be forced dirty when a indexed draw starts, the "VertexBufferStateIndex" @@ -62,53 +65,39 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed // The order of the other state updates doesn't matter. _updateTracker = new StateUpdateTracker(new[] { - new StateUpdateCallbackEntry(UpdateShaderState, - nameof(ThreedClassState.ShaderBaseAddress), - nameof(ThreedClassState.ShaderState)), - - new StateUpdateCallbackEntry(UpdateRasterizerState, nameof(ThreedClassState.RasterizeEnable)), - - new StateUpdateCallbackEntry(UpdateScissorState, - nameof(ThreedClassState.ScissorState), - nameof(ThreedClassState.ScreenScissorState)), - new StateUpdateCallbackEntry(UpdateVertexBufferState, nameof(ThreedClassState.VertexBufferDrawState), nameof(ThreedClassState.VertexBufferInstanced), nameof(ThreedClassState.VertexBufferState), nameof(ThreedClassState.VertexBufferEndAddress)), - new StateUpdateCallbackEntry(UpdatePrimitiveRestartState, - nameof(ThreedClassState.PrimitiveRestartDrawArrays), - nameof(ThreedClassState.PrimitiveRestartState)), + new StateUpdateCallbackEntry(UpdateVertexAttribState, nameof(ThreedClassState.VertexAttribState)), - new StateUpdateCallbackEntry(UpdateTessellationState, - nameof(ThreedClassState.TessOuterLevel), - nameof(ThreedClassState.TessInnerLevel), - nameof(ThreedClassState.PatchVertices)), + new StateUpdateCallbackEntry(UpdateBlendState, + nameof(ThreedClassState.BlendIndependent), + nameof(ThreedClassState.BlendConstant), + nameof(ThreedClassState.BlendStateCommon), + nameof(ThreedClassState.BlendEnableCommon), + nameof(ThreedClassState.BlendEnable), + nameof(ThreedClassState.BlendState)), - new StateUpdateCallbackEntry(UpdateTfBufferState, nameof(ThreedClassState.TfBufferState)), - new StateUpdateCallbackEntry(UpdateUserClipState, nameof(ThreedClassState.ClipDistanceEnable)), + new StateUpdateCallbackEntry(UpdateFaceState, nameof(ThreedClassState.FaceState)), - new StateUpdateCallbackEntry(UpdateRenderTargetState, - nameof(ThreedClassState.RtColorState), - nameof(ThreedClassState.RtDepthStencilState), - nameof(ThreedClassState.RtControl), - nameof(ThreedClassState.RtDepthStencilSize), - nameof(ThreedClassState.RtDepthStencilEnable)), - - new StateUpdateCallbackEntry(UpdateDepthClampState, nameof(ThreedClassState.ViewVolumeClipControl)), - - new StateUpdateCallbackEntry(UpdateAlphaTestState, - nameof(ThreedClassState.AlphaTestEnable), - nameof(ThreedClassState.AlphaTestRef), - nameof(ThreedClassState.AlphaTestFunc)), + new StateUpdateCallbackEntry(UpdateStencilTestState, + nameof(ThreedClassState.StencilBackMasks), + nameof(ThreedClassState.StencilTestState), + nameof(ThreedClassState.StencilBackTestState)), new StateUpdateCallbackEntry(UpdateDepthTestState, nameof(ThreedClassState.DepthTestEnable), nameof(ThreedClassState.DepthWriteEnable), nameof(ThreedClassState.DepthTestFunc)), + new StateUpdateCallbackEntry(UpdateTessellationState, + nameof(ThreedClassState.TessOuterLevel), + nameof(ThreedClassState.TessInnerLevel), + nameof(ThreedClassState.PatchVertices)), + new StateUpdateCallbackEntry(UpdateViewportTransform, nameof(ThreedClassState.DepthMode), nameof(ThreedClassState.ViewportTransform), @@ -116,6 +105,10 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed nameof(ThreedClassState.YControl), nameof(ThreedClassState.ViewportTransformEnable)), + new StateUpdateCallbackEntry(UpdateLogicOpState, nameof(ThreedClassState.LogicOpState)), + + new StateUpdateCallbackEntry(UpdateDepthClampState, nameof(ThreedClassState.ViewVolumeClipControl)), + new StateUpdateCallbackEntry(UpdatePolygonMode, nameof(ThreedClassState.PolygonModeFront), nameof(ThreedClassState.PolygonModeBack)), @@ -126,21 +119,46 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed nameof(ThreedClassState.DepthBiasUnits), nameof(ThreedClassState.DepthBiasClamp)), - new StateUpdateCallbackEntry(UpdateStencilTestState, - nameof(ThreedClassState.StencilBackMasks), - nameof(ThreedClassState.StencilTestState), - nameof(ThreedClassState.StencilBackTestState)), + new StateUpdateCallbackEntry(UpdatePrimitiveRestartState, nameof(ThreedClassState.PrimitiveRestartState)), + + new StateUpdateCallbackEntry(UpdateLineState, + nameof(ThreedClassState.LineWidthSmooth), + nameof(ThreedClassState.LineSmoothEnable)), + + new StateUpdateCallbackEntry(UpdateRtColorMask, + nameof(ThreedClassState.RtColorMaskShared), + nameof(ThreedClassState.RtColorMask)), + + new StateUpdateCallbackEntry(UpdateRasterizerState, nameof(ThreedClassState.RasterizeEnable)), + + new StateUpdateCallbackEntry(UpdateShaderState, + nameof(ThreedClassState.ShaderBaseAddress), + nameof(ThreedClassState.ShaderState)), + + new StateUpdateCallbackEntry(UpdateRenderTargetState, + nameof(ThreedClassState.RtColorState), + nameof(ThreedClassState.RtDepthStencilState), + nameof(ThreedClassState.RtControl), + nameof(ThreedClassState.RtDepthStencilSize), + nameof(ThreedClassState.RtDepthStencilEnable)), + + new StateUpdateCallbackEntry(UpdateScissorState, + nameof(ThreedClassState.ScissorState), + nameof(ThreedClassState.ScreenScissorState)), + + new StateUpdateCallbackEntry(UpdateTfBufferState, nameof(ThreedClassState.TfBufferState)), + new StateUpdateCallbackEntry(UpdateUserClipState, nameof(ThreedClassState.ClipDistanceEnable)), + + new StateUpdateCallbackEntry(UpdateAlphaTestState, + nameof(ThreedClassState.AlphaTestEnable), + nameof(ThreedClassState.AlphaTestRef), + nameof(ThreedClassState.AlphaTestFunc)), new StateUpdateCallbackEntry(UpdateSamplerPoolState, nameof(ThreedClassState.SamplerPoolState), nameof(ThreedClassState.SamplerIndex)), new StateUpdateCallbackEntry(UpdateTexturePoolState, nameof(ThreedClassState.TexturePoolState)), - new StateUpdateCallbackEntry(UpdateVertexAttribState, nameof(ThreedClassState.VertexAttribState)), - - new StateUpdateCallbackEntry(UpdateLineState, - nameof(ThreedClassState.LineWidthSmooth), - nameof(ThreedClassState.LineSmoothEnable)), new StateUpdateCallbackEntry(UpdatePointState, nameof(ThreedClassState.PointSize), @@ -151,22 +169,6 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed new StateUpdateCallbackEntry(UpdateIndexBufferState, nameof(ThreedClassState.IndexBufferState), nameof(ThreedClassState.IndexBufferCount)), - - new StateUpdateCallbackEntry(UpdateFaceState, nameof(ThreedClassState.FaceState)), - - new StateUpdateCallbackEntry(UpdateRtColorMask, - nameof(ThreedClassState.RtColorMaskShared), - nameof(ThreedClassState.RtColorMask)), - - new StateUpdateCallbackEntry(UpdateBlendState, - nameof(ThreedClassState.BlendIndependent), - nameof(ThreedClassState.BlendConstant), - nameof(ThreedClassState.BlendStateCommon), - nameof(ThreedClassState.BlendEnableCommon), - nameof(ThreedClassState.BlendEnable), - nameof(ThreedClassState.BlendState)), - - new StateUpdateCallbackEntry(UpdateLogicOpState, nameof(ThreedClassState.LogicOpState)) }); } @@ -190,6 +192,15 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed _updateTracker.SetAllDirty(); } + /// + /// Sets topology for the current pipeline. + /// + /// New topology value + public void SetPipelineTopology(PrimitiveTopology topology) + { + _pipeline.Topology = topology; + } + /// /// Updates host state for any modified guest state, since the last time this function was called. /// @@ -320,6 +331,8 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed ///
private void UpdateTessellationState() { + _pipeline.PatchControlPoints = (uint)_state.State.PatchVertices; + _context.Renderer.Pipeline.SetPatchParameters( _state.State.PatchVertices, _state.State.TessOuterLevel.ToSpan(), @@ -352,6 +365,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed private void UpdateRasterizerState() { bool enable = _state.State.RasterizeEnable; + _pipeline.RasterizerDiscard = !enable; _context.Renderer.Pipeline.SetRasterizerDiscard(!enable); } @@ -555,7 +569,10 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed private void UpdateDepthClampState() { ViewVolumeClipControl clip = _state.State.ViewVolumeClipControl; - _context.Renderer.Pipeline.SetDepthClamp((clip & ViewVolumeClipControl.DepthClampDisabled) == 0); + bool clamp = (clip & ViewVolumeClipControl.DepthClampDisabled) == 0; + + _pipeline.DepthClampEnable = clamp; + _context.Renderer.Pipeline.SetDepthClamp(clamp); } /// @@ -574,10 +591,13 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed /// private void UpdateDepthTestState() { - _context.Renderer.Pipeline.SetDepthTest(new DepthTestDescriptor( + DepthTestDescriptor descriptor = new DepthTestDescriptor( _state.State.DepthTestEnable, _state.State.DepthWriteEnable, - _state.State.DepthTestFunc)); + _state.State.DepthTestFunc); + + _pipeline.DepthTest = descriptor; + _context.Renderer.Pipeline.SetDepthTest(descriptor); } /// @@ -728,6 +748,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed enables |= (depthBias.LineEnable ? PolygonModeMask.Line : 0); enables |= (depthBias.FillEnable ? PolygonModeMask.Fill : 0); + _pipeline.BiasEnable = enables; _context.Renderer.Pipeline.SetDepthBias(enables, factor, units / 2f, clamp); } @@ -769,7 +790,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed backMask = test.FrontMask; } - _context.Renderer.Pipeline.SetStencilTest(new StencilTestDescriptor( + StencilTestDescriptor descriptor = new StencilTestDescriptor( test.Enable, test.FrontFunc, test.FrontSFail, @@ -784,7 +805,10 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed backDpFail, backFuncRef, backFuncMask, - backMask)); + backMask); + + _pipeline.StencilTest = descriptor; + _context.Renderer.Pipeline.SetStencilTest(descriptor); } /// @@ -853,6 +877,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed format); } + _pipeline.SetVertexAttribs(vertexAttribs); _context.Renderer.Pipeline.SetVertexAttribs(vertexAttribs); } @@ -864,6 +889,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed float width = _state.State.LineWidthSmooth; bool smooth = _state.State.LineSmoothEnable; + _pipeline.LineWidth = width; _context.Renderer.Pipeline.SetLineParameters(width, smooth); } @@ -890,6 +916,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed PrimitiveRestartState primitiveRestart = _state.State.PrimitiveRestartState; bool enable = primitiveRestart.Enable && (_drawState.DrawIndexed || _state.State.PrimitiveRestartDrawArrays); + _pipeline.PrimitiveRestartEnable = enable; _context.Renderer.Pipeline.SetPrimitiveRestart(enable, primitiveRestart.Index); } @@ -936,6 +963,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed if (!vertexBuffer.UnpackEnable()) { + _pipeline.VertexBuffers[index] = new BufferPipelineDescriptor(false, 0, 0); _channel.BufferManager.SetVertexBuffer(index, 0, 0, 0, 0); continue; @@ -988,6 +1016,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed size = Math.Min(vbSize, (ulong)((firstInstance + drawState.First + drawState.Count) * stride)); } + _pipeline.VertexBuffers[index] = new BufferPipelineDescriptor(_channel.MemoryManager.IsMapped(address), stride, divisor); _channel.BufferManager.SetVertexBuffer(index, address, size, stride, divisor); } } @@ -1000,6 +1029,8 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed var yControl = _state.State.YControl; var face = _state.State.FaceState; + _pipeline.CullEnable = face.CullEnable; + _pipeline.CullMode = face.CullFace; _context.Renderer.Pipeline.SetFaceCulling(face.CullEnable, face.CullFace); UpdateFrontFace(yControl, face.FrontFace); @@ -1019,6 +1050,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed frontFace = frontFace == FrontFace.CounterClockwise ? FrontFace.Clockwise : FrontFace.CounterClockwise; } + _pipeline.FrontFace = frontFace; _context.Renderer.Pipeline.SetFrontFace(frontFace); } @@ -1044,6 +1076,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed componentMask |= (colorMask.UnpackAlpha() ? 8u : 0u); componentMasks[index] = componentMask; + _pipeline.ColorWriteMask[index] = componentMask; } _context.Renderer.Pipeline.SetRenderTargetColorMasks(componentMasks); @@ -1092,6 +1125,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed blend.AlphaDstFactor); } + _pipeline.BlendDescriptors[index] = descriptor; _context.Renderer.Pipeline.SetBlendState(index, descriptor); } } @@ -1103,6 +1137,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed { LogicalOpState logicOpState = _state.State.LogicOpState; + _pipeline.SetLogicOpState(logicOpState.Enable, logicOpState.LogicalOp); _context.Renderer.Pipeline.SetLogicOpState(logicOpState.Enable, logicOpState.LogicalOp); } @@ -1134,7 +1169,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed GpuChannelPoolState poolState = GetPoolState(); GpuChannelGraphicsState graphicsState = GetGraphicsState(); - CachedShaderProgram gs = shaderCache.GetGraphicsShader(ref _state.State, _channel, poolState, graphicsState, addresses); + CachedShaderProgram gs = shaderCache.GetGraphicsShader(ref _state.State, ref _pipeline, _channel, poolState, graphicsState, addresses); _shaderSpecState = gs.SpecializationState; diff --git a/Ryujinx.Graphics.Gpu/Engine/Threed/ThreedClass.cs b/Ryujinx.Graphics.Gpu/Engine/Threed/ThreedClass.cs index 764ba2394..8416ae9bf 100644 --- a/Ryujinx.Graphics.Gpu/Engine/Threed/ThreedClass.cs +++ b/Ryujinx.Graphics.Gpu/Engine/Threed/ThreedClass.cs @@ -109,6 +109,15 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed _state.State.SetMmeShadowRamControl = (uint)control; } + /// + /// Sets topology for the current pipeline. + /// + /// New topology value + public void SetPipelineTopology(PrimitiveTopology topology) + { + _stateUpdater.SetPipelineTopology(topology); + } + /// /// Updates current host state for all registers modified since the last call to this method. /// @@ -343,7 +352,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed /// Method call argument private void DrawBegin(int argument) { - _drawManager.DrawBegin(argument); + _drawManager.DrawBegin(this, argument); } /// diff --git a/Ryujinx.Graphics.Gpu/GraphicsConfig.cs b/Ryujinx.Graphics.Gpu/GraphicsConfig.cs index 9f9de50f6..1365db4bc 100644 --- a/Ryujinx.Graphics.Gpu/GraphicsConfig.cs +++ b/Ryujinx.Graphics.Gpu/GraphicsConfig.cs @@ -60,6 +60,6 @@ namespace Ryujinx.Graphics.Gpu /// /// Enables or disables shader SPIR-V compilation. /// - public static bool EnableSpirvCompilation; + public static bool EnableSpirvCompilation = true; } } \ No newline at end of file diff --git a/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs b/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs index 8cacd8956..c5c23caa1 100644 --- a/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs +++ b/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs @@ -1,6 +1,8 @@ using Ryujinx.Common.Logging; using Ryujinx.Graphics.GAL; using Ryujinx.Graphics.Gpu.Engine.Threed; +using Ryujinx.Graphics.Gpu.Engine.Types; +using Ryujinx.Graphics.Gpu.Image; using Ryujinx.Graphics.Gpu.Memory; using Ryujinx.Graphics.Gpu.Shader.Cache; using Ryujinx.Graphics.Gpu.Shader.DiskCache; @@ -230,6 +232,41 @@ namespace Ryujinx.Graphics.Gpu.Shader return cpShader; } + private void UpdatePipelineInfo(ref ThreedClassState state, ref ProgramPipelineState pipeline, GpuChannel channel) + { + channel.TextureManager.UpdateRenderTargets(); + + var rtControl = state.RtControl; + var msaaMode = state.RtMsaaMode; + + pipeline.SamplesCount = msaaMode.SamplesInX() * msaaMode.SamplesInY(); + + int count = rtControl.UnpackCount(); + + for (int index = 0; index < Constants.TotalRenderTargets; index++) + { + int rtIndex = rtControl.UnpackPermutationIndex(index); + + var colorState = state.RtColorState[rtIndex]; + + if (index >= count || colorState.Format == 0 || colorState.WidthOrStride == 0) + { + pipeline.AttachmentEnable[index] = false; + pipeline.AttachmentFormats[index] = Format.R8G8B8A8Unorm; + } + else + { + pipeline.AttachmentEnable[index] = true; + pipeline.AttachmentFormats[index] = colorState.Format.Convert().Format; + } + } + + pipeline.DepthStencilEnable = state.RtDepthStencilEnable; + pipeline.DepthStencilFormat = pipeline.DepthStencilEnable ? state.RtDepthStencilState.Format.Convert().Format : Format.D24UnormS8Uint; + + pipeline.VertexBufferCount = Constants.TotalVertexBuffers; + } + /// /// Gets a graphics shader program from the shader cache. /// This includes all the specified shader stages. @@ -238,6 +275,7 @@ namespace Ryujinx.Graphics.Gpu.Shader /// This automatically translates, compiles and adds the code to the cache if not present. /// /// GPU state + /// Pipeline state /// GPU channel /// Texture pool state /// 3D engine state @@ -245,6 +283,7 @@ namespace Ryujinx.Graphics.Gpu.Shader /// Compiled graphics shader code public CachedShaderProgram GetGraphicsShader( ref ThreedClassState state, + ref ProgramPipelineState pipeline, GpuChannel channel, GpuChannelPoolState poolState, GpuChannelGraphicsState graphicsState, @@ -351,8 +390,10 @@ namespace Ryujinx.Graphics.Gpu.Shader } } + UpdatePipelineInfo(ref state, ref pipeline, channel); + int fragmentOutputMap = shaders[5]?.Info.FragmentOutputMap ?? -1; - IProgram hostProgram = _context.Renderer.CreateProgram(shaderSources.ToArray(), new ShaderInfo(fragmentOutputMap)); + IProgram hostProgram = _context.Renderer.CreateProgram(shaderSources.ToArray(), new ShaderInfo(fragmentOutputMap, pipeline)); gpShaders = new CachedShaderProgram(hostProgram, specState, shaders); @@ -614,12 +655,12 @@ namespace Ryujinx.Graphics.Gpu.Shader private static ShaderBindings GetBindings(ShaderProgramInfo info) { - static bool IsBuffer(TextureDescriptor descriptor) + static bool IsBuffer(Graphics.Shader.TextureDescriptor descriptor) { return (descriptor.Type & SamplerType.Mask) == SamplerType.TextureBuffer; } - static bool IsNotBuffer(TextureDescriptor descriptor) + static bool IsNotBuffer(Graphics.Shader.TextureDescriptor descriptor) { return !IsBuffer(descriptor); } diff --git a/Ryujinx.Graphics.Vulkan/HashTableSlim.cs b/Ryujinx.Graphics.Vulkan/HashTableSlim.cs index 195b6848b..5f3017301 100644 --- a/Ryujinx.Graphics.Vulkan/HashTableSlim.cs +++ b/Ryujinx.Graphics.Vulkan/HashTableSlim.cs @@ -27,9 +27,12 @@ namespace Ryujinx.Graphics.Vulkan { foreach (Entry[] bucket in _hashTable) { - foreach (Entry entry in bucket) + if (bucket != null) { - yield return entry.Key; + foreach (Entry entry in bucket) + { + yield return entry.Key; + } } } } diff --git a/Ryujinx.Graphics.Vulkan/PipelineBase.cs b/Ryujinx.Graphics.Vulkan/PipelineBase.cs index e43735732..b9802ffb3 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineBase.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineBase.cs @@ -30,7 +30,7 @@ namespace Ryujinx.Graphics.Vulkan protected PipelineBindPoint Pbp; - private PipelineCache _pipelineCache; + public PipelineCache _pipelineCache; protected CommandBufferScoped Cbs; protected CommandBufferScoped? PreloadCbs; diff --git a/Ryujinx.Graphics.Vulkan/PipelineConverter.cs b/Ryujinx.Graphics.Vulkan/PipelineConverter.cs new file mode 100644 index 000000000..30d6edeb7 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/PipelineConverter.cs @@ -0,0 +1,271 @@ +using Ryujinx.Graphics.GAL; +using Silk.NET.Vulkan; +using System; + +namespace Ryujinx.Graphics.Vulkan +{ + static class PipelineConverter + { + public static unsafe DisposableRenderPass ToRenderPass(this ProgramPipelineState state, VulkanGraphicsDevice gd, Device device) + { + const int MaxAttachments = Constants.MaxRenderTargets + 1; + + AttachmentDescription[] attachmentDescs = null; + + var subpass = new SubpassDescription() + { + PipelineBindPoint = PipelineBindPoint.Graphics + }; + + AttachmentReference* attachmentReferences = stackalloc AttachmentReference[MaxAttachments]; + + Span attachmentIndices = stackalloc int[MaxAttachments]; + Span attachmentFormats = stackalloc Silk.NET.Vulkan.Format[MaxAttachments]; + + int attachmentCount = 0; + int colorCount = 0; + int maxColorAttachmentIndex = 0; + + for (int i = 0; i < state.AttachmentEnable.Length; i++) + { + if (state.AttachmentEnable[i]) + { + maxColorAttachmentIndex = i; + + attachmentFormats[attachmentCount] = gd.FormatCapabilities.ConvertToVkFormat(state.AttachmentFormats[i]); + + attachmentIndices[attachmentCount++] = i; + colorCount++; + } + } + + if (state.DepthStencilEnable) + { + attachmentFormats[attachmentCount++] = gd.FormatCapabilities.ConvertToVkFormat(state.DepthStencilFormat); + } + + if (attachmentCount != 0) + { + attachmentDescs = new AttachmentDescription[attachmentCount]; + + for (int i = 0; i < attachmentCount; i++) + { + int bindIndex = attachmentIndices[i]; + + var format = state.AttachmentFormats[i]; + + attachmentDescs[i] = new AttachmentDescription( + 0, + attachmentFormats[i], + SampleCountFlags.SampleCount1Bit, + AttachmentLoadOp.Load, + AttachmentStoreOp.Store, + AttachmentLoadOp.Load, + AttachmentStoreOp.Store, + ImageLayout.General, + ImageLayout.General); + } + + int colorAttachmentsCount = colorCount; + + if (colorAttachmentsCount > MaxAttachments - 1) + { + colorAttachmentsCount = MaxAttachments - 1; + } + + if (colorAttachmentsCount != 0) + { + int maxAttachmentIndex = Constants.MaxRenderTargets - 1; + subpass.ColorAttachmentCount = (uint)maxAttachmentIndex + 1; + subpass.PColorAttachments = &attachmentReferences[0]; + + // Fill with VK_ATTACHMENT_UNUSED to cover any gaps. + for (int i = 0; i <= maxAttachmentIndex; i++) + { + subpass.PColorAttachments[i] = new AttachmentReference(Vk.AttachmentUnused, ImageLayout.Undefined); + } + + for (int i = 0; i < colorAttachmentsCount; i++) + { + int bindIndex = attachmentIndices[i]; + + subpass.PColorAttachments[bindIndex] = new AttachmentReference((uint)i, ImageLayout.General); + } + } + + if (state.DepthStencilEnable) + { + uint dsIndex = (uint)attachmentCount - 1; + + subpass.PDepthStencilAttachment = &attachmentReferences[MaxAttachments - 1]; + *subpass.PDepthStencilAttachment = new AttachmentReference(dsIndex, ImageLayout.General); + } + } + + var subpassDependency = new SubpassDependency( + 0, + 0, + PipelineStageFlags.PipelineStageAllGraphicsBit, + PipelineStageFlags.PipelineStageAllGraphicsBit, + AccessFlags.AccessMemoryReadBit | AccessFlags.AccessMemoryWriteBit, + AccessFlags.AccessMemoryReadBit | AccessFlags.AccessMemoryWriteBit, + 0); + + fixed (AttachmentDescription* pAttachmentDescs = attachmentDescs) + { + var renderPassCreateInfo = new RenderPassCreateInfo() + { + SType = StructureType.RenderPassCreateInfo, + PAttachments = pAttachmentDescs, + AttachmentCount = attachmentDescs != null ? (uint)attachmentDescs.Length : 0, + PSubpasses = &subpass, + SubpassCount = 1, + PDependencies = &subpassDependency, + DependencyCount = 1 + }; + + gd.Api.CreateRenderPass(device, renderPassCreateInfo, null, out var renderPass).ThrowOnError(); + + return new DisposableRenderPass(gd.Api, device, renderPass); + } + } + + public static unsafe PipelineState ToVulkanPipelineState(this ProgramPipelineState state, VulkanGraphicsDevice gd) + { + PipelineState pipeline = new PipelineState(); + pipeline.Initialize(); + + // It is assumed that Dynamic State is enabled when this conversion is used. + + pipeline.BlendConstantA = state.BlendDescriptors[0].BlendConstant.Alpha; + pipeline.BlendConstantB = state.BlendDescriptors[0].BlendConstant.Blue; + pipeline.BlendConstantG = state.BlendDescriptors[0].BlendConstant.Green; + pipeline.BlendConstantR = state.BlendDescriptors[0].BlendConstant.Red; + + pipeline.CullMode = state.CullEnable ? state.CullMode.Convert() : CullModeFlags.CullModeNone; + + pipeline.DepthBoundsTestEnable = false; // Not implemented. + + pipeline.DepthClampEnable = state.DepthClampEnable; + + pipeline.DepthTestEnable = state.DepthTest.TestEnable; + pipeline.DepthWriteEnable = state.DepthTest.WriteEnable; + pipeline.DepthCompareOp = state.DepthTest.Func.Convert(); + + pipeline.FrontFace = state.FrontFace.Convert(); + + pipeline.HasDepthStencil = state.DepthStencilEnable; + pipeline.LineWidth = state.LineWidth; + pipeline.LogicOpEnable = state.LogicOpEnable; + pipeline.LogicOp = state.LogicOp.Convert(); + + pipeline.MinDepthBounds = 0f; // Not implemented. + pipeline.MaxDepthBounds = 0f; // Not implemented. + + pipeline.PatchControlPoints = state.PatchControlPoints; + pipeline.PolygonMode = Silk.NET.Vulkan.PolygonMode.Fill; // Not implemented. + pipeline.PrimitiveRestartEnable = state.PrimitiveRestartEnable; + pipeline.RasterizerDiscardEnable = state.RasterizerDiscard; + pipeline.SamplesCount = (uint)state.SamplesCount; + pipeline.ScissorsCount = 16; + pipeline.ViewportsCount = 16; + + pipeline.DepthBiasEnable = state.BiasEnable != 0; + + // Stencil masks and ref are dynamic, so are 0 in the Vulkan pipeline. + + pipeline.StencilFrontFailOp = state.StencilTest.FrontSFail.Convert(); + pipeline.StencilFrontPassOp = state.StencilTest.FrontDpPass.Convert(); + pipeline.StencilFrontDepthFailOp = state.StencilTest.FrontDpFail.Convert(); + pipeline.StencilFrontCompareOp = state.StencilTest.FrontFunc.Convert(); + pipeline.StencilFrontCompareMask = 0; + pipeline.StencilFrontWriteMask = 0; + pipeline.StencilFrontReference = 0; + + pipeline.StencilBackFailOp = state.StencilTest.BackSFail.Convert(); + pipeline.StencilBackPassOp = state.StencilTest.BackDpPass.Convert(); + pipeline.StencilBackDepthFailOp = state.StencilTest.BackDpFail.Convert(); + pipeline.StencilBackCompareOp = state.StencilTest.BackFunc.Convert(); + pipeline.StencilBackCompareMask = 0; + pipeline.StencilBackWriteMask = 0; + pipeline.StencilBackReference = 0; + + pipeline.StencilTestEnable = state.StencilTest.TestEnable; + + pipeline.Topology = state.Topology.Convert(); + + int vaCount = Math.Min(Constants.MaxVertexAttributes, state.VertexAttribCount); + + for (int i = 0; i < vaCount; i++) + { + var attribute = state.VertexAttribs[i]; + var bufferIndex = attribute.IsZero ? 0 : attribute.BufferIndex + 1; + + pipeline.Internal.VertexAttributeDescriptions[i] = new VertexInputAttributeDescription( + (uint)i, + (uint)bufferIndex, + FormatTable.GetFormat(attribute.Format), + (uint)attribute.Offset); + } + + int descriptorIndex = 1; + pipeline.Internal.VertexBindingDescriptions[0] = new VertexInputBindingDescription(0, 0, VertexInputRate.Vertex); + + int vbCount = Math.Min(Constants.MaxVertexBuffers, state.VertexBufferCount); + + for (int i = 0; i < vbCount; i++) + { + var vertexBuffer = state.VertexBuffers[i]; + + if (vertexBuffer.Enable) + { + var inputRate = vertexBuffer.Divisor != 0 ? VertexInputRate.Instance : VertexInputRate.Vertex; + + // TODO: Support divisor > 1 + pipeline.Internal.VertexBindingDescriptions[descriptorIndex++] = new VertexInputBindingDescription( + (uint)i + 1, + (uint)vertexBuffer.Stride, + inputRate); + } + } + + pipeline.VertexBindingDescriptionsCount = (uint)descriptorIndex; + + // NOTE: Viewports, Scissors are dynamic. + + for (int i = 0; i < 8; i++) + { + var blend = state.BlendDescriptors[i]; + + pipeline.Internal.ColorBlendAttachmentState[i] = new PipelineColorBlendAttachmentState( + blend.Enable, + blend.ColorSrcFactor.Convert(), + blend.ColorDstFactor.Convert(), + blend.ColorOp.Convert(), + blend.AlphaSrcFactor.Convert(), + blend.AlphaDstFactor.Convert(), + blend.AlphaOp.Convert(), + (ColorComponentFlags)state.ColorWriteMask[i]); + } + + int maxAttachmentIndex = 0; + for (int i = 0; i < 8; i++) + { + if (state.AttachmentEnable[i]) + { + pipeline.Internal.AttachmentFormats[maxAttachmentIndex++] = gd.FormatCapabilities.ConvertToVkFormat(state.AttachmentFormats[i]); + } + } + + if (state.DepthStencilEnable) + { + pipeline.Internal.AttachmentFormats[maxAttachmentIndex++] = gd.FormatCapabilities.ConvertToVkFormat(state.DepthStencilFormat); + } + + pipeline.ColorBlendAttachmentStateCount = 8; + pipeline.VertexAttributeDescriptionsCount = (uint)Math.Min(Constants.MaxVertexAttributes, state.VertexAttribCount); + + return pipeline; + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/PipelineState.cs b/Ryujinx.Graphics.Vulkan/PipelineState.cs index 1e8cc2ae5..b5ba583fd 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineState.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineState.cs @@ -497,6 +497,7 @@ namespace Ryujinx.Graphics.Vulkan var pipelineCreateInfo = new GraphicsPipelineCreateInfo() { SType = StructureType.GraphicsPipelineCreateInfo, + Flags = 0, StageCount = StagesCount, PStages = Stages.Pointer, PVertexInputState = &vertexInputState, diff --git a/Ryujinx.Graphics.Vulkan/Shader.cs b/Ryujinx.Graphics.Vulkan/Shader.cs index 9ec4bac7f..3f1896386 100644 --- a/Ryujinx.Graphics.Vulkan/Shader.cs +++ b/Ryujinx.Graphics.Vulkan/Shader.cs @@ -19,7 +19,6 @@ namespace Ryujinx.Graphics.Vulkan private readonly Vk _api; private readonly Device _device; private readonly ShaderStageFlags _stage; - private readonly Task _compileTask; private IntPtr _entryPointName; private ShaderModule _module; @@ -30,6 +29,8 @@ namespace Ryujinx.Graphics.Vulkan public ProgramLinkStatus CompileStatus { private set; get; } + public readonly Task CompileTask; + public unsafe Shader(Vk api, Device device, ShaderStage stage, ShaderBindings bindings, string glsl) { _api = api; @@ -39,7 +40,7 @@ namespace Ryujinx.Graphics.Vulkan Bindings = bindings; - _compileTask = Task.Run(() => + CompileTask = Task.Run(() => { glsl = glsl.Replace("gl_VertexID", "(gl_VertexIndex - gl_BaseVertex)"); glsl = glsl.Replace("gl_InstanceID", "(gl_InstanceIndex - gl_BaseInstance)"); @@ -103,22 +104,27 @@ namespace Ryujinx.Graphics.Vulkan _device = device; Bindings = bindings; - CompileStatus = ProgramLinkStatus.Success; - - fixed (byte* pCode = spirv) - { - var shaderModuleCreateInfo = new ShaderModuleCreateInfo() - { - SType = StructureType.ShaderModuleCreateInfo, - CodeSize = (uint)spirv.Length, - PCode = (uint*)pCode - }; - - api.CreateShaderModule(device, shaderModuleCreateInfo, null, out _module).ThrowOnError(); - } + CompileStatus = ProgramLinkStatus.Incomplete; _stage = stage.Convert(); _entryPointName = Marshal.StringToHGlobalAnsi("main"); + + CompileTask = Task.Run(() => + { + fixed (byte* pCode = spirv) + { + var shaderModuleCreateInfo = new ShaderModuleCreateInfo() + { + SType = StructureType.ShaderModuleCreateInfo, + CodeSize = (uint)spirv.Length, + PCode = (uint*)pCode + }; + + api.CreateShaderModule(device, shaderModuleCreateInfo, null, out _module).ThrowOnError(); + } + + CompileStatus = ProgramLinkStatus.Success; + }); } private static uint[] LoadShaderData(string filePath, out int codeSize) @@ -169,7 +175,7 @@ namespace Ryujinx.Graphics.Vulkan public void WaitForCompile() { - _compileTask.Wait(); + CompileTask.Wait(); } public unsafe void Dispose() diff --git a/Ryujinx.Graphics.Vulkan/ShaderCollection.cs b/Ryujinx.Graphics.Vulkan/ShaderCollection.cs index 05beee70f..7f3b7dec7 100644 --- a/Ryujinx.Graphics.Vulkan/ShaderCollection.cs +++ b/Ryujinx.Graphics.Vulkan/ShaderCollection.cs @@ -1,8 +1,10 @@ -using Ryujinx.Graphics.GAL; +using Ryujinx.Common.Logging; +using Ryujinx.Graphics.GAL; using Silk.NET.Vulkan; using System; using System.Collections.Generic; using System.Linq; +using System.Threading.Tasks; namespace Ryujinx.Graphics.Vulkan { @@ -40,8 +42,17 @@ namespace Ryujinx.Graphics.Vulkan private VulkanGraphicsDevice _gd; private Device _device; private bool _initialized; + private bool _isCompute; - public ShaderCollection(VulkanGraphicsDevice gd, Device device, IShader[] shaders) + private ProgramPipelineState _state; + private DisposableRenderPass _dummyRenderPass; + private Task _compileTask; + private bool _firstBackgroundUse; + + public ShaderCollection( + VulkanGraphicsDevice gd, + Device device, + IShader[] shaders) { _gd = gd; _device = device; @@ -70,6 +81,11 @@ namespace Ryujinx.Graphics.Vulkan _ => 0 }; + if (shader.StageFlags == ShaderStageFlags.ShaderStageComputeBit) + { + _isCompute = true; + } + internalShaders[i] = shader; } @@ -101,6 +117,42 @@ namespace Ryujinx.Graphics.Vulkan GrabAll(x => x.BufferTextureBindings), GrabAll(x => x.BufferImageBindings) }; + + _compileTask = Task.CompletedTask; + _firstBackgroundUse = false; + } + + public ShaderCollection( + VulkanGraphicsDevice gd, + Device device, + IShader[] shaders, + ProgramPipelineState state) : this(gd, device, shaders) + { + _state = state; + + _compileTask = BackgroundCompilation(); + _firstBackgroundUse = true; + } + + private async Task BackgroundCompilation() + { + await Task.WhenAll(_shaders.Select(shader => ((Shader)shader).CompileTask)); + + try + { + if (_isCompute) + { + CreateBackgroundComputePipeline(); + } + else + { + CreateBackgroundGraphicsPipeline(); + } + } + catch (VulkanException e) + { + Common.Logging.Logger.Error?.PrintMsg(Common.Logging.LogClass.Gpu, $"Background Compilation failed: {e.Message}"); + } } private void EnsureShadersReady() @@ -136,6 +188,54 @@ namespace Ryujinx.Graphics.Vulkan return _infos; } + protected unsafe DisposableRenderPass CreateDummyRenderPass() + { + if (_dummyRenderPass.Value.Handle != 0) + { + return _dummyRenderPass; + } + + return _dummyRenderPass = _state.ToRenderPass(_gd, _device); + } + + public unsafe void CreateBackgroundComputePipeline() + { + PipelineState pipeline = new PipelineState(); + pipeline.Initialize(); + + pipeline.Stages[0] = ((Shader)_shaders[0]).GetInfo(); + pipeline.StagesCount = 1; + + pipeline.CreateComputePipeline(_gd.Api, _device, this, (_gd.Pipeline as PipelineBase)._pipelineCache); + } + + public unsafe void CreateBackgroundGraphicsPipeline() + { + // To compile shaders in the background in Vulkan, we need to create valid pipelines using the shader modules. + // The GPU provides pipeline state via the GAL that can be converted into our internal Vulkan pipeline state. + // This should match the pipeline state at the time of the first draw. If it doesn't, then it'll likely be + // close enough that the GPU driver will reuse the compiled shader for the different state. + + // First, we need to create a render pass object compatible with the one that will be used at runtime. + // The active attachment formats have been provided by the abstraction layer. + var renderPass = CreateDummyRenderPass(); + + PipelineState pipeline = _state.ToVulkanPipelineState(_gd); + + // Copy the shader stage info to the pipeline. + var stages = pipeline.Stages.ToSpan(); + + for (int i = 0; i < _shaders.Length; i++) + { + stages[i] = ((Shader)_shaders[i]).GetInfo(); + } + + pipeline.StagesCount = (uint)_shaders.Length; + pipeline.PipelineLayout = PipelineLayout; + + pipeline.CreateGraphicsPipeline(_gd, _device, this, (_gd.Pipeline as PipelineBase)._pipelineCache, renderPass.Value); + } + public ProgramLinkStatus CheckProgramLink(bool blocking) { if (LinkStatus == ProgramLinkStatus.Incomplete) @@ -163,6 +263,18 @@ namespace Ryujinx.Graphics.Vulkan } } + if (!_compileTask.IsCompleted) + { + if (blocking) + { + _compileTask.Wait(); + } + else + { + return ProgramLinkStatus.Incomplete; + } + } + return resultStatus; } @@ -203,7 +315,20 @@ namespace Ryujinx.Graphics.Vulkan return false; } - return _graphicsPipelineCache.TryGetValue(ref key, out pipeline); + if (!_graphicsPipelineCache.TryGetValue(ref key, out pipeline)) + { + if (_firstBackgroundUse) + { + Logger.Warning?.Print(LogClass.Gpu, "Background pipeline compile missed on draw - incorrect pipeline state?"); + _firstBackgroundUse = false; + } + + return false; + } + + _firstBackgroundUse = false; + + return true; } public Auto GetNewDescriptorSetCollection( @@ -238,6 +363,10 @@ namespace Ryujinx.Graphics.Vulkan } _computePipeline?.Dispose(); + if (_dummyRenderPass.Value.Handle != 0) + { + _dummyRenderPass.Dispose(); + } } } diff --git a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs index 36f7ff6f6..c13205cbb 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs @@ -204,7 +204,14 @@ namespace Ryujinx.Graphics.Vulkan public IProgram CreateProgram(IShader[] shaders, ShaderInfo info) { - return new ShaderCollection(this, _device, shaders); + if (info.BackgroundCompile && info.State.HasValue && VulkanConfiguration.UseDynamicState) + { + return new ShaderCollection(this, _device, shaders, info.State.Value); + } + else + { + return new ShaderCollection(this, _device, shaders); + } } public IProgram CreateProgram(ShaderSource[] sources, ShaderInfo info) From c75860e62741e0994d5ee033d970175802f97958 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Tue, 8 Mar 2022 19:07:32 +0000 Subject: [PATCH 082/179] Address some feedback --- Ryujinx.Graphics.Vulkan/ShaderCollection.cs | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/ShaderCollection.cs b/Ryujinx.Graphics.Vulkan/ShaderCollection.cs index 7f3b7dec7..c1f156853 100644 --- a/Ryujinx.Graphics.Vulkan/ShaderCollection.cs +++ b/Ryujinx.Graphics.Vulkan/ShaderCollection.cs @@ -49,10 +49,7 @@ namespace Ryujinx.Graphics.Vulkan private Task _compileTask; private bool _firstBackgroundUse; - public ShaderCollection( - VulkanGraphicsDevice gd, - Device device, - IShader[] shaders) + public ShaderCollection(VulkanGraphicsDevice gd, Device device, IShader[] shaders) { _gd = gd; _device = device; @@ -151,7 +148,7 @@ namespace Ryujinx.Graphics.Vulkan } catch (VulkanException e) { - Common.Logging.Logger.Error?.PrintMsg(Common.Logging.LogClass.Gpu, $"Background Compilation failed: {e.Message}"); + Logger.Error?.PrintMsg(LogClass.Gpu, $"Background Compilation failed: {e.Message}"); } } From ba8887b848596999a760b0d503550b842802c5cb Mon Sep 17 00:00:00 2001 From: riperiperi Date: Tue, 8 Mar 2022 19:08:45 +0000 Subject: [PATCH 083/179] Make this 32 --- Ryujinx.Graphics.GAL/ProgramPipelineState.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ryujinx.Graphics.GAL/ProgramPipelineState.cs b/Ryujinx.Graphics.GAL/ProgramPipelineState.cs index 39665e86b..10a4164e6 100644 --- a/Ryujinx.Graphics.GAL/ProgramPipelineState.cs +++ b/Ryujinx.Graphics.GAL/ProgramPipelineState.cs @@ -44,7 +44,7 @@ namespace Ryujinx.Graphics.GAL public Array32 VertexAttribs; public int VertexBufferCount; - public Array33 VertexBuffers; + public Array32 VertexBuffers; // TODO: Min/max depth bounds. public DepthTestDescriptor DepthTest; From 6c09cfff4c02a88178810ecf5e608a85ae5aa83f Mon Sep 17 00:00:00 2001 From: riperiperi Date: Tue, 8 Mar 2022 20:52:59 +0000 Subject: [PATCH 084/179] Update topology with GpuAccessorState --- Ryujinx.Graphics.Gpu/Engine/Threed/DrawManager.cs | 14 +++++--------- Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs | 9 --------- Ryujinx.Graphics.Gpu/Engine/Threed/ThreedClass.cs | 11 +---------- Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs | 9 +++++++-- 4 files changed, 13 insertions(+), 30 deletions(-) diff --git a/Ryujinx.Graphics.Gpu/Engine/Threed/DrawManager.cs b/Ryujinx.Graphics.Gpu/Engine/Threed/DrawManager.cs index 07134485c..6dc5dca5b 100644 --- a/Ryujinx.Graphics.Gpu/Engine/Threed/DrawManager.cs +++ b/Ryujinx.Graphics.Gpu/Engine/Threed/DrawManager.cs @@ -200,9 +200,8 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed /// Starts draw. /// This sets primitive type and instanced draw parameters. /// - /// 3D engine where this method is being called /// Method call argument - public void DrawBegin(ThreedClass engine, int argument) + public void DrawBegin(int argument) { bool incrementInstance = (argument & (1 << 26)) != 0; bool resetInstance = (argument & (1 << 27)) == 0; @@ -210,12 +209,12 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed if (_state.State.PrimitiveTypeOverrideEnable) { PrimitiveTypeOverride typeOverride = _state.State.PrimitiveTypeOverride; - DrawBegin(engine, incrementInstance, resetInstance, typeOverride.Convert()); + DrawBegin(incrementInstance, resetInstance, typeOverride.Convert()); } else { PrimitiveType type = (PrimitiveType)(argument & 0xffff); - DrawBegin(engine, incrementInstance, resetInstance, type.Convert()); + DrawBegin(incrementInstance, resetInstance, type.Convert()); } } @@ -223,11 +222,10 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed /// Starts draw. /// This sets primitive type and instanced draw parameters. /// - /// 3D engine where this method is being called /// Indicates if the current instance should be incremented /// Indicates if the current instance should be set to zero /// Primitive topology - private void DrawBegin(ThreedClass engine, bool incrementInstance, bool resetInstance, PrimitiveTopology topology) + private void DrawBegin(bool incrementInstance, bool resetInstance, PrimitiveTopology topology) { if (incrementInstance) { @@ -242,7 +240,6 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed if (_drawState.Topology != topology || !_topologySet) { - engine.SetPipelineTopology(topology); _context.Renderer.Pipeline.SetPrimitiveTopology(topology); _drawState.Topology = topology; _topologySet = true; @@ -312,7 +309,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed { PrimitiveTypeOverride typeOverride = _state.State.PrimitiveTypeOverride; - DrawBegin(engine, instanced, !instanced, typeOverride.Convert()); + DrawBegin(instanced, !instanced, typeOverride.Convert()); int firstIndex = argument & 0xffff; int indexCount = (argument >> 16) & 0xfff; @@ -406,7 +403,6 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed { engine.Write(IndexBufferCountMethodOffset * 4, indexCount); - engine.SetPipelineTopology(topology); _context.Renderer.Pipeline.SetPrimitiveTopology(topology); _drawState.Topology = topology; _topologySet = true; diff --git a/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs b/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs index 33b34e6cb..2560f57c1 100644 --- a/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs +++ b/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs @@ -192,15 +192,6 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed _updateTracker.SetAllDirty(); } - /// - /// Sets topology for the current pipeline. - /// - /// New topology value - public void SetPipelineTopology(PrimitiveTopology topology) - { - _pipeline.Topology = topology; - } - /// /// Updates host state for any modified guest state, since the last time this function was called. /// diff --git a/Ryujinx.Graphics.Gpu/Engine/Threed/ThreedClass.cs b/Ryujinx.Graphics.Gpu/Engine/Threed/ThreedClass.cs index 8416ae9bf..764ba2394 100644 --- a/Ryujinx.Graphics.Gpu/Engine/Threed/ThreedClass.cs +++ b/Ryujinx.Graphics.Gpu/Engine/Threed/ThreedClass.cs @@ -109,15 +109,6 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed _state.State.SetMmeShadowRamControl = (uint)control; } - /// - /// Sets topology for the current pipeline. - /// - /// New topology value - public void SetPipelineTopology(PrimitiveTopology topology) - { - _stateUpdater.SetPipelineTopology(topology); - } - /// /// Updates current host state for all registers modified since the last call to this method. /// @@ -352,7 +343,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed /// Method call argument private void DrawBegin(int argument) { - _drawManager.DrawBegin(this, argument); + _drawManager.DrawBegin(argument); } /// diff --git a/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs b/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs index c5c23caa1..28d10b03e 100644 --- a/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs +++ b/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs @@ -232,7 +232,11 @@ namespace Ryujinx.Graphics.Gpu.Shader return cpShader; } - private void UpdatePipelineInfo(ref ThreedClassState state, ref ProgramPipelineState pipeline, GpuChannel channel) + private void UpdatePipelineInfo( + ref ThreedClassState state, + ref ProgramPipelineState pipeline, + GpuChannelGraphicsState graphicsState, + GpuChannel channel) { channel.TextureManager.UpdateRenderTargets(); @@ -265,6 +269,7 @@ namespace Ryujinx.Graphics.Gpu.Shader pipeline.DepthStencilFormat = pipeline.DepthStencilEnable ? state.RtDepthStencilState.Format.Convert().Format : Format.D24UnormS8Uint; pipeline.VertexBufferCount = Constants.TotalVertexBuffers; + pipeline.Topology = graphicsState.Topology; } /// @@ -390,7 +395,7 @@ namespace Ryujinx.Graphics.Gpu.Shader } } - UpdatePipelineInfo(ref state, ref pipeline, channel); + UpdatePipelineInfo(ref state, ref pipeline, graphicsState, channel); int fragmentOutputMap = shaders[5]?.Info.FragmentOutputMap ?? -1; IProgram hostProgram = _context.Renderer.CreateProgram(shaderSources.ToArray(), new ShaderInfo(fragmentOutputMap, pipeline)); From d45b28f6b7ee969dcc695ccd9e6d4fee1325d290 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Wed, 9 Mar 2022 22:40:05 +0000 Subject: [PATCH 085/179] Cleanup for merge (note: disables spir-v) --- .../Multithreading/Resources/ThreadedTexture.cs | 1 + Ryujinx.Graphics.Gpu/GraphicsConfig.cs | 2 +- Ryujinx.Graphics.Vulkan/PipelineBase.cs | 11 +++++------ Ryujinx.Graphics.Vulkan/PipelineConverter.cs | 2 +- Ryujinx.Graphics.Vulkan/PipelineState.cs | 1 - Ryujinx.Graphics.Vulkan/ShaderCollection.cs | 8 ++++---- 6 files changed, 12 insertions(+), 13 deletions(-) diff --git a/Ryujinx.Graphics.GAL/Multithreading/Resources/ThreadedTexture.cs b/Ryujinx.Graphics.GAL/Multithreading/Resources/ThreadedTexture.cs index 6023ee388..64d8aa3bd 100644 --- a/Ryujinx.Graphics.GAL/Multithreading/Resources/ThreadedTexture.cs +++ b/Ryujinx.Graphics.GAL/Multithreading/Resources/ThreadedTexture.cs @@ -14,6 +14,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Resources public ITexture Base; public int Width => _info.Width; + public int Height => _info.Height; public float ScaleFactor { get; } diff --git a/Ryujinx.Graphics.Gpu/GraphicsConfig.cs b/Ryujinx.Graphics.Gpu/GraphicsConfig.cs index 1365db4bc..9f9de50f6 100644 --- a/Ryujinx.Graphics.Gpu/GraphicsConfig.cs +++ b/Ryujinx.Graphics.Gpu/GraphicsConfig.cs @@ -60,6 +60,6 @@ namespace Ryujinx.Graphics.Gpu /// /// Enables or disables shader SPIR-V compilation. /// - public static bool EnableSpirvCompilation = true; + public static bool EnableSpirvCompilation; } } \ No newline at end of file diff --git a/Ryujinx.Graphics.Vulkan/PipelineBase.cs b/Ryujinx.Graphics.Vulkan/PipelineBase.cs index b9802ffb3..1b9f61e2c 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineBase.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineBase.cs @@ -18,6 +18,7 @@ namespace Ryujinx.Graphics.Vulkan protected readonly VulkanGraphicsDevice Gd; protected readonly Device Device; + public readonly PipelineCache PipelineCache; private PipelineDynamicState _dynamicState; private PipelineState _newState; @@ -30,8 +31,6 @@ namespace Ryujinx.Graphics.Vulkan protected PipelineBindPoint Pbp; - public PipelineCache _pipelineCache; - protected CommandBufferScoped Cbs; protected CommandBufferScoped? PreloadCbs; protected CommandBuffer CommandBuffer; @@ -75,7 +74,7 @@ namespace Ryujinx.Graphics.Vulkan SType = StructureType.PipelineCacheCreateInfo }; - gd.Api.CreatePipelineCache(device, pipelineCacheCreateInfo, null, out _pipelineCache).ThrowOnError(); + gd.Api.CreatePipelineCache(device, pipelineCacheCreateInfo, null, out PipelineCache).ThrowOnError(); _descriptorSetUpdater = new DescriptorSetUpdater(gd, this); @@ -1103,8 +1102,8 @@ namespace Ryujinx.Graphics.Vulkan } var pipeline = pbp == PipelineBindPoint.Compute - ? _newState.CreateComputePipeline(Gd.Api, Device, _program, _pipelineCache) - : _newState.CreateGraphicsPipeline(Gd, Device, _program, _pipelineCache, _renderPass.Get(Cbs).Value); + ? _newState.CreateComputePipeline(Gd.Api, Device, _program, PipelineCache) + : _newState.CreateGraphicsPipeline(Gd, Device, _program, PipelineCache, _renderPass.Get(Cbs).Value); ulong pipelineHandle = pipeline.GetUnsafe().Value.Handle; @@ -1205,7 +1204,7 @@ namespace Ryujinx.Graphics.Vulkan unsafe { - Gd.Api.DestroyPipelineCache(Device, _pipelineCache, null); + Gd.Api.DestroyPipelineCache(Device, PipelineCache, null); } SupportBufferUpdater.Dispose(); diff --git a/Ryujinx.Graphics.Vulkan/PipelineConverter.cs b/Ryujinx.Graphics.Vulkan/PipelineConverter.cs index 30d6edeb7..61fcea93f 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineConverter.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineConverter.cs @@ -130,7 +130,7 @@ namespace Ryujinx.Graphics.Vulkan } } - public static unsafe PipelineState ToVulkanPipelineState(this ProgramPipelineState state, VulkanGraphicsDevice gd) + public static PipelineState ToVulkanPipelineState(this ProgramPipelineState state, VulkanGraphicsDevice gd) { PipelineState pipeline = new PipelineState(); pipeline.Initialize(); diff --git a/Ryujinx.Graphics.Vulkan/PipelineState.cs b/Ryujinx.Graphics.Vulkan/PipelineState.cs index b5ba583fd..1e8cc2ae5 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineState.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineState.cs @@ -497,7 +497,6 @@ namespace Ryujinx.Graphics.Vulkan var pipelineCreateInfo = new GraphicsPipelineCreateInfo() { SType = StructureType.GraphicsPipelineCreateInfo, - Flags = 0, StageCount = StagesCount, PStages = Stages.Pointer, PVertexInputState = &vertexInputState, diff --git a/Ryujinx.Graphics.Vulkan/ShaderCollection.cs b/Ryujinx.Graphics.Vulkan/ShaderCollection.cs index c1f156853..3c8601c43 100644 --- a/Ryujinx.Graphics.Vulkan/ShaderCollection.cs +++ b/Ryujinx.Graphics.Vulkan/ShaderCollection.cs @@ -195,7 +195,7 @@ namespace Ryujinx.Graphics.Vulkan return _dummyRenderPass = _state.ToRenderPass(_gd, _device); } - public unsafe void CreateBackgroundComputePipeline() + public void CreateBackgroundComputePipeline() { PipelineState pipeline = new PipelineState(); pipeline.Initialize(); @@ -203,10 +203,10 @@ namespace Ryujinx.Graphics.Vulkan pipeline.Stages[0] = ((Shader)_shaders[0]).GetInfo(); pipeline.StagesCount = 1; - pipeline.CreateComputePipeline(_gd.Api, _device, this, (_gd.Pipeline as PipelineBase)._pipelineCache); + pipeline.CreateComputePipeline(_gd.Api, _device, this, (_gd.Pipeline as PipelineBase).PipelineCache); } - public unsafe void CreateBackgroundGraphicsPipeline() + public void CreateBackgroundGraphicsPipeline() { // To compile shaders in the background in Vulkan, we need to create valid pipelines using the shader modules. // The GPU provides pipeline state via the GAL that can be converted into our internal Vulkan pipeline state. @@ -230,7 +230,7 @@ namespace Ryujinx.Graphics.Vulkan pipeline.StagesCount = (uint)_shaders.Length; pipeline.PipelineLayout = PipelineLayout; - pipeline.CreateGraphicsPipeline(_gd, _device, this, (_gd.Pipeline as PipelineBase)._pipelineCache, renderPass.Value); + pipeline.CreateGraphicsPipeline(_gd, _device, this, (_gd.Pipeline as PipelineBase).PipelineCache, renderPass.Value); } public ProgramLinkStatus CheckProgramLink(bool blocking) From 089fa6bd547936afcdc98fc95571fe3c44a1b6d2 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Fri, 11 Mar 2022 21:21:08 +0000 Subject: [PATCH 086/179] Make more robust to shader compilation failure - Don't freeze when GLSL compilation fails - Background SPIR-V pipeline compile failure results in skipped draws, similar to GLSL compilation failure. --- Ryujinx.Graphics.Vulkan/ShaderCollection.cs | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/Ryujinx.Graphics.Vulkan/ShaderCollection.cs b/Ryujinx.Graphics.Vulkan/ShaderCollection.cs index 3c8601c43..74894d615 100644 --- a/Ryujinx.Graphics.Vulkan/ShaderCollection.cs +++ b/Ryujinx.Graphics.Vulkan/ShaderCollection.cs @@ -135,6 +135,13 @@ namespace Ryujinx.Graphics.Vulkan { await Task.WhenAll(_shaders.Select(shader => ((Shader)shader).CompileTask)); + if (_shaders.Any(shader => ((Shader)shader).CompileStatus == ProgramLinkStatus.Failure)) + { + LinkStatus = ProgramLinkStatus.Failure; + + return; + } + try { if (_isCompute) @@ -149,6 +156,8 @@ namespace Ryujinx.Graphics.Vulkan catch (VulkanException e) { Logger.Error?.PrintMsg(LogClass.Gpu, $"Background Compilation failed: {e.Message}"); + + LinkStatus = ProgramLinkStatus.Failure; } } @@ -172,7 +181,11 @@ namespace Ryujinx.Graphics.Vulkan _infos[i] = shader.GetInfo(); } - LinkStatus = resultStatus; + // If the link status was already set as failure by background compilation, prefer that decision. + if (LinkStatus != ProgramLinkStatus.Failure) + { + LinkStatus = resultStatus; + } _initialized = true; } @@ -265,6 +278,11 @@ namespace Ryujinx.Graphics.Vulkan if (blocking) { _compileTask.Wait(); + + if (LinkStatus == ProgramLinkStatus.Failure) + { + return ProgramLinkStatus.Failure; + } } else { From 9c696fc2e1cc981fa579be0f01f3d53a4a04cf96 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Sat, 12 Mar 2022 00:15:20 +0000 Subject: [PATCH 087/179] Fix Multisampling --- Ryujinx.Graphics.Vulkan/PipelineConverter.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ryujinx.Graphics.Vulkan/PipelineConverter.cs b/Ryujinx.Graphics.Vulkan/PipelineConverter.cs index 61fcea93f..84be7e16e 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineConverter.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineConverter.cs @@ -57,7 +57,7 @@ namespace Ryujinx.Graphics.Vulkan attachmentDescs[i] = new AttachmentDescription( 0, attachmentFormats[i], - SampleCountFlags.SampleCount1Bit, + TextureStorage.ConvertToSampleCountFlags((uint)state.SamplesCount), AttachmentLoadOp.Load, AttachmentStoreOp.Store, AttachmentLoadOp.Load, From 3e88558182c9aa4e180f4140340b0c4b6c97bf9c Mon Sep 17 00:00:00 2001 From: riperiperi Date: Sat, 12 Mar 2022 16:28:43 +0000 Subject: [PATCH 088/179] Only update fragment scale count if a vertex texture needs a scale. Fixes a performance regression introduced by texture scaling in the vertex stage where support buffer updates would be very frequent, even at 1x, if any textures were used on the vertex stage. This check doesn't exactly look cheap (a flag in the shader stage would probably be preferred), but it is much cheaper than uploading scales in both vulkan and opengl, so it will do for now. --- .../Image/TextureBindingsManager.cs | 33 +++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/Ryujinx.Graphics.Gpu/Image/TextureBindingsManager.cs b/Ryujinx.Graphics.Gpu/Image/TextureBindingsManager.cs index 6c932442b..6f44dbb43 100644 --- a/Ryujinx.Graphics.Gpu/Image/TextureBindingsManager.cs +++ b/Ryujinx.Graphics.Gpu/Image/TextureBindingsManager.cs @@ -294,6 +294,35 @@ namespace Ryujinx.Graphics.Gpu.Image return changed; } + /// + /// Determines if the vertex stage requires a scale value. + /// + private bool VertexRequiresScale() + { + bool requiresScale = false; + + for (int i = 0; i < _textureBindingsCount[0]; i++) + { + if ((_textureBindings[0][i].Flags & TextureUsageFlags.NeedsScaleValue) != 0) + { + return true; + } + } + + if (!requiresScale) + { + for (int i = 0; i < _imageBindingsCount[0]; i++) + { + if ((_imageBindings[0][i].Flags & TextureUsageFlags.NeedsScaleValue) != 0) + { + return true; + } + } + } + + return false; + } + /// /// Uploads texture and image scales to the backend when they are used. /// @@ -305,10 +334,10 @@ namespace Ryujinx.Graphics.Gpu.Image int fragmentIndex = (int)ShaderStage.Fragment - 1; int fragmentTotal = _isCompute ? 0 : (_textureBindingsCount[fragmentIndex] + _imageBindingsCount[fragmentIndex]); - if (total != 0 && fragmentTotal != _lastFragmentTotal) + if (total != 0 && fragmentTotal != _lastFragmentTotal && VertexRequiresScale()) { // Must update scales in the support buffer if: - // - Vertex stage has bindings. + // - Vertex stage has bindings that require scale. // - Fragment stage binding count has been updated since last render scale update. _scaleChanged = true; From af4aae7951a26490f6b85931ba4c7e39bbe8e64f Mon Sep 17 00:00:00 2001 From: riperiperi Date: Sat, 12 Mar 2022 16:31:20 +0000 Subject: [PATCH 089/179] Use a bitmap to do granular tracking for buffer uploads. This path is only taken if the much faster check of "is the buffer rented at all" is triggered, so it doesn't actually end up costing too much, and the time saved by not ending render passes (and on gpu for not waiting on barriers) is probably helpful. Avoids ending render passes to update buffer data (not all the time) - 140-180 to 35-45 in SMO metro kingdom (these updates are in the UI) - Very variable 60-150(!) to 16-25 in mario kart 8 (these updates are in the UI) As well as allowing more data to be preloaded persistently, this will also allow more data to be loaded in the preload buffer, which should be faster as it doesn't need to insert barriers between draws. (and on tbdr, does not need to flush and reload tile memory) Improves performance in GPU limited scenarios. Should notably improve performance on TBDR gpus. Still a lot more to do here. --- Ryujinx.Graphics.Vulkan/BitMap.cs | 102 +++++++++++++++++- Ryujinx.Graphics.Vulkan/BufferHolder.cs | 12 ++- Ryujinx.Graphics.Vulkan/BufferUsageBitmap.cs | 61 +++++++++++ Ryujinx.Graphics.Vulkan/MultiFenceHolder.cs | 40 +++++-- .../VulkanConfiguration.cs | 2 +- 5 files changed, 200 insertions(+), 17 deletions(-) create mode 100644 Ryujinx.Graphics.Vulkan/BufferUsageBitmap.cs diff --git a/Ryujinx.Graphics.Vulkan/BitMap.cs b/Ryujinx.Graphics.Vulkan/BitMap.cs index 19d852e62..ee3c3c938 100644 --- a/Ryujinx.Graphics.Vulkan/BitMap.cs +++ b/Ryujinx.Graphics.Vulkan/BitMap.cs @@ -2,7 +2,9 @@ { struct BitMap { - private const int IntSize = 64; + public const int IntSize = 64; + + private const int IntShift = 6; private const int IntMask = IntSize - 1; private readonly long[] _masks; @@ -27,7 +29,7 @@ public bool IsSet(int bit) { - int wordIndex = bit / IntSize; + int wordIndex = bit >> IntShift; int wordBit = bit & IntMask; long wordMask = 1L << wordBit; @@ -35,10 +37,51 @@ return (_masks[wordIndex] & wordMask) != 0; } + public bool IsSet(int start, int end) + { + if (start == end) + { + return IsSet(start); + } + + int startIndex = start >> IntShift; + int startBit = start & IntMask; + long startMask = -1L << startBit; + + int endIndex = end >> IntShift; + int endBit = end & IntMask; + long endMask = (long)(ulong.MaxValue >> (IntMask - endBit)); + + if (startIndex == endIndex) + { + return (_masks[startIndex] & startMask & endMask) != 0; + } + + if ((_masks[startIndex] & startMask) != 0) + { + return true; + } + + for (int i = startIndex + 1; i < endIndex; i++) + { + if (_masks[i] != 0) + { + return true; + } + } + + if ((_masks[endIndex] & endMask) != 0) + { + return true; + } + + return false; + } + public bool Set(int bit) { - int wordIndex = bit / IntSize; - int wordBit = bit & IntMask; + int wordIndex = bit >> IntShift; + int wordBit = bit & IntMask; long wordMask = 1L << wordBit; @@ -52,14 +95,63 @@ return true; } + public void SetRange(int start, int end) + { + if (start == end) + { + Set(start); + return; + } + + int startIndex = start >> IntShift; + int startBit = start & IntMask; + long startMask = -1L << startBit; + + int endIndex = end >> IntShift; + int endBit = end & IntMask; + long endMask = (long)(ulong.MaxValue >> (IntMask - endBit)); + + if (startIndex == endIndex) + { + _masks[startIndex] |= startMask & endMask; + } + else + { + _masks[startIndex] |= startMask; + + for (int i = startIndex + 1; i < endIndex; i++) + { + _masks[i] |= -1; + } + + _masks[endIndex] |= endMask; + } + } + public void Clear(int bit) { - int wordIndex = bit / IntSize; + int wordIndex = bit >> IntShift; int wordBit = bit & IntMask; long wordMask = 1L << wordBit; _masks[wordIndex] &= ~wordMask; } + + public void Clear() + { + for (int i = 0; i < _masks.Length; i++) + { + _masks[i] = 0; + } + } + + public void ClearInt(int start, int end) + { + for (int i = start; i <= end; i++) + { + _masks[i] = 0; + } + } } } \ No newline at end of file diff --git a/Ryujinx.Graphics.Vulkan/BufferHolder.cs b/Ryujinx.Graphics.Vulkan/BufferHolder.cs index 6d2bbbc7b..1789f592c 100644 --- a/Ryujinx.Graphics.Vulkan/BufferHolder.cs +++ b/Ryujinx.Graphics.Vulkan/BufferHolder.cs @@ -43,7 +43,7 @@ namespace Ryujinx.Graphics.Vulkan _device = device; _allocation = allocation; _allocationAuto = new Auto(allocation); - _waitable = new MultiFenceHolder(); + _waitable = new MultiFenceHolder(size); _buffer = new Auto(new DisposableBuffer(gd.Api, device, buffer), _waitable, _allocationAuto); _bufferHandle = buffer.Handle; Size = size; @@ -162,6 +162,8 @@ namespace Ryujinx.Graphics.Vulkan throw new InvalidOperationException("The buffer is not host mapped."); } + public static int SlowLoads = 0; + public unsafe void SetData(int offset, ReadOnlySpan data, CommandBufferScoped? cbs = null, Action endRenderPass = null) { int dataSize = Math.Min(data.Length, Size - offset); @@ -173,9 +175,11 @@ namespace Ryujinx.Graphics.Vulkan if (_map != IntPtr.Zero) { // If persistently mapped, set the data directly if the buffer is not currently in use. - // TODO: Reintroduce waitable & granular use tracking. // bool needsFlush = _gd.CommandBufferPool.HasWaitableOnRentedCommandBuffer(_waitable, offset, dataSize); - bool needsFlush = _buffer.HasRentedCommandBufferDependency(_gd.CommandBufferPool); + bool isRented = _buffer.HasRentedCommandBufferDependency(_gd.CommandBufferPool); + + // If the buffer is rented, take a little more time and check if the use overlaps this handle. + bool needsFlush = isRented && _waitable.IsBufferRangeInUse(offset, dataSize); if (!needsFlush) { @@ -187,7 +191,7 @@ namespace Ryujinx.Graphics.Vulkan } } - if (cbs != null && !_buffer.HasCommandBufferDependency(cbs.Value)) + if (cbs != null && !(_buffer.HasCommandBufferDependency(cbs.Value) && _waitable.IsBufferRangeInUse(cbs.Value.CommandBufferIndex, offset, dataSize))) { // If the buffer hasn't been used on the command buffer yet, try to preload the data. // This avoids ending and beginning render passes on each buffer data upload. diff --git a/Ryujinx.Graphics.Vulkan/BufferUsageBitmap.cs b/Ryujinx.Graphics.Vulkan/BufferUsageBitmap.cs new file mode 100644 index 000000000..1eadd8385 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/BufferUsageBitmap.cs @@ -0,0 +1,61 @@ +namespace Ryujinx.Graphics.Vulkan +{ + internal class BufferUsageBitmap + { + private BitMap _bitmap; + private int _size; + private int _granularity; + private int _bits; + + private int _intsPerCb; + private int _bitsPerCb; + + public BufferUsageBitmap(int size, int granularity) + { + _size = size; + _granularity = granularity; + _bits = (size + (granularity - 1)) / granularity; + + _intsPerCb = (_bits + (BitMap.IntSize - 1)) / BitMap.IntSize; + _bitsPerCb = _intsPerCb * BitMap.IntSize; + + _bitmap = new BitMap(_bitsPerCb * CommandBufferPool.MaxCommandBuffers); + } + + public void Add(int cbIndex, int offset, int size) + { + int cbBase = cbIndex * _bitsPerCb; + int start = cbBase + offset / _granularity; + int end = cbBase + (offset + size - 1) / _granularity; + + _bitmap.SetRange(start, end); + } + + public bool OverlapsWith(int cbIndex, int offset, int size) + { + int cbBase = cbIndex * _bitsPerCb; + int start = cbBase + offset / _granularity; + int end = cbBase + (offset + size - 1) / _granularity; + + return _bitmap.IsSet(start, end); + } + + public bool OverlapsWith(int offset, int size) + { + for (int i = 0; i < CommandBufferPool.MaxCommandBuffers; i++) + { + if (OverlapsWith(i, offset, size)) + { + return true; + } + } + + return false; + } + + public void Clear(int cbIndex) + { + _bitmap.ClearInt(cbIndex * _intsPerCb, (cbIndex + 1) * _intsPerCb - 1); + } + } +} diff --git a/Ryujinx.Graphics.Vulkan/MultiFenceHolder.cs b/Ryujinx.Graphics.Vulkan/MultiFenceHolder.cs index 9e5b7809f..50917680c 100644 --- a/Ryujinx.Graphics.Vulkan/MultiFenceHolder.cs +++ b/Ryujinx.Graphics.Vulkan/MultiFenceHolder.cs @@ -10,8 +10,10 @@ namespace Ryujinx.Graphics.Vulkan /// class MultiFenceHolder { + private static int BufferUsageTrackingGranularity = 4096; + private readonly Dictionary _fences; - private BufferRangeList _rangeList; + private BufferUsageBitmap _bufferUsageBitmap; /// /// Creates a new instance of the multiple fence holder. @@ -19,15 +21,27 @@ namespace Ryujinx.Graphics.Vulkan public MultiFenceHolder() { _fences = new Dictionary(); - _rangeList.Initialize(); } + /// + /// Creates a new instance of the multiple fence holder, with a given buffer size in mind. + /// + /// Size of the buffer + public MultiFenceHolder(int size) + { + _fences = new Dictionary(); + + if (VulkanConfiguration.UseGranularBufferTracking) + { + _bufferUsageBitmap = new BufferUsageBitmap(size, BufferUsageTrackingGranularity); + } + } public void AddBufferUse(int cbIndex, int offset, int size) { if (VulkanConfiguration.UseGranularBufferTracking) { - _rangeList.Add(cbIndex, offset, size); + _bufferUsageBitmap.Add(cbIndex, offset, size); } } @@ -35,7 +49,7 @@ namespace Ryujinx.Graphics.Vulkan { if (VulkanConfiguration.UseGranularBufferTracking) { - _rangeList.Clear(cbIndex); + _bufferUsageBitmap?.Clear(cbIndex); } } @@ -43,7 +57,19 @@ namespace Ryujinx.Graphics.Vulkan { if (VulkanConfiguration.UseGranularBufferTracking) { - return _rangeList.OverlapsWith(cbIndex, offset, size); + return _bufferUsageBitmap.OverlapsWith(cbIndex, offset, size); + } + else + { + return true; + } + } + + public bool IsBufferRangeInUse(int offset, int size) + { + if (VulkanConfiguration.UseGranularBufferTracking) + { + return _bufferUsageBitmap.OverlapsWith(offset, size); } else { @@ -167,7 +193,7 @@ namespace Ryujinx.Graphics.Vulkan var fence = kv.Key; var ownerCbIndex = kv.Value; - if (_rangeList.OverlapsWith(ownerCbIndex, offset, size)) + if (_bufferUsageBitmap.OverlapsWith(ownerCbIndex, offset, size)) { return true; } @@ -191,7 +217,7 @@ namespace Ryujinx.Graphics.Vulkan var fence = kv.Key; var ownerCbIndex = kv.Value; - if (_rangeList.OverlapsWith(ownerCbIndex, offset, size)) + if (_bufferUsageBitmap.OverlapsWith(ownerCbIndex, offset, size)) { overlapping.Add(fence); } diff --git a/Ryujinx.Graphics.Vulkan/VulkanConfiguration.cs b/Ryujinx.Graphics.Vulkan/VulkanConfiguration.cs index b4d25edee..a91f1330f 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanConfiguration.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanConfiguration.cs @@ -5,7 +5,7 @@ public const bool UseDynamicState = true; public const bool UseFastBufferUpdates = true; - public const bool UseGranularBufferTracking = false; + public const bool UseGranularBufferTracking = true; public const bool UseSlowSafeBlitOnAmd = true; public const bool ForceD24S8Unsupported = false; From eda65c8dd3edcc5807c2a0370967f289ac00cd81 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Sat, 12 Mar 2022 16:50:12 +0000 Subject: [PATCH 090/179] Copy query results after RP ends, rather than ending to copy We need to end the render pass to get the data (submit command buffer) anyways... Reduces render passes created in games that use queries. --- Ryujinx.Graphics.Vulkan/PipelineBase.cs | 5 +++ Ryujinx.Graphics.Vulkan/PipelineFull.cs | 42 +++++++++++++++++-------- 2 files changed, 34 insertions(+), 13 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/PipelineBase.cs b/Ryujinx.Graphics.Vulkan/PipelineBase.cs index 1b9f61e2c..c08db6a68 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineBase.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineBase.cs @@ -1148,10 +1148,15 @@ namespace Ryujinx.Graphics.Vulkan PauseTransformFeedbackInternal(); // System.Console.WriteLine("render pass ended " + caller); Gd.Api.CmdEndRenderPass(CommandBuffer); + SignalRenderPassEnd(); _renderPassActive = false; } } + protected virtual void SignalRenderPassEnd() + { + } + private void PauseTransformFeedbackInternal() { if (_tfEnabled && _tfActive) diff --git a/Ryujinx.Graphics.Vulkan/PipelineFull.cs b/Ryujinx.Graphics.Vulkan/PipelineFull.cs index e496649b8..06336da2e 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineFull.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineFull.cs @@ -13,13 +13,36 @@ namespace Ryujinx.Graphics.Vulkan private readonly List _activeQueries; private CounterQueueEvent _activeConditionalRender; + private readonly List<(QueryPool Pool, BufferHolder Holder)> _pendingQueryCopies; + public PipelineFull(VulkanGraphicsDevice gd, Device device) : base(gd, device) { _activeQueries = new List(); + _pendingQueryCopies = new(); CommandBuffer = (Cbs = gd.CommandBufferPool.Rent()).CommandBuffer; } + private void CopyPendingQuery() + { + foreach (var item in _pendingQueryCopies) + { + var buffer = item.Holder.GetBuffer(CommandBuffer, true).Get(Cbs, 0, sizeof(long)).Value; + + Gd.Api.CmdCopyQueryPoolResults( + CommandBuffer, + item.Pool, + 0, + 1, + buffer, + 0, + sizeof(long), + QueryResultFlags.QueryResult64Bit | QueryResultFlags.QueryResultWaitBit); + } + + _pendingQueryCopies.Clear(); + } + protected override unsafe DescriptorSetLayout[] CreateDescriptorSetLayouts(VulkanGraphicsDevice gd, Device device, out PipelineLayout layout) { DescriptorSetLayoutBinding* uLayoutBindings = stackalloc DescriptorSetLayoutBinding[Constants.MaxUniformBufferBindings]; @@ -298,19 +321,7 @@ namespace Ryujinx.Graphics.Vulkan public void CopyQueryResults(QueryPool pool, BufferHolder holder) { - EndRenderPass(); - - var buffer = holder.GetBuffer(CommandBuffer, true).Get(Cbs, 0, sizeof(long)).Value; - - Gd.Api.CmdCopyQueryPoolResults( - CommandBuffer, - pool, - 0, - 1, - buffer, - 0, - sizeof(long), - QueryResultFlags.QueryResult64Bit | QueryResultFlags.QueryResultWaitBit); + _pendingQueryCopies.Add((pool, holder)); _hasPendingQuery = true; } @@ -319,5 +330,10 @@ namespace Ryujinx.Graphics.Vulkan { FlushPendingQuery(); } + + protected override void SignalRenderPassEnd() + { + CopyPendingQuery(); + } } } From 4cc0c2132cab73cdf556a6bcc4e83242ceb96975 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Sun, 13 Mar 2022 01:32:10 +0000 Subject: [PATCH 091/179] Rework Query stuff a bit to avoid render pass end Tries to reset returned queries in background when possible, rather than ending the render pass. Still ends render pass when resetting a counter after draws, but maybe that can be solved too. (by just pulling an empty object off the pool?) --- Ryujinx.Graphics.Vulkan/PipelineFull.cs | 54 ++++++++++++------- .../Queries/BufferedQuery.cs | 27 +++++++++- .../Queries/CounterQueue.cs | 7 ++- .../Queries/CounterQueueEvent.cs | 12 ++++- Ryujinx.Graphics.Vulkan/Queries/Counters.cs | 2 +- 5 files changed, 77 insertions(+), 25 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/PipelineFull.cs b/Ryujinx.Graphics.Vulkan/PipelineFull.cs index 06336da2e..08c36a591 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineFull.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineFull.cs @@ -13,31 +13,33 @@ namespace Ryujinx.Graphics.Vulkan private readonly List _activeQueries; private CounterQueueEvent _activeConditionalRender; - private readonly List<(QueryPool Pool, BufferHolder Holder)> _pendingQueryCopies; + private readonly List _pendingQueryCopies; + private readonly List _pendingQueryResets; public PipelineFull(VulkanGraphicsDevice gd, Device device) : base(gd, device) { _activeQueries = new List(); _pendingQueryCopies = new(); + _pendingQueryResets = new List(); CommandBuffer = (Cbs = gd.CommandBufferPool.Rent()).CommandBuffer; } private void CopyPendingQuery() { - foreach (var item in _pendingQueryCopies) + foreach (var query in _pendingQueryCopies) { - var buffer = item.Holder.GetBuffer(CommandBuffer, true).Get(Cbs, 0, sizeof(long)).Value; + query.PoolCopy(Cbs); + } - Gd.Api.CmdCopyQueryPoolResults( - CommandBuffer, - item.Pool, - 0, - 1, - buffer, - 0, - sizeof(long), - QueryResultFlags.QueryResult64Bit | QueryResultFlags.QueryResultWaitBit); + lock (_pendingQueryResets) + { + foreach (var query in _pendingQueryResets) + { + query.PoolReset(CommandBuffer); + } + + _pendingQueryResets.Clear(); } _pendingQueryCopies.Clear(); @@ -295,18 +297,26 @@ namespace Ryujinx.Graphics.Vulkan foreach (var queryPool in _activeQueries) { - Gd.Api.CmdResetQueryPool(CommandBuffer, queryPool, 0, 1); Gd.Api.CmdBeginQuery(CommandBuffer, queryPool, 0, 0); } SignalCommandBufferChange(); } - public void BeginQuery(QueryPool pool) + public void BeginQuery(BufferedQuery query, QueryPool pool, bool needsReset) { - EndRenderPass(); + if (needsReset) + { + EndRenderPass(); + + Gd.Api.CmdResetQueryPool(CommandBuffer, pool, 0, 1); + + lock (_pendingQueryResets) + { + _pendingQueryResets.Remove(query); // Might be present on here. + } + } - Gd.Api.CmdResetQueryPool(CommandBuffer, pool, 0, 1); Gd.Api.CmdBeginQuery(CommandBuffer, pool, 0, 0); _activeQueries.Add(pool); @@ -319,9 +329,17 @@ namespace Ryujinx.Graphics.Vulkan _activeQueries.Remove(pool); } - public void CopyQueryResults(QueryPool pool, BufferHolder holder) + public void ResetQuery(BufferedQuery query) { - _pendingQueryCopies.Add((pool, holder)); + lock (_pendingQueryResets) + { + _pendingQueryResets.Add(query); + } + } + + public void CopyQueryResults(BufferedQuery query) + { + _pendingQueryCopies.Add(query); _hasPendingQuery = true; } diff --git a/Ryujinx.Graphics.Vulkan/Queries/BufferedQuery.cs b/Ryujinx.Graphics.Vulkan/Queries/BufferedQuery.cs index dd2f348fe..2a5701579 100644 --- a/Ryujinx.Graphics.Vulkan/Queries/BufferedQuery.cs +++ b/Ryujinx.Graphics.Vulkan/Queries/BufferedQuery.cs @@ -17,6 +17,7 @@ namespace Ryujinx.Graphics.Vulkan.Queries private readonly PipelineFull _pipeline; private QueryPool _queryPool; + private bool _isReset; private readonly BufferHolder _buffer; private readonly IntPtr _bufferMap; @@ -73,7 +74,8 @@ namespace Ryujinx.Graphics.Vulkan.Queries public void Begin() { - _pipeline.BeginQuery(_queryPool); + _pipeline.BeginQuery(this, _queryPool, !_isReset); + _isReset = false; } public unsafe void End(bool withResult) @@ -83,7 +85,7 @@ namespace Ryujinx.Graphics.Vulkan.Queries if (withResult) { Marshal.WriteInt64(_bufferMap, DefaultValue); - _pipeline.CopyQueryResults(_queryPool, _buffer); + _pipeline.CopyQueryResults(this); } else { @@ -131,6 +133,27 @@ namespace Ryujinx.Graphics.Vulkan.Queries return data; } + public void PoolReset(CommandBuffer cmd) + { + _api.CmdResetQueryPool(cmd, _queryPool, 0, 1); + _isReset = true; + } + + public void PoolCopy(CommandBufferScoped cbs) + { + var buffer = _buffer.GetBuffer(cbs.CommandBuffer, true).Get(cbs, 0, sizeof(long)).Value; + + _api.CmdCopyQueryPoolResults( + cbs.CommandBuffer, + _queryPool, + 0, + 1, + buffer, + 0, + sizeof(long), + QueryResultFlags.QueryResult64Bit | QueryResultFlags.QueryResultWaitBit); + } + public unsafe void Dispose() { _buffer.Dispose(); diff --git a/Ryujinx.Graphics.Vulkan/Queries/CounterQueue.cs b/Ryujinx.Graphics.Vulkan/Queries/CounterQueue.cs index d32ae2ec4..8ad2dd634 100644 --- a/Ryujinx.Graphics.Vulkan/Queries/CounterQueue.cs +++ b/Ryujinx.Graphics.Vulkan/Queries/CounterQueue.cs @@ -105,6 +105,7 @@ namespace Ryujinx.Graphics.Vulkan.Queries { lock (_lock) { + _pipeline.ResetQuery(query); _queryPool.Enqueue(query); } } @@ -140,11 +141,13 @@ namespace Ryujinx.Graphics.Vulkan.Queries return result; } - public void QueueReset() + public void QueueReset(ulong lastDrawIndex) { + ulong draws = lastDrawIndex - _current.DrawIndex; + lock (_lock) { - _current.Clear(); + _current.Clear(draws != 0); } } diff --git a/Ryujinx.Graphics.Vulkan/Queries/CounterQueueEvent.cs b/Ryujinx.Graphics.Vulkan/Queries/CounterQueueEvent.cs index 9f8612939..9a5a3bb69 100644 --- a/Ryujinx.Graphics.Vulkan/Queries/CounterQueueEvent.cs +++ b/Ryujinx.Graphics.Vulkan/Queries/CounterQueueEvent.cs @@ -42,9 +42,13 @@ namespace Ryujinx.Graphics.Vulkan.Queries return _counter.GetBuffer(); } - internal void Clear() + internal void Clear(bool counterReset) { - _counter.Reset(); + if (counterReset) + { + _counter.Reset(); + } + ClearCounter = true; } @@ -110,6 +114,10 @@ namespace Ryujinx.Graphics.Vulkan.Queries { DisposeInternal(); } + else + { + + } } public bool ReserveForHostAccess() diff --git a/Ryujinx.Graphics.Vulkan/Queries/Counters.cs b/Ryujinx.Graphics.Vulkan/Queries/Counters.cs index 79b56381e..43b44d2d4 100644 --- a/Ryujinx.Graphics.Vulkan/Queries/Counters.cs +++ b/Ryujinx.Graphics.Vulkan/Queries/Counters.cs @@ -31,7 +31,7 @@ namespace Ryujinx.Graphics.Vulkan.Queries public void QueueReset(CounterType type) { - _counterQueues[(int)type].QueueReset(); + _counterQueues[(int)type].QueueReset(_pipeline.DrawCount); } public void Update() From 05a736b6d37a5fe4c771572a9e105665e5bf06b3 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Mon, 14 Mar 2022 00:03:57 +0000 Subject: [PATCH 092/179] Remove unnecessary lines Was for testing --- Ryujinx.Graphics.Vulkan/BufferHolder.cs | 2 -- Ryujinx.Graphics.Vulkan/Queries/CounterQueueEvent.cs | 4 ---- 2 files changed, 6 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/BufferHolder.cs b/Ryujinx.Graphics.Vulkan/BufferHolder.cs index 1789f592c..6638e4696 100644 --- a/Ryujinx.Graphics.Vulkan/BufferHolder.cs +++ b/Ryujinx.Graphics.Vulkan/BufferHolder.cs @@ -162,8 +162,6 @@ namespace Ryujinx.Graphics.Vulkan throw new InvalidOperationException("The buffer is not host mapped."); } - public static int SlowLoads = 0; - public unsafe void SetData(int offset, ReadOnlySpan data, CommandBufferScoped? cbs = null, Action endRenderPass = null) { int dataSize = Math.Min(data.Length, Size - offset); diff --git a/Ryujinx.Graphics.Vulkan/Queries/CounterQueueEvent.cs b/Ryujinx.Graphics.Vulkan/Queries/CounterQueueEvent.cs index 9a5a3bb69..241fe1ee0 100644 --- a/Ryujinx.Graphics.Vulkan/Queries/CounterQueueEvent.cs +++ b/Ryujinx.Graphics.Vulkan/Queries/CounterQueueEvent.cs @@ -114,10 +114,6 @@ namespace Ryujinx.Graphics.Vulkan.Queries { DisposeInternal(); } - else - { - - } } public bool ReserveForHostAccess() From 90ae2dbf69dad33366450425ee54c1413e9b165b Mon Sep 17 00:00:00 2001 From: riperiperi Date: Mon, 14 Mar 2022 20:30:56 +0000 Subject: [PATCH 093/179] Fix validation error for query reset Need to think of a better way to do this. --- Ryujinx.Graphics.Vulkan/PipelineFull.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/Ryujinx.Graphics.Vulkan/PipelineFull.cs b/Ryujinx.Graphics.Vulkan/PipelineFull.cs index 08c36a591..e398a1fd2 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineFull.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineFull.cs @@ -297,6 +297,7 @@ namespace Ryujinx.Graphics.Vulkan foreach (var queryPool in _activeQueries) { + Gd.Api.CmdResetQueryPool(CommandBuffer, queryPool, 0, 1); Gd.Api.CmdBeginQuery(CommandBuffer, queryPool, 0, 0); } From 2ef76221268e17d3bcedbfa54e327d09df470fe4 Mon Sep 17 00:00:00 2001 From: gdk Date: Wed, 6 Apr 2022 10:50:08 -0300 Subject: [PATCH 094/179] SPIR-V: Fix SwizzleAdd and some validation errors --- Ryujinx.Graphics.Gpu/GraphicsConfig.cs | 4 ++-- .../CodeGen/Glsl/Declarations.cs | 4 ++++ .../CodeGen/Spirv/Instructions.cs | 6 +++--- Ryujinx.Graphics.Vulkan/VulkanInitialization.cs | 16 +++++++++++++--- 4 files changed, 22 insertions(+), 8 deletions(-) diff --git a/Ryujinx.Graphics.Gpu/GraphicsConfig.cs b/Ryujinx.Graphics.Gpu/GraphicsConfig.cs index 9f9de50f6..70df1ca72 100644 --- a/Ryujinx.Graphics.Gpu/GraphicsConfig.cs +++ b/Ryujinx.Graphics.Gpu/GraphicsConfig.cs @@ -30,8 +30,8 @@ namespace Ryujinx.Graphics.Gpu /// /// Enables or disables fast 2d engine texture copies entirely on CPU when possible. - /// Reduces stuttering and # of textures in games that copy textures around for streaming, - /// as textures will not need to be created for the copy, and the data does not need to be + /// Reduces stuttering and # of textures in games that copy textures around for streaming, + /// as textures will not need to be created for the copy, and the data does not need to be /// flushed from GPU. /// public static bool Fast2DCopy = true; diff --git a/Ryujinx.Graphics.Shader/CodeGen/Glsl/Declarations.cs b/Ryujinx.Graphics.Shader/CodeGen/Glsl/Declarations.cs index 8dcd0ac12..c3402c582 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Glsl/Declarations.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Glsl/Declarations.cs @@ -43,6 +43,10 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl context.AppendLine("#extension GL_INTEL_fragment_shader_ordering : enable"); } } + else + { + context.AppendLine("#extension GL_ARB_shader_viewport_layer_array : enable"); + } if (context.Config.GpPassthrough) { diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs index e9799f48a..7ceca154d 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs @@ -1300,8 +1300,8 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv shift = context.ShiftLeftLogical(context.TypeU32(), shift, context.Constant(context.TypeU32(), (SpvLiteralInteger)1)); var lutIdx = context.ShiftRightLogical(context.TypeU32(), mask, shift); - var xLutValue = context.AccessChain(context.TypeFP32(), xLut, lutIdx); - var yLutValue = context.AccessChain(context.TypeFP32(), yLut, lutIdx); + var xLutValue = context.VectorExtractDynamic(context.TypeFP32(), xLut, lutIdx); + var yLutValue = context.VectorExtractDynamic(context.TypeFP32(), yLut, lutIdx); var xResult = context.FMul(context.TypeFP32(), x, xLutValue); var yResult = context.FMul(context.TypeFP32(), y, yLutValue); @@ -1465,7 +1465,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv } var vectorType = context.TypeVector(context.TypeS32(), count); - + return context.ConstantComposite(vectorType, elems); } else diff --git a/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs b/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs index 6554386c5..68aad266c 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs @@ -28,9 +28,11 @@ namespace Ryujinx.Graphics.Vulkan ExtConditionalRendering.ExtensionName, ExtExtendedDynamicState.ExtensionName, KhrDrawIndirectCount.ExtensionName, - "VK_EXT_index_type_uint8", "VK_EXT_custom_border_color", - "VK_EXT_robustness2" + "VK_EXT_fragment_shader_interlock", + "VK_EXT_index_type_uint8", + "VK_EXT_robustness2", + "VK_EXT_shader_subgroup_ballot" }; private static readonly string[] _excludedMessages = new string[] @@ -340,6 +342,7 @@ namespace Ryujinx.Graphics.Vulkan PipelineStatisticsQuery = true, SamplerAnisotropy = true, ShaderClipDistance = true, + ShaderFloat64 = true, ShaderImageGatherExtended = true, // ShaderStorageImageReadWithoutFormat = true, // ShaderStorageImageWriteWithoutFormat = true, @@ -388,6 +391,13 @@ namespace Ryujinx.Graphics.Vulkan DrawIndirectCount = supportedExtensions.Contains(KhrDrawIndirectCount.ExtensionName) }; + var featuresFragmentShaderInterlock = new PhysicalDeviceFragmentShaderInterlockFeaturesEXT() + { + SType = StructureType.PhysicalDeviceFragmentShaderInterlockFeaturesExt, + PNext = &featuresVk12, + FragmentShaderPixelInterlock = true + }; + var enabledExtensions = _requiredExtensions.Union(_desirableExtensions.Intersect(supportedExtensions)).ToArray(); IntPtr* ppEnabledExtensions = stackalloc IntPtr[enabledExtensions.Length]; @@ -400,7 +410,7 @@ namespace Ryujinx.Graphics.Vulkan var deviceCreateInfo = new DeviceCreateInfo() { SType = StructureType.DeviceCreateInfo, - PNext = &featuresVk12, + PNext = supportedExtensions.Contains("VK_EXT_fragment_shader_interlock") ? &featuresFragmentShaderInterlock : &featuresVk12, QueueCreateInfoCount = 1, PQueueCreateInfos = &queueCreateInfo, PpEnabledExtensionNames = (byte**)ppEnabledExtensions, From 95d5a500426e0545247994bbea9f1835bf5dda6f Mon Sep 17 00:00:00 2001 From: gdk Date: Wed, 6 Apr 2022 14:39:21 -0300 Subject: [PATCH 095/179] SPIR-V: Implement attribute indexing and StoreAttribute --- .../CodeGen/Spirv/CodeGenContext.cs | 80 +++++++++++++++--- .../CodeGen/Spirv/Declarations.cs | 81 ++++++++++++++----- .../CodeGen/Spirv/Instructions.cs | 37 ++++++++- 3 files changed, 163 insertions(+), 35 deletions(-) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs index 9820b2591..cdfef6ba0 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs @@ -23,6 +23,8 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv public Instruction StorageBuffersArray { get; set; } public Instruction LocalMemory { get; set; } public Instruction SharedMemory { get; set; } + public Instruction InputsArray { get; set; } + public Instruction OutputsArray { get; set; } public Dictionary Samplers { get; } = new Dictionary(); public Dictionary Images { get; } = new Dictionary(); public Dictionary Inputs { get; } = new Dictionary(); @@ -144,7 +146,19 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv public Instruction[] GetMainInterface() { - return Inputs.Values.Concat(Outputs.Values).ToArray(); + var mainInterface = Inputs.Values.Concat(Outputs.Values); + + if (InputsArray != null) + { + mainInterface = mainInterface.Append(InputsArray); + } + + if (OutputsArray != null) + { + mainInterface = mainInterface.Append(OutputsArray); + } + + return mainInterface.ToArray(); } public void DeclareLocal(AstOperand local, Instruction spvLocal) @@ -211,23 +225,39 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv throw new NotImplementedException(node.GetType().Name); } - public Instruction GetAttributeVectorPointer(AstOperand operand, bool isOutAttr) - { - var attrInfo = AttributeInfo.From(Config, operand.Value, isOutAttr); - - return isOutAttr ? Outputs[attrInfo.BaseValue] : Inputs[attrInfo.BaseValue]; - } - public Instruction GetAttributeElemPointer(int attr, bool isOutAttr, Instruction index, out AggregateType elemType) { + var storageClass = isOutAttr ? StorageClass.Output : StorageClass.Input; var attrInfo = AttributeInfo.From(Config, attr, isOutAttr); - elemType = attrInfo.Type & AggregateType.ElementTypeMask; - int attrOffset = attrInfo.BaseValue; AggregateType type = attrInfo.Type; + Instruction ioVariable, elemIndex; + bool isUserAttr = attr >= AttributeConsts.UserAttributeBase && attr < AttributeConsts.UserAttributeEnd; + + if (isUserAttr && + ((!isOutAttr && Config.UsedFeatures.HasFlag(FeatureFlags.IaIndexing)) || + (isOutAttr && Config.UsedFeatures.HasFlag(FeatureFlags.OaIndexing)))) + { + elemType = AggregateType.FP32; + ioVariable = isOutAttr ? OutputsArray : InputsArray; + elemIndex = Constant(TypeU32(), attrInfo.GetInnermostIndex()); + var vecIndex = Constant(TypeU32(), (attr - AttributeConsts.UserAttributeBase) >> 4); + + if (Config.Stage == ShaderStage.Geometry && !isOutAttr) + { + return AccessChain(TypePointer(storageClass, GetType(elemType)), ioVariable, index, vecIndex, elemIndex); + } + else + { + return AccessChain(TypePointer(storageClass, GetType(elemType)), ioVariable, vecIndex, elemIndex); + } + } + + elemType = attrInfo.Type & AggregateType.ElementTypeMask; + if (isUserAttr && Config.TransformFeedbackEnabled && ((isOutAttr && Config.Stage != ShaderStage.Fragment) || (!isOutAttr && Config.Stage != ShaderStage.Vertex))) @@ -236,15 +266,14 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv type = elemType; } - var ioVariable = isOutAttr ? Outputs[attrOffset] : Inputs[attrOffset]; + ioVariable = isOutAttr ? Outputs[attrOffset] : Inputs[attrOffset]; if ((type & (AggregateType.Array | AggregateType.Vector)) == 0) { return ioVariable; } - var storageClass = isOutAttr ? StorageClass.Output : StorageClass.Input; - var elemIndex = Constant(TypeU32(), attrInfo.GetInnermostIndex()); + elemIndex = Constant(TypeU32(), attrInfo.GetInnermostIndex()); if (Config.Stage == ShaderStage.Geometry && !isOutAttr && (!attrInfo.IsBuiltin || AttributeInfo.IsArrayBuiltIn(attr))) { @@ -256,12 +285,37 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv } } + public Instruction GetAttributeElemPointer(Instruction attrIndex, bool isOutAttr, Instruction index, out AggregateType elemType) + { + var storageClass = isOutAttr ? StorageClass.Output : StorageClass.Input; + + elemType = AggregateType.FP32; + var ioVariable = isOutAttr ? OutputsArray : InputsArray; + var vecIndex = ShiftRightLogical(TypeS32(), attrIndex, Constant(TypeS32(), 2)); + var elemIndex = BitwiseAnd(TypeS32(), attrIndex, Constant(TypeS32(), 3)); + + if (Config.Stage == ShaderStage.Geometry && !isOutAttr) + { + return AccessChain(TypePointer(storageClass, GetType(elemType)), ioVariable, index, vecIndex, elemIndex); + } + else + { + return AccessChain(TypePointer(storageClass, GetType(elemType)), ioVariable, vecIndex, elemIndex); + } + } + public Instruction GetAttribute(AggregateType type, int attr, bool isOutAttr, Instruction index = null) { var elemPointer = GetAttributeElemPointer(attr, isOutAttr, index, out var elemType); return BitcastIfNeeded(type, elemType, Load(GetType(elemType), elemPointer)); } + public Instruction GetAttribute(AggregateType type, Instruction attr, bool isOutAttr, Instruction index = null) + { + var elemPointer = GetAttributeElemPointer(attr, isOutAttr, index, out var elemType); + return BitcastIfNeeded(type, elemType, Load(GetType(elemType), elemPointer)); + } + public Instruction GetConstant(AggregateType type, AstOperand operand) { return type switch diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs index 13f852d1d..573c9feeb 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs @@ -331,41 +331,82 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv private static void DeclareInputAttributes(CodeGenContext context, StructuredProgramInfo info) { + bool iaIndexing = context.Config.UsedFeatures.HasFlag(FeatureFlags.IaIndexing); + foreach (int attr in info.Inputs) { - PixelImap iq = PixelImap.Unused; + bool isUserAttr = attr >= AttributeConsts.UserAttributeBase && attr < AttributeConsts.UserAttributeEnd; - if (context.Config.Stage == ShaderStage.Fragment && - attr >= AttributeConsts.UserAttributeBase && - attr < AttributeConsts.UserAttributeEnd) + if (iaIndexing && isUserAttr) { - iq = context.Config.ImapTypes[(attr - AttributeConsts.UserAttributeBase) / 16].GetFirstUsedType(); - } + if (context.InputsArray == null) + { + var attrType = context.TypeVector(context.TypeFP32(), (LiteralInteger)4); + attrType = context.TypeArray(attrType, context.Constant(context.TypeU32(), (LiteralInteger)MaxAttributes)); - DeclareInputOrOutput(context, attr, false, iq); + if (context.Config.Stage == ShaderStage.Geometry) + { + attrType = context.TypeArray(attrType, context.Constant(context.TypeU32(), (LiteralInteger)context.InputVertices)); + } + + var spvType = context.TypePointer(StorageClass.Input, attrType); + var spvVar = context.Variable(spvType, StorageClass.Input); + + context.Decorate(spvVar, Decoration.Location, (LiteralInteger)0); + + context.AddGlobalVariable(spvVar); + context.InputsArray = spvVar; + } + } + else + { + PixelImap iq = PixelImap.Unused; + + if (context.Config.Stage == ShaderStage.Fragment && + attr >= AttributeConsts.UserAttributeBase && + attr < AttributeConsts.UserAttributeEnd) + { + iq = context.Config.ImapTypes[(attr - AttributeConsts.UserAttributeBase) / 16].GetFirstUsedType(); + } + + DeclareInputOrOutput(context, attr, false, iq); + } } } private static void DeclareOutputAttributes(CodeGenContext context, StructuredProgramInfo info) { + bool oaIndexing = context.Config.UsedFeatures.HasFlag(FeatureFlags.OaIndexing); + foreach (int attr in info.Outputs) { - DeclareOutputAttribute(context, attr); + bool isUserAttr = attr >= AttributeConsts.UserAttributeBase && attr < AttributeConsts.UserAttributeEnd; + + if (oaIndexing && isUserAttr) + { + if (context.OutputsArray == null) + { + var attrType = context.TypeVector(context.TypeFP32(), (LiteralInteger)4); + attrType = context.TypeArray(attrType, context.Constant(context.TypeU32(), (LiteralInteger)MaxAttributes)); + + var spvType = context.TypePointer(StorageClass.Output, attrType); + var spvVar = context.Variable(spvType, StorageClass.Output); + + context.Decorate(spvVar, Decoration.Location, (LiteralInteger)0); + + context.AddGlobalVariable(spvVar); + context.OutputsArray = spvVar; + } + } + else + { + DeclareOutputAttribute(context, attr); + } } - if (context.Config.Stage != ShaderStage.Compute && - context.Config.Stage != ShaderStage.Fragment && - !context.Config.GpPassthrough) + if (context.Config.Stage == ShaderStage.Vertex) { - for (int attr = 0; attr < MaxAttributes; attr++) - { - DeclareOutputAttribute(context, AttributeConsts.UserAttributeBase + attr * 16); - } - - if (context.Config.Stage == ShaderStage.Vertex) - { - DeclareOutputAttribute(context, AttributeConsts.PositionX); - } + DeclareOutputAttribute(context, AttributeConsts.PositionX); } } diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs index 7ceca154d..e10df30d4 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs @@ -121,6 +121,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv Add(Instruction.ShuffleXor, GenerateShuffleXor); Add(Instruction.Sine, GenerateSine); Add(Instruction.SquareRoot, GenerateSquareRoot); + Add(Instruction.StoreAttribute, GenerateStoreAttribute); Add(Instruction.StoreLocal, GenerateStoreLocal); Add(Instruction.StoreShared, GenerateStoreShared); Add(Instruction.StoreStorage, GenerateStoreStorage); @@ -864,11 +865,12 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv if (src2 is AstOperand operand && operand.Type == OperandType.Constant) { int attrOffset = baseAttr.Value + (operand.Value << 2); - return new OperationResult(resultType, context.GetAttribute(resultType, attrOffset, false, index)); + return new OperationResult(resultType, context.GetAttribute(resultType, attrOffset, isOutAttr: false, index)); } else { - throw new NotImplementedException(); + var attr = context.Get(AggregateType.S32, src2); + return new OperationResult(resultType, context.GetAttribute(resultType, attr, isOutAttr: false, index)); } } @@ -1244,6 +1246,37 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv return GenerateUnary(context, operation, context.Delegates.GlslSqrt, null); } + private static OperationResult GenerateStoreAttribute(CodeGenContext context, AstOperation operation) + { + var src1 = operation.GetSource(0); + var src2 = operation.GetSource(1); + var src3 = operation.GetSource(2); + + if (!(src1 is AstOperand baseAttr) || baseAttr.Type != OperandType.Constant) + { + throw new InvalidOperationException($"First input of {nameof(Instruction.StoreAttribute)} must be a constant operand."); + } + + SpvInstruction elemPointer; + AggregateType elemType; + + if (src2 is AstOperand operand && operand.Type == OperandType.Constant) + { + int attrOffset = baseAttr.Value + (operand.Value << 2); + elemPointer = context.GetAttributeElemPointer(attrOffset, isOutAttr: true, index: null, out elemType); + } + else + { + var attr = context.Get(AggregateType.S32, src2); + elemPointer = context.GetAttributeElemPointer(attr, isOutAttr: true, index: null, out elemType); + } + + var value = context.Get(elemType, src3); + context.Store(elemPointer, value); + + return OperationResult.Invalid; + } + private static OperationResult GenerateStoreLocal(CodeGenContext context, AstOperation operation) { return GenerateStoreLocalOrShared(context, operation, StorageClass.Private, context.LocalMemory); From 324d0528d3326be3412699095294de937db4b5e5 Mon Sep 17 00:00:00 2001 From: gdk Date: Wed, 6 Apr 2022 21:04:45 -0300 Subject: [PATCH 096/179] SPIR-V: Fix TextureSize for MS and Buffer sampler types --- .../CodeGen/Spirv/CodeGenContext.cs | 1 + .../CodeGen/Spirv/Declarations.cs | 1 + .../CodeGen/Spirv/Instructions.cs | 23 ++++++++++++++----- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs index cdfef6ba0..e6ef4933e 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs @@ -25,6 +25,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv public Instruction SharedMemory { get; set; } public Instruction InputsArray { get; set; } public Instruction OutputsArray { get; set; } + public Dictionary SamplersTypes { get; } = new Dictionary(); public Dictionary Samplers { get; } = new Dictionary(); public Dictionary Images { get; } = new Dictionary(); public Dictionary Inputs { get; } = new Dictionary(); diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs index 573c9feeb..f6c81a3a2 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs @@ -213,6 +213,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv var sampledImageVariable = context.Variable(sampledImagePointerType, StorageClass.UniformConstant); context.Samplers.Add(meta, (imageType, sampledImageType, sampledImageVariable)); + context.SamplersTypes.Add(meta, descriptor.Type); context.Name(sampledImageVariable, $"{GetStagePrefix(context.Config.Stage)}_tex{nameSuffix}"); context.Decorate(sampledImageVariable, Decoration.DescriptorSet, (LiteralInteger)setIndex); diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs index e10df30d4..db1bdd49f 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs @@ -1662,10 +1662,6 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv index = context.GetS32(texOp.GetSource(0)); } - int lodSrcIndex = isBindless || isIndexed ? 1 : 0; - - var lod = context.GetS32(operation.GetSource(lodSrcIndex)); - var meta = new TextureMeta(texOp.CbufSlot, texOp.Handle, texOp.Format); (var imageType, var sampledImageType, var sampledImageVariable) = context.Samplers[meta]; @@ -1679,9 +1675,24 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv } else { - int components = (texOp.Type & SamplerType.Mask) == SamplerType.TextureCube ? 2 : texOp.Type.GetDimensions(); + var type = context.SamplersTypes[meta]; + bool hasLod = !type.HasFlag(SamplerType.Multisample) && type != SamplerType.TextureBuffer; + + int components = (type & SamplerType.Mask) == SamplerType.TextureCube ? 2 : type.GetDimensions(); var resultType = components == 1 ? context.TypeS32() : context.TypeVector(context.TypeS32(), components); - var result = context.ImageQuerySizeLod(resultType, image, lod); + + SpvInstruction result; + + if (hasLod) + { + int lodSrcIndex = isBindless || isIndexed ? 1 : 0; + var lod = context.GetS32(operation.GetSource(lodSrcIndex)); + result = context.ImageQuerySizeLod(resultType, image, lod); + } + else + { + result = context.ImageQuerySize(resultType, image); + } if (components != 1) { From fbfaf63940a2c43dc294ee58b2123bb7195ec2d4 Mon Sep 17 00:00:00 2001 From: gdk Date: Wed, 6 Apr 2022 23:05:03 -0300 Subject: [PATCH 097/179] Fix relaunch issues --- Ryujinx/Ui/MainWindow.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Ryujinx/Ui/MainWindow.cs b/Ryujinx/Ui/MainWindow.cs index c779fc19e..51297bb77 100644 --- a/Ryujinx/Ui/MainWindow.cs +++ b/Ryujinx/Ui/MainWindow.cs @@ -949,8 +949,8 @@ namespace Ryujinx.Ui UpdateColumns(); UpdateGameTable(); - Task.Run(RefreshFirmwareLabel); - Task.Run(HandleRelaunch); + RefreshFirmwareLabel(); + HandleRelaunch(); _actionMenu.Sensitive = false; _firmwareInstallFile.Sensitive = true; From 1448136c3d03f9e4e7db48bfae64f594b9abbeb8 Mon Sep 17 00:00:00 2001 From: gdk Date: Thu, 7 Apr 2022 10:59:31 -0300 Subject: [PATCH 098/179] SPIR-V: Implement LogicalExclusiveOr --- Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs | 6 ++++++ Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvDelegates.cs | 2 ++ 2 files changed, 8 insertions(+) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs index db1bdd49f..da7f17d0c 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs @@ -96,6 +96,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv Add(Instruction.Lod, GenerateLod); Add(Instruction.LogarithmB2, GenerateLogarithmB2); Add(Instruction.LogicalAnd, GenerateLogicalAnd); + Add(Instruction.LogicalExclusiveOr, GenerateLogicalExclusiveOr); Add(Instruction.LogicalNot, GenerateLogicalNot); Add(Instruction.LogicalOr, GenerateLogicalOr); Add(Instruction.LoopBreak, GenerateLoopBreak); @@ -994,6 +995,11 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv return GenerateBinaryBool(context, operation, context.Delegates.LogicalAnd); } + private static OperationResult GenerateLogicalExclusiveOr(CodeGenContext context, AstOperation operation) + { + return GenerateBinaryBool(context, operation, context.Delegates.LogicalNotEqual); + } + private static OperationResult GenerateLogicalNot(CodeGenContext context, AstOperation operation) { return GenerateUnaryBool(context, operation, context.Delegates.LogicalNot); diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvDelegates.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvDelegates.cs index 89e1f73a7..fa0341ee9 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvDelegates.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvDelegates.cs @@ -74,6 +74,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv // BinaryBool public readonly FuncBinaryInstruction LogicalAnd; + public readonly FuncBinaryInstruction LogicalNotEqual; public readonly FuncBinaryInstruction LogicalOr; // BinaryS32 @@ -180,6 +181,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv // BinaryBool LogicalAnd = context.LogicalAnd; + LogicalNotEqual = context.LogicalNotEqual; LogicalOr = context.LogicalOr; // BinaryS32 From d5e2cc2f9b5ad5896ddb1c9046e0e37d2731a1b1 Mon Sep 17 00:00:00 2001 From: gdk Date: Thu, 7 Apr 2022 11:45:04 -0300 Subject: [PATCH 099/179] SPIR-V: Constant buffer indexing support --- .../CodeGen/Spirv/CodeGenContext.cs | 25 ++++++++++--- .../CodeGen/Spirv/Declarations.cs | 36 +++++++++++++++---- .../CodeGen/Spirv/Instructions.cs | 24 ++++++++++--- 3 files changed, 69 insertions(+), 16 deletions(-) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs index e6ef4933e..753273faa 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs @@ -20,6 +20,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv public int InputVertices { get; } public Dictionary UniformBuffers { get; } = new Dictionary(); + public Instruction UniformBuffersArray { get; set; } public Instruction StorageBuffersArray { get; set; } public Instruction LocalMemory { get; set; } public Instruction SharedMemory { get; set; } @@ -332,12 +333,26 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv public Instruction GetConstantBuffer(AggregateType type, AstOperand operand) { - var ubVariable = UniformBuffers[operand.CbufSlot]; - var i0 = Constant(TypeS32(), 0); - var i1 = Constant(TypeS32(), operand.CbufOffset >> 2); - var i2 = Constant(TypeU32(), operand.CbufOffset & 3); + var i1 = Constant(TypeS32(), 0); + var i2 = Constant(TypeS32(), operand.CbufOffset >> 2); + var i3 = Constant(TypeU32(), operand.CbufOffset & 3); + + Instruction elemPointer; + + if (UniformBuffersArray != null) + { + var ubVariable = UniformBuffersArray; + var i0 = Constant(TypeS32(), operand.CbufSlot); + + elemPointer = AccessChain(TypePointer(StorageClass.Uniform, TypeFP32()), ubVariable, i0, i1, i2, i3); + } + else + { + var ubVariable = UniformBuffers[operand.CbufSlot]; + + elemPointer = AccessChain(TypePointer(StorageClass.Uniform, TypeFP32()), ubVariable, i1, i2, i3); + } - var elemPointer = AccessChain(TypePointer(StorageClass.Uniform, TypeFP32()), ubVariable, i0, i1, i2); return BitcastIfNeeded(type, AggregateType.FP32, Load(TypeFP32(), elemPointer)); } diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs index f6c81a3a2..f3c16e919 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs @@ -125,6 +125,11 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv private static void DeclareUniformBuffers(CodeGenContext context, BufferDescriptor[] descriptors) { + if (descriptors.Length == 0) + { + return; + } + uint ubSize = Constants.ConstantBufferSize / 16; var ubArrayType = context.TypeArray(context.TypeVector(context.TypeFP32(), 4), context.Constant(context.TypeU32(), ubSize), true); @@ -132,17 +137,36 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv var ubStructType = context.TypeStruct(true, ubArrayType); context.Decorate(ubStructType, Decoration.Block); context.MemberDecorate(ubStructType, 0, Decoration.Offset, (LiteralInteger)0); - var ubPointerType = context.TypePointer(StorageClass.Uniform, ubStructType); - foreach (var descriptor in descriptors) + if (context.Config.UsedFeatures.HasFlag(FeatureFlags.CbIndexing)) { + int count = descriptors.Max(x => x.Slot) + 1; + + var ubStructArrayType = context.TypeArray(ubStructType, context.Constant(context.TypeU32(), count)); + var ubPointerType = context.TypePointer(StorageClass.Uniform, ubStructArrayType); var ubVariable = context.Variable(ubPointerType, StorageClass.Uniform); - context.Name(ubVariable, $"{GetStagePrefix(context.Config.Stage)}_c{descriptor.Slot}"); + context.Name(ubVariable, $"{GetStagePrefix(context.Config.Stage)}_u"); context.Decorate(ubVariable, Decoration.DescriptorSet, (LiteralInteger)0); - context.Decorate(ubVariable, Decoration.Binding, (LiteralInteger)descriptor.Binding); + context.Decorate(ubVariable, Decoration.Binding, (LiteralInteger)context.Config.FirstConstantBufferBinding); context.AddGlobalVariable(ubVariable); - context.UniformBuffers.Add(descriptor.Slot, ubVariable); + + context.UniformBuffersArray = ubVariable; + } + else + { + var ubPointerType = context.TypePointer(StorageClass.Uniform, ubStructType); + + foreach (var descriptor in descriptors) + { + var ubVariable = context.Variable(ubPointerType, StorageClass.Uniform); + + context.Name(ubVariable, $"{GetStagePrefix(context.Config.Stage)}_c{descriptor.Slot}"); + context.Decorate(ubVariable, Decoration.DescriptorSet, (LiteralInteger)0); + context.Decorate(ubVariable, Decoration.Binding, (LiteralInteger)descriptor.Binding); + context.AddGlobalVariable(ubVariable); + context.UniformBuffers.Add(descriptor.Slot, ubVariable); + } } } @@ -154,7 +178,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv } int setIndex = context.Config.Options.TargetApi == TargetApi.Vulkan ? 1 : 0; - int count = descriptors.Max(x => x.Binding) + 1; + int count = descriptors.Max(x => x.Slot) + 1; var sbArrayType = context.TypeRuntimeArray(context.TypeU32()); context.Decorate(sbArrayType, Decoration.ArrayStride, (LiteralInteger)4); diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs index da7f17d0c..514722355 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs @@ -880,12 +880,26 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv var src1 = operation.GetSource(0); var src2 = context.Get(AggregateType.S32, operation.GetSource(1)); - var ubVariable = context.UniformBuffers[((AstOperand)src1).Value]; - var i0 = context.Constant(context.TypeS32(), 0); - var i1 = context.ShiftRightArithmetic(context.TypeS32(), src2, context.Constant(context.TypeS32(), 2)); - var i2 = context.BitwiseAnd(context.TypeS32(), src2, context.Constant(context.TypeS32(), 3)); + var i1 = context.Constant(context.TypeS32(), 0); + var i2 = context.ShiftRightArithmetic(context.TypeS32(), src2, context.Constant(context.TypeS32(), 2)); + var i3 = context.BitwiseAnd(context.TypeS32(), src2, context.Constant(context.TypeS32(), 3)); + + SpvInstruction elemPointer; + + if (context.UniformBuffersArray != null) + { + var ubVariable = context.UniformBuffersArray; + var i0 = context.Get(AggregateType.S32, src1); + + elemPointer = context.AccessChain(context.TypePointer(StorageClass.Uniform, context.TypeFP32()), ubVariable, i0, i1, i2, i3); + } + else + { + var ubVariable = context.UniformBuffers[((AstOperand)src1).Value]; + + elemPointer = context.AccessChain(context.TypePointer(StorageClass.Uniform, context.TypeFP32()), ubVariable, i1, i2, i3); + } - var elemPointer = context.AccessChain(context.TypePointer(StorageClass.Uniform, context.TypeFP32()), ubVariable, i0, i1, i2); var value = context.Load(context.TypeFP32(), elemPointer); return new OperationResult(AggregateType.FP32, value); From 070996ad6df0345bc376fff742d835aea91b667a Mon Sep 17 00:00:00 2001 From: gdk Date: Thu, 7 Apr 2022 12:07:34 -0300 Subject: [PATCH 100/179] Ignore unsupported attributes rather than throwing (matches current GLSL behaviour) --- .../CodeGen/Spirv/CodeGenContext.cs | 5 +++++ Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs | 10 ++++++++++ .../CodeGen/Spirv/SpirvGenerator.cs | 9 ++++++--- Ryujinx.Graphics.Shader/Translation/AttributeInfo.cs | 5 +++++ 4 files changed, 26 insertions(+), 3 deletions(-) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs index 753273faa..0f3ae2548 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs @@ -308,6 +308,11 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv public Instruction GetAttribute(AggregateType type, int attr, bool isOutAttr, Instruction index = null) { + if (!AttributeInfo.Validate(Config, attr, isOutAttr: false)) + { + return GetConstant(type, new AstOperand(IrOperandType.Constant, 0)); + } + var elemPointer = GetAttributeElemPointer(attr, isOutAttr, index, out var elemType); return BitcastIfNeeded(type, elemType, Load(GetType(elemType), elemPointer)); } diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs index f3c16e919..9baf292e8 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs @@ -360,6 +360,11 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv foreach (int attr in info.Inputs) { + if (!AttributeInfo.Validate(context.Config, attr, isOutAttr: false)) + { + continue; + } + bool isUserAttr = attr >= AttributeConsts.UserAttributeBase && attr < AttributeConsts.UserAttributeEnd; if (iaIndexing && isUserAttr) @@ -405,6 +410,11 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv foreach (int attr in info.Outputs) { + if (!AttributeInfo.Validate(context.Config, attr, isOutAttr: true)) + { + continue; + } + bool isUserAttr = attr >= AttributeConsts.UserAttributeBase && attr < AttributeConsts.UserAttributeEnd; if (oaIndexing && isUserAttr) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs index 6c6836b69..7dd4a12c0 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs @@ -200,7 +200,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv context.AddExecutionMode(spvFunc, ExecutionMode.EarlyFragmentTests); } - if ((info.HelperFunctionsMask & HelperFunctionsMask.FSI) != 0 && + if ((info.HelperFunctionsMask & HelperFunctionsMask.FSI) != 0 && context.Config.GpuAccessor.QueryHostSupportsFragmentShaderInterlock()) { context.AddExecutionMode(spvFunc, ExecutionMode.PixelInterlockOrderedEXT); @@ -331,8 +331,11 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv } else if (dest.Type == OperandType.Attribute) { - var elemPointer = context.GetAttributeElemPointer(dest.Value, true, null, out var elemType); - context.Store(elemPointer, context.Get(elemType, assignment.Source)); + if (AttributeInfo.Validate(context.Config, dest.Value, isOutAttr: true)) + { + var elemPointer = context.GetAttributeElemPointer(dest.Value, true, null, out var elemType); + context.Store(elemPointer, context.Get(elemType, assignment.Source)); + } } else if (dest.Type == OperandType.Argument) { diff --git a/Ryujinx.Graphics.Shader/Translation/AttributeInfo.cs b/Ryujinx.Graphics.Shader/Translation/AttributeInfo.cs index 8e253c961..f69548507 100644 --- a/Ryujinx.Graphics.Shader/Translation/AttributeInfo.cs +++ b/Ryujinx.Graphics.Shader/Translation/AttributeInfo.cs @@ -70,6 +70,11 @@ namespace Ryujinx.Graphics.Shader.Translation return (Value - BaseValue) / 4; } + public static bool Validate(ShaderConfig config, int value, bool isOutAttr) + { + return From(config, value, isOutAttr).IsValid; + } + public static AttributeInfo From(ShaderConfig config, int value, bool isOutAttr) { value &= ~3; From cacc9c7da4fe484f9788fcb48f806e28cd1e3b4d Mon Sep 17 00:00:00 2001 From: gdk Date: Thu, 7 Apr 2022 16:45:22 -0300 Subject: [PATCH 101/179] SPIR-V: Implement tessellation support --- .../CodeGen/Spirv/CodeGenContext.cs | 42 ++++++++++++- .../CodeGen/Spirv/Declarations.cs | 54 +++++++++++----- .../CodeGen/Spirv/SpirvGenerator.cs | 62 ++++++++++++++++--- .../StructuredIr/StructuredProgramContext.cs | 8 +++ .../StructuredIr/StructuredProgramInfo.cs | 4 ++ .../Translation/AttributeInfo.cs | 50 ++++++++------- 6 files changed, 173 insertions(+), 47 deletions(-) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs index 0f3ae2548..5ab22d755 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs @@ -31,6 +31,8 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv public Dictionary Images { get; } = new Dictionary(); public Dictionary Inputs { get; } = new Dictionary(); public Dictionary Outputs { get; } = new Dictionary(); + public Dictionary InputsPerPatch { get; } = new Dictionary(); + public Dictionary OutputsPerPatch { get; } = new Dictionary(); private readonly Dictionary _locals = new Dictionary(); private readonly Dictionary _localForArgs = new Dictionary(); @@ -148,7 +150,10 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv public Instruction[] GetMainInterface() { - var mainInterface = Inputs.Values.Concat(Outputs.Values); + var mainInterface = Inputs.Values + .Concat(Outputs.Values) + .Concat(InputsPerPatch.Values) + .Concat(OutputsPerPatch.Values); if (InputsArray != null) { @@ -216,6 +221,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv { IrOperandType.Argument => GetArgument(type, operand), IrOperandType.Attribute => GetAttribute(type, operand.Value & AttributeConsts.Mask, (operand.Value & AttributeConsts.LoadOutputMask) != 0), + IrOperandType.AttributePerPatch => GetAttributePerPatch(type, operand.Value & AttributeConsts.Mask, (operand.Value & AttributeConsts.LoadOutputMask) != 0), IrOperandType.Constant => GetConstant(type, operand), IrOperandType.ConstantBuffer => GetConstantBuffer(type, operand), IrOperandType.LocalVariable => GetLocal(type, operand), @@ -317,6 +323,40 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv return BitcastIfNeeded(type, elemType, Load(GetType(elemType), elemPointer)); } + public Instruction GetAttributePerPatchElemPointer(int attr, bool isOutAttr, out AggregateType elemType) + { + var storageClass = isOutAttr ? StorageClass.Output : StorageClass.Input; + var attrInfo = AttributeInfo.From(Config, attr, isOutAttr); + + int attrOffset = attrInfo.BaseValue; + Instruction ioVariable; + + bool isUserAttr = attr >= AttributeConsts.UserAttributeBase && attr < AttributeConsts.UserAttributeEnd; + + elemType = attrInfo.Type & AggregateType.ElementTypeMask; + + ioVariable = isOutAttr ? OutputsPerPatch[attrOffset] : InputsPerPatch[attrOffset]; + + if ((attrInfo.Type & (AggregateType.Array | AggregateType.Vector)) == 0) + { + return ioVariable; + } + + var elemIndex = Constant(TypeU32(), attrInfo.GetInnermostIndex()); + return AccessChain(TypePointer(storageClass, GetType(elemType)), ioVariable, elemIndex); + } + + public Instruction GetAttributePerPatch(AggregateType type, int attr, bool isOutAttr) + { + if (!AttributeInfo.Validate(Config, attr, isOutAttr: false)) + { + return GetConstant(type, new AstOperand(IrOperandType.Constant, 0)); + } + + var elemPointer = GetAttributePerPatchElemPointer(attr, isOutAttr, out var elemType); + return BitcastIfNeeded(type, elemType, Load(GetType(elemType), elemPointer)); + } + public Instruction GetAttribute(AggregateType type, Instruction attr, bool isOutAttr, Instruction index = null) { var elemPointer = GetAttributeElemPointer(attr, isOutAttr, index, out var elemType); diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs index 9baf292e8..349a376f4 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs @@ -98,8 +98,10 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv DeclareStorageBuffers(context, context.Config.GetStorageBufferDescriptors()); DeclareSamplers(context, context.Config.GetTextureDescriptors()); DeclareImages(context, context.Config.GetImageDescriptors()); - DeclareInputAttributes(context, info); - DeclareOutputAttributes(context, info); + DeclareInputAttributes(context, info, perPatch: false); + DeclareOutputAttributes(context, info, perPatch: false); + DeclareInputAttributes(context, info, perPatch: true); + DeclareOutputAttributes(context, info, perPatch: true); } private static void DeclareLocalMemory(CodeGenContext context, int size) @@ -354,11 +356,12 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv }; } - private static void DeclareInputAttributes(CodeGenContext context, StructuredProgramInfo info) + private static void DeclareInputAttributes(CodeGenContext context, StructuredProgramInfo info, bool perPatch) { bool iaIndexing = context.Config.UsedFeatures.HasFlag(FeatureFlags.IaIndexing); + var inputs = perPatch ? info.InputsPerPatch : info.Inputs; - foreach (int attr in info.Inputs) + foreach (int attr in inputs) { if (!AttributeInfo.Validate(context.Config, attr, isOutAttr: false)) { @@ -367,7 +370,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv bool isUserAttr = attr >= AttributeConsts.UserAttributeBase && attr < AttributeConsts.UserAttributeEnd; - if (iaIndexing && isUserAttr) + if (iaIndexing && isUserAttr && !perPatch) { if (context.InputsArray == null) { @@ -399,16 +402,17 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv iq = context.Config.ImapTypes[(attr - AttributeConsts.UserAttributeBase) / 16].GetFirstUsedType(); } - DeclareInputOrOutput(context, attr, false, iq); + DeclareInputOrOutput(context, attr, perPatch, isOutAttr: false, iq); } } } - private static void DeclareOutputAttributes(CodeGenContext context, StructuredProgramInfo info) + private static void DeclareOutputAttributes(CodeGenContext context, StructuredProgramInfo info, bool perPatch) { bool oaIndexing = context.Config.UsedFeatures.HasFlag(FeatureFlags.OaIndexing); + var outputs = perPatch ? info.OutputsPerPatch : info.Outputs; - foreach (int attr in info.Outputs) + foreach (int attr in outputs) { if (!AttributeInfo.Validate(context.Config, attr, isOutAttr: true)) { @@ -417,7 +421,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv bool isUserAttr = attr >= AttributeConsts.UserAttributeBase && attr < AttributeConsts.UserAttributeEnd; - if (oaIndexing && isUserAttr) + if (oaIndexing && isUserAttr && !perPatch) { if (context.OutputsArray == null) { @@ -435,30 +439,30 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv } else { - DeclareOutputAttribute(context, attr); + DeclareOutputAttribute(context, attr, perPatch); } } if (context.Config.Stage == ShaderStage.Vertex) { - DeclareOutputAttribute(context, AttributeConsts.PositionX); + DeclareOutputAttribute(context, AttributeConsts.PositionX, perPatch: false); } } - private static void DeclareOutputAttribute(CodeGenContext context, int attr) + private static void DeclareOutputAttribute(CodeGenContext context, int attr, bool perPatch) { - DeclareInputOrOutput(context, attr, true); + DeclareInputOrOutput(context, attr, perPatch, isOutAttr: true); } public static void DeclareInvocationId(CodeGenContext context) { - DeclareInputOrOutput(context, AttributeConsts.LaneId, false); + DeclareInputOrOutput(context, AttributeConsts.LaneId, perPatch: false, isOutAttr: false); } - private static void DeclareInputOrOutput(CodeGenContext context, int attr, bool isOutAttr, PixelImap iq = PixelImap.Unused) + private static void DeclareInputOrOutput(CodeGenContext context, int attr, bool perPatch, bool isOutAttr, PixelImap iq = PixelImap.Unused) { bool isUserAttr = attr >= AttributeConsts.UserAttributeBase && attr < AttributeConsts.UserAttributeEnd; - if (isUserAttr && context.Config.TransformFeedbackEnabled && + if (isUserAttr && context.Config.TransformFeedbackEnabled && !perPatch && ((isOutAttr && context.Config.Stage != ShaderStage.Fragment) || (!isOutAttr && context.Config.Stage != ShaderStage.Vertex))) { @@ -466,7 +470,10 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv return; } - var dict = isOutAttr ? context.Outputs : context.Inputs; + var dict = perPatch + ? (isOutAttr ? context.OutputsPerPatch : context.InputsPerPatch) + : (isOutAttr ? context.Outputs : context.Inputs); + var attrInfo = AttributeInfo.From(context.Config, attr, isOutAttr); if (dict.ContainsKey(attrInfo.BaseValue)) @@ -485,6 +492,11 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv var spvType = context.TypePointer(storageClass, attrType); var spvVar = context.Variable(spvType, storageClass); + if (perPatch) + { + context.Decorate(spvVar, Decoration.Patch); + } + if (attrInfo.IsBuiltin) { context.Decorate(spvVar, Decoration.BuiltIn, (LiteralInteger)GetBuiltIn(context, attrInfo.BaseValue)); @@ -503,6 +515,12 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv else if (isUserAttr) { int location = (attr - AttributeConsts.UserAttributeBase) / 16; + + if (perPatch) + { + location += 32; + } + context.Decorate(spvVar, Decoration.Location, (LiteralInteger)location); if (!isOutAttr) @@ -586,6 +604,8 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv { return attr switch { + AttributeConsts.TessLevelOuter0 => BuiltIn.TessLevelOuter, + AttributeConsts.TessLevelInner0 => BuiltIn.TessLevelInner, AttributeConsts.Layer => BuiltIn.Layer, AttributeConsts.ViewportIndex => BuiltIn.ViewportIndex, AttributeConsts.PointSize => BuiltIn.PointSize, diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs index 7dd4a12c0..352e1aa65 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs @@ -66,11 +66,14 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv context.AddCapability(Capability.FragmentShaderPixelInterlockEXT); context.AddExtension("SPV_EXT_fragment_shader_interlock"); } - - if (config.Stage == ShaderStage.Geometry) + else if (config.Stage == ShaderStage.Geometry) { context.AddCapability(Capability.Geometry); } + else if (config.Stage == ShaderStage.TessellationControl || config.Stage == ShaderStage.TessellationEvaluation) + { + context.AddCapability(Capability.Tessellation); + } context.AddExtension("SPV_KHR_shader_ballot"); context.AddExtension("SPV_KHR_subgroup_vote"); @@ -149,11 +152,50 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv { context.AddEntryPoint(context.Config.Stage.Convert(), spvFunc, "main", context.GetMainInterface()); - if (context.Config.Stage == ShaderStage.Geometry) + if (context.Config.Stage == ShaderStage.TessellationControl) { - InputTopology inPrimitive = context.Config.GpuAccessor.QueryPrimitiveTopology(); + context.AddExecutionMode(spvFunc, ExecutionMode.OutputVertices, (SpvLiteralInteger)context.Config.ThreadsPerInputPrimitive); + } + else if (context.Config.Stage == ShaderStage.TessellationEvaluation) + { + switch (context.Config.GpuAccessor.QueryTessPatchType()) + { + case TessPatchType.Isolines: + context.AddExecutionMode(spvFunc, ExecutionMode.Isolines); + break; + case TessPatchType.Triangles: + context.AddExecutionMode(spvFunc, ExecutionMode.Triangles); + break; + case TessPatchType.Quads: + context.AddExecutionMode(spvFunc, ExecutionMode.Quads); + break; + } - switch (inPrimitive) + switch (context.Config.GpuAccessor.QueryTessSpacing()) + { + case TessSpacing.EqualSpacing: + context.AddExecutionMode(spvFunc, ExecutionMode.SpacingEqual); + break; + case TessSpacing.FractionalEventSpacing: + context.AddExecutionMode(spvFunc, ExecutionMode.SpacingFractionalEven); + break; + case TessSpacing.FractionalOddSpacing: + context.AddExecutionMode(spvFunc, ExecutionMode.SpacingFractionalOdd); + break; + } + + if (context.Config.GpuAccessor.QueryTessCw()) + { + context.AddExecutionMode(spvFunc, ExecutionMode.VertexOrderCw); + } + else + { + context.AddExecutionMode(spvFunc, ExecutionMode.VertexOrderCcw); + } + } + else if (context.Config.Stage == ShaderStage.Geometry) + { + switch (context.Config.GpuAccessor.QueryPrimitiveTopology()) { case InputTopology.Points: context.AddExecutionMode(spvFunc, ExecutionMode.InputPoints); @@ -329,11 +371,17 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv var source = context.Get(dest.VarType.Convert(), assignment.Source); context.Store(context.GetLocalPointer(dest), source); } - else if (dest.Type == OperandType.Attribute) + else if (dest.Type == OperandType.Attribute || dest.Type == OperandType.AttributePerPatch) { if (AttributeInfo.Validate(context.Config, dest.Value, isOutAttr: true)) { - var elemPointer = context.GetAttributeElemPointer(dest.Value, true, null, out var elemType); + bool perPatch = dest.Type == OperandType.AttributePerPatch; + AggregateType elemType; + + var elemPointer = perPatch + ? context.GetAttributePerPatchElemPointer(dest.Value, true, out elemType) + : context.GetAttributeElemPointer(dest.Value, true, null, out elemType); + context.Store(elemPointer, context.Get(elemType, assignment.Source)); } } diff --git a/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgramContext.cs b/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgramContext.cs index 2c87721ee..19c4ad461 100644 --- a/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgramContext.cs +++ b/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgramContext.cs @@ -281,6 +281,10 @@ namespace Ryujinx.Graphics.Shader.StructuredIr { Info.Outputs.Add(operand.Value & AttributeConsts.Mask); } + else if (operand.Type == OperandType.AttributePerPatch) + { + Info.OutputsPerPatch.Add(operand.Value & AttributeConsts.Mask); + } return GetOperand(operand); } @@ -297,6 +301,10 @@ namespace Ryujinx.Graphics.Shader.StructuredIr { Info.Inputs.Add(operand.Value); } + else if (operand.Type == OperandType.AttributePerPatch) + { + Info.InputsPerPatch.Add(operand.Value); + } return GetOperand(operand); } diff --git a/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgramInfo.cs b/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgramInfo.cs index 650349b6f..43bdfaba5 100644 --- a/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgramInfo.cs +++ b/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgramInfo.cs @@ -24,6 +24,8 @@ namespace Ryujinx.Graphics.Shader.StructuredIr public HashSet Inputs { get; } public HashSet Outputs { get; } + public HashSet InputsPerPatch { get; } + public HashSet OutputsPerPatch { get; } public HelperFunctionsMask HelperFunctionsMask { get; set; } @@ -35,6 +37,8 @@ namespace Ryujinx.Graphics.Shader.StructuredIr Inputs = new HashSet(); Outputs = new HashSet(); + InputsPerPatch = new HashSet(); + OutputsPerPatch = new HashSet(); TransformFeedbackOutputs = new TransformFeedbackOutput[0xc0]; } diff --git a/Ryujinx.Graphics.Shader/Translation/AttributeInfo.cs b/Ryujinx.Graphics.Shader/Translation/AttributeInfo.cs index f69548507..8bf98963d 100644 --- a/Ryujinx.Graphics.Shader/Translation/AttributeInfo.cs +++ b/Ryujinx.Graphics.Shader/Translation/AttributeInfo.cs @@ -6,28 +6,34 @@ namespace Ryujinx.Graphics.Shader.Translation { private static readonly Dictionary BuiltInAttributes = new Dictionary() { - { AttributeConsts.Layer, new AttributeInfo(AttributeConsts.Layer, 0, 1, AggregateType.S32) }, - { AttributeConsts.ViewportIndex, new AttributeInfo(AttributeConsts.ViewportIndex, 0, 1, AggregateType.S32) }, - { AttributeConsts.PointSize, new AttributeInfo(AttributeConsts.PointSize, 0, 1, AggregateType.FP32) }, - { AttributeConsts.PositionX, new AttributeInfo(AttributeConsts.PositionX, 0, 4, AggregateType.Vector | AggregateType.FP32) }, - { AttributeConsts.PositionY, new AttributeInfo(AttributeConsts.PositionX, 1, 4, AggregateType.Vector | AggregateType.FP32) }, - { AttributeConsts.PositionZ, new AttributeInfo(AttributeConsts.PositionX, 2, 4, AggregateType.Vector | AggregateType.FP32) }, - { AttributeConsts.PositionW, new AttributeInfo(AttributeConsts.PositionX, 3, 4, AggregateType.Vector | AggregateType.FP32) }, - { AttributeConsts.ClipDistance0, new AttributeInfo(AttributeConsts.ClipDistance0, 0, 8, AggregateType.Array | AggregateType.FP32) }, - { AttributeConsts.ClipDistance1, new AttributeInfo(AttributeConsts.ClipDistance0, 1, 8, AggregateType.Array | AggregateType.FP32) }, - { AttributeConsts.ClipDistance2, new AttributeInfo(AttributeConsts.ClipDistance0, 2, 8, AggregateType.Array | AggregateType.FP32) }, - { AttributeConsts.ClipDistance3, new AttributeInfo(AttributeConsts.ClipDistance0, 3, 8, AggregateType.Array | AggregateType.FP32) }, - { AttributeConsts.ClipDistance4, new AttributeInfo(AttributeConsts.ClipDistance0, 4, 8, AggregateType.Array | AggregateType.FP32) }, - { AttributeConsts.ClipDistance5, new AttributeInfo(AttributeConsts.ClipDistance0, 5, 8, AggregateType.Array | AggregateType.FP32) }, - { AttributeConsts.ClipDistance6, new AttributeInfo(AttributeConsts.ClipDistance0, 6, 8, AggregateType.Array | AggregateType.FP32) }, - { AttributeConsts.ClipDistance7, new AttributeInfo(AttributeConsts.ClipDistance0, 7, 8, AggregateType.Array | AggregateType.FP32) }, - { AttributeConsts.PointCoordX, new AttributeInfo(AttributeConsts.PointCoordX, 0, 2, AggregateType.Vector | AggregateType.FP32) }, - { AttributeConsts.PointCoordY, new AttributeInfo(AttributeConsts.PointCoordX, 1, 2, AggregateType.Vector | AggregateType.FP32) }, - { AttributeConsts.TessCoordX, new AttributeInfo(AttributeConsts.TessCoordX, 0, 2, AggregateType.Vector | AggregateType.FP32) }, - { AttributeConsts.TessCoordY, new AttributeInfo(AttributeConsts.TessCoordX, 1, 2, AggregateType.Vector | AggregateType.FP32) }, - { AttributeConsts.InstanceId, new AttributeInfo(AttributeConsts.InstanceId, 0, 1, AggregateType.S32) }, - { AttributeConsts.VertexId, new AttributeInfo(AttributeConsts.VertexId, 0, 1, AggregateType.S32) }, - { AttributeConsts.FrontFacing, new AttributeInfo(AttributeConsts.FrontFacing, 0, 1, AggregateType.Bool) }, + { AttributeConsts.TessLevelOuter0, new AttributeInfo(AttributeConsts.TessLevelOuter0, 0, 4, AggregateType.Array | AggregateType.FP32) }, + { AttributeConsts.TessLevelOuter1, new AttributeInfo(AttributeConsts.TessLevelOuter0, 1, 4, AggregateType.Array | AggregateType.FP32) }, + { AttributeConsts.TessLevelOuter2, new AttributeInfo(AttributeConsts.TessLevelOuter0, 2, 4, AggregateType.Array | AggregateType.FP32) }, + { AttributeConsts.TessLevelOuter3, new AttributeInfo(AttributeConsts.TessLevelOuter0, 3, 4, AggregateType.Array | AggregateType.FP32) }, + { AttributeConsts.TessLevelInner0, new AttributeInfo(AttributeConsts.TessLevelInner0, 0, 2, AggregateType.Array | AggregateType.FP32) }, + { AttributeConsts.TessLevelInner1, new AttributeInfo(AttributeConsts.TessLevelInner0, 1, 2, AggregateType.Array | AggregateType.FP32) }, + { AttributeConsts.Layer, new AttributeInfo(AttributeConsts.Layer, 0, 1, AggregateType.S32) }, + { AttributeConsts.ViewportIndex, new AttributeInfo(AttributeConsts.ViewportIndex, 0, 1, AggregateType.S32) }, + { AttributeConsts.PointSize, new AttributeInfo(AttributeConsts.PointSize, 0, 1, AggregateType.FP32) }, + { AttributeConsts.PositionX, new AttributeInfo(AttributeConsts.PositionX, 0, 4, AggregateType.Vector | AggregateType.FP32) }, + { AttributeConsts.PositionY, new AttributeInfo(AttributeConsts.PositionX, 1, 4, AggregateType.Vector | AggregateType.FP32) }, + { AttributeConsts.PositionZ, new AttributeInfo(AttributeConsts.PositionX, 2, 4, AggregateType.Vector | AggregateType.FP32) }, + { AttributeConsts.PositionW, new AttributeInfo(AttributeConsts.PositionX, 3, 4, AggregateType.Vector | AggregateType.FP32) }, + { AttributeConsts.ClipDistance0, new AttributeInfo(AttributeConsts.ClipDistance0, 0, 8, AggregateType.Array | AggregateType.FP32) }, + { AttributeConsts.ClipDistance1, new AttributeInfo(AttributeConsts.ClipDistance0, 1, 8, AggregateType.Array | AggregateType.FP32) }, + { AttributeConsts.ClipDistance2, new AttributeInfo(AttributeConsts.ClipDistance0, 2, 8, AggregateType.Array | AggregateType.FP32) }, + { AttributeConsts.ClipDistance3, new AttributeInfo(AttributeConsts.ClipDistance0, 3, 8, AggregateType.Array | AggregateType.FP32) }, + { AttributeConsts.ClipDistance4, new AttributeInfo(AttributeConsts.ClipDistance0, 4, 8, AggregateType.Array | AggregateType.FP32) }, + { AttributeConsts.ClipDistance5, new AttributeInfo(AttributeConsts.ClipDistance0, 5, 8, AggregateType.Array | AggregateType.FP32) }, + { AttributeConsts.ClipDistance6, new AttributeInfo(AttributeConsts.ClipDistance0, 6, 8, AggregateType.Array | AggregateType.FP32) }, + { AttributeConsts.ClipDistance7, new AttributeInfo(AttributeConsts.ClipDistance0, 7, 8, AggregateType.Array | AggregateType.FP32) }, + { AttributeConsts.PointCoordX, new AttributeInfo(AttributeConsts.PointCoordX, 0, 2, AggregateType.Vector | AggregateType.FP32) }, + { AttributeConsts.PointCoordY, new AttributeInfo(AttributeConsts.PointCoordX, 1, 2, AggregateType.Vector | AggregateType.FP32) }, + { AttributeConsts.TessCoordX, new AttributeInfo(AttributeConsts.TessCoordX, 0, 2, AggregateType.Vector | AggregateType.FP32) }, + { AttributeConsts.TessCoordY, new AttributeInfo(AttributeConsts.TessCoordX, 1, 2, AggregateType.Vector | AggregateType.FP32) }, + { AttributeConsts.InstanceId, new AttributeInfo(AttributeConsts.InstanceId, 0, 1, AggregateType.S32) }, + { AttributeConsts.VertexId, new AttributeInfo(AttributeConsts.VertexId, 0, 1, AggregateType.S32) }, + { AttributeConsts.FrontFacing, new AttributeInfo(AttributeConsts.FrontFacing, 0, 1, AggregateType.Bool) }, // Special. { AttributeConsts.FragmentOutputDepth, new AttributeInfo(AttributeConsts.FragmentOutputDepth, 0, 1, AggregateType.FP32) }, From 3b444f0ea36538435c23455ddd83eeeddcf1c8d0 Mon Sep 17 00:00:00 2001 From: gdk Date: Thu, 7 Apr 2022 20:01:13 -0300 Subject: [PATCH 102/179] SPIR-V: Geometry shader passthrough support --- .../CodeGen/Spirv/Declarations.cs | 26 +++++++++++++++++ .../CodeGen/Spirv/SpirvGenerator.cs | 6 ++++ .../StructuredIr/StructuredProgramContext.cs | 29 +++++++++++++++++++ .../VulkanInitialization.cs | 3 +- 4 files changed, 63 insertions(+), 1 deletion(-) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs index 349a376f4..e011725bf 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs @@ -385,6 +385,11 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv var spvType = context.TypePointer(StorageClass.Input, attrType); var spvVar = context.Variable(spvType, StorageClass.Input); + if (context.Config.PassthroughAttributes != 0) + { + context.Decorate(spvVar, Decoration.PassthroughNV); + } + context.Decorate(spvVar, Decoration.Location, (LiteralInteger)0); context.AddGlobalVariable(spvVar); @@ -483,10 +488,16 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv var storageClass = isOutAttr ? StorageClass.Output : StorageClass.Input; var attrType = context.GetType(attrInfo.Type, attrInfo.Length); + bool builtInPassthrough = false; if (context.Config.Stage == ShaderStage.Geometry && !isOutAttr && (!attrInfo.IsBuiltin || AttributeInfo.IsArrayBuiltIn(attr))) { attrType = context.TypeArray(attrType, context.Constant(context.TypeU32(), (LiteralInteger)context.InputVertices)); + + if (context.Config.GpPassthrough) + { + builtInPassthrough = true; + } } var spvType = context.TypePointer(storageClass, attrType); @@ -497,6 +508,11 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv context.Decorate(spvVar, Decoration.Patch); } + if (builtInPassthrough) + { + context.Decorate(spvVar, Decoration.PassthroughNV); + } + if (attrInfo.IsBuiltin) { context.Decorate(spvVar, Decoration.BuiltIn, (LiteralInteger)GetBuiltIn(context, attrInfo.BaseValue)); @@ -525,6 +541,11 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv if (!isOutAttr) { + if (!perPatch && (context.Config.PassthroughAttributes & (1 << location)) != 0) + { + context.Decorate(spvVar, Decoration.PassthroughNV); + } + switch (iq) { case PixelImap.Constant: @@ -585,6 +606,11 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv } else { + if ((context.Config.PassthroughAttributes & (1 << location)) != 0) + { + context.Decorate(spvVar, Decoration.PassthroughNV); + } + switch (iq) { case PixelImap.Constant: diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs index 352e1aa65..666fcc42e 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs @@ -69,6 +69,12 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv else if (config.Stage == ShaderStage.Geometry) { context.AddCapability(Capability.Geometry); + + if (config.GpPassthrough) + { + context.AddExtension("SPV_NV_geometry_shader_passthrough"); + context.AddCapability(Capability.GeometryShaderPassthroughNV); + } } else if (config.Stage == ShaderStage.TessellationControl || config.Stage == ShaderStage.TessellationEvaluation) { diff --git a/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgramContext.cs b/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgramContext.cs index 19c4ad461..6dc1e85cf 100644 --- a/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgramContext.cs +++ b/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgramContext.cs @@ -2,6 +2,7 @@ using Ryujinx.Graphics.Shader.IntermediateRepresentation; using Ryujinx.Graphics.Shader.Translation; using System.Collections.Generic; using System.Linq; +using System.Numerics; using static Ryujinx.Graphics.Shader.StructuredIr.AstHelper; @@ -35,6 +36,34 @@ namespace Ryujinx.Graphics.Shader.StructuredIr Info = new StructuredProgramInfo(); Config = config; + + if (config.GpPassthrough) + { + int passthroughAttributes = config.PassthroughAttributes; + while (passthroughAttributes != 0) + { + int index = BitOperations.TrailingZeroCount(passthroughAttributes); + + int attrBase = AttributeConsts.UserAttributeBase + index * 16; + Info.Inputs.Add(attrBase); + Info.Inputs.Add(attrBase + 4); + Info.Inputs.Add(attrBase + 8); + Info.Inputs.Add(attrBase + 12); + + passthroughAttributes &= ~(1 << index); + } + + Info.Inputs.Add(AttributeConsts.PositionX); + Info.Inputs.Add(AttributeConsts.PositionY); + Info.Inputs.Add(AttributeConsts.PositionZ); + Info.Inputs.Add(AttributeConsts.PositionW); + Info.Inputs.Add(AttributeConsts.PointSize); + + for (int i = 0; i < 8; i++) + { + Info.Inputs.Add(AttributeConsts.ClipDistance0 + i * 4); + } + } } public void EnterFunction( diff --git a/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs b/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs index 68aad266c..8d116eb2b 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs @@ -32,7 +32,8 @@ namespace Ryujinx.Graphics.Vulkan "VK_EXT_fragment_shader_interlock", "VK_EXT_index_type_uint8", "VK_EXT_robustness2", - "VK_EXT_shader_subgroup_ballot" + "VK_EXT_shader_subgroup_ballot", + "VK_NV_geometry_shader_passthrough" }; private static readonly string[] _excludedMessages = new string[] From f18e7aa779bd388477d72f65c1f1d14975115c7b Mon Sep 17 00:00:00 2001 From: gdk Date: Thu, 7 Apr 2022 22:08:41 -0300 Subject: [PATCH 103/179] SPIR-V: Implement StoreShader8/16 and StoreStorage8/16 --- .../CodeGen/Spirv/Instructions.cs | 95 +++++++++++++++++++ 1 file changed, 95 insertions(+) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs index 514722355..7265fac10 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs @@ -125,7 +125,11 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv Add(Instruction.StoreAttribute, GenerateStoreAttribute); Add(Instruction.StoreLocal, GenerateStoreLocal); Add(Instruction.StoreShared, GenerateStoreShared); + Add(Instruction.StoreShared16, GenerateStoreShared16); + Add(Instruction.StoreShared8, GenerateStoreShared8); Add(Instruction.StoreStorage, GenerateStoreStorage); + Add(Instruction.StoreStorage16, GenerateStoreStorage16); + Add(Instruction.StoreStorage8, GenerateStoreStorage8); Add(Instruction.Subtract, GenerateSubtract); Add(Instruction.SwizzleAdd, GenerateSwizzleAdd); Add(Instruction.TextureSample, GenerateTextureSample); @@ -1322,6 +1326,20 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv return OperationResult.Invalid; } + private static OperationResult GenerateStoreShared16(CodeGenContext context, AstOperation operation) + { + GenerateStoreSharedSmallInt(context, operation, 16); + + return OperationResult.Invalid; + } + + private static OperationResult GenerateStoreShared8(CodeGenContext context, AstOperation operation) + { + GenerateStoreSharedSmallInt(context, operation, 8); + + return OperationResult.Invalid; + } + private static OperationResult GenerateStoreStorage(CodeGenContext context, AstOperation operation) { var elemPointer = GetStorageElemPointer(context, operation); @@ -1330,6 +1348,20 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv return OperationResult.Invalid; } + private static OperationResult GenerateStoreStorage16(CodeGenContext context, AstOperation operation) + { + GenerateStoreStorageSmallInt(context, operation, 16); + + return OperationResult.Invalid; + } + + private static OperationResult GenerateStoreStorage8(CodeGenContext context, AstOperation operation) + { + GenerateStoreStorageSmallInt(context, operation, 8); + + return OperationResult.Invalid; + } + private static OperationResult GenerateSubtract(CodeGenContext context, AstOperation operation) { return GenerateBinary(context, operation, context.Delegates.FSub, context.Delegates.ISub); @@ -1862,6 +1894,69 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv return new OperationResult(AggregateType.U32, context.AtomicCompareExchange(context.TypeU32(), elemPointer, one, zero, zero, value1, value0)); } + private static void GenerateStoreSharedSmallInt(CodeGenContext context, AstOperation operation, int bitSize) + { + var offset = context.Get(AggregateType.U32, operation.GetSource(0)); + var value = context.Get(AggregateType.U32, operation.GetSource(1)); + + var wordOffset = context.ShiftRightLogical(context.TypeU32(), offset, context.Constant(context.TypeU32(), 2)); + var bitOffset = context.BitwiseAnd(context.TypeU32(), offset, context.Constant(context.TypeU32(), 3)); + bitOffset = context.ShiftLeftLogical(context.TypeU32(), bitOffset, context.Constant(context.TypeU32(), 3)); + + var memory = context.SharedMemory; + + var elemPointer = context.AccessChain(context.TypePointer(StorageClass.Workgroup, context.TypeU32()), memory, wordOffset); + + GenerateStoreSmallInt(context, elemPointer, bitOffset, value, bitSize); + } + + private static void GenerateStoreStorageSmallInt(CodeGenContext context, AstOperation operation, int bitSize) + { + var i0 = context.Get(AggregateType.S32, operation.GetSource(0)); + var offset = context.Get(AggregateType.U32, operation.GetSource(1)); + var value = context.Get(AggregateType.U32, operation.GetSource(2)); + + var wordOffset = context.ShiftRightLogical(context.TypeU32(), offset, context.Constant(context.TypeU32(), 2)); + var bitOffset = context.BitwiseAnd(context.TypeU32(), offset, context.Constant(context.TypeU32(), 3)); + bitOffset = context.ShiftLeftLogical(context.TypeU32(), bitOffset, context.Constant(context.TypeU32(), 3)); + + var sbVariable = context.StorageBuffersArray; + + var i1 = context.Constant(context.TypeS32(), 0); + + var elemPointer = context.AccessChain(context.TypePointer(StorageClass.Uniform, context.TypeU32()), sbVariable, i0, i1, wordOffset); + + GenerateStoreSmallInt(context, elemPointer, bitOffset, value, bitSize); + } + + private static void GenerateStoreSmallInt( + CodeGenContext context, + SpvInstruction elemPointer, + SpvInstruction bitOffset, + SpvInstruction value, + int bitSize) + { + var loopStart = context.Label(); + var loopEnd = context.Label(); + + context.Branch(loopStart); + context.AddLabel(loopStart); + + var oldValue = context.Load(context.TypeU32(), elemPointer); + var newValue = context.BitFieldInsert(context.TypeU32(), oldValue, value, bitOffset, context.Constant(context.TypeU32(), bitSize)); + + var one = context.Constant(context.TypeU32(), 1); + var zero = context.Constant(context.TypeU32(), 0); + + var result = context.AtomicCompareExchange(context.TypeU32(), elemPointer, one, zero, zero, newValue, oldValue); + var failed = context.INotEqual(context.TypeBool(), result, oldValue); + + context.LoopMerge(loopEnd, loopStart, LoopControlMask.MaskNone); + context.BranchConditional(failed, loopStart, loopEnd); + + context.AddLabel(loopEnd); + } + private static SpvInstruction GetStorageElemPointer(CodeGenContext context, AstOperation operation) { var sbVariable = context.StorageBuffersArray; From 0b27b3e4708edb65ade5167d3d71282730c0dc9a Mon Sep 17 00:00:00 2001 From: gdk Date: Fri, 8 Apr 2022 16:13:23 -0300 Subject: [PATCH 104/179] SPIR-V: Resolution scale support and fix TextureSample multisample with LOD bug --- .../CodeGen/Glsl/CodeGenContext.cs | 47 ---- .../Glsl/Instructions/InstGenMemory.cs | 6 +- .../CodeGen/Spirv/CodeGenContext.cs | 32 ++- .../CodeGen/Spirv/Declarations.cs | 40 ++++ .../CodeGen/Spirv/Instructions.cs | 7 +- .../CodeGen/Spirv/ScalingHelpers.cs | 216 ++++++++++++++++++ .../StructuredIr/StructuredProgramContext.cs | 6 + .../Translation/ShaderConfig.cs | 48 ++++ 8 files changed, 344 insertions(+), 58 deletions(-) create mode 100644 Ryujinx.Graphics.Shader/CodeGen/Spirv/ScalingHelpers.cs diff --git a/Ryujinx.Graphics.Shader/CodeGen/Glsl/CodeGenContext.cs b/Ryujinx.Graphics.Shader/CodeGen/Glsl/CodeGenContext.cs index 825347497..418af6cb7 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Glsl/CodeGenContext.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Glsl/CodeGenContext.cs @@ -70,53 +70,6 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl AppendLine("}" + suffix); } - public (TextureDescriptor, int) FindTextureDescriptor(AstTextureOperation texOp) - { - TextureDescriptor[] descriptors = Config.GetTextureDescriptors(); - - for (int i = 0; i < descriptors.Length; i++) - { - var descriptor = descriptors[i]; - - if (descriptor.CbufSlot == texOp.CbufSlot && - descriptor.HandleIndex == texOp.Handle && - descriptor.Format == texOp.Format) - { - return (descriptor, i); - } - } - - return (default, -1); - } - - private static int FindDescriptorIndex(TextureDescriptor[] array, AstTextureOperation texOp) - { - for (int i = 0; i < array.Length; i++) - { - var descriptor = array[i]; - - if (descriptor.Type == texOp.Type && - descriptor.CbufSlot == texOp.CbufSlot && - descriptor.HandleIndex == texOp.Handle && - descriptor.Format == texOp.Format) - { - return i; - } - } - - return -1; - } - - public int FindTextureDescriptorIndex(AstTextureOperation texOp) - { - return FindDescriptorIndex(Config.GetTextureDescriptors(), texOp); - } - - public int FindImageDescriptorIndex(AstTextureOperation texOp) - { - return FindDescriptorIndex(Config.GetImageDescriptors(), texOp); - } - public StructuredFunction GetFunction(int id) { return _info.Functions[id]; diff --git a/Ryujinx.Graphics.Shader/CodeGen/Glsl/Instructions/InstGenMemory.cs b/Ryujinx.Graphics.Shader/CodeGen/Glsl/Instructions/InstGenMemory.cs index 6805f2faa..e7ed5bfd9 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Glsl/Instructions/InstGenMemory.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Glsl/Instructions/InstGenMemory.cs @@ -91,7 +91,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl.Instructions !isIndexed) { // Image scales start after texture ones. - int scaleIndex = context.Config.GetTextureDescriptors().Length + context.FindImageDescriptorIndex(texOp); + int scaleIndex = context.Config.GetTextureDescriptors().Length + context.Config.FindImageDescriptorIndex(texOp); if (pCount == 3 && isArray) { @@ -625,7 +625,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl.Instructions !isBindless && !isIndexed) { - int index = context.FindTextureDescriptorIndex(texOp); + int index = context.Config.FindTextureDescriptorIndex(texOp); if (pCount == 3 && isArray) { @@ -762,7 +762,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl.Instructions } else { - (TextureDescriptor descriptor, int descriptorIndex) = context.FindTextureDescriptor(texOp); + (TextureDescriptor descriptor, int descriptorIndex) = context.Config.FindTextureDescriptor(texOp); bool hasLod = !descriptor.Type.HasFlag(SamplerType.Multisample) && descriptor.Type != SamplerType.TextureBuffer; string texCall; diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs index 5ab22d755..4a9bc2a45 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs @@ -20,6 +20,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv public int InputVertices { get; } public Dictionary UniformBuffers { get; } = new Dictionary(); + public Instruction SupportBuffer { get; set; } public Instruction UniformBuffersArray { get; set; } public Instruction StorageBuffersArray { get; set; } public Instruction LocalMemory { get; set; } @@ -34,6 +35,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv public Dictionary InputsPerPatch { get; } = new Dictionary(); public Dictionary OutputsPerPatch { get; } = new Dictionary(); + public Instruction CoordTemp { get; set; } private readonly Dictionary _locals = new Dictionary(); private readonly Dictionary _localForArgs = new Dictionary(); private readonly Dictionary _funcArgs = new Dictionary(); @@ -150,19 +152,21 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv public Instruction[] GetMainInterface() { - var mainInterface = Inputs.Values - .Concat(Outputs.Values) - .Concat(InputsPerPatch.Values) - .Concat(OutputsPerPatch.Values); + var mainInterface = new List(); + + mainInterface.AddRange(Inputs.Values); + mainInterface.AddRange(Outputs.Values); + mainInterface.AddRange(InputsPerPatch.Values); + mainInterface.AddRange(OutputsPerPatch.Values); if (InputsArray != null) { - mainInterface = mainInterface.Append(InputsArray); + mainInterface.Add(InputsArray); } if (OutputsArray != null) { - mainInterface = mainInterface.Append(OutputsArray); + mainInterface.Add(OutputsArray); } return mainInterface.ToArray(); @@ -320,7 +324,21 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv } var elemPointer = GetAttributeElemPointer(attr, isOutAttr, index, out var elemType); - return BitcastIfNeeded(type, elemType, Load(GetType(elemType), elemPointer)); + var value = Load(GetType(elemType), elemPointer); + + if (Config.Stage == ShaderStage.Fragment && (attr == AttributeConsts.PositionX || attr == AttributeConsts.PositionY)) + { + var pointerType = TypePointer(StorageClass.Uniform, TypeFP32()); + var fieldIndex = Constant(TypeU32(), 3); + var scaleIndex = Constant(TypeU32(), 0); + + var scaleElemPointer = AccessChain(pointerType, SupportBuffer, fieldIndex, scaleIndex); + var scale = Load(TypeFP32(), scaleElemPointer); + + value = FDiv(TypeFP32(), value, scale); + } + + return BitcastIfNeeded(type, elemType, value); } public Instruction GetAttributePerPatchElemPointer(int attr, bool isOutAttr, out AggregateType elemType) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs index e011725bf..44f8a5bd2 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs @@ -46,6 +46,13 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv context.AddLocalVariable(spvLocal); context.DeclareLocal(local, spvLocal); } + + var ivector2Type = context.TypeVector(context.TypeS32(), 2); + var coordTempPointerType = context.TypePointer(StorageClass.Function, ivector2Type); + var coordTemp = context.Variable(coordTempPointerType, StorageClass.Function); + + context.AddLocalVariable(coordTemp); + context.CoordTemp = coordTemp; } public static void DeclareLocalForArgs(CodeGenContext context, List functions) @@ -94,6 +101,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv DeclareLocalMemory(context, localMemorySize); } + DeclareSupportBuffer(context); DeclareUniformBuffers(context, context.Config.GetConstantBufferDescriptors()); DeclareStorageBuffers(context, context.Config.GetStorageBufferDescriptors()); DeclareSamplers(context, context.Config.GetTextureDescriptors()); @@ -125,6 +133,38 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv return variable; } + private static void DeclareSupportBuffer(CodeGenContext context) + { + if (!context.Config.Stage.SupportsRenderScale()) + { + return; + } + + var isBgraArrayType = context.TypeArray(context.TypeU32(), context.Constant(context.TypeU32(), SupportBuffer.FragmentIsBgraCount)); + var renderScaleArrayType = context.TypeArray(context.TypeFP32(), context.Constant(context.TypeU32(), SupportBuffer.RenderScaleMaxCount)); + + context.Decorate(isBgraArrayType, Decoration.ArrayStride, (LiteralInteger)SupportBuffer.FieldSize); + context.Decorate(renderScaleArrayType, Decoration.ArrayStride, (LiteralInteger)SupportBuffer.FieldSize); + + var supportBufferStructType = context.TypeStruct(false, context.TypeU32(), isBgraArrayType, context.TypeS32(), renderScaleArrayType); + + context.MemberDecorate(supportBufferStructType, 0, Decoration.Offset, (LiteralInteger)SupportBuffer.FragmentAlphaTestOffset); + context.MemberDecorate(supportBufferStructType, 1, Decoration.Offset, (LiteralInteger)SupportBuffer.FragmentIsBgraOffset); + context.MemberDecorate(supportBufferStructType, 2, Decoration.Offset, (LiteralInteger)SupportBuffer.FragmentRenderScaleCountOffset); + context.MemberDecorate(supportBufferStructType, 3, Decoration.Offset, (LiteralInteger)SupportBuffer.GraphicsRenderScaleOffset); + context.Decorate(supportBufferStructType, Decoration.Block); + + var supportBufferPointerType = context.TypePointer(StorageClass.Uniform, supportBufferStructType); + var supportBufferVariable = context.Variable(supportBufferPointerType, StorageClass.Uniform); + + context.Decorate(supportBufferVariable, Decoration.DescriptorSet, (LiteralInteger)0); + context.Decorate(supportBufferVariable, Decoration.Binding, (LiteralInteger)0); + + context.AddGlobalVariable(supportBufferVariable); + + context.SupportBuffer = supportBufferVariable; + } + private static void DeclareUniformBuffers(CodeGenContext context, BufferDescriptor[] descriptors) { if (descriptors.Length == 0) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs index 7265fac10..b663fbbf2 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs @@ -739,6 +739,8 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv pCoords = Src(AggregateType.S32); } + pCoords = ScalingHelpers.ApplyScaling(context, texOp, pCoords, intCoords: true, isBindless, isIndexed, isArray, pCount); + (var imageType, var imageVariable) = context.Images[new TextureMeta(texOp.CbufSlot, texOp.Handle, texOp.Format)]; var image = context.Load(imageType, imageVariable); @@ -1487,6 +1489,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv } SpvInstruction pCoords = AssemblePVector(pCount); + pCoords = ScalingHelpers.ApplyScaling(context, texOp, pCoords, intCoords, isBindless, isIndexed, isArray, pCount); SpvInstruction AssembleDerivativesVector(int count) { @@ -1601,7 +1604,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv operandsList.Add(lodBias); } - if (hasLodLevel) + if (!isMultisample && hasLodLevel) { operandsMask |= ImageOperandsMask.Lod; operandsList.Add(lod); @@ -1751,6 +1754,8 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv result = context.CompositeExtract(context.TypeS32(), result, (SpvLiteralInteger)texOp.Index); } + result = ScalingHelpers.ApplyUnscaling(context, texOp, result, isBindless, isIndexed); + return new OperationResult(AggregateType.S32, result); } } diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/ScalingHelpers.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/ScalingHelpers.cs new file mode 100644 index 000000000..1ddd17214 --- /dev/null +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/ScalingHelpers.cs @@ -0,0 +1,216 @@ +using Ryujinx.Graphics.Shader.IntermediateRepresentation; +using Ryujinx.Graphics.Shader.StructuredIr; +using Ryujinx.Graphics.Shader.Translation; +using static Spv.Specification; + +namespace Ryujinx.Graphics.Shader.CodeGen.Spirv +{ + using SpvInstruction = Spv.Generator.Instruction; + + static class ScalingHelpers + { + public static SpvInstruction ApplyScaling( + CodeGenContext context, + AstTextureOperation texOp, + SpvInstruction vector, + bool intCoords, + bool isBindless, + bool isIndexed, + bool isArray, + int pCount) + { + if (intCoords) + { + if ((context.Config.Stage.SupportsRenderScale()) && + !isBindless && + !isIndexed) + { + int index = texOp.Inst == Instruction.ImageLoad + ? context.Config.GetTextureDescriptors().Length + context.Config.FindImageDescriptorIndex(texOp) + : context.Config.FindTextureDescriptorIndex(texOp); + + if (pCount == 3 && isArray) + { + return ApplyScaling2DArray(context, vector, index); + } + else if (pCount == 2 && !isArray) + { + return ApplyScaling2D(context, vector, index); + } + } + } + + return vector; + } + + private static SpvInstruction ApplyScaling2DArray(CodeGenContext context, SpvInstruction vector, int index) + { + // The array index is not scaled, just x and y. + var vectorXY = context.VectorShuffle(context.TypeVector(context.TypeS32(), 2), vector, vector, 0, 1); + var vectorZ = context.CompositeExtract(context.TypeS32(), vector, 2); + var vectorXYScaled = ApplyScaling2D(context, vectorXY, index); + var vectorScaled = context.CompositeConstruct(context.TypeVector(context.TypeS32(), 3), vectorXYScaled, vectorZ); + + return vectorScaled; + } + + private static SpvInstruction ApplyScaling2D(CodeGenContext context, SpvInstruction vector, int index) + { + var pointerType = context.TypePointer(StorageClass.Uniform, context.TypeFP32()); + var fieldIndex = context.Constant(context.TypeU32(), 3); + var scaleIndex = context.Constant(context.TypeU32(), index); + + if (context.Config.Stage == ShaderStage.Vertex) + { + var scaleCountPointerType = context.TypePointer(StorageClass.Uniform, context.TypeS32()); + var scaleCountElemPointer = context.AccessChain(scaleCountPointerType, context.SupportBuffer, context.Constant(context.TypeU32(), 3)); + var scaleCount = context.Load(context.TypeS32(), scaleCountElemPointer); + + scaleIndex = context.IAdd(context.TypeU32(), scaleIndex, scaleCount); + } + + scaleIndex = context.IAdd(context.TypeU32(), scaleIndex, context.Constant(context.TypeU32(), 1)); + + var scaleElemPointer = context.AccessChain(pointerType, context.SupportBuffer, fieldIndex, scaleIndex); + var scale = context.Load(context.TypeFP32(), scaleElemPointer); + + var ivector2Type = context.TypeVector(context.TypeS32(), 2); + var localVector = context.CoordTemp; + + var passthrough = context.FOrdEqual(context.TypeBool(), scale, context.Constant(context.TypeFP32(), 1f)); + + var mergeLabel = context.Label(); + + if (context.Config.Stage == ShaderStage.Fragment) + { + var scaledInterpolatedLabel = context.Label(); + var scaledNoInterpolationLabel = context.Label(); + + var needsInterpolation = context.FOrdLessThan(context.TypeBool(), scale, context.Constant(context.TypeFP32(), 0f)); + + context.SelectionMerge(mergeLabel, SelectionControlMask.MaskNone); + context.BranchConditional(needsInterpolation, scaledInterpolatedLabel, scaledNoInterpolationLabel); + + // scale < 0.0 + context.AddLabel(scaledInterpolatedLabel); + + ApplyScalingInterpolated(context, localVector, vector, scale); + context.Branch(mergeLabel); + + // scale >= 0.0 + context.AddLabel(scaledNoInterpolationLabel); + + ApplyScalingNoInterpolation(context, localVector, vector, scale); + context.Branch(mergeLabel); + + context.AddLabel(mergeLabel); + + var passthroughVector = context.CompositeConstruct(context.TypeVector(context.TypeBool(), 2), passthrough, passthrough); + + return context.Select(ivector2Type, passthroughVector, vector, context.Load(ivector2Type, localVector)); + } + else + { + var passthroughLabel = context.Label(); + var scaledLabel = context.Label(); + + context.SelectionMerge(mergeLabel, SelectionControlMask.MaskNone); + context.BranchConditional(passthrough, passthroughLabel, scaledLabel); + + // scale == 1.0 + context.AddLabel(passthroughLabel); + + context.Store(localVector, vector); + context.Branch(mergeLabel); + + // scale != 1.0 + context.AddLabel(scaledLabel); + + ApplyScalingNoInterpolation(context, localVector, vector, scale); + context.Branch(mergeLabel); + + context.AddLabel(mergeLabel); + + return context.Load(ivector2Type, localVector); + } + } + + private static void ApplyScalingInterpolated(CodeGenContext context, SpvInstruction output, SpvInstruction vector, SpvInstruction scale) + { + var vector2Type = context.TypeVector(context.TypeFP32(), 2); + + var scaleNegated = context.FNegate(context.TypeFP32(), scale); + var scaleVector = context.CompositeConstruct(vector2Type, scaleNegated, scaleNegated); + + var vectorFloat = context.ConvertSToF(vector2Type, vector); + var vectorScaled = context.VectorTimesScalar(vector2Type, vectorFloat, scaleNegated); + + var fragCoordPointer = context.Inputs[AttributeConsts.PositionX]; + var fragCoord = context.Load(context.TypeVector(context.TypeFP32(), 4), fragCoordPointer); + var fragCoordXY = context.VectorShuffle(vector2Type, fragCoord, fragCoord, 0, 1); + + var scaleMod = context.FMod(vector2Type, scaleVector, fragCoordXY); + var vectorInterpolated = context.FAdd(vector2Type, vectorScaled, scaleMod); + + context.Store(output, context.ConvertFToS(context.TypeVector(context.TypeS32(), 2), vectorInterpolated)); + } + + private static void ApplyScalingNoInterpolation(CodeGenContext context, SpvInstruction output, SpvInstruction vector, SpvInstruction scale) + { + if (context.Config.Stage == ShaderStage.Vertex) + { + scale = context.GlslFAbs(context.TypeFP32(), scale); + } + + var vector2Type = context.TypeVector(context.TypeFP32(), 2); + + var vectorFloat = context.ConvertSToF(vector2Type, vector); + var vectorScaled = context.VectorTimesScalar(vector2Type, vectorFloat, scale); + + context.Store(output, context.ConvertFToS(context.TypeVector(context.TypeS32(), 2), vectorScaled)); + } + + public static SpvInstruction ApplyUnscaling( + CodeGenContext context, + AstTextureOperation texOp, + SpvInstruction size, + bool isBindless, + bool isIndexed) + { + if ((context.Config.Stage.SupportsRenderScale()) && + !isBindless && + !isIndexed) + { + int index = context.Config.FindTextureDescriptorIndex(texOp); + + var pointerType = context.TypePointer(StorageClass.Uniform, context.TypeFP32()); + var fieldIndex = context.Constant(context.TypeU32(), 3); + var scaleIndex = context.Constant(context.TypeU32(), index); + + if (context.Config.Stage == ShaderStage.Vertex) + { + var scaleCountPointerType = context.TypePointer(StorageClass.Uniform, context.TypeS32()); + var scaleCountElemPointer = context.AccessChain(scaleCountPointerType, context.SupportBuffer, context.Constant(context.TypeU32(), 3)); + var scaleCount = context.Load(context.TypeS32(), scaleCountElemPointer); + + scaleIndex = context.IAdd(context.TypeU32(), scaleIndex, scaleCount); + } + + scaleIndex = context.IAdd(context.TypeU32(), scaleIndex, context.Constant(context.TypeU32(), 1)); + + var scaleElemPointer = context.AccessChain(pointerType, context.SupportBuffer, fieldIndex, scaleIndex); + var scale = context.Load(context.TypeFP32(), scaleElemPointer); + + var passthrough = context.FOrdEqual(context.TypeBool(), scale, context.Constant(context.TypeFP32(), 1f)); + + var sizeFloat = context.ConvertSToF(context.TypeFP32(), size); + var sizeUnscaled = context.FDiv(context.TypeFP32(), size, scale); + var sizeUnscaledInt = context.ConvertFToS(context.TypeS32(), sizeUnscaled); + + return context.Select(context.TypeS32(), passthrough, size, sizeUnscaledInt); + } + + return size; + } + } +} \ No newline at end of file diff --git a/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgramContext.cs b/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgramContext.cs index 6dc1e85cf..1eac8a909 100644 --- a/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgramContext.cs +++ b/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgramContext.cs @@ -64,6 +64,12 @@ namespace Ryujinx.Graphics.Shader.StructuredIr Info.Inputs.Add(AttributeConsts.ClipDistance0 + i * 4); } } + else if (config.Stage == ShaderStage.Fragment) + { + // Potentially used for texture coordinate scaling. + Info.Inputs.Add(AttributeConsts.PositionX); + Info.Inputs.Add(AttributeConsts.PositionY); + } } public void EnterFunction( diff --git a/Ryujinx.Graphics.Shader/Translation/ShaderConfig.cs b/Ryujinx.Graphics.Shader/Translation/ShaderConfig.cs index 27d72cd53..e6e95240c 100644 --- a/Ryujinx.Graphics.Shader/Translation/ShaderConfig.cs +++ b/Ryujinx.Graphics.Shader/Translation/ShaderConfig.cs @@ -1,4 +1,5 @@ using Ryujinx.Graphics.Shader.IntermediateRepresentation; +using Ryujinx.Graphics.Shader.StructuredIr; using System; using System.Collections.Generic; using System.Linq; @@ -606,5 +607,52 @@ namespace Ryujinx.Graphics.Shader.Translation return descriptors; } + + public (TextureDescriptor, int) FindTextureDescriptor(AstTextureOperation texOp) + { + TextureDescriptor[] descriptors = GetTextureDescriptors(); + + for (int i = 0; i < descriptors.Length; i++) + { + var descriptor = descriptors[i]; + + if (descriptor.CbufSlot == texOp.CbufSlot && + descriptor.HandleIndex == texOp.Handle && + descriptor.Format == texOp.Format) + { + return (descriptor, i); + } + } + + return (default, -1); + } + + private static int FindDescriptorIndex(TextureDescriptor[] array, AstTextureOperation texOp) + { + for (int i = 0; i < array.Length; i++) + { + var descriptor = array[i]; + + if (descriptor.Type == texOp.Type && + descriptor.CbufSlot == texOp.CbufSlot && + descriptor.HandleIndex == texOp.Handle && + descriptor.Format == texOp.Format) + { + return i; + } + } + + return -1; + } + + public int FindTextureDescriptorIndex(AstTextureOperation texOp) + { + return FindDescriptorIndex(GetTextureDescriptors(), texOp); + } + + public int FindImageDescriptorIndex(AstTextureOperation texOp) + { + return FindDescriptorIndex(GetImageDescriptors(), texOp); + } } } \ No newline at end of file From 670431f4fa3d759da35e102002a8910bf0efbb9c Mon Sep 17 00:00:00 2001 From: gdk Date: Fri, 8 Apr 2022 16:35:45 -0300 Subject: [PATCH 105/179] SPIR-V: Fix field index for scale count --- Ryujinx.Graphics.Shader/CodeGen/Spirv/ScalingHelpers.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/ScalingHelpers.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/ScalingHelpers.cs index 1ddd17214..603348679 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/ScalingHelpers.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/ScalingHelpers.cs @@ -190,7 +190,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv if (context.Config.Stage == ShaderStage.Vertex) { var scaleCountPointerType = context.TypePointer(StorageClass.Uniform, context.TypeS32()); - var scaleCountElemPointer = context.AccessChain(scaleCountPointerType, context.SupportBuffer, context.Constant(context.TypeU32(), 3)); + var scaleCountElemPointer = context.AccessChain(scaleCountPointerType, context.SupportBuffer, context.Constant(context.TypeU32(), 2)); var scaleCount = context.Load(context.TypeS32(), scaleCountElemPointer); scaleIndex = context.IAdd(context.TypeU32(), scaleIndex, scaleCount); From 3aa5397bad4d0f23db51d4ca5d94131ce271a548 Mon Sep 17 00:00:00 2001 From: gdk Date: Fri, 8 Apr 2022 18:02:58 -0300 Subject: [PATCH 106/179] SPIR-V: Fix another case of wrong field index --- .../CodeGen/Glsl/Instructions/InstGenMemory.cs | 4 ++-- Ryujinx.Graphics.Shader/CodeGen/Spirv/ScalingHelpers.cs | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Glsl/Instructions/InstGenMemory.cs b/Ryujinx.Graphics.Shader/CodeGen/Glsl/Instructions/InstGenMemory.cs index e7ed5bfd9..608107bc3 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Glsl/Instructions/InstGenMemory.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Glsl/Instructions/InstGenMemory.cs @@ -85,7 +85,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl.Instructions string ApplyScaling(string vector) { - if ((context.Config.Stage.SupportsRenderScale()) && + if (context.Config.Stage.SupportsRenderScale() && texOp.Inst == Instruction.ImageLoad && !isBindless && !isIndexed) @@ -621,7 +621,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl.Instructions { if (intCoords) { - if ((context.Config.Stage.SupportsRenderScale()) && + if (context.Config.Stage.SupportsRenderScale() && !isBindless && !isIndexed) { diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/ScalingHelpers.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/ScalingHelpers.cs index 603348679..f0e7f911c 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/ScalingHelpers.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/ScalingHelpers.cs @@ -21,7 +21,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv { if (intCoords) { - if ((context.Config.Stage.SupportsRenderScale()) && + if (context.Config.Stage.SupportsRenderScale() && !isBindless && !isIndexed) { @@ -63,7 +63,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv if (context.Config.Stage == ShaderStage.Vertex) { var scaleCountPointerType = context.TypePointer(StorageClass.Uniform, context.TypeS32()); - var scaleCountElemPointer = context.AccessChain(scaleCountPointerType, context.SupportBuffer, context.Constant(context.TypeU32(), 3)); + var scaleCountElemPointer = context.AccessChain(scaleCountPointerType, context.SupportBuffer, context.Constant(context.TypeU32(), 2)); var scaleCount = context.Load(context.TypeS32(), scaleCountElemPointer); scaleIndex = context.IAdd(context.TypeU32(), scaleIndex, scaleCount); @@ -177,7 +177,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv bool isBindless, bool isIndexed) { - if ((context.Config.Stage.SupportsRenderScale()) && + if (context.Config.Stage.SupportsRenderScale() && !isBindless && !isIndexed) { From 0a7fbb6bfda2dd0629be16dcaec440b15ba45636 Mon Sep 17 00:00:00 2001 From: gdk Date: Fri, 8 Apr 2022 19:35:56 -0300 Subject: [PATCH 107/179] SPIRV/GLSL: More scaling related fixes --- .../Glsl/Instructions/InstGenMemory.cs | 1 + .../CodeGen/Spirv/Instructions.cs | 17 +++++++++++---- .../CodeGen/Spirv/ScalingHelpers.cs | 21 ++++++++++++++----- 3 files changed, 30 insertions(+), 9 deletions(-) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Glsl/Instructions/InstGenMemory.cs b/Ryujinx.Graphics.Shader/CodeGen/Glsl/Instructions/InstGenMemory.cs index 608107bc3..094040013 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Glsl/Instructions/InstGenMemory.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Glsl/Instructions/InstGenMemory.cs @@ -780,6 +780,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl.Instructions } if (context.Config.Stage.SupportsRenderScale() && + (texOp.Index < 2 || (texOp.Type & SamplerType.Mask) == SamplerType.Texture3D) && !isBindless && !isIndexed) { diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs index b663fbbf2..7c710d869 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs @@ -1733,8 +1733,14 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv var type = context.SamplersTypes[meta]; bool hasLod = !type.HasFlag(SamplerType.Multisample) && type != SamplerType.TextureBuffer; - int components = (type & SamplerType.Mask) == SamplerType.TextureCube ? 2 : type.GetDimensions(); - var resultType = components == 1 ? context.TypeS32() : context.TypeVector(context.TypeS32(), components); + int dimensions = (type & SamplerType.Mask) == SamplerType.TextureCube ? 2 : type.GetDimensions(); + + if (type.HasFlag(SamplerType.Array)) + { + dimensions++; + } + + var resultType = dimensions == 1 ? context.TypeS32() : context.TypeVector(context.TypeS32(), dimensions); SpvInstruction result; @@ -1749,12 +1755,15 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv result = context.ImageQuerySize(resultType, image); } - if (components != 1) + if (dimensions != 1) { result = context.CompositeExtract(context.TypeS32(), result, (SpvLiteralInteger)texOp.Index); } - result = ScalingHelpers.ApplyUnscaling(context, texOp, result, isBindless, isIndexed); + if (texOp.Index < 2 || (type & SamplerType.Mask) == SamplerType.Texture3D) + { + result = ScalingHelpers.ApplyUnscaling(context, texOp, result, isBindless, isIndexed); + } return new OperationResult(AggregateType.S32, result); } diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/ScalingHelpers.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/ScalingHelpers.cs index f0e7f911c..5c9e36413 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/ScalingHelpers.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/ScalingHelpers.cs @@ -105,9 +105,20 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv context.AddLabel(mergeLabel); - var passthroughVector = context.CompositeConstruct(context.TypeVector(context.TypeBool(), 2), passthrough, passthrough); + var passthroughLabel = context.Label(); + var finalMergeLabel = context.Label(); - return context.Select(ivector2Type, passthroughVector, vector, context.Load(ivector2Type, localVector)); + context.SelectionMerge(finalMergeLabel, SelectionControlMask.MaskNone); + context.BranchConditional(passthrough, passthroughLabel, finalMergeLabel); + + context.AddLabel(passthroughLabel); + + context.Store(localVector, vector); + context.Branch(finalMergeLabel); + + context.AddLabel(finalMergeLabel); + + return context.Load(ivector2Type, localVector); } else { @@ -149,7 +160,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv var fragCoord = context.Load(context.TypeVector(context.TypeFP32(), 4), fragCoordPointer); var fragCoordXY = context.VectorShuffle(vector2Type, fragCoord, fragCoord, 0, 1); - var scaleMod = context.FMod(vector2Type, scaleVector, fragCoordXY); + var scaleMod = context.FMod(vector2Type, fragCoordXY, scaleVector); var vectorInterpolated = context.FAdd(vector2Type, vectorScaled, scaleMod); context.Store(output, context.ConvertFToS(context.TypeVector(context.TypeS32(), 2), vectorInterpolated)); @@ -199,12 +210,12 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv scaleIndex = context.IAdd(context.TypeU32(), scaleIndex, context.Constant(context.TypeU32(), 1)); var scaleElemPointer = context.AccessChain(pointerType, context.SupportBuffer, fieldIndex, scaleIndex); - var scale = context.Load(context.TypeFP32(), scaleElemPointer); + var scale = context.GlslFAbs(context.TypeFP32(), context.Load(context.TypeFP32(), scaleElemPointer)); var passthrough = context.FOrdEqual(context.TypeBool(), scale, context.Constant(context.TypeFP32(), 1f)); var sizeFloat = context.ConvertSToF(context.TypeFP32(), size); - var sizeUnscaled = context.FDiv(context.TypeFP32(), size, scale); + var sizeUnscaled = context.FDiv(context.TypeFP32(), sizeFloat, scale); var sizeUnscaledInt = context.ConvertFToS(context.TypeS32(), sizeUnscaled); return context.Select(context.TypeS32(), passthrough, size, sizeUnscaledInt); From ad081de56b69dac4c6dc54a572eb6e78c9b0d731 Mon Sep 17 00:00:00 2001 From: gdk Date: Fri, 8 Apr 2022 21:18:28 -0300 Subject: [PATCH 108/179] SPIR-V: Fix ImageLoad CompositeExtract component type --- Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs index 7c710d869..e219c3ed1 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs @@ -744,9 +744,10 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv (var imageType, var imageVariable) = context.Images[new TextureMeta(texOp.CbufSlot, texOp.Handle, texOp.Format)]; var image = context.Load(imageType, imageVariable); + var imageComponentType = context.GetType(componentType.Convert()); - var texel = context.ImageRead(context.TypeVector(context.GetType(componentType.Convert()), 4), image, pCoords, ImageOperandsMask.MaskNone); - var result = context.CompositeExtract(context.TypeFP32(), texel, (SpvLiteralInteger)texOp.Index); + var texel = context.ImageRead(context.TypeVector(imageComponentType, 4), image, pCoords, ImageOperandsMask.MaskNone); + var result = context.CompositeExtract(imageComponentType, texel, (SpvLiteralInteger)texOp.Index); return new OperationResult(componentType.Convert(), result); } From f16b47114c9690d452318db147cc3b6481a5def2 Mon Sep 17 00:00:00 2001 From: gdk Date: Fri, 8 Apr 2022 22:24:06 -0300 Subject: [PATCH 109/179] SPIR-V: Workaround for Intel FrontFacing bug --- .../CodeGen/Spirv/CodeGenContext.cs | 26 ++++++++++++++----- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs index 4a9bc2a45..f52c90d04 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs @@ -326,16 +326,28 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv var elemPointer = GetAttributeElemPointer(attr, isOutAttr, index, out var elemType); var value = Load(GetType(elemType), elemPointer); - if (Config.Stage == ShaderStage.Fragment && (attr == AttributeConsts.PositionX || attr == AttributeConsts.PositionY)) + if (Config.Stage == ShaderStage.Fragment) { - var pointerType = TypePointer(StorageClass.Uniform, TypeFP32()); - var fieldIndex = Constant(TypeU32(), 3); - var scaleIndex = Constant(TypeU32(), 0); + if (attr == AttributeConsts.PositionX || attr == AttributeConsts.PositionY) + { + var pointerType = TypePointer(StorageClass.Uniform, TypeFP32()); + var fieldIndex = Constant(TypeU32(), 3); + var scaleIndex = Constant(TypeU32(), 0); - var scaleElemPointer = AccessChain(pointerType, SupportBuffer, fieldIndex, scaleIndex); - var scale = Load(TypeFP32(), scaleElemPointer); + var scaleElemPointer = AccessChain(pointerType, SupportBuffer, fieldIndex, scaleIndex); + var scale = Load(TypeFP32(), scaleElemPointer); - value = FDiv(TypeFP32(), value, scale); + value = FDiv(TypeFP32(), value, scale); + } + else if (attr == AttributeConsts.FrontFacing && Config.GpuAccessor.QueryHostHasFrontFacingBug()) + { + // Workaround for what appears to be a bug on Intel compiler. + var valueFloat = Select(TypeFP32(), value, Constant(TypeFP32(), 1f), Constant(TypeFP32(), 0f)); + var valueAsInt = Bitcast(TypeS32(), valueFloat); + var valueNegated = SNegate(TypeS32(), valueAsInt); + + value = SLessThan(TypeBool(), valueNegated, Constant(TypeS32(), 0)); + } } return BitcastIfNeeded(type, elemType, value); From 3bac0b872cf3de86c32b43929a324fa82d450681 Mon Sep 17 00:00:00 2001 From: gdk Date: Fri, 8 Apr 2022 22:55:25 -0300 Subject: [PATCH 110/179] Enable SPIR-V backend by default --- Ryujinx.Graphics.Gpu/GraphicsConfig.cs | 2 +- Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Ryujinx.Graphics.Gpu/GraphicsConfig.cs b/Ryujinx.Graphics.Gpu/GraphicsConfig.cs index 70df1ca72..811f41323 100644 --- a/Ryujinx.Graphics.Gpu/GraphicsConfig.cs +++ b/Ryujinx.Graphics.Gpu/GraphicsConfig.cs @@ -60,6 +60,6 @@ namespace Ryujinx.Graphics.Gpu /// /// Enables or disables shader SPIR-V compilation. /// - public static bool EnableSpirvCompilation; + public static bool EnableSpirvCompilationOnVulkan = true; } } \ No newline at end of file diff --git a/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs b/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs index 28d10b03e..6d86e8f70 100644 --- a/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs +++ b/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs @@ -688,7 +688,9 @@ namespace Ryujinx.Graphics.Gpu.Shader private static TranslationOptions CreateTranslationOptions(TargetApi api, TranslationFlags flags) { - TargetLanguage lang = GraphicsConfig.EnableSpirvCompilation ? TargetLanguage.Spirv : TargetLanguage.Glsl; + TargetLanguage lang = GraphicsConfig.EnableSpirvCompilationOnVulkan && api == TargetApi.Vulkan + ? TargetLanguage.Spirv + : TargetLanguage.Glsl; return new TranslationOptions(lang, api, flags); } From 03955d6b04f9812a5cff5b7519c3a0def230c1bd Mon Sep 17 00:00:00 2001 From: gdk Date: Sat, 9 Apr 2022 11:55:24 -0300 Subject: [PATCH 111/179] Allow null samplers (samplers are not required when only using texelFetch to access the texture) --- Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs b/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs index 6b72dbb60..aecc3bde3 100644 --- a/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs +++ b/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs @@ -188,11 +188,6 @@ namespace Ryujinx.Graphics.Vulkan } else { - if (sampler == null) - { - return; - } - if (_textures.Length <= binding) { Array.Resize(ref _textures, binding + 1); @@ -201,7 +196,7 @@ namespace Ryujinx.Graphics.Vulkan } _textureRefs[binding] = ((TextureView)texture).GetImageView(); - _samplerRefs[binding] = ((SamplerHolder)sampler).GetSampler(); + _samplerRefs[binding] = ((SamplerHolder)sampler)?.GetSampler(); _textures[binding] = new DescriptorImageInfo() { @@ -386,9 +381,13 @@ namespace Ryujinx.Graphics.Vulkan texture.Sampler = _samplerRefs[binding + i]?.Get(cbs).Value ?? default; texture.ImageLayout = ImageLayout.General; - if (texture.ImageView.Handle == 0 || texture.Sampler.Handle == 0) + if (texture.ImageView.Handle == 0) { texture.ImageView = _dummyTexture.GetImageView().Get(cbs).Value; + } + + if (texture.Sampler.Handle == 0) + { texture.Sampler = _dummySampler.GetSampler().Get(cbs).Value; } } From 3767cf4ce599005dcb9307065c91c4dbc0491c96 Mon Sep 17 00:00:00 2001 From: gdk Date: Sat, 9 Apr 2022 12:03:59 -0300 Subject: [PATCH 112/179] Fix some validation errors related to texel block view usage flag and invalid image barrier base level --- Ryujinx.Graphics.Vulkan/TextureCopy.cs | 11 +++++++---- Ryujinx.Graphics.Vulkan/TextureStorage.cs | 5 ----- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/TextureCopy.cs b/Ryujinx.Graphics.Vulkan/TextureCopy.cs index edcdecaea..05e110936 100644 --- a/Ryujinx.Graphics.Vulkan/TextureCopy.cs +++ b/Ryujinx.Graphics.Vulkan/TextureCopy.cs @@ -69,10 +69,13 @@ namespace Ryujinx.Graphics.Vulkan layers, levels); + uint copySrcLevel = (uint)srcLevel; + uint copyDstLevel = (uint)dstLevel; + for (int level = 0; level < levels; level++) { - var srcSl = new ImageSubresourceLayers(srcAspectFlags, (uint)srcLevel, (uint)srcLayer, (uint)layers); - var dstSl = new ImageSubresourceLayers(dstAspectFlags, (uint)dstLevel, (uint)dstLayer, (uint)layers); + var srcSl = new ImageSubresourceLayers(srcAspectFlags, copySrcLevel, (uint)srcLayer, (uint)layers); + var dstSl = new ImageSubresourceLayers(dstAspectFlags, copyDstLevel, (uint)dstLayer, (uint)layers); (srcOffsets.Element0, srcOffsets.Element1) = ExtentsToOffset3D(srcRegion, srcInfo.Width, srcInfo.Height, level); (dstOffsets.Element0, dstOffsets.Element1) = ExtentsToOffset3D(dstRegion, dstInfo.Width, dstInfo.Height, level); @@ -87,8 +90,8 @@ namespace Ryujinx.Graphics.Vulkan api.CmdBlitImage(commandBuffer, srcImage, ImageLayout.General, dstImage, ImageLayout.General, 1, region, filter); - srcLevel++; - dstLevel++; + copySrcLevel++; + copyDstLevel++; if (srcInfo.Target == Target.Texture3D || dstInfo.Target == Target.Texture3D) { diff --git a/Ryujinx.Graphics.Vulkan/TextureStorage.cs b/Ryujinx.Graphics.Vulkan/TextureStorage.cs index d1a8b444e..21e16abed 100644 --- a/Ryujinx.Graphics.Vulkan/TextureStorage.cs +++ b/Ryujinx.Graphics.Vulkan/TextureStorage.cs @@ -90,11 +90,6 @@ namespace Ryujinx.Graphics.Vulkan var flags = ImageCreateFlags.ImageCreateMutableFormatBit; - if (info.BlockWidth != 1 || info.BlockHeight != 1) - { - flags |= ImageCreateFlags.ImageCreateBlockTexelViewCompatibleBit; - } - bool cubeCompatible = info.Width == info.Height && layers >= 6; if (type == ImageType.ImageType2D && cubeCompatible) From 746eded2cfb97fabfc5477a9dbe8615747ea986e Mon Sep 17 00:00:00 2001 From: gdk Date: Sat, 9 Apr 2022 13:47:40 -0300 Subject: [PATCH 113/179] Use explicit subgroup size if we can (might fix some block flickering on AMD) --- Ryujinx.Graphics.Vulkan/PipelineBase.cs | 2 +- Ryujinx.Graphics.Vulkan/PipelineState.cs | 42 ++++++++++- Ryujinx.Graphics.Vulkan/ShaderCollection.cs | 4 +- .../VulkanGraphicsDevice.cs | 2 + .../VulkanInitialization.cs | 74 +++++++++++++++---- 5 files changed, 102 insertions(+), 22 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/PipelineBase.cs b/Ryujinx.Graphics.Vulkan/PipelineBase.cs index c08db6a68..a3b2611cd 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineBase.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineBase.cs @@ -1102,7 +1102,7 @@ namespace Ryujinx.Graphics.Vulkan } var pipeline = pbp == PipelineBindPoint.Compute - ? _newState.CreateComputePipeline(Gd.Api, Device, _program, PipelineCache) + ? _newState.CreateComputePipeline(Gd, Device, _program, PipelineCache) : _newState.CreateGraphicsPipeline(Gd, Device, _program, PipelineCache, _renderPass.Get(Cbs).Value); ulong pipelineHandle = pipeline.GetUnsafe().Value.Handle; diff --git a/Ryujinx.Graphics.Vulkan/PipelineState.cs b/Ryujinx.Graphics.Vulkan/PipelineState.cs index 1e8cc2ae5..ab00052b6 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineState.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineState.cs @@ -296,20 +296,40 @@ namespace Ryujinx.Graphics.Vulkan } public NativeArray Stages; + public NativeArray StageRequiredSubgroupSizes; public PipelineLayout PipelineLayout; - public void Initialize() + public unsafe void Initialize() { Stages = new NativeArray(Constants.MaxShaderStages); + StageRequiredSubgroupSizes = new NativeArray(Constants.MaxShaderStages); + + for (int index = 0; index < Constants.MaxShaderStages; index++) + { + StageRequiredSubgroupSizes[index] = new PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT() + { + SType = StructureType.PipelineShaderStageRequiredSubgroupSizeCreateInfoExt, + RequiredSubgroupSize = 32 + }; + } } - public unsafe Auto CreateComputePipeline(Vk api, Device device, ShaderCollection program, PipelineCache cache) + public unsafe Auto CreateComputePipeline( + VulkanGraphicsDevice gd, + Device device, + ShaderCollection program, + PipelineCache cache) { if (program.TryGetComputePipeline(out var pipeline)) { return pipeline; } + if (gd.SupportsSubgroupSizeControl) + { + UpdateStageRequiredSubgroupSizes(1); + } + var pipelineCreateInfo = new ComputePipelineCreateInfo() { SType = StructureType.ComputePipelineCreateInfo, @@ -320,9 +340,9 @@ namespace Ryujinx.Graphics.Vulkan Pipeline pipelineHandle = default; - api.CreateComputePipelines(device, cache, 1, &pipelineCreateInfo, null, &pipelineHandle).ThrowOnError(); + gd.Api.CreateComputePipelines(device, cache, 1, &pipelineCreateInfo, null, &pipelineHandle).ThrowOnError(); - pipeline = new Auto(new DisposablePipeline(api, device, pipelineHandle)); + pipeline = new Auto(new DisposablePipeline(gd.Api, device, pipelineHandle)); program.AddComputePipeline(pipeline); @@ -494,6 +514,11 @@ namespace Ryujinx.Graphics.Vulkan pDynamicState = &pipelineDynamicStateCreateInfo; } + if (gd.SupportsSubgroupSizeControl) + { + UpdateStageRequiredSubgroupSizes((int)StagesCount); + } + var pipelineCreateInfo = new GraphicsPipelineCreateInfo() { SType = StructureType.GraphicsPipelineCreateInfo, @@ -523,9 +548,18 @@ namespace Ryujinx.Graphics.Vulkan return pipeline; } + private unsafe void UpdateStageRequiredSubgroupSizes(int count) + { + for (int index = 0; index < count; index++) + { + Stages[index].PNext = StageRequiredSubgroupSizes.Pointer + index; + } + } + public void Dispose() { Stages.Dispose(); + StageRequiredSubgroupSizes.Dispose(); } } } diff --git a/Ryujinx.Graphics.Vulkan/ShaderCollection.cs b/Ryujinx.Graphics.Vulkan/ShaderCollection.cs index 74894d615..5fcb91ea2 100644 --- a/Ryujinx.Graphics.Vulkan/ShaderCollection.cs +++ b/Ryujinx.Graphics.Vulkan/ShaderCollection.cs @@ -216,7 +216,8 @@ namespace Ryujinx.Graphics.Vulkan pipeline.Stages[0] = ((Shader)_shaders[0]).GetInfo(); pipeline.StagesCount = 1; - pipeline.CreateComputePipeline(_gd.Api, _device, this, (_gd.Pipeline as PipelineBase).PipelineCache); + pipeline.CreateComputePipeline(_gd, _device, this, (_gd.Pipeline as PipelineBase).PipelineCache); + pipeline.Dispose(); } public void CreateBackgroundGraphicsPipeline() @@ -244,6 +245,7 @@ namespace Ryujinx.Graphics.Vulkan pipeline.PipelineLayout = PipelineLayout; pipeline.CreateGraphicsPipeline(_gd, _device, this, (_gd.Pipeline as PipelineBase).PipelineCache, renderPass.Value); + pipeline.Dispose(); } public ProgramLinkStatus CheckProgramLink(bool blocking) diff --git a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs index c13205cbb..c0bfd654d 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs @@ -38,6 +38,7 @@ namespace Ryujinx.Graphics.Vulkan internal bool SupportsCustomBorderColor { get; private set; } internal bool SupportsIndirectParameters { get; private set; } internal bool SupportsFragmentShaderInterlock { get; private set; } + internal bool SupportsSubgroupSizeControl { get; private set; } internal uint QueueFamilyIndex { get; private set; } @@ -126,6 +127,7 @@ namespace Ryujinx.Graphics.Vulkan SupportsCustomBorderColor = supportedExtensions.Contains("VK_EXT_custom_border_color"); SupportsIndirectParameters = supportedExtensions.Contains(KhrDrawIndirectCount.ExtensionName); SupportsFragmentShaderInterlock = supportedExtensions.Contains("VK_EXT_fragment_shader_interlock"); + SupportsSubgroupSizeControl = supportedExtensions.Contains("VK_EXT_subgroup_size_control"); if (api.TryGetDeviceExtension(_instance, _device, out KhrSwapchain swapchainApi)) { diff --git a/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs b/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs index 8d116eb2b..f72b46c14 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs @@ -33,6 +33,7 @@ namespace Ryujinx.Graphics.Vulkan "VK_EXT_index_type_uint8", "VK_EXT_robustness2", "VK_EXT_shader_subgroup_ballot", + "VK_EXT_subgroup_size_control", "VK_NV_geometry_shader_passthrough" }; @@ -351,53 +352,94 @@ namespace Ryujinx.Graphics.Vulkan VertexPipelineStoresAndAtomics = true }; - var featuresIndexU8 = new PhysicalDeviceIndexTypeUint8FeaturesEXT() - { - SType = StructureType.PhysicalDeviceIndexTypeUint8FeaturesExt, - IndexTypeUint8 = true - }; + void* pExtendedFeatures = null; var featuresTransformFeedback = new PhysicalDeviceTransformFeedbackFeaturesEXT() { SType = StructureType.PhysicalDeviceTransformFeedbackFeaturesExt, - PNext = supportedExtensions.Contains("VK_EXT_index_type_uint8") ? &featuresIndexU8 : null, + PNext = pExtendedFeatures, TransformFeedback = true }; + pExtendedFeatures = &featuresTransformFeedback; + var featuresRobustness2 = new PhysicalDeviceRobustness2FeaturesEXT() { SType = StructureType.PhysicalDeviceRobustness2FeaturesExt, - PNext = &featuresTransformFeedback, + PNext = pExtendedFeatures, NullDescriptor = true }; + pExtendedFeatures = &featuresRobustness2; + var featuresExtendedDynamicState = new PhysicalDeviceExtendedDynamicStateFeaturesEXT() { SType = StructureType.PhysicalDeviceExtendedDynamicStateFeaturesExt, - PNext = &featuresRobustness2, + PNext = pExtendedFeatures, ExtendedDynamicState = supportedExtensions.Contains(ExtExtendedDynamicState.ExtensionName) }; + pExtendedFeatures = &featuresExtendedDynamicState; + var featuresVk11 = new PhysicalDeviceVulkan11Features() { SType = StructureType.PhysicalDeviceVulkan11Features, - PNext = &featuresExtendedDynamicState, + PNext = pExtendedFeatures, ShaderDrawParameters = true }; + pExtendedFeatures = &featuresVk11; + var featuresVk12 = new PhysicalDeviceVulkan12Features() { SType = StructureType.PhysicalDeviceVulkan12Features, - PNext = &featuresVk11, + PNext = pExtendedFeatures, DrawIndirectCount = supportedExtensions.Contains(KhrDrawIndirectCount.ExtensionName) }; - var featuresFragmentShaderInterlock = new PhysicalDeviceFragmentShaderInterlockFeaturesEXT() + pExtendedFeatures = &featuresVk12; + + PhysicalDeviceIndexTypeUint8FeaturesEXT featuresIndexU8; + + if (supportedExtensions.Contains("VK_EXT_index_type_uint8")) { - SType = StructureType.PhysicalDeviceFragmentShaderInterlockFeaturesExt, - PNext = &featuresVk12, - FragmentShaderPixelInterlock = true - }; + featuresIndexU8 = new PhysicalDeviceIndexTypeUint8FeaturesEXT() + { + SType = StructureType.PhysicalDeviceIndexTypeUint8FeaturesExt, + PNext = pExtendedFeatures, + IndexTypeUint8 = true + }; + + pExtendedFeatures = &featuresIndexU8; + } + + PhysicalDeviceFragmentShaderInterlockFeaturesEXT featuresFragmentShaderInterlock; + + if (supportedExtensions.Contains("VK_EXT_fragment_shader_interlock")) + { + featuresFragmentShaderInterlock = new PhysicalDeviceFragmentShaderInterlockFeaturesEXT() + { + SType = StructureType.PhysicalDeviceFragmentShaderInterlockFeaturesExt, + PNext = pExtendedFeatures, + FragmentShaderPixelInterlock = true + }; + + pExtendedFeatures = &featuresFragmentShaderInterlock; + } + + PhysicalDeviceSubgroupSizeControlFeaturesEXT featuresSubgroupSizeControl; + + if (supportedExtensions.Contains("VK_EXT_subgroup_size_control")) + { + featuresSubgroupSizeControl = new PhysicalDeviceSubgroupSizeControlFeaturesEXT() + { + SType = StructureType.PhysicalDeviceSubgroupSizeControlFeaturesExt, + PNext = pExtendedFeatures, + SubgroupSizeControl = true + }; + + pExtendedFeatures = &featuresSubgroupSizeControl; + } var enabledExtensions = _requiredExtensions.Union(_desirableExtensions.Intersect(supportedExtensions)).ToArray(); @@ -411,7 +453,7 @@ namespace Ryujinx.Graphics.Vulkan var deviceCreateInfo = new DeviceCreateInfo() { SType = StructureType.DeviceCreateInfo, - PNext = supportedExtensions.Contains("VK_EXT_fragment_shader_interlock") ? &featuresFragmentShaderInterlock : &featuresVk12, + PNext = pExtendedFeatures, QueueCreateInfoCount = 1, PQueueCreateInfos = &queueCreateInfo, PpEnabledExtensionNames = (byte**)ppEnabledExtensions, From 80d72504d4418e38990ee7034ad0db62d04cd169 Mon Sep 17 00:00:00 2001 From: gdk Date: Sat, 9 Apr 2022 19:05:55 -0300 Subject: [PATCH 114/179] Take componentMask and scissor into account when clearing framebuffer attachments --- .../Engine/Threed/StateUpdater.cs | 2 +- Ryujinx.Graphics.Vulkan/FramebufferParams.cs | 19 ++- Ryujinx.Graphics.Vulkan/HelperShader.cs | 126 ++++++++++++++++-- Ryujinx.Graphics.Vulkan/PipelineBase.cs | 16 ++- Ryujinx.Graphics.Vulkan/PipelineFull.cs | 39 ++++++ ...ipelineBlit.cs => PipelineHelperShader.cs} | 4 +- Ryujinx.Graphics.Vulkan/PipelineState.cs | 2 +- 7 files changed, 183 insertions(+), 25 deletions(-) rename Ryujinx.Graphics.Vulkan/{PipelineBlit.cs => PipelineHelperShader.cs} (96%) diff --git a/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs b/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs index 2560f57c1..c8deb84cc 100644 --- a/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs +++ b/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs @@ -17,7 +17,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed { public const int ShaderStateIndex = 16; public const int RasterizerStateIndex = 15; - public const int ScissorStateIndex = 17; + public const int ScissorStateIndex = 18; public const int VertexBufferStateIndex = 0; public const int PrimitiveRestartStateIndex = 12; diff --git a/Ryujinx.Graphics.Vulkan/FramebufferParams.cs b/Ryujinx.Graphics.Vulkan/FramebufferParams.cs index 59e161a9c..5d9418491 100644 --- a/Ryujinx.Graphics.Vulkan/FramebufferParams.cs +++ b/Ryujinx.Graphics.Vulkan/FramebufferParams.cs @@ -121,14 +121,29 @@ namespace Ryujinx.Graphics.Vulkan AttachmentsCount = count; } + public Auto GetAttachment(int index) + { + if ((uint)index >= _attachments.Length) + { + return null; + } + + return _attachments[index]; + } + private static bool IsValidTextureView(ITexture texture) { return texture is TextureView view && view.Valid; } - public ClearRect GetClearRect() + public ClearRect GetClearRect(Rectangle scissor) { - return new ClearRect(new Rect2D(null, new Extent2D(Width, Height)), 0, Layers); + int x = scissor.X; + int y = scissor.Y; + int width = Math.Min((int)Width - scissor.X, scissor.Width); + int height = Math.Min((int)Height - scissor.Y, scissor.Height); + + return new ClearRect(new Rect2D(new Offset2D(x, y), new Extent2D((uint)width, (uint)height)), 0, Layers); } public unsafe Auto Create(Vk api, CommandBufferScoped cbs, Auto renderPass) diff --git a/Ryujinx.Graphics.Vulkan/HelperShader.cs b/Ryujinx.Graphics.Vulkan/HelperShader.cs index f7f0e77ba..1df69d34c 100644 --- a/Ryujinx.Graphics.Vulkan/HelperShader.cs +++ b/Ryujinx.Graphics.Vulkan/HelperShader.cs @@ -8,7 +8,7 @@ namespace Ryujinx.Graphics.Vulkan { class HelperShader : IDisposable { - private const string VertexShaderSource = @"#version 450 core + private const string ColorBlitVertexShaderSource = @"#version 450 core layout (std140, binding = 1) uniform tex_coord_in { @@ -41,7 +41,7 @@ void main() colour = texture(tex, tex_coord); }"; - private const string ClearAlphaFragmentShaderSource = @"#version 450 core + private const string ColorBlitClearAlphaFragmentShaderSource = @"#version 450 core layout (binding = 32, set = 2) uniform sampler2D tex; @@ -53,15 +53,47 @@ void main() colour = vec4(texture(tex, tex_coord).rgb, 1.0f); }"; - private readonly PipelineBlit _pipeline; + private const string ColorClearVertexShaderSource = @"#version 450 core + +layout (std140, binding = 1) uniform clear_colour_in +{ + vec4 clear_colour_in_data; +}; + +layout (location = 0) out vec4 clear_colour; + +void main() +{ + int low = gl_VertexIndex & 1; + int high = gl_VertexIndex >> 1; + clear_colour = clear_colour_in_data; + gl_Position.x = (float(low) - 0.5f) * 2.0f; + gl_Position.y = (float(high) - 0.5f) * 2.0f; + gl_Position.z = 0.0f; + gl_Position.w = 1.0f; +}"; + + private const string ColorClearFragmentShaderSource = @"#version 450 core + +layout (location = 0) in vec4 clear_colour; +layout (location = 0) out vec4 colour; + +void main() +{ + colour = clear_colour; +}"; + + + private readonly PipelineHelperShader _pipeline; private readonly ISampler _samplerLinear; private readonly ISampler _samplerNearest; private readonly IProgram _programColorBlit; - private readonly IProgram _programClearAlpha; + private readonly IProgram _programColorBlitClearAlpha; + private readonly IProgram _programColorClear; public HelperShader(VulkanGraphicsDevice gd, Device device) { - _pipeline = new PipelineBlit(gd, device); + _pipeline = new PipelineHelperShader(gd, device); static GAL.SamplerCreateInfo GetSamplerCreateInfo(MinFilter minFilter, MagFilter magFilter) { @@ -100,12 +132,25 @@ void main() Array.Empty(), Array.Empty()); - var vertexShader = gd.CompileShader(ShaderStage.Vertex, vertexBindings, VertexShaderSource); - var fragmentShaderColorBlit = gd.CompileShader(ShaderStage.Fragment, fragmentBindings, ColorBlitFragmentShaderSource); - var fragmentShaderClearAlpha = gd.CompileShader(ShaderStage.Fragment, fragmentBindings, ClearAlphaFragmentShaderSource); + var colorBlitVertexShader = gd.CompileShader(ShaderStage.Vertex, vertexBindings, ColorBlitVertexShaderSource); + var colorBlitFragmentShader = gd.CompileShader(ShaderStage.Fragment, fragmentBindings, ColorBlitFragmentShaderSource); + var colorBlitClearAlphaFragmentShader = gd.CompileShader(ShaderStage.Fragment, fragmentBindings, ColorBlitClearAlphaFragmentShaderSource); - _programColorBlit = gd.CreateProgram(new[] { vertexShader, fragmentShaderColorBlit }, new ShaderInfo(-1)); - _programClearAlpha = gd.CreateProgram(new[] { vertexShader, fragmentShaderClearAlpha }, new ShaderInfo(-1)); + _programColorBlit = gd.CreateProgram(new[] { colorBlitVertexShader, colorBlitFragmentShader }, new ShaderInfo(-1)); + _programColorBlitClearAlpha = gd.CreateProgram(new[] { colorBlitVertexShader, colorBlitClearAlphaFragmentShader }, new ShaderInfo(-1)); + + var fragmentBindings2 = new ShaderBindings( + Array.Empty(), + Array.Empty(), + Array.Empty(), + Array.Empty(), + Array.Empty(), + Array.Empty()); + + var colorClearVertexShader = gd.CompileShader(ShaderStage.Vertex, vertexBindings, ColorClearVertexShaderSource); + var colorClearFragmentShader = gd.CompileShader(ShaderStage.Fragment, fragmentBindings2, ColorClearFragmentShaderSource); + + _programColorClear = gd.CreateProgram(new[] { colorClearVertexShader, colorClearFragmentShader }, new ShaderInfo(-1)); } public void Blit( @@ -200,15 +245,70 @@ void main() scissors[0] = new Rectangle(0, 0, dstWidth, dstHeight); - _pipeline.SetProgram(clearAlpha ? _programClearAlpha : _programColorBlit); + _pipeline.SetProgram(clearAlpha ? _programColorBlitClearAlpha : _programColorBlit); _pipeline.SetRenderTarget(dst, (uint)dstWidth, (uint)dstHeight, false, dstFormat); _pipeline.SetRenderTargetColorMasks(new uint[] { 0xf }); + _pipeline.SetScissors(scissors); if (clearAlpha) { - _pipeline.ClearRenderTargetColor(0, 0xf, new ColorF(0f, 0f, 0f, 1f)); + _pipeline.ClearRenderTargetColor(0, new ColorF(0f, 0f, 0f, 1f)); } + _pipeline.SetViewports(0, viewports); + _pipeline.SetPrimitiveTopology(GAL.PrimitiveTopology.TriangleStrip); + _pipeline.Draw(4, 1, 0, 0); + _pipeline.Finish(); + + gd.BufferManager.Delete(bufferHandle); + } + + public void Clear( + VulkanGraphicsDevice gd, + Auto dst, + ReadOnlySpan clearColor, + uint componentMask, + int dstWidth, + int dstHeight, + VkFormat dstFormat, + Rectangle scissor) + { + gd.FlushAllCommands(); + + using var cbs = gd.CommandBufferPool.Rent(); + + _pipeline.SetCommandBuffer(cbs); + + const int ClearColorBufferSize = 16; + + var bufferHandle = gd.BufferManager.CreateWithHandle(gd, ClearColorBufferSize, false); + + gd.BufferManager.SetData(bufferHandle, 0, clearColor); + + Span bufferRanges = stackalloc BufferRange[1]; + + bufferRanges[0] = new BufferRange(bufferHandle, 0, ClearColorBufferSize); + + _pipeline.SetUniformBuffers(1, bufferRanges); + + Span viewports = stackalloc GAL.Viewport[1]; + + viewports[0] = new GAL.Viewport( + new Rectangle(0, 0, dstWidth, dstHeight), + ViewportSwizzle.PositiveX, + ViewportSwizzle.PositiveY, + ViewportSwizzle.PositiveZ, + ViewportSwizzle.PositiveW, + 0f, + 1f); + + Span> scissors = stackalloc Rectangle[1]; + + scissors[0] = scissor; + + _pipeline.SetProgram(_programColorClear); + _pipeline.SetRenderTarget(dst, (uint)dstWidth, (uint)dstHeight, false, dstFormat); + _pipeline.SetRenderTargetColorMasks(new uint[] { componentMask }); _pipeline.SetViewports(0, viewports); _pipeline.SetScissors(scissors); _pipeline.SetPrimitiveTopology(GAL.PrimitiveTopology.TriangleStrip); @@ -335,7 +435,7 @@ void main() { if (disposing) { - _programClearAlpha.Dispose(); + _programColorBlitClearAlpha.Dispose(); _programColorBlit.Dispose(); _samplerNearest.Dispose(); _samplerLinear.Dispose(); diff --git a/Ryujinx.Graphics.Vulkan/PipelineBase.cs b/Ryujinx.Graphics.Vulkan/PipelineBase.cs index a3b2611cd..f2d1644b0 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineBase.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineBase.cs @@ -52,6 +52,7 @@ namespace Ryujinx.Graphics.Vulkan private BufferState _indexBuffer; private readonly BufferState[] _transformFeedbackBuffers; private readonly BufferState[] _vertexBuffers; + protected Rectangle ClearScissor; public SupportBufferUpdater SupportBufferUpdater; @@ -88,6 +89,8 @@ namespace Ryujinx.Graphics.Vulkan _vertexBuffers[0] = new BufferState(emptyVb.GetBuffer(), 0, EmptyVbSize, 0UL); _needsVertexBuffersRebind = true; + ClearScissor = new Rectangle(0, 0, 0xffff, 0xffff); + var defaultScale = new Vector4 { X = 1f, Y = 0f, Z = 0f, W = 0f }; new Span>(_renderScale).Fill(defaultScale); @@ -140,10 +143,8 @@ namespace Ryujinx.Graphics.Vulkan Gd.Api.CmdFillBuffer(CommandBuffer, dst, (ulong)offset, (ulong)size, value); } - public unsafe void ClearRenderTargetColor(int index, uint componentMask, ColorF color) + public unsafe void ClearRenderTargetColor(int index, ColorF color) { - // TODO: Use componentMask - if (_framebuffer == null) { return; @@ -158,7 +159,7 @@ namespace Ryujinx.Graphics.Vulkan var clearValue = new ClearValue(new ClearColorValue(color.Red, color.Green, color.Blue, color.Alpha)); var attachment = new ClearAttachment(ImageAspectFlags.ImageAspectColorBit, (uint)index, clearValue); - var clearRect = FramebufferParams?.GetClearRect() ?? default; + var clearRect = FramebufferParams?.GetClearRect(ClearScissor) ?? default; Gd.Api.CmdClearAttachments(CommandBuffer, 1, &attachment, 1, &clearRect); } @@ -188,7 +189,7 @@ namespace Ryujinx.Graphics.Vulkan } var attachment = new ClearAttachment(flags, 0, clearValue); - var clearRect = FramebufferParams?.GetClearRect() ?? default; + var clearRect = FramebufferParams?.GetClearRect(ClearScissor) ?? default; Gd.Api.CmdClearAttachments(CommandBuffer, 1, &attachment, 1, &clearRect); } @@ -618,6 +619,10 @@ namespace Ryujinx.Graphics.Vulkan public void SetScissors(ReadOnlySpan> regions) { int count = Math.Min(Constants.MaxViewports, regions.Length); + if (count > 0) + { + ClearScissor = regions[0]; + } for (int i = 0; i < count; i++) { @@ -1047,7 +1052,6 @@ namespace Ryujinx.Graphics.Vulkan private void RecreatePipelineIfNeeded(PipelineBindPoint pbp) { - // Take the opportunity to process any pending work requested by other threads. _dynamicState.ReplayIfDirty(Gd.Api, CommandBuffer); // Commit changes to the support buffer before drawing. diff --git a/Ryujinx.Graphics.Vulkan/PipelineFull.cs b/Ryujinx.Graphics.Vulkan/PipelineFull.cs index e398a1fd2..3bd467bec 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineFull.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineFull.cs @@ -183,6 +183,45 @@ namespace Ryujinx.Graphics.Vulkan return layouts; } + public void ClearRenderTargetColor(int index, uint componentMask, ColorF color) + { + if (FramebufferParams == null) + { + return; + } + + if (componentMask != 0xf) + { + // We can't use CmdClearAttachments if the clear has a custom scissor or is not writing all components, + // because on Vulkan, the pipeline state does not affect clears. + var dstTexture = FramebufferParams.GetAttachment(index); + if (dstTexture == null) + { + return; + } + + Span clearColor = stackalloc float[4]; + clearColor[0] = color.Red; + clearColor[1] = color.Green; + clearColor[2] = color.Blue; + clearColor[3] = color.Alpha; + + Gd.HelperShader.Clear( + Gd, + dstTexture, + clearColor, + componentMask, + (int)FramebufferParams.Width, + (int)FramebufferParams.Height, + FramebufferParams.AttachmentFormats[index], + ClearScissor); + } + else + { + ClearRenderTargetColor(index, color); + } + } + public void EndHostConditionalRendering() { if (Gd.Capabilities.SupportsConditionalRendering) diff --git a/Ryujinx.Graphics.Vulkan/PipelineBlit.cs b/Ryujinx.Graphics.Vulkan/PipelineHelperShader.cs similarity index 96% rename from Ryujinx.Graphics.Vulkan/PipelineBlit.cs rename to Ryujinx.Graphics.Vulkan/PipelineHelperShader.cs index adf921118..f4d529643 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineBlit.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineHelperShader.cs @@ -3,9 +3,9 @@ using VkFormat = Silk.NET.Vulkan.Format; namespace Ryujinx.Graphics.Vulkan { - class PipelineBlit : PipelineBase + class PipelineHelperShader : PipelineBase { - public PipelineBlit(VulkanGraphicsDevice gd, Device device) : base(gd, device) + public PipelineHelperShader(VulkanGraphicsDevice gd, Device device) : base(gd, device) { } diff --git a/Ryujinx.Graphics.Vulkan/PipelineState.cs b/Ryujinx.Graphics.Vulkan/PipelineState.cs index ab00052b6..d9c2e8c99 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineState.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineState.cs @@ -299,7 +299,7 @@ namespace Ryujinx.Graphics.Vulkan public NativeArray StageRequiredSubgroupSizes; public PipelineLayout PipelineLayout; - public unsafe void Initialize() + public void Initialize() { Stages = new NativeArray(Constants.MaxShaderStages); StageRequiredSubgroupSizes = new NativeArray(Constants.MaxShaderStages); From 7c32e4a3fed471eb44003823660dd87788fc0f4d Mon Sep 17 00:00:00 2001 From: gdk Date: Sat, 9 Apr 2022 20:19:49 -0300 Subject: [PATCH 115/179] Add missing barriers around CmdFillBuffer (fixes Monster Hunter Rise flickering on NVIDIA) --- Ryujinx.Graphics.Vulkan/PipelineBase.cs | 22 ++++++++++++++++++++++ Ryujinx.Graphics.Vulkan/PipelineFull.cs | 2 +- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/Ryujinx.Graphics.Vulkan/PipelineBase.cs b/Ryujinx.Graphics.Vulkan/PipelineBase.cs index f2d1644b0..deac8e4a3 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineBase.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineBase.cs @@ -140,7 +140,29 @@ namespace Ryujinx.Graphics.Vulkan var dst = Gd.BufferManager.GetBuffer(CommandBuffer, destination, true).Get(Cbs, offset, size).Value; + BufferHolder.InsertBufferBarrier( + Gd, + Cbs.CommandBuffer, + dst, + BufferHolder.DefaultAccessFlags, + AccessFlags.AccessTransferWriteBit, + PipelineStageFlags.PipelineStageAllCommandsBit, + PipelineStageFlags.PipelineStageTransferBit, + offset, + size); + Gd.Api.CmdFillBuffer(CommandBuffer, dst, (ulong)offset, (ulong)size, value); + + BufferHolder.InsertBufferBarrier( + Gd, + Cbs.CommandBuffer, + dst, + AccessFlags.AccessTransferWriteBit, + BufferHolder.DefaultAccessFlags, + PipelineStageFlags.PipelineStageTransferBit, + PipelineStageFlags.PipelineStageAllCommandsBit, + offset, + size); } public unsafe void ClearRenderTargetColor(int index, ColorF color) diff --git a/Ryujinx.Graphics.Vulkan/PipelineFull.cs b/Ryujinx.Graphics.Vulkan/PipelineFull.cs index 3bd467bec..7a9465626 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineFull.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineFull.cs @@ -192,7 +192,7 @@ namespace Ryujinx.Graphics.Vulkan if (componentMask != 0xf) { - // We can't use CmdClearAttachments if the clear has a custom scissor or is not writing all components, + // We can't use CmdClearAttachments if not writing all components, // because on Vulkan, the pipeline state does not affect clears. var dstTexture = FramebufferParams.GetAttachment(index); if (dstTexture == null) From 4648e37a31966b254919f38b9cb4d91f0035d69c Mon Sep 17 00:00:00 2001 From: gdk Date: Sat, 9 Apr 2022 21:00:02 -0300 Subject: [PATCH 116/179] Use ClampToEdge for Clamp sampler address mode on Vulkan (fixes Hollow Knight) Clamp is unsupported on Vulkan, but ClampToEdge behaves almost the same. ClampToBorder on the other hand (which was being used before) is pretty different --- Ryujinx.Graphics.Vulkan/EnumConversion.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/EnumConversion.cs b/Ryujinx.Graphics.Vulkan/EnumConversion.cs index 944818388..023051373 100644 --- a/Ryujinx.Graphics.Vulkan/EnumConversion.cs +++ b/Ryujinx.Graphics.Vulkan/EnumConversion.cs @@ -35,15 +35,15 @@ namespace Ryujinx.Graphics.Vulkan switch (mode) { case AddressMode.Clamp: - return SamplerAddressMode.ClampToBorder; // TODO: Should be clamp + return SamplerAddressMode.ClampToEdge; // TODO: Should be clamp. case AddressMode.Repeat: return SamplerAddressMode.Repeat; case AddressMode.MirrorClamp: - return SamplerAddressMode.ClampToBorder; // TODO: Should be mirror clamp + return SamplerAddressMode.ClampToEdge; // TODO: Should be mirror clamp. case AddressMode.MirrorClampToEdge: return SamplerAddressMode.MirrorClampToEdgeKhr; case AddressMode.MirrorClampToBorder: - return SamplerAddressMode.ClampToBorder; // TODO: Should be mirror clamp to border + return SamplerAddressMode.ClampToBorder; // TODO: Should be mirror clamp to border. case AddressMode.ClampToBorder: return SamplerAddressMode.ClampToBorder; case AddressMode.MirroredRepeat: @@ -54,7 +54,7 @@ namespace Ryujinx.Graphics.Vulkan Logger.Debug?.Print(LogClass.Gpu, $"Invalid {nameof(AddressMode)} enum value: {mode}."); - return SamplerAddressMode.ClampToBorder; // TODO: Should be clamp + return SamplerAddressMode.ClampToEdge; // TODO: Should be clamp. } public static Silk.NET.Vulkan.BlendFactor Convert(this GAL.BlendFactor factor) From 4f086b0ec96883c171f9e040e3369fe0fb0a06d1 Mon Sep 17 00:00:00 2001 From: gdk Date: Sun, 10 Apr 2022 17:28:44 -0300 Subject: [PATCH 117/179] Shader specialization for new Vulkan required state (fixes remaining alpha test issues, vertex stretching on AMD on Crash Bandicoot, etc) --- .../Engine/Threed/StateUpdater.cs | 18 +++++++++++++++++- Ryujinx.Graphics.Gpu/Shader/Cache/Migration.cs | 5 ++++- Ryujinx.Graphics.Gpu/Shader/GpuAccessor.cs | 11 +---------- .../Shader/GpuChannelGraphicsState.cs | 12 +++++++++++- Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs | 14 +------------- .../Shader/ShaderSpecializationState.cs | 17 +++++++++++++++++ Ryujinx.Graphics.Shader/AttributeType.cs | 2 +- 7 files changed, 52 insertions(+), 27 deletions(-) diff --git a/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs b/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs index c8deb84cc..33c33d4c8 100644 --- a/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs +++ b/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs @@ -1,4 +1,5 @@ using Ryujinx.Common.Logging; +using Ryujinx.Common.Memory; using Ryujinx.Graphics.GAL; using Ryujinx.Graphics.Gpu.Engine.Types; using Ryujinx.Graphics.Gpu.Image; @@ -1267,6 +1268,20 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed /// Current GPU channel state private GpuChannelGraphicsState GetGraphicsState() { + ref var vertexAttribState = ref _state.State.VertexAttribState; + + Array32 attributeTypes = new Array32(); + + for (int location = 0; location < attributeTypes.Length; location++) + { + attributeTypes[location] = vertexAttribState[location].UnpackType() switch + { + 3 => AttributeType.Sint, + 4 => AttributeType.Uint, + _ => AttributeType.Float + }; + } + return new GpuChannelGraphicsState( _state.State.EarlyZForce, _drawState.Topology, @@ -1277,7 +1292,8 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed _state.State.PointSize, _state.State.AlphaTestEnable, _state.State.AlphaTestFunc, - _state.State.AlphaTestRef); + _state.State.AlphaTestRef, + ref attributeTypes); } private DepthMode GetDepthMode() diff --git a/Ryujinx.Graphics.Gpu/Shader/Cache/Migration.cs b/Ryujinx.Graphics.Gpu/Shader/Cache/Migration.cs index bd7a86da8..49acd3add 100644 --- a/Ryujinx.Graphics.Gpu/Shader/Cache/Migration.cs +++ b/Ryujinx.Graphics.Gpu/Shader/Cache/Migration.cs @@ -163,6 +163,8 @@ namespace Ryujinx.Graphics.Gpu.Shader.Cache _ => PrimitiveTopology.Points }; + Array32 attributeTypes = default; + GpuChannelGraphicsState graphicsState = new GpuChannelGraphicsState( accessorHeader.StateFlags.HasFlag(GuestGpuStateFlags.EarlyZForce), topology, @@ -173,7 +175,8 @@ namespace Ryujinx.Graphics.Gpu.Shader.Cache 1f, false, CompareOp.Always, - 0f); + 0f, + ref attributeTypes); TransformFeedbackDescriptor[] tfdNew = null; diff --git a/Ryujinx.Graphics.Gpu/Shader/GpuAccessor.cs b/Ryujinx.Graphics.Gpu/Shader/GpuAccessor.cs index ebbd18b5c..a53be4a7f 100644 --- a/Ryujinx.Graphics.Gpu/Shader/GpuAccessor.cs +++ b/Ryujinx.Graphics.Gpu/Shader/GpuAccessor.cs @@ -15,7 +15,6 @@ namespace Ryujinx.Graphics.Gpu.Shader { private readonly GpuChannel _channel; private readonly GpuAccessorState _state; - private readonly AttributeType[] _attributeTypes; private readonly int _stageIndex; private readonly bool _compute; private readonly bool _isVulkan; @@ -26,19 +25,16 @@ namespace Ryujinx.Graphics.Gpu.Shader /// GPU context /// GPU channel /// Current GPU state - /// Type of the vertex attributes consumed by the shader /// Graphics shader stage index (0 = Vertex, 4 = Fragment) public GpuAccessor( GpuContext context, GpuChannel channel, GpuAccessorState state, - AttributeType[] attributeTypes, int stageIndex) : base(context, state.ResourceCounts, stageIndex) { _isVulkan = context.Capabilities.Api == TargetApi.Vulkan; _channel = channel; _state = state; - _attributeTypes = attributeTypes; _stageIndex = stageIndex; } @@ -108,12 +104,7 @@ namespace Ryujinx.Graphics.Gpu.Shader /// public AttributeType QueryAttributeType(int location) { - if (_attributeTypes != null) - { - return _attributeTypes[location]; - } - - return AttributeType.Float; + return _state.GraphicsState.AttributeTypes[location]; } /// diff --git a/Ryujinx.Graphics.Gpu/Shader/GpuChannelGraphicsState.cs b/Ryujinx.Graphics.Gpu/Shader/GpuChannelGraphicsState.cs index 486d93b5b..f52e040f3 100644 --- a/Ryujinx.Graphics.Gpu/Shader/GpuChannelGraphicsState.cs +++ b/Ryujinx.Graphics.Gpu/Shader/GpuChannelGraphicsState.cs @@ -1,5 +1,7 @@ +using Ryujinx.Common.Memory; using Ryujinx.Graphics.GAL; using Ryujinx.Graphics.Gpu.Engine.Threed; +using Ryujinx.Graphics.Shader; namespace Ryujinx.Graphics.Gpu.Shader { @@ -60,6 +62,11 @@ namespace Ryujinx.Graphics.Gpu.Shader /// public readonly float AlphaTestReference; + /// + /// Type of the vertex attributes consumed by the shader. + /// + public Array32 AttributeTypes; + /// /// Creates a new GPU graphics state. /// @@ -73,6 +80,7 @@ namespace Ryujinx.Graphics.Gpu.Shader /// Indicates whenever alpha test is enabled /// When alpha test is enabled, indicates the comparison that decides if the fragment is discarded /// When alpha test is enabled, indicates the value to compare with the fragment output alpha + /// Type of the vertex attributes consumed by the shader public GpuChannelGraphicsState( bool earlyZForce, PrimitiveTopology topology, @@ -83,7 +91,8 @@ namespace Ryujinx.Graphics.Gpu.Shader float pointSize, bool alphaTestEnable, CompareOp alphaTestCompare, - float alphaTestReference) + float alphaTestReference, + ref Array32 attributeTypes) { EarlyZForce = earlyZForce; Topology = topology; @@ -95,6 +104,7 @@ namespace Ryujinx.Graphics.Gpu.Shader AlphaTestEnable = alphaTestEnable; AlphaTestCompare = alphaTestCompare; AlphaTestReference = alphaTestReference; + AttributeTypes = attributeTypes; } } } \ No newline at end of file diff --git a/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs b/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs index 6d86e8f70..33d3c48f9 100644 --- a/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs +++ b/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs @@ -305,18 +305,6 @@ namespace Ryujinx.Graphics.Gpu.Shader return gpShaders; } - AttributeType[] attributeTypes = new AttributeType[32]; - - for (int location = 0; location < attributeTypes.Length; location++) - { - attributeTypes[location] = state.VertexAttribState[location].UnpackType() switch - { - 3 => AttributeType.Sint, - 4 => AttributeType.Uint, - _ => AttributeType.Float - }; - } - TransformFeedbackDescriptor[] transformFeedbackDescriptors = GetTransformFeedbackDescriptors(ref state); ShaderSpecializationState specState = new ShaderSpecializationState(graphicsState, transformFeedbackDescriptors); @@ -335,7 +323,7 @@ namespace Ryujinx.Graphics.Gpu.Shader if (gpuVa != 0) { - GpuAccessor gpuAccessor = new GpuAccessor(_context, channel, gpuAccessorState, attributeTypes, stageIndex); + GpuAccessor gpuAccessor = new GpuAccessor(_context, channel, gpuAccessorState, stageIndex); TranslatorContext currentStage = DecodeGraphicsShader(gpuAccessor, api, DefaultFlags, gpuVa); if (nextStage != null) diff --git a/Ryujinx.Graphics.Gpu/Shader/ShaderSpecializationState.cs b/Ryujinx.Graphics.Gpu/Shader/ShaderSpecializationState.cs index 44ffd687d..120a4b179 100644 --- a/Ryujinx.Graphics.Gpu/Shader/ShaderSpecializationState.cs +++ b/Ryujinx.Graphics.Gpu/Shader/ShaderSpecializationState.cs @@ -455,6 +455,23 @@ namespace Ryujinx.Graphics.Gpu.Shader return false; } + if (graphicsState.DepthMode != GraphicsState.DepthMode) + { + return false; + } + + if (graphicsState.AlphaTestEnable != GraphicsState.AlphaTestEnable || + graphicsState.AlphaTestCompare != GraphicsState.AlphaTestCompare || + graphicsState.AlphaTestReference != GraphicsState.AlphaTestReference) + { + return false; + } + + if (!graphicsState.AttributeTypes.ToSpan().SequenceEqual(GraphicsState.AttributeTypes.ToSpan())) + { + return false; + } + return Matches(channel, poolState, checkTextures, isCompute: false); } diff --git a/Ryujinx.Graphics.Shader/AttributeType.cs b/Ryujinx.Graphics.Shader/AttributeType.cs index 11112f682..466f06cc8 100644 --- a/Ryujinx.Graphics.Shader/AttributeType.cs +++ b/Ryujinx.Graphics.Shader/AttributeType.cs @@ -2,7 +2,7 @@ using System; namespace Ryujinx.Graphics.Shader { - public enum AttributeType + public enum AttributeType : byte { Float, Sint, From 1edc85c26ef57530ac18b9a6aab3375d8e87a10e Mon Sep 17 00:00:00 2001 From: gdk Date: Sun, 10 Apr 2022 18:05:36 -0300 Subject: [PATCH 118/179] Check if the subgroup size is supported before passing a explicit size --- .../HardwareCapabilities.cs | 15 +++++++-- Ryujinx.Graphics.Vulkan/PipelineState.cs | 17 +++++++--- .../VulkanGraphicsDevice.cs | 32 +++++++++++++++---- 3 files changed, 51 insertions(+), 13 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/HardwareCapabilities.cs b/Ryujinx.Graphics.Vulkan/HardwareCapabilities.cs index d387ee024..b61744495 100644 --- a/Ryujinx.Graphics.Vulkan/HardwareCapabilities.cs +++ b/Ryujinx.Graphics.Vulkan/HardwareCapabilities.cs @@ -1,16 +1,27 @@ -namespace Ryujinx.Graphics.Vulkan +using Silk.NET.Vulkan; + +namespace Ryujinx.Graphics.Vulkan { struct HardwareCapabilities { public bool SupportsConditionalRendering { get; } public bool SupportsExtendedDynamicState { get; } + public uint MinSubgroupSize { get; } + public uint MaxSubgroupSize { get; } + public ShaderStageFlags RequiredSubgroupSizeStages { get; } public HardwareCapabilities( bool supportsConditionalRendering, - bool supportsExtendedDynamicState) + bool supportsExtendedDynamicState, + uint minSubgroupSize, + uint maxSubgroupSize, + ShaderStageFlags requiredSubgroupSizeStages) { SupportsConditionalRendering = supportsConditionalRendering; SupportsExtendedDynamicState = supportsExtendedDynamicState; + MinSubgroupSize = minSubgroupSize; + MaxSubgroupSize = maxSubgroupSize; + RequiredSubgroupSizeStages = requiredSubgroupSizeStages; } } } diff --git a/Ryujinx.Graphics.Vulkan/PipelineState.cs b/Ryujinx.Graphics.Vulkan/PipelineState.cs index d9c2e8c99..affa13dda 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineState.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineState.cs @@ -5,6 +5,8 @@ namespace Ryujinx.Graphics.Vulkan { struct PipelineState : IDisposable { + private const int RequiredSubgroupSize = 32; + public PipelineUid Internal; public float LineWidth @@ -309,7 +311,7 @@ namespace Ryujinx.Graphics.Vulkan StageRequiredSubgroupSizes[index] = new PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT() { SType = StructureType.PipelineShaderStageRequiredSubgroupSizeCreateInfoExt, - RequiredSubgroupSize = 32 + RequiredSubgroupSize = RequiredSubgroupSize }; } } @@ -327,7 +329,7 @@ namespace Ryujinx.Graphics.Vulkan if (gd.SupportsSubgroupSizeControl) { - UpdateStageRequiredSubgroupSizes(1); + UpdateStageRequiredSubgroupSizes(gd, 1); } var pipelineCreateInfo = new ComputePipelineCreateInfo() @@ -516,7 +518,7 @@ namespace Ryujinx.Graphics.Vulkan if (gd.SupportsSubgroupSizeControl) { - UpdateStageRequiredSubgroupSizes((int)StagesCount); + UpdateStageRequiredSubgroupSizes(gd, (int)StagesCount); } var pipelineCreateInfo = new GraphicsPipelineCreateInfo() @@ -548,11 +550,16 @@ namespace Ryujinx.Graphics.Vulkan return pipeline; } - private unsafe void UpdateStageRequiredSubgroupSizes(int count) + private unsafe void UpdateStageRequiredSubgroupSizes(VulkanGraphicsDevice gd, int count) { for (int index = 0; index < count; index++) { - Stages[index].PNext = StageRequiredSubgroupSizes.Pointer + index; + bool canUseExplicitSubgroupSize = + (gd.Capabilities.RequiredSubgroupSizeStages & Stages[index].Stage) != 0 && + gd.Capabilities.MinSubgroupSize <= RequiredSubgroupSize && + gd.Capabilities.MaxSubgroupSize >= RequiredSubgroupSize; + + Stages[index].PNext = canUseExplicitSubgroupSize ? StageRequiredSubgroupSizes.Pointer + index : null; } } diff --git a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs index c0bfd654d..8c0834006 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs @@ -94,7 +94,7 @@ namespace Ryujinx.Graphics.Vulkan Samplers = new HashSet(); } - private void SetupContext(GraphicsDebugLevel logLevel) + private unsafe void SetupContext(GraphicsDebugLevel logLevel) { var api = Vk.GetApi(); @@ -119,10 +119,6 @@ namespace Ryujinx.Graphics.Vulkan _device = VulkanInitialization.CreateDevice(api, _physicalDevice, queueFamilyIndex, supportedExtensions, maxQueueCount); - Capabilities = new HardwareCapabilities( - supportedExtensions.Contains(ExtConditionalRendering.ExtensionName), - supportedExtensions.Contains(ExtExtendedDynamicState.ExtensionName)); - SupportsIndexTypeUint8 = supportedExtensions.Contains("VK_EXT_index_type_uint8"); SupportsCustomBorderColor = supportedExtensions.Contains("VK_EXT_custom_border_color"); SupportsIndirectParameters = supportedExtensions.Contains(KhrDrawIndirectCount.ExtensionName); @@ -165,7 +161,31 @@ namespace Ryujinx.Graphics.Vulkan BackgroundQueueLock = new object(); } - Api.GetPhysicalDeviceProperties(_physicalDevice, out var properties); + PhysicalDeviceProperties2 properties2 = new PhysicalDeviceProperties2() + { + SType = StructureType.PhysicalDeviceProperties2 + }; + + PhysicalDeviceSubgroupSizeControlPropertiesEXT propertiesSubgroupSizeControl = new PhysicalDeviceSubgroupSizeControlPropertiesEXT() + { + SType = StructureType.PhysicalDeviceSubgroupSizeControlPropertiesExt + }; + + if (SupportsSubgroupSizeControl) + { + properties2.PNext = &propertiesSubgroupSizeControl; + } + + Api.GetPhysicalDeviceProperties2(_physicalDevice, &properties2); + + Capabilities = new HardwareCapabilities( + supportedExtensions.Contains(ExtConditionalRendering.ExtensionName), + supportedExtensions.Contains(ExtExtendedDynamicState.ExtensionName), + propertiesSubgroupSizeControl.MinSubgroupSize, + propertiesSubgroupSizeControl.MaxSubgroupSize, + propertiesSubgroupSizeControl.RequiredSubgroupSizeStages); + + ref var properties = ref properties2.Properties; MemoryAllocator = new MemoryAllocator(api, _device, properties.Limits.MaxMemoryAllocationCount); From 5670022e27e44b10822e55861b51a43c82406c75 Mon Sep 17 00:00:00 2001 From: gdk Date: Sun, 10 Apr 2022 20:24:06 -0300 Subject: [PATCH 119/179] Only enable ShaderFloat64 if the GPU supports it --- Ryujinx.Ava/entryStorage | Bin 32768 -> 0 bytes Ryujinx.Ava/nodeStorage | Bin 16384 -> 0 bytes Ryujinx.Graphics.Vulkan/VulkanInitialization.cs | 4 +++- 3 files changed, 3 insertions(+), 1 deletion(-) delete mode 100644 Ryujinx.Ava/entryStorage delete mode 100644 Ryujinx.Ava/nodeStorage diff --git a/Ryujinx.Ava/entryStorage b/Ryujinx.Ava/entryStorage deleted file mode 100644 index 899e3c0bcdcd3b6731ddab276c02f5490bdbafca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 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 diff --git a/Ryujinx.Ava/nodeStorage b/Ryujinx.Ava/nodeStorage deleted file mode 100644 index 98a03f761ff788b2220917dc5b3718ca18007871..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16384 zcmeIuF%1A95Cgyu3pQ|y9dw`qAqe1Ekic|JnkF4DBBEq>pEc*Dt#NN5K!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 P2oNAZfB*pk1U?8H5h?@W diff --git a/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs b/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs index f72b46c14..fa5d8e94c 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs @@ -330,6 +330,8 @@ namespace Ryujinx.Graphics.Vulkan PQueuePriorities = queuePriorities }; + var supportedFeatures = api.GetPhysicalDeviceFeature(physicalDevice); + var features = new PhysicalDeviceFeatures() { DepthBiasClamp = true, @@ -344,7 +346,7 @@ namespace Ryujinx.Graphics.Vulkan PipelineStatisticsQuery = true, SamplerAnisotropy = true, ShaderClipDistance = true, - ShaderFloat64 = true, + ShaderFloat64 = supportedFeatures.ShaderFloat64, ShaderImageGatherExtended = true, // ShaderStorageImageReadWithoutFormat = true, // ShaderStorageImageWriteWithoutFormat = true, From 2121f69b1cb2e9c6e4ab9fc405e616b3f94a021e Mon Sep 17 00:00:00 2001 From: gdk Date: Sun, 10 Apr 2022 21:51:21 -0300 Subject: [PATCH 120/179] We don't need to recompile shaders if alpha test state changed but alpha test is disabled --- .../Shader/ShaderSpecializationState.cs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Ryujinx.Graphics.Gpu/Shader/ShaderSpecializationState.cs b/Ryujinx.Graphics.Gpu/Shader/ShaderSpecializationState.cs index 120a4b179..172ce14ce 100644 --- a/Ryujinx.Graphics.Gpu/Shader/ShaderSpecializationState.cs +++ b/Ryujinx.Graphics.Gpu/Shader/ShaderSpecializationState.cs @@ -460,9 +460,14 @@ namespace Ryujinx.Graphics.Gpu.Shader return false; } - if (graphicsState.AlphaTestEnable != GraphicsState.AlphaTestEnable || - graphicsState.AlphaTestCompare != GraphicsState.AlphaTestCompare || - graphicsState.AlphaTestReference != GraphicsState.AlphaTestReference) + if (graphicsState.AlphaTestEnable != GraphicsState.AlphaTestEnable) + { + return false; + } + + if (graphicsState.AlphaTestEnable && + (graphicsState.AlphaTestCompare != GraphicsState.AlphaTestCompare || + graphicsState.AlphaTestReference != GraphicsState.AlphaTestReference)) { return false; } From c95cdc853eccc92d3ee40b46b63426a8de866341 Mon Sep 17 00:00:00 2001 From: gdk Date: Mon, 11 Apr 2022 12:17:33 -0300 Subject: [PATCH 121/179] Enable shader cache on Vulkan and implement MultiplyHighS32/U32 on SPIR-V (missed those before) --- .../Shader/Cache/Migration.cs | 6 +- .../DiskCache/BackgroundDiskCacheWriter.cs | 2 +- .../Shader/DiskCache/DiskCacheGpuAccessor.cs | 54 ++++++- .../Shader/DiskCache/DiskCacheGuestStorage.cs | 6 +- .../Shader/DiskCache/DiskCacheHostStorage.cs | 150 ++++++++++++------ .../Shader/DiskCache/GuestCodeAndCbData.cs | 31 ++++ .../DiskCache/ParallelDiskCacheLoader.cs | 137 +++++++++------- .../DiskCache/ShaderBinarySerializer.cs | 49 ++++++ Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs | 40 +++-- .../Shader/ShaderSpecializationState.cs | 60 ++++++- .../CodeGen/Spirv/Instructions.cs | 26 +++ Ryujinx.Graphics.Vulkan/ShaderCollection.cs | 2 +- .../VulkanGraphicsDevice.cs | 4 +- Ryujinx/Ui/MainWindow.cs | 2 +- 14 files changed, 441 insertions(+), 128 deletions(-) create mode 100644 Ryujinx.Graphics.Gpu/Shader/DiskCache/GuestCodeAndCbData.cs create mode 100644 Ryujinx.Graphics.Gpu/Shader/DiskCache/ShaderBinarySerializer.cs diff --git a/Ryujinx.Graphics.Gpu/Shader/Cache/Migration.cs b/Ryujinx.Graphics.Gpu/Shader/Cache/Migration.cs index 49acd3add..92f15139c 100644 --- a/Ryujinx.Graphics.Gpu/Shader/Cache/Migration.cs +++ b/Ryujinx.Graphics.Gpu/Shader/Cache/Migration.cs @@ -105,7 +105,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.Cache entry.Header.GpuAccessorHeader.ComputeLocalMemorySize, entry.Header.GpuAccessorHeader.ComputeSharedMemorySize); - ShaderSpecializationState specState = new ShaderSpecializationState(computeState); + ShaderSpecializationState specState = new ShaderSpecializationState(ref computeState); foreach (var td in entry.TextureDescriptors) { @@ -198,7 +198,9 @@ namespace Ryujinx.Graphics.Gpu.Shader.Cache } } - ShaderSpecializationState specState = new ShaderSpecializationState(graphicsState, tfdNew); + ProgramPipelineState pipelineState = default; + + ShaderSpecializationState specState = new ShaderSpecializationState(ref graphicsState, ref pipelineState, tfdNew); for (int i = 0; i < entries.Length; i++) { diff --git a/Ryujinx.Graphics.Gpu/Shader/DiskCache/BackgroundDiskCacheWriter.cs b/Ryujinx.Graphics.Gpu/Shader/DiskCache/BackgroundDiskCacheWriter.cs index 5c5e41c69..98655ed68 100644 --- a/Ryujinx.Graphics.Gpu/Shader/DiskCache/BackgroundDiskCacheWriter.cs +++ b/Ryujinx.Graphics.Gpu/Shader/DiskCache/BackgroundDiskCacheWriter.cs @@ -83,7 +83,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache { _context = context; _hostStorage = hostStorage; - _fileWriterWorkerQueue = new AsyncWorkQueue(ProcessTask, "Gpu.BackgroundDiskCacheWriter"); + _fileWriterWorkerQueue = new AsyncWorkQueue(ProcessTask, "GPU.BackgroundDiskCacheWriter"); } /// diff --git a/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheGpuAccessor.cs b/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheGpuAccessor.cs index 1ab9e8655..81569080b 100644 --- a/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheGpuAccessor.cs +++ b/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheGpuAccessor.cs @@ -1,6 +1,8 @@ using Ryujinx.Common.Logging; +using Ryujinx.Graphics.GAL; using Ryujinx.Graphics.Gpu.Image; using Ryujinx.Graphics.Shader; +using Ryujinx.Graphics.Shader.Translation; using System; using System.Runtime.InteropServices; @@ -16,7 +18,8 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache private readonly ShaderSpecializationState _oldSpecState; private readonly ShaderSpecializationState _newSpecState; private readonly int _stageIndex; - private ResourceCounts _resourceCounts; + private readonly bool _isVulkan; + private readonly ResourceCounts _resourceCounts; /// /// Creates a new instance of the cached GPU state accessor for shader translation. @@ -41,6 +44,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache _oldSpecState = oldSpecState; _newSpecState = newSpecState; _stageIndex = stageIndex; + _isVulkan = context.Capabilities.Api == TargetApi.Vulkan; _resourceCounts = counts; } @@ -67,6 +71,36 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache return MemoryMarshal.Cast(_data.Span.Slice((int)address)); } + /// + public AlphaTestOp QueryAlphaTestCompare() + { + if (!_isVulkan || !_oldSpecState.GraphicsState.AlphaTestEnable) + { + return AlphaTestOp.Always; + } + + return _oldSpecState.GraphicsState.AlphaTestCompare switch + { + CompareOp.Never or CompareOp.NeverGl => AlphaTestOp.Never, + CompareOp.Less or CompareOp.LessGl => AlphaTestOp.Less, + CompareOp.Equal or CompareOp.EqualGl => AlphaTestOp.Equal, + CompareOp.LessOrEqual or CompareOp.LessOrEqualGl => AlphaTestOp.LessOrEqual, + CompareOp.Greater or CompareOp.GreaterGl => AlphaTestOp.Greater, + CompareOp.NotEqual or CompareOp.NotEqualGl => AlphaTestOp.NotEqual, + CompareOp.GreaterOrEqual or CompareOp.GreaterOrEqualGl => AlphaTestOp.GreaterOrEqual, + _ => AlphaTestOp.Always + }; + } + + /// + public float QueryAlphaTestReference() => _oldSpecState.GraphicsState.AlphaTestReference; + + /// + public AttributeType QueryAttributeType(int location) + { + return _oldSpecState.GraphicsState.AttributeTypes[location]; + } + /// public int QueryComputeLocalSizeX() => _oldSpecState.ComputeState.LocalSizeX; @@ -96,6 +130,18 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache return ConvertToInputTopology(_oldSpecState.GraphicsState.Topology, _oldSpecState.GraphicsState.TessellationMode); } + /// + public bool QueryProgramPointSize() + { + return _oldSpecState.GraphicsState.ProgramPointSizeEnable; + } + + /// + public float QueryPointSize() + { + return _oldSpecState.GraphicsState.PointSize; + } + /// public bool QueryTessCw() { @@ -136,6 +182,12 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache return _oldSpecState.GetCoordNormalized(_stageIndex, handle, cbufSlot); } + /// + public bool QueryTransformDepthMinusOneToOne() + { + return _oldSpecState.GraphicsState.DepthMode; + } + /// public bool QueryTransformFeedbackEnabled() { diff --git a/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheGuestStorage.cs b/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheGuestStorage.cs index 4e338094f..b31428281 100644 --- a/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheGuestStorage.cs +++ b/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheGuestStorage.cs @@ -193,8 +193,8 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache /// Guest TOC file stream /// Guest data file stream /// Guest shader index - /// Tuple with the guest code and constant buffer 1 data, respectively - public (byte[], byte[]) LoadShader(Stream tocFileStream, Stream dataFileStream, int index) + /// Guest code and constant buffer 1 data + public GuestCodeAndCbData LoadShader(Stream tocFileStream, Stream dataFileStream, int index) { if (_cache == null || index >= _cache.Length) { @@ -226,7 +226,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache _cache[index] = (guestCode, cb1Data); } - return (guestCode, cb1Data); + return new GuestCodeAndCbData(guestCode, cb1Data); } /// diff --git a/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs b/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs index 5d99957f0..799838ec1 100644 --- a/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs +++ b/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs @@ -1,5 +1,6 @@ using Ryujinx.Graphics.GAL; using Ryujinx.Graphics.Shader; +using Ryujinx.Graphics.Shader.Translation; using System; using System.IO; using System.Numerics; @@ -19,7 +20,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache private const uint TexdMagic = (byte)'T' | ((byte)'E' << 8) | ((byte)'X' << 16) | ((byte)'D' << 24); private const ushort FileFormatVersionMajor = 1; - private const ushort FileFormatVersionMinor = 1; + private const ushort FileFormatVersionMinor = 2; private const uint FileFormatVersionPacked = ((uint)FileFormatVersionMajor << 16) | FileFormatVersionMinor; private const uint CodeGenVersion = 1; @@ -77,9 +78,14 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache public ulong Offset; /// - /// Size. + /// Size of uncompressed data. /// - public uint Size; + public uint UncompressedSize; + + /// + /// Size of compressed data. + /// + public uint CompressedSize; } /// @@ -196,6 +202,14 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache private static string GetHostFileName(GpuContext context) { string apiName = context.Capabilities.Api.ToString().ToLowerInvariant(); + + // We are just storing SPIR-V directly on Vulkan, so the code won't change per vendor. + // We can just have a single file for all vendors. + if (context.Capabilities.Api == TargetApi.Vulkan) + { + return apiName; + } + string vendorName = RemoveInvalidCharacters(context.Capabilities.VendorName.ToLowerInvariant()); return $"{apiName}_{vendorName}"; } @@ -324,7 +338,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache stagesBitMask = 1; } - CachedShaderStage[] shaders = new CachedShaderStage[isCompute ? 1 : Constants.ShaderStages + 1]; + GuestCodeAndCbData?[] guestShaders = new GuestCodeAndCbData?[isCompute ? 1 : Constants.ShaderStages + 1]; DataEntryPerStage stageEntry = new DataEntryPerStage(); @@ -334,15 +348,11 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache dataReader.Read(ref stageEntry); - ShaderProgramInfo info = stageIndex != 0 || isCompute ? ReadShaderProgramInfo(ref dataReader) : null; - - (byte[] guestCode, byte[] cb1Data) = _guestStorage.LoadShader( + guestShaders[stageIndex] = _guestStorage.LoadShader( guestTocFileStream, guestDataFileStream, stageEntry.GuestCodeIndex); - shaders[stageIndex] = new CachedShaderStage(info, guestCode, cb1Data); - stagesBitMask &= ~(1u << stageIndex); } @@ -351,17 +361,38 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache if (loadHostCache) { - byte[] hostCode = ReadHostCode(context, ref hostTocFileStream, ref hostDataFileStream, programIndex); + (byte[] hostCode, CachedShaderStage[] shaders) = ReadHostCode( + context, + ref hostTocFileStream, + ref hostDataFileStream, + guestShaders, + programIndex); if (hostCode != null) { bool hasFragmentShader = shaders.Length > 5 && shaders[5] != null; int fragmentOutputMap = hasFragmentShader ? shaders[5].Info.FragmentOutputMap : -1; - IProgram hostProgram = context.Renderer.LoadProgramBinary(hostCode, hasFragmentShader, new ShaderInfo(fragmentOutputMap)); + + ShaderInfo shaderInfo = specState.PipelineState.HasValue + ? new ShaderInfo(fragmentOutputMap, specState.PipelineState.Value) + : new ShaderInfo(fragmentOutputMap); + + IProgram hostProgram; + + if (context.Capabilities.Api == TargetApi.Vulkan) + { + ShaderSource[] shaderSources = ShaderBinarySerializer.Unpack(shaders, hostCode, isCompute); + + hostProgram = context.Renderer.CreateProgram(shaderSources, shaderInfo); + } + else + { + hostProgram = context.Renderer.LoadProgramBinary(hostCode, hasFragmentShader, shaderInfo); + } CachedShaderProgram program = new CachedShaderProgram(hostProgram, specState, shaders); - loader.QueueHostProgram(program, hostProgram, programIndex, isCompute); + loader.QueueHostProgram(program, hostCode, programIndex, isCompute); } else { @@ -371,7 +402,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache if (!loadHostCache) { - loader.QueueGuestProgram(shaders, specState, programIndex, isCompute); + loader.QueueGuestProgram(guestShaders, specState, programIndex, isCompute); } loader.CheckCompilation(); @@ -393,9 +424,15 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache /// GPU context /// Host TOC file stream, intialized if needed /// Host data file stream, initialized if needed + /// Guest shader code for each active stage /// Index of the program on the cache /// Host binary code, or null if not found - private byte[] ReadHostCode(GpuContext context, ref Stream tocFileStream, ref Stream dataFileStream, int programIndex) + private (byte[], CachedShaderStage[]) ReadHostCode( + GpuContext context, + ref Stream tocFileStream, + ref Stream dataFileStream, + GuestCodeAndCbData?[] guestShaders, + int programIndex) { if (tocFileStream == null && dataFileStream == null) { @@ -404,7 +441,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache if (!File.Exists(tocFilePath) || !File.Exists(dataFilePath)) { - return null; + return (null, null); } tocFileStream = DiskCacheCommon.OpenFile(_basePath, GetHostTocFileName(context), writable: false); @@ -414,7 +451,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache int offset = Unsafe.SizeOf() + programIndex * Unsafe.SizeOf(); if (offset + Unsafe.SizeOf() > tocFileStream.Length) { - return null; + return (null, null); } if ((ulong)offset >= (ulong)dataFileStream.Length) @@ -436,11 +473,33 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache dataFileStream.Seek((long)offsetAndSize.Offset, SeekOrigin.Begin); - byte[] hostCode = new byte[offsetAndSize.Size]; + byte[] hostCode = new byte[offsetAndSize.UncompressedSize]; BinarySerializer.ReadCompressed(dataFileStream, hostCode); - return hostCode; + CachedShaderStage[] shaders = new CachedShaderStage[guestShaders.Length]; + BinarySerializer dataReader = new BinarySerializer(dataFileStream); + + dataFileStream.Seek((long)(offsetAndSize.Offset + offsetAndSize.CompressedSize), SeekOrigin.Begin); + + dataReader.BeginCompression(); + + for (int index = 0; index < guestShaders.Length; index++) + { + if (!guestShaders[index].HasValue) + { + continue; + } + + GuestCodeAndCbData guestShader = guestShaders[index].Value; + ShaderProgramInfo info = index != 0 || guestShaders.Length == 1 ? ReadShaderProgramInfo(ref dataReader) : null; + + shaders[index] = new CachedShaderStage(info, guestShader.Code, guestShader.Cb1Data); + } + + dataReader.EndCompression(); + + return (hostCode, shaders); } /// @@ -519,8 +578,6 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache stageEntry.GuestCodeIndex = _guestStorage.AddShader(shader.Code, shader.Cb1Data); dataWriter.Write(ref stageEntry); - - WriteShaderProgramInfo(ref dataWriter, shader.Info); } program.SpecializationState.Write(ref dataWriter); @@ -537,7 +594,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache return; } - WriteHostCode(context, hostCode, -1, streams); + WriteHostCode(context, hostCode, program.Shaders, streams); } /// @@ -574,29 +631,14 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache dataFileStream.SetLength(0); } - /// - /// Adds a host binary shader to the host cache. - /// - /// - /// This only modifies the host cache. The shader must already exist in the other caches. - /// This method should only be used for rebuilding the host cache after a clear. - /// - /// GPU context - /// Host binary code - /// Index of the program in the cache - public void AddHostShader(GpuContext context, ReadOnlySpan hostCode, int programIndex) - { - WriteHostCode(context, hostCode, programIndex); - } - /// /// Writes the host binary code on the host cache. /// /// GPU context /// Host binary code - /// Index of the program in the cache + /// Shader stages to be added to the host cache /// Output streams to use - private void WriteHostCode(GpuContext context, ReadOnlySpan hostCode, int programIndex, DiskCacheOutputStreams streams = null) + private void WriteHostCode(GpuContext context, ReadOnlySpan hostCode, CachedShaderStage[] shaders, DiskCacheOutputStreams streams = null) { var tocFileStream = streams != null ? streams.HostTocFileStream : DiskCacheCommon.OpenFile(_basePath, GetHostTocFileName(context), writable: true); var dataFileStream = streams != null ? streams.HostDataFileStream : DiskCacheCommon.OpenFile(_basePath, GetHostDataFileName(context), writable: true); @@ -607,26 +649,36 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache CreateToc(tocFileStream, ref header, TochMagic, 0); } - if (programIndex == -1) - { - tocFileStream.Seek(0, SeekOrigin.End); - } - else - { - tocFileStream.Seek(Unsafe.SizeOf() + (programIndex * Unsafe.SizeOf()), SeekOrigin.Begin); - } - + tocFileStream.Seek(0, SeekOrigin.End); dataFileStream.Seek(0, SeekOrigin.End); BinarySerializer tocWriter = new BinarySerializer(tocFileStream); + BinarySerializer dataWriter = new BinarySerializer(dataFileStream); OffsetAndSize offsetAndSize = new OffsetAndSize(); offsetAndSize.Offset = (ulong)dataFileStream.Position; - offsetAndSize.Size = (uint)hostCode.Length; - tocWriter.Write(ref offsetAndSize); + offsetAndSize.UncompressedSize = (uint)hostCode.Length; + + long dataStartPosition = dataFileStream.Position; BinarySerializer.WriteCompressed(dataFileStream, hostCode, DiskCacheCommon.GetCompressionAlgorithm()); + offsetAndSize.CompressedSize = (uint)(dataFileStream.Position - dataStartPosition); + + tocWriter.Write(ref offsetAndSize); + + dataWriter.BeginCompression(DiskCacheCommon.GetCompressionAlgorithm()); + + for (int index = 0; index < shaders.Length; index++) + { + if (shaders[index] != null) + { + WriteShaderProgramInfo(ref dataWriter, shaders[index].Info); + } + } + + dataWriter.EndCompression(); + if (streams == null) { tocFileStream.Dispose(); diff --git a/Ryujinx.Graphics.Gpu/Shader/DiskCache/GuestCodeAndCbData.cs b/Ryujinx.Graphics.Gpu/Shader/DiskCache/GuestCodeAndCbData.cs new file mode 100644 index 000000000..b1ac819e6 --- /dev/null +++ b/Ryujinx.Graphics.Gpu/Shader/DiskCache/GuestCodeAndCbData.cs @@ -0,0 +1,31 @@ +using Ryujinx.Graphics.Shader; + +namespace Ryujinx.Graphics.Gpu.Shader.DiskCache +{ + /// + /// Guest shader code and constant buffer data accessed by the shader. + /// + struct GuestCodeAndCbData + { + /// + /// Maxwell binary shader code. + /// + public byte[] Code { get; } + + /// + /// Constant buffer 1 data accessed by the shader. + /// + public byte[] Cb1Data { get; } + + /// + /// Creates a new instance of the guest shader code and constant buffer data. + /// + /// Maxwell binary shader code + /// Constant buffer 1 data accessed by the shader + public GuestCodeAndCbData(byte[] code, byte[] cb1Data) + { + Code = code; + Cb1Data = cb1Data; + } + } +} \ No newline at end of file diff --git a/Ryujinx.Graphics.Gpu/Shader/DiskCache/ParallelDiskCacheLoader.cs b/Ryujinx.Graphics.Gpu/Shader/DiskCache/ParallelDiskCacheLoader.cs index 803b06766..825119688 100644 --- a/Ryujinx.Graphics.Gpu/Shader/DiskCache/ParallelDiskCacheLoader.cs +++ b/Ryujinx.Graphics.Gpu/Shader/DiskCache/ParallelDiskCacheLoader.cs @@ -45,9 +45,9 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache public readonly CachedShaderProgram CachedProgram; /// - /// Host program. + /// Optional binary code. If not null, it is used instead of the backend host binary. /// - public readonly IProgram HostProgram; + public readonly byte[] BinaryCode; /// /// Program index. @@ -68,19 +68,18 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache /// Creates a new program validation entry. /// /// Cached shader program - /// Host program /// Program index /// Indicates if the program is a compute shader /// Indicates if the program is a host binary shader public ProgramEntry( CachedShaderProgram cachedProgram, - IProgram hostProgram, + byte[] binaryCode, int programIndex, bool isCompute, bool isBinary) { CachedProgram = cachedProgram; - HostProgram = hostProgram; + BinaryCode = binaryCode; ProgramIndex = programIndex; IsCompute = isCompute; IsBinary = isBinary; @@ -146,9 +145,9 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache private struct AsyncProgramTranslation { /// - /// Cached shader stages. + /// Guest code for each active stage. /// - public readonly CachedShaderStage[] Shaders; + public readonly GuestCodeAndCbData?[] GuestShaders; /// /// Specialization state. @@ -168,17 +167,17 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache /// /// Creates a new program translation entry. /// - /// Cached shader stages + /// Guest code for each active stage /// Specialization state /// Program index /// Indicates if the program is a compute shader public AsyncProgramTranslation( - CachedShaderStage[] shaders, + GuestCodeAndCbData?[] guestShaders, ShaderSpecializationState specState, int programIndex, bool isCompute) { - Shaders = shaders; + GuestShaders = guestShaders; SpecializationState = specState; ProgramIndex = programIndex; IsCompute = isCompute; @@ -188,7 +187,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache private readonly Queue _validationQueue; private readonly ConcurrentQueue _compilationQueue; private readonly BlockingCollection _asyncTranslationQueue; - private readonly SortedList _programList; + private readonly SortedList _programList; private int _backendParallelCompileThreads; private int _compiledCount; @@ -220,7 +219,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache _validationQueue = new Queue(); _compilationQueue = new ConcurrentQueue(); _asyncTranslationQueue = new BlockingCollection(ThreadCount); - _programList = new SortedList(); + _programList = new SortedList(); _backendParallelCompileThreads = Math.Min(Environment.ProcessorCount, 8); // Must be kept in sync with the backend code. } @@ -235,7 +234,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache { workThreads[index] = new Thread(ProcessAsyncQueue) { - Name = $"Gpu.AsyncTranslationThread.{index}" + Name = $"GPU.AsyncTranslationThread.{index}" }; } @@ -287,7 +286,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache CheckCompilationBlocking(); - if (_needsHostRegen) + if (_needsHostRegen && Active) { // Rebuild both shared and host cache files. // Rebuilding shared is required because the shader information returned by the translator @@ -310,8 +309,8 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache break; } - CachedShaderProgram program = kv.Value; - _hostStorage.AddShader(_context, program, program.HostProgram.GetBinary(), streams); + (CachedShaderProgram program, byte[] binaryCode) = kv.Value; + _hostStorage.AddShader(_context, program, binaryCode, streams); } Logger.Info?.Print(LogClass.Gpu, $"Rebuilt {_programList.Count} shaders successfully."); @@ -342,24 +341,31 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache /// Enqueues a host program for compilation. /// /// Cached program - /// Host program to be compiled + /// Host binary code /// Program index /// Indicates if the program is a compute shader - public void QueueHostProgram(CachedShaderProgram cachedProgram, IProgram hostProgram, int programIndex, bool isCompute) + public void QueueHostProgram(CachedShaderProgram cachedProgram, byte[] binaryCode, int programIndex, bool isCompute) { - EnqueueForValidation(new ProgramEntry(cachedProgram, hostProgram, programIndex, isCompute, isBinary: true)); + EnqueueForValidation(new ProgramEntry(cachedProgram, binaryCode, programIndex, isCompute, isBinary: true)); } /// /// Enqueues a guest program for compilation. /// - /// Cached shader stages + /// Guest code for each active stage /// Specialization state /// Program index /// Indicates if the program is a compute shader - public void QueueGuestProgram(CachedShaderStage[] shaders, ShaderSpecializationState specState, int programIndex, bool isCompute) + public void QueueGuestProgram(GuestCodeAndCbData?[] guestShaders, ShaderSpecializationState specState, int programIndex, bool isCompute) { - _asyncTranslationQueue.Add(new AsyncProgramTranslation(shaders, specState, programIndex, isCompute)); + try + { + AsyncProgramTranslation asyncTranslation = new AsyncProgramTranslation(guestShaders, specState, programIndex, isCompute); + _asyncTranslationQueue.Add(asyncTranslation, _cancellationToken); + } + catch (OperationCanceledException) + { + } } /// @@ -374,7 +380,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache // If not yet compiled, do nothing. This avoids blocking to wait for shader compilation. while (_validationQueue.TryPeek(out ProgramEntry entry)) { - ProgramLinkStatus result = entry.HostProgram.CheckProgramLink(false); + ProgramLinkStatus result = entry.CachedProgram.HostProgram.CheckProgramLink(false); if (result != ProgramLinkStatus.Incomplete) { @@ -398,7 +404,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache while (_validationQueue.TryDequeue(out ProgramEntry entry) && Active) { - ProcessCompiledProgram(ref entry, entry.HostProgram.CheckProgramLink(true), asyncCompile: false); + ProcessCompiledProgram(ref entry, entry.CachedProgram.HostProgram.CheckProgramLink(true), asyncCompile: false); } } @@ -427,7 +433,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache _needsHostRegen = true; } - _programList.Add(entry.ProgramIndex, entry.CachedProgram); + _programList.Add(entry.ProgramIndex, (entry.CachedProgram, entry.BinaryCode)); SignalCompiled(); } else if (entry.IsBinary) @@ -436,13 +442,25 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache // we still have a chance to recompile from the guest binary. CachedShaderProgram program = entry.CachedProgram; + GuestCodeAndCbData?[] guestShaders = new GuestCodeAndCbData?[program.Shaders.Length]; + + for (int index = 0; index < program.Shaders.Length; index++) + { + CachedShaderStage shader = program.Shaders[index]; + + if (shader != null) + { + guestShaders[index] = new GuestCodeAndCbData(shader.Code, shader.Cb1Data); + } + } + if (asyncCompile) { - QueueGuestProgram(program.Shaders, program.SpecializationState, entry.ProgramIndex, entry.IsCompute); + QueueGuestProgram(guestShaders, program.SpecializationState, entry.ProgramIndex, entry.IsCompute); } else { - RecompileFromGuestCode(program.Shaders, program.SpecializationState, entry.ProgramIndex, entry.IsCompute); + RecompileFromGuestCode(guestShaders, program.SpecializationState, entry.ProgramIndex, entry.IsCompute); ProcessCompilationQueue(); } } @@ -476,10 +494,16 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache } } - IProgram hostProgram = _context.Renderer.CreateProgram(shaderSources, new ShaderInfo(fragmentOutputMap)); + ShaderInfo shaderInfo = compilation.SpecializationState.PipelineState.HasValue + ? new ShaderInfo(fragmentOutputMap, compilation.SpecializationState.PipelineState.Value) + : new ShaderInfo(fragmentOutputMap); + + IProgram hostProgram = _context.Renderer.CreateProgram(shaderSources, shaderInfo); CachedShaderProgram program = new CachedShaderProgram(hostProgram, compilation.SpecializationState, compilation.Shaders); - EnqueueForValidation(new ProgramEntry(program, hostProgram, compilation.ProgramIndex, compilation.IsCompute, isBinary: false)); + byte[] binaryCode = _context.Capabilities.Api == TargetApi.Vulkan ? ShaderBinarySerializer.Pack(shaderSources) : hostProgram.GetBinary(); + + EnqueueForValidation(new ProgramEntry(program, binaryCode, compilation.ProgramIndex, compilation.IsCompute, isBinary: false)); } } @@ -496,7 +520,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache // Submitting more seems to cause NVIDIA OpenGL driver to crash. if (_validationQueue.Count >= _backendParallelCompileThreads && _validationQueue.TryDequeue(out ProgramEntry entry)) { - ProcessCompiledProgram(ref entry, entry.HostProgram.CheckProgramLink(true), asyncCompile: false); + ProcessCompiledProgram(ref entry, entry.CachedProgram.HostProgram.CheckProgramLink(true), asyncCompile: false); } } @@ -513,7 +537,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache foreach (AsyncProgramTranslation asyncCompilation in _asyncTranslationQueue.GetConsumingEnumerable(ct)) { RecompileFromGuestCode( - asyncCompilation.Shaders, + asyncCompilation.GuestShaders, asyncCompilation.SpecializationState, asyncCompilation.ProgramIndex, asyncCompilation.IsCompute); @@ -527,21 +551,21 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache /// /// Recompiles a program from guest code. /// - /// Shader stages + /// Guest code for each active stage /// Specialization state /// Program index /// Indicates if the program is a compute shader - private void RecompileFromGuestCode(CachedShaderStage[] shaders, ShaderSpecializationState specState, int programIndex, bool isCompute) + private void RecompileFromGuestCode(GuestCodeAndCbData?[] guestShaders, ShaderSpecializationState specState, int programIndex, bool isCompute) { try { if (isCompute) { - RecompileComputeFromGuestCode(shaders, specState, programIndex); + RecompileComputeFromGuestCode(guestShaders, specState, programIndex); } else { - RecompileGraphicsFromGuestCode(shaders, specState, programIndex); + RecompileGraphicsFromGuestCode(guestShaders, specState, programIndex); } } catch (DiskCacheLoadException diskCacheLoadException) @@ -556,12 +580,16 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache /// /// Recompiles a graphics program from guest code. /// - /// Shader stages + /// Guest code for each active stage /// Specialization state /// Program index - private void RecompileGraphicsFromGuestCode(CachedShaderStage[] shaders, ShaderSpecializationState specState, int programIndex) + private void RecompileGraphicsFromGuestCode(GuestCodeAndCbData?[] guestShaders, ShaderSpecializationState specState, int programIndex) { - ShaderSpecializationState newSpecState = new ShaderSpecializationState(specState.GraphicsState, specState.TransformFeedbackDescriptors); + ShaderSpecializationState newSpecState = new ShaderSpecializationState( + ref specState.GraphicsState, + specState.PipelineState, + specState.TransformFeedbackDescriptors); + ResourceCounts counts = new ResourceCounts(); TranslatorContext[] translatorContexts = new TranslatorContext[Constants.ShaderStages + 1]; @@ -571,10 +599,10 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache for (int stageIndex = Constants.ShaderStages - 1; stageIndex >= 0; stageIndex--) { - CachedShaderStage shader = shaders[stageIndex + 1]; - - if (shader != null) + if (guestShaders[stageIndex + 1].HasValue) { + GuestCodeAndCbData shader = guestShaders[stageIndex + 1].Value; + byte[] guestCode = shader.Code; byte[] cb1Data = shader.Cb1Data; @@ -586,10 +614,10 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache currentStage.SetNextStage(nextStage); } - if (stageIndex == 0 && shaders[0] != null) + if (stageIndex == 0 && guestShaders[0].HasValue) { - byte[] guestCodeA = shaders[0].Code; - byte[] cb1DataA = shaders[0].Cb1Data; + byte[] guestCodeA = guestShaders[0].Value.Code; + byte[] cb1DataA = guestShaders[0].Value.Cb1Data; DiskCacheGpuAccessor gpuAccessorA = new DiskCacheGpuAccessor(_context, guestCodeA, cb1DataA, specState, newSpecState, counts, 0); translatorContexts[0] = DecodeGraphicsShader(gpuAccessorA, api, DefaultFlags | TranslationFlags.VertexA, 0); @@ -600,6 +628,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache } } + CachedShaderStage[] shaders = new CachedShaderStage[guestShaders.Length]; List translatedStages = new List(); for (int stageIndex = 0; stageIndex < Constants.ShaderStages; stageIndex++) @@ -610,15 +639,15 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache { ShaderProgram program; - byte[] guestCode = shaders[stageIndex + 1].Code; - byte[] cb1Data = shaders[stageIndex + 1].Cb1Data; + byte[] guestCode = guestShaders[stageIndex + 1].Value.Code; + byte[] cb1Data = guestShaders[stageIndex + 1].Value.Cb1Data; - if (stageIndex == 0 && shaders[0] != null) + if (stageIndex == 0 && guestShaders[0].HasValue) { program = currentStage.Translate(translatorContexts[0]); - byte[] guestCodeA = shaders[0].Code; - byte[] cb1DataA = shaders[0].Cb1Data; + byte[] guestCodeA = guestShaders[0].Value.Code; + byte[] cb1DataA = guestShaders[0].Value.Cb1Data; shaders[0] = new CachedShaderStage(null, guestCodeA, cb1DataA); shaders[1] = new CachedShaderStage(program.Info, guestCode, cb1Data); @@ -643,21 +672,21 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache /// /// Recompiles a compute program from guest code. /// - /// Shader stages + /// Guest code for each active stage /// Specialization state /// Program index - private void RecompileComputeFromGuestCode(CachedShaderStage[] shaders, ShaderSpecializationState specState, int programIndex) + private void RecompileComputeFromGuestCode(GuestCodeAndCbData?[] guestShaders, ShaderSpecializationState specState, int programIndex) { - CachedShaderStage shader = shaders[0]; + GuestCodeAndCbData shader = guestShaders[0].Value; ResourceCounts counts = new ResourceCounts(); - ShaderSpecializationState newSpecState = new ShaderSpecializationState(specState.ComputeState); + ShaderSpecializationState newSpecState = new ShaderSpecializationState(ref specState.ComputeState); DiskCacheGpuAccessor gpuAccessor = new DiskCacheGpuAccessor(_context, shader.Code, shader.Cb1Data, specState, newSpecState, counts, 0); TranslatorContext translatorContext = DecodeComputeShader(gpuAccessor, _context.Capabilities.Api, 0); ShaderProgram program = translatorContext.Translate(); - shaders[0] = new CachedShaderStage(program.Info, shader.Code, shader.Cb1Data); + CachedShaderStage[] shaders = new[] { new CachedShaderStage(program.Info, shader.Code, shader.Cb1Data) }; _compilationQueue.Enqueue(new ProgramCompilation(new[] { program }, shaders, newSpecState, programIndex, isCompute: true)); } diff --git a/Ryujinx.Graphics.Gpu/Shader/DiskCache/ShaderBinarySerializer.cs b/Ryujinx.Graphics.Gpu/Shader/DiskCache/ShaderBinarySerializer.cs new file mode 100644 index 000000000..11e54220f --- /dev/null +++ b/Ryujinx.Graphics.Gpu/Shader/DiskCache/ShaderBinarySerializer.cs @@ -0,0 +1,49 @@ +using Ryujinx.Graphics.GAL; +using Ryujinx.Graphics.Shader.Translation; +using System.Collections.Generic; +using System.IO; + +namespace Ryujinx.Graphics.Gpu.Shader.DiskCache +{ + static class ShaderBinarySerializer + { + public static byte[] Pack(ShaderSource[] sources) + { + using MemoryStream output = new MemoryStream(); + using BinaryWriter writer = new BinaryWriter(output); + + for (int i = 0; i < sources.Length; i++) + { + writer.Write(sources[i].BinaryCode.Length); + writer.Write(sources[i].BinaryCode); + } + + return output.ToArray(); + } + + public static ShaderSource[] Unpack(CachedShaderStage[] stages, byte[] code, bool compute) + { + using MemoryStream input = new MemoryStream(code); + using BinaryReader reader = new BinaryReader(input); + + List output = new List(); + + for (int i = compute ? 0 : 1; i < stages.Length; i++) + { + CachedShaderStage stage = stages[i]; + + if (stage == null) + { + continue; + } + + int binaryCodeLength = reader.ReadInt32(); + byte[] binaryCode = reader.ReadBytes(binaryCodeLength); + + output.Add(new ShaderSource(binaryCode, ShaderCache.GetBindings(stage.Info), stage.Info.Stage, TargetLanguage.Spirv)); + } + + return output.ToArray(); + } + } +} \ No newline at end of file diff --git a/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs b/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs index 33d3c48f9..cba7edfe0 100644 --- a/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs +++ b/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs @@ -62,11 +62,13 @@ namespace Ryujinx.Graphics.Gpu.Shader { public readonly CachedShaderProgram CachedProgram; public readonly IProgram HostProgram; + public readonly byte[] BinaryCode; - public ProgramToSave(CachedShaderProgram cachedProgram, IProgram hostProgram) + public ProgramToSave(CachedShaderProgram cachedProgram, IProgram hostProgram, byte[] binaryCode) { CachedProgram = cachedProgram; HostProgram = hostProgram; + BinaryCode = binaryCode; } } @@ -126,7 +128,7 @@ namespace Ryujinx.Graphics.Gpu.Shader { if (result == ProgramLinkStatus.Success) { - _cacheWriter.AddShader(programToSave.CachedProgram, programToSave.HostProgram.GetBinary()); + _cacheWriter.AddShader(programToSave.CachedProgram, programToSave.BinaryCode ?? programToSave.HostProgram.GetBinary()); } _programsToSaveQueue.Dequeue(); @@ -146,7 +148,9 @@ namespace Ryujinx.Graphics.Gpu.Shader { if (_diskCacheHostStorage.CacheEnabled) { - if (!_diskCacheHostStorage.CacheExists()) + // Migration disabled as Vulkan added a lot of new state, + // most migrated shaders would be unused due to the state not matching. + /* if (!_diskCacheHostStorage.CacheExists()) { // If we don't have a shader cache on the new format, try to perform migration from the old shader cache. Logger.Info?.Print(LogClass.Gpu, "No shader cache found, trying to migrate from legacy shader cache..."); @@ -154,7 +158,7 @@ namespace Ryujinx.Graphics.Gpu.Shader int migrationCount = Migration.MigrateFromLegacyCache(_context, _diskCacheHostStorage); Logger.Info?.Print(LogClass.Gpu, $"Migrated {migrationCount} shaders."); - } + } */ ParallelDiskCacheLoader loader = new ParallelDiskCacheLoader( _context, @@ -213,7 +217,7 @@ namespace Ryujinx.Graphics.Gpu.Shader return cpShader; } - ShaderSpecializationState specState = new ShaderSpecializationState(computeState); + ShaderSpecializationState specState = new ShaderSpecializationState(ref computeState); GpuAccessorState gpuAccessorState = new GpuAccessorState(poolState, computeState, default, specState); GpuAccessor gpuAccessor = new GpuAccessor(_context, channel, gpuAccessorState); @@ -221,12 +225,14 @@ namespace Ryujinx.Graphics.Gpu.Shader TranslatedShader translatedShader = TranslateShader(_dumper, channel, translatorContext, cachedGuestCode); - IProgram hostProgram = _context.Renderer.CreateProgram(new ShaderSource[] { CreateShaderSource(translatedShader.Program) }, new ShaderInfo(-1)); + ShaderSource[] shaderSourcesArray = new ShaderSource[] { CreateShaderSource(translatedShader.Program) }; + + IProgram hostProgram = _context.Renderer.CreateProgram(shaderSourcesArray, new ShaderInfo(-1)); cpShader = new CachedShaderProgram(hostProgram, specState, translatedShader.Shader); _computeShaderCache.Add(cpShader); - EnqueueProgramToSave(new ProgramToSave(cpShader, hostProgram)); + EnqueueProgramToSave(cpShader, hostProgram, shaderSourcesArray); _cpPrograms[gpuVa] = cpShader; return cpShader; @@ -307,7 +313,7 @@ namespace Ryujinx.Graphics.Gpu.Shader TransformFeedbackDescriptor[] transformFeedbackDescriptors = GetTransformFeedbackDescriptors(ref state); - ShaderSpecializationState specState = new ShaderSpecializationState(graphicsState, transformFeedbackDescriptors); + ShaderSpecializationState specState = new ShaderSpecializationState(ref graphicsState, ref pipeline, transformFeedbackDescriptors); GpuAccessorState gpuAccessorState = new GpuAccessorState(poolState, default, graphicsState, specState, transformFeedbackDescriptors); ReadOnlySpan addressesSpan = addresses.AsSpan(); @@ -385,13 +391,15 @@ namespace Ryujinx.Graphics.Gpu.Shader UpdatePipelineInfo(ref state, ref pipeline, graphicsState, channel); + ShaderSource[] shaderSourcesArray = shaderSources.ToArray(); + int fragmentOutputMap = shaders[5]?.Info.FragmentOutputMap ?? -1; - IProgram hostProgram = _context.Renderer.CreateProgram(shaderSources.ToArray(), new ShaderInfo(fragmentOutputMap, pipeline)); + IProgram hostProgram = _context.Renderer.CreateProgram(shaderSourcesArray, new ShaderInfo(fragmentOutputMap, pipeline)); gpShaders = new CachedShaderProgram(hostProgram, specState, shaders); _graphicsShaderCache.Add(gpShaders); - EnqueueProgramToSave(new ProgramToSave(gpShaders, hostProgram)); + EnqueueProgramToSave(gpShaders, hostProgram, shaderSourcesArray); _gpPrograms[addresses] = gpShaders; return gpShaders; @@ -413,9 +421,15 @@ namespace Ryujinx.Graphics.Gpu.Shader /// /// This will not do anything if disk shader cache is disabled. /// - /// Program to be saved on disk - private void EnqueueProgramToSave(ProgramToSave programToSave) + /// Cached shader program + /// Host program + /// Source for each shader stage + private void EnqueueProgramToSave(CachedShaderProgram program, IProgram hostProgram, ShaderSource[] sources) { + byte[] binaryCode = _context.Capabilities.Api == TargetApi.Vulkan ? ShaderBinarySerializer.Pack(sources) : null; + + ProgramToSave programToSave = new ProgramToSave(program, hostProgram, binaryCode); + if (_diskCacheHostStorage.CacheEnabled) { _programsToSaveQueue.Enqueue(programToSave); @@ -646,7 +660,7 @@ namespace Ryujinx.Graphics.Gpu.Shader }; } - private static ShaderBindings GetBindings(ShaderProgramInfo info) + public static ShaderBindings GetBindings(ShaderProgramInfo info) { static bool IsBuffer(Graphics.Shader.TextureDescriptor descriptor) { diff --git a/Ryujinx.Graphics.Gpu/Shader/ShaderSpecializationState.cs b/Ryujinx.Graphics.Gpu/Shader/ShaderSpecializationState.cs index 172ce14ce..3df9d1199 100644 --- a/Ryujinx.Graphics.Gpu/Shader/ShaderSpecializationState.cs +++ b/Ryujinx.Graphics.Gpu/Shader/ShaderSpecializationState.cs @@ -1,6 +1,7 @@ using Ryujinx.Common.Memory; using Ryujinx.Graphics.Gpu.Image; using Ryujinx.Graphics.Gpu.Memory; +using Ryujinx.Graphics.GAL; using Ryujinx.Graphics.Gpu.Shader.DiskCache; using Ryujinx.Graphics.Shader; using System; @@ -19,6 +20,7 @@ namespace Ryujinx.Graphics.Gpu.Shader private const uint TfbdMagic = (byte)'T' | ((byte)'F' << 8) | ((byte)'B' << 16) | ((byte)'D' << 24); private const uint TexkMagic = (byte)'T' | ((byte)'E' << 8) | ((byte)'X' << 16) | ((byte)'K' << 24); private const uint TexsMagic = (byte)'T' | ((byte)'E' << 8) | ((byte)'X' << 16) | ((byte)'S' << 24); + private const uint PgpsMagic = (byte)'P' | ((byte)'G' << 8) | ((byte)'P' << 16) | ((byte)'S' << 24); /// /// Flags indicating GPU state that is used by the shader. @@ -51,6 +53,11 @@ namespace Ryujinx.Graphics.Gpu.Shader /// public Array5 ConstantBufferUse; + /// + /// Optional pipeline state captured at the time of the shader use. + /// + public ProgramPipelineState? PipelineState; + /// /// Transform feedback buffers active at the time the shader was compiled. /// @@ -179,7 +186,7 @@ namespace Ryujinx.Graphics.Gpu.Shader /// Creates a new instance of the shader specialization state. /// /// Current compute engine state - public ShaderSpecializationState(GpuChannelComputeState state) : this() + public ShaderSpecializationState(ref GpuChannelComputeState state) : this() { ComputeState = state; _compute = true; @@ -190,7 +197,7 @@ namespace Ryujinx.Graphics.Gpu.Shader /// /// Current 3D engine state /// Optional transform feedback buffers in use, if any - public ShaderSpecializationState(GpuChannelGraphicsState state, TransformFeedbackDescriptor[] descriptors) : this() + private ShaderSpecializationState(ref GpuChannelGraphicsState state, TransformFeedbackDescriptor[] descriptors) : this() { GraphicsState = state; _compute = false; @@ -244,6 +251,34 @@ namespace Ryujinx.Graphics.Gpu.Shader } } + /// + /// Creates a new instance of the shader specialization state. + /// + /// Current 3D engine state + /// Current program pipeline state + /// Optional transform feedback buffers in use, if any + public ShaderSpecializationState( + ref GpuChannelGraphicsState state, + ref ProgramPipelineState pipelineState, + TransformFeedbackDescriptor[] descriptors) : this(ref state, descriptors) + { + PipelineState = pipelineState; + } + + /// + /// Creates a new instance of the shader specialization state. + /// + /// Current 3D engine state + /// Current program pipeline state + /// Optional transform feedback buffers in use, if any + public ShaderSpecializationState( + ref GpuChannelGraphicsState state, + ProgramPipelineState? pipelineState, + TransformFeedbackDescriptor[] descriptors) : this(ref state, descriptors) + { + PipelineState = pipelineState; + } + /// /// Indicates that the shader accesses the early Z force state. /// @@ -697,6 +732,17 @@ namespace Ryujinx.Graphics.Gpu.Shader constantBufferUsePerStageMask &= ~(1 << index); } + bool hasPipelineState = false; + + dataReader.Read(ref hasPipelineState); + + if (hasPipelineState) + { + ProgramPipelineState pipelineState = default; + dataReader.ReadWithMagicAndSize(ref pipelineState, PgpsMagic); + specState.PipelineState = pipelineState; + } + if (specState._queriedState.HasFlag(QueriedStateFlags.TransformFeedback)) { ushort tfCount = 0; @@ -755,6 +801,16 @@ namespace Ryujinx.Graphics.Gpu.Shader constantBufferUsePerStageMask &= ~(1 << index); } + bool hasPipelineState = PipelineState.HasValue; + + dataWriter.Write(ref hasPipelineState); + + if (hasPipelineState) + { + ProgramPipelineState pipelineState = PipelineState.Value; + dataWriter.WriteWithMagicAndSize(ref pipelineState, PgpsMagic); + } + if (_queriedState.HasFlag(QueriedStateFlags.TransformFeedback)) { ushort tfCount = (ushort)TransformFeedbackDescriptors.Length; diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs index e219c3ed1..d160671ca 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs @@ -107,6 +107,8 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv Add(Instruction.Minimum, GenerateMinimum); Add(Instruction.MinimumU32, GenerateMinimumU32); Add(Instruction.Multiply, GenerateMultiply); + Add(Instruction.MultiplyHighS32, GenerateMultiplyHighS32); + Add(Instruction.MultiplyHighU32, GenerateMultiplyHighU32); Add(Instruction.Negate, GenerateNegate); Add(Instruction.PackDouble2x32, GeneratePackDouble2x32); Add(Instruction.PackHalf2x16, GeneratePackHalf2x16); @@ -1090,6 +1092,30 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv return GenerateBinary(context, operation, context.Delegates.FMul, context.Delegates.IMul); } + private static OperationResult GenerateMultiplyHighS32(CodeGenContext context, AstOperation operation) + { + var src1 = operation.GetSource(0); + var src2 = operation.GetSource(1); + + var resultType = context.TypeStruct(false, context.TypeS32(), context.TypeS32()); + var result = context.SMulExtended(resultType, context.GetS32(src1), context.GetS32(src2)); + result = context.CompositeExtract(context.TypeS32(), result, 1); + + return new OperationResult(AggregateType.S32, result); + } + + private static OperationResult GenerateMultiplyHighU32(CodeGenContext context, AstOperation operation) + { + var src1 = operation.GetSource(0); + var src2 = operation.GetSource(1); + + var resultType = context.TypeStruct(false, context.TypeU32(), context.TypeU32()); + var result = context.UMulExtended(resultType, context.GetU32(src1), context.GetU32(src2)); + result = context.CompositeExtract(context.TypeU32(), result, 1); + + return new OperationResult(AggregateType.U32, result); + } + private static OperationResult GenerateNegate(CodeGenContext context, AstOperation operation) { return GenerateUnary(context, operation, context.Delegates.FNegate, context.Delegates.SNegate); diff --git a/Ryujinx.Graphics.Vulkan/ShaderCollection.cs b/Ryujinx.Graphics.Vulkan/ShaderCollection.cs index 5fcb91ea2..2373d31f8 100644 --- a/Ryujinx.Graphics.Vulkan/ShaderCollection.cs +++ b/Ryujinx.Graphics.Vulkan/ShaderCollection.cs @@ -300,7 +300,7 @@ namespace Ryujinx.Graphics.Vulkan public byte[] GetBinary() { - throw new System.NotImplementedException(); + return null; } public void AddComputePipeline(Auto pipeline) diff --git a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs index 8c0834006..66b6fa462 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs @@ -226,7 +226,9 @@ namespace Ryujinx.Graphics.Vulkan public IProgram CreateProgram(IShader[] shaders, ShaderInfo info) { - if (info.BackgroundCompile && info.State.HasValue && VulkanConfiguration.UseDynamicState) + bool isCompute = shaders.Length == 1 && ((Shader)shaders[0]).StageFlags == ShaderStageFlags.ShaderStageComputeBit; + + if (info.BackgroundCompile && (info.State.HasValue || isCompute) && VulkanConfiguration.UseDynamicState) { return new ShaderCollection(this, _device, shaders, info.State.Value); } diff --git a/Ryujinx/Ui/MainWindow.cs b/Ryujinx/Ui/MainWindow.cs index 51297bb77..be7956437 100644 --- a/Ryujinx/Ui/MainWindow.cs +++ b/Ryujinx/Ui/MainWindow.cs @@ -1037,7 +1037,7 @@ namespace Ryujinx.Ui Graphics.Gpu.GraphicsConfig.ResScale = (resScale == -1) ? resScaleCustom : resScale; Graphics.Gpu.GraphicsConfig.MaxAnisotropy = ConfigurationState.Instance.Graphics.MaxAnisotropy; Graphics.Gpu.GraphicsConfig.ShadersDumpPath = ConfigurationState.Instance.Graphics.ShadersDumpPath; - Graphics.Gpu.GraphicsConfig.EnableShaderCache = ConfigurationState.Instance.Graphics.EnableShaderCache && ConfigurationState.Instance.Graphics.GraphicsBackend != GraphicsBackend.Vulkan; + Graphics.Gpu.GraphicsConfig.EnableShaderCache = ConfigurationState.Instance.Graphics.EnableShaderCache; } public void SaveConfig() From dc0a00f93c15453556dd63410828032cdf7b5662 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Mon, 11 Apr 2022 21:09:20 +0100 Subject: [PATCH 122/179] Fix pipeline state saving before it is updated. This should fix a few warnings and potential stutters due to bad pipeline states being saved in the cache. You may need to clear your guest cache. --- Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs b/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs index cba7edfe0..3d85e2c32 100644 --- a/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs +++ b/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs @@ -313,6 +313,8 @@ namespace Ryujinx.Graphics.Gpu.Shader TransformFeedbackDescriptor[] transformFeedbackDescriptors = GetTransformFeedbackDescriptors(ref state); + UpdatePipelineInfo(ref state, ref pipeline, graphicsState, channel); + ShaderSpecializationState specState = new ShaderSpecializationState(ref graphicsState, ref pipeline, transformFeedbackDescriptors); GpuAccessorState gpuAccessorState = new GpuAccessorState(poolState, default, graphicsState, specState, transformFeedbackDescriptors); @@ -389,8 +391,6 @@ namespace Ryujinx.Graphics.Gpu.Shader } } - UpdatePipelineInfo(ref state, ref pipeline, graphicsState, channel); - ShaderSource[] shaderSourcesArray = shaderSources.ToArray(); int fragmentOutputMap = shaders[5]?.Info.FragmentOutputMap ?? -1; From dd915ae67b643955c30a9599fc83d1687d598bcc Mon Sep 17 00:00:00 2001 From: gdk Date: Mon, 11 Apr 2022 18:19:35 -0300 Subject: [PATCH 123/179] Allow null samplers on OpenGL backend --- Ryujinx.Graphics.OpenGL/Pipeline.cs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Ryujinx.Graphics.OpenGL/Pipeline.cs b/Ryujinx.Graphics.OpenGL/Pipeline.cs index fb6713360..1bfc0d1cf 100644 --- a/Ryujinx.Graphics.OpenGL/Pipeline.cs +++ b/Ryujinx.Graphics.OpenGL/Pipeline.cs @@ -1177,20 +1177,22 @@ namespace Ryujinx.Graphics.OpenGL public void SetTextureAndSampler(int binding, ITexture texture, ISampler sampler) { - if (texture != null && sampler != null) + if (texture != null) { if (binding == 0) { _unit0Texture = (TextureBase)texture; - _unit0Sampler = (Sampler)sampler; } else { ((TextureBase)texture).Bind(binding); } - - ((Sampler)sampler).Bind(binding); } + + Sampler glSampler = (Sampler)sampler; + + glSampler?.Bind(binding); + _unit0Sampler = glSampler; } From d6b1ba09bc35361c7f26a563f9d5fae66371a611 Mon Sep 17 00:00:00 2001 From: gdk Date: Mon, 11 Apr 2022 18:21:03 -0300 Subject: [PATCH 124/179] _unit0Sampler should be set only for binding 0 --- Ryujinx.Graphics.OpenGL/Pipeline.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Ryujinx.Graphics.OpenGL/Pipeline.cs b/Ryujinx.Graphics.OpenGL/Pipeline.cs index 1bfc0d1cf..43711b455 100644 --- a/Ryujinx.Graphics.OpenGL/Pipeline.cs +++ b/Ryujinx.Graphics.OpenGL/Pipeline.cs @@ -1192,7 +1192,11 @@ namespace Ryujinx.Graphics.OpenGL Sampler glSampler = (Sampler)sampler; glSampler?.Bind(binding); - _unit0Sampler = glSampler; + + if (binding == 0) + { + _unit0Sampler = glSampler; + } } From efa286882544081739373e5991b5d45297bc1e37 Mon Sep 17 00:00:00 2001 From: gdk Date: Tue, 12 Apr 2022 12:11:15 -0300 Subject: [PATCH 125/179] Remove unused PipelineConverter format variable (was causing IOR) --- Ryujinx.Graphics.Vulkan/PipelineConverter.cs | 2 -- 1 file changed, 2 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/PipelineConverter.cs b/Ryujinx.Graphics.Vulkan/PipelineConverter.cs index 84be7e16e..a115af15d 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineConverter.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineConverter.cs @@ -52,8 +52,6 @@ namespace Ryujinx.Graphics.Vulkan { int bindIndex = attachmentIndices[i]; - var format = state.AttachmentFormats[i]; - attachmentDescs[i] = new AttachmentDescription( 0, attachmentFormats[i], From fd2e53fdc6d831e898e1095052d340259142dbfb Mon Sep 17 00:00:00 2001 From: gdk Date: Tue, 12 Apr 2022 17:28:04 -0300 Subject: [PATCH 126/179] Raise textures limit to 64 on Vulkan --- Ryujinx.Common/Memory/StructArrayHelpers.cs | 11 +++++++++++ Ryujinx.Graphics.GAL/Capabilities.cs | 13 +++++++++++++ .../Shader/GpuAccessorBase.cs | 19 +++++++++++++++---- Ryujinx.Graphics.OpenGL/Pipeline.cs | 2 +- Ryujinx.Graphics.OpenGL/Renderer.cs | 4 ++++ Ryujinx.Graphics.Shader/SupportBuffer.cs | 8 ++++---- Ryujinx.Graphics.Vulkan/Constants.cs | 2 +- Ryujinx.Graphics.Vulkan/HelperShader.cs | 11 +++++------ Ryujinx.Graphics.Vulkan/PipelineBase.cs | 2 +- .../VulkanGraphicsDevice.cs | 4 ++++ 10 files changed, 59 insertions(+), 17 deletions(-) diff --git a/Ryujinx.Common/Memory/StructArrayHelpers.cs b/Ryujinx.Common/Memory/StructArrayHelpers.cs index fbb2902d5..bba05c10b 100644 --- a/Ryujinx.Common/Memory/StructArrayHelpers.cs +++ b/Ryujinx.Common/Memory/StructArrayHelpers.cs @@ -640,4 +640,15 @@ namespace Ryujinx.Common.Memory public ref T this[int index] => ref ToSpan()[index]; public Span ToSpan() => MemoryMarshal.CreateSpan(ref _e0, 64); } + public struct Array73 : IArray where T : unmanaged + { +#pragma warning disable CS0169 + T _e0; + Array64 _other; + Array8 _other2; +#pragma warning restore CS0169 + public int Length => 73; + public ref T this[int index] => ref ToSpan()[index]; + public Span ToSpan() => MemoryMarshal.CreateSpan(ref _e0, 73); + } } diff --git a/Ryujinx.Graphics.GAL/Capabilities.cs b/Ryujinx.Graphics.GAL/Capabilities.cs index af8541fb8..33c828d19 100644 --- a/Ryujinx.Graphics.GAL/Capabilities.cs +++ b/Ryujinx.Graphics.GAL/Capabilities.cs @@ -24,6 +24,11 @@ namespace Ryujinx.Graphics.GAL public readonly bool SupportsViewportSwizzle; public readonly bool SupportsIndirectParameters; + public readonly uint MaximumUniformBuffersPerStage; + public readonly uint MaximumStorageBuffersPerStage; + public readonly uint MaximumTexturesPerStage; + public readonly uint MaximumImagesPerStage; + public readonly int MaximumComputeSharedMemorySize; public readonly float MaximumSupportedAnisotropy; public readonly int StorageBufferOffsetAlignment; @@ -46,6 +51,10 @@ namespace Ryujinx.Graphics.GAL bool supportsTextureShadowLod, bool supportsViewportSwizzle, bool supportsIndirectParameters, + uint maximumUniformBuffersPerStage, + uint maximumStorageBuffersPerStage, + uint maximumTexturesPerStage, + uint maximumImagesPerStage, int maximumComputeSharedMemorySize, float maximumSupportedAnisotropy, int storageBufferOffsetAlignment) @@ -67,6 +76,10 @@ namespace Ryujinx.Graphics.GAL SupportsTextureShadowLod = supportsTextureShadowLod; SupportsViewportSwizzle = supportsViewportSwizzle; SupportsIndirectParameters = supportsIndirectParameters; + MaximumUniformBuffersPerStage = maximumUniformBuffersPerStage; + MaximumStorageBuffersPerStage = maximumStorageBuffersPerStage; + MaximumTexturesPerStage = maximumTexturesPerStage; + MaximumImagesPerStage = maximumImagesPerStage; MaximumComputeSharedMemorySize = maximumComputeSharedMemorySize; MaximumSupportedAnisotropy = maximumSupportedAnisotropy; StorageBufferOffsetAlignment = storageBufferOffsetAlignment; diff --git a/Ryujinx.Graphics.Gpu/Shader/GpuAccessorBase.cs b/Ryujinx.Graphics.Gpu/Shader/GpuAccessorBase.cs index 3da678fe3..7cf7b6e99 100644 --- a/Ryujinx.Graphics.Gpu/Shader/GpuAccessorBase.cs +++ b/Ryujinx.Graphics.Gpu/Shader/GpuAccessorBase.cs @@ -1,3 +1,4 @@ +using Ryujinx.Common.Logging; using Ryujinx.Graphics.GAL; using Ryujinx.Graphics.Gpu.Engine.Threed; using Ryujinx.Graphics.Gpu.Image; @@ -31,7 +32,7 @@ namespace Ryujinx.Graphics.Gpu.Shader { if (_context.Capabilities.Api == TargetApi.Vulkan) { - return 1 + GetStageIndex() * 18 + index; + return 1 + GetBindingFromIndex(index, _context.Capabilities.MaximumUniformBuffersPerStage, "Uniform buffer"); } else { @@ -44,7 +45,7 @@ namespace Ryujinx.Graphics.Gpu.Shader { if (_context.Capabilities.Api == TargetApi.Vulkan) { - return GetStageIndex() * 16 + index; + return GetBindingFromIndex(index, _context.Capabilities.MaximumStorageBuffersPerStage, "Storage buffer"); } else { @@ -57,7 +58,7 @@ namespace Ryujinx.Graphics.Gpu.Shader { if (_context.Capabilities.Api == TargetApi.Vulkan) { - return GetStageIndex() * 32 + index; + return GetBindingFromIndex(index, _context.Capabilities.MaximumTexturesPerStage, "Texture"); } else { @@ -70,7 +71,7 @@ namespace Ryujinx.Graphics.Gpu.Shader { if (_context.Capabilities.Api == TargetApi.Vulkan) { - return GetStageIndex() * 8 + index; + return GetBindingFromIndex(index, _context.Capabilities.MaximumImagesPerStage, "Image"); } else { @@ -78,6 +79,16 @@ namespace Ryujinx.Graphics.Gpu.Shader } } + private int GetBindingFromIndex(int index, uint maxPerStage, string resourceName) + { + if ((uint)index >= maxPerStage) + { + Logger.Error?.Print(LogClass.Gpu, $"{resourceName} index {index} exceeds per stage limit of {maxPerStage}."); + } + + return GetStageIndex() * (int)maxPerStage + index; + } + private int GetStageIndex() { // This is just a simple remapping to ensure that most frequently used shader stages diff --git a/Ryujinx.Graphics.OpenGL/Pipeline.cs b/Ryujinx.Graphics.OpenGL/Pipeline.cs index 43711b455..40b45f37a 100644 --- a/Ryujinx.Graphics.OpenGL/Pipeline.cs +++ b/Ryujinx.Graphics.OpenGL/Pipeline.cs @@ -43,7 +43,7 @@ namespace Ryujinx.Graphics.OpenGL private CounterQueueEvent _activeConditionalRender; private Vector4[] _fpIsBgra = new Vector4[SupportBuffer.FragmentIsBgraCount]; - private Vector4[] _renderScale = new Vector4[65]; + private Vector4[] _renderScale = new Vector4[73]; private int _fragmentScaleCount; private TextureBase _unit0Texture; diff --git a/Ryujinx.Graphics.OpenGL/Renderer.cs b/Ryujinx.Graphics.OpenGL/Renderer.cs index d7ed6d004..f670fee07 100644 --- a/Ryujinx.Graphics.OpenGL/Renderer.cs +++ b/Ryujinx.Graphics.OpenGL/Renderer.cs @@ -117,6 +117,10 @@ namespace Ryujinx.Graphics.OpenGL supportsTextureShadowLod: HwCapabilities.SupportsTextureShadowLod, supportsViewportSwizzle: HwCapabilities.SupportsViewportSwizzle, supportsIndirectParameters: HwCapabilities.SupportsIndirectParameters, + maximumUniformBuffersPerStage: 13, // TODO: Avoid hardcoding those limits here and get from driver? + maximumStorageBuffersPerStage: 16, + maximumTexturesPerStage: 32, + maximumImagesPerStage: 8, maximumComputeSharedMemorySize: HwCapabilities.MaximumComputeSharedMemorySize, maximumSupportedAnisotropy: HwCapabilities.MaximumSupportedAnisotropy, storageBufferOffsetAlignment: HwCapabilities.StorageBufferOffsetAlignment); diff --git a/Ryujinx.Graphics.Shader/SupportBuffer.cs b/Ryujinx.Graphics.Shader/SupportBuffer.cs index 28a48c2ad..5fe993278 100644 --- a/Ryujinx.Graphics.Shader/SupportBuffer.cs +++ b/Ryujinx.Graphics.Shader/SupportBuffer.cs @@ -24,8 +24,8 @@ namespace Ryujinx.Graphics.Shader public static int ComputeRenderScaleOffset; public const int FragmentIsBgraCount = 8; - // One for the render target, 32 for the textures, and 8 for the images. - public const int RenderScaleMaxCount = 1 + 32 + 8; + // One for the render target, 64 for the textures, and 8 for the images. + public const int RenderScaleMaxCount = 1 + 64 + 8; private static int OffsetOf(ref SupportBuffer storage, ref T target) { @@ -52,7 +52,7 @@ namespace Ryujinx.Graphics.Shader public Vector4 ViewportInverse; public Vector4 FragmentRenderScaleCount; - // Render scale max count: 1 + 32 + 8. First scale is fragment output scale, others are textures/image inputs. - public Array41> RenderScale; + // Render scale max count: 1 + 64 + 8. First scale is fragment output scale, others are textures/image inputs. + public Array73> RenderScale; } } \ No newline at end of file diff --git a/Ryujinx.Graphics.Vulkan/Constants.cs b/Ryujinx.Graphics.Vulkan/Constants.cs index b1b540ec9..59e79a1a1 100644 --- a/Ryujinx.Graphics.Vulkan/Constants.cs +++ b/Ryujinx.Graphics.Vulkan/Constants.cs @@ -10,7 +10,7 @@ public const int MaxShaderStages = 5; public const int MaxUniformBuffersPerStage = 18; public const int MaxStorageBuffersPerStage = 16; - public const int MaxTexturesPerStage = 32; + public const int MaxTexturesPerStage = 64; public const int MaxImagesPerStage = 8; public const int MaxUniformBufferBindings = MaxUniformBuffersPerStage * MaxShaderStages; public const int MaxStorageBufferBindings = MaxStorageBuffersPerStage * MaxShaderStages; diff --git a/Ryujinx.Graphics.Vulkan/HelperShader.cs b/Ryujinx.Graphics.Vulkan/HelperShader.cs index 1df69d34c..044c9da00 100644 --- a/Ryujinx.Graphics.Vulkan/HelperShader.cs +++ b/Ryujinx.Graphics.Vulkan/HelperShader.cs @@ -31,7 +31,7 @@ void main() private const string ColorBlitFragmentShaderSource = @"#version 450 core -layout (binding = 32, set = 2) uniform sampler2D tex; +layout (binding = 64, set = 2) uniform sampler2D tex; layout (location = 0) in vec2 tex_coord; layout (location = 0) out vec4 colour; @@ -43,7 +43,7 @@ void main() private const string ColorBlitClearAlphaFragmentShaderSource = @"#version 450 core -layout (binding = 32, set = 2) uniform sampler2D tex; +layout (binding = 64, set = 2) uniform sampler2D tex; layout (location = 0) in vec2 tex_coord; layout (location = 0) out vec4 colour; @@ -83,7 +83,6 @@ void main() colour = clear_colour; }"; - private readonly PipelineHelperShader _pipeline; private readonly ISampler _samplerLinear; private readonly ISampler _samplerNearest; @@ -127,7 +126,7 @@ void main() var fragmentBindings = new ShaderBindings( Array.Empty(), Array.Empty(), - new[] { 32 }, + new[] { Constants.MaxTexturesPerStage }, Array.Empty(), Array.Empty(), Array.Empty()); @@ -191,7 +190,7 @@ void main() var sampler = linearFilter ? _samplerLinear : _samplerNearest; - _pipeline.SetTextureAndSampler(32, src, sampler); + _pipeline.SetTextureAndSampler(Constants.MaxTexturesPerStage, src, sampler); Span region = stackalloc float[RegionBufferSize / sizeof(float)]; @@ -328,7 +327,7 @@ void main() { const int RegionBufferSize = 16; - pipeline.SetTextureAndSampler(32, src, srcSampler); + pipeline.SetTextureAndSampler(Constants.MaxTexturesPerStage, src, srcSampler); Span region = stackalloc float[RegionBufferSize / sizeof(float)]; diff --git a/Ryujinx.Graphics.Vulkan/PipelineBase.cs b/Ryujinx.Graphics.Vulkan/PipelineBase.cs index deac8e4a3..41ffe3272 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineBase.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineBase.cs @@ -39,7 +39,7 @@ namespace Ryujinx.Graphics.Vulkan private ShaderCollection _program; - private Vector4[] _renderScale = new Vector4[65]; + private Vector4[] _renderScale = new Vector4[73]; private int _fragmentScaleCount; protected FramebufferParams FramebufferParams; diff --git a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs index 66b6fa462..4153edcaf 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs @@ -318,6 +318,10 @@ namespace Ryujinx.Graphics.Vulkan supportsTextureShadowLod: false, supportsViewportSwizzle: false, supportsIndirectParameters: SupportsIndirectParameters, + maximumUniformBuffersPerStage: Constants.MaxUniformBuffersPerStage, + maximumStorageBuffersPerStage: Constants.MaxStorageBuffersPerStage, + maximumTexturesPerStage: Constants.MaxTexturesPerStage, + maximumImagesPerStage: Constants.MaxImagesPerStage, maximumComputeSharedMemorySize: (int)limits.MaxComputeSharedMemorySize, maximumSupportedAnisotropy: (int)limits.MaxSamplerAnisotropy, storageBufferOffsetAlignment: (int)limits.MinStorageBufferOffsetAlignment); From 6543531db8246d947622952305dcd5437db4824d Mon Sep 17 00:00:00 2001 From: gdk Date: Tue, 12 Apr 2022 18:51:27 -0300 Subject: [PATCH 127/179] No need to pack the shader binaries if shader cache is disabled --- Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs b/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs index 3d85e2c32..fde74d3b8 100644 --- a/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs +++ b/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs @@ -426,12 +426,11 @@ namespace Ryujinx.Graphics.Gpu.Shader /// Source for each shader stage private void EnqueueProgramToSave(CachedShaderProgram program, IProgram hostProgram, ShaderSource[] sources) { - byte[] binaryCode = _context.Capabilities.Api == TargetApi.Vulkan ? ShaderBinarySerializer.Pack(sources) : null; - - ProgramToSave programToSave = new ProgramToSave(program, hostProgram, binaryCode); - if (_diskCacheHostStorage.CacheEnabled) { + byte[] binaryCode = _context.Capabilities.Api == TargetApi.Vulkan ? ShaderBinarySerializer.Pack(sources) : null; + ProgramToSave programToSave = new ProgramToSave(program, hostProgram, binaryCode); + _programsToSaveQueue.Enqueue(programToSave); } } From de87ed3edcd1afecc0d0b58e6edd9bdf2f146e76 Mon Sep 17 00:00:00 2001 From: gdk Date: Wed, 13 Apr 2022 21:04:32 -0300 Subject: [PATCH 128/179] Fix backbuffer not being cleared and scissor not being re-enabled on OpenGL --- Ryujinx.Graphics.OpenGL/Pipeline.cs | 30 ++++++++++++++++++++++++----- Ryujinx.Graphics.OpenGL/Window.cs | 2 ++ 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/Ryujinx.Graphics.OpenGL/Pipeline.cs b/Ryujinx.Graphics.OpenGL/Pipeline.cs index 40b45f37a..02d4ab5cd 100644 --- a/Ryujinx.Graphics.OpenGL/Pipeline.cs +++ b/Ryujinx.Graphics.OpenGL/Pipeline.cs @@ -1116,12 +1116,32 @@ namespace Ryujinx.Graphics.OpenGL { int vIndex = index * 4; - v[vIndex] = regions[index].X; - v[vIndex + 1] = regions[index].Y; - v[vIndex + 2] = regions[index].Width; - v[vIndex + 3] = regions[index].Height; + var region = regions[index]; - GL.Enable(IndexedEnableCap.ScissorTest, index); + bool enabled = (region.X | region.Y) != 0 || region.Width != 0xffff || region.Height != 0xffff; + uint mask = 1u << index; + + if (enabled) + { + v[vIndex] = region.X; + v[vIndex + 1] = region.Y; + v[vIndex + 2] = region.Width; + v[vIndex + 3] = region.Height; + + if ((_scissorEnables & mask) == 0) + { + _scissorEnables |= mask; + GL.Enable(IndexedEnableCap.ScissorTest, index); + } + } + else + { + if ((_scissorEnables & mask) != 0) + { + _scissorEnables &= ~mask; + GL.Disable(IndexedEnableCap.ScissorTest, index); + } + } } GL.ScissorArray(0, count, v); diff --git a/Ryujinx.Graphics.OpenGL/Window.cs b/Ryujinx.Graphics.OpenGL/Window.cs index cd8efd129..ae74558e9 100644 --- a/Ryujinx.Graphics.OpenGL/Window.cs +++ b/Ryujinx.Graphics.OpenGL/Window.cs @@ -106,6 +106,8 @@ namespace Ryujinx.Graphics.OpenGL GL.Disable(EnableCap.RasterizerDiscard); GL.Disable(IndexedEnableCap.ScissorTest, 0); + GL.Clear(ClearBufferMask.ColorBufferBit); + int srcX0, srcX1, srcY0, srcY1; float scale = view.ScaleFactor; From 2713703d45d671c3b9759986fe54ee13de840fa5 Mon Sep 17 00:00:00 2001 From: gdk Date: Wed, 13 Apr 2022 22:46:51 -0300 Subject: [PATCH 129/179] Do not clear unbound framebuffer color attachments --- Ryujinx.Graphics.Vulkan/FramebufferParams.cs | 10 +++++++++- Ryujinx.Graphics.Vulkan/PipelineBase.cs | 4 ++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/FramebufferParams.cs b/Ryujinx.Graphics.Vulkan/FramebufferParams.cs index 5d9418491..e6b25ca85 100644 --- a/Ryujinx.Graphics.Vulkan/FramebufferParams.cs +++ b/Ryujinx.Graphics.Vulkan/FramebufferParams.cs @@ -10,12 +10,13 @@ namespace Ryujinx.Graphics.Vulkan { private readonly Device _device; private readonly Auto[] _attachments; + private uint _validColorAttachments; public uint Width { get; } public uint Height { get; } public uint Layers { get; } - public uint[] AttachmentSamples { get; } + public uint[] AttachmentSamples { get; } public VkFormat[] AttachmentFormats { get; } public int[] AttachmentIndices { get; } @@ -34,6 +35,7 @@ namespace Ryujinx.Graphics.Vulkan { _device = device; _attachments = new[] { view }; + _validColorAttachments = 1u; Width = width; Height = height; @@ -77,6 +79,7 @@ namespace Ryujinx.Graphics.Vulkan var texture = (TextureView)color; _attachments[index] = texture.GetImageViewForAttachment(); + _validColorAttachments |= 1u << bindIndex; AttachmentSamples[index] = (uint)texture.Info.Samples; AttachmentFormats[index] = texture.VkFormat; @@ -131,6 +134,11 @@ namespace Ryujinx.Graphics.Vulkan return _attachments[index]; } + public bool IsVaidColorAttachment(int bindIndex) + { + return (uint)bindIndex < Constants.MaxRenderTargets && (_validColorAttachments & (1u << bindIndex)) != 0; + } + private static bool IsValidTextureView(ITexture texture) { return texture is TextureView view && view.Valid; diff --git a/Ryujinx.Graphics.Vulkan/PipelineBase.cs b/Ryujinx.Graphics.Vulkan/PipelineBase.cs index 41ffe3272..0fc0d46ce 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineBase.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineBase.cs @@ -167,7 +167,7 @@ namespace Ryujinx.Graphics.Vulkan public unsafe void ClearRenderTargetColor(int index, ColorF color) { - if (_framebuffer == null) + if (FramebufferParams == null || !FramebufferParams.IsVaidColorAttachment(index)) { return; } @@ -190,7 +190,7 @@ namespace Ryujinx.Graphics.Vulkan { // TODO: Use stencilMask (fully) - if (_framebuffer == null || !FramebufferParams.HasDepthStencil) + if (FramebufferParams == null || !FramebufferParams.HasDepthStencil) { return; } From dd54eb4be19280f0919d442a268483d5193cb46c Mon Sep 17 00:00:00 2001 From: gdk Date: Thu, 14 Apr 2022 22:30:54 -0300 Subject: [PATCH 130/179] Geometry shader passthrough emulation --- Ryujinx.Graphics.GAL/Capabilities.cs | 3 ++ .../Shader/DiskCache/DiskCacheHostStorage.cs | 2 +- .../Shader/GpuAccessorBase.cs | 53 +++++-------------- Ryujinx.Graphics.OpenGL/HwCapabilities.cs | 2 + Ryujinx.Graphics.OpenGL/Renderer.cs | 1 + .../CodeGen/Glsl/Declarations.cs | 14 +++-- .../CodeGen/Spirv/Declarations.cs | 11 ++-- .../CodeGen/Spirv/SpirvGenerator.cs | 6 ++- Ryujinx.Graphics.Shader/IGpuAccessor.cs | 9 ++++ .../Translation/AttributeInfo.cs | 2 +- .../Translation/EmitterContext.cs | 39 ++++++++++++++ .../Translation/ShaderConfig.cs | 1 + .../VulkanGraphicsDevice.cs | 3 ++ 13 files changed, 93 insertions(+), 53 deletions(-) diff --git a/Ryujinx.Graphics.GAL/Capabilities.cs b/Ryujinx.Graphics.GAL/Capabilities.cs index 33c828d19..bbced2dde 100644 --- a/Ryujinx.Graphics.GAL/Capabilities.cs +++ b/Ryujinx.Graphics.GAL/Capabilities.cs @@ -16,6 +16,7 @@ namespace Ryujinx.Graphics.GAL public readonly bool SupportsR4G4Format; public readonly bool SupportsFragmentShaderInterlock; public readonly bool SupportsFragmentShaderOrderingIntel; + public readonly bool SupportsGeometryShaderPassthrough; public readonly bool SupportsImageLoadFormatted; public readonly bool SupportsMismatchingViewFormat; public readonly bool SupportsNonConstantTextureOffset; @@ -44,6 +45,7 @@ namespace Ryujinx.Graphics.GAL bool supportsR4G4Format, bool supportsFragmentShaderInterlock, bool supportsFragmentShaderOrderingIntel, + bool supportsGeometryShaderPassthrough, bool supportsImageLoadFormatted, bool supportsMismatchingViewFormat, bool supportsNonConstantTextureOffset, @@ -69,6 +71,7 @@ namespace Ryujinx.Graphics.GAL SupportsR4G4Format = supportsR4G4Format; SupportsFragmentShaderInterlock = supportsFragmentShaderInterlock; SupportsFragmentShaderOrderingIntel = supportsFragmentShaderOrderingIntel; + SupportsGeometryShaderPassthrough = supportsGeometryShaderPassthrough; SupportsImageLoadFormatted = supportsImageLoadFormatted; SupportsMismatchingViewFormat = supportsMismatchingViewFormat; SupportsNonConstantTextureOffset = supportsNonConstantTextureOffset; diff --git a/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs b/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs index 799838ec1..bed5b774c 100644 --- a/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs +++ b/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs @@ -22,7 +22,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache private const ushort FileFormatVersionMajor = 1; private const ushort FileFormatVersionMinor = 2; private const uint FileFormatVersionPacked = ((uint)FileFormatVersionMajor << 16) | FileFormatVersionMinor; - private const uint CodeGenVersion = 1; + private const uint CodeGenVersion = 2; private const string SharedTocFileName = "shared.toc"; private const string SharedDataFileName = "shared.data"; diff --git a/Ryujinx.Graphics.Gpu/Shader/GpuAccessorBase.cs b/Ryujinx.Graphics.Gpu/Shader/GpuAccessorBase.cs index 7cf7b6e99..8c28af5b8 100644 --- a/Ryujinx.Graphics.Gpu/Shader/GpuAccessorBase.cs +++ b/Ryujinx.Graphics.Gpu/Shader/GpuAccessorBase.cs @@ -105,64 +105,37 @@ namespace Ryujinx.Graphics.Gpu.Shader }; } - /// - /// Queries host about the presence of the FrontFacing built-in variable bug. - /// - /// True if the bug is present on the host device used, false otherwise + /// public bool QueryHostHasFrontFacingBug() => _context.Capabilities.HasFrontFacingBug; - /// - /// Queries host about the presence of the vector indexing bug. - /// - /// True if the bug is present on the host device used, false otherwise + /// public bool QueryHostHasVectorIndexingBug() => _context.Capabilities.HasVectorIndexingBug; - /// - /// Queries host storage buffer alignment required. - /// - /// Host storage buffer alignment in bytes + /// public int QueryHostStorageBufferOffsetAlignment() => _context.Capabilities.StorageBufferOffsetAlignment; - /// - /// Queries host support for texture formats with BGRA component order (such as BGRA8). - /// - /// True if BGRA formats are supported, false otherwise + /// public bool QueryHostSupportsBgraFormat() => _context.Capabilities.SupportsBgraFormat; - /// - /// Queries host support for fragment shader ordering critical sections on the shader code. - /// - /// True if fragment shader interlock is supported, false otherwise + /// public bool QueryHostSupportsFragmentShaderInterlock() => _context.Capabilities.SupportsFragmentShaderInterlock; - /// - /// Queries host support for fragment shader ordering scoped critical sections on the shader code. - /// - /// True if fragment shader ordering is supported, false otherwise + /// public bool QueryHostSupportsFragmentShaderOrderingIntel() => _context.Capabilities.SupportsFragmentShaderOrderingIntel; - /// - /// Queries host support for readable images without a explicit format declaration on the shader. - /// - /// True if formatted image load is supported, false otherwise + /// + public bool QueryHostSupportsGeometryShaderPassthrough() => _context.Capabilities.SupportsGeometryShaderPassthrough; + + /// public bool QueryHostSupportsImageLoadFormatted() => _context.Capabilities.SupportsImageLoadFormatted; - /// - /// Queries host GPU non-constant texture offset support. - /// - /// True if the GPU and driver supports non-constant texture offsets, false otherwise + /// public bool QueryHostSupportsNonConstantTextureOffset() => _context.Capabilities.SupportsNonConstantTextureOffset; - /// - /// Queries host GPU shader ballot support. - /// - /// True if the GPU and driver supports shader ballot, false otherwise + /// public bool QueryHostSupportsShaderBallot() => _context.Capabilities.SupportsShaderBallot; - /// - /// Queries host GPU texture shadow LOD support. - /// - /// True if the GPU and driver supports texture shadow LOD, false otherwise + /// public bool QueryHostSupportsTextureShadowLod() => _context.Capabilities.SupportsTextureShadowLod; /// diff --git a/Ryujinx.Graphics.OpenGL/HwCapabilities.cs b/Ryujinx.Graphics.OpenGL/HwCapabilities.cs index 773c9f634..c20eccf8f 100644 --- a/Ryujinx.Graphics.OpenGL/HwCapabilities.cs +++ b/Ryujinx.Graphics.OpenGL/HwCapabilities.cs @@ -9,6 +9,7 @@ namespace Ryujinx.Graphics.OpenGL private static readonly Lazy _supportsDrawTexture = new Lazy(() => HasExtension("GL_NV_draw_texture")); private static readonly Lazy _supportsFragmentShaderInterlock = new Lazy(() => HasExtension("GL_ARB_fragment_shader_interlock")); private static readonly Lazy _supportsFragmentShaderOrdering = new Lazy(() => HasExtension("GL_INTEL_fragment_shader_ordering")); + private static readonly Lazy _supportsGeometryShaderPassthrough = new Lazy(() => HasExtension("GL_NV_geometry_shader_passthrough")); private static readonly Lazy _supportsImageLoadFormatted = new Lazy(() => HasExtension("GL_EXT_shader_image_load_formatted")); private static readonly Lazy _supportsIndirectParameters = new Lazy(() => HasExtension("GL_ARB_indirect_parameters")); private static readonly Lazy _supportsParallelShaderCompile = new Lazy(() => HasExtension("GL_ARB_parallel_shader_compile")); @@ -47,6 +48,7 @@ namespace Ryujinx.Graphics.OpenGL public static bool SupportsDrawTexture => _supportsDrawTexture.Value; public static bool SupportsFragmentShaderInterlock => _supportsFragmentShaderInterlock.Value; public static bool SupportsFragmentShaderOrdering => _supportsFragmentShaderOrdering.Value; + public static bool SupportsGeometryShaderPassthrough => _supportsGeometryShaderPassthrough.Value; public static bool SupportsImageLoadFormatted => _supportsImageLoadFormatted.Value; public static bool SupportsIndirectParameters => _supportsIndirectParameters.Value; public static bool SupportsParallelShaderCompile => _supportsParallelShaderCompile.Value; diff --git a/Ryujinx.Graphics.OpenGL/Renderer.cs b/Ryujinx.Graphics.OpenGL/Renderer.cs index f670fee07..78335a133 100644 --- a/Ryujinx.Graphics.OpenGL/Renderer.cs +++ b/Ryujinx.Graphics.OpenGL/Renderer.cs @@ -110,6 +110,7 @@ namespace Ryujinx.Graphics.OpenGL supportsR4G4Format: false, supportsFragmentShaderInterlock: HwCapabilities.SupportsFragmentShaderInterlock, supportsFragmentShaderOrderingIntel: HwCapabilities.SupportsFragmentShaderOrdering, + supportsGeometryShaderPassthrough: HwCapabilities.SupportsGeometryShaderPassthrough, supportsImageLoadFormatted: HwCapabilities.SupportsImageLoadFormatted, supportsMismatchingViewFormat: HwCapabilities.SupportsMismatchingViewFormat, supportsNonConstantTextureOffset: HwCapabilities.SupportsNonConstantTextureOffset, diff --git a/Ryujinx.Graphics.Shader/CodeGen/Glsl/Declarations.cs b/Ryujinx.Graphics.Shader/CodeGen/Glsl/Declarations.cs index c3402c582..d64c74520 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Glsl/Declarations.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Glsl/Declarations.cs @@ -48,7 +48,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl context.AppendLine("#extension GL_ARB_shader_viewport_layer_array : enable"); } - if (context.Config.GpPassthrough) + if (context.Config.GpPassthrough && context.Config.GpuAccessor.QueryHostSupportsGeometryShaderPassthrough()) { context.AppendLine("#extension GL_NV_geometry_shader_passthrough : enable"); } @@ -127,11 +127,12 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl { if (context.Config.Stage == ShaderStage.Geometry) { - string inPrimitive = context.Config.GpuAccessor.QueryPrimitiveTopology().ToGlslString(); + InputTopology inputTopology = context.Config.GpuAccessor.QueryPrimitiveTopology(); + string inPrimitive = inputTopology.ToGlslString(); context.AppendLine($"layout ({inPrimitive}) in;"); - if (context.Config.GpPassthrough) + if (context.Config.GpPassthrough && context.Config.GpuAccessor.QueryHostSupportsGeometryShaderPassthrough()) { context.AppendLine($"layout (passthrough) in gl_PerVertex"); context.EnterScope(); @@ -144,7 +145,9 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl { string outPrimitive = context.Config.OutputTopology.ToGlslString(); - int maxOutputVertices = context.Config.MaxOutputVertices; + int maxOutputVertices = context.Config.GpPassthrough + ? inputTopology.ToInputVertices() + : context.Config.MaxOutputVertices; context.AppendLine($"layout ({outPrimitive}, max_vertices = {maxOutputVertices}) out;"); } @@ -563,7 +566,8 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl }; } - string pass = (context.Config.PassthroughAttributes & (1 << attr)) != 0 ? "passthrough, " : string.Empty; + bool passthrough = (context.Config.PassthroughAttributes & (1 << attr)) != 0; + string pass = passthrough && context.Config.GpuAccessor.QueryHostSupportsGeometryShaderPassthrough() ? "passthrough, " : string.Empty; string name = $"{DefaultNames.IAttributePrefix}{attr}"; if (context.Config.TransformFeedbackEnabled && context.Config.Stage != ShaderStage.Vertex) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs index 44f8a5bd2..911137649 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs @@ -425,7 +425,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv var spvType = context.TypePointer(StorageClass.Input, attrType); var spvVar = context.Variable(spvType, StorageClass.Input); - if (context.Config.PassthroughAttributes != 0) + if (context.Config.PassthroughAttributes != 0 && context.Config.GpuAccessor.QueryHostSupportsGeometryShaderPassthrough()) { context.Decorate(spvVar, Decoration.PassthroughNV); } @@ -534,7 +534,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv { attrType = context.TypeArray(attrType, context.Constant(context.TypeU32(), (LiteralInteger)context.InputVertices)); - if (context.Config.GpPassthrough) + if (context.Config.GpPassthrough && context.Config.GpuAccessor.QueryHostSupportsGeometryShaderPassthrough()) { builtInPassthrough = true; } @@ -581,7 +581,9 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv if (!isOutAttr) { - if (!perPatch && (context.Config.PassthroughAttributes & (1 << location)) != 0) + if (!perPatch && + (context.Config.PassthroughAttributes & (1 << location)) != 0 && + context.Config.GpuAccessor.QueryHostSupportsGeometryShaderPassthrough()) { context.Decorate(spvVar, Decoration.PassthroughNV); } @@ -646,7 +648,8 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv } else { - if ((context.Config.PassthroughAttributes & (1 << location)) != 0) + if ((context.Config.PassthroughAttributes & (1 << location)) != 0 && + context.Config.GpuAccessor.QueryHostSupportsGeometryShaderPassthrough()) { context.Decorate(spvVar, Decoration.PassthroughNV); } diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs index 666fcc42e..2755d3ab0 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs @@ -70,7 +70,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv { context.AddCapability(Capability.Geometry); - if (config.GpPassthrough) + if (config.GpPassthrough && context.Config.GpuAccessor.QueryHostSupportsGeometryShaderPassthrough()) { context.AddExtension("SPV_NV_geometry_shader_passthrough"); context.AddCapability(Capability.GeometryShaderPassthroughNV); @@ -230,7 +230,9 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv _ => throw new InvalidOperationException($"Invalid output topology \"{context.Config.OutputTopology}\".") }); - context.AddExecutionMode(spvFunc, ExecutionMode.OutputVertices, (SpvLiteralInteger)context.Config.MaxOutputVertices); + int maxOutputVertices = context.Config.GpPassthrough ? context.InputVertices : context.Config.MaxOutputVertices; + + context.AddExecutionMode(spvFunc, ExecutionMode.OutputVertices, (SpvLiteralInteger)maxOutputVertices); } else if (context.Config.Stage == ShaderStage.Fragment) { diff --git a/Ryujinx.Graphics.Shader/IGpuAccessor.cs b/Ryujinx.Graphics.Shader/IGpuAccessor.cs index 87288b2e6..e6a62302a 100644 --- a/Ryujinx.Graphics.Shader/IGpuAccessor.cs +++ b/Ryujinx.Graphics.Shader/IGpuAccessor.cs @@ -197,6 +197,15 @@ namespace Ryujinx.Graphics.Shader return false; } + /// + /// Queries host GPU geometry shader passthrough support. + /// + /// True if the GPU and driver supports geometry shader passthrough, false otherwise + bool QueryHostSupportsGeometryShaderPassthrough() + { + return true; + } + /// /// Queries host support for readable images without a explicit format declaration on the shader. /// diff --git a/Ryujinx.Graphics.Shader/Translation/AttributeInfo.cs b/Ryujinx.Graphics.Shader/Translation/AttributeInfo.cs index 8bf98963d..ffe9d9e75 100644 --- a/Ryujinx.Graphics.Shader/Translation/AttributeInfo.cs +++ b/Ryujinx.Graphics.Shader/Translation/AttributeInfo.cs @@ -91,7 +91,7 @@ namespace Ryujinx.Graphics.Shader.Translation AggregateType elemType; - if (!isOutAttr) + if (config.Stage == ShaderStage.Vertex && !isOutAttr) { elemType = config.GpuAccessor.QueryAttributeType(location) switch { diff --git a/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs b/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs index dbf4eb125..38c503e67 100644 --- a/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs +++ b/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs @@ -2,6 +2,7 @@ using Ryujinx.Graphics.Shader.Decoders; using Ryujinx.Graphics.Shader.IntermediateRepresentation; using System.Collections.Generic; using System.Diagnostics; +using System.Numerics; using System.Runtime.CompilerServices; using static Ryujinx.Graphics.Shader.IntermediateRepresentation.OperandHelper; @@ -232,6 +233,44 @@ namespace Ryujinx.Graphics.Shader.Translation { PrepareForVertexReturn(); } + else if (Config.Stage == ShaderStage.Geometry) + { + void WriteOutput(int index, int primIndex) + { + Operand x = this.LoadAttribute(Const(index), Const(0), Const(primIndex)); + Operand y = this.LoadAttribute(Const(index + 4), Const(0), Const(primIndex)); + Operand z = this.LoadAttribute(Const(index + 8), Const(0), Const(primIndex)); + Operand w = this.LoadAttribute(Const(index + 12), Const(0), Const(primIndex)); + + this.Copy(Attribute(index), x); + this.Copy(Attribute(index + 4), y); + this.Copy(Attribute(index + 8), z); + this.Copy(Attribute(index + 12), w); + } + + if (Config.GpPassthrough) + { + int inputVertices = Config.GpuAccessor.QueryPrimitiveTopology().ToInputVertices(); + + for (int primIndex = 0; primIndex < inputVertices; primIndex++) + { + WriteOutput(AttributeConsts.PositionX, primIndex); + + int passthroughAttributes = Config.PassthroughAttributes; + while (passthroughAttributes != 0) + { + int index = BitOperations.TrailingZeroCount(passthroughAttributes); + WriteOutput(AttributeConsts.UserAttributeBase + index * 16, primIndex); + Config.SetOutputUserAttribute(index, perPatch: false); + passthroughAttributes &= ~(1 << index); + } + + this.EmitVertex(); + } + + this.EndPrimitive(); + } + } else if (Config.Stage == ShaderStage.Fragment) { bool supportsBgra = Config.GpuAccessor.QueryHostSupportsBgraFormat(); diff --git a/Ryujinx.Graphics.Shader/Translation/ShaderConfig.cs b/Ryujinx.Graphics.Shader/Translation/ShaderConfig.cs index e6e95240c..c5e138879 100644 --- a/Ryujinx.Graphics.Shader/Translation/ShaderConfig.cs +++ b/Ryujinx.Graphics.Shader/Translation/ShaderConfig.cs @@ -15,6 +15,7 @@ namespace Ryujinx.Graphics.Shader.Translation public ShaderStage Stage { get; } public bool GpPassthrough { get; } + public bool GpPassthroughWithHostSupport => GpPassthrough && GpuAccessor.QueryHostSupportsGeometryShaderPassthrough(); public bool LastInVertexPipeline { get; private set; } public int ThreadsPerInputPrimitive { get; } diff --git a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs index 4153edcaf..177bb0824 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs @@ -38,6 +38,7 @@ namespace Ryujinx.Graphics.Vulkan internal bool SupportsCustomBorderColor { get; private set; } internal bool SupportsIndirectParameters { get; private set; } internal bool SupportsFragmentShaderInterlock { get; private set; } + internal bool SupportsGeometryShaderPassthrough { get; private set; } internal bool SupportsSubgroupSizeControl { get; private set; } internal uint QueueFamilyIndex { get; private set; } @@ -123,6 +124,7 @@ namespace Ryujinx.Graphics.Vulkan SupportsCustomBorderColor = supportedExtensions.Contains("VK_EXT_custom_border_color"); SupportsIndirectParameters = supportedExtensions.Contains(KhrDrawIndirectCount.ExtensionName); SupportsFragmentShaderInterlock = supportedExtensions.Contains("VK_EXT_fragment_shader_interlock"); + SupportsGeometryShaderPassthrough = supportedExtensions.Contains("VK_NV_geometry_shader_passthrough"); SupportsSubgroupSizeControl = supportedExtensions.Contains("VK_EXT_subgroup_size_control"); if (api.TryGetDeviceExtension(_instance, _device, out KhrSwapchain swapchainApi)) @@ -311,6 +313,7 @@ namespace Ryujinx.Graphics.Vulkan supportsR4G4Format: false, supportsFragmentShaderInterlock: SupportsFragmentShaderInterlock, supportsFragmentShaderOrderingIntel: false, + supportsGeometryShaderPassthrough: SupportsGeometryShaderPassthrough, supportsImageLoadFormatted: features.ShaderStorageImageReadWithoutFormat, supportsMismatchingViewFormat: true, supportsNonConstantTextureOffset: false, From 39467f70620d47ae36099b269f472b55b46dc922 Mon Sep 17 00:00:00 2001 From: gdk Date: Thu, 14 Apr 2022 22:39:45 -0300 Subject: [PATCH 131/179] Consolidate UpdateDepthMode and GetDepthMode implementation --- .../Engine/Threed/StateUpdater.cs | 72 ++++++++----------- 1 file changed, 29 insertions(+), 43 deletions(-) diff --git a/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs b/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs index 33c33d4c8..19a80cb37 100644 --- a/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs +++ b/Ryujinx.Graphics.Gpu/Engine/Threed/StateUpdater.cs @@ -682,37 +682,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed /// private void UpdateDepthMode() { - ref var transform = ref _state.State.ViewportTransform[0]; - ref var extents = ref _state.State.ViewportExtents[0]; - - DepthMode depthMode; - - if (!float.IsInfinity(extents.DepthNear) && - !float.IsInfinity(extents.DepthFar) && - (extents.DepthFar - extents.DepthNear) != 0) - { - // Try to guess the depth mode being used on the high level API - // based on current transform. - // It is setup like so by said APIs: - // If depth mode is ZeroToOne: - // TranslateZ = Near - // ScaleZ = Far - Near - // If depth mode is MinusOneToOne: - // TranslateZ = (Near + Far) / 2 - // ScaleZ = (Far - Near) / 2 - // DepthNear/Far are sorted such as that Near is always less than Far. - depthMode = extents.DepthNear != transform.TranslateZ && - extents.DepthFar != transform.TranslateZ - ? DepthMode.MinusOneToOne - : DepthMode.ZeroToOne; - } - else - { - // If we can't guess from the viewport transform, then just use the depth mode register. - depthMode = (DepthMode)(_state.State.DepthMode & 1); - } - - _context.Renderer.Pipeline.SetDepthMode(depthMode); + _context.Renderer.Pipeline.SetDepthMode(GetDepthMode()); } /// @@ -1301,18 +1271,34 @@ namespace Ryujinx.Graphics.Gpu.Engine.Threed ref var transform = ref _state.State.ViewportTransform[0]; ref var extents = ref _state.State.ViewportExtents[0]; - // Try to guess the depth mode being used on the high level API - // based on current transform. - // It is setup like so by said APIs: - // If depth mode is ZeroToOne: - // TranslateZ = Near - // ScaleZ = Far - Near - // If depth mode is MinusOneToOne: - // TranslateZ = (Near + Far) / 2 - // ScaleZ = (Far - Near) / 2 - // DepthNear/Far are sorted such as that Near is always less than Far. - return extents.DepthNear != transform.TranslateZ && - extents.DepthFar != transform.TranslateZ ? DepthMode.MinusOneToOne : DepthMode.ZeroToOne; + DepthMode depthMode; + + if (!float.IsInfinity(extents.DepthNear) && + !float.IsInfinity(extents.DepthFar) && + (extents.DepthFar - extents.DepthNear) != 0) + { + // Try to guess the depth mode being used on the high level API + // based on current transform. + // It is setup like so by said APIs: + // If depth mode is ZeroToOne: + // TranslateZ = Near + // ScaleZ = Far - Near + // If depth mode is MinusOneToOne: + // TranslateZ = (Near + Far) / 2 + // ScaleZ = (Far - Near) / 2 + // DepthNear/Far are sorted such as that Near is always less than Far. + depthMode = extents.DepthNear != transform.TranslateZ && + extents.DepthFar != transform.TranslateZ + ? DepthMode.MinusOneToOne + : DepthMode.ZeroToOne; + } + else + { + // If we can't guess from the viewport transform, then just use the depth mode register. + depthMode = (DepthMode)(_state.State.DepthMode & 1); + } + + return depthMode; } /// From 2852ddf510ecfeb3432ef7e75cd774b347cd66be Mon Sep 17 00:00:00 2001 From: gdk Date: Thu, 14 Apr 2022 23:19:28 -0300 Subject: [PATCH 132/179] Fix A1B5G5R5 texture format and support R4G4 on Vulkan --- Ryujinx.Graphics.Vulkan/FormatTable.cs | 1 + Ryujinx.Graphics.Vulkan/TextureView.cs | 10 ++++++++++ Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs | 2 +- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/Ryujinx.Graphics.Vulkan/FormatTable.cs b/Ryujinx.Graphics.Vulkan/FormatTable.cs index 6f1e0b54a..439d492ce 100644 --- a/Ryujinx.Graphics.Vulkan/FormatTable.cs +++ b/Ryujinx.Graphics.Vulkan/FormatTable.cs @@ -68,6 +68,7 @@ namespace Ryujinx.Graphics.Vulkan Add(Format.D32FloatS8Uint, VkFormat.D32SfloatS8Uint); Add(Format.R8G8B8X8Srgb, VkFormat.R8G8B8Srgb); Add(Format.R8G8B8A8Srgb, VkFormat.R8G8B8A8Srgb); + Add(Format.R4G4Unorm, VkFormat.R4G4UnormPack8); Add(Format.R4G4B4A4Unorm, VkFormat.R4G4B4A4UnormPack16); Add(Format.R5G5B5X1Unorm, VkFormat.A1R5G5B5UnormPack16); Add(Format.R5G5B5A1Unorm, VkFormat.A1R5G5B5UnormPack16); diff --git a/Ryujinx.Graphics.Vulkan/TextureView.cs b/Ryujinx.Graphics.Vulkan/TextureView.cs index a8bad9537..7e1350eea 100644 --- a/Ryujinx.Graphics.Vulkan/TextureView.cs +++ b/Ryujinx.Graphics.Vulkan/TextureView.cs @@ -84,6 +84,16 @@ namespace Ryujinx.Graphics.Vulkan swizzleR = tempG; swizzleA = tempB; } + else if (info.Format == GAL.Format.A1B5G5R5Unorm) + { + var tempB = swizzleB; + var tempA = swizzleA; + + swizzleB = swizzleG; + swizzleA = swizzleR; + swizzleR = tempA; + swizzleG = tempB; + } var componentMapping = new ComponentMapping(swizzleR, swizzleG, swizzleB, swizzleA); diff --git a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs index 177bb0824..d6b81dfe1 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs @@ -310,7 +310,7 @@ namespace Ryujinx.Graphics.Vulkan supportsAstcCompression: features.TextureCompressionAstcLdr, supports3DTextureCompression: true, supportsBgraFormat: true, - supportsR4G4Format: false, + supportsR4G4Format: FormatCapabilities.FormatSupports(GAL.Format.R4G4Unorm, FormatFeatureFlags.FormatFeatureSampledImageBit), supportsFragmentShaderInterlock: SupportsFragmentShaderInterlock, supportsFragmentShaderOrderingIntel: false, supportsGeometryShaderPassthrough: SupportsGeometryShaderPassthrough, From 7838a45772a2746d251ae937a96165552a7ece39 Mon Sep 17 00:00:00 2001 From: gdk Date: Fri, 15 Apr 2022 21:22:19 -0300 Subject: [PATCH 133/179] Add barrier before use of some modified images --- Ryujinx.Graphics.GAL/IPipeline.cs | 3 +- .../Commands/SetTextureAndSamplerCommand.cs | 7 ++- .../Multithreading/ThreadedPipeline.cs | 5 +- .../Image/TextureBindingsManager.cs | 8 +-- Ryujinx.Graphics.Gpu/Memory/BufferManager.cs | 14 +++-- .../Memory/BufferTextureBinding.cs | 17 +++++- Ryujinx.Graphics.OpenGL/Pipeline.cs | 2 +- .../DescriptorSetUpdater.cs | 8 ++- Ryujinx.Graphics.Vulkan/EnumConversion.cs | 23 ++++++++ Ryujinx.Graphics.Vulkan/FramebufferParams.cs | 22 ++++++++ Ryujinx.Graphics.Vulkan/HelperShader.cs | 4 +- Ryujinx.Graphics.Vulkan/PipelineBase.cs | 5 +- Ryujinx.Graphics.Vulkan/TextureStorage.cs | 53 +++++++++++++++++++ 13 files changed, 151 insertions(+), 20 deletions(-) diff --git a/Ryujinx.Graphics.GAL/IPipeline.cs b/Ryujinx.Graphics.GAL/IPipeline.cs index c88cc7017..8e411f132 100644 --- a/Ryujinx.Graphics.GAL/IPipeline.cs +++ b/Ryujinx.Graphics.GAL/IPipeline.cs @@ -1,3 +1,4 @@ +using Ryujinx.Graphics.Shader; using System; namespace Ryujinx.Graphics.GAL @@ -83,7 +84,7 @@ namespace Ryujinx.Graphics.GAL void SetStorageBuffers(int first, ReadOnlySpan buffers); - void SetTextureAndSampler(int binding, ITexture texture, ISampler sampler); + void SetTextureAndSampler(ShaderStage stage, int binding, ITexture texture, ISampler sampler); void SetTransformFeedbackBuffers(ReadOnlySpan buffers); void SetUniformBuffers(int first, ReadOnlySpan buffers); diff --git a/Ryujinx.Graphics.GAL/Multithreading/Commands/SetTextureAndSamplerCommand.cs b/Ryujinx.Graphics.GAL/Multithreading/Commands/SetTextureAndSamplerCommand.cs index 27700278b..7ef58c3d0 100644 --- a/Ryujinx.Graphics.GAL/Multithreading/Commands/SetTextureAndSamplerCommand.cs +++ b/Ryujinx.Graphics.GAL/Multithreading/Commands/SetTextureAndSamplerCommand.cs @@ -1,17 +1,20 @@ using Ryujinx.Graphics.GAL.Multithreading.Model; using Ryujinx.Graphics.GAL.Multithreading.Resources; +using Ryujinx.Graphics.Shader; namespace Ryujinx.Graphics.GAL.Multithreading.Commands { struct SetTextureAndSamplerCommand : IGALCommand { public CommandType CommandType => CommandType.SetTextureAndSampler; + private ShaderStage _stage; private int _binding; private TableRef _texture; private TableRef _sampler; - public void Set(int binding, TableRef texture, TableRef sampler) + public void Set(ShaderStage stage, int binding, TableRef texture, TableRef sampler) { + _stage = stage; _binding = binding; _texture = texture; _sampler = sampler; @@ -19,7 +22,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands public static void Run(ref SetTextureAndSamplerCommand command, ThreadedRenderer threaded, IRenderer renderer) { - renderer.Pipeline.SetTextureAndSampler(command._binding, command._texture.GetAs(threaded)?.Base, command._sampler.GetAs(threaded)?.Base); + renderer.Pipeline.SetTextureAndSampler(command._stage, command._binding, command._texture.GetAs(threaded)?.Base, command._sampler.GetAs(threaded)?.Base); } } } diff --git a/Ryujinx.Graphics.GAL/Multithreading/ThreadedPipeline.cs b/Ryujinx.Graphics.GAL/Multithreading/ThreadedPipeline.cs index a9f7c8e9d..9108de213 100644 --- a/Ryujinx.Graphics.GAL/Multithreading/ThreadedPipeline.cs +++ b/Ryujinx.Graphics.GAL/Multithreading/ThreadedPipeline.cs @@ -1,6 +1,7 @@ using Ryujinx.Graphics.GAL.Multithreading.Commands; using Ryujinx.Graphics.GAL.Multithreading.Model; using Ryujinx.Graphics.GAL.Multithreading.Resources; +using Ryujinx.Graphics.Shader; using System; using System.Linq; @@ -262,9 +263,9 @@ namespace Ryujinx.Graphics.GAL.Multithreading _renderer.QueueCommand(); } - public void SetTextureAndSampler(int binding, ITexture texture, ISampler sampler) + public void SetTextureAndSampler(ShaderStage stage, int binding, ITexture texture, ISampler sampler) { - _renderer.New().Set(binding, Ref(texture), Ref(sampler)); + _renderer.New().Set(stage, binding, Ref(texture), Ref(sampler)); _renderer.QueueCommand(); } diff --git a/Ryujinx.Graphics.Gpu/Image/TextureBindingsManager.cs b/Ryujinx.Graphics.Gpu/Image/TextureBindingsManager.cs index 6f44dbb43..86eacdb46 100644 --- a/Ryujinx.Graphics.Gpu/Image/TextureBindingsManager.cs +++ b/Ryujinx.Graphics.Gpu/Image/TextureBindingsManager.cs @@ -559,7 +559,7 @@ namespace Ryujinx.Graphics.Gpu.Image state.ScaleIndex = index; state.UsageFlags = usageFlags; - _context.Renderer.Pipeline.SetTextureAndSampler(bindingInfo.Binding, hostTextureRebind, state.Sampler); + _context.Renderer.Pipeline.SetTextureAndSampler(stage, bindingInfo.Binding, hostTextureRebind, state.Sampler); } continue; @@ -582,7 +582,7 @@ namespace Ryujinx.Graphics.Gpu.Image // Ensure that the buffer texture is using the correct buffer as storage. // Buffers are frequently re-created to accomodate larger data, so we need to re-bind // to ensure we're not using a old buffer that was already deleted. - _channel.BufferManager.SetBufferTextureStorage(hostTexture, texture.Range.GetSubRange(0).Address, texture.Size, bindingInfo, bindingInfo.Format, false); + _channel.BufferManager.SetBufferTextureStorage(stage, hostTexture, texture.Range.GetSubRange(0).Address, texture.Size, bindingInfo, bindingInfo.Format, false); } else { @@ -599,7 +599,7 @@ namespace Ryujinx.Graphics.Gpu.Image state.Sampler = hostSampler; - _context.Renderer.Pipeline.SetTextureAndSampler(bindingInfo.Binding, hostTexture, hostSampler); + _context.Renderer.Pipeline.SetTextureAndSampler(stage, bindingInfo.Binding, hostTexture, hostSampler); } state.CachedTexture = texture; @@ -715,7 +715,7 @@ namespace Ryujinx.Graphics.Gpu.Image format = texture.Format; } - _channel.BufferManager.SetBufferTextureStorage(hostTexture, texture.Range.GetSubRange(0).Address, texture.Size, bindingInfo, format, true); + _channel.BufferManager.SetBufferTextureStorage(stage, hostTexture, texture.Range.GetSubRange(0).Address, texture.Size, bindingInfo, format, true); } else { diff --git a/Ryujinx.Graphics.Gpu/Memory/BufferManager.cs b/Ryujinx.Graphics.Gpu/Memory/BufferManager.cs index 7615d60d6..9f1f88b1e 100644 --- a/Ryujinx.Graphics.Gpu/Memory/BufferManager.cs +++ b/Ryujinx.Graphics.Gpu/Memory/BufferManager.cs @@ -435,7 +435,7 @@ namespace Ryujinx.Graphics.Gpu.Memory } else { - _context.Renderer.Pipeline.SetTextureAndSampler(binding.BindingInfo.Binding, binding.Texture, null); + _context.Renderer.Pipeline.SetTextureAndSampler(binding.Stage, binding.BindingInfo.Binding, binding.Texture, null); } } @@ -719,17 +719,25 @@ namespace Ryujinx.Graphics.Gpu.Memory /// /// Sets the buffer storage of a buffer texture. This will be bound when the buffer manager commits bindings. /// + /// Shader stage accessing the texture /// Buffer texture /// Address of the buffer in memory /// Size of the buffer in bytes /// Binding info for the buffer texture /// Format of the buffer texture /// Whether the binding is for an image or a sampler - public void SetBufferTextureStorage(ITexture texture, ulong address, ulong size, TextureBindingInfo bindingInfo, Format format, bool isImage) + public void SetBufferTextureStorage( + ShaderStage stage, + ITexture texture, + ulong address, + ulong size, + TextureBindingInfo bindingInfo, + Format format, + bool isImage) { _channel.MemoryManager.Physical.BufferCache.CreateBuffer(address, size); - _bufferTextures.Add(new BufferTextureBinding(texture, address, size, bindingInfo, format, isImage)); + _bufferTextures.Add(new BufferTextureBinding(stage, texture, address, size, bindingInfo, format, isImage)); } /// diff --git a/Ryujinx.Graphics.Gpu/Memory/BufferTextureBinding.cs b/Ryujinx.Graphics.Gpu/Memory/BufferTextureBinding.cs index cf0d225e8..2a1408708 100644 --- a/Ryujinx.Graphics.Gpu/Memory/BufferTextureBinding.cs +++ b/Ryujinx.Graphics.Gpu/Memory/BufferTextureBinding.cs @@ -1,5 +1,6 @@ using Ryujinx.Graphics.GAL; using Ryujinx.Graphics.Gpu.Image; +using Ryujinx.Graphics.Shader; namespace Ryujinx.Graphics.Gpu.Memory { @@ -8,6 +9,11 @@ namespace Ryujinx.Graphics.Gpu.Memory /// struct BufferTextureBinding { + /// + /// Shader stage accessing the texture. + /// + public ShaderStage Stage { get; } + /// /// The buffer texture. /// @@ -41,14 +47,23 @@ namespace Ryujinx.Graphics.Gpu.Memory /// /// Create a new buffer texture binding. /// + /// Shader stage accessing the texture /// Buffer texture /// Base address /// Size in bytes /// Binding info /// Binding format /// Whether the binding is for an image or a sampler - public BufferTextureBinding(ITexture texture, ulong address, ulong size, TextureBindingInfo bindingInfo, Format format, bool isImage) + public BufferTextureBinding( + ShaderStage stage, + ITexture texture, + ulong address, + ulong size, + TextureBindingInfo bindingInfo, + Format format, + bool isImage) { + Stage = stage; Texture = texture; Address = address; Size = size; diff --git a/Ryujinx.Graphics.OpenGL/Pipeline.cs b/Ryujinx.Graphics.OpenGL/Pipeline.cs index 02d4ab5cd..3ce4c141b 100644 --- a/Ryujinx.Graphics.OpenGL/Pipeline.cs +++ b/Ryujinx.Graphics.OpenGL/Pipeline.cs @@ -1195,7 +1195,7 @@ namespace Ryujinx.Graphics.OpenGL SetBuffers(first, buffers, isStorage: true); } - public void SetTextureAndSampler(int binding, ITexture texture, ISampler sampler) + public void SetTextureAndSampler(ShaderStage stage, int binding, ITexture texture, ISampler sampler) { if (texture != null) { diff --git a/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs b/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs index aecc3bde3..94f4b9b6e 100644 --- a/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs +++ b/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs @@ -167,7 +167,7 @@ namespace Ryujinx.Graphics.Vulkan SignalDirty(DirtyFlags.Storage); } - public void SetTextureAndSampler(int binding, ITexture texture, ISampler sampler) + public void SetTextureAndSampler(CommandBufferScoped cbs, ShaderStage stage, int binding, ITexture texture, ISampler sampler) { if (texture == null) { @@ -195,7 +195,11 @@ namespace Ryujinx.Graphics.Vulkan Array.Resize(ref _samplerRefs, binding + 1); } - _textureRefs[binding] = ((TextureView)texture).GetImageView(); + TextureView view = (TextureView)texture; + + view.Storage.InsertBarrier(cbs, AccessFlags.AccessShaderReadBit, stage.ConvertToPipelineStageFlags()); + + _textureRefs[binding] = view.GetImageView(); _samplerRefs[binding] = ((SamplerHolder)sampler)?.GetSampler(); _textures[binding] = new DescriptorImageInfo() diff --git a/Ryujinx.Graphics.Vulkan/EnumConversion.cs b/Ryujinx.Graphics.Vulkan/EnumConversion.cs index 023051373..8a1422cbe 100644 --- a/Ryujinx.Graphics.Vulkan/EnumConversion.cs +++ b/Ryujinx.Graphics.Vulkan/EnumConversion.cs @@ -30,6 +30,29 @@ namespace Ryujinx.Graphics.Vulkan return 0; } + public static PipelineStageFlags ConvertToPipelineStageFlags(this ShaderStage stage) + { + switch (stage) + { + case ShaderStage.Vertex: + return PipelineStageFlags.PipelineStageVertexShaderBit; + case ShaderStage.Geometry: + return PipelineStageFlags.PipelineStageGeometryShaderBit; + case ShaderStage.TessellationControl: + return PipelineStageFlags.PipelineStageTessellationControlShaderBit; + case ShaderStage.TessellationEvaluation: + return PipelineStageFlags.PipelineStageTessellationEvaluationShaderBit; + case ShaderStage.Fragment: + return PipelineStageFlags.PipelineStageFragmentShaderBit; + case ShaderStage.Compute: + return PipelineStageFlags.PipelineStageComputeShaderBit; + }; + + Logger.Debug?.Print(LogClass.Gpu, $"Invalid {nameof(ShaderStage)} enum value: {stage}."); + + return 0; + } + public static SamplerAddressMode Convert(this AddressMode mode) { switch (mode) diff --git a/Ryujinx.Graphics.Vulkan/FramebufferParams.cs b/Ryujinx.Graphics.Vulkan/FramebufferParams.cs index e6b25ca85..06c0aec71 100644 --- a/Ryujinx.Graphics.Vulkan/FramebufferParams.cs +++ b/Ryujinx.Graphics.Vulkan/FramebufferParams.cs @@ -10,6 +10,8 @@ namespace Ryujinx.Graphics.Vulkan { private readonly Device _device; private readonly Auto[] _attachments; + private readonly TextureView[] _colors; + private readonly TextureView _depthStencil; private uint _validColorAttachments; public uint Width { get; } @@ -59,6 +61,7 @@ namespace Ryujinx.Graphics.Vulkan int count = colorsCount + (IsValidTextureView(depthStencil) ? 1 : 0); _attachments = new Auto[count]; + _colors = new TextureView[colorsCount]; AttachmentSamples = new uint[count]; AttachmentFormats = new VkFormat[count]; @@ -79,6 +82,7 @@ namespace Ryujinx.Graphics.Vulkan var texture = (TextureView)color; _attachments[index] = texture.GetImageViewForAttachment(); + _colors[index] = texture; _validColorAttachments |= 1u << bindIndex; AttachmentSamples[index] = (uint)texture.Info.Samples; @@ -101,6 +105,7 @@ namespace Ryujinx.Graphics.Vulkan if (depthStencil is TextureView dsTexture && dsTexture.Valid) { _attachments[count - 1] = dsTexture.GetImageViewForAttachment(); + _depthStencil = dsTexture; AttachmentSamples[count - 1] = (uint)dsTexture.Info.Samples; AttachmentFormats[count - 1] = dsTexture.VkFormat; @@ -177,5 +182,22 @@ namespace Ryujinx.Graphics.Vulkan api.CreateFramebuffer(_device, framebufferCreateInfo, null, out var framebuffer).ThrowOnError(); return new Auto(new DisposableFramebuffer(api, _device, framebuffer), null, _attachments); } + + public void UpdateModifications() + { + if (_colors != null) + { + for (int index = 0; index < _colors.Length; index++) + { + _colors[index].Storage.SetModification( + AccessFlags.AccessColorAttachmentWriteBit, + PipelineStageFlags.PipelineStageColorAttachmentOutputBit); + } + } + + _depthStencil?.Storage.SetModification( + AccessFlags.AccessDepthStencilAttachmentWriteBit, + PipelineStageFlags.PipelineStageColorAttachmentOutputBit); + } } } diff --git a/Ryujinx.Graphics.Vulkan/HelperShader.cs b/Ryujinx.Graphics.Vulkan/HelperShader.cs index 044c9da00..9615d8a48 100644 --- a/Ryujinx.Graphics.Vulkan/HelperShader.cs +++ b/Ryujinx.Graphics.Vulkan/HelperShader.cs @@ -190,7 +190,7 @@ void main() var sampler = linearFilter ? _samplerLinear : _samplerNearest; - _pipeline.SetTextureAndSampler(Constants.MaxTexturesPerStage, src, sampler); + _pipeline.SetTextureAndSampler(ShaderStage.Fragment, Constants.MaxTexturesPerStage, src, sampler); Span region = stackalloc float[RegionBufferSize / sizeof(float)]; @@ -327,7 +327,7 @@ void main() { const int RegionBufferSize = 16; - pipeline.SetTextureAndSampler(Constants.MaxTexturesPerStage, src, srcSampler); + pipeline.SetTextureAndSampler(ShaderStage.Fragment, Constants.MaxTexturesPerStage, src, srcSampler); Span region = stackalloc float[RegionBufferSize / sizeof(float)]; diff --git a/Ryujinx.Graphics.Vulkan/PipelineBase.cs b/Ryujinx.Graphics.Vulkan/PipelineBase.cs index 0fc0d46ce..85a7f4791 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineBase.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineBase.cs @@ -627,6 +627,7 @@ namespace Ryujinx.Graphics.Vulkan public void SetRenderTargets(ITexture[] colors, ITexture depthStencil) { + FramebufferParams?.UpdateModifications(); CreateFramebuffer(colors, depthStencil); CreateRenderPass(); SignalStateChange(); @@ -710,9 +711,9 @@ namespace Ryujinx.Graphics.Vulkan _descriptorSetUpdater.SetStorageBuffers(CommandBuffer, first, buffers); } - public void SetTextureAndSampler(int binding, ITexture texture, ISampler sampler) + public void SetTextureAndSampler(ShaderStage stage, int binding, ITexture texture, ISampler sampler) { - _descriptorSetUpdater.SetTextureAndSampler(binding, texture, sampler); + _descriptorSetUpdater.SetTextureAndSampler(Cbs, stage, binding, texture, sampler); } public void SetTransformFeedbackBuffers(ReadOnlySpan buffers) diff --git a/Ryujinx.Graphics.Vulkan/TextureStorage.cs b/Ryujinx.Graphics.Vulkan/TextureStorage.cs index 21e16abed..60dc4d9b6 100644 --- a/Ryujinx.Graphics.Vulkan/TextureStorage.cs +++ b/Ryujinx.Graphics.Vulkan/TextureStorage.cs @@ -43,6 +43,9 @@ namespace Ryujinx.Graphics.Vulkan private Dictionary _aliasedStorages; + private AccessFlags _lastModificationAccess; + private PipelineStageFlags _lastModificationStage; + public VkFormat VkFormat { get; } public float ScaleFactor { get; } @@ -399,6 +402,56 @@ namespace Ryujinx.Graphics.Vulkan return Info.Format == GAL.Format.D24UnormS8Uint && VkFormat == VkFormat.D32SfloatS8Uint; } + public void SetModification(AccessFlags accessFlags, PipelineStageFlags stage) + { + _lastModificationAccess = accessFlags; + _lastModificationStage = stage; + } + + public void InsertBarrier(CommandBufferScoped cbs, AccessFlags dstAccessFlags, PipelineStageFlags dstStageFlags) + { + if (_lastModificationAccess != AccessFlags.AccessNoneKhr) + { + ImageAspectFlags aspectFlags; + + if (_info.Format.IsDepthOrStencil()) + { + if (_info.Format == GAL.Format.S8Uint) + { + aspectFlags = ImageAspectFlags.ImageAspectStencilBit; + } + else if (_info.Format == GAL.Format.D16Unorm || _info.Format == GAL.Format.D32Float) + { + aspectFlags = ImageAspectFlags.ImageAspectDepthBit; + } + else + { + aspectFlags = ImageAspectFlags.ImageAspectDepthBit | ImageAspectFlags.ImageAspectStencilBit; + } + } + else + { + aspectFlags = ImageAspectFlags.ImageAspectColorBit; + } + + TextureView.InsertImageBarrier( + _gd.Api, + cbs.CommandBuffer, + _imageAuto.Get(cbs).Value, + _lastModificationAccess, + dstAccessFlags, + _lastModificationStage, + dstStageFlags, + aspectFlags, + 0, + 0, + _info.GetLayers(), + _info.Levels); + + _lastModificationAccess = AccessFlags.AccessNoneKhr; + } + } + public void Dispose() { if (_aliasedStorages != null) From 646be812ed1e46edf730c09d01ae337885a592e9 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Tue, 19 Apr 2022 18:54:34 +0100 Subject: [PATCH 134/179] Report 32 bit query result on AMD windows (smo issue) --- .../Queries/BufferedQuery.cs | 33 +++++++++++++------ .../Queries/CounterQueue.cs | 5 +-- .../VulkanGraphicsDevice.cs | 2 ++ 3 files changed, 28 insertions(+), 12 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/Queries/BufferedQuery.cs b/Ryujinx.Graphics.Vulkan/Queries/BufferedQuery.cs index 2a5701579..ffebae812 100644 --- a/Ryujinx.Graphics.Vulkan/Queries/BufferedQuery.cs +++ b/Ryujinx.Graphics.Vulkan/Queries/BufferedQuery.cs @@ -11,6 +11,7 @@ namespace Ryujinx.Graphics.Vulkan.Queries { private const int MaxQueryRetries = 5000; private const long DefaultValue = -1; + private const long DefaultValueInt = 0xFFFFFFFF; private readonly Vk _api; private readonly Device _device; @@ -22,13 +23,17 @@ namespace Ryujinx.Graphics.Vulkan.Queries private readonly BufferHolder _buffer; private readonly IntPtr _bufferMap; private readonly CounterType _type; + private bool _result32Bit; - public unsafe BufferedQuery(VulkanGraphicsDevice gd, Device device, PipelineFull pipeline, CounterType type) + private long _defaultValue; + + public unsafe BufferedQuery(VulkanGraphicsDevice gd, Device device, PipelineFull pipeline, CounterType type, bool result32Bit) { _api = gd.Api; _device = device; _pipeline = pipeline; _type = type; + _result32Bit = result32Bit; QueryPipelineStatisticFlags flags = type == CounterType.PrimitivesGenerated ? QueryPipelineStatisticFlags.QueryPipelineStatisticGeometryShaderPrimitivesBit : 0; @@ -46,7 +51,8 @@ namespace Ryujinx.Graphics.Vulkan.Queries var buffer = gd.BufferManager.Create(gd, sizeof(long), forConditionalRendering: true); _bufferMap = buffer.Map(0, sizeof(long)); - Marshal.WriteInt64(_bufferMap, DefaultValue); + _defaultValue = result32Bit ? DefaultValueInt : DefaultValue; + Marshal.WriteInt64(_bufferMap, _defaultValue); _buffer = buffer; } @@ -84,7 +90,7 @@ namespace Ryujinx.Graphics.Vulkan.Queries if (withResult) { - Marshal.WriteInt64(_bufferMap, DefaultValue); + Marshal.WriteInt64(_bufferMap, _defaultValue); _pipeline.CopyQueryResults(this); } else @@ -98,16 +104,16 @@ namespace Ryujinx.Graphics.Vulkan.Queries { result = Marshal.ReadInt64(_bufferMap); - return result != DefaultValue; + return result != _defaultValue; } public long AwaitResult(AutoResetEvent wakeSignal = null) { - long data = DefaultValue; + long data = _defaultValue; if (wakeSignal == null) { - while (data == DefaultValue) + while (data == _defaultValue) { data = Marshal.ReadInt64(_bufferMap); } @@ -115,10 +121,10 @@ namespace Ryujinx.Graphics.Vulkan.Queries else { int iterations = 0; - while (data == DefaultValue && iterations++ < MaxQueryRetries) + while (data == _defaultValue && iterations++ < MaxQueryRetries) { data = Marshal.ReadInt64(_bufferMap); - if (data == DefaultValue) + if (data == _defaultValue) { wakeSignal.WaitOne(1); } @@ -143,6 +149,13 @@ namespace Ryujinx.Graphics.Vulkan.Queries { var buffer = _buffer.GetBuffer(cbs.CommandBuffer, true).Get(cbs, 0, sizeof(long)).Value; + QueryResultFlags flags = QueryResultFlags.QueryResultWaitBit; + + if (!_result32Bit) + { + flags |= QueryResultFlags.QueryResult64Bit; + } + _api.CmdCopyQueryPoolResults( cbs.CommandBuffer, _queryPool, @@ -150,8 +163,8 @@ namespace Ryujinx.Graphics.Vulkan.Queries 1, buffer, 0, - sizeof(long), - QueryResultFlags.QueryResult64Bit | QueryResultFlags.QueryResultWaitBit); + (ulong)(_result32Bit ? sizeof(int) : sizeof(long)), + flags); } public unsafe void Dispose() diff --git a/Ryujinx.Graphics.Vulkan/Queries/CounterQueue.cs b/Ryujinx.Graphics.Vulkan/Queries/CounterQueue.cs index 8ad2dd634..03a004b01 100644 --- a/Ryujinx.Graphics.Vulkan/Queries/CounterQueue.cs +++ b/Ryujinx.Graphics.Vulkan/Queries/CounterQueue.cs @@ -43,7 +43,8 @@ namespace Ryujinx.Graphics.Vulkan.Queries _queryPool = new Queue(QueryPoolInitialSize); for (int i = 0; i < QueryPoolInitialSize; i++) { - _queryPool.Enqueue(new BufferedQuery(_gd, _device, _pipeline, type)); + // AMD Polaris GPUs on Windows seem to have issues reporting 64-bit query results. + _queryPool.Enqueue(new BufferedQuery(_gd, _device, _pipeline, type, gd.IsAmdWindows)); } _current = new CounterQueueEvent(this, type, 0); @@ -96,7 +97,7 @@ namespace Ryujinx.Graphics.Vulkan.Queries } else { - return new BufferedQuery(_gd, _device, _pipeline, Type); + return new BufferedQuery(_gd, _device, _pipeline, Type, _gd.IsAmdWindows); } } } diff --git a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs index d6b81dfe1..432c121b1 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs @@ -77,6 +77,7 @@ namespace Ryujinx.Graphics.Vulkan private Func GetRequiredExtensions; internal Vendor Vendor { get; private set; } + internal bool IsAmdWindows { get; private set; } internal bool IsIntelWindows { get; private set; } public string GpuVendor { get; private set; } public string GpuRenderer { get; private set; } @@ -385,6 +386,7 @@ namespace Ryujinx.Graphics.Vulkan _ => Vendor.Unknown }; + IsAmdWindows = Vendor == Vendor.Amd && RuntimeInformation.IsOSPlatform(OSPlatform.Windows); IsIntelWindows = Vendor == Vendor.Intel && RuntimeInformation.IsOSPlatform(OSPlatform.Windows); GpuVendor = vendorName; From 2e53b2e0e8d4c4d8cde3f96b62d87e3050de97d5 Mon Sep 17 00:00:00 2001 From: gdk Date: Fri, 29 Apr 2022 23:14:51 -0300 Subject: [PATCH 135/179] Add texture recompression support (disabled for now) It recompresses ASTC textures into BC7, which might reduce VRAM usage significantly on games that uses ASTC textures --- Ryujinx.Graphics.Gpu/GraphicsConfig.cs | 5 + Ryujinx.Graphics.Gpu/Image/Texture.cs | 7 +- .../Image/TextureCompatibility.cs | 8 +- Ryujinx.Graphics.Texture/Astc/AstcDecoder.cs | 2 +- Ryujinx.Graphics.Texture/BCnEncoder.cs | 60 + .../Encoders/BC7Encoder.cs | 1073 ++++++++++++++ .../Encoders/BC7Tables.cs | 285 ++++ Ryujinx.Graphics.Texture/Encoders/BC7Utils.cs | 1305 +++++++++++++++++ .../Encoders/EncodeMode.cs | 10 + .../Encoders/RgbaColor32.cs | 206 +++ .../Encoders/RgbaColor8.cs | 83 ++ 11 files changed, 3040 insertions(+), 4 deletions(-) create mode 100644 Ryujinx.Graphics.Texture/BCnEncoder.cs create mode 100644 Ryujinx.Graphics.Texture/Encoders/BC7Encoder.cs create mode 100644 Ryujinx.Graphics.Texture/Encoders/BC7Tables.cs create mode 100644 Ryujinx.Graphics.Texture/Encoders/BC7Utils.cs create mode 100644 Ryujinx.Graphics.Texture/Encoders/EncodeMode.cs create mode 100644 Ryujinx.Graphics.Texture/Encoders/RgbaColor32.cs create mode 100644 Ryujinx.Graphics.Texture/Encoders/RgbaColor8.cs diff --git a/Ryujinx.Graphics.Gpu/GraphicsConfig.cs b/Ryujinx.Graphics.Gpu/GraphicsConfig.cs index 811f41323..d2f98c7f2 100644 --- a/Ryujinx.Graphics.Gpu/GraphicsConfig.cs +++ b/Ryujinx.Graphics.Gpu/GraphicsConfig.cs @@ -61,5 +61,10 @@ namespace Ryujinx.Graphics.Gpu /// Enables or disables shader SPIR-V compilation. /// public static bool EnableSpirvCompilationOnVulkan = true; + + /// + /// Enables or disables recompression of compressed textures that are not natively supported by the host. + /// + public static bool EnableTextureRecompression = false; } } \ No newline at end of file diff --git a/Ryujinx.Graphics.Gpu/Image/Texture.cs b/Ryujinx.Graphics.Gpu/Image/Texture.cs index cb10f456b..2ef76b686 100644 --- a/Ryujinx.Graphics.Gpu/Image/Texture.cs +++ b/Ryujinx.Graphics.Gpu/Image/Texture.cs @@ -826,13 +826,18 @@ namespace Ryujinx.Graphics.Gpu.Image depth, levels, layers, - out Span decoded)) + out byte[] decoded)) { string texInfo = $"{Info.Target} {Info.FormatInfo.Format} {Info.Width}x{Info.Height}x{Info.DepthOrLayers} levels {Info.Levels}"; Logger.Debug?.Print(LogClass.Gpu, $"Invalid ASTC texture at 0x{Info.GpuAddress:X} ({texInfo})."); } + if (GraphicsConfig.EnableTextureRecompression) + { + decoded = BCnEncoder.EncodeBC7(decoded, width, height, depth, levels, layers); + } + data = decoded; } else if (!_context.Capabilities.SupportsR4G4Format && Format == Format.R4G4Unorm) diff --git a/Ryujinx.Graphics.Gpu/Image/TextureCompatibility.cs b/Ryujinx.Graphics.Gpu/Image/TextureCompatibility.cs index 61b48dc4d..62cd456db 100644 --- a/Ryujinx.Graphics.Gpu/Image/TextureCompatibility.cs +++ b/Ryujinx.Graphics.Gpu/Image/TextureCompatibility.cs @@ -71,11 +71,15 @@ namespace Ryujinx.Graphics.Gpu.Image { if (info.FormatInfo.Format.IsAstcUnorm()) { - return new FormatInfo(Format.R8G8B8A8Unorm, 1, 1, 4, 4); + return GraphicsConfig.EnableTextureRecompression + ? new FormatInfo(Format.Bc7Unorm, 4, 4, 16, 4) + : new FormatInfo(Format.R8G8B8A8Unorm, 1, 1, 4, 4); } else if (info.FormatInfo.Format.IsAstcSrgb()) { - return new FormatInfo(Format.R8G8B8A8Srgb, 1, 1, 4, 4); + return GraphicsConfig.EnableTextureRecompression + ? new FormatInfo(Format.Bc7Srgb, 4, 4, 16, 4) + : new FormatInfo(Format.R8G8B8A8Srgb, 1, 1, 4, 4); } } diff --git a/Ryujinx.Graphics.Texture/Astc/AstcDecoder.cs b/Ryujinx.Graphics.Texture/Astc/AstcDecoder.cs index 238f46a07..08738583e 100644 --- a/Ryujinx.Graphics.Texture/Astc/AstcDecoder.cs +++ b/Ryujinx.Graphics.Texture/Astc/AstcDecoder.cs @@ -291,7 +291,7 @@ namespace Ryujinx.Graphics.Texture.Astc int depth, int levels, int layers, - out Span decoded) + out byte[] decoded) { byte[] output = new byte[QueryDecompressedSize(width, height, depth, levels, layers)]; diff --git a/Ryujinx.Graphics.Texture/BCnEncoder.cs b/Ryujinx.Graphics.Texture/BCnEncoder.cs new file mode 100644 index 000000000..02b79c1b8 --- /dev/null +++ b/Ryujinx.Graphics.Texture/BCnEncoder.cs @@ -0,0 +1,60 @@ +using Ryujinx.Common; +using Ryujinx.Graphics.Texture.Encoders; +using System; + +namespace Ryujinx.Graphics.Texture +{ + public static class BCnEncoder + { + private const int BlockWidth = 4; + private const int BlockHeight = 4; + + public static byte[] EncodeBC7(byte[] data, int width, int height, int depth, int levels, int layers) + { + int size = 0; + + for (int l = 0; l < levels; l++) + { + int w = BitUtils.DivRoundUp(Math.Max(1, width >> l), BlockWidth); + int h = BitUtils.DivRoundUp(Math.Max(1, height >> l), BlockHeight); + + size += w * h * 16 * Math.Max(1, depth >> l) * layers; + } + + byte[] output = new byte[size]; + + int imageBaseIOffs = 0; + int imageBaseOOffs = 0; + + for (int l = 0; l < levels; l++) + { + int rgba8Size = width * height * depth * layers * 4; + + int w = BitUtils.DivRoundUp(width, BlockWidth); + int h = BitUtils.DivRoundUp(height, BlockHeight); + + for (int l2 = 0; l2 < layers; l2++) + { + for (int z = 0; z < depth; z++) + { + BC7Encoder.Encode( + output.AsMemory().Slice(imageBaseOOffs), + data.AsMemory().Slice(imageBaseIOffs), + width, + height, + EncodeMode.Fast | EncodeMode.Multithreaded); + + imageBaseIOffs += width * height * 4; + imageBaseOOffs += w * h * 16; + } + } + + width = Math.Max(1, width >> 1); + height = Math.Max(1, height >> 1); + depth = Math.Max(1, depth >> 1); + } + + return output; + } + } +} \ No newline at end of file diff --git a/Ryujinx.Graphics.Texture/Encoders/BC7Encoder.cs b/Ryujinx.Graphics.Texture/Encoders/BC7Encoder.cs new file mode 100644 index 000000000..896f70468 --- /dev/null +++ b/Ryujinx.Graphics.Texture/Encoders/BC7Encoder.cs @@ -0,0 +1,1073 @@ +using System; +using System.Numerics; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Runtime.Intrinsics; +using System.Runtime.Intrinsics.X86; +using System.Threading.Tasks; + +namespace Ryujinx.Graphics.Texture.Encoders +{ + static class BC7Encoder + { + private struct ModeInfo + { + public readonly int SubsetCount; + public readonly int PartitionBitCount; + public readonly int PBits; + public readonly int RotationBitCount; + public readonly int IndexModeBitCount; + public readonly int ColorIndexBitCount; + public readonly int AlphaIndexBitCount; + public readonly int ColorDepth; + public readonly int AlphaDepth; + + public ModeInfo( + int subsetCount, + int partitionBitsCount, + int pBits, + int rotationBitCount, + int indexModeBitCount, + int colorIndexBitCount, + int alphaIndexBitCount, + int colorDepth, + int alphaDepth) + { + SubsetCount = subsetCount; + PartitionBitCount = partitionBitsCount; + PBits = pBits; + RotationBitCount = rotationBitCount; + IndexModeBitCount = indexModeBitCount; + ColorIndexBitCount = colorIndexBitCount; + AlphaIndexBitCount = alphaIndexBitCount; + ColorDepth = colorDepth; + AlphaDepth = alphaDepth; + } + } + + private static readonly ModeInfo[] _modeInfos = new ModeInfo[] + { + new ModeInfo(3, 4, 6, 0, 0, 3, 0, 4, 0), + new ModeInfo(2, 6, 2, 0, 0, 3, 0, 6, 0), + new ModeInfo(3, 6, 0, 0, 0, 2, 0, 5, 0), + new ModeInfo(2, 6, 4, 0, 0, 2, 0, 7, 0), + new ModeInfo(1, 0, 0, 2, 1, 2, 3, 5, 6), + new ModeInfo(1, 0, 0, 2, 0, 2, 2, 7, 8), + new ModeInfo(1, 0, 2, 0, 0, 4, 0, 7, 7), + new ModeInfo(2, 6, 4, 0, 0, 2, 0, 5, 5) + }; + + public static void Encode(Memory outputStorage, ReadOnlyMemory data, int width, int height, EncodeMode mode) + { + int widthInBlocks = (width + 3) / 4; + int heightInBlocks = (height + 3) / 4; + + bool fastMode = (mode & EncodeMode.ModeMask) == EncodeMode.Fast; + + if (mode.HasFlag(EncodeMode.Multithreaded)) + { + Parallel.For(0, heightInBlocks, (yInBlocks) => + { + Span output = MemoryMarshal.Cast(outputStorage.Span); + int y = yInBlocks * 4; + + for (int xInBlocks = 0; xInBlocks < widthInBlocks; xInBlocks++) + { + int x = xInBlocks * 4; + Block block = CompressBlock(data.Span, x, y, width, height, fastMode); + + int offset = (yInBlocks * widthInBlocks + xInBlocks) * 2; + output[offset] = block.Low; + output[offset + 1] = block.High; + } + }); + } + else + { + Span output = MemoryMarshal.Cast(outputStorage.Span); + int offset = 0; + + for (int y = 0; y < height; y += 4) + { + for (int x = 0; x < width; x += 4) + { + Block block = CompressBlock(data.Span, x, y, width, height, fastMode); + + output[offset++] = block.Low; + output[offset++] = block.High; + } + } + } + } + + private static int[] _mostFrequentPartitions = new int[] + { + 0, 13, 2, 1, 15, 14, 10, 23 + }; + + private struct Block + { + public ulong Low; + public ulong High; + + public void Encode(ulong value, ref int offset, int bits) + { + if (offset >= 64) + { + High |= value << (offset - 64); + } + else + { + Low |= value << offset; + + if (offset + bits > 64) + { + int remainder = 64 - offset; + High |= value >> remainder; + } + } + + offset += bits; + } + } + + private static Block CompressBlock(ReadOnlySpan data, int x, int y, int width, int height, bool fastMode) + { + int w = Math.Min(4, width - x); + int h = Math.Min(4, height - y); + + var dataUint = MemoryMarshal.Cast(data); + + int baseOffset = y * width + x; + + Span tile = stackalloc uint[w * h]; + + for (int ty = 0; ty < h; ty++) + { + int rowOffset = baseOffset + ty * width; + + for (int tx = 0; tx < w; tx++) + { + tile[ty * w + tx] = dataUint[rowOffset + tx]; + } + } + + return fastMode ? EncodeFast(tile, w, h) : EncodeExhaustive(tile, w, h); + } + + private static Block EncodeFast(ReadOnlySpan tile, int w, int h) + { + (RgbaColor8 minColor, RgbaColor8 maxColor) = BC7Utils.GetMinMaxColors(tile, w, h); + + bool alphaNotOne = minColor.A != 255 || maxColor.A != 255; + int variance = BC7Utils.SquaredDifference(minColor.GetColor32(), maxColor.GetColor32()); + int selectedMode; + int indexMode = 0; + + if (alphaNotOne) + { + bool constantAlpha = minColor.A == maxColor.A; + if (constantAlpha) + { + selectedMode = variance > 160 ? 7 : 6; + } + else + { + if (variance > 160) + { + Span uniqueRGB = stackalloc uint[16]; + Span uniqueAlpha = stackalloc uint[16]; + + int uniqueRGBCount = 0; + int uniqueAlphaCount = 0; + + uint rgbMask = new RgbaColor8(255, 255, 255, 0).ToUInt32(); + uint alphaMask = new RgbaColor8(0, 0, 0, 255).ToUInt32(); + + for (int i = 0; i < tile.Length; i++) + { + uint c = tile[i]; + + if (!uniqueRGB.Slice(0, uniqueRGBCount).Contains(c & rgbMask)) + { + uniqueRGB[uniqueRGBCount++] = c & rgbMask; + } + + if (!uniqueAlpha.Slice(0, uniqueAlphaCount).Contains(c & alphaMask)) + { + uniqueAlpha[uniqueAlphaCount++] = c & alphaMask; + } + } + + selectedMode = 4; + indexMode = uniqueRGBCount > uniqueAlphaCount ? 1 : 0; + } + else + { + selectedMode = 5; + } + } + } + else + { + if (variance > 160) + { + selectedMode = 1; + } + else + { + selectedMode = 6; + } + } + + int selectedPartition = 0; + + if (selectedMode == 1 || selectedMode == 7) + { + int partitionSelectionLowestError = int.MaxValue; + + for (int i = 0; i < _mostFrequentPartitions.Length; i++) + { + int p = _mostFrequentPartitions[i]; + int error = GetEndPointSelectionErrorFast(tile, 2, p, w, h, partitionSelectionLowestError); + if (error < partitionSelectionLowestError) + { + partitionSelectionLowestError = error; + selectedPartition = p; + } + } + } + + return Encode(selectedMode, selectedPartition, 0, indexMode, fastMode: true, tile, w, h, out _); + } + + private static Block EncodeExhaustive(ReadOnlySpan tile, int w, int h) + { + Block bestBlock = default; + int lowestError = int.MaxValue; + int lowestErrorSubsets = int.MaxValue; + + for (int m = 0; m < 8; m++) + { + for (int r = 0; r < (m == 4 || m == 5 ? 4 : 1); r++) + { + for (int im = 0; im < (m == 4 ? 2 : 1); im++) + { + for (int p = 0; p < 1 << _modeInfos[m].PartitionBitCount; p++) + { + Block block = Encode(m, p, r, im, fastMode: false, tile, w, h, out int maxError); + if (maxError < lowestError || (maxError == lowestError && _modeInfos[m].SubsetCount < lowestErrorSubsets)) + { + lowestError = maxError; + lowestErrorSubsets = _modeInfos[m].SubsetCount; + bestBlock = block; + } + } + } + } + } + + return bestBlock; + } + + private static Block Encode( + int mode, + int partition, + int rotation, + int indexMode, + bool fastMode, + ReadOnlySpan tile, + int w, + int h, + out int errorSum) + { + ModeInfo modeInfo = _modeInfos[mode]; + int subsetCount = modeInfo.SubsetCount; + int partitionBitCount = modeInfo.PartitionBitCount; + int rotationBitCount = modeInfo.RotationBitCount; + int indexModeBitCount = modeInfo.IndexModeBitCount; + int colorDepth = modeInfo.ColorDepth; + int alphaDepth = modeInfo.AlphaDepth; + int pBits = modeInfo.PBits; + int colorIndexBitCount = modeInfo.ColorIndexBitCount; + int alphaIndexBitCount = modeInfo.AlphaIndexBitCount; + bool separateAlphaIndices = alphaIndexBitCount != 0; + + uint alphaMask; + + if (separateAlphaIndices) + { + alphaMask = rotation switch + { + 1 => new RgbaColor8(255, 0, 0, 0).ToUInt32(), + 2 => new RgbaColor8(0, 255, 0, 0).ToUInt32(), + 3 => new RgbaColor8(0, 0, 255, 0).ToUInt32(), + _ => new RgbaColor8(0, 0, 0, 255).ToUInt32() + }; + } + else + { + alphaMask = new RgbaColor8(0, 0, 0, 0).ToUInt32(); + } + + if (indexMode != 0) + { + alphaMask = ~alphaMask; + } + + // + // Select color palette. + // + + Span endPoints0 = stackalloc uint[subsetCount]; + Span endPoints1 = stackalloc uint[subsetCount]; + + SelectEndPoints( + tile, + w, + h, + endPoints0, + endPoints1, + subsetCount, + partition, + colorIndexBitCount, + colorDepth, + alphaDepth, + ~alphaMask, + fastMode); + + if (separateAlphaIndices) + { + SelectEndPoints( + tile, + w, + h, + endPoints0, + endPoints1, + subsetCount, + partition, + alphaIndexBitCount, + colorDepth, + alphaDepth, + alphaMask, + fastMode); + } + + Span pBitValues = stackalloc int[pBits]; + + for (int i = 0; i < pBits; i++) + { + int pBit; + + if (pBits == subsetCount) + { + pBit = GetPBit(endPoints0[i], endPoints1[i], colorDepth, alphaDepth); + } + else + { + int subset = i >> 1; + uint color = (i & 1) == 0 ? endPoints0[subset] : endPoints1[subset]; + pBit = GetPBit(color, colorDepth, alphaDepth); + } + + pBitValues[i] = pBit; + } + + int colorIndexCount = 1 << colorIndexBitCount; + int alphaIndexCount = 1 << alphaIndexBitCount; + + Span colorIndices = stackalloc byte[16]; + Span alphaIndices = stackalloc byte[16]; + + errorSum = BC7Utils.SelectIndices( + tile, + w, + h, + endPoints0, + endPoints1, + pBitValues, + colorIndices, + subsetCount, + partition, + colorIndexBitCount, + colorIndexCount, + colorDepth, + alphaDepth, + pBits, + alphaMask); + + if (separateAlphaIndices) + { + errorSum += BC7Utils.SelectIndices( + tile, + w, + h, + endPoints0, + endPoints1, + pBitValues, + alphaIndices, + subsetCount, + partition, + alphaIndexBitCount, + alphaIndexCount, + colorDepth, + alphaDepth, + pBits, + ~alphaMask); + } + + Span colorSwapSubset = stackalloc bool[3]; + + for (int i = 0; i < 3; i++) + { + colorSwapSubset[i] = colorIndices[BC7Tables.FixUpIndices[subsetCount - 1][partition][i]] >= (colorIndexCount >> 1); + } + + bool alphaSwapSubset = alphaIndices[0] >= (alphaIndexCount >> 1); + + Block block = new Block(); + + int offset = 0; + + block.Encode(1UL << mode, ref offset, mode + 1); + block.Encode((ulong)partition, ref offset, partitionBitCount); + block.Encode((ulong)rotation, ref offset, rotationBitCount); + block.Encode((ulong)indexMode, ref offset, indexModeBitCount); + + for (int comp = 0; comp < 3; comp++) + { + int rotatedComp = comp; + + if (((comp + 1) & 3) == rotation) + { + rotatedComp = 3; + } + + for (int subset = 0; subset < subsetCount; subset++) + { + RgbaColor8 color0 = RgbaColor8.FromUInt32(endPoints0[subset]); + RgbaColor8 color1 = RgbaColor8.FromUInt32(endPoints1[subset]); + + int pBit0 = -1, pBit1 = -1; + + if (pBits == subsetCount) + { + pBit0 = pBit1 = pBitValues[subset]; + } + else if (pBits != 0) + { + pBit0 = pBitValues[subset * 2]; + pBit1 = pBitValues[subset * 2 + 1]; + } + + if (indexMode == 0 ? colorSwapSubset[subset] : alphaSwapSubset) + { + block.Encode(BC7Utils.QuantizeComponent(color1.GetComponent(rotatedComp), colorDepth, pBit1), ref offset, colorDepth); + block.Encode(BC7Utils.QuantizeComponent(color0.GetComponent(rotatedComp), colorDepth, pBit0), ref offset, colorDepth); + } + else + { + block.Encode(BC7Utils.QuantizeComponent(color0.GetComponent(rotatedComp), colorDepth, pBit0), ref offset, colorDepth); + block.Encode(BC7Utils.QuantizeComponent(color1.GetComponent(rotatedComp), colorDepth, pBit1), ref offset, colorDepth); + } + } + } + + if (alphaDepth != 0) + { + int rotatedComp = (rotation - 1) & 3; + + for (int subset = 0; subset < subsetCount; subset++) + { + RgbaColor8 color0 = RgbaColor8.FromUInt32(endPoints0[subset]); + RgbaColor8 color1 = RgbaColor8.FromUInt32(endPoints1[subset]); + + int pBit0 = -1, pBit1 = -1; + + if (pBits == subsetCount) + { + pBit0 = pBit1 = pBitValues[subset]; + } + else if (pBits != 0) + { + pBit0 = pBitValues[subset * 2]; + pBit1 = pBitValues[subset * 2 + 1]; + } + + if (separateAlphaIndices && indexMode == 0 ? alphaSwapSubset : colorSwapSubset[subset]) + { + block.Encode(BC7Utils.QuantizeComponent(color1.GetComponent(rotatedComp), alphaDepth, pBit1), ref offset, alphaDepth); + block.Encode(BC7Utils.QuantizeComponent(color0.GetComponent(rotatedComp), alphaDepth, pBit0), ref offset, alphaDepth); + } + else + { + block.Encode(BC7Utils.QuantizeComponent(color0.GetComponent(rotatedComp), alphaDepth, pBit0), ref offset, alphaDepth); + block.Encode(BC7Utils.QuantizeComponent(color1.GetComponent(rotatedComp), alphaDepth, pBit1), ref offset, alphaDepth); + } + } + } + + for (int i = 0; i < pBits; i++) + { + block.Encode((ulong)pBitValues[i], ref offset, 1); + } + + byte[] fixUpTable = BC7Tables.FixUpIndices[subsetCount - 1][partition]; + + for (int i = 0; i < 16; i++) + { + int subset = BC7Tables.PartitionTable[subsetCount - 1][partition][i]; + byte index = colorIndices[i]; + + if (colorSwapSubset[subset]) + { + index = (byte)(index ^ (colorIndexCount - 1)); + } + + int finalIndexBitCount = i == fixUpTable[subset] ? colorIndexBitCount - 1 : colorIndexBitCount; + + if (index >= (1 << finalIndexBitCount)) + { + throw new Exception("invalid index " + index); + } + + block.Encode(index, ref offset, finalIndexBitCount); + } + + if (separateAlphaIndices) + { + for (int i = 0; i < 16; i++) + { + byte index = alphaIndices[i]; + + if (alphaSwapSubset) + { + index = (byte)(index ^ (alphaIndexCount - 1)); + } + + int finalIndexBitCount = i == 0 ? alphaIndexBitCount - 1 : alphaIndexBitCount; + + if (index >= (1 << finalIndexBitCount)) + { + throw new Exception("invalid alpha index " + index); + } + + block.Encode(index, ref offset, finalIndexBitCount); + } + } + + return block; + } + + private static unsafe int GetEndPointSelectionErrorFast(ReadOnlySpan tile, int subsetCount, int partition, int w, int h, int maxError) + { + byte[] partitionTable = BC7Tables.PartitionTable[subsetCount - 1][partition]; + + Span minColors = stackalloc RgbaColor8[subsetCount]; + Span maxColors = stackalloc RgbaColor8[subsetCount]; + + BC7Utils.GetMinMaxColors(partitionTable, tile, w, h, minColors, maxColors, subsetCount); + + Span endPoints0 = stackalloc uint[subsetCount]; + Span endPoints1 = stackalloc uint[subsetCount]; + + SelectEndPointsFast(partitionTable, tile, w, h, subsetCount, minColors, maxColors, endPoints0, endPoints1, uint.MaxValue); + + Span palette = stackalloc RgbaColor32[8]; + + int errorSum = 0; + + for (int subset = 0; subset < subsetCount; subset++) + { + RgbaColor32 blockDir = maxColors[subset].GetColor32() - minColors[subset].GetColor32(); + int sum = blockDir.R + blockDir.G + blockDir.B + blockDir.A; + if (sum != 0) + { + blockDir = (blockDir << 6) / new RgbaColor32(sum); + } + + uint c0 = endPoints0[subset]; + uint c1 = endPoints1[subset]; + + int pBit0 = GetPBit(c0, 6, 0); + int pBit1 = GetPBit(c1, 6, 0); + + c0 = BC7Utils.Quantize(RgbaColor8.FromUInt32(c0), 6, 0, pBit0).ToUInt32(); + c1 = BC7Utils.Quantize(RgbaColor8.FromUInt32(c1), 6, 0, pBit1).ToUInt32(); + + if (Sse41.IsSupported) + { + Vector128 c0Rep = Vector128.Create(c0).AsByte(); + Vector128 c1Rep = Vector128.Create(c1).AsByte(); + + Vector128 c0c1 = Sse2.UnpackLow(c0Rep, c1Rep); + + Vector128 rWeights; + Vector128 lWeights; + + fixed (byte* pWeights = BC7Tables.Weights[1], pInvWeights = BC7Tables.InverseWeights[1]) + { + rWeights = Sse2.LoadScalarVector128((ulong*)pWeights).AsByte(); + lWeights = Sse2.LoadScalarVector128((ulong*)pInvWeights).AsByte(); + } + + Vector128 iWeights = Sse2.UnpackLow(rWeights, lWeights); + Vector128 iWeights01 = Sse2.UnpackLow(iWeights.AsInt16(), iWeights.AsInt16()).AsByte(); + Vector128 iWeights23 = Sse2.UnpackHigh(iWeights.AsInt16(), iWeights.AsInt16()).AsByte(); + Vector128 iWeights0 = Sse2.UnpackLow(iWeights01.AsInt16(), iWeights01.AsInt16()).AsByte(); + Vector128 iWeights1 = Sse2.UnpackHigh(iWeights01.AsInt16(), iWeights01.AsInt16()).AsByte(); + Vector128 iWeights2 = Sse2.UnpackLow(iWeights23.AsInt16(), iWeights23.AsInt16()).AsByte(); + Vector128 iWeights3 = Sse2.UnpackHigh(iWeights23.AsInt16(), iWeights23.AsInt16()).AsByte(); + + static Vector128 ShiftRoundToNearest(Vector128 x) + { + return Sse2.ShiftRightLogical(Sse2.Add(x, Vector128.Create((short)32)), 6); + } + + Vector128 pal0 = ShiftRoundToNearest(Ssse3.MultiplyAddAdjacent(c0c1, iWeights0.AsSByte())); + Vector128 pal1 = ShiftRoundToNearest(Ssse3.MultiplyAddAdjacent(c0c1, iWeights1.AsSByte())); + Vector128 pal2 = ShiftRoundToNearest(Ssse3.MultiplyAddAdjacent(c0c1, iWeights2.AsSByte())); + Vector128 pal3 = ShiftRoundToNearest(Ssse3.MultiplyAddAdjacent(c0c1, iWeights3.AsSByte())); + + for (int i = 0; i < tile.Length; i++) + { + if (partitionTable[i] != subset) + { + continue; + } + + uint c = tile[i]; + + Vector128 color = Sse41.ConvertToVector128Int16(Vector128.Create(c).AsByte()); + + Vector128 delta0 = Sse2.Subtract(color, pal0); + Vector128 delta1 = Sse2.Subtract(color, pal1); + Vector128 delta2 = Sse2.Subtract(color, pal2); + Vector128 delta3 = Sse2.Subtract(color, pal3); + + Vector128 deltaSum0 = Sse2.MultiplyAddAdjacent(delta0, delta0); + Vector128 deltaSum1 = Sse2.MultiplyAddAdjacent(delta1, delta1); + Vector128 deltaSum2 = Sse2.MultiplyAddAdjacent(delta2, delta2); + Vector128 deltaSum3 = Sse2.MultiplyAddAdjacent(delta3, delta3); + + Vector128 deltaSum01 = Ssse3.HorizontalAdd(deltaSum0, deltaSum1); + Vector128 deltaSum23 = Ssse3.HorizontalAdd(deltaSum2, deltaSum3); + + Vector128 delta = Sse41.PackUnsignedSaturate(deltaSum01, deltaSum23); + + Vector128 min = Sse41.MinHorizontal(delta); + + errorSum += min.GetElement(0); + } + } + else + { + RgbaColor32 e032 = RgbaColor8.FromUInt32(c0).GetColor32(); + RgbaColor32 e132 = RgbaColor8.FromUInt32(c1).GetColor32(); + + palette[0] = e032; + palette[palette.Length - 1] = e132; + + for (int i = 1; i < palette.Length - 1; i++) + { + palette[i] = BC7Utils.Interpolate(e032, e132, i, 3); + } + + for (int i = 0; i < tile.Length; i++) + { + if (partitionTable[i] != subset) + { + continue; + } + + uint c = tile[i]; + RgbaColor32 color = Unsafe.As(ref c).GetColor32(); + + int bestMatchScore = int.MaxValue; + + for (int j = 0; j < palette.Length; j++) + { + int score = BC7Utils.SquaredDifference(color, palette[j]); + + if (score < bestMatchScore) + { + bestMatchScore = score; + } + } + + errorSum += bestMatchScore; + } + } + + // No point in continuing if we are already above maximum. + if (errorSum >= maxError) + { + return int.MaxValue; + } + } + + return errorSum; + } + + private static void SelectEndPoints( + ReadOnlySpan tile, + int w, + int h, + Span endPoints0, + Span endPoints1, + int subsetCount, + int partition, + int indexBitCount, + int colorDepth, + int alphaDepth, + uint writeMask, + bool fastMode) + { + byte[] partitionTable = BC7Tables.PartitionTable[subsetCount - 1][partition]; + + Span minColors = stackalloc RgbaColor8[subsetCount]; + Span maxColors = stackalloc RgbaColor8[subsetCount]; + + BC7Utils.GetMinMaxColors(partitionTable, tile, w, h, minColors, maxColors, subsetCount); + + uint inverseMask = ~writeMask; + + for (int i = 0; i < subsetCount; i++) + { + Unsafe.As(ref minColors[i]) |= inverseMask; + Unsafe.As(ref maxColors[i]) |= inverseMask; + } + + if (fastMode) + { + SelectEndPointsFast(partitionTable, tile, w, h, subsetCount, minColors, maxColors, endPoints0, endPoints1, writeMask); + } + else + { + Span colors = stackalloc RgbaColor8[subsetCount * 16]; + Span counts = stackalloc byte[subsetCount]; + + int i = 0; + for (int ty = 0; ty < h; ty++) + { + for (int tx = 0; tx < w; tx++) + { + int subset = partitionTable[ty * 4 + tx]; + RgbaColor8 color = RgbaColor8.FromUInt32(tile[i++] | inverseMask); + + static void AddIfNew(Span values, RgbaColor8 value, int subset, ref byte count) + { + for (int i = 0; i < count; i++) + { + if (values[subset * 16 + i] == value) + { + return; + } + } + + values[subset * 16 + count++] = value; + } + + AddIfNew(colors, color, subset, ref counts[subset]); + } + } + + for (int subset = 0; subset < subsetCount; subset++) + { + int offset = subset * 16; + + RgbaColor8 minColor = minColors[subset]; + RgbaColor8 maxColor = maxColors[subset]; + + ReadOnlySpan subsetColors = colors.Slice(offset, counts[subset]); + + (RgbaColor8 e0, RgbaColor8 e1) = SelectEndPoints(subsetColors, minColor, maxColor, indexBitCount, colorDepth, alphaDepth, inverseMask); + + endPoints0[subset] = (endPoints0[subset] & inverseMask) | (e0.ToUInt32() & writeMask); + endPoints1[subset] = (endPoints1[subset] & inverseMask) | (e1.ToUInt32() & writeMask); + } + } + } + + private static unsafe void SelectEndPointsFast( + ReadOnlySpan partitionTable, + ReadOnlySpan tile, + int w, + int h, + int subsetCount, + ReadOnlySpan minColors, + ReadOnlySpan maxColors, + Span endPoints0, + Span endPoints1, + uint writeMask) + { + uint inverseMask = ~writeMask; + + if (Sse41.IsSupported && w == 4 && h == 4) + { + Vector128 row0, row1, row2, row3; + Vector128 ones = Vector128.AllBitsSet; + + fixed (uint* pTile = tile) + { + row0 = Sse2.LoadVector128(pTile).AsByte(); + row1 = Sse2.LoadVector128(pTile + 4).AsByte(); + row2 = Sse2.LoadVector128(pTile + 8).AsByte(); + row3 = Sse2.LoadVector128(pTile + 12).AsByte(); + } + + Vector128 partitionMask; + + fixed (byte* pPartitionTable = partitionTable) + { + partitionMask = Sse2.LoadVector128(pPartitionTable); + } + + for (int subset = 0; subset < subsetCount; subset++) + { + RgbaColor32 blockDir = maxColors[subset].GetColor32() - minColors[subset].GetColor32(); + int sum = blockDir.R + blockDir.G + blockDir.B + blockDir.A; + if (sum != 0) + { + blockDir = (blockDir << 6) / new RgbaColor32(sum); + } + + Vector128 bd = Vector128.Create(blockDir.GetColor8().ToUInt32()).AsByte(); + + Vector128 delta0 = Ssse3.MultiplyAddAdjacent(row0, bd.AsSByte()); + Vector128 delta1 = Ssse3.MultiplyAddAdjacent(row1, bd.AsSByte()); + Vector128 delta2 = Ssse3.MultiplyAddAdjacent(row2, bd.AsSByte()); + Vector128 delta3 = Ssse3.MultiplyAddAdjacent(row3, bd.AsSByte()); + + Vector128 delta01 = Ssse3.HorizontalAdd(delta0, delta1); + Vector128 delta23 = Ssse3.HorizontalAdd(delta2, delta3); + + Vector128 subsetMask = Sse2.Xor(Sse2.CompareEqual(partitionMask, Vector128.Create((byte)subset)), ones.AsByte()); + + Vector128 subsetMask01 = Sse2.UnpackLow(subsetMask, subsetMask).AsInt16(); + Vector128 subsetMask23 = Sse2.UnpackHigh(subsetMask, subsetMask).AsInt16(); + + Vector128 min01 = Sse41.MinHorizontal(Sse2.Or(delta01, subsetMask01).AsUInt16()); + Vector128 min23 = Sse41.MinHorizontal(Sse2.Or(delta23, subsetMask23).AsUInt16()); + Vector128 max01 = Sse41.MinHorizontal(Sse2.Xor(Sse2.AndNot(subsetMask01, delta01), ones).AsUInt16()); + Vector128 max23 = Sse41.MinHorizontal(Sse2.Xor(Sse2.AndNot(subsetMask23, delta23), ones).AsUInt16()); + + uint minPos01 = min01.AsUInt32().GetElement(0); + uint minPos23 = min23.AsUInt32().GetElement(0); + uint maxPos01 = max01.AsUInt32().GetElement(0); + uint maxPos23 = max23.AsUInt32().GetElement(0); + + uint minDistColor = (ushort)minPos23 < (ushort)minPos01 + ? tile[(int)(minPos23 >> 16) + 8] + : tile[(int)(minPos01 >> 16)]; + + // Note that we calculate the maximum as the minimum of the inverse, so less here is actually greater. + uint maxDistColor = (ushort)maxPos23 < (ushort)maxPos01 + ? tile[(int)(maxPos23 >> 16) + 8] + : tile[(int)(maxPos01 >> 16)]; + + endPoints0[subset] = (endPoints0[subset] & inverseMask) | (minDistColor & writeMask); + endPoints1[subset] = (endPoints1[subset] & inverseMask) | (maxDistColor & writeMask); + } + } + else + { + for (int subset = 0; subset < subsetCount; subset++) + { + RgbaColor32 blockDir = maxColors[subset].GetColor32() - minColors[subset].GetColor32(); + blockDir = RgbaColor32.DivideGuarded(blockDir << 6, new RgbaColor32(blockDir.R + blockDir.G + blockDir.B + blockDir.A), 0); + + int minDist = int.MaxValue; + int maxDist = int.MinValue; + + RgbaColor8 minDistColor = default; + RgbaColor8 maxDistColor = default; + + int i = 0; + for (int ty = 0; ty < h; ty++) + { + for (int tx = 0; tx < w; tx++, i++) + { + if (partitionTable[ty * 4 + tx] != subset) + { + continue; + } + + RgbaColor8 color = RgbaColor8.FromUInt32(tile[i]); + int dist = RgbaColor32.Dot(color.GetColor32(), blockDir); + + if (minDist > dist) + { + minDist = dist; + minDistColor = color; + } + + if (maxDist < dist) + { + maxDist = dist; + maxDistColor = color; + } + } + } + + endPoints0[subset] = (endPoints0[subset] & inverseMask) | (minDistColor.ToUInt32() & writeMask); + endPoints1[subset] = (endPoints1[subset] & inverseMask) | (maxDistColor.ToUInt32() & writeMask); + } + } + } + + private static (RgbaColor8, RgbaColor8) SelectEndPoints( + ReadOnlySpan values, + RgbaColor8 minValue, + RgbaColor8 maxValue, + int indexBitCount, + int colorDepth, + int alphaDepth, + uint alphaMask) + { + int n = values.Length; + int numInterpolatedColors = 1 << indexBitCount; + int numInterpolatedColorsMinus1 = numInterpolatedColors - 1; + + if (n == 0) + { + return (default, default); + } + + minValue = BC7Utils.Quantize(minValue, colorDepth, alphaDepth); + maxValue = BC7Utils.Quantize(maxValue, colorDepth, alphaDepth); + + RgbaColor32 blockDir = maxValue.GetColor32() - minValue.GetColor32(); + blockDir = RgbaColor32.DivideGuarded(blockDir << 6, new RgbaColor32(blockDir.R + blockDir.G + blockDir.B + blockDir.A), 0); + + int minDist = int.MaxValue; + int maxDist = 0; + + for (int i = 0; i < values.Length; i++) + { + RgbaColor8 color = values[i]; + int dist = RgbaColor32.Dot(BC7Utils.Quantize(color, colorDepth, alphaDepth).GetColor32(), blockDir); + + if (minDist >= dist) + { + minDist = dist; + } + + if (maxDist <= dist) + { + maxDist = dist; + } + } + + Span palette = stackalloc RgbaColor8[numInterpolatedColors]; + + int distRange = Math.Max(1, maxDist - minDist); + + RgbaColor32 nV = new RgbaColor32(n); + + int bestErrorSum = int.MaxValue; + RgbaColor8 bestE0 = default; + RgbaColor8 bestE1 = default; + + Span indices = stackalloc int[n]; + Span colors = stackalloc RgbaColor32[n]; + + for (int maxIndex = numInterpolatedColorsMinus1; maxIndex >= 1; maxIndex--) + { + int sumX = 0; + int sumXX = 0; + int sumXXIncrement = 0; + + for (int i = 0; i < values.Length; i++) + { + RgbaColor32 color = values[i].GetColor32(); + + int dist = RgbaColor32.Dot(color, blockDir); + + int normalizedValue = ((dist - minDist) << 6) / distRange; + int texelIndex = (normalizedValue * maxIndex + 32) >> 6; + + indices[i] = texelIndex; + colors[i] = color; + + sumX += texelIndex; + sumXX += texelIndex * texelIndex; + sumXXIncrement += 1 + texelIndex * 2; + } + + for (int start = 0; start < numInterpolatedColors - maxIndex; start++) + { + RgbaColor32 sumY = new RgbaColor32(0); + RgbaColor32 sumXY = new RgbaColor32(0); + + for (int i = 0; i < indices.Length; i++) + { + RgbaColor32 y = colors[i]; + + sumY += y; + sumXY += new RgbaColor32(start + indices[i]) * y; + } + + RgbaColor32 sumXV = new RgbaColor32(sumX); + RgbaColor32 sumXXV = new RgbaColor32(sumXX); + RgbaColor32 m = RgbaColor32.DivideGuarded((nV * sumXY - sumXV * sumY) << 6, nV * sumXXV - sumXV * sumXV, 0); + RgbaColor32 b = ((sumY << 6) - m * sumXV) / nV; + + RgbaColor8 candidateE0 = (b >> 6).GetColor8(); + RgbaColor8 candidateE1 = ((b + m * new RgbaColor32(numInterpolatedColorsMinus1)) >> 6).GetColor8(); + + int pBit0 = GetPBit(candidateE0.ToUInt32(), colorDepth, alphaDepth); + int pBit1 = GetPBit(candidateE1.ToUInt32(), colorDepth, alphaDepth); + + int errorSum = BC7Utils.SelectIndices( + MemoryMarshal.Cast(values), + candidateE0.ToUInt32(), + candidateE1.ToUInt32(), + pBit0, + pBit1, + indexBitCount, + numInterpolatedColors, + colorDepth, + alphaDepth, + alphaMask); + + if (errorSum <= bestErrorSum) + { + bestErrorSum = errorSum; + bestE0 = candidateE0; + bestE1 = candidateE1; + } + + sumX += n; + sumXX += sumXXIncrement; + sumXXIncrement += 2 * n; + } + } + + return (bestE0, bestE1); + } + + private static int GetPBit(uint color, int colorDepth, int alphaDepth) + { + uint mask = 0x808080u >> colorDepth; + + if (alphaDepth != 0) + { + mask |= 0x80000000u >> alphaDepth; + } + + color &= 0x7f7f7f7fu; + color += mask >> 1; + + int onesCount = BitOperations.PopCount(color & mask); + return onesCount >= 2 ? 1 : 0; + } + + private static int GetPBit(uint c0, uint c1, int colorDepth, int alphaDepth) + { + // Giving preference to the first endpoint yields better results, + // might be a side effect of the endpoint selection algorithm? + return GetPBit(c0, colorDepth, alphaDepth); + } + } +} diff --git a/Ryujinx.Graphics.Texture/Encoders/BC7Tables.cs b/Ryujinx.Graphics.Texture/Encoders/BC7Tables.cs new file mode 100644 index 000000000..6dddd283c --- /dev/null +++ b/Ryujinx.Graphics.Texture/Encoders/BC7Tables.cs @@ -0,0 +1,285 @@ +namespace Ryujinx.Graphics.Texture.Encoders +{ + static class BC7Tables + { + public static readonly byte[][] Weights = + { + new byte[] { 0, 21, 43, 64 }, + new byte[] { 0, 9, 18, 27, 37, 46, 55, 64 }, + new byte[] { 0, 4, 9, 13, 17, 21, 26, 30, 34, 38, 43, 47, 51, 55, 60, 64 } + }; + + public static readonly byte[][] InverseWeights = + { + new byte[] { 64, 43, 21, 0 }, + new byte[] { 64, 55, 46, 37, 27, 18, 9, 0 }, + new byte[] { 64, 60, 55, 51, 47, 43, 38, 34, 30, 26, 21, 17, 13, 9, 4, 0 } + }; + + public static readonly byte[][][] FixUpIndices = new byte[3][][] + { + new byte[64][] + { + new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, + new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, + new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, + new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, + new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, + new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, + new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, + new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, + new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, + new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, + new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, + new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, + new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, + new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, + new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, + new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 }, new byte[] { 0, 0, 0 } + }, + new byte[64][] + { + new byte[] { 0, 15, 0 }, new byte[] { 0, 15, 0 }, new byte[] { 0, 15, 0 }, new byte[] { 0, 15, 0 }, + new byte[] { 0, 15, 0 }, new byte[] { 0, 15, 0 }, new byte[] { 0, 15, 0 }, new byte[] { 0, 15, 0 }, + new byte[] { 0, 15, 0 }, new byte[] { 0, 15, 0 }, new byte[] { 0, 15, 0 }, new byte[] { 0, 15, 0 }, + new byte[] { 0, 15, 0 }, new byte[] { 0, 15, 0 }, new byte[] { 0, 15, 0 }, new byte[] { 0, 15, 0 }, + new byte[] { 0, 15, 0 }, new byte[] { 0, 2, 0 }, new byte[] { 0, 8, 0 }, new byte[] { 0, 2, 0 }, + new byte[] { 0, 2, 0 }, new byte[] { 0, 8, 0 }, new byte[] { 0, 8, 0 }, new byte[] { 0, 15, 0 }, + new byte[] { 0, 2, 0 }, new byte[] { 0, 8, 0 }, new byte[] { 0, 2, 0 }, new byte[] { 0, 2, 0 }, + new byte[] { 0, 8, 0 }, new byte[] { 0, 8, 0 }, new byte[] { 0, 2, 0 }, new byte[] { 0, 2, 0 }, + new byte[] { 0, 15, 0 }, new byte[] { 0, 15, 0 }, new byte[] { 0, 6, 0 }, new byte[] { 0, 8, 0 }, + new byte[] { 0, 2, 0 }, new byte[] { 0, 8, 0 }, new byte[] { 0, 15, 0 }, new byte[] { 0, 15, 0 }, + new byte[] { 0, 2, 0 }, new byte[] { 0, 8, 0 }, new byte[] { 0, 2, 0 }, new byte[] { 0, 2, 0 }, + new byte[] { 0, 2, 0 }, new byte[] { 0, 15, 0 }, new byte[] { 0, 15, 0 }, new byte[] { 0, 6, 0 }, + new byte[] { 0, 6, 0 }, new byte[] { 0, 2, 0 }, new byte[] { 0, 6, 0 }, new byte[] { 0, 8, 0 }, + new byte[] { 0, 15, 0 }, new byte[] { 0, 15, 0 }, new byte[] { 0, 2, 0 }, new byte[] { 0, 2, 0 }, + new byte[] { 0, 15, 0 }, new byte[] { 0, 15, 0 }, new byte[] { 0, 15, 0 }, new byte[] { 0, 15, 0 }, + new byte[] { 0, 15, 0 }, new byte[] { 0, 2, 0 }, new byte[] { 0, 2, 0 }, new byte[] { 0, 15, 0 } + }, + new byte[64][] + { + new byte[] { 0, 3, 15 }, new byte[] { 0, 3, 8 }, new byte[] { 0, 15, 8 }, new byte[] { 0, 15, 3 }, + new byte[] { 0, 8, 15 }, new byte[] { 0, 3, 15 }, new byte[] { 0, 15, 3 }, new byte[] { 0, 15, 8 }, + new byte[] { 0, 8, 15 }, new byte[] { 0, 8, 15 }, new byte[] { 0, 6, 15 }, new byte[] { 0, 6, 15 }, + new byte[] { 0, 6, 15 }, new byte[] { 0, 5, 15 }, new byte[] { 0, 3, 15 }, new byte[] { 0, 3, 8 }, + new byte[] { 0, 3, 15 }, new byte[] { 0, 3, 8 }, new byte[] { 0, 8, 15 }, new byte[] { 0, 15, 3 }, + new byte[] { 0, 3, 15 }, new byte[] { 0, 3, 8 }, new byte[] { 0, 6, 15 }, new byte[] { 0, 10, 8 }, + new byte[] { 0, 5, 3 }, new byte[] { 0, 8, 15 }, new byte[] { 0, 8, 6 }, new byte[] { 0, 6, 10 }, + new byte[] { 0, 8, 15 }, new byte[] { 0, 5, 15 }, new byte[] { 0, 15, 10 }, new byte[] { 0, 15, 8 }, + new byte[] { 0, 8, 15 }, new byte[] { 0, 15, 3 }, new byte[] { 0, 3, 15 }, new byte[] { 0, 5, 10 }, + new byte[] { 0, 6, 10 }, new byte[] { 0, 10, 8 }, new byte[] { 0, 8, 9 }, new byte[] { 0, 15, 10 }, + new byte[] { 0, 15, 6 }, new byte[] { 0, 3, 15 }, new byte[] { 0, 15, 8 }, new byte[] { 0, 5, 15 }, + new byte[] { 0, 15, 3 }, new byte[] { 0, 15, 6 }, new byte[] { 0, 15, 6 }, new byte[] { 0, 15, 8 }, + new byte[] { 0, 3, 15 }, new byte[] { 0, 15, 3 }, new byte[] { 0, 5, 15 }, new byte[] { 0, 5, 15 }, + new byte[] { 0, 5, 15 }, new byte[] { 0, 8, 15 }, new byte[] { 0, 5, 15 }, new byte[] { 0, 10, 15 }, + new byte[] { 0, 5, 15 }, new byte[] { 0, 10, 15 }, new byte[] { 0, 8, 15 }, new byte[] { 0, 13, 15 }, + new byte[] { 0, 15, 3 }, new byte[] { 0, 12, 15 }, new byte[] { 0, 3, 15 }, new byte[] { 0, 3, 8 } + } + }; + + public static readonly byte[][][] PartitionTable = new byte[3][][] + { + new byte[64][] + { + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 0 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 1 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 2 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 3 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 4 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 5 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 6 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 7 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 8 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 9 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 10 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 11 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 12 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 13 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 14 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 15 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 16 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 17 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 18 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 19 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 20 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 21 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 22 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 23 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 24 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 25 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 26 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 27 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 28 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 29 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 30 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 31 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 32 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 33 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 34 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 35 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 36 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 37 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 38 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 39 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 40 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 41 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 42 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 43 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 44 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 45 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 46 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 47 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 48 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 49 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 50 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 51 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 52 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 53 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 54 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 55 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 56 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 57 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 58 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 59 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 60 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 61 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // 62 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } // 63 + }, + new byte[64][] + { + new byte[16] { 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1 }, // 0 + new byte[16] { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1 }, // 1 + new byte[16] { 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1 }, // 2 + new byte[16] { 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1 }, // 3 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1 }, // 4 + new byte[16] { 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1 }, // 5 + new byte[16] { 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1 }, // 6 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1 }, // 7 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1 }, // 8 + new byte[16] { 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, // 9 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1 }, // 10 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1 }, // 11 + new byte[16] { 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, // 12 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1 }, // 13 + new byte[16] { 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, // 14 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1 }, // 15 + new byte[16] { 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1 }, // 16 + new byte[16] { 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 }, // 17 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0 }, // 18 + new byte[16] { 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0 }, // 19 + new byte[16] { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 }, // 20 + new byte[16] { 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0 }, // 21 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0 }, // 22 + new byte[16] { 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1 }, // 23 + new byte[16] { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0 }, // 24 + new byte[16] { 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0 }, // 25 + new byte[16] { 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0 }, // 26 + new byte[16] { 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0 }, // 27 + new byte[16] { 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0 }, // 28 + new byte[16] { 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0 }, // 29 + new byte[16] { 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0 }, // 30 + new byte[16] { 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0 }, // 31 + new byte[16] { 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1 }, // 32 + new byte[16] { 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1 }, // 33 + new byte[16] { 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0 }, // 34 + new byte[16] { 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0 }, // 35 + new byte[16] { 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0 }, // 36 + new byte[16] { 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0 }, // 37 + new byte[16] { 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1 }, // 38 + new byte[16] { 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1 }, // 39 + new byte[16] { 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0 }, // 40 + new byte[16] { 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0 }, // 41 + new byte[16] { 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0 }, // 42 + new byte[16] { 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0 }, // 43 + new byte[16] { 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0 }, // 44 + new byte[16] { 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1 }, // 45 + new byte[16] { 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1 }, // 46 + new byte[16] { 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, // 47 + new byte[16] { 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, // 48 + new byte[16] { 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0 }, // 49 + new byte[16] { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0 }, // 50 + new byte[16] { 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0 }, // 51 + new byte[16] { 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1 }, // 52 + new byte[16] { 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1 }, // 53 + new byte[16] { 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0 }, // 54 + new byte[16] { 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0 }, // 55 + new byte[16] { 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1 }, // 56 + new byte[16] { 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1 }, // 57 + new byte[16] { 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1 }, // 58 + new byte[16] { 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1 }, // 59 + new byte[16] { 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1 }, // 60 + new byte[16] { 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0 }, // 61 + new byte[16] { 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0 }, // 62 + new byte[16] { 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1 } // 63 + }, + new byte[64][] + { + new byte[16] { 0, 0, 1, 1, 0, 0, 1, 1, 0, 2, 2, 1, 2, 2, 2, 2 }, // 0 + new byte[16] { 0, 0, 0, 1, 0, 0, 1, 1, 2, 2, 1, 1, 2, 2, 2, 1 }, // 1 + new byte[16] { 0, 0, 0, 0, 2, 0, 0, 1, 2, 2, 1, 1, 2, 2, 1, 1 }, // 2 + new byte[16] { 0, 2, 2, 2, 0, 0, 2, 2, 0, 0, 1, 1, 0, 1, 1, 1 }, // 3 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 1, 1, 2, 2 }, // 4 + new byte[16] { 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 2, 2, 0, 0, 2, 2 }, // 5 + new byte[16] { 0, 0, 2, 2, 0, 0, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1 }, // 6 + new byte[16] { 0, 0, 1, 1, 0, 0, 1, 1, 2, 2, 1, 1, 2, 2, 1, 1 }, // 7 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2 }, // 8 + new byte[16] { 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2 }, // 9 + new byte[16] { 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2 }, // 10 + new byte[16] { 0, 0, 1, 2, 0, 0, 1, 2, 0, 0, 1, 2, 0, 0, 1, 2 }, // 11 + new byte[16] { 0, 1, 1, 2, 0, 1, 1, 2, 0, 1, 1, 2, 0, 1, 1, 2 }, // 12 + new byte[16] { 0, 1, 2, 2, 0, 1, 2, 2, 0, 1, 2, 2, 0, 1, 2, 2 }, // 13 + new byte[16] { 0, 0, 1, 1, 0, 1, 1, 2, 1, 1, 2, 2, 1, 2, 2, 2 }, // 14 + new byte[16] { 0, 0, 1, 1, 2, 0, 0, 1, 2, 2, 0, 0, 2, 2, 2, 0 }, // 15 + new byte[16] { 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 2, 1, 1, 2, 2 }, // 16 + new byte[16] { 0, 1, 1, 1, 0, 0, 1, 1, 2, 0, 0, 1, 2, 2, 0, 0 }, // 17 + new byte[16] { 0, 0, 0, 0, 1, 1, 2, 2, 1, 1, 2, 2, 1, 1, 2, 2 }, // 18 + new byte[16] { 0, 0, 2, 2, 0, 0, 2, 2, 0, 0, 2, 2, 1, 1, 1, 1 }, // 19 + new byte[16] { 0, 1, 1, 1, 0, 1, 1, 1, 0, 2, 2, 2, 0, 2, 2, 2 }, // 20 + new byte[16] { 0, 0, 0, 1, 0, 0, 0, 1, 2, 2, 2, 1, 2, 2, 2, 1 }, // 21 + new byte[16] { 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 2, 2, 0, 1, 2, 2 }, // 22 + new byte[16] { 0, 0, 0, 0, 1, 1, 0, 0, 2, 2, 1, 0, 2, 2, 1, 0 }, // 23 + new byte[16] { 0, 1, 2, 2, 0, 1, 2, 2, 0, 0, 1, 1, 0, 0, 0, 0 }, // 24 + new byte[16] { 0, 0, 1, 2, 0, 0, 1, 2, 1, 1, 2, 2, 2, 2, 2, 2 }, // 25 + new byte[16] { 0, 1, 1, 0, 1, 2, 2, 1, 1, 2, 2, 1, 0, 1, 1, 0 }, // 26 + new byte[16] { 0, 0, 0, 0, 0, 1, 1, 0, 1, 2, 2, 1, 1, 2, 2, 1 }, // 27 + new byte[16] { 0, 0, 2, 2, 1, 1, 0, 2, 1, 1, 0, 2, 0, 0, 2, 2 }, // 28 + new byte[16] { 0, 1, 1, 0, 0, 1, 1, 0, 2, 0, 0, 2, 2, 2, 2, 2 }, // 29 + new byte[16] { 0, 0, 1, 1, 0, 1, 2, 2, 0, 1, 2, 2, 0, 0, 1, 1 }, // 30 + new byte[16] { 0, 0, 0, 0, 2, 0, 0, 0, 2, 2, 1, 1, 2, 2, 2, 1 }, // 31 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 2, 2, 1, 2, 2, 2 }, // 32 + new byte[16] { 0, 2, 2, 2, 0, 0, 2, 2, 0, 0, 1, 2, 0, 0, 1, 1 }, // 33 + new byte[16] { 0, 0, 1, 1, 0, 0, 1, 2, 0, 0, 2, 2, 0, 2, 2, 2 }, // 34 + new byte[16] { 0, 1, 2, 0, 0, 1, 2, 0, 0, 1, 2, 0, 0, 1, 2, 0 }, // 35 + new byte[16] { 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 0, 0, 0, 0 }, // 36 + new byte[16] { 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0 }, // 37 + new byte[16] { 0, 1, 2, 0, 2, 0, 1, 2, 1, 2, 0, 1, 0, 1, 2, 0 }, // 38 + new byte[16] { 0, 0, 1, 1, 2, 2, 0, 0, 1, 1, 2, 2, 0, 0, 1, 1 }, // 39 + new byte[16] { 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 0, 0, 0, 0, 1, 1 }, // 40 + new byte[16] { 0, 1, 0, 1, 0, 1, 0, 1, 2, 2, 2, 2, 2, 2, 2, 2 }, // 41 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 2, 1, 2, 1, 2, 1 }, // 42 + new byte[16] { 0, 0, 2, 2, 1, 1, 2, 2, 0, 0, 2, 2, 1, 1, 2, 2 }, // 43 + new byte[16] { 0, 0, 2, 2, 0, 0, 1, 1, 0, 0, 2, 2, 0, 0, 1, 1 }, // 44 + new byte[16] { 0, 2, 2, 0, 1, 2, 2, 1, 0, 2, 2, 0, 1, 2, 2, 1 }, // 45 + new byte[16] { 0, 1, 0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 0, 1, 0, 1 }, // 46 + new byte[16] { 0, 0, 0, 0, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1 }, // 47 + new byte[16] { 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 2, 2, 2, 2 }, // 48 + new byte[16] { 0, 2, 2, 2, 0, 1, 1, 1, 0, 2, 2, 2, 0, 1, 1, 1 }, // 49 + new byte[16] { 0, 0, 0, 2, 1, 1, 1, 2, 0, 0, 0, 2, 1, 1, 1, 2 }, // 50 + new byte[16] { 0, 0, 0, 0, 2, 1, 1, 2, 2, 1, 1, 2, 2, 1, 1, 2 }, // 51 + new byte[16] { 0, 2, 2, 2, 0, 1, 1, 1, 0, 1, 1, 1, 0, 2, 2, 2 }, // 52 + new byte[16] { 0, 0, 0, 2, 1, 1, 1, 2, 1, 1, 1, 2, 0, 0, 0, 2 }, // 53 + new byte[16] { 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 2, 2, 2, 2 }, // 54 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 2, 2, 1, 1, 2 }, // 55 + new byte[16] { 0, 1, 1, 0, 0, 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, 2 }, // 56 + new byte[16] { 0, 0, 2, 2, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 2, 2 }, // 57 + new byte[16] { 0, 0, 2, 2, 1, 1, 2, 2, 1, 1, 2, 2, 0, 0, 2, 2 }, // 58 + new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 2 }, // 59 + new byte[16] { 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 1 }, // 60 + new byte[16] { 0, 2, 2, 2, 1, 2, 2, 2, 0, 2, 2, 2, 1, 2, 2, 2 }, // 61 + new byte[16] { 0, 1, 0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 }, // 62 + new byte[16] { 0, 1, 1, 1, 2, 0, 1, 1, 2, 2, 0, 1, 2, 2, 2, 0 } // 63 + } + }; + } +} diff --git a/Ryujinx.Graphics.Texture/Encoders/BC7Utils.cs b/Ryujinx.Graphics.Texture/Encoders/BC7Utils.cs new file mode 100644 index 000000000..c43d90fb7 --- /dev/null +++ b/Ryujinx.Graphics.Texture/Encoders/BC7Utils.cs @@ -0,0 +1,1305 @@ +using System; +using System.Diagnostics; +using System.Runtime.CompilerServices; +using System.Runtime.Intrinsics; +using System.Runtime.Intrinsics.X86; + +namespace Ryujinx.Graphics.Texture.Encoders +{ + static class BC7Utils + { + private static byte[][] _quantizationLut; + private static byte[][] _quantizationLutNoPBit; + + static BC7Utils() + { + _quantizationLut = new byte[5][]; + _quantizationLutNoPBit = new byte[5][]; + + for (int depth = 4; depth < 9; depth++) + { + byte[] lut = new byte[512]; + byte[] lutNoPBit = new byte[256]; + + for (int i = 0; i < lut.Length; i++) + { + lut[i] = QuantizeComponentForLut((byte)i, depth, i >> 8); + + if (i < lutNoPBit.Length) + { + lutNoPBit[i] = QuantizeComponentForLut((byte)i, depth); + } + } + + _quantizationLut[depth - 4] = lut; + _quantizationLutNoPBit[depth - 4] = lutNoPBit; + } + } + + public static (RgbaColor8, RgbaColor8) GetMinMaxColors(ReadOnlySpan tile, int w, int h) + { + if (Sse41.IsSupported && w == 4 && h == 4) + { + GetMinMaxColorsOneSubset4x4Sse41(tile, out RgbaColor8 minColor, out RgbaColor8 maxColor); + + return (minColor, maxColor); + } + else + { + RgbaColor8 minColor = new RgbaColor8(255, 255, 255, 255); + RgbaColor8 maxColor = default; + + for (int i = 0; i < tile.Length; i++) + { + RgbaColor8 color = RgbaColor8.FromUInt32(tile[i]); + + minColor.R = Math.Min(minColor.R, color.R); + minColor.G = Math.Min(minColor.G, color.G); + minColor.B = Math.Min(minColor.B, color.B); + minColor.A = Math.Min(minColor.A, color.A); + + maxColor.R = Math.Max(maxColor.R, color.R); + maxColor.G = Math.Max(maxColor.G, color.G); + maxColor.B = Math.Max(maxColor.B, color.B); + maxColor.A = Math.Max(maxColor.A, color.A); + } + + return (minColor, maxColor); + } + } + + public static void GetMinMaxColors( + ReadOnlySpan partitionTable, + ReadOnlySpan tile, + int w, + int h, + Span minColors, + Span maxColors, + int subsetCount) + { + if (Sse41.IsSupported && w == 4 && h == 4) + { + if (subsetCount == 1) + { + GetMinMaxColorsOneSubset4x4Sse41(tile, out minColors[0], out maxColors[0]); + return; + } + else if (subsetCount == 2) + { + GetMinMaxColorsTwoSubsets4x4Sse41(partitionTable, tile, minColors, maxColors); + return; + } + } + + minColors.Fill(new RgbaColor8(255, 255, 255, 255)); + + int i = 0; + for (int ty = 0; ty < h; ty++) + { + for (int tx = 0; tx < w; tx++) + { + int subset = partitionTable[ty * w + tx]; + RgbaColor8 color = RgbaColor8.FromUInt32(tile[i++]); + + minColors[subset].R = Math.Min(minColors[subset].R, color.R); + minColors[subset].G = Math.Min(minColors[subset].G, color.G); + minColors[subset].B = Math.Min(minColors[subset].B, color.B); + minColors[subset].A = Math.Min(minColors[subset].A, color.A); + + maxColors[subset].R = Math.Max(maxColors[subset].R, color.R); + maxColors[subset].G = Math.Max(maxColors[subset].G, color.G); + maxColors[subset].B = Math.Max(maxColors[subset].B, color.B); + maxColors[subset].A = Math.Max(maxColors[subset].A, color.A); + } + } + } + + private static unsafe void GetMinMaxColorsOneSubset4x4Sse41(ReadOnlySpan tile, out RgbaColor8 minColor, out RgbaColor8 maxColor) + { + Vector128 min = Vector128.AllBitsSet; + Vector128 max = Vector128.Zero; + Vector128 row0, row1, row2, row3; + + fixed (uint* pTile = tile) + { + row0 = Sse2.LoadVector128(pTile).AsByte(); + row1 = Sse2.LoadVector128(pTile + 4).AsByte(); + row2 = Sse2.LoadVector128(pTile + 8).AsByte(); + row3 = Sse2.LoadVector128(pTile + 12).AsByte(); + } + + min = Sse2.Min(min, row0); + max = Sse2.Max(max, row0); + min = Sse2.Min(min, row1); + max = Sse2.Max(max, row1); + min = Sse2.Min(min, row2); + max = Sse2.Max(max, row2); + min = Sse2.Min(min, row3); + max = Sse2.Max(max, row3); + + minColor = HorizontalMin(min); + maxColor = HorizontalMax(max); + } + + private static unsafe void GetMinMaxColorsTwoSubsets4x4Sse41( + ReadOnlySpan partitionTable, + ReadOnlySpan tile, + Span minColors, + Span maxColors) + { + Vector128 partitionMask; + + fixed (byte* pPartitionTable = partitionTable) + { + partitionMask = Sse2.LoadVector128(pPartitionTable); + } + + Vector128 subset0Mask = Sse2.CompareEqual(partitionMask, Vector128.Zero); + + Vector128 subset0MaskRep16Low = Sse2.UnpackLow(subset0Mask, subset0Mask); + Vector128 subset0MaskRep16High = Sse2.UnpackHigh(subset0Mask, subset0Mask); + + Vector128 subset0Mask0 = Sse2.UnpackLow(subset0MaskRep16Low.AsInt16(), subset0MaskRep16Low.AsInt16()).AsByte(); + Vector128 subset0Mask1 = Sse2.UnpackHigh(subset0MaskRep16Low.AsInt16(), subset0MaskRep16Low.AsInt16()).AsByte(); + Vector128 subset0Mask2 = Sse2.UnpackLow(subset0MaskRep16High.AsInt16(), subset0MaskRep16High.AsInt16()).AsByte(); + Vector128 subset0Mask3 = Sse2.UnpackHigh(subset0MaskRep16High.AsInt16(), subset0MaskRep16High.AsInt16()).AsByte(); + + Vector128 min0 = Vector128.AllBitsSet; + Vector128 min1 = Vector128.AllBitsSet; + Vector128 max0 = Vector128.Zero; + Vector128 max1 = Vector128.Zero; + + Vector128 row0, row1, row2, row3; + + fixed (uint* pTile = tile) + { + row0 = Sse2.LoadVector128(pTile).AsByte(); + row1 = Sse2.LoadVector128(pTile + 4).AsByte(); + row2 = Sse2.LoadVector128(pTile + 8).AsByte(); + row3 = Sse2.LoadVector128(pTile + 12).AsByte(); + } + + min0 = Sse2.Min(min0, Sse41.BlendVariable(min0, row0, subset0Mask0)); + min0 = Sse2.Min(min0, Sse41.BlendVariable(min0, row1, subset0Mask1)); + min0 = Sse2.Min(min0, Sse41.BlendVariable(min0, row2, subset0Mask2)); + min0 = Sse2.Min(min0, Sse41.BlendVariable(min0, row3, subset0Mask3)); + + min1 = Sse2.Min(min1, Sse2.Or(row0, subset0Mask0)); + min1 = Sse2.Min(min1, Sse2.Or(row1, subset0Mask1)); + min1 = Sse2.Min(min1, Sse2.Or(row2, subset0Mask2)); + min1 = Sse2.Min(min1, Sse2.Or(row3, subset0Mask3)); + + max0 = Sse2.Max(max0, Sse2.And(row0, subset0Mask0)); + max0 = Sse2.Max(max0, Sse2.And(row1, subset0Mask1)); + max0 = Sse2.Max(max0, Sse2.And(row2, subset0Mask2)); + max0 = Sse2.Max(max0, Sse2.And(row3, subset0Mask3)); + + max1 = Sse2.Max(max1, Sse2.AndNot(subset0Mask0, row0)); + max1 = Sse2.Max(max1, Sse2.AndNot(subset0Mask1, row1)); + max1 = Sse2.Max(max1, Sse2.AndNot(subset0Mask2, row2)); + max1 = Sse2.Max(max1, Sse2.AndNot(subset0Mask3, row3)); + + minColors[0] = HorizontalMin(min0); + minColors[1] = HorizontalMin(min1); + maxColors[0] = HorizontalMax(max0); + maxColors[1] = HorizontalMax(max1); + } + + private static RgbaColor8 HorizontalMin(Vector128 x) + { + x = Sse2.Min(x, Sse2.Shuffle(x.AsInt32(), 0x31).AsByte()); + x = Sse2.Min(x, Sse2.Shuffle(x.AsInt32(), 2).AsByte()); + return RgbaColor8.FromUInt32(x.AsUInt32().GetElement(0)); + } + + private static RgbaColor8 HorizontalMax(Vector128 x) + { + x = Sse2.Max(x, Sse2.Shuffle(x.AsInt32(), 0x31).AsByte()); + x = Sse2.Max(x, Sse2.Shuffle(x.AsInt32(), 2).AsByte()); + return RgbaColor8.FromUInt32(x.AsUInt32().GetElement(0)); + } + + public static int SelectIndices( + ReadOnlySpan values, + uint endPoint0, + uint endPoint1, + int pBit0, + int pBit1, + int indexBitCount, + int indexCount, + int colorDepth, + int alphaDepth, + uint alphaMask) + { + if (Sse41.IsSupported) + { + if (indexBitCount == 2) + { + return Select2BitIndicesSse41( + values, + endPoint0, + endPoint1, + pBit0, + pBit1, + indexBitCount, + indexCount, + colorDepth, + alphaDepth, + alphaMask); + } + else if (indexBitCount == 3) + { + return Select3BitIndicesSse41( + values, + endPoint0, + endPoint1, + pBit0, + pBit1, + indexBitCount, + indexCount, + colorDepth, + alphaDepth, + alphaMask); + } + else if (indexBitCount == 4) + { + return Select4BitIndicesOneSubsetSse41( + values, + endPoint0, + endPoint1, + pBit0, + pBit1, + indexBitCount, + indexCount, + colorDepth, + alphaDepth, + alphaMask); + } + } + + return SelectIndicesFallback( + values, + endPoint0, + endPoint1, + pBit0, + pBit1, + indexBitCount, + indexCount, + colorDepth, + alphaDepth, + alphaMask); + } + + private static unsafe int Select2BitIndicesSse41( + ReadOnlySpan values, + uint endPoint0, + uint endPoint1, + int pBit0, + int pBit1, + int indexBitCount, + int indexCount, + int colorDepth, + int alphaDepth, + uint alphaMask) + { + uint alphaMaskForPalette = alphaMask; + + if (alphaDepth == 0) + { + alphaMaskForPalette |= new RgbaColor8(0, 0, 0, 255).ToUInt32(); + } + + int errorSum = 0; + + RgbaColor8 c0 = Quantize(RgbaColor8.FromUInt32(endPoint0), colorDepth, alphaDepth, pBit0); + RgbaColor8 c1 = Quantize(RgbaColor8.FromUInt32(endPoint1), colorDepth, alphaDepth, pBit1); + + Vector128 c0Rep = Vector128.Create(c0.ToUInt32() | alphaMaskForPalette).AsByte(); + Vector128 c1Rep = Vector128.Create(c1.ToUInt32() | alphaMaskForPalette).AsByte(); + + Vector128 c0c1 = Sse2.UnpackLow(c0Rep, c1Rep); + + Vector128 rWeights; + Vector128 lWeights; + + fixed (byte* pWeights = BC7Tables.Weights[0], pInvWeights = BC7Tables.InverseWeights[0]) + { + rWeights = Sse2.LoadScalarVector128((uint*)pWeights).AsByte(); + lWeights = Sse2.LoadScalarVector128((uint*)pInvWeights).AsByte(); + } + + Vector128 iWeights = Sse2.UnpackLow(lWeights, rWeights); + Vector128 iWeights01 = Sse2.UnpackLow(iWeights.AsInt16(), iWeights.AsInt16()).AsByte(); + Vector128 iWeights0 = Sse2.UnpackLow(iWeights01.AsInt16(), iWeights01.AsInt16()).AsByte(); + Vector128 iWeights1 = Sse2.UnpackHigh(iWeights01.AsInt16(), iWeights01.AsInt16()).AsByte(); + + Vector128 pal0 = ShiftRoundToNearest(Ssse3.MultiplyAddAdjacent(c0c1, iWeights0.AsSByte())); + Vector128 pal1 = ShiftRoundToNearest(Ssse3.MultiplyAddAdjacent(c0c1, iWeights1.AsSByte())); + + for (int i = 0; i < values.Length; i++) + { + uint c = values[i] | alphaMask; + + Vector128 color = Sse41.ConvertToVector128Int16(Vector128.Create(c).AsByte()); + + Vector128 delta0 = Sse2.Subtract(color, pal0); + Vector128 delta1 = Sse2.Subtract(color, pal1); + + Vector128 deltaSum0 = Sse2.MultiplyAddAdjacent(delta0, delta0); + Vector128 deltaSum1 = Sse2.MultiplyAddAdjacent(delta1, delta1); + + Vector128 deltaSum01 = Ssse3.HorizontalAdd(deltaSum0, deltaSum1); + + Vector128 delta = Sse41.PackUnsignedSaturate(deltaSum01, deltaSum01); + + Vector128 min = Sse41.MinHorizontal(delta); + + ushort error = min.GetElement(0); + + errorSum += error; + } + + return errorSum; + } + + private static unsafe int Select3BitIndicesSse41( + ReadOnlySpan values, + uint endPoint0, + uint endPoint1, + int pBit0, + int pBit1, + int indexBitCount, + int indexCount, + int colorDepth, + int alphaDepth, + uint alphaMask) + { + uint alphaMaskForPalette = alphaMask; + + if (alphaDepth == 0) + { + alphaMaskForPalette |= new RgbaColor8(0, 0, 0, 255).ToUInt32(); + } + + int errorSum = 0; + + RgbaColor8 c0 = Quantize(RgbaColor8.FromUInt32(endPoint0), colorDepth, alphaDepth, pBit0); + RgbaColor8 c1 = Quantize(RgbaColor8.FromUInt32(endPoint1), colorDepth, alphaDepth, pBit1); + + Vector128 c0Rep = Vector128.Create(c0.ToUInt32() | alphaMaskForPalette).AsByte(); + Vector128 c1Rep = Vector128.Create(c1.ToUInt32() | alphaMaskForPalette).AsByte(); + + Vector128 c0c1 = Sse2.UnpackLow(c0Rep, c1Rep); + + Vector128 rWeights; + Vector128 lWeights; + + fixed (byte* pWeights = BC7Tables.Weights[1], pInvWeights = BC7Tables.InverseWeights[1]) + { + rWeights = Sse2.LoadScalarVector128((ulong*)pWeights).AsByte(); + lWeights = Sse2.LoadScalarVector128((ulong*)pInvWeights).AsByte(); + } + + Vector128 iWeights = Sse2.UnpackLow(lWeights, rWeights); + Vector128 iWeights01 = Sse2.UnpackLow(iWeights.AsInt16(), iWeights.AsInt16()).AsByte(); + Vector128 iWeights23 = Sse2.UnpackHigh(iWeights.AsInt16(), iWeights.AsInt16()).AsByte(); + Vector128 iWeights0 = Sse2.UnpackLow(iWeights01.AsInt16(), iWeights01.AsInt16()).AsByte(); + Vector128 iWeights1 = Sse2.UnpackHigh(iWeights01.AsInt16(), iWeights01.AsInt16()).AsByte(); + Vector128 iWeights2 = Sse2.UnpackLow(iWeights23.AsInt16(), iWeights23.AsInt16()).AsByte(); + Vector128 iWeights3 = Sse2.UnpackHigh(iWeights23.AsInt16(), iWeights23.AsInt16()).AsByte(); + + Vector128 pal0 = ShiftRoundToNearest(Ssse3.MultiplyAddAdjacent(c0c1, iWeights0.AsSByte())); + Vector128 pal1 = ShiftRoundToNearest(Ssse3.MultiplyAddAdjacent(c0c1, iWeights1.AsSByte())); + Vector128 pal2 = ShiftRoundToNearest(Ssse3.MultiplyAddAdjacent(c0c1, iWeights2.AsSByte())); + Vector128 pal3 = ShiftRoundToNearest(Ssse3.MultiplyAddAdjacent(c0c1, iWeights3.AsSByte())); + + for (int i = 0; i < values.Length; i++) + { + uint c = values[i] | alphaMask; + + Vector128 color = Sse41.ConvertToVector128Int16(Vector128.Create(c).AsByte()); + + Vector128 delta0 = Sse2.Subtract(color, pal0); + Vector128 delta1 = Sse2.Subtract(color, pal1); + Vector128 delta2 = Sse2.Subtract(color, pal2); + Vector128 delta3 = Sse2.Subtract(color, pal3); + + Vector128 deltaSum0 = Sse2.MultiplyAddAdjacent(delta0, delta0); + Vector128 deltaSum1 = Sse2.MultiplyAddAdjacent(delta1, delta1); + Vector128 deltaSum2 = Sse2.MultiplyAddAdjacent(delta2, delta2); + Vector128 deltaSum3 = Sse2.MultiplyAddAdjacent(delta3, delta3); + + Vector128 deltaSum01 = Ssse3.HorizontalAdd(deltaSum0, deltaSum1); + Vector128 deltaSum23 = Ssse3.HorizontalAdd(deltaSum2, deltaSum3); + + Vector128 delta = Sse41.PackUnsignedSaturate(deltaSum01, deltaSum23); + + Vector128 min = Sse41.MinHorizontal(delta); + + ushort error = min.GetElement(0); + + errorSum += error; + } + + return errorSum; + } + + private static unsafe int Select4BitIndicesOneSubsetSse41( + ReadOnlySpan values, + uint endPoint0, + uint endPoint1, + int pBit0, + int pBit1, + int indexBitCount, + int indexCount, + int colorDepth, + int alphaDepth, + uint alphaMask) + { + uint alphaMaskForPalette = alphaMask; + + if (alphaDepth == 0) + { + alphaMaskForPalette |= new RgbaColor8(0, 0, 0, 255).ToUInt32(); + } + + int errorSum = 0; + + RgbaColor8 c0 = Quantize(RgbaColor8.FromUInt32(endPoint0), colorDepth, alphaDepth, pBit0); + RgbaColor8 c1 = Quantize(RgbaColor8.FromUInt32(endPoint1), colorDepth, alphaDepth, pBit1); + + Vector128 c0Rep = Vector128.Create(c0.ToUInt32() | alphaMaskForPalette).AsByte(); + Vector128 c1Rep = Vector128.Create(c1.ToUInt32() | alphaMaskForPalette).AsByte(); + + Vector128 c0c1 = Sse2.UnpackLow(c0Rep, c1Rep); + + Vector128 rWeights; + Vector128 lWeights; + + fixed (byte* pWeights = BC7Tables.Weights[2], pInvWeights = BC7Tables.InverseWeights[2]) + { + rWeights = Sse2.LoadVector128(pWeights); + lWeights = Sse2.LoadVector128(pInvWeights); + } + + Vector128 iWeightsLow = Sse2.UnpackLow(lWeights, rWeights); + Vector128 iWeightsHigh = Sse2.UnpackHigh(lWeights, rWeights); + Vector128 iWeights01 = Sse2.UnpackLow(iWeightsLow.AsInt16(), iWeightsLow.AsInt16()).AsByte(); + Vector128 iWeights23 = Sse2.UnpackHigh(iWeightsLow.AsInt16(), iWeightsLow.AsInt16()).AsByte(); + Vector128 iWeights45 = Sse2.UnpackLow(iWeightsHigh.AsInt16(), iWeightsHigh.AsInt16()).AsByte(); + Vector128 iWeights67 = Sse2.UnpackHigh(iWeightsHigh.AsInt16(), iWeightsHigh.AsInt16()).AsByte(); + Vector128 iWeights0 = Sse2.UnpackLow(iWeights01.AsInt16(), iWeights01.AsInt16()).AsByte(); + Vector128 iWeights1 = Sse2.UnpackHigh(iWeights01.AsInt16(), iWeights01.AsInt16()).AsByte(); + Vector128 iWeights2 = Sse2.UnpackLow(iWeights23.AsInt16(), iWeights23.AsInt16()).AsByte(); + Vector128 iWeights3 = Sse2.UnpackHigh(iWeights23.AsInt16(), iWeights23.AsInt16()).AsByte(); + Vector128 iWeights4 = Sse2.UnpackLow(iWeights45.AsInt16(), iWeights45.AsInt16()).AsByte(); + Vector128 iWeights5 = Sse2.UnpackHigh(iWeights45.AsInt16(), iWeights45.AsInt16()).AsByte(); + Vector128 iWeights6 = Sse2.UnpackLow(iWeights67.AsInt16(), iWeights67.AsInt16()).AsByte(); + Vector128 iWeights7 = Sse2.UnpackHigh(iWeights67.AsInt16(), iWeights67.AsInt16()).AsByte(); + + Vector128 pal0 = ShiftRoundToNearest(Ssse3.MultiplyAddAdjacent(c0c1, iWeights0.AsSByte())); + Vector128 pal1 = ShiftRoundToNearest(Ssse3.MultiplyAddAdjacent(c0c1, iWeights1.AsSByte())); + Vector128 pal2 = ShiftRoundToNearest(Ssse3.MultiplyAddAdjacent(c0c1, iWeights2.AsSByte())); + Vector128 pal3 = ShiftRoundToNearest(Ssse3.MultiplyAddAdjacent(c0c1, iWeights3.AsSByte())); + Vector128 pal4 = ShiftRoundToNearest(Ssse3.MultiplyAddAdjacent(c0c1, iWeights4.AsSByte())); + Vector128 pal5 = ShiftRoundToNearest(Ssse3.MultiplyAddAdjacent(c0c1, iWeights5.AsSByte())); + Vector128 pal6 = ShiftRoundToNearest(Ssse3.MultiplyAddAdjacent(c0c1, iWeights6.AsSByte())); + Vector128 pal7 = ShiftRoundToNearest(Ssse3.MultiplyAddAdjacent(c0c1, iWeights7.AsSByte())); + + for (int i = 0; i < values.Length; i++) + { + uint c = values[i] | alphaMask; + + Vector128 color = Sse41.ConvertToVector128Int16(Vector128.Create(c).AsByte()); + + Vector128 delta0 = Sse2.Subtract(color, pal0); + Vector128 delta1 = Sse2.Subtract(color, pal1); + Vector128 delta2 = Sse2.Subtract(color, pal2); + Vector128 delta3 = Sse2.Subtract(color, pal3); + Vector128 delta4 = Sse2.Subtract(color, pal4); + Vector128 delta5 = Sse2.Subtract(color, pal5); + Vector128 delta6 = Sse2.Subtract(color, pal6); + Vector128 delta7 = Sse2.Subtract(color, pal7); + + Vector128 deltaSum0 = Sse2.MultiplyAddAdjacent(delta0, delta0); + Vector128 deltaSum1 = Sse2.MultiplyAddAdjacent(delta1, delta1); + Vector128 deltaSum2 = Sse2.MultiplyAddAdjacent(delta2, delta2); + Vector128 deltaSum3 = Sse2.MultiplyAddAdjacent(delta3, delta3); + Vector128 deltaSum4 = Sse2.MultiplyAddAdjacent(delta4, delta4); + Vector128 deltaSum5 = Sse2.MultiplyAddAdjacent(delta5, delta5); + Vector128 deltaSum6 = Sse2.MultiplyAddAdjacent(delta6, delta6); + Vector128 deltaSum7 = Sse2.MultiplyAddAdjacent(delta7, delta7); + + Vector128 deltaSum01 = Ssse3.HorizontalAdd(deltaSum0, deltaSum1); + Vector128 deltaSum23 = Ssse3.HorizontalAdd(deltaSum2, deltaSum3); + Vector128 deltaSum45 = Ssse3.HorizontalAdd(deltaSum4, deltaSum5); + Vector128 deltaSum67 = Ssse3.HorizontalAdd(deltaSum6, deltaSum7); + + Vector128 delta0123 = Sse41.PackUnsignedSaturate(deltaSum01, deltaSum23); + Vector128 delta4567 = Sse41.PackUnsignedSaturate(deltaSum45, deltaSum67); + + Vector128 min0123 = Sse41.MinHorizontal(delta0123); + Vector128 min4567 = Sse41.MinHorizontal(delta4567); + + ushort minPos0123 = min0123.GetElement(0); + ushort minPos4567 = min4567.GetElement(0); + + if (minPos4567 < minPos0123) + { + errorSum += minPos4567; + } + else + { + errorSum += minPos0123; + } + } + + return errorSum; + } + + private static int SelectIndicesFallback( + ReadOnlySpan values, + uint endPoint0, + uint endPoint1, + int pBit0, + int pBit1, + int indexBitCount, + int indexCount, + int colorDepth, + int alphaDepth, + uint alphaMask) + { + int errorSum = 0; + + uint alphaMaskForPalette = alphaMask; + + if (alphaDepth == 0) + { + alphaMaskForPalette |= new RgbaColor8(0, 0, 0, 255).ToUInt32(); + } + + Span palette = stackalloc uint[indexCount]; + + RgbaColor8 c0 = Quantize(RgbaColor8.FromUInt32(endPoint0), colorDepth, alphaDepth, pBit0); + RgbaColor8 c1 = Quantize(RgbaColor8.FromUInt32(endPoint1), colorDepth, alphaDepth, pBit1); + + Unsafe.As(ref c0) |= alphaMaskForPalette; + Unsafe.As(ref c1) |= alphaMaskForPalette; + + palette[0] = c0.ToUInt32(); + palette[indexCount - 1] = c1.ToUInt32(); + + for (int j = 1; j < indexCount - 1; j++) + { + palette[j] = Interpolate(c0, c1, j, indexBitCount).ToUInt32(); + } + + for (int i = 0; i < values.Length; i++) + { + uint color = values[i] | alphaMask; + + int bestMatchScore = int.MaxValue; + int bestMatchIndex = 0; + + for (int j = 0; j < indexCount; j++) + { + int score = SquaredDifference( + RgbaColor8.FromUInt32(color).GetColor32(), + RgbaColor8.FromUInt32(palette[j]).GetColor32()); + + if (score < bestMatchScore) + { + bestMatchScore = score; + bestMatchIndex = j; + } + } + + errorSum += bestMatchScore; + } + + return errorSum; + } + + public static int SelectIndices( + ReadOnlySpan tile, + int w, + int h, + ReadOnlySpan endPoints0, + ReadOnlySpan endPoints1, + ReadOnlySpan pBitValues, + Span indices, + int subsetCount, + int partition, + int indexBitCount, + int indexCount, + int colorDepth, + int alphaDepth, + int pBits, + uint alphaMask) + { + if (Sse41.IsSupported) + { + if (indexBitCount == 2) + { + return Select2BitIndicesSse41( + tile, + w, + h, + endPoints0, + endPoints1, + pBitValues, + indices, + subsetCount, + partition, + colorDepth, + alphaDepth, + pBits, + alphaMask); + } + else if (indexBitCount == 3) + { + return Select3BitIndicesSse41( + tile, + w, + h, + endPoints0, + endPoints1, + pBitValues, + indices, + subsetCount, + partition, + colorDepth, + alphaDepth, + pBits, + alphaMask); + } + else if (indexBitCount == 4) + { + Debug.Assert(subsetCount == 1); + + return Select4BitIndicesOneSubsetSse41( + tile, + w, + h, + endPoints0[0], + endPoints1[0], + pBitValues, + indices, + partition, + colorDepth, + alphaDepth, + pBits, + alphaMask); + } + } + + return SelectIndicesFallback( + tile, + w, + h, + endPoints0, + endPoints1, + pBitValues, + indices, + subsetCount, + partition, + indexBitCount, + indexCount, + colorDepth, + alphaDepth, + pBits, + alphaMask); + } + + private static unsafe int Select2BitIndicesSse41( + ReadOnlySpan tile, + int w, + int h, + ReadOnlySpan endPoints0, + ReadOnlySpan endPoints1, + ReadOnlySpan pBitValues, + Span indices, + int subsetCount, + int partition, + int colorDepth, + int alphaDepth, + int pBits, + uint alphaMask) + { + byte[] partitionTable = BC7Tables.PartitionTable[subsetCount - 1][partition]; + + uint alphaMaskForPalette = alphaMask; + + if (alphaDepth == 0) + { + alphaMaskForPalette |= new RgbaColor8(0, 0, 0, 255).ToUInt32(); + } + + int errorSum = 0; + + for (int subset = 0; subset < subsetCount; subset++) + { + int pBit0 = -1, pBit1 = -1; + + if (pBits == subsetCount) + { + pBit0 = pBit1 = pBitValues[subset]; + } + else if (pBits != 0) + { + pBit0 = pBitValues[subset * 2]; + pBit1 = pBitValues[subset * 2 + 1]; + } + + RgbaColor8 c0 = Quantize(RgbaColor8.FromUInt32(endPoints0[subset]), colorDepth, alphaDepth, pBit0); + RgbaColor8 c1 = Quantize(RgbaColor8.FromUInt32(endPoints1[subset]), colorDepth, alphaDepth, pBit1); + + Vector128 c0Rep = Vector128.Create(c0.ToUInt32() | alphaMaskForPalette).AsByte(); + Vector128 c1Rep = Vector128.Create(c1.ToUInt32() | alphaMaskForPalette).AsByte(); + + Vector128 c0c1 = Sse2.UnpackLow(c0Rep, c1Rep); + + Vector128 rWeights; + Vector128 lWeights; + + fixed (byte* pWeights = BC7Tables.Weights[0], pInvWeights = BC7Tables.InverseWeights[0]) + { + rWeights = Sse2.LoadScalarVector128((uint*)pWeights).AsByte(); + lWeights = Sse2.LoadScalarVector128((uint*)pInvWeights).AsByte(); + } + + Vector128 iWeights = Sse2.UnpackLow(lWeights, rWeights); + Vector128 iWeights01 = Sse2.UnpackLow(iWeights.AsInt16(), iWeights.AsInt16()).AsByte(); + Vector128 iWeights0 = Sse2.UnpackLow(iWeights01.AsInt16(), iWeights01.AsInt16()).AsByte(); + Vector128 iWeights1 = Sse2.UnpackHigh(iWeights01.AsInt16(), iWeights01.AsInt16()).AsByte(); + + Vector128 pal0 = ShiftRoundToNearest(Ssse3.MultiplyAddAdjacent(c0c1, iWeights0.AsSByte())); + Vector128 pal1 = ShiftRoundToNearest(Ssse3.MultiplyAddAdjacent(c0c1, iWeights1.AsSByte())); + + int i = 0; + for (int ty = 0; ty < h; ty++) + { + for (int tx = 0; tx < w; tx++, i++) + { + int tileOffset = ty * 4 + tx; + if (partitionTable[tileOffset] != subset) + { + continue; + } + + uint c = tile[i] | alphaMask; + + Vector128 color = Sse41.ConvertToVector128Int16(Vector128.Create(c).AsByte()); + + Vector128 delta0 = Sse2.Subtract(color, pal0); + Vector128 delta1 = Sse2.Subtract(color, pal1); + + Vector128 deltaSum0 = Sse2.MultiplyAddAdjacent(delta0, delta0); + Vector128 deltaSum1 = Sse2.MultiplyAddAdjacent(delta1, delta1); + + Vector128 deltaSum01 = Ssse3.HorizontalAdd(deltaSum0, deltaSum1); + + Vector128 delta = Sse41.PackUnsignedSaturate(deltaSum01, deltaSum01); + + Vector128 min = Sse41.MinHorizontal(delta); + + uint minPos = min.AsUInt32().GetElement(0); + ushort error = (ushort)minPos; + uint index = minPos >> 16; + + indices[tileOffset] = (byte)index; + errorSum += error; + } + } + } + + return errorSum; + } + + private static unsafe int Select3BitIndicesSse41( + ReadOnlySpan tile, + int w, + int h, + ReadOnlySpan endPoints0, + ReadOnlySpan endPoints1, + ReadOnlySpan pBitValues, + Span indices, + int subsetCount, + int partition, + int colorDepth, + int alphaDepth, + int pBits, + uint alphaMask) + { + byte[] partitionTable = BC7Tables.PartitionTable[subsetCount - 1][partition]; + + uint alphaMaskForPalette = alphaMask; + + if (alphaDepth == 0) + { + alphaMaskForPalette |= new RgbaColor8(0, 0, 0, 255).ToUInt32(); + } + + int errorSum = 0; + + for (int subset = 0; subset < subsetCount; subset++) + { + int pBit0 = -1, pBit1 = -1; + + if (pBits == subsetCount) + { + pBit0 = pBit1 = pBitValues[subset]; + } + else if (pBits != 0) + { + pBit0 = pBitValues[subset * 2]; + pBit1 = pBitValues[subset * 2 + 1]; + } + + RgbaColor8 c0 = Quantize(RgbaColor8.FromUInt32(endPoints0[subset]), colorDepth, alphaDepth, pBit0); + RgbaColor8 c1 = Quantize(RgbaColor8.FromUInt32(endPoints1[subset]), colorDepth, alphaDepth, pBit1); + + Vector128 c0Rep = Vector128.Create(c0.ToUInt32() | alphaMaskForPalette).AsByte(); + Vector128 c1Rep = Vector128.Create(c1.ToUInt32() | alphaMaskForPalette).AsByte(); + + Vector128 c0c1 = Sse2.UnpackLow(c0Rep, c1Rep); + + Vector128 rWeights; + Vector128 lWeights; + + fixed (byte* pWeights = BC7Tables.Weights[1], pInvWeights = BC7Tables.InverseWeights[1]) + { + rWeights = Sse2.LoadScalarVector128((ulong*)pWeights).AsByte(); + lWeights = Sse2.LoadScalarVector128((ulong*)pInvWeights).AsByte(); + } + + Vector128 iWeights = Sse2.UnpackLow(lWeights, rWeights); + Vector128 iWeights01 = Sse2.UnpackLow(iWeights.AsInt16(), iWeights.AsInt16()).AsByte(); + Vector128 iWeights23 = Sse2.UnpackHigh(iWeights.AsInt16(), iWeights.AsInt16()).AsByte(); + Vector128 iWeights0 = Sse2.UnpackLow(iWeights01.AsInt16(), iWeights01.AsInt16()).AsByte(); + Vector128 iWeights1 = Sse2.UnpackHigh(iWeights01.AsInt16(), iWeights01.AsInt16()).AsByte(); + Vector128 iWeights2 = Sse2.UnpackLow(iWeights23.AsInt16(), iWeights23.AsInt16()).AsByte(); + Vector128 iWeights3 = Sse2.UnpackHigh(iWeights23.AsInt16(), iWeights23.AsInt16()).AsByte(); + + Vector128 pal0 = ShiftRoundToNearest(Ssse3.MultiplyAddAdjacent(c0c1, iWeights0.AsSByte())); + Vector128 pal1 = ShiftRoundToNearest(Ssse3.MultiplyAddAdjacent(c0c1, iWeights1.AsSByte())); + Vector128 pal2 = ShiftRoundToNearest(Ssse3.MultiplyAddAdjacent(c0c1, iWeights2.AsSByte())); + Vector128 pal3 = ShiftRoundToNearest(Ssse3.MultiplyAddAdjacent(c0c1, iWeights3.AsSByte())); + + int i = 0; + for (int ty = 0; ty < h; ty++) + { + for (int tx = 0; tx < w; tx++, i++) + { + int tileOffset = ty * 4 + tx; + if (partitionTable[tileOffset] != subset) + { + continue; + } + + uint c = tile[i] | alphaMask; + + Vector128 color = Sse41.ConvertToVector128Int16(Vector128.Create(c).AsByte()); + + Vector128 delta0 = Sse2.Subtract(color, pal0); + Vector128 delta1 = Sse2.Subtract(color, pal1); + Vector128 delta2 = Sse2.Subtract(color, pal2); + Vector128 delta3 = Sse2.Subtract(color, pal3); + + Vector128 deltaSum0 = Sse2.MultiplyAddAdjacent(delta0, delta0); + Vector128 deltaSum1 = Sse2.MultiplyAddAdjacent(delta1, delta1); + Vector128 deltaSum2 = Sse2.MultiplyAddAdjacent(delta2, delta2); + Vector128 deltaSum3 = Sse2.MultiplyAddAdjacent(delta3, delta3); + + Vector128 deltaSum01 = Ssse3.HorizontalAdd(deltaSum0, deltaSum1); + Vector128 deltaSum23 = Ssse3.HorizontalAdd(deltaSum2, deltaSum3); + + Vector128 delta = Sse41.PackUnsignedSaturate(deltaSum01, deltaSum23); + + Vector128 min = Sse41.MinHorizontal(delta); + + uint minPos = min.AsUInt32().GetElement(0); + ushort error = (ushort)minPos; + uint index = minPos >> 16; + + indices[tileOffset] = (byte)index; + errorSum += error; + } + } + } + + return errorSum; + } + + private static unsafe int Select4BitIndicesOneSubsetSse41( + ReadOnlySpan tile, + int w, + int h, + uint endPoint0, + uint endPoint1, + ReadOnlySpan pBitValues, + Span indices, + int partition, + int colorDepth, + int alphaDepth, + int pBits, + uint alphaMask) + { + uint alphaMaskForPalette = alphaMask; + + if (alphaDepth == 0) + { + alphaMaskForPalette |= new RgbaColor8(0, 0, 0, 255).ToUInt32(); + } + + int errorSum = 0; + + int pBit0 = -1, pBit1 = -1; + + if (pBits != 0) + { + pBit0 = pBitValues[0]; + pBit1 = pBitValues[1]; + } + + RgbaColor8 c0 = Quantize(RgbaColor8.FromUInt32(endPoint0), colorDepth, alphaDepth, pBit0); + RgbaColor8 c1 = Quantize(RgbaColor8.FromUInt32(endPoint1), colorDepth, alphaDepth, pBit1); + + Vector128 c0Rep = Vector128.Create(c0.ToUInt32() | alphaMaskForPalette).AsByte(); + Vector128 c1Rep = Vector128.Create(c1.ToUInt32() | alphaMaskForPalette).AsByte(); + + Vector128 c0c1 = Sse2.UnpackLow(c0Rep, c1Rep); + + Vector128 rWeights; + Vector128 lWeights; + + fixed (byte* pWeights = BC7Tables.Weights[2], pInvWeights = BC7Tables.InverseWeights[2]) + { + rWeights = Sse2.LoadVector128(pWeights); + lWeights = Sse2.LoadVector128(pInvWeights); + } + + Vector128 iWeightsLow = Sse2.UnpackLow(lWeights, rWeights); + Vector128 iWeightsHigh = Sse2.UnpackHigh(lWeights, rWeights); + Vector128 iWeights01 = Sse2.UnpackLow(iWeightsLow.AsInt16(), iWeightsLow.AsInt16()).AsByte(); + Vector128 iWeights23 = Sse2.UnpackHigh(iWeightsLow.AsInt16(), iWeightsLow.AsInt16()).AsByte(); + Vector128 iWeights45 = Sse2.UnpackLow(iWeightsHigh.AsInt16(), iWeightsHigh.AsInt16()).AsByte(); + Vector128 iWeights67 = Sse2.UnpackHigh(iWeightsHigh.AsInt16(), iWeightsHigh.AsInt16()).AsByte(); + Vector128 iWeights0 = Sse2.UnpackLow(iWeights01.AsInt16(), iWeights01.AsInt16()).AsByte(); + Vector128 iWeights1 = Sse2.UnpackHigh(iWeights01.AsInt16(), iWeights01.AsInt16()).AsByte(); + Vector128 iWeights2 = Sse2.UnpackLow(iWeights23.AsInt16(), iWeights23.AsInt16()).AsByte(); + Vector128 iWeights3 = Sse2.UnpackHigh(iWeights23.AsInt16(), iWeights23.AsInt16()).AsByte(); + Vector128 iWeights4 = Sse2.UnpackLow(iWeights45.AsInt16(), iWeights45.AsInt16()).AsByte(); + Vector128 iWeights5 = Sse2.UnpackHigh(iWeights45.AsInt16(), iWeights45.AsInt16()).AsByte(); + Vector128 iWeights6 = Sse2.UnpackLow(iWeights67.AsInt16(), iWeights67.AsInt16()).AsByte(); + Vector128 iWeights7 = Sse2.UnpackHigh(iWeights67.AsInt16(), iWeights67.AsInt16()).AsByte(); + + Vector128 pal0 = ShiftRoundToNearest(Ssse3.MultiplyAddAdjacent(c0c1, iWeights0.AsSByte())); + Vector128 pal1 = ShiftRoundToNearest(Ssse3.MultiplyAddAdjacent(c0c1, iWeights1.AsSByte())); + Vector128 pal2 = ShiftRoundToNearest(Ssse3.MultiplyAddAdjacent(c0c1, iWeights2.AsSByte())); + Vector128 pal3 = ShiftRoundToNearest(Ssse3.MultiplyAddAdjacent(c0c1, iWeights3.AsSByte())); + Vector128 pal4 = ShiftRoundToNearest(Ssse3.MultiplyAddAdjacent(c0c1, iWeights4.AsSByte())); + Vector128 pal5 = ShiftRoundToNearest(Ssse3.MultiplyAddAdjacent(c0c1, iWeights5.AsSByte())); + Vector128 pal6 = ShiftRoundToNearest(Ssse3.MultiplyAddAdjacent(c0c1, iWeights6.AsSByte())); + Vector128 pal7 = ShiftRoundToNearest(Ssse3.MultiplyAddAdjacent(c0c1, iWeights7.AsSByte())); + + int i = 0; + for (int ty = 0; ty < h; ty++) + { + for (int tx = 0; tx < w; tx++, i++) + { + uint c = tile[i] | alphaMask; + + Vector128 color = Sse41.ConvertToVector128Int16(Vector128.Create(c).AsByte()); + + Vector128 delta0 = Sse2.Subtract(color, pal0); + Vector128 delta1 = Sse2.Subtract(color, pal1); + Vector128 delta2 = Sse2.Subtract(color, pal2); + Vector128 delta3 = Sse2.Subtract(color, pal3); + Vector128 delta4 = Sse2.Subtract(color, pal4); + Vector128 delta5 = Sse2.Subtract(color, pal5); + Vector128 delta6 = Sse2.Subtract(color, pal6); + Vector128 delta7 = Sse2.Subtract(color, pal7); + + Vector128 deltaSum0 = Sse2.MultiplyAddAdjacent(delta0, delta0); + Vector128 deltaSum1 = Sse2.MultiplyAddAdjacent(delta1, delta1); + Vector128 deltaSum2 = Sse2.MultiplyAddAdjacent(delta2, delta2); + Vector128 deltaSum3 = Sse2.MultiplyAddAdjacent(delta3, delta3); + Vector128 deltaSum4 = Sse2.MultiplyAddAdjacent(delta4, delta4); + Vector128 deltaSum5 = Sse2.MultiplyAddAdjacent(delta5, delta5); + Vector128 deltaSum6 = Sse2.MultiplyAddAdjacent(delta6, delta6); + Vector128 deltaSum7 = Sse2.MultiplyAddAdjacent(delta7, delta7); + + Vector128 deltaSum01 = Ssse3.HorizontalAdd(deltaSum0, deltaSum1); + Vector128 deltaSum23 = Ssse3.HorizontalAdd(deltaSum2, deltaSum3); + Vector128 deltaSum45 = Ssse3.HorizontalAdd(deltaSum4, deltaSum5); + Vector128 deltaSum67 = Ssse3.HorizontalAdd(deltaSum6, deltaSum7); + + Vector128 delta0123 = Sse41.PackUnsignedSaturate(deltaSum01, deltaSum23); + Vector128 delta4567 = Sse41.PackUnsignedSaturate(deltaSum45, deltaSum67); + + Vector128 min0123 = Sse41.MinHorizontal(delta0123); + Vector128 min4567 = Sse41.MinHorizontal(delta4567); + + uint minPos0123 = min0123.AsUInt32().GetElement(0); + uint minPos4567 = min4567.AsUInt32().GetElement(0); + + if ((ushort)minPos4567 < (ushort)minPos0123) + { + errorSum += (ushort)minPos4567; + indices[ty * 4 + tx] = (byte)(8 + (minPos4567 >> 16)); + } + else + { + errorSum += (ushort)minPos0123; + indices[ty * 4 + tx] = (byte)(minPos0123 >> 16); + } + } + } + + return errorSum; + } + + private static Vector128 ShiftRoundToNearest(Vector128 x) + { + return Sse2.ShiftRightLogical(Sse2.Add(x, Vector128.Create((short)32)), 6); + } + + private static int SelectIndicesFallback( + ReadOnlySpan tile, + int w, + int h, + ReadOnlySpan endPoints0, + ReadOnlySpan endPoints1, + ReadOnlySpan pBitValues, + Span indices, + int subsetCount, + int partition, + int indexBitCount, + int indexCount, + int colorDepth, + int alphaDepth, + int pBits, + uint alphaMask) + { + int errorSum = 0; + + uint alphaMaskForPalette = alphaMask; + + if (alphaDepth == 0) + { + alphaMaskForPalette |= new RgbaColor8(0, 0, 0, 255).ToUInt32(); + } + + Span palette = stackalloc uint[subsetCount * indexCount]; + + for (int subset = 0; subset < subsetCount; subset++) + { + int palBase = subset * indexCount; + + int pBit0 = -1, pBit1 = -1; + + if (pBits == subsetCount) + { + pBit0 = pBit1 = pBitValues[subset]; + } + else if (pBits != 0) + { + pBit0 = pBitValues[subset * 2]; + pBit1 = pBitValues[subset * 2 + 1]; + } + + RgbaColor8 c0 = Quantize(RgbaColor8.FromUInt32(endPoints0[subset]), colorDepth, alphaDepth, pBit0); + RgbaColor8 c1 = Quantize(RgbaColor8.FromUInt32(endPoints1[subset]), colorDepth, alphaDepth, pBit1); + + Unsafe.As(ref c0) |= alphaMaskForPalette; + Unsafe.As(ref c1) |= alphaMaskForPalette; + + palette[palBase + 0] = c0.ToUInt32(); + palette[palBase + indexCount - 1] = c1.ToUInt32(); + + for (int j = 1; j < indexCount - 1; j++) + { + palette[palBase + j] = Interpolate(c0, c1, j, indexBitCount).ToUInt32(); + } + } + + int i = 0; + for (int ty = 0; ty < h; ty++) + { + for (int tx = 0; tx < w; tx++) + { + int subset = BC7Tables.PartitionTable[subsetCount - 1][partition][ty * 4 + tx]; + uint color = tile[i++] | alphaMask; + + int bestMatchScore = int.MaxValue; + int bestMatchIndex = 0; + + for (int j = 0; j < indexCount; j++) + { + int score = SquaredDifference( + RgbaColor8.FromUInt32(color).GetColor32(), + RgbaColor8.FromUInt32(palette[subset * indexCount + j]).GetColor32()); + + if (score < bestMatchScore) + { + bestMatchScore = score; + bestMatchIndex = j; + } + } + + indices[ty * 4 + tx] = (byte)bestMatchIndex; + errorSum += bestMatchScore; + } + } + + return errorSum; + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static int SquaredDifference(RgbaColor32 color1, RgbaColor32 color2) + { + RgbaColor32 delta = color1 - color2; + return RgbaColor32.Dot(delta, delta); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static RgbaColor8 Interpolate(RgbaColor8 color1, RgbaColor8 color2, int weightIndex, int indexBitCount) + { + return Interpolate(color1.GetColor32(), color2.GetColor32(), weightIndex, indexBitCount).GetColor8(); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static RgbaColor32 Interpolate(RgbaColor32 color1, RgbaColor32 color2, int weightIndex, int indexBitCount) + { + Debug.Assert(indexBitCount >= 2 && indexBitCount <= 4); + + int weight = (((weightIndex << 7) / ((1 << indexBitCount) - 1)) + 1) >> 1; + + RgbaColor32 weightV = new RgbaColor32(weight); + RgbaColor32 invWeightV = new RgbaColor32(64 - weight); + + return (color1 * invWeightV + color2 * weightV + new RgbaColor32(32)) >> 6; + } + + public static RgbaColor8 Quantize(RgbaColor8 color, int colorBits, int alphaBits, int pBit = -1) + { + if (alphaBits == 0) + { + int colorShift = 8 - colorBits; + + uint c; + + if (pBit >= 0) + { + byte[] lutColor = _quantizationLut[colorBits - 4]; + + Debug.Assert(pBit <= 1); + int high = pBit << 8; + uint mask = (0xffu >> (colorBits + 1)) * 0x10101; + + c = lutColor[color.R | high]; + c |= (uint)lutColor[color.G | high] << 8; + c |= (uint)lutColor[color.B | high] << 16; + + c <<= colorShift; + c |= (c >> (colorBits + 1)) & mask; + c |= ((uint)pBit * 0x10101) << (colorShift - 1); + } + else + { + byte[] lutColor = _quantizationLutNoPBit[colorBits - 4]; + + uint mask = (0xffu >> colorBits) * 0x10101; + + c = lutColor[color.R]; + c |= (uint)lutColor[color.G] << 8; + c |= (uint)lutColor[color.B] << 16; + + c <<= colorShift; + c |= (c >> colorBits) & mask; + } + + c |= (uint)color.A << 24; + + return RgbaColor8.FromUInt32(c); + } + + return QuantizeFallback(color, colorBits, alphaBits, pBit); + } + + private static RgbaColor8 QuantizeFallback(RgbaColor8 color, int colorBits, int alphaBits, int pBit = -1) + { + byte r = UnquantizeComponent(QuantizeComponent(color.R, colorBits, pBit), colorBits, pBit); + byte g = UnquantizeComponent(QuantizeComponent(color.G, colorBits, pBit), colorBits, pBit); + byte b = UnquantizeComponent(QuantizeComponent(color.B, colorBits, pBit), colorBits, pBit); + byte a = alphaBits == 0 ? color.A : UnquantizeComponent(QuantizeComponent(color.A, alphaBits, pBit), alphaBits, pBit); + return new RgbaColor8(r, g, b, a); + } + + public static byte QuantizeComponent(byte component, int bits, int pBit = -1) + { + return pBit >= 0 ? _quantizationLut[bits - 4][component | (pBit << 8)] : _quantizationLutNoPBit[bits - 4][component]; + } + + private static byte QuantizeComponentForLut(byte component, int bits, int pBit = -1) + { + int shift = 8 - bits; + int fill = component >> bits; + + if (pBit >= 0) + { + Debug.Assert(pBit <= 1); + fill >>= 1; + fill |= pBit << (shift - 1); + } + + int q1 = component >> shift; + int q2 = Math.Max(q1 - 1, 0); + int q3 = Math.Min(q1 + 1, (1 << bits) - 1); + + int delta1 = FastAbs(((q1 << shift) | fill) - component); + int delta2 = component - ((q2 << shift) | fill); + int delta3 = ((q3 << shift) | fill) - component; + + if (delta1 < delta2 && delta1 < delta3) + { + return (byte)q1; + } + else if (delta2 < delta3) + { + return (byte)q2; + } + else + { + return (byte)q3; + } + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private static int FastAbs(int x) + { + int sign = x >> 31; + return (x + sign) ^ sign; + } + + private static byte UnquantizeComponent(byte component, int bits, int pBit) + { + int shift = 8 - bits; + int value = component << shift; + + if (pBit >= 0) + { + Debug.Assert(pBit <= 1); + value |= value >> (bits + 1); + value |= pBit << (shift - 1); + } + else + { + value |= value >> bits; + } + + return (byte)value; + } + } +} diff --git a/Ryujinx.Graphics.Texture/Encoders/EncodeMode.cs b/Ryujinx.Graphics.Texture/Encoders/EncodeMode.cs new file mode 100644 index 000000000..5734d301e --- /dev/null +++ b/Ryujinx.Graphics.Texture/Encoders/EncodeMode.cs @@ -0,0 +1,10 @@ +namespace Ryujinx.Graphics.Texture.Encoders +{ + enum EncodeMode + { + Fast, + Exhaustive, + ModeMask = 0xff, + Multithreaded = 1 << 8 + } +} diff --git a/Ryujinx.Graphics.Texture/Encoders/RgbaColor32.cs b/Ryujinx.Graphics.Texture/Encoders/RgbaColor32.cs new file mode 100644 index 000000000..ed4b7507e --- /dev/null +++ b/Ryujinx.Graphics.Texture/Encoders/RgbaColor32.cs @@ -0,0 +1,206 @@ +using System; +using System.Runtime.CompilerServices; +using System.Runtime.Intrinsics; +using System.Runtime.Intrinsics.X86; + +namespace Ryujinx.Graphics.Texture.Encoders +{ + struct RgbaColor32 : IEquatable + { + private readonly Vector128 _color; + + public int R => _color.GetElement(0); + public int G => _color.GetElement(1); + public int B => _color.GetElement(2); + public int A => _color.GetElement(3); + + public RgbaColor32(Vector128 color) + { + _color = color; + } + + public RgbaColor32(int r, int g, int b, int a) + { + _color = Vector128.Create(r, g, b, a); + } + + public RgbaColor32(int scalar) + { + _color = Vector128.Create(scalar); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static RgbaColor32 operator +(RgbaColor32 x, RgbaColor32 y) + { + if (Sse2.IsSupported) + { + return new RgbaColor32(Sse2.Add(x._color, y._color)); + } + else + { + return new RgbaColor32(x.R + y.R, x.G + y.G, x.B + y.B, x.A + y.A); + } + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static RgbaColor32 operator -(RgbaColor32 x, RgbaColor32 y) + { + if (Sse2.IsSupported) + { + return new RgbaColor32(Sse2.Subtract(x._color, y._color)); + } + else + { + return new RgbaColor32(x.R - y.R, x.G - y.G, x.B - y.B, x.A - y.A); + } + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static RgbaColor32 operator *(RgbaColor32 x, RgbaColor32 y) + { + if (Sse41.IsSupported) + { + return new RgbaColor32(Sse41.MultiplyLow(x._color, y._color)); + } + else + { + return new RgbaColor32(x.R * y.R, x.G * y.G, x.B * y.B, x.A * y.A); + } + } + + public static RgbaColor32 operator /(RgbaColor32 x, RgbaColor32 y) + { + return new RgbaColor32(x.R / y.R, x.G / y.G, x.B / y.B, x.A / y.A); + } + + public static RgbaColor32 DivideGuarded(RgbaColor32 x, RgbaColor32 y, int resultIfZero) + { + int DivideGuarded(int dividend, int divisor) + { + if (divisor == 0) + { + return resultIfZero; + } + + return dividend / divisor; + } + + return new RgbaColor32(DivideGuarded(x.R, y.R), DivideGuarded(x.G, y.G), DivideGuarded(x.B, y.B), DivideGuarded(x.A, y.A)); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static RgbaColor32 operator <<(RgbaColor32 x, int shift) + { + if (Sse2.IsSupported) + { + return new RgbaColor32(Sse2.ShiftLeftLogical(x._color, (byte)shift)); + } + else + { + return new RgbaColor32(x.R << shift, x.G << shift, x.B << shift, x.A << shift); + } + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static RgbaColor32 operator >>(RgbaColor32 x, int shift) + { + if (Sse2.IsSupported) + { + return new RgbaColor32(Sse2.ShiftRightLogical(x._color, (byte)shift)); + } + else + { + return new RgbaColor32(x.R >> shift, x.G >> shift, x.B >> shift, x.A >> shift); + } + } + + public static bool operator ==(RgbaColor32 x, RgbaColor32 y) + { + return x.Equals(y); + } + + public static bool operator !=(RgbaColor32 x, RgbaColor32 y) + { + return !x.Equals(y); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static int Dot(RgbaColor32 x, RgbaColor32 y) + { + if (Sse41.IsSupported) + { + Vector128 product = Sse41.MultiplyLow(x._color, y._color); + Vector128 sum = Ssse3.HorizontalAdd(product, product); + sum = Ssse3.HorizontalAdd(sum, sum); + return sum.GetElement(0); + } + else + { + return x.R * y.R + x.G * y.G + x.B * y.B + x.A * y.A; + } + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static RgbaColor32 Max(RgbaColor32 x, RgbaColor32 y) + { + if (Sse41.IsSupported) + { + return new RgbaColor32(Sse41.Max(x._color, y._color)); + } + else + { + return new RgbaColor32(Math.Max(x.R, y.R), Math.Max(x.G, y.G), Math.Max(x.B, y.B), Math.Max(x.A, y.A)); + } + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static RgbaColor32 Min(RgbaColor32 x, RgbaColor32 y) + { + if (Sse41.IsSupported) + { + return new RgbaColor32(Sse41.Min(x._color, y._color)); + } + else + { + return new RgbaColor32(Math.Min(x.R, y.R), Math.Min(x.G, y.G), Math.Min(x.B, y.B), Math.Min(x.A, y.A)); + } + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public RgbaColor8 GetColor8() + { + if (Sse41.IsSupported) + { + Vector128 temp = _color; + Vector128 color16 = Sse41.PackUnsignedSaturate(temp, temp); + Vector128 color8 = Sse2.PackUnsignedSaturate(color16.AsInt16(), color16.AsInt16()); + uint color = color8.AsUInt32().GetElement(0); + return Unsafe.As(ref color); + } + else + { + return new RgbaColor8(ClampByte(R), ClampByte(G), ClampByte(B), ClampByte(A)); + } + } + + private static byte ClampByte(int value) + { + return (byte)Math.Clamp(value, 0, 255); + } + + public override int GetHashCode() + { + return HashCode.Combine(R, G, B, A); + } + + public override bool Equals(object obj) + { + return obj is RgbaColor32 other && Equals(other); + } + + public bool Equals(RgbaColor32 other) + { + return _color.Equals(other._color); + } + } +} diff --git a/Ryujinx.Graphics.Texture/Encoders/RgbaColor8.cs b/Ryujinx.Graphics.Texture/Encoders/RgbaColor8.cs new file mode 100644 index 000000000..bbf3c086a --- /dev/null +++ b/Ryujinx.Graphics.Texture/Encoders/RgbaColor8.cs @@ -0,0 +1,83 @@ +using System; +using System.Runtime.CompilerServices; +using System.Runtime.Intrinsics; +using System.Runtime.Intrinsics.X86; + +namespace Ryujinx.Graphics.Texture.Encoders +{ + struct RgbaColor8 : IEquatable + { + public byte R; + public byte G; + public byte B; + public byte A; + + public RgbaColor8(byte r, byte g, byte b, byte a) + { + R = r; + G = g; + B = b; + A = a; + } + + public static RgbaColor8 FromUInt32(uint color) + { + return Unsafe.As(ref color); + } + + public static bool operator ==(RgbaColor8 x, RgbaColor8 y) + { + return x.Equals(y); + } + + public static bool operator !=(RgbaColor8 x, RgbaColor8 y) + { + return !x.Equals(y); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public RgbaColor32 GetColor32() + { + if (Sse41.IsSupported) + { + Vector128 color = Vector128.CreateScalarUnsafe(Unsafe.As(ref this)).AsByte(); + return new RgbaColor32(Sse41.ConvertToVector128Int32(color)); + } + else + { + return new RgbaColor32(R, G, B, A); + } + } + + public uint ToUInt32() + { + return Unsafe.As(ref this); + } + + public override int GetHashCode() + { + return HashCode.Combine(R, G, B, A); + } + + public override bool Equals(object obj) + { + return obj is RgbaColor8 other && Equals(other); + } + + public bool Equals(RgbaColor8 other) + { + return R == other.R && G == other.G && B == other.B && A == other.A; + } + + public byte GetComponent(int index) + { + return index switch + { + 1 => G, + 2 => B, + 3 => A, + _ => R + }; + } + } +} From daaa7fda11dc15353a4f5a723dee310ae3150164 Mon Sep 17 00:00:00 2001 From: gdk Date: Fri, 29 Apr 2022 23:15:47 -0300 Subject: [PATCH 136/179] Do not report R4G4 format as supported on Vulkan It was causing mario head to become white on Super Mario 64 (???) --- Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs index 432c121b1..a8d814484 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs @@ -311,7 +311,7 @@ namespace Ryujinx.Graphics.Vulkan supportsAstcCompression: features.TextureCompressionAstcLdr, supports3DTextureCompression: true, supportsBgraFormat: true, - supportsR4G4Format: FormatCapabilities.FormatSupports(GAL.Format.R4G4Unorm, FormatFeatureFlags.FormatFeatureSampledImageBit), + supportsR4G4Format: false, supportsFragmentShaderInterlock: SupportsFragmentShaderInterlock, supportsFragmentShaderOrderingIntel: false, supportsGeometryShaderPassthrough: SupportsGeometryShaderPassthrough, From 8097480b023abd389da03b6d2fa77bc1a0f3b361 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Wed, 4 May 2022 21:39:28 +0100 Subject: [PATCH 137/179] Improvements to -1 to 1 depth mode. - Transformation is only applied on the last stage in the vertex pipeline. - Should fix some issues with geometry and tessellation (hopefully) - Reading back FragCoord Z on fragment will transform back to -1 to 1. --- .../CodeGen/Glsl/OperandManager.cs | 10 +++++++++- .../CodeGen/Spirv/CodeGenContext.cs | 14 ++++++++++++++ .../Translation/EmitterContext.cs | 13 ++++++++++--- 3 files changed, 33 insertions(+), 4 deletions(-) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Glsl/OperandManager.cs b/Ryujinx.Graphics.Shader/CodeGen/Glsl/OperandManager.cs index 74dfd0236..21f8f0ee6 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Glsl/OperandManager.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Glsl/OperandManager.cs @@ -259,7 +259,15 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl { case AttributeConsts.PositionX: return $"(gl_FragCoord.x / {DefaultNames.SupportBlockRenderScaleName}[0])"; case AttributeConsts.PositionY: return $"(gl_FragCoord.y / {DefaultNames.SupportBlockRenderScaleName}[0])"; - case AttributeConsts.PositionZ: return "gl_FragCoord.z"; + case AttributeConsts.PositionZ: + if (config.Options.TargetApi == TargetApi.Vulkan && config.GpuAccessor.QueryTransformDepthMinusOneToOne()) + { + return "((gl_FragCoord.z - (gl_FragCoord.w * 0.5)) * 2.0)"; + } + else + { + return "gl_FragCoord.z"; + } case AttributeConsts.PositionW: return "gl_FragCoord.w"; case AttributeConsts.FrontFacing: diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs index f52c90d04..17291a1f5 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs @@ -339,6 +339,20 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv value = FDiv(TypeFP32(), value, scale); } + else if (Config.Options.TargetApi == TargetApi.Vulkan && + attr == AttributeConsts.PositionZ && + Config.GpuAccessor.QueryTransformDepthMinusOneToOne()) + { + var constTwo = Constant(TypeFP32(), 2.0f); + var constZeroPointFive = Constant(TypeFP32(), 0.5f); + + var elemPointerW = GetAttributeElemPointer(AttributeConsts.PositionW, isOutAttr, null, out var elemTypeW); + var valueW = Load(GetType(elemTypeW), elemPointerW); + + var halfW = FMul(TypeFP32(), valueW, constZeroPointFive); + + value = FMul(TypeFP32(), FSub(TypeFP32(), value, halfW), constTwo); + } else if (attr == AttributeConsts.FrontFacing && Config.GpuAccessor.QueryHostHasFrontFacingBug()) { // Workaround for what appears to be a bug on Intel compiler. diff --git a/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs b/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs index 38c503e67..d023a4c2c 100644 --- a/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs +++ b/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs @@ -182,7 +182,7 @@ namespace Ryujinx.Graphics.Shader.Translation this.Copy(Attribute(AttributeConsts.PositionY), this.FPFusedMultiplyAdd(y, yScale, negativeOne)); } - if (Config.GpuAccessor.QueryTransformDepthMinusOneToOne()) + if (Config.Options.TargetApi == TargetApi.Vulkan && Config.GpuAccessor.QueryTransformDepthMinusOneToOne()) { Operand z = Attribute(AttributeConsts.PositionZ | AttributeConsts.LoadOutputMask); Operand w = Attribute(AttributeConsts.PositionW | AttributeConsts.LoadOutputMask); @@ -207,7 +207,7 @@ namespace Ryujinx.Graphics.Shader.Translation oldYLocal = null; } - if (Config.GpuAccessor.QueryTransformDepthMinusOneToOne()) + if (Config.Options.TargetApi == TargetApi.Vulkan && Config.GpuAccessor.QueryTransformDepthMinusOneToOne()) { oldZLocal = Local(); this.Copy(oldYLocal, Attribute(AttributeConsts.PositionZ | AttributeConsts.LoadOutputMask)); @@ -281,7 +281,14 @@ namespace Ryujinx.Graphics.Shader.Translation Operand src = Register(Config.GetDepthRegister(), RegisterType.Gpr); - this.Copy(dest, src); + if (Config.Options.TargetApi == TargetApi.Vulkan && Config.GpuAccessor.QueryTransformDepthMinusOneToOne()) + { + this.Copy(dest, this.FPFusedMultiplyAdd(src, ConstF(0.5f), ConstF(0.5f))); + } + else + { + this.Copy(dest, src); + } } AlphaTestOp alphaTestOp = Config.GpuAccessor.QueryAlphaTestCompare(); From c3951877f75e784345ff834885357d6ae6f3fd3c Mon Sep 17 00:00:00 2001 From: riperiperi Date: Wed, 4 May 2022 23:46:49 +0100 Subject: [PATCH 138/179] Geometry Shader index count from ThreadsPerInputPrimitive Generally fixes SPIR-V emitting too many triangles, may change games in OpenGL --- Ryujinx.Graphics.Shader/CodeGen/Glsl/Declarations.cs | 2 +- Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Glsl/Declarations.cs b/Ryujinx.Graphics.Shader/CodeGen/Glsl/Declarations.cs index d64c74520..051491a15 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Glsl/Declarations.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Glsl/Declarations.cs @@ -130,7 +130,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl InputTopology inputTopology = context.Config.GpuAccessor.QueryPrimitiveTopology(); string inPrimitive = inputTopology.ToGlslString(); - context.AppendLine($"layout ({inPrimitive}) in;"); + context.AppendLine($"layout (invocations = {context.Config.ThreadsPerInputPrimitive}, {inPrimitive}) in;"); if (context.Config.GpPassthrough && context.Config.GpuAccessor.QueryHostSupportsGeometryShaderPassthrough()) { diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs index 2755d3ab0..0235fde56 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/SpirvGenerator.cs @@ -220,7 +220,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv break; } - context.AddExecutionMode(spvFunc, ExecutionMode.Invocations, (SpvLiteralInteger)context.InputVertices); + context.AddExecutionMode(spvFunc, ExecutionMode.Invocations, (SpvLiteralInteger)context.Config.ThreadsPerInputPrimitive); context.AddExecutionMode(spvFunc, context.Config.OutputTopology switch { From a34efcd39834aa7c2aba466ad6adaed6137fbe33 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Thu, 5 May 2022 13:08:30 +0100 Subject: [PATCH 139/179] Remove gl_FragDepth scaling This is always 0-1; the other two issues were causing the problems. Fixes regression with Xenoblade. --- .../Shader/DiskCache/DiskCacheHostStorage.cs | 2 +- Ryujinx.Graphics.Shader/Translation/EmitterContext.cs | 9 +-------- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs b/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs index bed5b774c..0b36bea3f 100644 --- a/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs +++ b/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs @@ -22,7 +22,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache private const ushort FileFormatVersionMajor = 1; private const ushort FileFormatVersionMinor = 2; private const uint FileFormatVersionPacked = ((uint)FileFormatVersionMajor << 16) | FileFormatVersionMinor; - private const uint CodeGenVersion = 2; + private const uint CodeGenVersion = 3; private const string SharedTocFileName = "shared.toc"; private const string SharedDataFileName = "shared.data"; diff --git a/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs b/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs index d023a4c2c..1358754a5 100644 --- a/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs +++ b/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs @@ -281,14 +281,7 @@ namespace Ryujinx.Graphics.Shader.Translation Operand src = Register(Config.GetDepthRegister(), RegisterType.Gpr); - if (Config.Options.TargetApi == TargetApi.Vulkan && Config.GpuAccessor.QueryTransformDepthMinusOneToOne()) - { - this.Copy(dest, this.FPFusedMultiplyAdd(src, ConstF(0.5f), ConstF(0.5f))); - } - else - { - this.Copy(dest, src); - } + this.Copy(dest, src); } AlphaTestOp alphaTestOp = Config.GpuAccessor.QueryAlphaTestCompare(); From f21761555caf5fba9cf3e54684707f7dde402cee Mon Sep 17 00:00:00 2001 From: riperiperi Date: Thu, 5 May 2022 22:22:13 +0100 Subject: [PATCH 140/179] Add Gl StencilOp enum values to Vulkan --- Ryujinx.Graphics.Vulkan/EnumConversion.cs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Ryujinx.Graphics.Vulkan/EnumConversion.cs b/Ryujinx.Graphics.Vulkan/EnumConversion.cs index 8a1422cbe..a342b18d8 100644 --- a/Ryujinx.Graphics.Vulkan/EnumConversion.cs +++ b/Ryujinx.Graphics.Vulkan/EnumConversion.cs @@ -335,20 +335,28 @@ namespace Ryujinx.Graphics.Vulkan switch (op) { case GAL.StencilOp.Keep: + case GAL.StencilOp.KeepGl: return Silk.NET.Vulkan.StencilOp.Keep; case GAL.StencilOp.Zero: + case GAL.StencilOp.ZeroGl: return Silk.NET.Vulkan.StencilOp.Zero; case GAL.StencilOp.Replace: + case GAL.StencilOp.ReplaceGl: return Silk.NET.Vulkan.StencilOp.Replace; case GAL.StencilOp.IncrementAndClamp: + case GAL.StencilOp.IncrementAndClampGl: return Silk.NET.Vulkan.StencilOp.IncrementAndClamp; case GAL.StencilOp.DecrementAndClamp: + case GAL.StencilOp.DecrementAndClampGl: return Silk.NET.Vulkan.StencilOp.DecrementAndClamp; case GAL.StencilOp.Invert: + case GAL.StencilOp.InvertGl: return Silk.NET.Vulkan.StencilOp.Invert; case GAL.StencilOp.IncrementAndWrap: + case GAL.StencilOp.IncrementAndWrapGl: return Silk.NET.Vulkan.StencilOp.IncrementAndWrap; case GAL.StencilOp.DecrementAndWrap: + case GAL.StencilOp.DecrementAndWrapGl: return Silk.NET.Vulkan.StencilOp.DecrementAndWrap; } From 884ee76d7ccd25d8fcde7fb816be9d04f20d33bd Mon Sep 17 00:00:00 2001 From: riperiperi Date: Fri, 13 May 2022 23:07:07 +0100 Subject: [PATCH 141/179] Update guest cache to v1.1 (due to specialization state changes) This will explode your shader cache from earlier vulkan build, but it must be done. :pensive: --- .../Shader/DiskCache/DiskCacheGuestStorage.cs | 2 +- Ryujinx.Graphics.Vulkan/HelperShader.cs | 6 +++--- Ryujinx.Graphics.Vulkan/PipelineBase.cs | 15 ++++++++++++++- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheGuestStorage.cs b/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheGuestStorage.cs index b31428281..01034b495 100644 --- a/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheGuestStorage.cs +++ b/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheGuestStorage.cs @@ -14,7 +14,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache private const uint TocMagic = (byte)'T' | ((byte)'O' << 8) | ((byte)'C' << 16) | ((byte)'G' << 24); private const ushort VersionMajor = 1; - private const ushort VersionMinor = 0; + private const ushort VersionMinor = 1; private const uint VersionPacked = ((uint)VersionMajor << 16) | VersionMinor; private const string TocFileName = "guest.toc"; diff --git a/Ryujinx.Graphics.Vulkan/HelperShader.cs b/Ryujinx.Graphics.Vulkan/HelperShader.cs index 9615d8a48..4f33e676a 100644 --- a/Ryujinx.Graphics.Vulkan/HelperShader.cs +++ b/Ryujinx.Graphics.Vulkan/HelperShader.cs @@ -254,7 +254,7 @@ void main() _pipeline.ClearRenderTargetColor(0, new ColorF(0f, 0f, 0f, 1f)); } - _pipeline.SetViewports(0, viewports); + _pipeline.SetViewports(0, viewports, false); _pipeline.SetPrimitiveTopology(GAL.PrimitiveTopology.TriangleStrip); _pipeline.Draw(4, 1, 0, 0); _pipeline.Finish(); @@ -308,7 +308,7 @@ void main() _pipeline.SetProgram(_programColorClear); _pipeline.SetRenderTarget(dst, (uint)dstWidth, (uint)dstHeight, false, dstFormat); _pipeline.SetRenderTargetColorMasks(new uint[] { componentMask }); - _pipeline.SetViewports(0, viewports); + _pipeline.SetViewports(0, viewports, false); _pipeline.SetScissors(scissors); _pipeline.SetPrimitiveTopology(GAL.PrimitiveTopology.TriangleStrip); _pipeline.Draw(4, 1, 0, 0); @@ -380,7 +380,7 @@ void main() Span> scissors = stackalloc Rectangle[1]; pipeline.SetProgram(_programColorBlit); - pipeline.SetViewports(0, viewports); + pipeline.SetViewports(0, viewports, false); pipeline.SetPrimitiveTopology(GAL.PrimitiveTopology.TriangleStrip); pipeline.Draw(4, 1, 0, 0); diff --git a/Ryujinx.Graphics.Vulkan/PipelineBase.cs b/Ryujinx.Graphics.Vulkan/PipelineBase.cs index 85a7f4791..ea6320ffd 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineBase.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineBase.cs @@ -829,7 +829,7 @@ namespace Ryujinx.Graphics.Vulkan } // TODO: Remove first parameter. - public void SetViewports(int first, ReadOnlySpan viewports) + public void SetViewports(int first, ReadOnlySpan viewports, bool disableTransform) { int count = Math.Min(Constants.MaxViewports, viewports.Length); @@ -872,6 +872,19 @@ namespace Ryujinx.Graphics.Vulkan } } + float disableTransformF = disableTransform ? 1.0f : 0.0f; + if (SupportBufferUpdater.Data.ViewportInverse.W != disableTransformF || disableTransform) + { + float scale = _renderScale[0].X; + SupportBufferUpdater.UpdateViewportInverse(new Vector4 + { + X = scale * 2f / viewports[first].Region.Width, + Y = scale * 2f / viewports[first].Region.Height, + Z = 1, + W = disableTransformF + }); + } + _newState.ViewportsCount = (uint)count; SignalStateChange(); } From 182c95a588686bae1b57852b1570143e026f1f28 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Sat, 7 May 2022 16:04:55 +0100 Subject: [PATCH 142/179] Vulkan/SPIR-V support for viewport inverse --- .../Shader/DiskCache/DiskCacheHostStorage.cs | 2 +- .../CodeGen/Spirv/CodeGenContext.cs | 11 ++++++++++- Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs | 11 +++++++---- .../CodeGen/Spirv/ScalingHelpers.cs | 8 ++++---- Ryujinx.Graphics.Shader/Translation/AttributeInfo.cs | 4 ++++ 5 files changed, 26 insertions(+), 10 deletions(-) diff --git a/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs b/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs index 0b36bea3f..0deb8faa7 100644 --- a/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs +++ b/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs @@ -22,7 +22,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache private const ushort FileFormatVersionMajor = 1; private const ushort FileFormatVersionMinor = 2; private const uint FileFormatVersionPacked = ((uint)FileFormatVersionMajor << 16) | FileFormatVersionMinor; - private const uint CodeGenVersion = 3; + private const uint CodeGenVersion = 4; private const string SharedTocFileName = "shared.toc"; private const string SharedDataFileName = "shared.data"; diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs index 17291a1f5..187fd2d32 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs @@ -268,6 +268,15 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv } } + bool isViewportInverse = attr == AttributeConsts.SupportBlockViewInverseX || attr == AttributeConsts.SupportBlockViewInverseY; + + if (isViewportInverse) + { + elemType = AggregateType.FP32; + elemIndex = Constant(TypeU32(), (attr - AttributeConsts.SupportBlockViewInverseX) >> 2); + return AccessChain(TypePointer(StorageClass.Uniform, TypeFP32()), SupportBuffer, Constant(TypeU32(), 2), elemIndex); + } + elemType = attrInfo.Type & AggregateType.ElementTypeMask; if (isUserAttr && Config.TransformFeedbackEnabled && @@ -331,7 +340,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv if (attr == AttributeConsts.PositionX || attr == AttributeConsts.PositionY) { var pointerType = TypePointer(StorageClass.Uniform, TypeFP32()); - var fieldIndex = Constant(TypeU32(), 3); + var fieldIndex = Constant(TypeU32(), 4); var scaleIndex = Constant(TypeU32(), 0); var scaleElemPointer = AccessChain(pointerType, SupportBuffer, fieldIndex, scaleIndex); diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs index 911137649..afe2e5326 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs @@ -135,7 +135,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv private static void DeclareSupportBuffer(CodeGenContext context) { - if (!context.Config.Stage.SupportsRenderScale()) + if (!context.Config.Stage.SupportsRenderScale() && !(context.Config.LastInVertexPipeline && context.Config.GpuAccessor.QueryViewportTransformDisable())) { return; } @@ -146,12 +146,13 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv context.Decorate(isBgraArrayType, Decoration.ArrayStride, (LiteralInteger)SupportBuffer.FieldSize); context.Decorate(renderScaleArrayType, Decoration.ArrayStride, (LiteralInteger)SupportBuffer.FieldSize); - var supportBufferStructType = context.TypeStruct(false, context.TypeU32(), isBgraArrayType, context.TypeS32(), renderScaleArrayType); + var supportBufferStructType = context.TypeStruct(false, context.TypeU32(), isBgraArrayType, context.GetType(AggregateType.FP32 | AggregateType.Vector), context.TypeS32(), renderScaleArrayType); context.MemberDecorate(supportBufferStructType, 0, Decoration.Offset, (LiteralInteger)SupportBuffer.FragmentAlphaTestOffset); context.MemberDecorate(supportBufferStructType, 1, Decoration.Offset, (LiteralInteger)SupportBuffer.FragmentIsBgraOffset); - context.MemberDecorate(supportBufferStructType, 2, Decoration.Offset, (LiteralInteger)SupportBuffer.FragmentRenderScaleCountOffset); - context.MemberDecorate(supportBufferStructType, 3, Decoration.Offset, (LiteralInteger)SupportBuffer.GraphicsRenderScaleOffset); + context.MemberDecorate(supportBufferStructType, 2, Decoration.Offset, (LiteralInteger)SupportBuffer.ViewportInverseOffset); + context.MemberDecorate(supportBufferStructType, 3, Decoration.Offset, (LiteralInteger)SupportBuffer.FragmentRenderScaleCountOffset); + context.MemberDecorate(supportBufferStructType, 4, Decoration.Offset, (LiteralInteger)SupportBuffer.GraphicsRenderScaleOffset); context.Decorate(supportBufferStructType, Decoration.Block); var supportBufferPointerType = context.TypePointer(StorageClass.Uniform, supportBufferStructType); @@ -698,6 +699,8 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv AttributeConsts.GtMask => BuiltIn.SubgroupGtMask, AttributeConsts.LeMask => BuiltIn.SubgroupLeMask, AttributeConsts.LtMask => BuiltIn.SubgroupLtMask, + AttributeConsts.SupportBlockViewInverseX => BuiltIn.Position, + AttributeConsts.SupportBlockViewInverseY => BuiltIn.Position, _ => throw new ArgumentException($"Invalid attribute number 0x{attr:X}.") }; } diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/ScalingHelpers.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/ScalingHelpers.cs index 5c9e36413..8503771c3 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/ScalingHelpers.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/ScalingHelpers.cs @@ -57,13 +57,13 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv private static SpvInstruction ApplyScaling2D(CodeGenContext context, SpvInstruction vector, int index) { var pointerType = context.TypePointer(StorageClass.Uniform, context.TypeFP32()); - var fieldIndex = context.Constant(context.TypeU32(), 3); + var fieldIndex = context.Constant(context.TypeU32(), 4); var scaleIndex = context.Constant(context.TypeU32(), index); if (context.Config.Stage == ShaderStage.Vertex) { var scaleCountPointerType = context.TypePointer(StorageClass.Uniform, context.TypeS32()); - var scaleCountElemPointer = context.AccessChain(scaleCountPointerType, context.SupportBuffer, context.Constant(context.TypeU32(), 2)); + var scaleCountElemPointer = context.AccessChain(scaleCountPointerType, context.SupportBuffer, context.Constant(context.TypeU32(), 3)); var scaleCount = context.Load(context.TypeS32(), scaleCountElemPointer); scaleIndex = context.IAdd(context.TypeU32(), scaleIndex, scaleCount); @@ -195,13 +195,13 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv int index = context.Config.FindTextureDescriptorIndex(texOp); var pointerType = context.TypePointer(StorageClass.Uniform, context.TypeFP32()); - var fieldIndex = context.Constant(context.TypeU32(), 3); + var fieldIndex = context.Constant(context.TypeU32(), 4); var scaleIndex = context.Constant(context.TypeU32(), index); if (context.Config.Stage == ShaderStage.Vertex) { var scaleCountPointerType = context.TypePointer(StorageClass.Uniform, context.TypeS32()); - var scaleCountElemPointer = context.AccessChain(scaleCountPointerType, context.SupportBuffer, context.Constant(context.TypeU32(), 2)); + var scaleCountElemPointer = context.AccessChain(scaleCountPointerType, context.SupportBuffer, context.Constant(context.TypeU32(), 3)); var scaleCount = context.Load(context.TypeS32(), scaleCountElemPointer); scaleIndex = context.IAdd(context.TypeU32(), scaleIndex, scaleCount); diff --git a/Ryujinx.Graphics.Shader/Translation/AttributeInfo.cs b/Ryujinx.Graphics.Shader/Translation/AttributeInfo.cs index ffe9d9e75..22b9ba9b0 100644 --- a/Ryujinx.Graphics.Shader/Translation/AttributeInfo.cs +++ b/Ryujinx.Graphics.Shader/Translation/AttributeInfo.cs @@ -111,6 +111,10 @@ namespace Ryujinx.Graphics.Shader.Translation { return new AttributeInfo(value & ~0xf, (value >> 2) & 3, 4, AggregateType.Vector | AggregateType.FP32, false); } + else if (value == AttributeConsts.SupportBlockViewInverseX || value == AttributeConsts.SupportBlockViewInverseY) + { + return new AttributeInfo(value, 0, 1, AggregateType.FP32); + } else if (BuiltInAttributes.TryGetValue(value, out AttributeInfo info)) { return info; From 5a6a70e3d55d33aa20234a0e492c852bd0166018 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Sat, 14 May 2022 00:56:28 +0100 Subject: [PATCH 143/179] Fix typo --- Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs | 2 +- Ryujinx.Graphics.Shader/Translation/EmitterContext.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs b/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs index 0deb8faa7..3eb8bfde0 100644 --- a/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs +++ b/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs @@ -22,7 +22,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache private const ushort FileFormatVersionMajor = 1; private const ushort FileFormatVersionMinor = 2; private const uint FileFormatVersionPacked = ((uint)FileFormatVersionMajor << 16) | FileFormatVersionMinor; - private const uint CodeGenVersion = 4; + private const uint CodeGenVersion = 5; private const string SharedTocFileName = "shared.toc"; private const string SharedDataFileName = "shared.data"; diff --git a/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs b/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs index 1358754a5..fb46e57c9 100644 --- a/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs +++ b/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs @@ -210,7 +210,7 @@ namespace Ryujinx.Graphics.Shader.Translation if (Config.Options.TargetApi == TargetApi.Vulkan && Config.GpuAccessor.QueryTransformDepthMinusOneToOne()) { oldZLocal = Local(); - this.Copy(oldYLocal, Attribute(AttributeConsts.PositionZ | AttributeConsts.LoadOutputMask)); + this.Copy(oldZLocal, Attribute(AttributeConsts.PositionZ | AttributeConsts.LoadOutputMask)); } else { From 9f0feb8879f7e3c218ffa2cf53e8e38e22bf3856 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Fri, 20 May 2022 22:27:48 +0100 Subject: [PATCH 144/179] Don't create query pools for unsupported query types --- .../HardwareCapabilities.cs | 6 ++ .../Queries/BufferedQuery.cs | 57 ++++++++++++++----- .../VulkanGraphicsDevice.cs | 3 + 3 files changed, 52 insertions(+), 14 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/HardwareCapabilities.cs b/Ryujinx.Graphics.Vulkan/HardwareCapabilities.cs index b61744495..9d43754bc 100644 --- a/Ryujinx.Graphics.Vulkan/HardwareCapabilities.cs +++ b/Ryujinx.Graphics.Vulkan/HardwareCapabilities.cs @@ -6,6 +6,8 @@ namespace Ryujinx.Graphics.Vulkan { public bool SupportsConditionalRendering { get; } public bool SupportsExtendedDynamicState { get; } + public bool SupportsTransformFeedback { get; } + public bool SupportsGeometryShader { get; } public uint MinSubgroupSize { get; } public uint MaxSubgroupSize { get; } public ShaderStageFlags RequiredSubgroupSizeStages { get; } @@ -13,12 +15,16 @@ namespace Ryujinx.Graphics.Vulkan public HardwareCapabilities( bool supportsConditionalRendering, bool supportsExtendedDynamicState, + bool supportsTransformFeedback, + bool supportsGeometryShader, uint minSubgroupSize, uint maxSubgroupSize, ShaderStageFlags requiredSubgroupSizeStages) { SupportsConditionalRendering = supportsConditionalRendering; SupportsExtendedDynamicState = supportsExtendedDynamicState; + SupportsTransformFeedback = supportsTransformFeedback; + SupportsGeometryShader = supportsGeometryShader; MinSubgroupSize = minSubgroupSize; MaxSubgroupSize = maxSubgroupSize; RequiredSubgroupSizeStages = requiredSubgroupSizeStages; diff --git a/Ryujinx.Graphics.Vulkan/Queries/BufferedQuery.cs b/Ryujinx.Graphics.Vulkan/Queries/BufferedQuery.cs index ffebae812..25150f756 100644 --- a/Ryujinx.Graphics.Vulkan/Queries/BufferedQuery.cs +++ b/Ryujinx.Graphics.Vulkan/Queries/BufferedQuery.cs @@ -24,6 +24,7 @@ namespace Ryujinx.Graphics.Vulkan.Queries private readonly IntPtr _bufferMap; private readonly CounterType _type; private bool _result32Bit; + private bool _isSupported; private long _defaultValue; @@ -35,18 +36,23 @@ namespace Ryujinx.Graphics.Vulkan.Queries _type = type; _result32Bit = result32Bit; - QueryPipelineStatisticFlags flags = type == CounterType.PrimitivesGenerated ? - QueryPipelineStatisticFlags.QueryPipelineStatisticGeometryShaderPrimitivesBit : 0; + _isSupported = QueryTypeSupported(gd, type); - var queryPoolCreateInfo = new QueryPoolCreateInfo() + if (_isSupported) { - SType = StructureType.QueryPoolCreateInfo, - QueryCount = 1, - QueryType = GetQueryType(type), - PipelineStatistics = flags - }; + QueryPipelineStatisticFlags flags = type == CounterType.PrimitivesGenerated ? + QueryPipelineStatisticFlags.QueryPipelineStatisticGeometryShaderPrimitivesBit : 0; - gd.Api.CreateQueryPool(device, queryPoolCreateInfo, null, out _queryPool).ThrowOnError(); + var queryPoolCreateInfo = new QueryPoolCreateInfo() + { + SType = StructureType.QueryPoolCreateInfo, + QueryCount = 1, + QueryType = GetQueryType(type), + PipelineStatistics = flags + }; + + gd.Api.CreateQueryPool(device, queryPoolCreateInfo, null, out _queryPool).ThrowOnError(); + } var buffer = gd.BufferManager.Create(gd, sizeof(long), forConditionalRendering: true); @@ -56,6 +62,17 @@ namespace Ryujinx.Graphics.Vulkan.Queries _buffer = buffer; } + private bool QueryTypeSupported(VulkanGraphicsDevice gd, CounterType type) + { + return type switch + { + CounterType.SamplesPassed => true, + CounterType.TransformFeedbackPrimitivesWritten => gd.Capabilities.SupportsTransformFeedback, + CounterType.PrimitivesGenerated => gd.Capabilities.SupportsGeometryShader, + _ => false + }; + } + private static QueryType GetQueryType(CounterType type) { return type switch @@ -80,15 +97,21 @@ namespace Ryujinx.Graphics.Vulkan.Queries public void Begin() { - _pipeline.BeginQuery(this, _queryPool, !_isReset); + if (_isSupported) + { + _pipeline.BeginQuery(this, _queryPool, !_isReset); + } _isReset = false; } public unsafe void End(bool withResult) { - _pipeline.EndQuery(_queryPool); + if (_isSupported) + { + _pipeline.EndQuery(_queryPool); + } - if (withResult) + if (withResult && _isSupported) { Marshal.WriteInt64(_bufferMap, _defaultValue); _pipeline.CopyQueryResults(this); @@ -141,7 +164,10 @@ namespace Ryujinx.Graphics.Vulkan.Queries public void PoolReset(CommandBuffer cmd) { - _api.CmdResetQueryPool(cmd, _queryPool, 0, 1); + if (_isSupported) + { + _api.CmdResetQueryPool(cmd, _queryPool, 0, 1); + } _isReset = true; } @@ -170,7 +196,10 @@ namespace Ryujinx.Graphics.Vulkan.Queries public unsafe void Dispose() { _buffer.Dispose(); - _api.DestroyQueryPool(_device, _queryPool, null); + if (_isSupported) + { + _api.DestroyQueryPool(_device, _queryPool, null); + } _queryPool = default; } } diff --git a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs index a8d814484..7fd515b04 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs @@ -118,6 +118,7 @@ namespace Ryujinx.Graphics.Vulkan var queueFamilyIndex = VulkanInitialization.FindSuitableQueueFamily(api, _physicalDevice, _surface, out uint maxQueueCount); var supportedExtensions = VulkanInitialization.GetSupportedExtensions(api, _physicalDevice); + var supportedFeatures = api.GetPhysicalDeviceFeature(_physicalDevice); _device = VulkanInitialization.CreateDevice(api, _physicalDevice, queueFamilyIndex, supportedExtensions, maxQueueCount); @@ -184,6 +185,8 @@ namespace Ryujinx.Graphics.Vulkan Capabilities = new HardwareCapabilities( supportedExtensions.Contains(ExtConditionalRendering.ExtensionName), supportedExtensions.Contains(ExtExtendedDynamicState.ExtensionName), + supportedExtensions.Contains(ExtTransformFeedback.ExtensionName), + supportedFeatures.GeometryShader, propertiesSubgroupSizeControl.MinSubgroupSize, propertiesSubgroupSizeControl.MaxSubgroupSize, propertiesSubgroupSizeControl.RequiredSubgroupSizeStages); From d4ccb6b895f219ab0bce72105c443578c0422902 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Sat, 21 May 2022 00:24:25 +0100 Subject: [PATCH 145/179] Return of the Vector Indexing Bug One day, everyone will get this right. --- .../Shader/DiskCache/DiskCacheHostStorage.cs | 2 +- .../CodeGen/Spirv/Instructions.cs | 50 +++++++++++++++---- Ryujinx.Graphics.Vulkan/Vendor.cs | 1 + .../VulkanGraphicsDevice.cs | 3 +- 4 files changed, 45 insertions(+), 11 deletions(-) diff --git a/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs b/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs index 3eb8bfde0..1357c1aae 100644 --- a/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs +++ b/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs @@ -22,7 +22,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache private const ushort FileFormatVersionMajor = 1; private const ushort FileFormatVersionMinor = 2; private const uint FileFormatVersionPacked = ((uint)FileFormatVersionMajor << 16) | FileFormatVersionMinor; - private const uint CodeGenVersion = 5; + private const uint CodeGenVersion = 6; private const string SharedTocFileName = "shared.toc"; private const string SharedDataFileName = "shared.data"; diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs index d160671ca..c0ab48236 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs @@ -893,24 +893,56 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv var i2 = context.ShiftRightArithmetic(context.TypeS32(), src2, context.Constant(context.TypeS32(), 2)); var i3 = context.BitwiseAnd(context.TypeS32(), src2, context.Constant(context.TypeS32(), 3)); - SpvInstruction elemPointer; + SpvInstruction value = null; - if (context.UniformBuffersArray != null) + if (context.Config.GpuAccessor.QueryHostHasVectorIndexingBug()) { - var ubVariable = context.UniformBuffersArray; - var i0 = context.Get(AggregateType.S32, src1); + // Test for each component individually. + for (int i = 0; i < 4; i++) + { + var component = context.Constant(context.TypeS32(), i); - elemPointer = context.AccessChain(context.TypePointer(StorageClass.Uniform, context.TypeFP32()), ubVariable, i0, i1, i2, i3); + SpvInstruction elemPointer; + if (context.UniformBuffersArray != null) + { + var ubVariable = context.UniformBuffersArray; + var i0 = context.Get(AggregateType.S32, src1); + + elemPointer = context.AccessChain(context.TypePointer(StorageClass.Uniform, context.TypeFP32()), ubVariable, i0, i1, i2, component); + } + else + { + var ubVariable = context.UniformBuffers[((AstOperand)src1).Value]; + + elemPointer = context.AccessChain(context.TypePointer(StorageClass.Uniform, context.TypeFP32()), ubVariable, i1, i2, component); + } + + SpvInstruction newValue = context.Load(context.TypeFP32(), elemPointer); + + value = value != null ? context.Select(context.TypeFP32(), context.IEqual(context.TypeBool(), i3, component), newValue, value) : newValue; + } } else { - var ubVariable = context.UniformBuffers[((AstOperand)src1).Value]; + SpvInstruction elemPointer; - elemPointer = context.AccessChain(context.TypePointer(StorageClass.Uniform, context.TypeFP32()), ubVariable, i1, i2, i3); + if (context.UniformBuffersArray != null) + { + var ubVariable = context.UniformBuffersArray; + var i0 = context.Get(AggregateType.S32, src1); + + elemPointer = context.AccessChain(context.TypePointer(StorageClass.Uniform, context.TypeFP32()), ubVariable, i0, i1, i2, i3); + } + else + { + var ubVariable = context.UniformBuffers[((AstOperand)src1).Value]; + + elemPointer = context.AccessChain(context.TypePointer(StorageClass.Uniform, context.TypeFP32()), ubVariable, i1, i2, i3); + } + + value = context.Load(context.TypeFP32(), elemPointer); } - var value = context.Load(context.TypeFP32(), elemPointer); - return new OperationResult(AggregateType.FP32, value); } diff --git a/Ryujinx.Graphics.Vulkan/Vendor.cs b/Ryujinx.Graphics.Vulkan/Vendor.cs index b9d9849ec..d55a8b3db 100644 --- a/Ryujinx.Graphics.Vulkan/Vendor.cs +++ b/Ryujinx.Graphics.Vulkan/Vendor.cs @@ -5,6 +5,7 @@ namespace Ryujinx.Graphics.Vulkan Amd, Intel, Nvidia, + Qualcomm, Unknown } } diff --git a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs index 7fd515b04..c61ef6aca 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs @@ -310,7 +310,7 @@ namespace Ryujinx.Graphics.Vulkan api: TargetApi.Vulkan, GpuVendor, hasFrontFacingBug: IsIntelWindows, - hasVectorIndexingBug: false, + hasVectorIndexingBug: Vendor == Vendor.Qualcomm, supportsAstcCompression: features.TextureCompressionAstcLdr, supports3DTextureCompression: true, supportsBgraFormat: true, @@ -386,6 +386,7 @@ namespace Ryujinx.Graphics.Vulkan 0x1002 => Vendor.Amd, 0x10DE => Vendor.Nvidia, 0x8086 => Vendor.Intel, + 0x5143 => Vendor.Qualcomm, _ => Vendor.Unknown }; From f636810c6c4d91dc93ae81a507241fd315f77955 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Sat, 21 May 2022 15:11:36 +0100 Subject: [PATCH 146/179] Check for transform feedback query support Sometimes transform feedback is supported without the query type. --- Ryujinx.Graphics.Vulkan/HardwareCapabilities.cs | 3 +++ Ryujinx.Graphics.Vulkan/Queries/BufferedQuery.cs | 2 +- Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs | 16 +++++++++++++++- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/HardwareCapabilities.cs b/Ryujinx.Graphics.Vulkan/HardwareCapabilities.cs index 9d43754bc..efcd96615 100644 --- a/Ryujinx.Graphics.Vulkan/HardwareCapabilities.cs +++ b/Ryujinx.Graphics.Vulkan/HardwareCapabilities.cs @@ -7,6 +7,7 @@ namespace Ryujinx.Graphics.Vulkan public bool SupportsConditionalRendering { get; } public bool SupportsExtendedDynamicState { get; } public bool SupportsTransformFeedback { get; } + public bool SupportsTransformFeedbackQueries { get; } public bool SupportsGeometryShader { get; } public uint MinSubgroupSize { get; } public uint MaxSubgroupSize { get; } @@ -16,6 +17,7 @@ namespace Ryujinx.Graphics.Vulkan bool supportsConditionalRendering, bool supportsExtendedDynamicState, bool supportsTransformFeedback, + bool supportsTransformFeedbackQueries, bool supportsGeometryShader, uint minSubgroupSize, uint maxSubgroupSize, @@ -24,6 +26,7 @@ namespace Ryujinx.Graphics.Vulkan SupportsConditionalRendering = supportsConditionalRendering; SupportsExtendedDynamicState = supportsExtendedDynamicState; SupportsTransformFeedback = supportsTransformFeedback; + SupportsTransformFeedbackQueries = supportsTransformFeedbackQueries; SupportsGeometryShader = supportsGeometryShader; MinSubgroupSize = minSubgroupSize; MaxSubgroupSize = maxSubgroupSize; diff --git a/Ryujinx.Graphics.Vulkan/Queries/BufferedQuery.cs b/Ryujinx.Graphics.Vulkan/Queries/BufferedQuery.cs index 25150f756..1d54b9e10 100644 --- a/Ryujinx.Graphics.Vulkan/Queries/BufferedQuery.cs +++ b/Ryujinx.Graphics.Vulkan/Queries/BufferedQuery.cs @@ -67,7 +67,7 @@ namespace Ryujinx.Graphics.Vulkan.Queries return type switch { CounterType.SamplesPassed => true, - CounterType.TransformFeedbackPrimitivesWritten => gd.Capabilities.SupportsTransformFeedback, + CounterType.TransformFeedbackPrimitivesWritten => gd.Capabilities.SupportsTransformFeedbackQueries, CounterType.PrimitivesGenerated => gd.Capabilities.SupportsGeometryShader, _ => false }; diff --git a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs index c61ef6aca..2e715fdf7 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs @@ -180,12 +180,26 @@ namespace Ryujinx.Graphics.Vulkan properties2.PNext = &propertiesSubgroupSizeControl; } + bool supportsTransformFeedback = supportedExtensions.Contains(ExtTransformFeedback.ExtensionName); + + PhysicalDeviceTransformFeedbackPropertiesEXT propertiesTransformFeedback = new PhysicalDeviceTransformFeedbackPropertiesEXT() + { + SType = StructureType.PhysicalDeviceTransformFeedbackPropertiesExt + }; + + if (supportsTransformFeedback) + { + propertiesTransformFeedback.PNext = properties2.PNext; + properties2.PNext = &propertiesTransformFeedback; + } + Api.GetPhysicalDeviceProperties2(_physicalDevice, &properties2); Capabilities = new HardwareCapabilities( supportedExtensions.Contains(ExtConditionalRendering.ExtensionName), supportedExtensions.Contains(ExtExtendedDynamicState.ExtensionName), - supportedExtensions.Contains(ExtTransformFeedback.ExtensionName), + supportsTransformFeedback, + propertiesTransformFeedback.TransformFeedbackQueries, supportedFeatures.GeometryShader, propertiesSubgroupSizeControl.MinSubgroupSize, propertiesSubgroupSizeControl.MaxSubgroupSize, From 52050e4d48fc140497cc8330e233b91412f4860e Mon Sep 17 00:00:00 2001 From: riperiperi Date: Sat, 21 May 2022 17:23:35 +0100 Subject: [PATCH 147/179] Fix gl_FragCoord.z transformation FragCoord.z is always in 0-1, even when the real depth range is -1 to 1. Turns out the only bug was geo and tess stage outputs. Fixes Pokemon Sword/Shield, possibly others. --- .../Shader/DiskCache/DiskCacheHostStorage.cs | 2 +- .../CodeGen/Glsl/OperandManager.cs | 10 +--------- .../CodeGen/Spirv/CodeGenContext.cs | 14 -------------- 3 files changed, 2 insertions(+), 24 deletions(-) diff --git a/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs b/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs index 1357c1aae..3b7353c56 100644 --- a/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs +++ b/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs @@ -22,7 +22,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache private const ushort FileFormatVersionMajor = 1; private const ushort FileFormatVersionMinor = 2; private const uint FileFormatVersionPacked = ((uint)FileFormatVersionMajor << 16) | FileFormatVersionMinor; - private const uint CodeGenVersion = 6; + private const uint CodeGenVersion = 7; private const string SharedTocFileName = "shared.toc"; private const string SharedDataFileName = "shared.data"; diff --git a/Ryujinx.Graphics.Shader/CodeGen/Glsl/OperandManager.cs b/Ryujinx.Graphics.Shader/CodeGen/Glsl/OperandManager.cs index 21f8f0ee6..74dfd0236 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Glsl/OperandManager.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Glsl/OperandManager.cs @@ -259,15 +259,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl { case AttributeConsts.PositionX: return $"(gl_FragCoord.x / {DefaultNames.SupportBlockRenderScaleName}[0])"; case AttributeConsts.PositionY: return $"(gl_FragCoord.y / {DefaultNames.SupportBlockRenderScaleName}[0])"; - case AttributeConsts.PositionZ: - if (config.Options.TargetApi == TargetApi.Vulkan && config.GpuAccessor.QueryTransformDepthMinusOneToOne()) - { - return "((gl_FragCoord.z - (gl_FragCoord.w * 0.5)) * 2.0)"; - } - else - { - return "gl_FragCoord.z"; - } + case AttributeConsts.PositionZ: return "gl_FragCoord.z"; case AttributeConsts.PositionW: return "gl_FragCoord.w"; case AttributeConsts.FrontFacing: diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs index 187fd2d32..03d26553c 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs @@ -348,20 +348,6 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv value = FDiv(TypeFP32(), value, scale); } - else if (Config.Options.TargetApi == TargetApi.Vulkan && - attr == AttributeConsts.PositionZ && - Config.GpuAccessor.QueryTransformDepthMinusOneToOne()) - { - var constTwo = Constant(TypeFP32(), 2.0f); - var constZeroPointFive = Constant(TypeFP32(), 0.5f); - - var elemPointerW = GetAttributeElemPointer(AttributeConsts.PositionW, isOutAttr, null, out var elemTypeW); - var valueW = Load(GetType(elemTypeW), elemPointerW); - - var halfW = FMul(TypeFP32(), valueW, constZeroPointFive); - - value = FMul(TypeFP32(), FSub(TypeFP32(), value, halfW), constTwo); - } else if (attr == AttributeConsts.FrontFacing && Config.GpuAccessor.QueryHostHasFrontFacingBug()) { // Workaround for what appears to be a bug on Intel compiler. From d2cef41c5be4505915d180cfe5a53624bfa8ed21 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Sat, 21 May 2022 18:28:27 +0100 Subject: [PATCH 148/179] Fix Avalonia Rebase Vulkan is currently not available on Avalonia, but the build does work and you can use opengl. --- Ryujinx.Graphics.Vulkan/Window.cs | 2 +- Ryujinx.Headless.SDL2/Ryujinx.Headless.SDL2.csproj | 1 + Ryujinx/Ryujinx.csproj | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Ryujinx.Graphics.Vulkan/Window.cs b/Ryujinx.Graphics.Vulkan/Window.cs index 505b86a40..3e0a267b4 100644 --- a/Ryujinx.Graphics.Vulkan/Window.cs +++ b/Ryujinx.Graphics.Vulkan/Window.cs @@ -211,7 +211,7 @@ namespace Ryujinx.Graphics.Vulkan } } - public unsafe void Present(ITexture texture, ImageCrop crop, Action swapBuffersCallback) + public unsafe void Present(ITexture texture, ImageCrop crop, Action swapBuffersCallback) { uint nextImage = 0; diff --git a/Ryujinx.Headless.SDL2/Ryujinx.Headless.SDL2.csproj b/Ryujinx.Headless.SDL2/Ryujinx.Headless.SDL2.csproj index 27faf9770..a896626a6 100644 --- a/Ryujinx.Headless.SDL2/Ryujinx.Headless.SDL2.csproj +++ b/Ryujinx.Headless.SDL2/Ryujinx.Headless.SDL2.csproj @@ -12,6 +12,7 @@ + diff --git a/Ryujinx/Ryujinx.csproj b/Ryujinx/Ryujinx.csproj index 0ecd12a40..8e8eb28c4 100644 --- a/Ryujinx/Ryujinx.csproj +++ b/Ryujinx/Ryujinx.csproj @@ -21,6 +21,7 @@ + From 65cecb0c2f129ea22323077c904f6dc2ce7ea660 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Sat, 21 May 2022 19:31:42 +0100 Subject: [PATCH 149/179] Fix headless build --- Ryujinx.Headless.SDL2/Vulkan/VulkanWindow.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ryujinx.Headless.SDL2/Vulkan/VulkanWindow.cs b/Ryujinx.Headless.SDL2/Vulkan/VulkanWindow.cs index 9a8c91b66..5287280c9 100644 --- a/Ryujinx.Headless.SDL2/Vulkan/VulkanWindow.cs +++ b/Ryujinx.Headless.SDL2/Vulkan/VulkanWindow.cs @@ -86,6 +86,6 @@ namespace Ryujinx.Headless.SDL2.Vulkan Device.DisposeGpu(); } - protected override void SwapBuffers() { } + protected override void SwapBuffers(object texture) { } } } From 782a0c4e93b91b8e128d88705312c05a333c403d Mon Sep 17 00:00:00 2001 From: gdk Date: Sun, 22 May 2022 00:05:14 -0300 Subject: [PATCH 150/179] Add support for BC6 and BC7 decompression, decompress all BC formats if they are not supported by the host --- Ryujinx.Graphics.GAL/Capabilities.cs | 9 + Ryujinx.Graphics.Gpu/Image/Texture.cs | 10 +- .../Image/TextureCompatibility.cs | 46 +- Ryujinx.Graphics.OpenGL/HwCapabilities.cs | 6 + Ryujinx.Graphics.OpenGL/Renderer.cs | 3 + Ryujinx.Graphics.Texture/BC6Decoder.cs | 819 ++++++++++++++++++ Ryujinx.Graphics.Texture/BC7Decoder.cs | 220 +++++ Ryujinx.Graphics.Texture/BCnDecoder.cs | 76 ++ .../Encoders/BC7Encoder.cs | 140 +-- .../BC7Tables.cs => Utils/BC67Tables.cs} | 16 +- .../BC7Utils.cs => Utils/BC67Utils.cs} | 46 +- Ryujinx.Graphics.Texture/Utils/BC7ModeInfo.cs | 37 + Ryujinx.Graphics.Texture/Utils/Block.cs | 55 ++ .../{Encoders => Utils}/RgbaColor32.cs | 33 +- .../{Encoders => Utils}/RgbaColor8.cs | 2 +- Ryujinx.Graphics.Vulkan/FormatCapabilities.cs | 17 +- Ryujinx.Graphics.Vulkan/TextureView.cs | 8 +- .../VulkanGraphicsDevice.cs | 30 + 18 files changed, 1435 insertions(+), 138 deletions(-) create mode 100644 Ryujinx.Graphics.Texture/BC6Decoder.cs create mode 100644 Ryujinx.Graphics.Texture/BC7Decoder.cs rename Ryujinx.Graphics.Texture/{Encoders/BC7Tables.cs => Utils/BC67Tables.cs} (97%) rename Ryujinx.Graphics.Texture/{Encoders/BC7Utils.cs => Utils/BC67Utils.cs} (96%) create mode 100644 Ryujinx.Graphics.Texture/Utils/BC7ModeInfo.cs create mode 100644 Ryujinx.Graphics.Texture/Utils/Block.cs rename Ryujinx.Graphics.Texture/{Encoders => Utils}/RgbaColor32.cs (89%) rename Ryujinx.Graphics.Texture/{Encoders => Utils}/RgbaColor8.cs (97%) diff --git a/Ryujinx.Graphics.GAL/Capabilities.cs b/Ryujinx.Graphics.GAL/Capabilities.cs index bbced2dde..d7388476b 100644 --- a/Ryujinx.Graphics.GAL/Capabilities.cs +++ b/Ryujinx.Graphics.GAL/Capabilities.cs @@ -11,6 +11,9 @@ namespace Ryujinx.Graphics.GAL public readonly bool HasVectorIndexingBug; public readonly bool SupportsAstcCompression; + public readonly bool SupportsBc123Compression; + public readonly bool SupportsBc45Compression; + public readonly bool SupportsBc67Compression; public readonly bool Supports3DTextureCompression; public readonly bool SupportsBgraFormat; public readonly bool SupportsR4G4Format; @@ -40,6 +43,9 @@ namespace Ryujinx.Graphics.GAL bool hasFrontFacingBug, bool hasVectorIndexingBug, bool supportsAstcCompression, + bool supportsBc123Compression, + bool supportsBc45Compression, + bool supportsBc67Compression, bool supports3DTextureCompression, bool supportsBgraFormat, bool supportsR4G4Format, @@ -66,6 +72,9 @@ namespace Ryujinx.Graphics.GAL HasFrontFacingBug = hasFrontFacingBug; HasVectorIndexingBug = hasVectorIndexingBug; SupportsAstcCompression = supportsAstcCompression; + SupportsBc123Compression = supportsBc123Compression; + SupportsBc45Compression = supportsBc45Compression; + SupportsBc67Compression = supportsBc67Compression; Supports3DTextureCompression = supports3DTextureCompression; SupportsBgraFormat = supportsBgraFormat; SupportsR4G4Format = supportsR4G4Format; diff --git a/Ryujinx.Graphics.Gpu/Image/Texture.cs b/Ryujinx.Graphics.Gpu/Image/Texture.cs index 2ef76b686..0a578c924 100644 --- a/Ryujinx.Graphics.Gpu/Image/Texture.cs +++ b/Ryujinx.Graphics.Gpu/Image/Texture.cs @@ -844,7 +844,7 @@ namespace Ryujinx.Graphics.Gpu.Image { data = PixelConverter.ConvertR4G4ToR4G4B4A4(data); } - else if (!_context.Capabilities.Supports3DTextureCompression && Target == Target.Texture3D) + else if (!TextureCompatibility.HostSupportsBcFormat(Format, Target, _context.Capabilities)) { switch (Format) { @@ -868,6 +868,14 @@ namespace Ryujinx.Graphics.Gpu.Image case Format.Bc5Unorm: data = BCnDecoder.DecodeBC5(data, width, height, depth, levels, layers, Format == Format.Bc5Snorm); break; + case Format.Bc6HSfloat: + case Format.Bc6HUfloat: + data = BCnDecoder.DecodeBC6(data, width, height, depth, levels, layers, Format == Format.Bc6HSfloat); + break; + case Format.Bc7Srgb: + case Format.Bc7Unorm: + data = BCnDecoder.DecodeBC7(data, width, height, depth, levels, layers); + break; } } diff --git a/Ryujinx.Graphics.Gpu/Image/TextureCompatibility.cs b/Ryujinx.Graphics.Gpu/Image/TextureCompatibility.cs index 62cd456db..ea9801bbb 100644 --- a/Ryujinx.Graphics.Gpu/Image/TextureCompatibility.cs +++ b/Ryujinx.Graphics.Gpu/Image/TextureCompatibility.cs @@ -88,9 +88,9 @@ namespace Ryujinx.Graphics.Gpu.Image return new FormatInfo(Format.R4G4B4A4Unorm, 1, 1, 2, 4); } - if (!caps.Supports3DTextureCompression && info.Target == Target.Texture3D) + if (!HostSupportsBcFormat(info.FormatInfo.Format, info.Target, caps)) { - // The host API does not support 3D compressed formats. + // The host API does not this compressed format. // We assume software decompression will be done for those textures, // and so we adjust the format here to match the decompressor output. switch (info.FormatInfo.Format) @@ -98,10 +98,12 @@ namespace Ryujinx.Graphics.Gpu.Image case Format.Bc1RgbaSrgb: case Format.Bc2Srgb: case Format.Bc3Srgb: + case Format.Bc7Srgb: return new FormatInfo(Format.R8G8B8A8Srgb, 1, 1, 4, 4); case Format.Bc1RgbaUnorm: case Format.Bc2Unorm: case Format.Bc3Unorm: + case Format.Bc7Unorm: return new FormatInfo(Format.R8G8B8A8Unorm, 1, 1, 4, 4); case Format.Bc4Unorm: return new FormatInfo(Format.R8Unorm, 1, 1, 1, 1); @@ -111,12 +113,50 @@ namespace Ryujinx.Graphics.Gpu.Image return new FormatInfo(Format.R8G8Unorm, 1, 1, 2, 2); case Format.Bc5Snorm: return new FormatInfo(Format.R8G8Snorm, 1, 1, 2, 2); + case Format.Bc6HSfloat: + case Format.Bc6HUfloat: + return new FormatInfo(Format.R16G16B16A16Float, 1, 1, 8, 4); } } return info.FormatInfo; } + /// + /// Checks if the host API supports a given texture compression format of the BC family. + /// + /// BC format to be checked + /// Target usage of the texture + /// Host GPU Capabilities + /// True if the texture host supports the format with the given target usage, false otherwise + public static bool HostSupportsBcFormat(Format format, Target target, Capabilities caps) + { + bool not3DOr3DCompressionSupported = target != Target.Texture3D || caps.Supports3DTextureCompression; + + switch (format) + { + case Format.Bc1RgbaSrgb: + case Format.Bc1RgbaUnorm: + case Format.Bc2Srgb: + case Format.Bc2Unorm: + case Format.Bc3Srgb: + case Format.Bc3Unorm: + return caps.SupportsBc123Compression && not3DOr3DCompressionSupported; + case Format.Bc4Unorm: + case Format.Bc4Snorm: + case Format.Bc5Unorm: + case Format.Bc5Snorm: + return caps.SupportsBc45Compression && not3DOr3DCompressionSupported; + case Format.Bc6HSfloat: + case Format.Bc6HUfloat: + case Format.Bc7Srgb: + case Format.Bc7Unorm: + return caps.SupportsBc67Compression && not3DOr3DCompressionSupported; + } + + return true; + } + /// /// Determines whether a texture can flush its data back to guest memory. /// @@ -748,7 +788,7 @@ namespace Ryujinx.Graphics.Gpu.Image /// True if the texture target and samples count matches, false otherwise public static bool TargetAndSamplesCompatible(TextureInfo lhs, TextureInfo rhs) { - return lhs.Target == rhs.Target && + return lhs.Target == rhs.Target && lhs.SamplesInX == rhs.SamplesInX && lhs.SamplesInY == rhs.SamplesInY; } diff --git a/Ryujinx.Graphics.OpenGL/HwCapabilities.cs b/Ryujinx.Graphics.OpenGL/HwCapabilities.cs index c20eccf8f..1e36b1cf9 100644 --- a/Ryujinx.Graphics.OpenGL/HwCapabilities.cs +++ b/Ryujinx.Graphics.OpenGL/HwCapabilities.cs @@ -17,6 +17,9 @@ namespace Ryujinx.Graphics.OpenGL private static readonly Lazy _supportsQuads = new Lazy(SupportsQuadsCheck); private static readonly Lazy _supportsSeamlessCubemapPerTexture = new Lazy(() => HasExtension("GL_ARB_seamless_cubemap_per_texture")); private static readonly Lazy _supportsShaderBallot = new Lazy(() => HasExtension("GL_ARB_shader_ballot")); + private static readonly Lazy _supportsTextureCompressionBptc = new Lazy(() => HasExtension("GL_EXT_texture_compression_bptc")); + private static readonly Lazy _supportsTextureCompressionRgtc = new Lazy(() => HasExtension("GL_EXT_texture_compression_rgtc")); + private static readonly Lazy _supportsTextureCompressionS3tc = new Lazy(() => HasExtension("GL_EXT_texture_compression_s3tc")); private static readonly Lazy _supportsTextureShadowLod = new Lazy(() => HasExtension("GL_EXT_texture_shadow_lod")); private static readonly Lazy _supportsViewportSwizzle = new Lazy(() => HasExtension("GL_NV_viewport_swizzle")); @@ -56,6 +59,9 @@ namespace Ryujinx.Graphics.OpenGL public static bool SupportsQuads => _supportsQuads.Value; public static bool SupportsSeamlessCubemapPerTexture => _supportsSeamlessCubemapPerTexture.Value; public static bool SupportsShaderBallot => _supportsShaderBallot.Value; + public static bool SupportsTextureCompressionBptc => _supportsTextureCompressionBptc.Value; + public static bool SupportsTextureCompressionRgtc => _supportsTextureCompressionRgtc.Value; + public static bool SupportsTextureCompressionS3tc => _supportsTextureCompressionS3tc.Value; public static bool SupportsTextureShadowLod => _supportsTextureShadowLod.Value; public static bool SupportsViewportSwizzle => _supportsViewportSwizzle.Value; diff --git a/Ryujinx.Graphics.OpenGL/Renderer.cs b/Ryujinx.Graphics.OpenGL/Renderer.cs index 78335a133..67d685f6c 100644 --- a/Ryujinx.Graphics.OpenGL/Renderer.cs +++ b/Ryujinx.Graphics.OpenGL/Renderer.cs @@ -105,6 +105,9 @@ namespace Ryujinx.Graphics.OpenGL hasFrontFacingBug: HwCapabilities.Vendor == HwCapabilities.GpuVendor.IntelWindows, hasVectorIndexingBug: HwCapabilities.Vendor == HwCapabilities.GpuVendor.AmdWindows, supportsAstcCompression: HwCapabilities.SupportsAstcCompression, + supportsBc123Compression: HwCapabilities.SupportsTextureCompressionS3tc, + supportsBc45Compression: HwCapabilities.SupportsTextureCompressionRgtc, + supportsBc67Compression: true, // Should check BPTC extension, but for some reason NVIDIA is not exposing the extension. supports3DTextureCompression: false, supportsBgraFormat: false, supportsR4G4Format: false, diff --git a/Ryujinx.Graphics.Texture/BC6Decoder.cs b/Ryujinx.Graphics.Texture/BC6Decoder.cs new file mode 100644 index 000000000..819bf022f --- /dev/null +++ b/Ryujinx.Graphics.Texture/BC6Decoder.cs @@ -0,0 +1,819 @@ +using Ryujinx.Graphics.Texture.Utils; +using System; +using System.Runtime.InteropServices; + +namespace Ryujinx.Graphics.Texture +{ + static class BC6Decoder + { + private const int HalfOne = 0x3C00; + + public static void Decode(Span output, ReadOnlySpan data, int width, int height, bool signed) + { + ReadOnlySpan blocks = MemoryMarshal.Cast(data); + + Span output64 = MemoryMarshal.Cast(output); + + int wInBlocks = (width + 3) / 4; + int hInBlocks = (height + 3) / 4; + + for (int y = 0; y < hInBlocks; y++) + { + int y2 = y * 4; + int bh = Math.Min(4, height - y2); + + for (int x = 0; x < wInBlocks; x++) + { + int x2 = x * 4; + int bw = Math.Min(4, width - x2); + + DecodeBlock(blocks[y * wInBlocks + x], output64.Slice(y2 * width + x2), bw, bh, width, signed); + } + } + } + + private static void DecodeBlock(Block block, Span output, int w, int h, int width, bool signed) + { + int mode = (int)(block.Low & 3); + if ((mode & 2) != 0) + { + mode = (int)(block.Low & 0x1f); + } + + Span endPoints = stackalloc RgbaColor32[4]; + int subsetCount = DecodeEndPoints(ref block, endPoints, mode, signed); + if (subsetCount == 0) + { + // Mode is invalid, the spec mandates that hardware fills the block with + // a opaque black color. + for (int ty = 0; ty < h; ty++) + { + int baseOffs = ty * width; + + for (int tx = 0; tx < w; tx++) + { + output[baseOffs + tx] = (ulong)HalfOne << 48; + } + } + + return; + } + + int partition; + int indexBitCount; + ulong indices; + + if (subsetCount > 1) + { + partition = (int)((block.High >> 13) & 0x1F); + indexBitCount = 3; + + int fixUpIndex = BC67Tables.FixUpIndices[subsetCount - 1][partition][1] * 3; + ulong lowMask = (ulong.MaxValue >> (65 - fixUpIndex)) << 3; + ulong highMask = ulong.MaxValue << (fixUpIndex + 3); + + indices = ((block.High >> 16) & highMask) | ((block.High >> 17) & lowMask) | ((block.High >> 18) & 3); + } + else + { + partition = 0; + indexBitCount = 4; + indices = (block.High & ~0xFUL) | ((block.High >> 1) & 7); + } + + ulong indexMask = (1UL << indexBitCount) - 1; + + for (int ty = 0; ty < h; ty++) + { + int baseOffs = ty * width; + + for (int tx = 0; tx < w; tx++) + { + int offs = baseOffs + tx; + int index = (int)(indices & indexMask); + int endPointBase = BC67Tables.PartitionTable[subsetCount - 1][partition][ty * 4 + tx] << 1; + + RgbaColor32 color1 = endPoints[endPointBase]; + RgbaColor32 color2 = endPoints[endPointBase + 1]; + + RgbaColor32 color = BC67Utils.Interpolate(color1, color2, index, indexBitCount); + + output[offs] = + (ulong)FinishUnquantize(color.R, signed) | + ((ulong)FinishUnquantize(color.G, signed) << 16) | + ((ulong)FinishUnquantize(color.B, signed) << 32) | + ((ulong)HalfOne << 48); + + indices >>= indexBitCount; + } + } + } + + private static int DecodeEndPoints(ref Block block, Span endPoints, int mode, bool signed) + { + ulong low = block.Low; + ulong high = block.High; + + int r0 = 0, g0 = 0, b0 = 0, r1 = 0, g1 = 0, b1 = 0, r2 = 0, g2 = 0, b2 = 0, r3 = 0, g3 = 0, b3 = 0; + int subsetCount; + + switch (mode) + { + case 0: + r0 = (int)(low >> 5) & 0x3FF; + g0 = (int)(low >> 15) & 0x3FF; + b0 = (int)(low >> 25) & 0x3FF; + + if (signed) + { + r0 = SignExtend(r0, 10); + g0 = SignExtend(g0, 10); + b0 = SignExtend(b0, 10); + } + + r1 = r0 + SignExtend((int)(low >> 35), 5); + g1 = g0 + SignExtend((int)(low >> 45), 5); + b1 = b0 + SignExtend((int)(low >> 55), 5); + + r2 = r0 + SignExtend((int)(high >> 1), 5); + g2 = g0 + SignExtend((int)(((low << 2) & 0x10) | ((low >> 41) & 0xF)), 5); + b2 = b0 + SignExtend((int)(((low << 1) & 0x10) | ((high << 3) & 0x08) | (low >> 61)), 5); + + r3 = r0 + SignExtend((int)(high >> 7), 5); + g3 = g0 + SignExtend((int)(((low >> 36) & 0x10) | ((low >> 51) & 0xF)), 5); + b3 = b0 + SignExtend((int)( + ((low) & 0x10) | + ((high >> 9) & 0x08) | + ((high >> 4) & 0x04) | + ((low >> 59) & 0x02) | + ((low >> 50) & 0x01)), 5); + + r0 = Unquantize(r0, 10, signed); + g0 = Unquantize(g0, 10, signed); + b0 = Unquantize(b0, 10, signed); + + r1 = Unquantize(r1 & 0x3FF, 10, signed); + g1 = Unquantize(g1 & 0x3FF, 10, signed); + b1 = Unquantize(b1 & 0x3FF, 10, signed); + + r2 = Unquantize(r2 & 0x3FF, 10, signed); + g2 = Unquantize(g2 & 0x3FF, 10, signed); + b2 = Unquantize(b2 & 0x3FF, 10, signed); + + r3 = Unquantize(r3 & 0x3FF, 10, signed); + g3 = Unquantize(g3 & 0x3FF, 10, signed); + b3 = Unquantize(b3 & 0x3FF, 10, signed); + + subsetCount = 2; + break; + case 1: + r0 = (int)(low >> 5) & 0x7F; + g0 = (int)(low >> 15) & 0x7F; + b0 = (int)(low >> 25) & 0x7F; + + if (signed) + { + r0 = SignExtend(r0, 7); + g0 = SignExtend(g0, 7); + b0 = SignExtend(b0, 7); + } + + r1 = r0 + SignExtend((int)(low >> 35), 6); + g1 = g0 + SignExtend((int)(low >> 45), 6); + b1 = b0 + SignExtend((int)(low >> 55), 6); + + r2 = r0 + SignExtend((int)(high >> 1), 6); + g2 = g0 + SignExtend((int)(((low << 3) & 0x20) | ((low >> 20) & 0x10) | ((low >> 41) & 0x0F)), 6); + b2 = b0 + SignExtend((int)( + ((low >> 17) & 0x20) | + ((low >> 10) & 0x10) | + ((high << 3) & 0x08) | + (low >> 61)), 6); + + r3 = r0 + SignExtend((int)(high >> 7), 6); + g3 = g0 + SignExtend((int)(((low << 1) & 0x30) | ((low >> 51) & 0xF)), 6); + b3 = b0 + SignExtend((int)( + ((low >> 28) & 0x20) | + ((low >> 30) & 0x10) | + ((low >> 29) & 0x08) | + ((low >> 21) & 0x04) | + ((low >> 12) & 0x03)), 6); + + r0 = Unquantize(r0, 7, signed); + g0 = Unquantize(g0, 7, signed); + b0 = Unquantize(b0, 7, signed); + + r1 = Unquantize(r1 & 0x7F, 7, signed); + g1 = Unquantize(g1 & 0x7F, 7, signed); + b1 = Unquantize(b1 & 0x7F, 7, signed); + + r2 = Unquantize(r2 & 0x7F, 7, signed); + g2 = Unquantize(g2 & 0x7F, 7, signed); + b2 = Unquantize(b2 & 0x7F, 7, signed); + + r3 = Unquantize(r3 & 0x7F, 7, signed); + g3 = Unquantize(g3 & 0x7F, 7, signed); + b3 = Unquantize(b3 & 0x7F, 7, signed); + + subsetCount = 2; + break; + case 2: + r0 = (int)(((low >> 30) & 0x400) | ((low >> 5) & 0x3FF)); + g0 = (int)(((low >> 39) & 0x400) | ((low >> 15) & 0x3FF)); + b0 = (int)(((low >> 49) & 0x400) | ((low >> 25) & 0x3FF)); + + if (signed) + { + r0 = SignExtend(r0, 11); + g0 = SignExtend(g0, 11); + b0 = SignExtend(b0, 11); + } + + r1 = r0 + SignExtend((int)(low >> 35), 5); + g1 = g0 + SignExtend((int)(low >> 45), 4); + b1 = b0 + SignExtend((int)(low >> 55), 4); + + r2 = r0 + SignExtend((int)(high >> 1), 5); + g2 = g0 + SignExtend((int)(low >> 41), 4); + b2 = b0 + SignExtend((int)(((high << 3) & 8) | (low >> 61)), 4); + + r3 = r0 + SignExtend((int)(high >> 7), 5); + g3 = g0 + SignExtend((int)(low >> 51), 4); + b3 = b0 + SignExtend((int)( + ((high >> 9) & 8) | + ((high >> 4) & 4) | + ((low >> 59) & 2) | + ((low >> 50) & 1)), 4); + + r0 = Unquantize(r0, 11, signed); + g0 = Unquantize(g0, 11, signed); + b0 = Unquantize(b0, 11, signed); + + r1 = Unquantize(r1 & 0x7FF, 11, signed); + g1 = Unquantize(g1 & 0x7FF, 11, signed); + b1 = Unquantize(b1 & 0x7FF, 11, signed); + + r2 = Unquantize(r2 & 0x7FF, 11, signed); + g2 = Unquantize(g2 & 0x7FF, 11, signed); + b2 = Unquantize(b2 & 0x7FF, 11, signed); + + r3 = Unquantize(r3 & 0x7FF, 11, signed); + g3 = Unquantize(g3 & 0x7FF, 11, signed); + b3 = Unquantize(b3 & 0x7FF, 11, signed); + + subsetCount = 2; + break; + case 3: + r0 = (int)(low >> 5) & 0x3FF; + g0 = (int)(low >> 15) & 0x3FF; + b0 = (int)(low >> 25) & 0x3FF; + + r1 = (int)(low >> 35) & 0x3FF; + g1 = (int)(low >> 45) & 0x3FF; + b1 = (int)(((high << 9) & 0x200) | (low >> 55)); + + if (signed) + { + r0 = SignExtend(r0, 10); + g0 = SignExtend(g0, 10); + b0 = SignExtend(b0, 10); + + r1 = SignExtend(r1, 10); + g1 = SignExtend(g1, 10); + b1 = SignExtend(b1, 10); + } + + r0 = Unquantize(r0, 10, signed); + g0 = Unquantize(g0, 10, signed); + b0 = Unquantize(b0, 10, signed); + + r1 = Unquantize(r1, 10, signed); + g1 = Unquantize(g1, 10, signed); + b1 = Unquantize(b1, 10, signed); + + subsetCount = 1; + break; + case 6: + r0 = (int)(((low >> 29) & 0x400) | ((low >> 5) & 0x3FF)); + g0 = (int)(((low >> 40) & 0x400) | ((low >> 15) & 0x3FF)); + b0 = (int)(((low >> 49) & 0x400) | ((low >> 25) & 0x3FF)); + + if (signed) + { + r0 = SignExtend(r0, 11); + g0 = SignExtend(g0, 11); + b0 = SignExtend(b0, 11); + } + + r1 = r0 + SignExtend((int)(low >> 35), 4); + g1 = g0 + SignExtend((int)(low >> 45), 5); + b1 = b0 + SignExtend((int)(low >> 55), 4); + + r2 = r0 + SignExtend((int)(high >> 1), 4); + g2 = g0 + SignExtend((int)(((high >> 7) & 0x10) | ((low >> 41) & 0x0F)), 5); + b2 = b0 + SignExtend((int)(((high << 3) & 0x08) | ((low >> 61))), 4); + + r3 = r0 + SignExtend((int)(high >> 7), 4); + g3 = g0 + SignExtend((int)(((low >> 36) & 0x10) | ((low >> 51) & 0x0F)), 5); + b3 = b0 + SignExtend((int)( + ((high >> 9) & 8) | + ((high >> 4) & 4) | + ((low >> 59) & 2) | + ((high >> 5) & 1)), 4); + + r0 = Unquantize(r0, 11, signed); + g0 = Unquantize(g0, 11, signed); + b0 = Unquantize(b0, 11, signed); + + r1 = Unquantize(r1 & 0x7FF, 11, signed); + g1 = Unquantize(g1 & 0x7FF, 11, signed); + b1 = Unquantize(b1 & 0x7FF, 11, signed); + + r2 = Unquantize(r2 & 0x7FF, 11, signed); + g2 = Unquantize(g2 & 0x7FF, 11, signed); + b2 = Unquantize(b2 & 0x7FF, 11, signed); + + r3 = Unquantize(r3 & 0x7FF, 11, signed); + g3 = Unquantize(g3 & 0x7FF, 11, signed); + b3 = Unquantize(b3 & 0x7FF, 11, signed); + + subsetCount = 2; + break; + case 7: + r0 = (int)(((low >> 34) & 0x400) | ((low >> 5) & 0x3FF)); + g0 = (int)(((low >> 44) & 0x400) | ((low >> 15) & 0x3FF)); + b0 = (int)(((high << 10) & 0x400) | ((low >> 25) & 0x3FF)); + + if (signed) + { + r0 = SignExtend(r0, 11); + g0 = SignExtend(g0, 11); + b0 = SignExtend(b0, 11); + } + + r1 = (r0 + SignExtend((int)(low >> 35), 9)) & 0x7FF; + g1 = (g0 + SignExtend((int)(low >> 45), 9)) & 0x7FF; + b1 = (b0 + SignExtend((int)(low >> 55), 9)) & 0x7FF; + + r0 = Unquantize(r0, 11, signed); + g0 = Unquantize(g0, 11, signed); + b0 = Unquantize(b0, 11, signed); + + r1 = Unquantize(r1, 11, signed); + g1 = Unquantize(g1, 11, signed); + b1 = Unquantize(b1, 11, signed); + + subsetCount = 1; + break; + case 10: + r0 = (int)(((low >> 29) & 0x400) | ((low >> 5) & 0x3FF)); + g0 = (int)(((low >> 39) & 0x400) | ((low >> 15) & 0x3FF)); + b0 = (int)(((low >> 50) & 0x400) | ((low >> 25) & 0x3FF)); + + if (signed) + { + r0 = SignExtend(r0, 11); + g0 = SignExtend(g0, 11); + b0 = SignExtend(b0, 11); + } + + r1 = r0 + SignExtend((int)(low >> 35), 4); + g1 = g0 + SignExtend((int)(low >> 45), 4); + b1 = b0 + SignExtend((int)(low >> 55), 5); + + r2 = r0 + SignExtend((int)(high >> 1), 4); + g2 = g0 + SignExtend((int)(low >> 41), 4); + b2 = b0 + SignExtend((int)(((low >> 36) & 0x10) | ((high << 3) & 8) | (low >> 61)), 5); + + r3 = r0 + SignExtend((int)(high >> 7), 4); + g3 = g0 + SignExtend((int)(low >> 51), 4); + b3 = b0 + SignExtend((int)( + ((high >> 7) & 0x10) | + ((high >> 9) & 0x08) | + ((high >> 4) & 0x06) | + ((low >> 50) & 0x01)), 5); + + r0 = Unquantize(r0, 11, signed); + g0 = Unquantize(g0, 11, signed); + b0 = Unquantize(b0, 11, signed); + + r1 = Unquantize(r1 & 0x7FF, 11, signed); + g1 = Unquantize(g1 & 0x7FF, 11, signed); + b1 = Unquantize(b1 & 0x7FF, 11, signed); + + r2 = Unquantize(r2 & 0x7FF, 11, signed); + g2 = Unquantize(g2 & 0x7FF, 11, signed); + b2 = Unquantize(b2 & 0x7FF, 11, signed); + + r3 = Unquantize(r3 & 0x7FF, 11, signed); + g3 = Unquantize(g3 & 0x7FF, 11, signed); + b3 = Unquantize(b3 & 0x7FF, 11, signed); + + subsetCount = 2; + break; + case 11: + r0 = (int)(((low >> 32) & 0x800) | ((low >> 34) & 0x400) | ((low >> 5) & 0x3FF)); + g0 = (int)(((low >> 42) & 0x800) | ((low >> 44) & 0x400) | ((low >> 15) & 0x3FF)); + b0 = (int)(((low >> 52) & 0x800) | ((high << 10) & 0x400) | ((low >> 25) & 0x3FF)); + + if (signed) + { + r0 = SignExtend(r0, 12); + g0 = SignExtend(g0, 12); + b0 = SignExtend(b0, 12); + } + + r1 = (r0 + SignExtend((int)(low >> 35), 8)) & 0xFFF; + g1 = (g0 + SignExtend((int)(low >> 45), 8)) & 0xFFF; + b1 = (b0 + SignExtend((int)(low >> 55), 8)) & 0xFFF; + + r0 = Unquantize(r0, 12, signed); + g0 = Unquantize(g0, 12, signed); + b0 = Unquantize(b0, 12, signed); + + r1 = Unquantize(r1, 12, signed); + g1 = Unquantize(g1, 12, signed); + b1 = Unquantize(b1, 12, signed); + + subsetCount = 1; + break; + case 14: + r0 = (int)(low >> 5) & 0x1FF; + g0 = (int)(low >> 15) & 0x1FF; + b0 = (int)(low >> 25) & 0x1FF; + + if (signed) + { + r0 = SignExtend(r0, 9); + g0 = SignExtend(g0, 9); + b0 = SignExtend(b0, 9); + } + + r1 = r0 + SignExtend((int)(low >> 35), 5); + g1 = g0 + SignExtend((int)(low >> 45), 5); + b1 = b0 + SignExtend((int)(low >> 55), 5); + + r2 = r0 + SignExtend((int)(high >> 1), 5); + g2 = g0 + SignExtend((int)(((low >> 20) & 0x10) | ((low >> 41) & 0xF)), 5); + b2 = b0 + SignExtend((int)(((low >> 10) & 0x10) | ((high << 3) & 8) | (low >> 61)), 5); + + r3 = r0 + SignExtend((int)(high >> 7), 5); + g3 = g0 + SignExtend((int)(((low >> 36) & 0x10) | ((low >> 51) & 0xF)), 5); + b3 = b0 + SignExtend((int)( + ((low >> 30) & 0x10) | + ((high >> 9) & 0x08) | + ((high >> 4) & 0x04) | + ((low >> 59) & 0x02) | + ((low >> 50) & 0x01)), 5); + + r0 = Unquantize(r0, 9, signed); + g0 = Unquantize(g0, 9, signed); + b0 = Unquantize(b0, 9, signed); + + r1 = Unquantize(r1 & 0x1FF, 9, signed); + g1 = Unquantize(g1 & 0x1FF, 9, signed); + b1 = Unquantize(b1 & 0x1FF, 9, signed); + + r2 = Unquantize(r2 & 0x1FF, 9, signed); + g2 = Unquantize(g2 & 0x1FF, 9, signed); + b2 = Unquantize(b2 & 0x1FF, 9, signed); + + r3 = Unquantize(r3 & 0x1FF, 9, signed); + g3 = Unquantize(g3 & 0x1FF, 9, signed); + b3 = Unquantize(b3 & 0x1FF, 9, signed); + + subsetCount = 2; + break; + case 15: + r0 = (BitReverse6((int)(low >> 39) & 0x3F) << 10) | ((int)(low >> 5) & 0x3FF); + g0 = (BitReverse6((int)(low >> 49) & 0x3F) << 10) | ((int)(low >> 15) & 0x3FF); + b0 = ((BitReverse6((int)(low >> 59)) | (int)(high & 1)) << 10) | ((int)(low >> 25) & 0x3FF); + + if (signed) + { + r0 = SignExtend(r0, 16); + g0 = SignExtend(g0, 16); + b0 = SignExtend(b0, 16); + } + + r1 = (r0 + SignExtend((int)(low >> 35), 4)) & 0xFFFF; + g1 = (g0 + SignExtend((int)(low >> 45), 4)) & 0xFFFF; + b1 = (b0 + SignExtend((int)(low >> 55), 4)) & 0xFFFF; + + subsetCount = 1; + break; + case 18: + r0 = (int)(low >> 5) & 0xFF; + g0 = (int)(low >> 15) & 0xFF; + b0 = (int)(low >> 25) & 0xFF; + + if (signed) + { + r0 = SignExtend(r0, 8); + g0 = SignExtend(g0, 8); + b0 = SignExtend(b0, 8); + } + + r1 = r0 + SignExtend((int)(low >> 35), 6); + g1 = g0 + SignExtend((int)(low >> 45), 5); + b1 = b0 + SignExtend((int)(low >> 55), 5); + + r2 = r0 + SignExtend((int)(high >> 1), 6); + g2 = g0 + SignExtend((int)(((low >> 20) & 0x10) | ((low >> 41) & 0xF)), 5); + b2 = b0 + SignExtend((int)(((low >> 10) & 0x10) | ((high << 3) & 8) | (low >> 61)), 5); + + r3 = r0 + SignExtend((int)(high >> 7), 6); + g3 = g0 + SignExtend((int)(((low >> 9) & 0x10) | ((low >> 51) & 0xF)), 5); + b3 = b0 + SignExtend((int)( + ((low >> 30) & 0x18) | + ((low >> 21) & 0x04) | + ((low >> 59) & 0x02) | + ((low >> 50) & 0x01)), 5); + + r0 = Unquantize(r0, 8, signed); + g0 = Unquantize(g0, 8, signed); + b0 = Unquantize(b0, 8, signed); + + r1 = Unquantize(r1 & 0xFF, 8, signed); + g1 = Unquantize(g1 & 0xFF, 8, signed); + b1 = Unquantize(b1 & 0xFF, 8, signed); + + r2 = Unquantize(r2 & 0xFF, 8, signed); + g2 = Unquantize(g2 & 0xFF, 8, signed); + b2 = Unquantize(b2 & 0xFF, 8, signed); + + r3 = Unquantize(r3 & 0xFF, 8, signed); + g3 = Unquantize(g3 & 0xFF, 8, signed); + b3 = Unquantize(b3 & 0xFF, 8, signed); + + subsetCount = 2; + break; + case 22: + r0 = (int)(low >> 5) & 0xFF; + g0 = (int)(low >> 15) & 0xFF; + b0 = (int)(low >> 25) & 0xFF; + + if (signed) + { + r0 = SignExtend(r0, 8); + g0 = SignExtend(g0, 8); + b0 = SignExtend(b0, 8); + } + + r1 = r0 + SignExtend((int)(low >> 35), 5); + g1 = g0 + SignExtend((int)(low >> 45), 6); + b1 = b0 + SignExtend((int)(low >> 55), 5); + + r2 = r0 + SignExtend((int)(high >> 1), 5); + g2 = g0 + SignExtend((int)(((low >> 18) & 0x20) | ((low >> 20) & 0x10) | ((low >> 41) & 0xF)), 6); + b2 = b0 + SignExtend((int)(((low >> 10) & 0x10) | ((high << 3) & 0x08) | (low >> 61)), 5); + + r3 = r0 + SignExtend((int)(high >> 7), 5); + g3 = g0 + SignExtend((int)(((low >> 28) & 0x20) | ((low >> 36) & 0x10) | ((low >> 51) & 0x0F)), 6); + b3 = b0 + SignExtend((int)( + ((low >> 30) & 0x10) | + ((high >> 9) & 0x08) | + ((high >> 4) & 0x04) | + ((low >> 59) & 0x02) | + ((low >> 13) & 0x01)), 5); + + r0 = Unquantize(r0, 8, signed); + g0 = Unquantize(g0, 8, signed); + b0 = Unquantize(b0, 8, signed); + + r1 = Unquantize(r1 & 0xFF, 8, signed); + g1 = Unquantize(g1 & 0xFF, 8, signed); + b1 = Unquantize(b1 & 0xFF, 8, signed); + + r2 = Unquantize(r2 & 0xFF, 8, signed); + g2 = Unquantize(g2 & 0xFF, 8, signed); + b2 = Unquantize(b2 & 0xFF, 8, signed); + + r3 = Unquantize(r3 & 0xFF, 8, signed); + g3 = Unquantize(g3 & 0xFF, 8, signed); + b3 = Unquantize(b3 & 0xFF, 8, signed); + + subsetCount = 2; + break; + case 26: + r0 = (int)(low >> 5) & 0xFF; + g0 = (int)(low >> 15) & 0xFF; + b0 = (int)(low >> 25) & 0xFF; + + if (signed) + { + r0 = SignExtend(r0, 8); + g0 = SignExtend(g0, 8); + b0 = SignExtend(b0, 8); + } + + r1 = r0 + SignExtend((int)(low >> 35), 5); + g1 = g0 + SignExtend((int)(low >> 45), 5); + b1 = b0 + SignExtend((int)(low >> 55), 6); + + r2 = r0 + SignExtend((int)(high >> 1), 5); + g2 = g0 + SignExtend((int)(((low >> 20) & 0x10) | ((low >> 41) & 0xF)), 5); + b2 = b0 + SignExtend((int)( + ((low >> 18) & 0x20) | + ((low >> 10) & 0x10) | + ((high << 3) & 0x08) | + (low >> 61)), 6); + + r3 = r0 + SignExtend((int)(high >> 7), 5); + g3 = g0 + SignExtend((int)(((low >> 36) & 0x10) | ((low >> 51) & 0xF)), 5); + b3 = b0 + SignExtend((int)( + ((low >> 28) & 0x20) | + ((low >> 30) & 0x10) | + ((high >> 9) & 0x08) | + ((high >> 4) & 0x04) | + ((low >> 12) & 0x02) | + ((low >> 50) & 0x01)), 6); + + r0 = Unquantize(r0, 8, signed); + g0 = Unquantize(g0, 8, signed); + b0 = Unquantize(b0, 8, signed); + + r1 = Unquantize(r1 & 0xFF, 8, signed); + g1 = Unquantize(g1 & 0xFF, 8, signed); + b1 = Unquantize(b1 & 0xFF, 8, signed); + + r2 = Unquantize(r2 & 0xFF, 8, signed); + g2 = Unquantize(g2 & 0xFF, 8, signed); + b2 = Unquantize(b2 & 0xFF, 8, signed); + + r3 = Unquantize(r3 & 0xFF, 8, signed); + g3 = Unquantize(g3 & 0xFF, 8, signed); + b3 = Unquantize(b3 & 0xFF, 8, signed); + + subsetCount = 2; + break; + case 30: + r0 = (int)(low >> 5) & 0x3F; + g0 = (int)(low >> 15) & 0x3F; + b0 = (int)(low >> 25) & 0x3F; + + r1 = (int)(low >> 35) & 0x3F; + g1 = (int)(low >> 45) & 0x3F; + b1 = (int)(low >> 55) & 0x3F; + + r2 = (int)(high >> 1) & 0x3F; + g2 = (int)(((low >> 16) & 0x20) | ((low >> 20) & 0x10) | ((low >> 41) & 0xF)); + b2 = (int)(((low >> 17) & 0x20) | ((low >> 10) & 0x10) | ((high << 3) & 0x08) | (low >> 61)); + + r3 = (int)(high >> 7) & 0x3F; + g3 = (int)(((low >> 26) & 0x20) | ((low >> 7) & 0x10) | ((low >> 51) & 0xF)); + b3 = (int)( + ((low >> 28) & 0x20) | + ((low >> 30) & 0x10) | + ((low >> 29) & 0x08) | + ((low >> 21) & 0x04) | + ((low >> 12) & 0x03)); + + if (signed) + { + r0 = SignExtend(r0, 6); + g0 = SignExtend(g0, 6); + b0 = SignExtend(b0, 6); + + r1 = SignExtend(r1, 6); + g1 = SignExtend(g1, 6); + b1 = SignExtend(b1, 6); + + r2 = SignExtend(r2, 6); + g2 = SignExtend(g2, 6); + b2 = SignExtend(b2, 6); + + r3 = SignExtend(r3, 6); + g3 = SignExtend(g3, 6); + b3 = SignExtend(b3, 6); + } + + r0 = Unquantize(r0, 6, signed); + g0 = Unquantize(g0, 6, signed); + b0 = Unquantize(b0, 6, signed); + + r1 = Unquantize(r1, 6, signed); + g1 = Unquantize(g1, 6, signed); + b1 = Unquantize(b1, 6, signed); + + r2 = Unquantize(r2, 6, signed); + g2 = Unquantize(g2, 6, signed); + b2 = Unquantize(b2, 6, signed); + + r3 = Unquantize(r3, 6, signed); + g3 = Unquantize(g3, 6, signed); + b3 = Unquantize(b3, 6, signed); + + subsetCount = 2; + break; + default: + subsetCount = 0; + break; + } + + if (subsetCount > 0) + { + endPoints[0] = new RgbaColor32(r0, g0, b0, HalfOne); + endPoints[1] = new RgbaColor32(r1, g1, b1, HalfOne); + + if (subsetCount > 1) + { + endPoints[2] = new RgbaColor32(r2, g2, b2, HalfOne); + endPoints[3] = new RgbaColor32(r3, g3, b3, HalfOne); + } + } + + return subsetCount; + } + + private static int SignExtend(int value, int bits) + { + int shift = 32 - bits; + return (value << shift) >> shift; + } + + private static int Unquantize(int value, int bits, bool signed) + { + if (signed) + { + if (bits >= 16) + { + return value; + } + else + { + bool sign = value < 0; + + if (sign) + { + value = -value; + } + + if (value == 0) + { + return value; + } + else if (value >= ((1 << (bits - 1)) - 1)) + { + value = 0x7FFF; + } + else + { + value = ((value << 15) + 0x4000) >> (bits - 1); + } + + if (sign) + { + value = -value; + } + } + } + else + { + if (bits >= 15 || value == 0) + { + return value; + } + else if (value == ((1 << bits) - 1)) + { + return 0xFFFF; + } + else + { + return ((value << 16) + 0x8000) >> bits; + } + } + + return value; + } + + private static ushort FinishUnquantize(int value, bool signed) + { + if (signed) + { + value = value < 0 ? -((-value * 31) >> 5) : (value * 31) >> 5; + + int sign = 0; + if (value < 0) + { + sign = 0x8000; + value = -value; + } + + return (ushort)(sign | value); + } + else + { + return (ushort)((value * 31) >> 6); + } + } + + private static int BitReverse6(int value) + { + value = ((value >> 1) & 0x55) | ((value << 1) & 0xaa); + value = ((value >> 2) & 0x33) | ((value << 2) & 0xcc); + value = ((value >> 4) & 0x0f) | ((value << 4) & 0xf0); + return value >> 2; + } + } +} diff --git a/Ryujinx.Graphics.Texture/BC7Decoder.cs b/Ryujinx.Graphics.Texture/BC7Decoder.cs new file mode 100644 index 000000000..060d1ab85 --- /dev/null +++ b/Ryujinx.Graphics.Texture/BC7Decoder.cs @@ -0,0 +1,220 @@ +using Ryujinx.Graphics.Texture.Utils; +using System.Diagnostics; +using System; +using System.Numerics; +using System.Runtime.InteropServices; + +namespace Ryujinx.Graphics.Texture +{ + static class BC7Decoder + { + public static void Decode(Span output, ReadOnlySpan data, int width, int height) + { + ReadOnlySpan blocks = MemoryMarshal.Cast(data); + + Span output32 = MemoryMarshal.Cast(output); + + int wInBlocks = (width + 3) / 4; + int hInBlocks = (height + 3) / 4; + + for (int y = 0; y < hInBlocks; y++) + { + int y2 = y * 4; + int bh = Math.Min(4, height - y2); + + for (int x = 0; x < wInBlocks; x++) + { + int x2 = x * 4; + int bw = Math.Min(4, width - x2); + + DecodeBlock(blocks[y * wInBlocks + x], output32.Slice(y2 * width + x2), bw, bh, width); + } + } + } + + private static void DecodeBlock(Block block, Span output, int w, int h, int width) + { + int mode = BitOperations.TrailingZeroCount((byte)block.Low | 0x100); + if (mode == 8) + { + // Mode is invalid, the spec mandates that hardware fills the block with + // a transparent black color. + for (int ty = 0; ty < h; ty++) + { + int baseOffs = ty * width; + + for (int tx = 0; tx < w; tx++) + { + int offs = baseOffs + tx; + + output[offs] = 0; + } + } + + return; + } + + BC7ModeInfo modeInfo = BC67Tables.BC7ModeInfos[mode]; + + int offset = mode + 1; + int partition = (int)block.Decode(ref offset, modeInfo.PartitionBitCount); + int rotation = (int)block.Decode(ref offset, modeInfo.RotationBitCount); + int indexMode = (int)block.Decode(ref offset, modeInfo.IndexModeBitCount); + + Debug.Assert(partition < 64); + Debug.Assert(rotation < 4); + Debug.Assert(indexMode < 2); + + int endPointCount = modeInfo.SubsetCount * 2; + + Span endPoints = stackalloc RgbaColor32[endPointCount]; + Span pValues = stackalloc byte[modeInfo.PBits]; + + endPoints.Fill(new RgbaColor32(0, 0, 0, 255)); + + for (int i = 0; i < endPointCount; i++) + { + endPoints[i].R = (int)block.Decode(ref offset, modeInfo.ColorDepth); + } + + for (int i = 0; i < endPointCount; i++) + { + endPoints[i].G = (int)block.Decode(ref offset, modeInfo.ColorDepth); + } + + for (int i = 0; i < endPointCount; i++) + { + endPoints[i].B = (int)block.Decode(ref offset, modeInfo.ColorDepth); + } + + if (modeInfo.AlphaDepth != 0) + { + for (int i = 0; i < endPointCount; i++) + { + endPoints[i].A = (int)block.Decode(ref offset, modeInfo.AlphaDepth); + } + } + + for (int i = 0; i < modeInfo.PBits; i++) + { + pValues[i] = (byte)block.Decode(ref offset, 1); + } + + for (int i = 0; i < endPointCount; i++) + { + int pBit = -1; + + if (modeInfo.PBits != 0) + { + int pIndex = (i * modeInfo.PBits) / endPointCount; + pBit = pValues[pIndex]; + } + + Unquantize(ref endPoints[i], modeInfo.ColorDepth, modeInfo.AlphaDepth, pBit); + } + + byte[] partitionTable = BC67Tables.PartitionTable[modeInfo.SubsetCount - 1][partition]; + byte[] fixUpTable = BC67Tables.FixUpIndices[modeInfo.SubsetCount - 1][partition]; + + Span colorIndices = stackalloc byte[16]; + + for (int i = 0; i < 16; i++) + { + byte subset = partitionTable[i]; + int bitCount = i == fixUpTable[subset] ? modeInfo.ColorIndexBitCount - 1 : modeInfo.ColorIndexBitCount; + + colorIndices[i] = (byte)block.Decode(ref offset, bitCount); + Debug.Assert(colorIndices[i] < 16); + } + + Span alphaIndices = stackalloc byte[16]; + + if (modeInfo.AlphaIndexBitCount != 0) + { + for (int i = 0; i < 16; i++) + { + int bitCount = i != 0 ? modeInfo.AlphaIndexBitCount : modeInfo.AlphaIndexBitCount - 1; + + alphaIndices[i] = (byte)block.Decode(ref offset, bitCount); + Debug.Assert(alphaIndices[i] < 16); + } + } + + for (int ty = 0; ty < h; ty++) + { + int baseOffs = ty * width; + + for (int tx = 0; tx < w; tx++) + { + int i = ty * 4 + tx; + + RgbaColor32 color; + + byte subset = partitionTable[i]; + + RgbaColor32 color1 = endPoints[subset * 2]; + RgbaColor32 color2 = endPoints[subset * 2 + 1]; + + if (modeInfo.AlphaIndexBitCount != 0) + { + if (indexMode == 0) + { + color = BC67Utils.Interpolate(color1, color2, colorIndices[i], alphaIndices[i], modeInfo.ColorIndexBitCount, modeInfo.AlphaIndexBitCount); + } + else + { + color = BC67Utils.Interpolate(color1, color2, alphaIndices[i], colorIndices[i], modeInfo.AlphaIndexBitCount, modeInfo.ColorIndexBitCount); + } + } + else + { + color = BC67Utils.Interpolate(color1, color2, colorIndices[i], colorIndices[i], modeInfo.ColorIndexBitCount, modeInfo.ColorIndexBitCount); + } + + if (rotation != 0) + { + int a = color.A; + + switch (rotation) + { + case 1: color.A = color.R; color.R = a; break; + case 2: color.A = color.G; color.G = a; break; + case 3: color.A = color.B; color.B = a; break; + } + } + + RgbaColor8 color8 = color.GetColor8(); + + output[baseOffs + tx] = color8.ToUInt32(); + } + } + } + + private static void Unquantize(ref RgbaColor32 color, int colorDepth, int alphaDepth, int pBit) + { + color.R = UnquantizeComponent(color.R, colorDepth, pBit); + color.G = UnquantizeComponent(color.G, colorDepth, pBit); + color.B = UnquantizeComponent(color.B, colorDepth, pBit); + color.A = alphaDepth != 0 ? UnquantizeComponent(color.A, alphaDepth, pBit) : 255; + } + + private static int UnquantizeComponent(int component, int bits, int pBit) + { + int shift = 8 - bits; + int value = component << shift; + + if (pBit >= 0) + { + Debug.Assert(pBit <= 1); + value |= value >> (bits + 1); + value |= pBit << (shift - 1); + } + else + { + value |= value >> bits; + } + + return value; + } + } +} diff --git a/Ryujinx.Graphics.Texture/BCnDecoder.cs b/Ryujinx.Graphics.Texture/BCnDecoder.cs index b840cac89..053f6a735 100644 --- a/Ryujinx.Graphics.Texture/BCnDecoder.cs +++ b/Ryujinx.Graphics.Texture/BCnDecoder.cs @@ -515,6 +515,82 @@ namespace Ryujinx.Graphics.Texture return output; } + public static byte[] DecodeBC6(ReadOnlySpan data, int width, int height, int depth, int levels, int layers, bool signed) + { + int size = 0; + + for (int l = 0; l < levels; l++) + { + size += Math.Max(1, width >> l) * Math.Max(1, height >> l) * Math.Max(1, depth >> l) * layers * 8; + } + + byte[] output = new byte[size]; + + int inputOffset = 0; + int outputOffset = 0; + + for (int l = 0; l < levels; l++) + { + int w = BitUtils.DivRoundUp(width, BlockWidth); + int h = BitUtils.DivRoundUp(height, BlockHeight); + + for (int l2 = 0; l2 < layers; l2++) + { + for (int z = 0; z < depth; z++) + { + BC6Decoder.Decode(output.AsSpan().Slice(outputOffset), data.Slice(inputOffset), width, height, signed); + + inputOffset += w * h * 16; + outputOffset += width * height * 8; + } + } + + width = Math.Max(1, width >> 1); + height = Math.Max(1, height >> 1); + depth = Math.Max(1, depth >> 1); + } + + return output; + } + + public static byte[] DecodeBC7(ReadOnlySpan data, int width, int height, int depth, int levels, int layers) + { + int size = 0; + + for (int l = 0; l < levels; l++) + { + size += Math.Max(1, width >> l) * Math.Max(1, height >> l) * Math.Max(1, depth >> l) * layers * 4; + } + + byte[] output = new byte[size]; + + int inputOffset = 0; + int outputOffset = 0; + + for (int l = 0; l < levels; l++) + { + int w = BitUtils.DivRoundUp(width, BlockWidth); + int h = BitUtils.DivRoundUp(height, BlockHeight); + + for (int l2 = 0; l2 < layers; l2++) + { + for (int z = 0; z < depth; z++) + { + BC7Decoder.Decode(output.AsSpan().Slice(outputOffset), data.Slice(inputOffset), width, height); + + inputOffset += w * h * 16; + outputOffset += width * height * 4; + } + } + + width = Math.Max(1, width >> 1); + height = Math.Max(1, height >> 1); + depth = Math.Max(1, depth >> 1); + } + + return output; + } + private static ulong InterleaveBytes(uint left, uint right) { return InterleaveBytesWithZeros(left) | (InterleaveBytesWithZeros(right) << 8); diff --git a/Ryujinx.Graphics.Texture/Encoders/BC7Encoder.cs b/Ryujinx.Graphics.Texture/Encoders/BC7Encoder.cs index 896f70468..a69c10548 100644 --- a/Ryujinx.Graphics.Texture/Encoders/BC7Encoder.cs +++ b/Ryujinx.Graphics.Texture/Encoders/BC7Encoder.cs @@ -1,4 +1,5 @@ -using System; +using Ryujinx.Graphics.Texture.Utils; +using System; using System.Numerics; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; @@ -10,53 +11,6 @@ namespace Ryujinx.Graphics.Texture.Encoders { static class BC7Encoder { - private struct ModeInfo - { - public readonly int SubsetCount; - public readonly int PartitionBitCount; - public readonly int PBits; - public readonly int RotationBitCount; - public readonly int IndexModeBitCount; - public readonly int ColorIndexBitCount; - public readonly int AlphaIndexBitCount; - public readonly int ColorDepth; - public readonly int AlphaDepth; - - public ModeInfo( - int subsetCount, - int partitionBitsCount, - int pBits, - int rotationBitCount, - int indexModeBitCount, - int colorIndexBitCount, - int alphaIndexBitCount, - int colorDepth, - int alphaDepth) - { - SubsetCount = subsetCount; - PartitionBitCount = partitionBitsCount; - PBits = pBits; - RotationBitCount = rotationBitCount; - IndexModeBitCount = indexModeBitCount; - ColorIndexBitCount = colorIndexBitCount; - AlphaIndexBitCount = alphaIndexBitCount; - ColorDepth = colorDepth; - AlphaDepth = alphaDepth; - } - } - - private static readonly ModeInfo[] _modeInfos = new ModeInfo[] - { - new ModeInfo(3, 4, 6, 0, 0, 3, 0, 4, 0), - new ModeInfo(2, 6, 2, 0, 0, 3, 0, 6, 0), - new ModeInfo(3, 6, 0, 0, 0, 2, 0, 5, 0), - new ModeInfo(2, 6, 4, 0, 0, 2, 0, 7, 0), - new ModeInfo(1, 0, 0, 2, 1, 2, 3, 5, 6), - new ModeInfo(1, 0, 0, 2, 0, 2, 2, 7, 8), - new ModeInfo(1, 0, 2, 0, 0, 4, 0, 7, 7), - new ModeInfo(2, 6, 4, 0, 0, 2, 0, 5, 5) - }; - public static void Encode(Memory outputStorage, ReadOnlyMemory data, int width, int height, EncodeMode mode) { int widthInBlocks = (width + 3) / 4; @@ -105,32 +59,6 @@ namespace Ryujinx.Graphics.Texture.Encoders 0, 13, 2, 1, 15, 14, 10, 23 }; - private struct Block - { - public ulong Low; - public ulong High; - - public void Encode(ulong value, ref int offset, int bits) - { - if (offset >= 64) - { - High |= value << (offset - 64); - } - else - { - Low |= value << offset; - - if (offset + bits > 64) - { - int remainder = 64 - offset; - High |= value >> remainder; - } - } - - offset += bits; - } - } - private static Block CompressBlock(ReadOnlySpan data, int x, int y, int width, int height, bool fastMode) { int w = Math.Min(4, width - x); @@ -157,10 +85,10 @@ namespace Ryujinx.Graphics.Texture.Encoders private static Block EncodeFast(ReadOnlySpan tile, int w, int h) { - (RgbaColor8 minColor, RgbaColor8 maxColor) = BC7Utils.GetMinMaxColors(tile, w, h); + (RgbaColor8 minColor, RgbaColor8 maxColor) = BC67Utils.GetMinMaxColors(tile, w, h); bool alphaNotOne = minColor.A != 255 || maxColor.A != 255; - int variance = BC7Utils.SquaredDifference(minColor.GetColor32(), maxColor.GetColor32()); + int variance = BC67Utils.SquaredDifference(minColor.GetColor32(), maxColor.GetColor32()); int selectedMode; int indexMode = 0; @@ -253,13 +181,13 @@ namespace Ryujinx.Graphics.Texture.Encoders { for (int im = 0; im < (m == 4 ? 2 : 1); im++) { - for (int p = 0; p < 1 << _modeInfos[m].PartitionBitCount; p++) + for (int p = 0; p < 1 << BC67Tables.BC7ModeInfos[m].PartitionBitCount; p++) { Block block = Encode(m, p, r, im, fastMode: false, tile, w, h, out int maxError); - if (maxError < lowestError || (maxError == lowestError && _modeInfos[m].SubsetCount < lowestErrorSubsets)) + if (maxError < lowestError || (maxError == lowestError && BC67Tables.BC7ModeInfos[m].SubsetCount < lowestErrorSubsets)) { lowestError = maxError; - lowestErrorSubsets = _modeInfos[m].SubsetCount; + lowestErrorSubsets = BC67Tables.BC7ModeInfos[m].SubsetCount; bestBlock = block; } } @@ -281,7 +209,7 @@ namespace Ryujinx.Graphics.Texture.Encoders int h, out int errorSum) { - ModeInfo modeInfo = _modeInfos[mode]; + BC7ModeInfo modeInfo = BC67Tables.BC7ModeInfos[mode]; int subsetCount = modeInfo.SubsetCount; int partitionBitCount = modeInfo.PartitionBitCount; int rotationBitCount = modeInfo.RotationBitCount; @@ -379,7 +307,7 @@ namespace Ryujinx.Graphics.Texture.Encoders Span colorIndices = stackalloc byte[16]; Span alphaIndices = stackalloc byte[16]; - errorSum = BC7Utils.SelectIndices( + errorSum = BC67Utils.SelectIndices( tile, w, h, @@ -398,7 +326,7 @@ namespace Ryujinx.Graphics.Texture.Encoders if (separateAlphaIndices) { - errorSum += BC7Utils.SelectIndices( + errorSum += BC67Utils.SelectIndices( tile, w, h, @@ -420,7 +348,7 @@ namespace Ryujinx.Graphics.Texture.Encoders for (int i = 0; i < 3; i++) { - colorSwapSubset[i] = colorIndices[BC7Tables.FixUpIndices[subsetCount - 1][partition][i]] >= (colorIndexCount >> 1); + colorSwapSubset[i] = colorIndices[BC67Tables.FixUpIndices[subsetCount - 1][partition][i]] >= (colorIndexCount >> 1); } bool alphaSwapSubset = alphaIndices[0] >= (alphaIndexCount >> 1); @@ -462,13 +390,13 @@ namespace Ryujinx.Graphics.Texture.Encoders if (indexMode == 0 ? colorSwapSubset[subset] : alphaSwapSubset) { - block.Encode(BC7Utils.QuantizeComponent(color1.GetComponent(rotatedComp), colorDepth, pBit1), ref offset, colorDepth); - block.Encode(BC7Utils.QuantizeComponent(color0.GetComponent(rotatedComp), colorDepth, pBit0), ref offset, colorDepth); + block.Encode(BC67Utils.QuantizeComponent(color1.GetComponent(rotatedComp), colorDepth, pBit1), ref offset, colorDepth); + block.Encode(BC67Utils.QuantizeComponent(color0.GetComponent(rotatedComp), colorDepth, pBit0), ref offset, colorDepth); } else { - block.Encode(BC7Utils.QuantizeComponent(color0.GetComponent(rotatedComp), colorDepth, pBit0), ref offset, colorDepth); - block.Encode(BC7Utils.QuantizeComponent(color1.GetComponent(rotatedComp), colorDepth, pBit1), ref offset, colorDepth); + block.Encode(BC67Utils.QuantizeComponent(color0.GetComponent(rotatedComp), colorDepth, pBit0), ref offset, colorDepth); + block.Encode(BC67Utils.QuantizeComponent(color1.GetComponent(rotatedComp), colorDepth, pBit1), ref offset, colorDepth); } } } @@ -496,13 +424,13 @@ namespace Ryujinx.Graphics.Texture.Encoders if (separateAlphaIndices && indexMode == 0 ? alphaSwapSubset : colorSwapSubset[subset]) { - block.Encode(BC7Utils.QuantizeComponent(color1.GetComponent(rotatedComp), alphaDepth, pBit1), ref offset, alphaDepth); - block.Encode(BC7Utils.QuantizeComponent(color0.GetComponent(rotatedComp), alphaDepth, pBit0), ref offset, alphaDepth); + block.Encode(BC67Utils.QuantizeComponent(color1.GetComponent(rotatedComp), alphaDepth, pBit1), ref offset, alphaDepth); + block.Encode(BC67Utils.QuantizeComponent(color0.GetComponent(rotatedComp), alphaDepth, pBit0), ref offset, alphaDepth); } else { - block.Encode(BC7Utils.QuantizeComponent(color0.GetComponent(rotatedComp), alphaDepth, pBit0), ref offset, alphaDepth); - block.Encode(BC7Utils.QuantizeComponent(color1.GetComponent(rotatedComp), alphaDepth, pBit1), ref offset, alphaDepth); + block.Encode(BC67Utils.QuantizeComponent(color0.GetComponent(rotatedComp), alphaDepth, pBit0), ref offset, alphaDepth); + block.Encode(BC67Utils.QuantizeComponent(color1.GetComponent(rotatedComp), alphaDepth, pBit1), ref offset, alphaDepth); } } } @@ -512,11 +440,11 @@ namespace Ryujinx.Graphics.Texture.Encoders block.Encode((ulong)pBitValues[i], ref offset, 1); } - byte[] fixUpTable = BC7Tables.FixUpIndices[subsetCount - 1][partition]; + byte[] fixUpTable = BC67Tables.FixUpIndices[subsetCount - 1][partition]; for (int i = 0; i < 16; i++) { - int subset = BC7Tables.PartitionTable[subsetCount - 1][partition][i]; + int subset = BC67Tables.PartitionTable[subsetCount - 1][partition][i]; byte index = colorIndices[i]; if (colorSwapSubset[subset]) @@ -561,12 +489,12 @@ namespace Ryujinx.Graphics.Texture.Encoders private static unsafe int GetEndPointSelectionErrorFast(ReadOnlySpan tile, int subsetCount, int partition, int w, int h, int maxError) { - byte[] partitionTable = BC7Tables.PartitionTable[subsetCount - 1][partition]; + byte[] partitionTable = BC67Tables.PartitionTable[subsetCount - 1][partition]; Span minColors = stackalloc RgbaColor8[subsetCount]; Span maxColors = stackalloc RgbaColor8[subsetCount]; - BC7Utils.GetMinMaxColors(partitionTable, tile, w, h, minColors, maxColors, subsetCount); + BC67Utils.GetMinMaxColors(partitionTable, tile, w, h, minColors, maxColors, subsetCount); Span endPoints0 = stackalloc uint[subsetCount]; Span endPoints1 = stackalloc uint[subsetCount]; @@ -592,8 +520,8 @@ namespace Ryujinx.Graphics.Texture.Encoders int pBit0 = GetPBit(c0, 6, 0); int pBit1 = GetPBit(c1, 6, 0); - c0 = BC7Utils.Quantize(RgbaColor8.FromUInt32(c0), 6, 0, pBit0).ToUInt32(); - c1 = BC7Utils.Quantize(RgbaColor8.FromUInt32(c1), 6, 0, pBit1).ToUInt32(); + c0 = BC67Utils.Quantize(RgbaColor8.FromUInt32(c0), 6, 0, pBit0).ToUInt32(); + c1 = BC67Utils.Quantize(RgbaColor8.FromUInt32(c1), 6, 0, pBit1).ToUInt32(); if (Sse41.IsSupported) { @@ -605,7 +533,7 @@ namespace Ryujinx.Graphics.Texture.Encoders Vector128 rWeights; Vector128 lWeights; - fixed (byte* pWeights = BC7Tables.Weights[1], pInvWeights = BC7Tables.InverseWeights[1]) + fixed (byte* pWeights = BC67Tables.Weights[1], pInvWeights = BC67Tables.InverseWeights[1]) { rWeights = Sse2.LoadScalarVector128((ulong*)pWeights).AsByte(); lWeights = Sse2.LoadScalarVector128((ulong*)pInvWeights).AsByte(); @@ -670,7 +598,7 @@ namespace Ryujinx.Graphics.Texture.Encoders for (int i = 1; i < palette.Length - 1; i++) { - palette[i] = BC7Utils.Interpolate(e032, e132, i, 3); + palette[i] = BC67Utils.Interpolate(e032, e132, i, 3); } for (int i = 0; i < tile.Length; i++) @@ -687,7 +615,7 @@ namespace Ryujinx.Graphics.Texture.Encoders for (int j = 0; j < palette.Length; j++) { - int score = BC7Utils.SquaredDifference(color, palette[j]); + int score = BC67Utils.SquaredDifference(color, palette[j]); if (score < bestMatchScore) { @@ -723,12 +651,12 @@ namespace Ryujinx.Graphics.Texture.Encoders uint writeMask, bool fastMode) { - byte[] partitionTable = BC7Tables.PartitionTable[subsetCount - 1][partition]; + byte[] partitionTable = BC67Tables.PartitionTable[subsetCount - 1][partition]; Span minColors = stackalloc RgbaColor8[subsetCount]; Span maxColors = stackalloc RgbaColor8[subsetCount]; - BC7Utils.GetMinMaxColors(partitionTable, tile, w, h, minColors, maxColors, subsetCount); + BC67Utils.GetMinMaxColors(partitionTable, tile, w, h, minColors, maxColors, subsetCount); uint inverseMask = ~writeMask; @@ -934,8 +862,8 @@ namespace Ryujinx.Graphics.Texture.Encoders return (default, default); } - minValue = BC7Utils.Quantize(minValue, colorDepth, alphaDepth); - maxValue = BC7Utils.Quantize(maxValue, colorDepth, alphaDepth); + minValue = BC67Utils.Quantize(minValue, colorDepth, alphaDepth); + maxValue = BC67Utils.Quantize(maxValue, colorDepth, alphaDepth); RgbaColor32 blockDir = maxValue.GetColor32() - minValue.GetColor32(); blockDir = RgbaColor32.DivideGuarded(blockDir << 6, new RgbaColor32(blockDir.R + blockDir.G + blockDir.B + blockDir.A), 0); @@ -946,7 +874,7 @@ namespace Ryujinx.Graphics.Texture.Encoders for (int i = 0; i < values.Length; i++) { RgbaColor8 color = values[i]; - int dist = RgbaColor32.Dot(BC7Utils.Quantize(color, colorDepth, alphaDepth).GetColor32(), blockDir); + int dist = RgbaColor32.Dot(BC67Utils.Quantize(color, colorDepth, alphaDepth).GetColor32(), blockDir); if (minDist >= dist) { @@ -1019,7 +947,7 @@ namespace Ryujinx.Graphics.Texture.Encoders int pBit0 = GetPBit(candidateE0.ToUInt32(), colorDepth, alphaDepth); int pBit1 = GetPBit(candidateE1.ToUInt32(), colorDepth, alphaDepth); - int errorSum = BC7Utils.SelectIndices( + int errorSum = BC67Utils.SelectIndices( MemoryMarshal.Cast(values), candidateE0.ToUInt32(), candidateE1.ToUInt32(), diff --git a/Ryujinx.Graphics.Texture/Encoders/BC7Tables.cs b/Ryujinx.Graphics.Texture/Utils/BC67Tables.cs similarity index 97% rename from Ryujinx.Graphics.Texture/Encoders/BC7Tables.cs rename to Ryujinx.Graphics.Texture/Utils/BC67Tables.cs index 6dddd283c..d890652cb 100644 --- a/Ryujinx.Graphics.Texture/Encoders/BC7Tables.cs +++ b/Ryujinx.Graphics.Texture/Utils/BC67Tables.cs @@ -1,7 +1,19 @@ -namespace Ryujinx.Graphics.Texture.Encoders +namespace Ryujinx.Graphics.Texture.Utils { - static class BC7Tables + static class BC67Tables { + public static readonly BC7ModeInfo[] BC7ModeInfos = new BC7ModeInfo[] + { + new BC7ModeInfo(3, 4, 6, 0, 0, 3, 0, 4, 0), + new BC7ModeInfo(2, 6, 2, 0, 0, 3, 0, 6, 0), + new BC7ModeInfo(3, 6, 0, 0, 0, 2, 0, 5, 0), + new BC7ModeInfo(2, 6, 4, 0, 0, 2, 0, 7, 0), + new BC7ModeInfo(1, 0, 0, 2, 1, 2, 3, 5, 6), + new BC7ModeInfo(1, 0, 0, 2, 0, 2, 2, 7, 8), + new BC7ModeInfo(1, 0, 2, 0, 0, 4, 0, 7, 7), + new BC7ModeInfo(2, 6, 4, 0, 0, 2, 0, 5, 5) + }; + public static readonly byte[][] Weights = { new byte[] { 0, 21, 43, 64 }, diff --git a/Ryujinx.Graphics.Texture/Encoders/BC7Utils.cs b/Ryujinx.Graphics.Texture/Utils/BC67Utils.cs similarity index 96% rename from Ryujinx.Graphics.Texture/Encoders/BC7Utils.cs rename to Ryujinx.Graphics.Texture/Utils/BC67Utils.cs index c43d90fb7..e6c3f6e76 100644 --- a/Ryujinx.Graphics.Texture/Encoders/BC7Utils.cs +++ b/Ryujinx.Graphics.Texture/Utils/BC67Utils.cs @@ -4,14 +4,14 @@ using System.Runtime.CompilerServices; using System.Runtime.Intrinsics; using System.Runtime.Intrinsics.X86; -namespace Ryujinx.Graphics.Texture.Encoders +namespace Ryujinx.Graphics.Texture.Utils { - static class BC7Utils + static class BC67Utils { private static byte[][] _quantizationLut; private static byte[][] _quantizationLutNoPBit; - static BC7Utils() + static BC67Utils() { _quantizationLut = new byte[5][]; _quantizationLutNoPBit = new byte[5][]; @@ -322,7 +322,7 @@ namespace Ryujinx.Graphics.Texture.Encoders Vector128 rWeights; Vector128 lWeights; - fixed (byte* pWeights = BC7Tables.Weights[0], pInvWeights = BC7Tables.InverseWeights[0]) + fixed (byte* pWeights = BC67Tables.Weights[0], pInvWeights = BC67Tables.InverseWeights[0]) { rWeights = Sse2.LoadScalarVector128((uint*)pWeights).AsByte(); lWeights = Sse2.LoadScalarVector128((uint*)pInvWeights).AsByte(); @@ -394,7 +394,7 @@ namespace Ryujinx.Graphics.Texture.Encoders Vector128 rWeights; Vector128 lWeights; - fixed (byte* pWeights = BC7Tables.Weights[1], pInvWeights = BC7Tables.InverseWeights[1]) + fixed (byte* pWeights = BC67Tables.Weights[1], pInvWeights = BC67Tables.InverseWeights[1]) { rWeights = Sse2.LoadScalarVector128((ulong*)pWeights).AsByte(); lWeights = Sse2.LoadScalarVector128((ulong*)pInvWeights).AsByte(); @@ -476,7 +476,7 @@ namespace Ryujinx.Graphics.Texture.Encoders Vector128 rWeights; Vector128 lWeights; - fixed (byte* pWeights = BC7Tables.Weights[2], pInvWeights = BC7Tables.InverseWeights[2]) + fixed (byte* pWeights = BC67Tables.Weights[2], pInvWeights = BC67Tables.InverseWeights[2]) { rWeights = Sse2.LoadVector128(pWeights); lWeights = Sse2.LoadVector128(pInvWeights); @@ -726,7 +726,7 @@ namespace Ryujinx.Graphics.Texture.Encoders int pBits, uint alphaMask) { - byte[] partitionTable = BC7Tables.PartitionTable[subsetCount - 1][partition]; + byte[] partitionTable = BC67Tables.PartitionTable[subsetCount - 1][partition]; uint alphaMaskForPalette = alphaMask; @@ -762,7 +762,7 @@ namespace Ryujinx.Graphics.Texture.Encoders Vector128 rWeights; Vector128 lWeights; - fixed (byte* pWeights = BC7Tables.Weights[0], pInvWeights = BC7Tables.InverseWeights[0]) + fixed (byte* pWeights = BC67Tables.Weights[0], pInvWeights = BC67Tables.InverseWeights[0]) { rWeights = Sse2.LoadScalarVector128((uint*)pWeights).AsByte(); lWeights = Sse2.LoadScalarVector128((uint*)pInvWeights).AsByte(); @@ -831,7 +831,7 @@ namespace Ryujinx.Graphics.Texture.Encoders int pBits, uint alphaMask) { - byte[] partitionTable = BC7Tables.PartitionTable[subsetCount - 1][partition]; + byte[] partitionTable = BC67Tables.PartitionTable[subsetCount - 1][partition]; uint alphaMaskForPalette = alphaMask; @@ -867,7 +867,7 @@ namespace Ryujinx.Graphics.Texture.Encoders Vector128 rWeights; Vector128 lWeights; - fixed (byte* pWeights = BC7Tables.Weights[1], pInvWeights = BC7Tables.InverseWeights[1]) + fixed (byte* pWeights = BC67Tables.Weights[1], pInvWeights = BC67Tables.InverseWeights[1]) { rWeights = Sse2.LoadScalarVector128((ulong*)pWeights).AsByte(); lWeights = Sse2.LoadScalarVector128((ulong*)pInvWeights).AsByte(); @@ -973,7 +973,7 @@ namespace Ryujinx.Graphics.Texture.Encoders Vector128 rWeights; Vector128 lWeights; - fixed (byte* pWeights = BC7Tables.Weights[2], pInvWeights = BC7Tables.InverseWeights[2]) + fixed (byte* pWeights = BC67Tables.Weights[2], pInvWeights = BC67Tables.InverseWeights[2]) { rWeights = Sse2.LoadVector128(pWeights); lWeights = Sse2.LoadVector128(pInvWeights); @@ -1129,7 +1129,7 @@ namespace Ryujinx.Graphics.Texture.Encoders { for (int tx = 0; tx < w; tx++) { - int subset = BC7Tables.PartitionTable[subsetCount - 1][partition][ty * 4 + tx]; + int subset = BC67Tables.PartitionTable[subsetCount - 1][partition][ty * 4 + tx]; uint color = tile[i++] | alphaMask; int bestMatchScore = int.MaxValue; @@ -1182,6 +1182,28 @@ namespace Ryujinx.Graphics.Texture.Encoders return (color1 * invWeightV + color2 * weightV + new RgbaColor32(32)) >> 6; } + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static RgbaColor32 Interpolate( + RgbaColor32 color1, + RgbaColor32 color2, + int colorWeightIndex, + int alphaWeightIndex, + int colorIndexBitCount, + int alphaIndexBitCount) + { + Debug.Assert(colorIndexBitCount >= 2 && colorIndexBitCount <= 4); + Debug.Assert(alphaIndexBitCount >= 2 && alphaIndexBitCount <= 4); + + int colorWeight = BC67Tables.Weights[colorIndexBitCount - 2][colorWeightIndex]; + int alphaWeight = BC67Tables.Weights[alphaIndexBitCount - 2][alphaWeightIndex]; + + RgbaColor32 weightV = new RgbaColor32(colorWeight); + weightV.A = alphaWeight; + RgbaColor32 invWeightV = new RgbaColor32(64) - weightV; + + return (color1 * invWeightV + color2 * weightV + new RgbaColor32(32)) >> 6; + } + public static RgbaColor8 Quantize(RgbaColor8 color, int colorBits, int alphaBits, int pBit = -1) { if (alphaBits == 0) diff --git a/Ryujinx.Graphics.Texture/Utils/BC7ModeInfo.cs b/Ryujinx.Graphics.Texture/Utils/BC7ModeInfo.cs new file mode 100644 index 000000000..749324bf0 --- /dev/null +++ b/Ryujinx.Graphics.Texture/Utils/BC7ModeInfo.cs @@ -0,0 +1,37 @@ +namespace Ryujinx.Graphics.Texture.Utils +{ + struct BC7ModeInfo + { + public readonly int SubsetCount; + public readonly int PartitionBitCount; + public readonly int PBits; + public readonly int RotationBitCount; + public readonly int IndexModeBitCount; + public readonly int ColorIndexBitCount; + public readonly int AlphaIndexBitCount; + public readonly int ColorDepth; + public readonly int AlphaDepth; + + public BC7ModeInfo( + int subsetCount, + int partitionBitsCount, + int pBits, + int rotationBitCount, + int indexModeBitCount, + int colorIndexBitCount, + int alphaIndexBitCount, + int colorDepth, + int alphaDepth) + { + SubsetCount = subsetCount; + PartitionBitCount = partitionBitsCount; + PBits = pBits; + RotationBitCount = rotationBitCount; + IndexModeBitCount = indexModeBitCount; + ColorIndexBitCount = colorIndexBitCount; + AlphaIndexBitCount = alphaIndexBitCount; + ColorDepth = colorDepth; + AlphaDepth = alphaDepth; + } + } +} \ No newline at end of file diff --git a/Ryujinx.Graphics.Texture/Utils/Block.cs b/Ryujinx.Graphics.Texture/Utils/Block.cs new file mode 100644 index 000000000..a8bae077d --- /dev/null +++ b/Ryujinx.Graphics.Texture/Utils/Block.cs @@ -0,0 +1,55 @@ +namespace Ryujinx.Graphics.Texture.Utils +{ + struct Block + { + public ulong Low; + public ulong High; + + public void Encode(ulong value, ref int offset, int bits) + { + if (offset >= 64) + { + High |= value << (offset - 64); + } + else + { + Low |= value << offset; + + if (offset + bits > 64) + { + int remainder = 64 - offset; + High |= value >> remainder; + } + } + + offset += bits; + } + + public ulong Decode(ref int offset, int bits) + { + ulong value; + ulong mask = bits == 64 ? ulong.MaxValue : (1UL << bits) - 1; + + if (offset >= 64) + { + value = (High >> (offset - 64)) & mask; + } + else + { + value = Low >> offset; + + if (offset + bits > 64) + { + int remainder = 64 - offset; + value |= High << remainder; + } + + value &= mask; + } + + offset += bits; + + return value; + } + } +} \ No newline at end of file diff --git a/Ryujinx.Graphics.Texture/Encoders/RgbaColor32.cs b/Ryujinx.Graphics.Texture/Utils/RgbaColor32.cs similarity index 89% rename from Ryujinx.Graphics.Texture/Encoders/RgbaColor32.cs rename to Ryujinx.Graphics.Texture/Utils/RgbaColor32.cs index ed4b7507e..412493274 100644 --- a/Ryujinx.Graphics.Texture/Encoders/RgbaColor32.cs +++ b/Ryujinx.Graphics.Texture/Utils/RgbaColor32.cs @@ -3,16 +3,35 @@ using System.Runtime.CompilerServices; using System.Runtime.Intrinsics; using System.Runtime.Intrinsics.X86; -namespace Ryujinx.Graphics.Texture.Encoders +namespace Ryujinx.Graphics.Texture.Utils { struct RgbaColor32 : IEquatable { - private readonly Vector128 _color; + private Vector128 _color; - public int R => _color.GetElement(0); - public int G => _color.GetElement(1); - public int B => _color.GetElement(2); - public int A => _color.GetElement(3); + public int R + { + get => _color.GetElement(0); + set => _color = _color.WithElement(0, value); + } + + public int G + { + get => _color.GetElement(1); + set => _color = _color.WithElement(1, value); + } + + public int B + { + get => _color.GetElement(2); + set => _color = _color.WithElement(2, value); + } + + public int A + { + get => _color.GetElement(3); + set => _color = _color.WithElement(3, value); + } public RgbaColor32(Vector128 color) { @@ -193,7 +212,7 @@ namespace Ryujinx.Graphics.Texture.Encoders return HashCode.Combine(R, G, B, A); } - public override bool Equals(object obj) + public override bool Equals(object? obj) { return obj is RgbaColor32 other && Equals(other); } diff --git a/Ryujinx.Graphics.Texture/Encoders/RgbaColor8.cs b/Ryujinx.Graphics.Texture/Utils/RgbaColor8.cs similarity index 97% rename from Ryujinx.Graphics.Texture/Encoders/RgbaColor8.cs rename to Ryujinx.Graphics.Texture/Utils/RgbaColor8.cs index bbf3c086a..5f7dfb4b4 100644 --- a/Ryujinx.Graphics.Texture/Encoders/RgbaColor8.cs +++ b/Ryujinx.Graphics.Texture/Utils/RgbaColor8.cs @@ -3,7 +3,7 @@ using System.Runtime.CompilerServices; using System.Runtime.Intrinsics; using System.Runtime.Intrinsics.X86; -namespace Ryujinx.Graphics.Texture.Encoders +namespace Ryujinx.Graphics.Texture.Utils { struct RgbaColor8 : IEquatable { diff --git a/Ryujinx.Graphics.Vulkan/FormatCapabilities.cs b/Ryujinx.Graphics.Vulkan/FormatCapabilities.cs index be2ead0bf..ea1f710a5 100644 --- a/Ryujinx.Graphics.Vulkan/FormatCapabilities.cs +++ b/Ryujinx.Graphics.Vulkan/FormatCapabilities.cs @@ -20,7 +20,20 @@ namespace Ryujinx.Graphics.Vulkan _table = new FormatFeatureFlags[Enum.GetNames(typeof(GAL.Format)).Length]; } - public bool FormatSupports(GAL.Format format, FormatFeatureFlags flags) + public bool FormatsSupports(FormatFeatureFlags flags, params GAL.Format[] formats) + { + foreach (GAL.Format format in formats) + { + if (!FormatSupports(flags, format)) + { + return false; + } + } + + return true; + } + + public bool FormatSupports(FormatFeatureFlags flags, GAL.Format format) { var formatFeatureFlags = _table[(int)format]; @@ -56,7 +69,7 @@ namespace Ryujinx.Graphics.Vulkan requiredFeatures |= FormatFeatureFlags.FormatFeatureStorageImageBit; } - if (!FormatSupports(srcFormat, requiredFeatures) || + if (!FormatSupports(requiredFeatures, srcFormat) || (srcFormat == GAL.Format.D24UnormS8Uint && VulkanConfiguration.ForceD24S8Unsupported)) { // The format is not supported. Can we convert it to a higher precision format? diff --git a/Ryujinx.Graphics.Vulkan/TextureView.cs b/Ryujinx.Graphics.Vulkan/TextureView.cs index 7e1350eea..1f5009127 100644 --- a/Ryujinx.Graphics.Vulkan/TextureView.cs +++ b/Ryujinx.Graphics.Vulkan/TextureView.cs @@ -298,8 +298,8 @@ namespace Ryujinx.Graphics.Vulkan return; } - else if (_gd.FormatCapabilities.FormatSupports(srcFormat, FormatFeatureFlags.FormatFeatureBlitSrcBit) && - _gd.FormatCapabilities.FormatSupports(dstFormat, FormatFeatureFlags.FormatFeatureBlitDstBit)) + else if (_gd.FormatCapabilities.FormatSupports(FormatFeatureFlags.FormatFeatureBlitSrcBit, srcFormat) && + _gd.FormatCapabilities.FormatSupports(FormatFeatureFlags.FormatFeatureBlitDstBit, dstFormat)) { TextureCopy.Blit( _gd.Api, @@ -604,8 +604,8 @@ namespace Ryujinx.Graphics.Vulkan private bool SupportsBlitFromD32FS8ToD32FAndS8() { var formatFeatureFlags = FormatFeatureFlags.FormatFeatureBlitSrcBit | FormatFeatureFlags.FormatFeatureBlitDstBit; - return _gd.FormatCapabilities.FormatSupports(GAL.Format.D32Float, formatFeatureFlags) && - _gd.FormatCapabilities.FormatSupports(GAL.Format.S8Uint, formatFeatureFlags); + return _gd.FormatCapabilities.FormatSupports(formatFeatureFlags, GAL.Format.D32Float) && + _gd.FormatCapabilities.FormatSupports(formatFeatureFlags, GAL.Format.S8Uint); } public TextureView GetView(GAL.Format format) diff --git a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs index 2e715fdf7..30fa8626d 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs @@ -315,6 +315,33 @@ namespace Ryujinx.Graphics.Vulkan public Capabilities GetCapabilities() { + FormatFeatureFlags compressedFormatFeatureFlags = + FormatFeatureFlags.FormatFeatureSampledImageBit | + FormatFeatureFlags.FormatFeatureSampledImageFilterLinearBit | + FormatFeatureFlags.FormatFeatureBlitSrcBit | + FormatFeatureFlags.FormatFeatureTransferSrcBit | + FormatFeatureFlags.FormatFeatureTransferDstBit; + + bool supportsBc123CompressionFormat = FormatCapabilities.FormatsSupports(compressedFormatFeatureFlags, + GAL.Format.Bc1RgbaSrgb, + GAL.Format.Bc1RgbaUnorm, + GAL.Format.Bc2Srgb, + GAL.Format.Bc2Unorm, + GAL.Format.Bc3Srgb, + GAL.Format.Bc3Unorm); + + bool supportsBc45CompressionFormat = FormatCapabilities.FormatsSupports(compressedFormatFeatureFlags, + GAL.Format.Bc4Snorm, + GAL.Format.Bc4Unorm, + GAL.Format.Bc5Snorm, + GAL.Format.Bc5Unorm); + + bool supportsBc67CompressionFormat = FormatCapabilities.FormatsSupports(compressedFormatFeatureFlags, + GAL.Format.Bc6HSfloat, + GAL.Format.Bc6HUfloat, + GAL.Format.Bc7Srgb, + GAL.Format.Bc7Unorm); + Api.GetPhysicalDeviceFeatures(_physicalDevice, out var features); Api.GetPhysicalDeviceProperties(_physicalDevice, out var properties); @@ -326,6 +353,9 @@ namespace Ryujinx.Graphics.Vulkan hasFrontFacingBug: IsIntelWindows, hasVectorIndexingBug: Vendor == Vendor.Qualcomm, supportsAstcCompression: features.TextureCompressionAstcLdr, + supportsBc123Compression: supportsBc123CompressionFormat, + supportsBc45Compression: supportsBc45CompressionFormat, + supportsBc67Compression: supportsBc67CompressionFormat, supports3DTextureCompression: true, supportsBgraFormat: true, supportsR4G4Format: false, From 6ba93addf75acf795d62f941d83f2e7228c4ef1b Mon Sep 17 00:00:00 2001 From: riperiperi Date: Sun, 22 May 2022 16:45:18 +0100 Subject: [PATCH 151/179] Fix BCn 4/5 conversion, GetTextureTarget BCn 4/5 could generate invalid data when a line's size in bytes was not divisible by 4, which both backends expect. GetTextureTarget was not creating a view with the replacement format. --- Ryujinx.Graphics.Gpu/Image/Texture.cs | 10 ++++--- Ryujinx.Graphics.Texture/BCnDecoder.cs | 38 ++++++++++++++++---------- 2 files changed, 30 insertions(+), 18 deletions(-) diff --git a/Ryujinx.Graphics.Gpu/Image/Texture.cs b/Ryujinx.Graphics.Gpu/Image/Texture.cs index 0a578c924..c5c7a09bd 100644 --- a/Ryujinx.Graphics.Gpu/Image/Texture.cs +++ b/Ryujinx.Graphics.Gpu/Image/Texture.cs @@ -1229,16 +1229,18 @@ namespace Ryujinx.Graphics.Gpu.Image if (_arrayViewTexture == null && IsSameDimensionsTarget(target)) { + FormatInfo formatInfo = TextureCompatibility.ToHostCompatibleFormat(Info, _context.Capabilities); + TextureCreateInfo createInfo = new TextureCreateInfo( Info.Width, Info.Height, target == Target.CubemapArray ? 6 : 1, Info.Levels, Info.Samples, - Info.FormatInfo.BlockWidth, - Info.FormatInfo.BlockHeight, - Info.FormatInfo.BytesPerPixel, - Info.FormatInfo.Format, + formatInfo.BlockWidth, + formatInfo.BlockHeight, + formatInfo.BytesPerPixel, + formatInfo.Format, Info.DepthStencilMode, target, Info.SwizzleR, diff --git a/Ryujinx.Graphics.Texture/BCnDecoder.cs b/Ryujinx.Graphics.Texture/BCnDecoder.cs index 053f6a735..b21fa4d10 100644 --- a/Ryujinx.Graphics.Texture/BCnDecoder.cs +++ b/Ryujinx.Graphics.Texture/BCnDecoder.cs @@ -298,9 +298,12 @@ namespace Ryujinx.Graphics.Texture for (int l = 0; l < levels; l++) { - size += Math.Max(1, width >> l) * Math.Max(1, height >> l) * Math.Max(1, depth >> l) * layers; + size += BitUtils.AlignUp(Math.Max(1, width >> l), 4) * Math.Max(1, height >> l) * Math.Max(1, depth >> l) * layers; } + // Backends currently expect a stride alignment of 4 bytes, so output width must be aligned. + int alignedWidth = BitUtils.AlignUp(width, 4); + byte[] output = new byte[size]; Span outputSpan = new Span(output); @@ -331,14 +334,14 @@ namespace Ryujinx.Graphics.Texture { int baseY = y * BlockHeight; int copyHeight = Math.Min(BlockHeight, height - baseY); - int lineBaseOOffs = imageBaseOOffs + baseY * width; + int lineBaseOOffs = imageBaseOOffs + baseY * alignedWidth; if (copyHeight == 4) { outputLine0 = MemoryMarshal.Cast(outputSpan.Slice(lineBaseOOffs)); - outputLine1 = MemoryMarshal.Cast(outputSpan.Slice(lineBaseOOffs + width)); - outputLine2 = MemoryMarshal.Cast(outputSpan.Slice(lineBaseOOffs + width * 2)); - outputLine3 = MemoryMarshal.Cast(outputSpan.Slice(lineBaseOOffs + width * 3)); + outputLine1 = MemoryMarshal.Cast(outputSpan.Slice(lineBaseOOffs + alignedWidth)); + outputLine2 = MemoryMarshal.Cast(outputSpan.Slice(lineBaseOOffs + alignedWidth * 2)); + outputLine3 = MemoryMarshal.Cast(outputSpan.Slice(lineBaseOOffs + alignedWidth * 3)); } for (int x = 0; x < w; x++) @@ -375,7 +378,7 @@ namespace Ryujinx.Graphics.Texture for (int tY = 0; tY < copyHeight; tY++) { - tile.Slice(tY * 4, copyWidth).CopyTo(outputSpan.Slice(pixelBaseOOffs + width * tY, copyWidth)); + tile.Slice(tY * 4, copyWidth).CopyTo(outputSpan.Slice(pixelBaseOOffs + alignedWidth * tY, copyWidth)); } } @@ -383,13 +386,15 @@ namespace Ryujinx.Graphics.Texture } } - imageBaseOOffs += width * height; + imageBaseOOffs += alignedWidth * height; } } width = Math.Max(1, width >> 1); height = Math.Max(1, height >> 1); depth = Math.Max(1, depth >> 1); + + alignedWidth = BitUtils.AlignUp(width, 4); } return output; @@ -401,9 +406,12 @@ namespace Ryujinx.Graphics.Texture for (int l = 0; l < levels; l++) { - size += Math.Max(1, width >> l) * Math.Max(1, height >> l) * Math.Max(1, depth >> l) * layers * 2; + size += BitUtils.AlignUp(Math.Max(1, width >> l), 2) * Math.Max(1, height >> l) * Math.Max(1, depth >> l) * layers * 2; } + // Backends currently expect a stride alignment of 4 bytes, so output width must be aligned. + int alignedWidth = BitUtils.AlignUp(width, 2); + byte[] output = new byte[size]; ReadOnlySpan data64 = MemoryMarshal.Cast(data); @@ -438,14 +446,14 @@ namespace Ryujinx.Graphics.Texture { int baseY = y * BlockHeight; int copyHeight = Math.Min(BlockHeight, height - baseY); - int lineBaseOOffs = imageBaseOOffs + baseY * width; + int lineBaseOOffs = imageBaseOOffs + baseY * alignedWidth; if (copyHeight == 4) { outputLine0 = MemoryMarshal.Cast(outputAsUshort.Slice(lineBaseOOffs)); - outputLine1 = MemoryMarshal.Cast(outputAsUshort.Slice(lineBaseOOffs + width)); - outputLine2 = MemoryMarshal.Cast(outputAsUshort.Slice(lineBaseOOffs + width * 2)); - outputLine3 = MemoryMarshal.Cast(outputAsUshort.Slice(lineBaseOOffs + width * 3)); + outputLine1 = MemoryMarshal.Cast(outputAsUshort.Slice(lineBaseOOffs + alignedWidth)); + outputLine2 = MemoryMarshal.Cast(outputAsUshort.Slice(lineBaseOOffs + alignedWidth * 2)); + outputLine3 = MemoryMarshal.Cast(outputAsUshort.Slice(lineBaseOOffs + alignedWidth * 3)); } for (int x = 0; x < w; x++) @@ -488,7 +496,7 @@ namespace Ryujinx.Graphics.Texture for (int tY = 0; tY < copyHeight; tY++) { - int line = pixelBaseOOffs + width * tY; + int line = pixelBaseOOffs + alignedWidth * tY; for (int tX = 0; tX < copyWidth; tX++) { @@ -503,13 +511,15 @@ namespace Ryujinx.Graphics.Texture } } - imageBaseOOffs += width * height; + imageBaseOOffs += alignedWidth * height; } } width = Math.Max(1, width >> 1); height = Math.Max(1, height >> 1); depth = Math.Max(1, depth >> 1); + + alignedWidth = BitUtils.AlignUp(width, 2); } return output; From 281f16aa36432203e7753ea96daf5eccfddfc1ec Mon Sep 17 00:00:00 2001 From: riperiperi Date: Tue, 24 May 2022 19:12:40 +0100 Subject: [PATCH 152/179] Fix dependency --- Ryujinx.Graphics.Vulkan/Ryujinx.Graphics.Vulkan.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ryujinx.Graphics.Vulkan/Ryujinx.Graphics.Vulkan.csproj b/Ryujinx.Graphics.Vulkan/Ryujinx.Graphics.Vulkan.csproj index e28134a71..994fc6555 100644 --- a/Ryujinx.Graphics.Vulkan/Ryujinx.Graphics.Vulkan.csproj +++ b/Ryujinx.Graphics.Vulkan/Ryujinx.Graphics.Vulkan.csproj @@ -13,7 +13,7 @@ - + From c832f55618ed23cb88878f16a417513852f6d871 Mon Sep 17 00:00:00 2001 From: gdk Date: Tue, 24 May 2022 18:38:55 -0300 Subject: [PATCH 153/179] Fix inverse viewport transform vector type on SPIR-V --- .../Shader/DiskCache/DiskCacheHostStorage.cs | 2 +- .../CodeGen/Spirv/Declarations.cs | 3 ++- .../CodeGen/Spirv/Instructions.cs | 12 ++++++------ 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs b/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs index 3b7353c56..3f70b8a75 100644 --- a/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs +++ b/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs @@ -22,7 +22,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache private const ushort FileFormatVersionMajor = 1; private const ushort FileFormatVersionMinor = 2; private const uint FileFormatVersionPacked = ((uint)FileFormatVersionMajor << 16) | FileFormatVersionMinor; - private const uint CodeGenVersion = 7; + private const uint CodeGenVersion = 8; private const string SharedTocFileName = "shared.toc"; private const string SharedDataFileName = "shared.data"; diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs index afe2e5326..e6f916b76 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs @@ -141,12 +141,13 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv } var isBgraArrayType = context.TypeArray(context.TypeU32(), context.Constant(context.TypeU32(), SupportBuffer.FragmentIsBgraCount)); + var viewportInverseVectorType = context.TypeVector(context.TypeFP32(), 4); var renderScaleArrayType = context.TypeArray(context.TypeFP32(), context.Constant(context.TypeU32(), SupportBuffer.RenderScaleMaxCount)); context.Decorate(isBgraArrayType, Decoration.ArrayStride, (LiteralInteger)SupportBuffer.FieldSize); context.Decorate(renderScaleArrayType, Decoration.ArrayStride, (LiteralInteger)SupportBuffer.FieldSize); - var supportBufferStructType = context.TypeStruct(false, context.TypeU32(), isBgraArrayType, context.GetType(AggregateType.FP32 | AggregateType.Vector), context.TypeS32(), renderScaleArrayType); + var supportBufferStructType = context.TypeStruct(false, context.TypeU32(), isBgraArrayType, viewportInverseVectorType, context.TypeS32(), renderScaleArrayType); context.MemberDecorate(supportBufferStructType, 0, Decoration.Offset, (LiteralInteger)SupportBuffer.FragmentAlphaTestOffset); context.MemberDecorate(supportBufferStructType, 1, Decoration.Offset, (LiteralInteger)SupportBuffer.FragmentIsBgraOffset); diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs index c0ab48236..4c9e27e50 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Instructions.cs @@ -1434,16 +1434,16 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv var y = context.Get(AggregateType.FP32, operation.GetSource(1)); var mask = context.Get(AggregateType.U32, operation.GetSource(2)); - var v4float = context.TypeVector(context.TypeFP32(), (SpvLiteralInteger)4); - var one = context.Constant(context.TypeFP32(), (SpvLiteralInteger)1.0f); - var minusOne = context.Constant(context.TypeFP32(), (SpvLiteralInteger)(-1.0f)); - var zero = context.Constant(context.TypeFP32(), (SpvLiteralInteger)0.0f); + var v4float = context.TypeVector(context.TypeFP32(), 4); + var one = context.Constant(context.TypeFP32(), 1.0f); + var minusOne = context.Constant(context.TypeFP32(), -1.0f); + var zero = context.Constant(context.TypeFP32(), 0.0f); var xLut = context.ConstantComposite(v4float, one, minusOne, one, zero); var yLut = context.ConstantComposite(v4float, one, one, minusOne, one); var threadId = context.GetAttribute(AggregateType.U32, AttributeConsts.LaneId, false); - var shift = context.BitwiseAnd(context.TypeU32(), threadId, context.Constant(context.TypeU32(), (SpvLiteralInteger)3)); - shift = context.ShiftLeftLogical(context.TypeU32(), shift, context.Constant(context.TypeU32(), (SpvLiteralInteger)1)); + var shift = context.BitwiseAnd(context.TypeU32(), threadId, context.Constant(context.TypeU32(), 3)); + shift = context.ShiftLeftLogical(context.TypeU32(), shift, context.Constant(context.TypeU32(), 1)); var lutIdx = context.ShiftRightLogical(context.TypeU32(), mask, shift); var xLutValue = context.VectorExtractDynamic(context.TypeFP32(), xLut, lutIdx); From 74a8f37f8d104b23de3b52d16e6d00b2f7235dd7 Mon Sep 17 00:00:00 2001 From: gdk Date: Tue, 24 May 2022 19:49:48 -0300 Subject: [PATCH 154/179] Do not require null descriptors support --- .../DescriptorSetCollection.cs | 13 +++--- .../DescriptorSetUpdater.cs | 41 ++++++++++++++++--- .../HardwareCapabilities.cs | 3 ++ .../VulkanGraphicsDevice.cs | 20 ++++++++- 4 files changed, 64 insertions(+), 13 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/DescriptorSetCollection.cs b/Ryujinx.Graphics.Vulkan/DescriptorSetCollection.cs index 245914e0a..c57cb1a95 100644 --- a/Ryujinx.Graphics.Vulkan/DescriptorSetCollection.cs +++ b/Ryujinx.Graphics.Vulkan/DescriptorSetCollection.cs @@ -1,5 +1,6 @@ using Silk.NET.Vulkan; using System; +using VkBuffer = Silk.NET.Vulkan.Buffer; namespace Ryujinx.Graphics.Vulkan { @@ -15,17 +16,15 @@ namespace Ryujinx.Graphics.Vulkan _descriptorSets = descriptorSets; } - public void InitializeBuffers(int setIndex, int baseBinding, int countPerUnit, DescriptorType type) + public void InitializeBuffers(int setIndex, int baseBinding, int countPerUnit, DescriptorType type, VkBuffer dummyBuffer) { Span infos = stackalloc DescriptorBufferInfo[countPerUnit]; - for (int j = 0; j < countPerUnit; j++) + infos.Fill(new DescriptorBufferInfo() { - infos[j] = new DescriptorBufferInfo() - { - Range = Vk.WholeSize - }; - } + Buffer = dummyBuffer, + Range = Vk.WholeSize + }); UpdateBuffers(setIndex, baseBinding, infos, type); } diff --git a/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs b/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs index 94f4b9b6e..cb8403e14 100644 --- a/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs +++ b/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs @@ -45,6 +45,7 @@ namespace Ryujinx.Graphics.Vulkan private DirtyFlags _dirty; + private readonly BufferHolder _dummyBuffer; private readonly TextureView _dummyTexture; private readonly SamplerHolder _dummySampler; @@ -62,6 +63,17 @@ namespace Ryujinx.Graphics.Vulkan _bufferTextures = Array.Empty(); _bufferImages = Array.Empty(); + if (gd.Capabilities.SupportsNullDescriptors) + { + // If null descriptors are supported, we can pass null as the handle. + _dummyBuffer = null; + } + else + { + // If null descriptors are not supported, we need to pass the handle of a dummy buffer on unused bindings. + _dummyBuffer = gd.BufferManager.Create(gd, 0x10000, forConditionalRendering: false, deviceLocal: true); + } + _dummyTexture = (TextureView)gd.CreateTexture(new GAL.TextureCreateInfo( 1, 1, @@ -283,13 +295,18 @@ namespace Ryujinx.Graphics.Vulkan } [MethodImpl(MethodImplOptions.AggressiveInlining)] - private static void UpdateBuffer(CommandBufferScoped cbs, ref DescriptorBufferInfo info, Auto buffer) + private static void UpdateBuffer( + CommandBufferScoped cbs, + ref DescriptorBufferInfo info, + Auto buffer, + Auto dummyBuffer) { info.Buffer = buffer?.Get(cbs, (int)info.Offset, (int)info.Range).Value ?? default; // The spec requires that buffers with null handle have offset as 0 and range as VK_WHOLE_SIZE. if (info.Buffer.Handle == 0) { + info.Buffer = dummyBuffer?.Get(cbs).Value ?? default; info.Offset = 0; info.Range = Vk.WholeSize; } @@ -304,6 +321,8 @@ namespace Ryujinx.Graphics.Vulkan return; } + var dummyBuffer = _dummyBuffer?.GetBuffer(); + var dsc = _program.GetNewDescriptorSetCollection(_gd, cbs.CommandBufferIndex, setIndex, out var isNew).Get(cbs); if (isNew) @@ -352,7 +371,7 @@ namespace Ryujinx.Graphics.Vulkan for (int i = 0; i < count; i++) { - UpdateBuffer(cbs, ref _uniformBuffers[binding + i], _uniformBufferRefs[binding + i]); + UpdateBuffer(cbs, ref _uniformBuffers[binding + i], _uniformBufferRefs[binding + i], dummyBuffer); } ReadOnlySpan uniformBuffers = _uniformBuffers; @@ -369,7 +388,7 @@ namespace Ryujinx.Graphics.Vulkan for (int i = 0; i < count; i++) { - UpdateBuffer(cbs, ref _storageBuffers[binding + i], _storageBufferRefs[binding + i]); + UpdateBuffer(cbs, ref _storageBuffers[binding + i], _storageBufferRefs[binding + i], dummyBuffer); } ReadOnlySpan storageBuffers = _storageBuffers; @@ -461,6 +480,8 @@ namespace Ryujinx.Graphics.Vulkan [MethodImpl(MethodImplOptions.AggressiveInlining)] private void Initialize(CommandBufferScoped cbs, int setIndex, DescriptorSetCollection dsc) { + var dummyBuffer = _dummyBuffer?.GetBuffer().Get(cbs).Value ?? default; + uint stages = _program.Stages; while (stages != 0) @@ -470,11 +491,21 @@ namespace Ryujinx.Graphics.Vulkan if (setIndex == PipelineBase.UniformSetIndex) { - dsc.InitializeBuffers(0, 1 + stage * Constants.MaxUniformBuffersPerStage, Constants.MaxUniformBuffersPerStage, DescriptorType.UniformBuffer); + dsc.InitializeBuffers( + 0, + 1 + stage * Constants.MaxUniformBuffersPerStage, + Constants.MaxUniformBuffersPerStage, + DescriptorType.UniformBuffer, + dummyBuffer); } else if (setIndex == PipelineBase.StorageSetIndex) { - dsc.InitializeBuffers(0, stage * Constants.MaxStorageBuffersPerStage, Constants.MaxStorageBuffersPerStage, DescriptorType.StorageBuffer); + dsc.InitializeBuffers( + 0, + stage * Constants.MaxStorageBuffersPerStage, + Constants.MaxStorageBuffersPerStage, + DescriptorType.StorageBuffer, + dummyBuffer); } } } diff --git a/Ryujinx.Graphics.Vulkan/HardwareCapabilities.cs b/Ryujinx.Graphics.Vulkan/HardwareCapabilities.cs index efcd96615..b6a7d0d63 100644 --- a/Ryujinx.Graphics.Vulkan/HardwareCapabilities.cs +++ b/Ryujinx.Graphics.Vulkan/HardwareCapabilities.cs @@ -6,6 +6,7 @@ namespace Ryujinx.Graphics.Vulkan { public bool SupportsConditionalRendering { get; } public bool SupportsExtendedDynamicState { get; } + public bool SupportsNullDescriptors { get; } public bool SupportsTransformFeedback { get; } public bool SupportsTransformFeedbackQueries { get; } public bool SupportsGeometryShader { get; } @@ -16,6 +17,7 @@ namespace Ryujinx.Graphics.Vulkan public HardwareCapabilities( bool supportsConditionalRendering, bool supportsExtendedDynamicState, + bool supportsNullDescriptors, bool supportsTransformFeedback, bool supportsTransformFeedbackQueries, bool supportsGeometryShader, @@ -25,6 +27,7 @@ namespace Ryujinx.Graphics.Vulkan { SupportsConditionalRendering = supportsConditionalRendering; SupportsExtendedDynamicState = supportsExtendedDynamicState; + SupportsNullDescriptors = supportsNullDescriptors; SupportsTransformFeedback = supportsTransformFeedback; SupportsTransformFeedbackQueries = supportsTransformFeedbackQueries; SupportsGeometryShader = supportsGeometryShader; diff --git a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs index 30fa8626d..60c2ffafd 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs @@ -195,9 +195,27 @@ namespace Ryujinx.Graphics.Vulkan Api.GetPhysicalDeviceProperties2(_physicalDevice, &properties2); + PhysicalDeviceFeatures2 features2 = new PhysicalDeviceFeatures2() + { + SType = StructureType.PhysicalDeviceFeatures2 + }; + + PhysicalDeviceRobustness2FeaturesEXT featuresRobustness2 = new PhysicalDeviceRobustness2FeaturesEXT() + { + SType = StructureType.PhysicalDeviceRobustness2FeaturesExt + }; + + if (supportedExtensions.Contains("VK_EXT_robustness2")) + { + features2.PNext = &featuresRobustness2; + } + + Api.GetPhysicalDeviceFeatures2(_physicalDevice, &features2); + Capabilities = new HardwareCapabilities( supportedExtensions.Contains(ExtConditionalRendering.ExtensionName), supportedExtensions.Contains(ExtExtendedDynamicState.ExtensionName), + featuresRobustness2.NullDescriptor, supportsTransformFeedback, propertiesTransformFeedback.TransformFeedbackQueries, supportedFeatures.GeometryShader, @@ -392,7 +410,7 @@ namespace Ryujinx.Graphics.Vulkan { uint driverVersionRaw = properties.DriverVersion; - // NVIDIA differ from the standard here and use a different format. + // NVIDIA differ from the standard here and uses a different format. if (properties.VendorID == 0x10DE) { return $"{(driverVersionRaw >> 22) & 0x3FF}.{(driverVersionRaw >> 14) & 0xFF}.{(driverVersionRaw >> 6) & 0xFF}.{driverVersionRaw & 0x3F}"; From 1fac9dc29ba094b971125a917a1eead7d96764a1 Mon Sep 17 00:00:00 2001 From: gdk Date: Tue, 24 May 2022 20:10:07 -0300 Subject: [PATCH 155/179] If MultiViewport is not supported, do not try to set more than one viewport/scissor --- .../HardwareCapabilities.cs | 21 +++++++++++-------- Ryujinx.Graphics.Vulkan/PipelineBase.cs | 6 ++++-- Ryujinx.Graphics.Vulkan/PipelineConverter.cs | 13 ++++++++++-- .../VulkanGraphicsDevice.cs | 3 ++- 4 files changed, 29 insertions(+), 14 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/HardwareCapabilities.cs b/Ryujinx.Graphics.Vulkan/HardwareCapabilities.cs index b6a7d0d63..456691261 100644 --- a/Ryujinx.Graphics.Vulkan/HardwareCapabilities.cs +++ b/Ryujinx.Graphics.Vulkan/HardwareCapabilities.cs @@ -4,19 +4,21 @@ namespace Ryujinx.Graphics.Vulkan { struct HardwareCapabilities { - public bool SupportsConditionalRendering { get; } - public bool SupportsExtendedDynamicState { get; } - public bool SupportsNullDescriptors { get; } - public bool SupportsTransformFeedback { get; } - public bool SupportsTransformFeedbackQueries { get; } - public bool SupportsGeometryShader { get; } - public uint MinSubgroupSize { get; } - public uint MaxSubgroupSize { get; } - public ShaderStageFlags RequiredSubgroupSizeStages { get; } + public readonly bool SupportsConditionalRendering; + public readonly bool SupportsExtendedDynamicState; + public readonly bool SupportsMultiView; + public readonly bool SupportsNullDescriptors; + public readonly bool SupportsTransformFeedback; + public readonly bool SupportsTransformFeedbackQueries; + public readonly bool SupportsGeometryShader; + public readonly uint MinSubgroupSize; + public readonly uint MaxSubgroupSize; + public readonly ShaderStageFlags RequiredSubgroupSizeStages; public HardwareCapabilities( bool supportsConditionalRendering, bool supportsExtendedDynamicState, + bool supportsMultiView, bool supportsNullDescriptors, bool supportsTransformFeedback, bool supportsTransformFeedbackQueries, @@ -27,6 +29,7 @@ namespace Ryujinx.Graphics.Vulkan { SupportsConditionalRendering = supportsConditionalRendering; SupportsExtendedDynamicState = supportsExtendedDynamicState; + SupportsMultiView = supportsMultiView; SupportsNullDescriptors = supportsNullDescriptors; SupportsTransformFeedback = supportsTransformFeedback; SupportsTransformFeedbackQueries = supportsTransformFeedbackQueries; diff --git a/Ryujinx.Graphics.Vulkan/PipelineBase.cs b/Ryujinx.Graphics.Vulkan/PipelineBase.cs index ea6320ffd..75da2163e 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineBase.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineBase.cs @@ -641,7 +641,8 @@ namespace Ryujinx.Graphics.Vulkan public void SetScissors(ReadOnlySpan> regions) { - int count = Math.Min(Constants.MaxViewports, regions.Length); + int maxScissors = Gd.Capabilities.SupportsMultiView ? Constants.MaxViewports : 1; + int count = Math.Min(maxScissors, regions.Length); if (count > 0) { ClearScissor = regions[0]; @@ -831,7 +832,8 @@ namespace Ryujinx.Graphics.Vulkan // TODO: Remove first parameter. public void SetViewports(int first, ReadOnlySpan viewports, bool disableTransform) { - int count = Math.Min(Constants.MaxViewports, viewports.Length); + int maxViewports = Gd.Capabilities.SupportsMultiView ? Constants.MaxViewports : 1; + int count = Math.Min(maxViewports, viewports.Length); static float Clamp(float value) { diff --git a/Ryujinx.Graphics.Vulkan/PipelineConverter.cs b/Ryujinx.Graphics.Vulkan/PipelineConverter.cs index a115af15d..c1b17d9ea 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineConverter.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineConverter.cs @@ -165,8 +165,17 @@ namespace Ryujinx.Graphics.Vulkan pipeline.PrimitiveRestartEnable = state.PrimitiveRestartEnable; pipeline.RasterizerDiscardEnable = state.RasterizerDiscard; pipeline.SamplesCount = (uint)state.SamplesCount; - pipeline.ScissorsCount = 16; - pipeline.ViewportsCount = 16; + + if (gd.Capabilities.SupportsMultiView) + { + pipeline.ScissorsCount = Constants.MaxViewports; + pipeline.ViewportsCount = Constants.MaxViewports; + } + else + { + pipeline.ScissorsCount = 1; + pipeline.ViewportsCount = 1; + } pipeline.DepthBiasEnable = state.BiasEnable != 0; diff --git a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs index 60c2ffafd..42be3cdaa 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs @@ -23,7 +23,7 @@ namespace Ryujinx.Graphics.Vulkan private Window _window; internal FormatCapabilities FormatCapabilities { get; private set; } - internal HardwareCapabilities Capabilities { get; private set; } + internal HardwareCapabilities Capabilities; internal Vk Api { get; private set; } internal KhrSurface SurfaceApi { get; private set; } @@ -215,6 +215,7 @@ namespace Ryujinx.Graphics.Vulkan Capabilities = new HardwareCapabilities( supportedExtensions.Contains(ExtConditionalRendering.ExtensionName), supportedExtensions.Contains(ExtExtendedDynamicState.ExtensionName), + features2.Features.MultiViewport, featuresRobustness2.NullDescriptor, supportsTransformFeedback, propertiesTransformFeedback.TransformFeedbackQueries, From d4b9a6378fe3c5d785870798f719b95b5e7bd0d9 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Wed, 25 May 2022 19:20:20 +0100 Subject: [PATCH 156/179] Bounds check on bitmap add. --- Ryujinx.Graphics.Vulkan/BufferUsageBitmap.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Ryujinx.Graphics.Vulkan/BufferUsageBitmap.cs b/Ryujinx.Graphics.Vulkan/BufferUsageBitmap.cs index 1eadd8385..3242b9fc9 100644 --- a/Ryujinx.Graphics.Vulkan/BufferUsageBitmap.cs +++ b/Ryujinx.Graphics.Vulkan/BufferUsageBitmap.cs @@ -24,6 +24,12 @@ public void Add(int cbIndex, int offset, int size) { + // Some usages can be out of bounds (vertex buffer on amd), so bound if necessary. + if (offset + size > _size) + { + size = _size - offset; + } + int cbBase = cbIndex * _bitsPerCb; int start = cbBase + offset / _granularity; int end = cbBase + (offset + size - 1) / _granularity; From 20000703306da9b9dc529fce6fe77c27489efc2a Mon Sep 17 00:00:00 2001 From: riperiperi Date: Thu, 26 May 2022 20:49:06 +0100 Subject: [PATCH 157/179] Flush queries on attachment change rather than program change Occlusion queries are usually used in a depth only pass so the attachments changing is a better indication of the query block ending. Write mask changes are also considered since some games do depth only pass by setting 0 write mask on all the colour targets. --- Ryujinx.Graphics.Vulkan/PipelineBase.cs | 17 +++++++++++++++-- Ryujinx.Graphics.Vulkan/PipelineFull.cs | 2 +- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/PipelineBase.cs b/Ryujinx.Graphics.Vulkan/PipelineBase.cs index 75da2163e..287218ed2 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineBase.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineBase.cs @@ -45,6 +45,7 @@ namespace Ryujinx.Graphics.Vulkan protected FramebufferParams FramebufferParams; private Auto _framebuffer; private Auto _renderPass; + private int _writtenAttachmentCount; private bool _renderPassActive; private readonly DescriptorSetUpdater _descriptorSetUpdater; @@ -598,10 +599,9 @@ namespace Ryujinx.Graphics.Vulkan stages.CopyTo(_newState.Stages.ToSpan().Slice(0, stages.Length)); SignalStateChange(); - SignalProgramChange(); } - protected virtual void SignalProgramChange() + protected virtual void SignalAttachmentChange() { } @@ -614,15 +614,27 @@ namespace Ryujinx.Graphics.Vulkan public void SetRenderTargetColorMasks(ReadOnlySpan componentMask) { int count = Math.Min(Constants.MaxRenderTargets, componentMask.Length); + int writtenAttachments = 0; for (int i = 0; i < count; i++) { ref var vkBlend = ref _newState.Internal.ColorBlendAttachmentState[i]; vkBlend.ColorWriteMask = (ColorComponentFlags)componentMask[i]; + + if (componentMask[i] != 0) + { + writtenAttachments++; + } } SignalStateChange(); + + if (writtenAttachments != _writtenAttachmentCount) + { + SignalAttachmentChange(); + _writtenAttachmentCount = writtenAttachments; + } } public void SetRenderTargets(ITexture[] colors, ITexture depthStencil) @@ -631,6 +643,7 @@ namespace Ryujinx.Graphics.Vulkan CreateFramebuffer(colors, depthStencil); CreateRenderPass(); SignalStateChange(); + SignalAttachmentChange(); } public void SetRenderTargetScale(float scale) diff --git a/Ryujinx.Graphics.Vulkan/PipelineFull.cs b/Ryujinx.Graphics.Vulkan/PipelineFull.cs index 7a9465626..ea6a13f8e 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineFull.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineFull.cs @@ -384,7 +384,7 @@ namespace Ryujinx.Graphics.Vulkan _hasPendingQuery = true; } - protected override void SignalProgramChange() + protected override void SignalAttachmentChange() { FlushPendingQuery(); } From 8a1bdf1f1e38fae379c70a63483ab6f7fde1294d Mon Sep 17 00:00:00 2001 From: Emmanuel Hansen Date: Fri, 3 Jun 2022 00:09:51 +0000 Subject: [PATCH 158/179] Add support for avalonia (#6) * add avalonia support * only lock around skia flush * addressed review * cleanup * add fallback size if avalonia attempts to render but the window size is 0. read desktop scale after enabling dpi check * fix getting window handle on linux. skip render is size is 0 --- Ryujinx.Ava/AppHost.cs | 32 +- Ryujinx.Ava/Program.cs | 38 +- Ryujinx.Ava/Ryujinx.Ava.csproj | 6 +- .../Applet/AvaloniaDynamicTextInputHandler.cs | 2 +- Ryujinx.Ava/Ui/Backend/BackendSurface.cs | 71 +++ Ryujinx.Ava/Ui/Backend/Interop.cs | 49 +++ Ryujinx.Ava/Ui/Backend/SkiaGpuFactory.cs | 23 + .../Ui/Backend/Vulkan/ResultExtensions.cs | 13 + .../Backend/Vulkan/Skia/VulkanRenderTarget.cs | 134 ++++++ .../Ui/Backend/Vulkan/Skia/VulkanSkiaGpu.cs | 118 +++++ .../Ui/Backend/Vulkan/Skia/VulkanSurface.cs | 58 +++ .../Vulkan/Surfaces/IVulkanPlatformSurface.cs | 13 + .../Surfaces/VulkanSurfaceRenderTarget.cs | 92 ++++ .../Backend/Vulkan/VulkanCommandBufferPool.cs | 177 ++++++++ Ryujinx.Ava/Ui/Backend/Vulkan/VulkanDevice.cs | 67 +++ .../Ui/Backend/Vulkan/VulkanDisplay.cs | 406 ++++++++++++++++++ Ryujinx.Ava/Ui/Backend/Vulkan/VulkanImage.cs | 167 +++++++ .../Ui/Backend/Vulkan/VulkanInstance.cs | 138 ++++++ .../Ui/Backend/Vulkan/VulkanMemoryHelper.cs | 59 +++ .../Ui/Backend/Vulkan/VulkanOptions.cs | 48 +++ .../Ui/Backend/Vulkan/VulkanPhysicalDevice.cs | 203 +++++++++ .../Backend/Vulkan/VulkanPlatformInterface.cs | 84 ++++ Ryujinx.Ava/Ui/Backend/Vulkan/VulkanQueue.cs | 18 + .../Ui/Backend/Vulkan/VulkanSemaphorePair.cs | 32 ++ .../Ui/Backend/Vulkan/VulkanSurface.cs | 77 ++++ .../Vulkan/VulkanSurfaceRenderingSession.cs | 48 +++ .../Ui/Controls/OpenGLRendererControl.cs | 192 +++++++++ Ryujinx.Ava/Ui/Controls/RendererControl.cs | 208 ++------- .../Ui/Controls/VulkanRendererControl.cs | 153 +++++++ Ryujinx.Ava/Ui/Windows/MainWindow.axaml.cs | 16 +- Ryujinx.Common/System/ForceDpiAware.cs | 9 +- .../Multithreading/ThreadedRenderer.cs | 2 +- .../Multithreading/ThreadedWindow.cs | 8 +- Ryujinx.Graphics.Vulkan/ImageWindow.cs | 365 ++++++++++++++++ .../VulkanGraphicsDevice.cs | 150 +++++-- .../VulkanInitialization.cs | 105 ++--- Ryujinx.Graphics.Vulkan/Window.cs | 10 +- Ryujinx.Graphics.Vulkan/WindowBase.cs | 14 + 38 files changed, 3095 insertions(+), 310 deletions(-) create mode 100644 Ryujinx.Ava/Ui/Backend/BackendSurface.cs create mode 100644 Ryujinx.Ava/Ui/Backend/Interop.cs create mode 100644 Ryujinx.Ava/Ui/Backend/SkiaGpuFactory.cs create mode 100644 Ryujinx.Ava/Ui/Backend/Vulkan/ResultExtensions.cs create mode 100644 Ryujinx.Ava/Ui/Backend/Vulkan/Skia/VulkanRenderTarget.cs create mode 100644 Ryujinx.Ava/Ui/Backend/Vulkan/Skia/VulkanSkiaGpu.cs create mode 100644 Ryujinx.Ava/Ui/Backend/Vulkan/Skia/VulkanSurface.cs create mode 100644 Ryujinx.Ava/Ui/Backend/Vulkan/Surfaces/IVulkanPlatformSurface.cs create mode 100644 Ryujinx.Ava/Ui/Backend/Vulkan/Surfaces/VulkanSurfaceRenderTarget.cs create mode 100644 Ryujinx.Ava/Ui/Backend/Vulkan/VulkanCommandBufferPool.cs create mode 100644 Ryujinx.Ava/Ui/Backend/Vulkan/VulkanDevice.cs create mode 100644 Ryujinx.Ava/Ui/Backend/Vulkan/VulkanDisplay.cs create mode 100644 Ryujinx.Ava/Ui/Backend/Vulkan/VulkanImage.cs create mode 100644 Ryujinx.Ava/Ui/Backend/Vulkan/VulkanInstance.cs create mode 100644 Ryujinx.Ava/Ui/Backend/Vulkan/VulkanMemoryHelper.cs create mode 100644 Ryujinx.Ava/Ui/Backend/Vulkan/VulkanOptions.cs create mode 100644 Ryujinx.Ava/Ui/Backend/Vulkan/VulkanPhysicalDevice.cs create mode 100644 Ryujinx.Ava/Ui/Backend/Vulkan/VulkanPlatformInterface.cs create mode 100644 Ryujinx.Ava/Ui/Backend/Vulkan/VulkanQueue.cs create mode 100644 Ryujinx.Ava/Ui/Backend/Vulkan/VulkanSemaphorePair.cs create mode 100644 Ryujinx.Ava/Ui/Backend/Vulkan/VulkanSurface.cs create mode 100644 Ryujinx.Ava/Ui/Backend/Vulkan/VulkanSurfaceRenderingSession.cs create mode 100644 Ryujinx.Ava/Ui/Controls/OpenGLRendererControl.cs create mode 100644 Ryujinx.Ava/Ui/Controls/VulkanRendererControl.cs create mode 100644 Ryujinx.Graphics.Vulkan/ImageWindow.cs create mode 100644 Ryujinx.Graphics.Vulkan/WindowBase.cs diff --git a/Ryujinx.Ava/AppHost.cs b/Ryujinx.Ava/AppHost.cs index 09163bd60..27dd06e6e 100644 --- a/Ryujinx.Ava/AppHost.cs +++ b/Ryujinx.Ava/AppHost.cs @@ -1,5 +1,6 @@ using ARMeilleure.Translation; using ARMeilleure.Translation.PTC; +using Avalonia; using Avalonia.Input; using Avalonia.Threading; using LibHac.Tools.FsSystem; @@ -13,6 +14,7 @@ using Ryujinx.Ava.Common.Locale; using Ryujinx.Ava.Input; using Ryujinx.Ava.Ui.Controls; using Ryujinx.Ava.Ui.Models; +using Ryujinx.Ava.Ui.Vulkan; using Ryujinx.Ava.Ui.Windows; using Ryujinx.Common; using Ryujinx.Common.Configuration; @@ -22,6 +24,7 @@ using Ryujinx.Graphics.GAL; using Ryujinx.Graphics.GAL.Multithreading; using Ryujinx.Graphics.Gpu; using Ryujinx.Graphics.OpenGL; +using Ryujinx.Graphics.Vulkan; using Ryujinx.HLE.FileSystem; using Ryujinx.HLE.HOS; using Ryujinx.HLE.HOS.Services.Account.Acc; @@ -590,7 +593,23 @@ namespace Ryujinx.Ava { VirtualFileSystem.ReloadKeySet(); - IRenderer renderer = new Renderer(); + IRenderer renderer; + + if (Program.UseVulkan) + { + var vulkan = AvaloniaLocator.Current.GetService(); + renderer = new VulkanGraphicsDevice(vulkan.Instance.InternalHandle, + vulkan.Device.InternalHandle, + vulkan.PhysicalDevice.InternalHandle, + vulkan.Device.Queue.InternalHandle, + vulkan.PhysicalDevice.QueueFamilyIndex, + vulkan.Device.Lock); + } + else + { + renderer = new Renderer(); + } + IHardwareDeviceDriver deviceDriver = new DummyHardwareDeviceDriver(); BackendThreading threadingMode = ConfigurationState.Instance.Graphics.BackendThreading; @@ -800,9 +819,12 @@ namespace Ryujinx.Ava _renderer.ScreenCaptured += Renderer_ScreenCaptured; - (_renderer as Renderer).InitializeBackgroundContext(SPBOpenGLContext.CreateBackgroundContext(Renderer.GameContext)); + if (!Program.UseVulkan) + { + (_renderer as Renderer).InitializeBackgroundContext(SPBOpenGLContext.CreateBackgroundContext((Renderer as OpenGLRendererControl).GameContext)); - Renderer.MakeCurrent(); + Renderer.MakeCurrent(); + } Device.Gpu.Renderer.Initialize(_glLogLevel); @@ -861,8 +883,6 @@ namespace Ryujinx.Ava dockedMode += $" ({scale}x)"; } - string vendor = _renderer is Renderer renderer ? renderer.GpuVendor : ""; - StatusUpdatedEvent?.Invoke(this, new StatusUpdatedEventArgs( Device.EnableDeviceVsync, Device.GetVolume(), @@ -870,7 +890,7 @@ namespace Ryujinx.Ava ConfigurationState.Instance.Graphics.AspectRatio.Value.ToText(), LocaleManager.Instance["Game"] + $": {Device.Statistics.GetGameFrameRate():00.00} FPS ({Device.Statistics.GetGameFrameTime():00.00} ms)", $"FIFO: {Device.Statistics.GetFifoPercent():00.00} %", - $"GPU: {vendor}")); + $"GPU: {_renderer.GetHardwareInfo().GpuVendor}")); Renderer.Present(image); } diff --git a/Ryujinx.Ava/Program.cs b/Ryujinx.Ava/Program.cs index c243ba96a..89b0f1cd4 100644 --- a/Ryujinx.Ava/Program.cs +++ b/Ryujinx.Ava/Program.cs @@ -3,6 +3,7 @@ using Avalonia; using Avalonia.OpenGL; using Avalonia.Rendering; using Avalonia.Threading; +using Ryujinx.Ava.Ui.Backend; using Ryujinx.Ava.Ui.Controls; using Ryujinx.Ava.Ui.Windows; using Ryujinx.Common; @@ -11,9 +12,12 @@ using Ryujinx.Common.GraphicsDriver; using Ryujinx.Common.Logging; using Ryujinx.Common.System; using Ryujinx.Common.SystemInfo; +using Ryujinx.Graphics.Vulkan; using Ryujinx.Modules; using Ryujinx.Ui.Common; using Ryujinx.Ui.Common.Configuration; +using Silk.NET.Vulkan.Extensions.EXT; +using Silk.NET.Vulkan.Extensions.KHR; using System; using System.Collections.Generic; using System.IO; @@ -25,17 +29,20 @@ namespace Ryujinx.Ava internal class Program { public static double WindowScaleFactor { get; set; } + public static double ActualScaleFactor { get; set; } public static string Version { get; private set; } public static string ConfigurationPath { get; private set; } public static string CommandLineProfile { get; set; } public static bool PreviewerDetached { get; private set; } public static RenderTimer RenderTimer { get; private set; } + public static bool UseVulkan { get; private set; } [DllImport("user32.dll", SetLastError = true)] public static extern int MessageBoxA(IntPtr hWnd, string text, string caption, uint type); private const uint MB_ICONWARNING = 0x30; + private const int BaseDpi = 96; public static void Main(string[] args) { @@ -66,7 +73,7 @@ namespace Ryujinx.Ava EnableMultiTouch = true, EnableIme = true, UseEGL = false, - UseGpu = true, + UseGpu = !UseVulkan, GlProfiles = new List() { new GlVersion(GlProfileType.OpenGL, 4, 3) @@ -75,7 +82,7 @@ namespace Ryujinx.Ava .With(new Win32PlatformOptions { EnableMultitouch = true, - UseWgl = true, + UseWgl = !UseVulkan, WglProfiles = new List() { new GlVersion(GlProfileType.OpenGL, 4, 3) @@ -84,6 +91,18 @@ namespace Ryujinx.Ava CompositionBackdropCornerRadius = 8f, }) .UseSkia() + .With(new Ui.Vulkan.VulkanOptions() + { + ApplicationName = "Ryujinx.Graphics.Vulkan", + VulkanVersion = new Version(1, 2), + MaxQueueCount = 2, + PreferDiscreteGpu = true, + UseDebug = !PreviewerDetached ? false : ConfigurationState.Instance.Logger.GraphicsDebugLevel.Value != GraphicsDebugLevel.None, + }) + .With(new SkiaOptions() + { + CustomGpuFactory = UseVulkan ? SkiaGpuFactory.CreateVulkanGpu : null + }) .AfterSetup(_ => { AvaloniaLocator.CurrentMutable @@ -136,9 +155,6 @@ namespace Ryujinx.Ava } } - // Make process DPI aware for proper window sizing on high-res screens. - WindowScaleFactor = ForceDpiAware.GetWindowScaleFactor(); - // Delete backup files after updating. Task.Run(Updater.CleanupUpdate); @@ -162,6 +178,18 @@ namespace Ryujinx.Ava ReloadConfig(); + UseVulkan = PreviewerDetached ? ConfigurationState.Instance.Graphics.GraphicsBackend.Value == GraphicsBackend.Vulkan : false; + + if (UseVulkan) + { + // With a custom gpu backend, avalonia doesn't enable dpi awareness, so the backend must handle it. This isn't so for the opengl backed, + // as that uses avalonia's gpu backend and it's enabled there. + ForceDpiAware.Windows(); + } + + WindowScaleFactor = ForceDpiAware.GetWindowScaleFactor(); + ActualScaleFactor = ForceDpiAware.GetActualScaleFactor() / BaseDpi; + // Logging system information. PrintSystemInfo(); diff --git a/Ryujinx.Ava/Ryujinx.Ava.csproj b/Ryujinx.Ava/Ryujinx.Ava.csproj index 293243bac..102e28ac0 100644 --- a/Ryujinx.Ava/Ryujinx.Ava.csproj +++ b/Ryujinx.Ava/Ryujinx.Ava.csproj @@ -28,10 +28,13 @@ + - + + + @@ -39,6 +42,7 @@ + diff --git a/Ryujinx.Ava/Ui/Applet/AvaloniaDynamicTextInputHandler.cs b/Ryujinx.Ava/Ui/Applet/AvaloniaDynamicTextInputHandler.cs index 294e89654..02a99c1d1 100644 --- a/Ryujinx.Ava/Ui/Applet/AvaloniaDynamicTextInputHandler.cs +++ b/Ryujinx.Ava/Ui/Applet/AvaloniaDynamicTextInputHandler.cs @@ -135,7 +135,7 @@ namespace Ryujinx.Ava.Ui.Applet Dispatcher.UIThread.Post(() => { _hiddenTextBox.Clear(); - _parent.GlRenderer.Focus(); + _parent.RendererControl.Focus(); _parent = null; }); diff --git a/Ryujinx.Ava/Ui/Backend/BackendSurface.cs b/Ryujinx.Ava/Ui/Backend/BackendSurface.cs new file mode 100644 index 000000000..4b54cae2c --- /dev/null +++ b/Ryujinx.Ava/Ui/Backend/BackendSurface.cs @@ -0,0 +1,71 @@ +using Avalonia; +using System; +using System.Runtime.InteropServices; +using static Ryujinx.Ava.Ui.Backend.Interop; + +namespace Ryujinx.Ava.Ui.Backend +{ + public abstract class BackendSurface : IDisposable + { + protected IntPtr Display => _display; + + private IntPtr _display = IntPtr.Zero; + + [DllImport("libX11.so.6")] + public static extern IntPtr XOpenDisplay(IntPtr display); + + [DllImport("libX11.so.6")] + public static extern int XCloseDisplay(IntPtr display); + + private PixelSize _currentSize; + public IntPtr Handle { get; protected set; } + + public bool IsDisposed { get; private set; } + + public BackendSurface(IntPtr handle) + { + Handle = handle; + + if (OperatingSystem.IsLinux()) + { + _display = XOpenDisplay(IntPtr.Zero); + } + } + + public PixelSize Size + { + get + { + PixelSize size = new PixelSize(); + if (OperatingSystem.IsWindows()) + { + GetClientRect(Handle, out var rect); + size = new PixelSize(rect.right, rect.bottom); + } + else if (OperatingSystem.IsLinux()) + { + XWindowAttributes attributes = new XWindowAttributes(); + XGetWindowAttributes(Display, Handle, ref attributes); + + size = new PixelSize(attributes.width, attributes.height); + } + + _currentSize = size; + + return size; + } + } + + public PixelSize CurrentSize => _currentSize; + + public virtual void Dispose() + { + IsDisposed = true; + + if (_display != IntPtr.Zero) + { + XCloseDisplay(_display); + } + } + } +} \ No newline at end of file diff --git a/Ryujinx.Ava/Ui/Backend/Interop.cs b/Ryujinx.Ava/Ui/Backend/Interop.cs new file mode 100644 index 000000000..617e97678 --- /dev/null +++ b/Ryujinx.Ava/Ui/Backend/Interop.cs @@ -0,0 +1,49 @@ +using FluentAvalonia.Interop; +using System; +using System.Runtime.InteropServices; + +namespace Ryujinx.Ava.Ui.Backend +{ + public static class Interop + { + [StructLayout(LayoutKind.Sequential)] + public struct XWindowAttributes + { + public int x; + public int y; + public int width; + public int height; + public int border_width; + public int depth; + public IntPtr visual; + public IntPtr root; + public int c_class; + public int bit_gravity; + public int win_gravity; + public int backing_store; + public IntPtr backing_planes; + public IntPtr backing_pixel; + public int save_under; + public IntPtr colormap; + public int map_installed; + public int map_state; + public IntPtr all_event_masks; + public IntPtr your_event_mask; + public IntPtr do_not_propagate_mask; + public int override_direct; + public IntPtr screen; + } + + [DllImport("user32.dll")] + public static extern bool GetClientRect(IntPtr hwnd, out RECT lpRect); + + [DllImport("libX11.so.6")] + public static extern int XCloseDisplay(IntPtr display); + + [DllImport("libX11.so.6")] + public static extern int XGetWindowAttributes(IntPtr display, IntPtr window, ref XWindowAttributes attributes); + + [DllImport("libX11.so.6")] + public static extern IntPtr XOpenDisplay(IntPtr display); + } +} diff --git a/Ryujinx.Ava/Ui/Backend/SkiaGpuFactory.cs b/Ryujinx.Ava/Ui/Backend/SkiaGpuFactory.cs new file mode 100644 index 000000000..db38c3835 --- /dev/null +++ b/Ryujinx.Ava/Ui/Backend/SkiaGpuFactory.cs @@ -0,0 +1,23 @@ +using Avalonia; +using Avalonia.Skia; +using Ryujinx.Ava.Ui.Vulkan; +using Ryujinx.Ava.Ui.Backend.Vulkan; + +namespace Ryujinx.Ava.Ui.Backend +{ + public static class SkiaGpuFactory + { + public static ISkiaGpu CreateVulkanGpu() + { + var skiaOptions = AvaloniaLocator.Current.GetService() ?? new SkiaOptions(); + var platformInterface = AvaloniaLocator.Current.GetService(); + if (platformInterface == null) + { + VulkanPlatformInterface.TryInitialize(); + } + var gpu = new VulkanSkiaGpu(skiaOptions.MaxGpuResourceSizeBytes); + AvaloniaLocator.CurrentMutable.Bind().ToConstant(gpu); + return gpu; + } + } +} \ No newline at end of file diff --git a/Ryujinx.Ava/Ui/Backend/Vulkan/ResultExtensions.cs b/Ryujinx.Ava/Ui/Backend/Vulkan/ResultExtensions.cs new file mode 100644 index 000000000..1fd88321d --- /dev/null +++ b/Ryujinx.Ava/Ui/Backend/Vulkan/ResultExtensions.cs @@ -0,0 +1,13 @@ +using System; +using Silk.NET.Vulkan; + +namespace Ryujinx.Ava.Ui.Vulkan +{ + public static class ResultExtensions + { + public static void ThrowOnError(this Result result) + { + if (result != Result.Success) throw new Exception($"Unexpected API error \"{result}\"."); + } + } +} diff --git a/Ryujinx.Ava/Ui/Backend/Vulkan/Skia/VulkanRenderTarget.cs b/Ryujinx.Ava/Ui/Backend/Vulkan/Skia/VulkanRenderTarget.cs new file mode 100644 index 000000000..88aeea92b --- /dev/null +++ b/Ryujinx.Ava/Ui/Backend/Vulkan/Skia/VulkanRenderTarget.cs @@ -0,0 +1,134 @@ +using System; +using Avalonia.Skia; +using Ryujinx.Ava.Ui.Vulkan; +using Ryujinx.Ava.Ui.Vulkan.Surfaces; +using SkiaSharp; + +namespace Ryujinx.Ava.Ui.Backend.Vulkan +{ + internal class VulkanRenderTarget : ISkiaGpuRenderTarget + { + public GRContext GrContext { get; set; } + + private readonly VulkanSurfaceRenderTarget _surface; + private readonly IVulkanPlatformSurface _vulkanPlatformSurface; + + public VulkanRenderTarget(VulkanPlatformInterface vulkanPlatformInterface, + IVulkanPlatformSurface vulkanPlatformSurface) + { + _surface = vulkanPlatformInterface.CreateRenderTarget(vulkanPlatformSurface); + _vulkanPlatformSurface = vulkanPlatformSurface; + } + + public void Dispose() + { + _surface.Dispose(); + } + + public ISkiaGpuRenderSession BeginRenderingSession() + { + var session = _surface.BeginDraw(_vulkanPlatformSurface.Scaling); + bool success = false; + try + { + var disp = session.Display; + var api = session.Api; + + var size = session.Size; + var scaling = session.Scaling; + if (size.Width <= 0 || size.Height <= 0 || scaling < 0) + { + size = new Avalonia.PixelSize(1, 1); + scaling = 1; + } + + lock (GrContext) + { + GrContext.ResetContext(); + + var imageInfo = new GRVkImageInfo() + { + CurrentQueueFamily = disp.QueueFamilyIndex, + Format = _surface.ImageFormat, + Image = _surface.Image.Handle, + ImageLayout = (uint)_surface.Image.CurrentLayout, + ImageTiling = (uint)_surface.Image.Tiling, + ImageUsageFlags = _surface.UsageFlags, + LevelCount = _surface.MipLevels, + SampleCount = 1, + Protected = false, + Alloc = new GRVkAlloc() + { + Memory = _surface.Image.MemoryHandle, + Flags = 0, + Offset = 0, + Size = _surface.MemorySize + } + }; + + var renderTarget = + new GRBackendRenderTarget((int)size.Width, (int)size.Height, 1, + imageInfo); + var surface = SKSurface.Create(GrContext, renderTarget, + session.IsYFlipped ? GRSurfaceOrigin.TopLeft : GRSurfaceOrigin.BottomLeft, + _surface.IsRgba ? SKColorType.Rgba8888 : SKColorType.Bgra8888, SKColorSpace.CreateSrgb()); + + if (surface == null) + { + throw new InvalidOperationException( + "Surface can't be created with the provided render target"); + } + + success = true; + + return new VulkanGpuSession(GrContext, renderTarget, surface, session); + } + } + finally + { + if (!success) + session.Dispose(); + } + } + + public bool IsCorrupted { get; } + + internal class VulkanGpuSession : ISkiaGpuRenderSession + { + private readonly GRBackendRenderTarget _backendRenderTarget; + private readonly VulkanSurfaceRenderingSession _vulkanSession; + + public VulkanGpuSession(GRContext grContext, + GRBackendRenderTarget backendRenderTarget, + SKSurface surface, + VulkanSurfaceRenderingSession vulkanSession) + { + GrContext = grContext; + _backendRenderTarget = backendRenderTarget; + SkSurface = surface; + _vulkanSession = vulkanSession; + + SurfaceOrigin = vulkanSession.IsYFlipped ? GRSurfaceOrigin.TopLeft : GRSurfaceOrigin.BottomLeft; + } + + public void Dispose() + { + lock (_vulkanSession.Display.Lock) + { + SkSurface.Canvas.Flush(); + + SkSurface.Dispose(); + _backendRenderTarget.Dispose(); + GrContext.Flush(); + + _vulkanSession.Dispose(); + } + } + + public GRContext GrContext { get; } + public SKSurface SkSurface { get; } + public double ScaleFactor => _vulkanSession.Scaling; + public GRSurfaceOrigin SurfaceOrigin { get; } + } + } +} diff --git a/Ryujinx.Ava/Ui/Backend/Vulkan/Skia/VulkanSkiaGpu.cs b/Ryujinx.Ava/Ui/Backend/Vulkan/Skia/VulkanSkiaGpu.cs new file mode 100644 index 000000000..325ddd6cf --- /dev/null +++ b/Ryujinx.Ava/Ui/Backend/Vulkan/Skia/VulkanSkiaGpu.cs @@ -0,0 +1,118 @@ +using System; +using System.Collections.Generic; +using Avalonia; +using Avalonia.Platform; +using Avalonia.Skia; +using Avalonia.X11; +using Ryujinx.Ava.Ui.Vulkan; +using Silk.NET.Vulkan; +using SkiaSharp; + +namespace Ryujinx.Ava.Ui.Backend.Vulkan +{ + public class VulkanSkiaGpu : ISkiaGpu + { + private readonly VulkanPlatformInterface _vulkan; + private readonly long? _maxResourceBytes; + private GRContext _grContext; + private GRVkBackendContext _grVkBackend; + private bool _initialized; + + public GRContext GrContext { get => _grContext; set => _grContext = value; } + + public VulkanSkiaGpu(long? maxResourceBytes) + { + _vulkan = AvaloniaLocator.Current.GetService(); + _maxResourceBytes = maxResourceBytes; + } + + private void Initialize() + { + if (_initialized) + { + return; + } + + _initialized = true; + GRVkGetProcedureAddressDelegate getProc = (string name, IntPtr instanceHandle, IntPtr deviceHandle) => + { + IntPtr addr = IntPtr.Zero; + + if (deviceHandle != IntPtr.Zero) + { + addr = _vulkan.Device.Api.GetDeviceProcAddr(new Device(deviceHandle), name); + if (addr != IntPtr.Zero) + return addr; + + addr = _vulkan.Device.Api.GetDeviceProcAddr(new Device(_vulkan.Device.Handle), name); + + if (addr != IntPtr.Zero) + return addr; + } + + addr = _vulkan.Device.Api.GetInstanceProcAddr(new Instance(_vulkan.Instance.Handle), name); + + if (addr == IntPtr.Zero) + addr = _vulkan.Device.Api.GetInstanceProcAddr(new Instance(instanceHandle), name); + + return addr; + }; + + _grVkBackend = new GRVkBackendContext() + { + VkInstance = _vulkan.Device.Handle, + VkPhysicalDevice = _vulkan.PhysicalDevice.Handle, + VkDevice = _vulkan.Device.Handle, + VkQueue = _vulkan.Device.Queue.Handle, + GraphicsQueueIndex = _vulkan.PhysicalDevice.QueueFamilyIndex, + GetProcedureAddress = getProc + }; + _grContext = GRContext.CreateVulkan(_grVkBackend); + if (_maxResourceBytes.HasValue) + { + _grContext.SetResourceCacheLimit(_maxResourceBytes.Value); + } + } + + public ISkiaGpuRenderTarget TryCreateRenderTarget(IEnumerable surfaces) + { + foreach (var surface in surfaces) + { + VulkanWindowSurface window; + + if (surface is IPlatformHandle handle) + { + window = new VulkanWindowSurface(handle.Handle); + } + else if (surface is X11FramebufferSurface x11FramebufferSurface) + { + // As of Avalonia 0.10.13, an IPlatformHandle isn't passed for linux, so use reflection to otherwise get the window id + var xId = (IntPtr)x11FramebufferSurface.GetType().GetField( + "_xid", + System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetValue(x11FramebufferSurface); + + window = new VulkanWindowSurface(xId); + } + else + { + continue; + } + + var vulkanRenderTarget = new VulkanRenderTarget(_vulkan, window); + + Initialize(); + + vulkanRenderTarget.GrContext = _grContext; + + return vulkanRenderTarget; + } + + return null; + } + + public ISkiaSurface TryCreateSurface(PixelSize size, ISkiaGpuRenderSession session) + { + return null; + } + } +} diff --git a/Ryujinx.Ava/Ui/Backend/Vulkan/Skia/VulkanSurface.cs b/Ryujinx.Ava/Ui/Backend/Vulkan/Skia/VulkanSurface.cs new file mode 100644 index 000000000..37a1577c0 --- /dev/null +++ b/Ryujinx.Ava/Ui/Backend/Vulkan/Skia/VulkanSurface.cs @@ -0,0 +1,58 @@ +using Avalonia; +using Ryujinx.Ava.Ui.Vulkan; +using Ryujinx.Ava.Ui.Vulkan.Surfaces; +using Silk.NET.Vulkan; +using Silk.NET.Vulkan.Extensions.KHR; +using System; + +namespace Ryujinx.Ava.Ui.Backend.Vulkan +{ + internal class VulkanWindowSurface : BackendSurface, IVulkanPlatformSurface + { + public float Scaling => (float)Program.ActualScaleFactor; + + public PixelSize SurfaceSize => Size; + + public VulkanWindowSurface(IntPtr handle) : base(handle) + { + } + + public unsafe SurfaceKHR CreateSurface(VulkanInstance instance) + { + if (OperatingSystem.IsWindows()) + { + if (instance.Api.TryGetInstanceExtension(new Instance(instance.Handle), out KhrWin32Surface surfaceExtension)) + { + var createInfo = new Win32SurfaceCreateInfoKHR() { Hinstance = 0, Hwnd = Handle, SType = StructureType.Win32SurfaceCreateInfoKhr }; + + surfaceExtension.CreateWin32Surface(new Instance(instance.Handle), createInfo, null, out var surface).ThrowOnError(); + + return surface; + } + } + else if (OperatingSystem.IsLinux()) + { + if (instance.Api.TryGetInstanceExtension(new Instance(instance.Handle), out KhrXlibSurface surfaceExtension)) + { + var createInfo = new XlibSurfaceCreateInfoKHR() + { + SType = StructureType.XlibSurfaceCreateInfoKhr, + Dpy = (nint*)Display, + Window = Handle + }; + + surfaceExtension.CreateXlibSurface(new Instance(instance.Handle), createInfo, null, out var surface).ThrowOnError(); + + return surface; + } + } + + throw new PlatformNotSupportedException("The current platform does not support surface creation."); + } + + public override void Dispose() + { + base.Dispose(); + } + } +} \ No newline at end of file diff --git a/Ryujinx.Ava/Ui/Backend/Vulkan/Surfaces/IVulkanPlatformSurface.cs b/Ryujinx.Ava/Ui/Backend/Vulkan/Surfaces/IVulkanPlatformSurface.cs new file mode 100644 index 000000000..642d8a6a3 --- /dev/null +++ b/Ryujinx.Ava/Ui/Backend/Vulkan/Surfaces/IVulkanPlatformSurface.cs @@ -0,0 +1,13 @@ +using System; +using Avalonia; +using Silk.NET.Vulkan; + +namespace Ryujinx.Ava.Ui.Vulkan.Surfaces +{ + public interface IVulkanPlatformSurface : IDisposable + { + float Scaling { get; } + PixelSize SurfaceSize { get; } + SurfaceKHR CreateSurface(VulkanInstance instance); + } +} diff --git a/Ryujinx.Ava/Ui/Backend/Vulkan/Surfaces/VulkanSurfaceRenderTarget.cs b/Ryujinx.Ava/Ui/Backend/Vulkan/Surfaces/VulkanSurfaceRenderTarget.cs new file mode 100644 index 000000000..f7d9684ce --- /dev/null +++ b/Ryujinx.Ava/Ui/Backend/Vulkan/Surfaces/VulkanSurfaceRenderTarget.cs @@ -0,0 +1,92 @@ +using System; +using Avalonia; +using Silk.NET.Vulkan; + +namespace Ryujinx.Ava.Ui.Vulkan.Surfaces +{ + internal class VulkanSurfaceRenderTarget : IDisposable + { + private readonly VulkanPlatformInterface _platformInterface; + + public bool IsCorrupted { get; set; } = true; + private readonly Format _format; + + public VulkanImage Image { get; private set; } + + public uint MipLevels => Image.MipLevels; + + public VulkanSurfaceRenderTarget(VulkanPlatformInterface platformInterface, VulkanSurface surface) + { + _platformInterface = platformInterface; + + Display = VulkanDisplay.CreateDisplay(platformInterface.Instance, platformInterface.Device, + platformInterface.PhysicalDevice, surface); + Surface = surface; + + // Skia seems to only create surfaces from images with unorm format + + IsRgba = Display.SurfaceFormat.Format >= Format.R8G8B8A8Unorm && + Display.SurfaceFormat.Format <= Format.R8G8B8A8Srgb; + + _format = IsRgba ? Format.R8G8B8A8Unorm : Format.B8G8R8A8Unorm; + } + + public bool IsRgba { get; } + + public uint ImageFormat => (uint) _format; + + public ulong MemorySize => Image.MemorySize; + + public VulkanDisplay Display { get; } + + public VulkanSurface Surface { get; } + + public uint UsageFlags => Image.UsageFlags; + + public PixelSize Size { get; private set; } + + public void Dispose() + { + _platformInterface.Device.WaitIdle(); + DestroyImage(); + Display?.Dispose(); + Surface?.Dispose(); + } + + public VulkanSurfaceRenderingSession BeginDraw(float scaling) + { + var session = new VulkanSurfaceRenderingSession(Display, _platformInterface.Device, this, scaling); + + if (IsCorrupted) + { + IsCorrupted = false; + DestroyImage(); + CreateImage(); + } + else + { + Image.TransitionLayout(ImageLayout.ColorAttachmentOptimal, AccessFlags.AccessNoneKhr); + } + + return session; + } + + public void Invalidate() + { + IsCorrupted = true; + } + + private void CreateImage() + { + Size = Display.Size; + + Image = new VulkanImage(_platformInterface.Device, _platformInterface.PhysicalDevice, _platformInterface.Device.CommandBufferPool, ImageFormat, Size); + } + + private void DestroyImage() + { + _platformInterface.Device.WaitIdle(); + Image?.Dispose(); + } + } +} diff --git a/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanCommandBufferPool.cs b/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanCommandBufferPool.cs new file mode 100644 index 000000000..92c57905a --- /dev/null +++ b/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanCommandBufferPool.cs @@ -0,0 +1,177 @@ +using System; +using System.Collections.Generic; +using Silk.NET.Vulkan; + +namespace Ryujinx.Ava.Ui.Vulkan +{ + internal class VulkanCommandBufferPool : IDisposable + { + private readonly VulkanDevice _device; + private readonly CommandPool _commandPool; + + private readonly List _usedCommandBuffers = new(); + + public unsafe VulkanCommandBufferPool(VulkanDevice device, VulkanPhysicalDevice physicalDevice) + { + _device = device; + + var commandPoolCreateInfo = new CommandPoolCreateInfo + { + SType = StructureType.CommandPoolCreateInfo, + Flags = CommandPoolCreateFlags.CommandPoolCreateResetCommandBufferBit, + QueueFamilyIndex = physicalDevice.QueueFamilyIndex + }; + + device.Api.CreateCommandPool(_device.InternalHandle, commandPoolCreateInfo, null, out _commandPool) + .ThrowOnError(); + } + + public unsafe void Dispose() + { + FreeUsedCommandBuffers(); + _device.Api.DestroyCommandPool(_device.InternalHandle, _commandPool, null); + } + + private CommandBuffer AllocateCommandBuffer() + { + var commandBufferAllocateInfo = new CommandBufferAllocateInfo + { + SType = StructureType.CommandBufferAllocateInfo, + CommandPool = _commandPool, + CommandBufferCount = 1, + Level = CommandBufferLevel.Primary + }; + + _device.Api.AllocateCommandBuffers(_device.InternalHandle, commandBufferAllocateInfo, out var commandBuffer); + + return commandBuffer; + } + + public VulkanCommandBuffer CreateCommandBuffer() + { + return new(_device, this); + } + + public void FreeUsedCommandBuffers() + { + lock (_usedCommandBuffers) + { + foreach (var usedCommandBuffer in _usedCommandBuffers) usedCommandBuffer.Dispose(); + + _usedCommandBuffers.Clear(); + } + } + + private void DisposeCommandBuffer(VulkanCommandBuffer commandBuffer) + { + lock (_usedCommandBuffers) + { + _usedCommandBuffers.Add(commandBuffer); + } + } + + public class VulkanCommandBuffer : IDisposable + { + private readonly VulkanCommandBufferPool _commandBufferPool; + private readonly VulkanDevice _device; + private readonly Fence _fence; + private bool _hasEnded; + private bool _hasStarted; + + public IntPtr Handle => InternalHandle.Handle; + + internal CommandBuffer InternalHandle { get; } + + internal unsafe VulkanCommandBuffer(VulkanDevice device, VulkanCommandBufferPool commandBufferPool) + { + _device = device; + _commandBufferPool = commandBufferPool; + + InternalHandle = _commandBufferPool.AllocateCommandBuffer(); + + var fenceCreateInfo = new FenceCreateInfo() + { + SType = StructureType.FenceCreateInfo, + Flags = FenceCreateFlags.FenceCreateSignaledBit + }; + + device.Api.CreateFence(device.InternalHandle, fenceCreateInfo, null, out _fence); + } + + public unsafe void Dispose() + { + _device.Api.WaitForFences(_device.InternalHandle, 1, _fence, true, ulong.MaxValue); + _device.Api.FreeCommandBuffers(_device.InternalHandle, _commandBufferPool._commandPool, 1, InternalHandle); + _device.Api.DestroyFence(_device.InternalHandle, _fence, null); + } + + public void BeginRecording() + { + if (!_hasStarted) + { + _hasStarted = true; + + var beginInfo = new CommandBufferBeginInfo + { + SType = StructureType.CommandBufferBeginInfo, + Flags = CommandBufferUsageFlags.CommandBufferUsageOneTimeSubmitBit + }; + + _device.Api.BeginCommandBuffer(InternalHandle, beginInfo); + } + } + + public void EndRecording() + { + if (_hasStarted && !_hasEnded) + { + _hasEnded = true; + + _device.Api.EndCommandBuffer(InternalHandle); + } + } + + public void Submit() + { + Submit(null, null, null, _fence); + } + + public unsafe void Submit( + ReadOnlySpan waitSemaphores, + ReadOnlySpan waitDstStageMask, + ReadOnlySpan signalSemaphores, + Fence? fence = null) + { + EndRecording(); + + if (!fence.HasValue) + fence = _fence; + + fixed (Semaphore* pWaitSemaphores = waitSemaphores, pSignalSemaphores = signalSemaphores) + { + fixed (PipelineStageFlags* pWaitDstStageMask = waitDstStageMask) + { + var commandBuffer = InternalHandle; + var submitInfo = new SubmitInfo + { + SType = StructureType.SubmitInfo, + WaitSemaphoreCount = waitSemaphores != null ? (uint)waitSemaphores.Length : 0, + PWaitSemaphores = pWaitSemaphores, + PWaitDstStageMask = pWaitDstStageMask, + CommandBufferCount = 1, + PCommandBuffers = &commandBuffer, + SignalSemaphoreCount = signalSemaphores != null ? (uint)signalSemaphores.Length : 0, + PSignalSemaphores = pSignalSemaphores, + }; + + _device.Api.ResetFences(_device.InternalHandle, 1, fence.Value); + + _device.Submit(submitInfo, fence.Value); + } + } + + _commandBufferPool.DisposeCommandBuffer(this); + } + } + } +} diff --git a/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanDevice.cs b/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanDevice.cs new file mode 100644 index 000000000..7eb42cdf0 --- /dev/null +++ b/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanDevice.cs @@ -0,0 +1,67 @@ +using System; +using Silk.NET.Vulkan; + +namespace Ryujinx.Ava.Ui.Vulkan +{ + internal class VulkanDevice : IDisposable + { + private static object _lock = new object(); + + public VulkanDevice(Device apiHandle, VulkanPhysicalDevice physicalDevice, Vk api) + { + InternalHandle = apiHandle; + Api = api; + + api.GetDeviceQueue(apiHandle, physicalDevice.QueueFamilyIndex, 0, out var queue); + + var vulkanQueue = new VulkanQueue(this, queue); + Queue = vulkanQueue; + + PresentQueue = vulkanQueue; + + CommandBufferPool = new VulkanCommandBufferPool(this, physicalDevice); + } + + public IntPtr Handle => InternalHandle.Handle; + + internal Device InternalHandle { get; } + public Vk Api { get; } + + public VulkanQueue Queue { get; private set; } + public VulkanQueue PresentQueue { get; } + public VulkanCommandBufferPool CommandBufferPool { get; } + + public void Dispose() + { + WaitIdle(); + CommandBufferPool?.Dispose(); + Queue = null; + } + + internal void Submit(SubmitInfo submitInfo, Fence fence = new()) + { + lock (_lock) + { + Api.QueueSubmit(Queue.InternalHandle, 1, submitInfo, fence); + } + } + + public void WaitIdle() + { + lock (_lock) + { + Api.DeviceWaitIdle(InternalHandle); + } + } + + public void QueueWaitIdle() + { + lock (_lock) + { + Api.QueueWaitIdle(Queue.InternalHandle); + } + } + + public object Lock => _lock; + } +} diff --git a/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanDisplay.cs b/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanDisplay.cs new file mode 100644 index 000000000..2fbe7da8d --- /dev/null +++ b/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanDisplay.cs @@ -0,0 +1,406 @@ +using System; +using System.Linq; +using System.Threading; +using Avalonia; +using Ryujinx.Ava.Ui.Vulkan.Surfaces; +using Silk.NET.Vulkan; +using Silk.NET.Vulkan.Extensions.KHR; + +namespace Ryujinx.Ava.Ui.Vulkan +{ + internal class VulkanDisplay : IDisposable + { + private static KhrSwapchain _swapchainExtension; + private readonly VulkanInstance _instance; + private readonly VulkanPhysicalDevice _physicalDevice; + private readonly VulkanSemaphorePair _semaphorePair; + private uint _nextImage; + private readonly VulkanSurface _surface; + private SurfaceFormatKHR _surfaceFormat; + private SwapchainKHR _swapchain; + private Extent2D _swapchainExtent; + private Image[] _swapchainImages; + private VulkanDevice _device { get; } + private ImageView[] _swapchainImageViews = new ImageView[0]; + + public VulkanCommandBufferPool CommandBufferPool { get; set; } + + public object Lock => _device.Lock; + + private VulkanDisplay(VulkanInstance instance, VulkanDevice device, + VulkanPhysicalDevice physicalDevice, VulkanSurface surface, SwapchainKHR swapchain, + Extent2D swapchainExtent) + { + _instance = instance; + _device = device; + _physicalDevice = physicalDevice; + _swapchain = swapchain; + _swapchainExtent = swapchainExtent; + _surface = surface; + + CreateSwapchainImages(); + + _semaphorePair = new VulkanSemaphorePair(_device); + + CommandBufferPool = new VulkanCommandBufferPool(device, physicalDevice); + } + + public PixelSize Size { get; private set; } + public uint QueueFamilyIndex => _physicalDevice.QueueFamilyIndex; + + internal SurfaceFormatKHR SurfaceFormat + { + get + { + if (_surfaceFormat.Format == Format.Undefined) + _surfaceFormat = _surface.GetSurfaceFormat(_physicalDevice); + + return _surfaceFormat; + } + } + + public unsafe void Dispose() + { + _device.WaitIdle(); + _semaphorePair?.Dispose(); + DestroyCurrentImageViews(); + _swapchainExtension.DestroySwapchain(_device.InternalHandle, _swapchain, null); + CommandBufferPool.Dispose(); + } + + private static unsafe SwapchainKHR CreateSwapchain(VulkanInstance instance, VulkanDevice device, + VulkanPhysicalDevice physicalDevice, VulkanSurface surface, out Extent2D swapchainExtent, + VulkanDisplay oldDisplay = null) + { + if (_swapchainExtension == null) + { + instance.Api.TryGetDeviceExtension(instance.InternalHandle, device.InternalHandle, out KhrSwapchain extension); + + _swapchainExtension = extension; + } + + while (!surface.CanSurfacePresent(physicalDevice)) + { + Thread.Sleep(16); + } + + VulkanSurface.SurfaceExtension.GetPhysicalDeviceSurfaceCapabilities(physicalDevice.InternalHandle, + surface.ApiHandle, out var capabilities); + + uint presentModesCount; + + VulkanSurface.SurfaceExtension.GetPhysicalDeviceSurfacePresentModes(physicalDevice.InternalHandle, + surface.ApiHandle, + &presentModesCount, null); + + var presentModes = new PresentModeKHR[presentModesCount]; + + fixed (PresentModeKHR* pPresentModes = presentModes) + { + VulkanSurface.SurfaceExtension.GetPhysicalDeviceSurfacePresentModes(physicalDevice.InternalHandle, + surface.ApiHandle, &presentModesCount, pPresentModes); + } + + var imageCount = capabilities.MinImageCount + 1; + if (capabilities.MaxImageCount > 0 && imageCount > capabilities.MaxImageCount) + imageCount = capabilities.MaxImageCount; + + var surfaceFormat = surface.GetSurfaceFormat(physicalDevice); + + bool supportsIdentityTransform = capabilities.SupportedTransforms.HasFlag(SurfaceTransformFlagsKHR.SurfaceTransformIdentityBitKhr); + bool isRotated = capabilities.CurrentTransform.HasFlag(SurfaceTransformFlagsKHR.SurfaceTransformRotate90BitKhr) || + capabilities.CurrentTransform.HasFlag(SurfaceTransformFlagsKHR.SurfaceTransformRotate270BitKhr); + + if (capabilities.CurrentExtent.Width != uint.MaxValue) + { + swapchainExtent = capabilities.CurrentExtent; + } + else + { + var surfaceSize = surface.SurfaceSize; + + var width = Math.Max(capabilities.MinImageExtent.Width, + Math.Min(capabilities.MaxImageExtent.Width, (uint)surfaceSize.Width)); + var height = Math.Max(capabilities.MinImageExtent.Height, + Math.Min(capabilities.MaxImageExtent.Height, (uint)surfaceSize.Height)); + + swapchainExtent = new Extent2D(width, height); + } + + PresentModeKHR presentMode; + var modes = presentModes.ToList(); + + if (modes.Contains(PresentModeKHR.PresentModeImmediateKhr)) + presentMode = PresentModeKHR.PresentModeImmediateKhr; + else if (modes.Contains(PresentModeKHR.PresentModeMailboxKhr)) + presentMode = PresentModeKHR.PresentModeMailboxKhr; + else + presentMode = PresentModeKHR.PresentModeFifoKhr; + + var compositeAlphaFlags = CompositeAlphaFlagsKHR.CompositeAlphaOpaqueBitKhr; + + if (capabilities.SupportedCompositeAlpha.HasFlag(CompositeAlphaFlagsKHR.CompositeAlphaPostMultipliedBitKhr)) + { + compositeAlphaFlags = CompositeAlphaFlagsKHR.CompositeAlphaPostMultipliedBitKhr; + } + else if (capabilities.SupportedCompositeAlpha.HasFlag(CompositeAlphaFlagsKHR.CompositeAlphaPreMultipliedBitKhr)) + { + compositeAlphaFlags = CompositeAlphaFlagsKHR.CompositeAlphaPreMultipliedBitKhr; + } + + var swapchainCreateInfo = new SwapchainCreateInfoKHR + { + SType = StructureType.SwapchainCreateInfoKhr, + Surface = surface.ApiHandle, + MinImageCount = imageCount, + ImageFormat = surfaceFormat.Format, + ImageColorSpace = surfaceFormat.ColorSpace, + ImageExtent = swapchainExtent, + ImageUsage = + ImageUsageFlags.ImageUsageColorAttachmentBit | ImageUsageFlags.ImageUsageTransferDstBit, + ImageSharingMode = SharingMode.Exclusive, + ImageArrayLayers = 1, + PreTransform = supportsIdentityTransform && isRotated ? SurfaceTransformFlagsKHR.SurfaceTransformIdentityBitKhr : capabilities.CurrentTransform, + CompositeAlpha = compositeAlphaFlags, + PresentMode = presentMode, + Clipped = true, + OldSwapchain = oldDisplay?._swapchain ?? new SwapchainKHR() + }; + + _swapchainExtension.CreateSwapchain(device.InternalHandle, swapchainCreateInfo, null, out var swapchain) + .ThrowOnError(); + + if (oldDisplay != null) + { + _swapchainExtension.DestroySwapchain(device.InternalHandle, oldDisplay._swapchain, null); + } + + return swapchain; + } + + + internal static VulkanDisplay CreateDisplay(VulkanInstance instance, VulkanDevice device, + VulkanPhysicalDevice physicalDevice, VulkanSurface surface) + { + var swapchain = CreateSwapchain(instance, device, physicalDevice, surface, out var extent); + + return new VulkanDisplay(instance, device, physicalDevice, surface, swapchain, extent); + } + + private unsafe void CreateSwapchainImages() + { + DestroyCurrentImageViews(); + + Size = new PixelSize((int)_swapchainExtent.Width, (int)_swapchainExtent.Height); + + uint imageCount = 0; + + _swapchainExtension.GetSwapchainImages(_device.InternalHandle, _swapchain, &imageCount, null); + + _swapchainImages = new Image[imageCount]; + + fixed (Image* pSwapchainImages = _swapchainImages) + { + _swapchainExtension.GetSwapchainImages(_device.InternalHandle, _swapchain, &imageCount, pSwapchainImages); + } + + _swapchainImageViews = new ImageView[imageCount]; + + var surfaceFormat = SurfaceFormat; + + for (var i = 0; i < imageCount; i++) + { + _swapchainImageViews[i] = CreateSwapchainImageView(_swapchainImages[i], surfaceFormat.Format); + } + } + + private unsafe void DestroyCurrentImageViews() + { + if (_swapchainImageViews.Length > 0) + { + for (var i = 0; i < _swapchainImageViews.Length; i++) + { + _instance.Api.DestroyImageView(_device.InternalHandle, _swapchainImageViews[i], null); + } + } + } + + private void Recreate() + { + _device.WaitIdle(); + _swapchain = CreateSwapchain(_instance, _device, _physicalDevice, _surface, out var extent, this); + + _swapchainExtent = extent; + + CreateSwapchainImages(); + } + + private unsafe ImageView CreateSwapchainImageView(Image swapchainImage, Format format) + { + var componentMapping = new ComponentMapping( + ComponentSwizzle.Identity, + ComponentSwizzle.Identity, + ComponentSwizzle.Identity, + ComponentSwizzle.Identity); + + var aspectFlags = ImageAspectFlags.ImageAspectColorBit; + + var subresourceRange = new ImageSubresourceRange(aspectFlags, 0, 1, 0, 1); + + var imageCreateInfo = new ImageViewCreateInfo + { + SType = StructureType.ImageViewCreateInfo, + Image = swapchainImage, + ViewType = ImageViewType.ImageViewType2D, + Format = format, + Components = componentMapping, + SubresourceRange = subresourceRange + }; + + _instance.Api.CreateImageView(_device.InternalHandle, imageCreateInfo, null, out var imageView).ThrowOnError(); + return imageView; + } + + public bool EnsureSwapchainAvailable() + { + if (Size != _surface.SurfaceSize) + { + Recreate(); + + return false; + } + + return true; + } + + internal VulkanCommandBufferPool.VulkanCommandBuffer StartPresentation(VulkanSurfaceRenderTarget renderTarget) + { + _nextImage = 0; + while (true) + { + var acquireResult = _swapchainExtension.AcquireNextImage( + _device.InternalHandle, + _swapchain, + ulong.MaxValue, + _semaphorePair.ImageAvailableSemaphore, + new Fence(), + ref _nextImage); + + if (acquireResult == Result.ErrorOutOfDateKhr || + acquireResult == Result.SuboptimalKhr) + { + Recreate(); + } + else + { + acquireResult.ThrowOnError(); + break; + } + } + + var commandBuffer = CommandBufferPool.CreateCommandBuffer(); + commandBuffer.BeginRecording(); + + VulkanMemoryHelper.TransitionLayout(_device, commandBuffer.InternalHandle, + _swapchainImages[_nextImage], ImageLayout.Undefined, + AccessFlags.AccessNoneKhr, + ImageLayout.TransferDstOptimal, + AccessFlags.AccessTransferWriteBit, + 1); + + return commandBuffer; + } + + internal void BlitImageToCurrentImage(VulkanSurfaceRenderTarget renderTarget, CommandBuffer commandBuffer) + { + VulkanMemoryHelper.TransitionLayout(_device, commandBuffer, + renderTarget.Image.InternalHandle.Value, (ImageLayout)renderTarget.Image.CurrentLayout, + AccessFlags.AccessNoneKhr, + ImageLayout.TransferSrcOptimal, + AccessFlags.AccessTransferReadBit, + renderTarget.MipLevels); + + var srcBlitRegion = new ImageBlit + { + SrcOffsets = new ImageBlit.SrcOffsetsBuffer + { + Element0 = new Offset3D(0, 0, 0), + Element1 = new Offset3D(renderTarget.Size.Width, renderTarget.Size.Height, 1), + }, + DstOffsets = new ImageBlit.DstOffsetsBuffer + { + Element0 = new Offset3D(0, 0, 0), + Element1 = new Offset3D(Size.Width, Size.Height, 1), + }, + SrcSubresource = new ImageSubresourceLayers + { + AspectMask = ImageAspectFlags.ImageAspectColorBit, + BaseArrayLayer = 0, + LayerCount = 1, + MipLevel = 0 + }, + DstSubresource = new ImageSubresourceLayers + { + AspectMask = ImageAspectFlags.ImageAspectColorBit, + BaseArrayLayer = 0, + LayerCount = 1, + MipLevel = 0 + } + }; + + _device.Api.CmdBlitImage(commandBuffer, renderTarget.Image.InternalHandle.Value, + ImageLayout.TransferSrcOptimal, + _swapchainImages[_nextImage], + ImageLayout.TransferDstOptimal, + 1, + srcBlitRegion, + Filter.Linear); + + VulkanMemoryHelper.TransitionLayout(_device, commandBuffer, + renderTarget.Image.InternalHandle.Value, ImageLayout.TransferSrcOptimal, + AccessFlags.AccessTransferReadBit, + (ImageLayout)renderTarget.Image.CurrentLayout, + AccessFlags.AccessNoneKhr, + renderTarget.MipLevels); + } + + internal unsafe void EndPresentation(VulkanCommandBufferPool.VulkanCommandBuffer commandBuffer) + { + VulkanMemoryHelper.TransitionLayout(_device, commandBuffer.InternalHandle, + _swapchainImages[_nextImage], ImageLayout.TransferDstOptimal, + AccessFlags.AccessNoneKhr, + ImageLayout.PresentSrcKhr, + AccessFlags.AccessNoneKhr, + 1); + + commandBuffer.Submit( + new[] { _semaphorePair.ImageAvailableSemaphore }, + new[] { PipelineStageFlags.PipelineStageColorAttachmentOutputBit }, + new[] { _semaphorePair.RenderFinishedSemaphore }); + + var semaphore = _semaphorePair.RenderFinishedSemaphore; + var swapchain = _swapchain; + var nextImage = _nextImage; + + Result result; + + var presentInfo = new PresentInfoKHR + { + SType = StructureType.PresentInfoKhr, + WaitSemaphoreCount = 1, + PWaitSemaphores = &semaphore, + SwapchainCount = 1, + PSwapchains = &swapchain, + PImageIndices = &nextImage, + PResults = &result + }; + + lock (_device.Lock) + { + _swapchainExtension.QueuePresent(_device.PresentQueue.InternalHandle, presentInfo); + } + + CommandBufferPool.FreeUsedCommandBuffers(); + } + } +} diff --git a/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanImage.cs b/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanImage.cs new file mode 100644 index 000000000..343ba7605 --- /dev/null +++ b/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanImage.cs @@ -0,0 +1,167 @@ +using System; +using Avalonia; +using Silk.NET.Vulkan; + +namespace Ryujinx.Ava.Ui.Vulkan +{ + internal class VulkanImage : IDisposable + { + private readonly VulkanDevice _device; + private readonly VulkanPhysicalDevice _physicalDevice; + private readonly VulkanCommandBufferPool _commandBufferPool; + private ImageLayout _currentLayout; + private AccessFlags _currentAccessFlags; + private ImageUsageFlags _imageUsageFlags { get; } + private ImageView? _imageView { get; set; } + private DeviceMemory _imageMemory { get; set; } + + internal Image? InternalHandle { get; private set; } + internal Format Format { get; } + internal ImageAspectFlags AspectFlags { get; private set; } + + public ulong Handle => InternalHandle?.Handle ?? 0; + public ulong ViewHandle => _imageView?.Handle ?? 0; + public uint UsageFlags => (uint)_imageUsageFlags; + public ulong MemoryHandle => _imageMemory.Handle; + public uint MipLevels { get; private set; } + public PixelSize Size { get; } + public ulong MemorySize { get; private set; } + public uint CurrentLayout => (uint)_currentLayout; + + public VulkanImage( + VulkanDevice device, + VulkanPhysicalDevice physicalDevice, + VulkanCommandBufferPool commandBufferPool, + uint format, + PixelSize size, + uint mipLevels = 0) + { + _device = device; + _physicalDevice = physicalDevice; + _commandBufferPool = commandBufferPool; + Format = (Format)format; + Size = size; + MipLevels = mipLevels; + _imageUsageFlags = + ImageUsageFlags.ImageUsageColorAttachmentBit | ImageUsageFlags.ImageUsageTransferDstBit | + ImageUsageFlags.ImageUsageTransferSrcBit | ImageUsageFlags.ImageUsageSampledBit; + + Initialize(); + } + + public unsafe void Initialize() + { + if (!InternalHandle.HasValue) + { + MipLevels = MipLevels != 0 ? MipLevels : (uint)Math.Floor(Math.Log(Math.Max(Size.Width, Size.Height), 2)); + + var imageCreateInfo = new ImageCreateInfo + { + SType = StructureType.ImageCreateInfo, + ImageType = ImageType.ImageType2D, + Format = Format, + Extent = new Extent3D((uint?)Size.Width, (uint?)Size.Height, 1), + MipLevels = MipLevels, + ArrayLayers = 1, + Samples = SampleCountFlags.SampleCount1Bit, + Tiling = Tiling, + Usage = _imageUsageFlags, + SharingMode = SharingMode.Exclusive, + InitialLayout = ImageLayout.Undefined, + Flags = ImageCreateFlags.ImageCreateMutableFormatBit + }; + + _device.Api.CreateImage(_device.InternalHandle, imageCreateInfo, null, out var image).ThrowOnError(); + InternalHandle = image; + + _device.Api.GetImageMemoryRequirements(_device.InternalHandle, InternalHandle.Value, + out var memoryRequirements); + + var memoryAllocateInfo = new MemoryAllocateInfo + { + SType = StructureType.MemoryAllocateInfo, + AllocationSize = memoryRequirements.Size, + MemoryTypeIndex = (uint)VulkanMemoryHelper.FindSuitableMemoryTypeIndex( + _physicalDevice, + memoryRequirements.MemoryTypeBits, MemoryPropertyFlags.MemoryPropertyDeviceLocalBit) + }; + + _device.Api.AllocateMemory(_device.InternalHandle, memoryAllocateInfo, null, + out var imageMemory); + + _imageMemory = imageMemory; + + _device.Api.BindImageMemory(_device.InternalHandle, InternalHandle.Value, _imageMemory, 0); + + MemorySize = memoryRequirements.Size; + + var componentMapping = new ComponentMapping( + ComponentSwizzle.Identity, + ComponentSwizzle.Identity, + ComponentSwizzle.Identity, + ComponentSwizzle.Identity); + + AspectFlags = ImageAspectFlags.ImageAspectColorBit; + + var subresourceRange = new ImageSubresourceRange(AspectFlags, 0, MipLevels, 0, 1); + + var imageViewCreateInfo = new ImageViewCreateInfo + { + SType = StructureType.ImageViewCreateInfo, + Image = InternalHandle.Value, + ViewType = ImageViewType.ImageViewType2D, + Format = Format, + Components = componentMapping, + SubresourceRange = subresourceRange + }; + + _device.Api + .CreateImageView(_device.InternalHandle, imageViewCreateInfo, null, out var imageView) + .ThrowOnError(); + + _imageView = imageView; + + _currentLayout = ImageLayout.Undefined; + + TransitionLayout(ImageLayout.ColorAttachmentOptimal, AccessFlags.AccessNoneKhr); + } + } + + public ImageTiling Tiling => ImageTiling.Optimal; + + internal void TransitionLayout(ImageLayout destinationLayout, AccessFlags destinationAccessFlags) + { + var commandBuffer = _commandBufferPool.CreateCommandBuffer(); + commandBuffer.BeginRecording(); + + VulkanMemoryHelper.TransitionLayout(_device, commandBuffer.InternalHandle, InternalHandle.Value, + _currentLayout, + _currentAccessFlags, + destinationLayout, destinationAccessFlags, + MipLevels); + + commandBuffer.EndRecording(); + + commandBuffer.Submit(); + + _currentLayout = destinationLayout; + _currentAccessFlags = destinationAccessFlags; + } + + public void TransitionLayout(uint destinationLayout, uint destinationAccessFlags) + { + TransitionLayout((ImageLayout)destinationLayout, (AccessFlags)destinationAccessFlags); + } + + public unsafe void Dispose() + { + _device.Api.DestroyImageView(_device.InternalHandle, _imageView.Value, null); + _device.Api.DestroyImage(_device.InternalHandle, InternalHandle.Value, null); + _device.Api.FreeMemory(_device.InternalHandle, _imageMemory, null); + + _imageView = default; + InternalHandle = default; + _imageMemory = default; + } + } +} diff --git a/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanInstance.cs b/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanInstance.cs new file mode 100644 index 000000000..910b0dd06 --- /dev/null +++ b/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanInstance.cs @@ -0,0 +1,138 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.InteropServices; +using Silk.NET.Core; +using Silk.NET.Vulkan; +using Silk.NET.Vulkan.Extensions.EXT; + +namespace Ryujinx.Ava.Ui.Vulkan +{ + public class VulkanInstance : IDisposable + { + private const string EngineName = "Avalonia Vulkan"; + + private VulkanInstance(Instance apiHandle, Vk api) + { + InternalHandle = apiHandle; + Api = api; + } + + public IntPtr Handle => InternalHandle.Handle; + + internal Instance InternalHandle { get; } + public Vk Api { get; } + + internal static IList RequiredInstanceExtensions + { + get + { + var extensions = new List { "VK_KHR_surface" }; + + if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) + { + extensions.Add("VK_KHR_xlib_surface"); + } + else if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) + { + extensions.Add("VK_KHR_win32_surface"); + } + + return extensions; + } + } + + public unsafe void Dispose() + { + Api?.DestroyInstance(InternalHandle, null); + Api?.Dispose(); + } + + internal static unsafe VulkanInstance Create(VulkanOptions options) + { + var api = Vk.GetApi(); + var applicationName = Marshal.StringToHGlobalAnsi(options.ApplicationName); + var engineName = Marshal.StringToHGlobalAnsi(EngineName); + var enabledExtensions = new List(options.InstanceExtensions); + + enabledExtensions.AddRange(RequiredInstanceExtensions); + + var applicationInfo = new ApplicationInfo + { + PApplicationName = (byte*)applicationName, + ApiVersion = new Version32((uint)options.VulkanVersion.Major, (uint)options.VulkanVersion.Minor, + (uint)options.VulkanVersion.Build), + PEngineName = (byte*)engineName, + EngineVersion = new Version32(1, 0, 0), + ApplicationVersion = new Version32(1, 0, 0) + }; + + var enabledLayers = new HashSet(); + + if (options.UseDebug) + { + enabledExtensions.Add(ExtDebugUtils.ExtensionName); + if (IsLayerAvailable(api, "VK_LAYER_KHRONOS_validation")) + enabledLayers.Add("VK_LAYER_KHRONOS_validation"); + } + + foreach (var layer in options.EnabledLayers) + enabledLayers.Add(layer); + + var ppEnabledExtensions = stackalloc IntPtr[enabledExtensions.Count]; + var ppEnabledLayers = stackalloc IntPtr[enabledLayers.Count]; + + for (var i = 0; i < enabledExtensions.Count; i++) + ppEnabledExtensions[i] = Marshal.StringToHGlobalAnsi(enabledExtensions[i]); + + var layers = enabledLayers.ToList(); + + for (var i = 0; i < enabledLayers.Count; i++) + ppEnabledLayers[i] = Marshal.StringToHGlobalAnsi(layers[i]); + + var instanceCreateInfo = new InstanceCreateInfo + { + SType = StructureType.InstanceCreateInfo, + PApplicationInfo = &applicationInfo, + PpEnabledExtensionNames = (byte**)ppEnabledExtensions, + PpEnabledLayerNames = (byte**)ppEnabledLayers, + EnabledExtensionCount = (uint)enabledExtensions.Count, + EnabledLayerCount = (uint)enabledLayers.Count + }; + + api.CreateInstance(in instanceCreateInfo, null, out var instance).ThrowOnError(); + + Marshal.FreeHGlobal(applicationName); + Marshal.FreeHGlobal(engineName); + + for (var i = 0; i < enabledExtensions.Count; i++) Marshal.FreeHGlobal(ppEnabledExtensions[i]); + + for (var i = 0; i < enabledLayers.Count; i++) Marshal.FreeHGlobal(ppEnabledLayers[i]); + + return new VulkanInstance(instance, api); + } + + private static unsafe bool IsLayerAvailable(Vk api, string layerName) + { + uint layerPropertiesCount; + + api.EnumerateInstanceLayerProperties(&layerPropertiesCount, null).ThrowOnError(); + + var layerProperties = new LayerProperties[layerPropertiesCount]; + + fixed (LayerProperties* pLayerProperties = layerProperties) + { + api.EnumerateInstanceLayerProperties(&layerPropertiesCount, layerProperties).ThrowOnError(); + + for (var i = 0; i < layerPropertiesCount; i++) + { + var currentLayerName = Marshal.PtrToStringAnsi((IntPtr)pLayerProperties[i].LayerName); + + if (currentLayerName == layerName) return true; + } + } + + return false; + } + } +} diff --git a/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanMemoryHelper.cs b/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanMemoryHelper.cs new file mode 100644 index 000000000..a70525920 --- /dev/null +++ b/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanMemoryHelper.cs @@ -0,0 +1,59 @@ +using Silk.NET.Vulkan; + +namespace Ryujinx.Ava.Ui.Vulkan +{ + internal static class VulkanMemoryHelper + { + internal static int FindSuitableMemoryTypeIndex(VulkanPhysicalDevice physicalDevice, uint memoryTypeBits, + MemoryPropertyFlags flags) + { + physicalDevice.Api.GetPhysicalDeviceMemoryProperties(physicalDevice.InternalHandle, out var properties); + + for (var i = 0; i < properties.MemoryTypeCount; i++) + { + var type = properties.MemoryTypes[i]; + + if ((memoryTypeBits & (1 << i)) != 0 && type.PropertyFlags.HasFlag(flags)) return i; + } + + return -1; + } + + internal static unsafe void TransitionLayout(VulkanDevice device, + CommandBuffer commandBuffer, + Image image, + ImageLayout sourceLayout, + AccessFlags sourceAccessMask, + ImageLayout destinationLayout, + AccessFlags destinationAccessMask, + uint mipLevels) + { + var subresourceRange = new ImageSubresourceRange(ImageAspectFlags.ImageAspectColorBit, 0, mipLevels, 0, 1); + + var barrier = new ImageMemoryBarrier + { + SType = StructureType.ImageMemoryBarrier, + SrcAccessMask = sourceAccessMask, + DstAccessMask = destinationAccessMask, + OldLayout = sourceLayout, + NewLayout = destinationLayout, + SrcQueueFamilyIndex = Vk.QueueFamilyIgnored, + DstQueueFamilyIndex = Vk.QueueFamilyIgnored, + Image = image, + SubresourceRange = subresourceRange + }; + + device.Api.CmdPipelineBarrier( + commandBuffer, + PipelineStageFlags.PipelineStageAllCommandsBit, + PipelineStageFlags.PipelineStageAllCommandsBit, + 0, + 0, + null, + 0, + null, + 1, + barrier); + } + } +} diff --git a/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanOptions.cs b/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanOptions.cs new file mode 100644 index 000000000..66087c1d0 --- /dev/null +++ b/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanOptions.cs @@ -0,0 +1,48 @@ +using System; +using System.Collections.Generic; + +namespace Ryujinx.Ava.Ui.Vulkan +{ + public class VulkanOptions + { + /// + /// Sets the application name of the Vulkan instance + /// + public string ApplicationName { get; set; } + + /// + /// Specifies the Vulkan API version to use + /// + public Version VulkanVersion{ get; set; } = new Version(1, 1, 0); + + /// + /// Specifies additional extensions to enable if available on the instance + /// + public IList InstanceExtensions { get; set; } = new List(); + + /// + /// Specifies layers to enable if available on the instance + /// + public IList EnabledLayers { get; set; } = new List(); + + /// + /// Enables the debug layer + /// + public bool UseDebug { get; set; } + + /// + /// Selects the first suitable discrete GPU available + /// + public bool PreferDiscreteGpu { get; set; } + + /// + /// Sets the device to use if available and suitable. + /// + public uint? PreferredDevice { get; set; } + + /// + /// Max number of device queues to request + /// + public uint MaxQueueCount { get; set; } + } +} diff --git a/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanPhysicalDevice.cs b/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanPhysicalDevice.cs new file mode 100644 index 000000000..4f5cb50c9 --- /dev/null +++ b/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanPhysicalDevice.cs @@ -0,0 +1,203 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.InteropServices; +using Ryujinx.Graphics.Vulkan; +using Silk.NET.Core; +using Silk.NET.Vulkan; +using Silk.NET.Vulkan.Extensions.KHR; + +namespace Ryujinx.Ava.Ui.Vulkan +{ + public unsafe class VulkanPhysicalDevice + { + private VulkanPhysicalDevice(PhysicalDevice apiHandle, Vk api, uint queueCount, uint queueFamilyIndex) + { + InternalHandle = apiHandle; + Api = api; + QueueCount = queueCount; + QueueFamilyIndex = queueFamilyIndex; + + api.GetPhysicalDeviceProperties(apiHandle, out var properties); + + DeviceName = Marshal.PtrToStringAnsi((IntPtr)properties.DeviceName); + + var version = (Version32)properties.ApiVersion; + ApiVersion = new Version((int)version.Major, (int)version.Minor, 0, (int)version.Patch); + } + + internal PhysicalDevice InternalHandle { get; } + internal Vk Api { get; } + public uint QueueCount { get; } + public uint QueueFamilyIndex { get; } + public IntPtr Handle => InternalHandle.Handle; + + public string DeviceName { get; } + public Version ApiVersion { get; } + + internal static unsafe VulkanPhysicalDevice FindSuitablePhysicalDevice(VulkanInstance instance, + VulkanSurface surface, bool preferDiscreteGpu, uint? preferredDevice) + { + uint physicalDeviceCount; + + instance.Api.EnumeratePhysicalDevices(instance.InternalHandle, &physicalDeviceCount, null).ThrowOnError(); + + var physicalDevices = new PhysicalDevice[physicalDeviceCount]; + + fixed (PhysicalDevice* pPhysicalDevices = physicalDevices) + { + instance.Api.EnumeratePhysicalDevices(instance.InternalHandle, &physicalDeviceCount, pPhysicalDevices) + .ThrowOnError(); + } + + var physicalDeviceProperties = new Dictionary(); + + foreach (var physicalDevice in physicalDevices) + { + instance.Api.GetPhysicalDeviceProperties(physicalDevice, out var properties); + physicalDeviceProperties.Add(physicalDevice, properties); + } + + if (preferredDevice.HasValue && preferredDevice != 0) + { + var physicalDevice = physicalDeviceProperties.FirstOrDefault(x => x.Value.DeviceID == preferredDevice); + if (physicalDevice.Key.Handle != 0 && IsSuitableDevice(instance.Api, physicalDevice.Key, + physicalDevice.Value, surface.ApiHandle, out var queueCount, + out var queueFamilyIndex)) + return new VulkanPhysicalDevice(physicalDevice.Key, instance.Api, queueCount, queueFamilyIndex); + } + + if (preferDiscreteGpu) + { + var discreteGpus = physicalDeviceProperties.Where(p => p.Value.DeviceType == PhysicalDeviceType.DiscreteGpu); + + foreach (var gpu in discreteGpus) + { + if (IsSuitableDevice( + instance.Api, + gpu.Key, + gpu.Value, + surface.ApiHandle, + out var queueCount, + out var queueFamilyIndex)) + { + return new VulkanPhysicalDevice(gpu.Key, instance.Api, queueCount, queueFamilyIndex); + } + + physicalDeviceProperties.Remove(gpu.Key); + } + } + + foreach (var physicalDevice in physicalDeviceProperties) + if (IsSuitableDevice( + instance.Api, + physicalDevice.Key, + physicalDevice.Value, + surface.ApiHandle, + out var queueCount, + out var queueFamilyIndex)) + { + return new VulkanPhysicalDevice(physicalDevice.Key, instance.Api, queueCount, queueFamilyIndex); + } + + throw new Exception("No suitable physical device found"); + } + + private static unsafe bool IsSuitableDevice(Vk api, PhysicalDevice physicalDevice, PhysicalDeviceProperties properties, SurfaceKHR surface, + out uint queueCount, out uint familyIndex) + { + queueCount = 0; + familyIndex = 0; + + if (properties.DeviceType == PhysicalDeviceType.Cpu) return false; + + var extensionMatches = 0; + uint propertiesCount; + + api.EnumerateDeviceExtensionProperties(physicalDevice, (byte*)null, &propertiesCount, null).ThrowOnError(); + + var extensionProperties = new ExtensionProperties[propertiesCount]; + + fixed (ExtensionProperties* pExtensionProperties = extensionProperties) + { + api.EnumerateDeviceExtensionProperties( + physicalDevice, + (byte*)null, + &propertiesCount, + pExtensionProperties).ThrowOnError(); + + for (var i = 0; i < propertiesCount; i++) + { + var extensionName = Marshal.PtrToStringAnsi((IntPtr)pExtensionProperties[i].ExtensionName); + + if (VulkanInitialization.RequiredExtensions.Contains(extensionName)) + { + extensionMatches++; + } + } + } + + if (extensionMatches == VulkanInitialization.RequiredExtensions.Length) + { + familyIndex = FindSuitableQueueFamily(api, physicalDevice, surface, out queueCount); + + return familyIndex != uint.MaxValue; + } + + return false; + } + + internal unsafe string[] GetSupportedExtensions() + { + uint propertiesCount; + + Api.EnumerateDeviceExtensionProperties(InternalHandle, (byte*)null, &propertiesCount, null).ThrowOnError(); + + var extensionProperties = new ExtensionProperties[propertiesCount]; + + fixed (ExtensionProperties* pExtensionProperties = extensionProperties) + { + Api.EnumerateDeviceExtensionProperties(InternalHandle, (byte*)null, &propertiesCount, pExtensionProperties) + .ThrowOnError(); + } + + return extensionProperties.Select(x => Marshal.PtrToStringAnsi((IntPtr)x.ExtensionName)).ToArray(); + } + + private static unsafe uint FindSuitableQueueFamily(Vk api, PhysicalDevice physicalDevice, SurfaceKHR surface, + out uint queueCount) + { + const QueueFlags RequiredFlags = QueueFlags.QueueGraphicsBit | QueueFlags.QueueComputeBit; + + var khrSurface = new KhrSurface(api.Context); + + uint propertiesCount; + + api.GetPhysicalDeviceQueueFamilyProperties(physicalDevice, &propertiesCount, null); + + var properties = new QueueFamilyProperties[propertiesCount]; + + fixed (QueueFamilyProperties* pProperties = properties) + { + api.GetPhysicalDeviceQueueFamilyProperties(physicalDevice, &propertiesCount, pProperties); + } + + for (uint index = 0; index < propertiesCount; index++) + { + var queueFlags = properties[index].QueueFlags; + + khrSurface.GetPhysicalDeviceSurfaceSupport(physicalDevice, index, surface, out var surfaceSupported) + .ThrowOnError(); + + if (queueFlags.HasFlag(RequiredFlags) && surfaceSupported) + { + queueCount = properties[index].QueueCount; + return index; + } + } + + queueCount = 0; + return uint.MaxValue; + } + } +} diff --git a/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanPlatformInterface.cs b/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanPlatformInterface.cs new file mode 100644 index 000000000..77fedae0c --- /dev/null +++ b/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanPlatformInterface.cs @@ -0,0 +1,84 @@ +using System; +using Avalonia; +using Ryujinx.Ava.Ui.Vulkan.Surfaces; +using Silk.NET.Vulkan; +using Ryujinx.Graphics.Vulkan; + +namespace Ryujinx.Ava.Ui.Vulkan +{ + internal class VulkanPlatformInterface : IDisposable + { + private static VulkanOptions _options; + + private VulkanPlatformInterface(VulkanInstance instance) + { + Instance = instance; + Api = instance.Api; + } + + public VulkanPhysicalDevice PhysicalDevice { get; private set; } + public VulkanInstance Instance { get; } + public VulkanDevice Device { get; set; } + public Vk Api { get; private set; } + + public void Dispose() + { + Device?.Dispose(); + Instance?.Dispose(); + Api?.Dispose(); + } + + private static VulkanPlatformInterface TryCreate() + { + try + { + _options = AvaloniaLocator.Current.GetService() ?? new VulkanOptions(); + + var instance = VulkanInstance.Create(_options); + + return new VulkanPlatformInterface(instance); + } + catch (Exception ex) + { + return null; + } + } + + public static bool TryInitialize() + { + var feature = TryCreate(); + if (feature != null) + { + AvaloniaLocator.CurrentMutable.Bind().ToConstant(feature); + return true; + } + + return false; + } + + public VulkanSurfaceRenderTarget CreateRenderTarget(IVulkanPlatformSurface platformSurface) + { + var surface = VulkanSurface.CreateSurface(Instance, platformSurface); + try + { + if (Device == null) + { + PhysicalDevice = VulkanPhysicalDevice.FindSuitablePhysicalDevice(Instance, surface, _options.PreferDiscreteGpu, _options.PreferredDevice); + var device = VulkanInitialization.CreateDevice(Instance.Api, + PhysicalDevice.InternalHandle, + PhysicalDevice.QueueFamilyIndex, + VulkanInitialization.GetSupportedExtensions(Instance.Api, PhysicalDevice.InternalHandle), + PhysicalDevice.QueueCount); + + Device = new VulkanDevice(device, PhysicalDevice, Instance.Api); + } + } + catch (Exception) + { + surface.Dispose(); + } + + return new VulkanSurfaceRenderTarget(this, surface); + } + } +} diff --git a/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanQueue.cs b/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanQueue.cs new file mode 100644 index 000000000..a903e21a6 --- /dev/null +++ b/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanQueue.cs @@ -0,0 +1,18 @@ +using System; +using Silk.NET.Vulkan; + +namespace Ryujinx.Ava.Ui.Vulkan +{ + internal class VulkanQueue + { + public VulkanQueue(VulkanDevice device, Queue apiHandle) + { + Device = device; + InternalHandle = apiHandle; + } + + public VulkanDevice Device { get; } + public IntPtr Handle => InternalHandle.Handle; + internal Queue InternalHandle { get; } + } +} diff --git a/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanSemaphorePair.cs b/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanSemaphorePair.cs new file mode 100644 index 000000000..3b5fd9cc6 --- /dev/null +++ b/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanSemaphorePair.cs @@ -0,0 +1,32 @@ +using System; +using Silk.NET.Vulkan; + +namespace Ryujinx.Ava.Ui.Vulkan +{ + internal class VulkanSemaphorePair : IDisposable + { + private readonly VulkanDevice _device; + + public unsafe VulkanSemaphorePair(VulkanDevice device) + { + _device = device; + + var semaphoreCreateInfo = new SemaphoreCreateInfo { SType = StructureType.SemaphoreCreateInfo }; + + _device.Api.CreateSemaphore(_device.InternalHandle, semaphoreCreateInfo, null, out var semaphore).ThrowOnError(); + ImageAvailableSemaphore = semaphore; + + _device.Api.CreateSemaphore(_device.InternalHandle, semaphoreCreateInfo, null, out semaphore).ThrowOnError(); + RenderFinishedSemaphore = semaphore; + } + + internal Semaphore ImageAvailableSemaphore { get; } + internal Semaphore RenderFinishedSemaphore { get; } + + public unsafe void Dispose() + { + _device.Api.DestroySemaphore(_device.InternalHandle, ImageAvailableSemaphore, null); + _device.Api.DestroySemaphore(_device.InternalHandle, RenderFinishedSemaphore, null); + } + } +} diff --git a/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanSurface.cs b/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanSurface.cs new file mode 100644 index 000000000..50b76c5ac --- /dev/null +++ b/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanSurface.cs @@ -0,0 +1,77 @@ +using System; +using Avalonia; +using Ryujinx.Ava.Ui.Vulkan.Surfaces; +using Silk.NET.Vulkan; +using Silk.NET.Vulkan.Extensions.KHR; + +namespace Ryujinx.Ava.Ui.Vulkan +{ + public class VulkanSurface : IDisposable + { + private readonly VulkanInstance _instance; + private readonly IVulkanPlatformSurface _vulkanPlatformSurface; + + private VulkanSurface(IVulkanPlatformSurface vulkanPlatformSurface, VulkanInstance instance) + { + _vulkanPlatformSurface = vulkanPlatformSurface; + _instance = instance; + ApiHandle = vulkanPlatformSurface.CreateSurface(instance); + } + + internal SurfaceKHR ApiHandle { get; } + + internal static KhrSurface SurfaceExtension { get; private set; } + + internal PixelSize SurfaceSize => _vulkanPlatformSurface.SurfaceSize; + + public unsafe void Dispose() + { + SurfaceExtension.DestroySurface(_instance.InternalHandle, ApiHandle, null); + _vulkanPlatformSurface.Dispose(); + } + + internal static VulkanSurface CreateSurface(VulkanInstance instance, IVulkanPlatformSurface vulkanPlatformSurface) + { + if (SurfaceExtension == null) + { + instance.Api.TryGetInstanceExtension(instance.InternalHandle, out KhrSurface extension); + + SurfaceExtension = extension; + } + + return new VulkanSurface(vulkanPlatformSurface, instance); + } + + internal bool CanSurfacePresent(VulkanPhysicalDevice physicalDevice) + { + SurfaceExtension.GetPhysicalDeviceSurfaceSupport(physicalDevice.InternalHandle, physicalDevice.QueueFamilyIndex, ApiHandle, out var isSupported); + + return isSupported; + } + + internal unsafe SurfaceFormatKHR GetSurfaceFormat(VulkanPhysicalDevice physicalDevice) + { + uint surfaceFormatsCount; + + SurfaceExtension.GetPhysicalDeviceSurfaceFormats(physicalDevice.InternalHandle, ApiHandle, + &surfaceFormatsCount, null); + + var surfaceFormats = new SurfaceFormatKHR[surfaceFormatsCount]; + + fixed (SurfaceFormatKHR* pSurfaceFormats = surfaceFormats) + { + SurfaceExtension.GetPhysicalDeviceSurfaceFormats(physicalDevice.InternalHandle, ApiHandle, + &surfaceFormatsCount, pSurfaceFormats); + } + + if (surfaceFormats.Length == 1 && surfaceFormats[0].Format == Format.Undefined) + return new SurfaceFormatKHR(Format.B8G8R8A8Unorm, ColorSpaceKHR.ColorspaceSrgbNonlinearKhr); + foreach (var format in surfaceFormats) + if (format.Format == Format.B8G8R8A8Unorm && + format.ColorSpace == ColorSpaceKHR.ColorspaceSrgbNonlinearKhr) + return format; + + return surfaceFormats[0]; + } + } +} diff --git a/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanSurfaceRenderingSession.cs b/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanSurfaceRenderingSession.cs new file mode 100644 index 000000000..87267cd0b --- /dev/null +++ b/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanSurfaceRenderingSession.cs @@ -0,0 +1,48 @@ +using System; +using Avalonia; +using Ryujinx.Ava.Ui.Vulkan.Surfaces; +using Silk.NET.Vulkan; + +namespace Ryujinx.Ava.Ui.Vulkan +{ + internal class VulkanSurfaceRenderingSession : IDisposable + { + private readonly VulkanDevice _device; + private readonly VulkanSurfaceRenderTarget _renderTarget; + private VulkanCommandBufferPool.VulkanCommandBuffer _commandBuffer; + + public VulkanSurfaceRenderingSession(VulkanDisplay display, VulkanDevice device, + VulkanSurfaceRenderTarget renderTarget, float scaling) + { + Display = display; + _device = device; + _renderTarget = renderTarget; + Scaling = scaling; + Begin(); + } + + public VulkanDisplay Display { get; } + + public PixelSize Size => _renderTarget.Size; + public Vk Api => _device.Api; + + public float Scaling { get; } + + public bool IsYFlipped { get; } = true; + + public void Dispose() + { + _commandBuffer = Display.StartPresentation(_renderTarget); + + Display.BlitImageToCurrentImage(_renderTarget, _commandBuffer.InternalHandle); + + Display.EndPresentation(_commandBuffer); + } + + private void Begin() + { + if (!Display.EnsureSwapchainAvailable()) + _renderTarget.Invalidate(); + } + } +} diff --git a/Ryujinx.Ava/Ui/Controls/OpenGLRendererControl.cs b/Ryujinx.Ava/Ui/Controls/OpenGLRendererControl.cs new file mode 100644 index 000000000..b25c0621b --- /dev/null +++ b/Ryujinx.Ava/Ui/Controls/OpenGLRendererControl.cs @@ -0,0 +1,192 @@ +using Avalonia; +using Avalonia.OpenGL; +using Avalonia.Platform; +using Avalonia.Rendering.SceneGraph; +using Avalonia.Skia; +using Avalonia.Threading; +using OpenTK.Graphics.OpenGL; +using Ryujinx.Common.Configuration; +using SkiaSharp; +using SPB.Graphics; +using SPB.Graphics.OpenGL; +using SPB.Platform; +using SPB.Windowing; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Ryujinx.Ava.Ui.Controls +{ + internal class OpenGLRendererControl : RendererControl + { + public int Major { get; } + public int Minor { get; } + public OpenGLContextBase GameContext { get; set; } + + public static OpenGLContextBase PrimaryContext => AvaloniaLocator.Current.GetService().PrimaryContext.AsOpenGLContextBase(); + + private SwappableNativeWindowBase _gameBackgroundWindow; + + private IntPtr _fence; + + public OpenGLRendererControl(int major, int minor, GraphicsDebugLevel graphicsDebugLevel) : base(graphicsDebugLevel) + { + Major = major; + Minor = minor; + } + + public override void DestroyBackgroundContext() + { + _image = null; + + if (_fence != IntPtr.Zero) + { + DrawOperation.Dispose(); + GL.DeleteSync(_fence); + } + + GlDrawOperation.DeleteFramebuffer(); + + GameContext?.Dispose(); + + _gameBackgroundWindow?.Dispose(); + } + + internal override void Present(object image) + { + Dispatcher.UIThread.InvokeAsync(() => + { + Image = (int)image; + }).Wait(); + + if (_fence != IntPtr.Zero) + { + GL.DeleteSync(_fence); + } + + _fence = GL.FenceSync(SyncCondition.SyncGpuCommandsComplete, WaitSyncFlags.None); + + QueueRender(); + + _gameBackgroundWindow.SwapBuffers(); + } + + internal override void MakeCurrent() + { + GameContext.MakeCurrent(_gameBackgroundWindow); + } + + internal override void MakeCurrent(SwappableNativeWindowBase window) + { + GameContext.MakeCurrent(window); + } + + protected override void CreateWindow() + { + var flags = OpenGLContextFlags.Compat; + if (DebugLevel != GraphicsDebugLevel.None) + { + flags |= OpenGLContextFlags.Debug; + } + _gameBackgroundWindow = PlatformHelper.CreateOpenGLWindow(FramebufferFormat.Default, 0, 0, 100, 100); + _gameBackgroundWindow.Hide(); + + GameContext = PlatformHelper.CreateOpenGLContext(FramebufferFormat.Default, Major, Minor, flags, shareContext: PrimaryContext); + GameContext.Initialize(_gameBackgroundWindow); + } + + protected override ICustomDrawOperation CreateDrawOperation() + { + return new GlDrawOperation(this); + } + + private class GlDrawOperation : ICustomDrawOperation + { + private static int _framebuffer; + + public Rect Bounds { get; } + + private readonly OpenGLRendererControl _control; + + public GlDrawOperation(OpenGLRendererControl control) + { + _control = control; + Bounds = _control.Bounds; + } + + public void Dispose() { } + + public static void DeleteFramebuffer() + { + if (_framebuffer == 0) + { + GL.DeleteFramebuffer(_framebuffer); + } + + _framebuffer = 0; + } + + public bool Equals(ICustomDrawOperation other) + { + return other is GlDrawOperation operation && Equals(this, operation) && operation.Bounds == Bounds; + } + + public bool HitTest(Point p) + { + return Bounds.Contains(p); + } + + private void CreateRenderTarget() + { + _framebuffer = GL.GenFramebuffer(); + } + + public void Render(IDrawingContextImpl context) + { + if (_control.Image == null) + { + return; + } + + if (_framebuffer == 0) + { + CreateRenderTarget(); + } + + int currentFramebuffer = GL.GetInteger(GetPName.FramebufferBinding); + + var image = _control.Image; + var fence = _control._fence; + + GL.BindFramebuffer(FramebufferTarget.Framebuffer, _framebuffer); + GL.FramebufferTexture2D(FramebufferTarget.Framebuffer, FramebufferAttachment.ColorAttachment0, TextureTarget.Texture2D, (int)image, 0); + GL.BindFramebuffer(FramebufferTarget.Framebuffer, currentFramebuffer); + + if (context is not ISkiaDrawingContextImpl skiaDrawingContextImpl) + { + return; + } + + var imageInfo = new SKImageInfo((int)_control.RenderSize.Width, (int)_control.RenderSize.Height, SKColorType.Rgba8888); + var glInfo = new GRGlFramebufferInfo((uint)_framebuffer, SKColorType.Rgba8888.ToGlSizedFormat()); + + GL.WaitSync(fence, WaitSyncFlags.None, ulong.MaxValue); + + using var backendTexture = new GRBackendRenderTarget(imageInfo.Width, imageInfo.Height, 1, 0, glInfo); + using var surface = SKSurface.Create(skiaDrawingContextImpl.GrContext, backendTexture, GRSurfaceOrigin.BottomLeft, SKColorType.Rgba8888); + + if (surface == null) + { + return; + } + + var rect = new Rect(new Point(), _control.RenderSize); + + using var snapshot = surface.Snapshot(); + skiaDrawingContextImpl.SkCanvas.DrawImage(snapshot, rect.ToSKRect(), _control.Bounds.ToSKRect(), new SKPaint()); + } + } + } +} diff --git a/Ryujinx.Ava/Ui/Controls/RendererControl.cs b/Ryujinx.Ava/Ui/Controls/RendererControl.cs index a728946cf..2239a5824 100644 --- a/Ryujinx.Ava/Ui/Controls/RendererControl.cs +++ b/Ryujinx.Ava/Ui/Controls/RendererControl.cs @@ -2,65 +2,45 @@ using Avalonia.Controls; using Avalonia.Data; using Avalonia.Media; -using Avalonia.OpenGL; -using Avalonia.Platform; using Avalonia.Rendering.SceneGraph; -using Avalonia.Skia; -using Avalonia.Threading; -using OpenTK.Graphics.OpenGL; using Ryujinx.Common.Configuration; -using SkiaSharp; -using SPB.Graphics; -using SPB.Graphics.OpenGL; -using SPB.Platform; using SPB.Windowing; using System; namespace Ryujinx.Ava.Ui.Controls { - public class RendererControl : Control + public abstract class RendererControl : Control { - private int _image; + protected object _image; static RendererControl() { AffectsRender(ImageProperty); } - public readonly static StyledProperty ImageProperty = - AvaloniaProperty.Register(nameof(Image), 0, inherits: true, defaultBindingMode: BindingMode.TwoWay); + public readonly static StyledProperty ImageProperty = + AvaloniaProperty.Register(nameof(Image), 0, inherits: true, defaultBindingMode: BindingMode.TwoWay); - protected int Image + protected object Image { get => _image; set => SetAndRaise(ImageProperty, ref _image, value); } - public event EventHandler GlInitialized; + public event EventHandler RendererInitialized; public event EventHandler SizeChanged; protected Size RenderSize { get; private set; } public bool IsStarted { get; private set; } - public int Major { get; } - public int Minor { get; } public GraphicsDebugLevel DebugLevel { get; } - public OpenGLContextBase GameContext { get; set; } - - public static OpenGLContextBase PrimaryContext => AvaloniaLocator.Current.GetService().PrimaryContext.AsOpenGLContextBase(); - - private SwappableNativeWindowBase _gameBackgroundWindow; private bool _isInitialized; - private IntPtr _fence; + protected ICustomDrawOperation DrawOperation { get; private set; } - private GlDrawOperation _glDrawOperation; - - public RendererControl(int major, int minor, GraphicsDebugLevel graphicsDebugLevel) + public RendererControl(GraphicsDebugLevel graphicsDebugLevel) { - Major = major; - Minor = minor; DebugLevel = graphicsDebugLevel; IObservable resizeObservable = this.GetObservable(BoundsProperty); @@ -69,7 +49,7 @@ namespace Ryujinx.Ava.Ui.Controls Focusable = true; } - private void Resized(Rect rect) + protected void Resized(Rect rect) { SizeChanged?.Invoke(this, rect.Size); @@ -77,37 +57,40 @@ namespace Ryujinx.Ava.Ui.Controls { RenderSize = rect.Size * VisualRoot.RenderScaling; - _glDrawOperation?.Dispose(); - _glDrawOperation = new GlDrawOperation(this); + DrawOperation?.Dispose(); + DrawOperation = CreateDrawOperation(); } } + protected abstract ICustomDrawOperation CreateDrawOperation(); + protected abstract void CreateWindow(); + public override void Render(DrawingContext context) { if (!_isInitialized) { CreateWindow(); - OnGlInitialized(); + OnRendererInitialized(); _isInitialized = true; } - if (GameContext == null || !IsStarted || Image == 0) + if (!IsStarted || Image == null) { return; } - if (_glDrawOperation != null) + if (DrawOperation != null) { - context.Custom(_glDrawOperation); + context.Custom(DrawOperation); } base.Render(context); } - protected void OnGlInitialized() + protected void OnRendererInitialized() { - GlInitialized?.Invoke(this, EventArgs.Empty); + RendererInitialized?.Invoke(this, EventArgs.Empty); } public void QueueRender() @@ -115,24 +98,7 @@ namespace Ryujinx.Ava.Ui.Controls Program.RenderTimer.TickNow(); } - internal void Present(object image) - { - Dispatcher.UIThread.InvokeAsync(() => - { - Image = (int)image; - }).Wait(); - - if (_fence != IntPtr.Zero) - { - GL.DeleteSync(_fence); - } - - _fence = GL.FenceSync(SyncCondition.SyncGpuCommandsComplete, WaitSyncFlags.None); - - QueueRender(); - - _gameBackgroundWindow.SwapBuffers(); - } + internal abstract void Present(object image); internal void Start() { @@ -145,132 +111,8 @@ namespace Ryujinx.Ava.Ui.Controls IsStarted = false; } - public void DestroyBackgroundContext() - { - _image = 0; - - if (_fence != IntPtr.Zero) - { - _glDrawOperation.Dispose(); - GL.DeleteSync(_fence); - } - - GlDrawOperation.DeleteFramebuffer(); - - GameContext?.Dispose(); - - _gameBackgroundWindow?.Dispose(); - } - - internal void MakeCurrent() - { - GameContext.MakeCurrent(_gameBackgroundWindow); - } - - internal void MakeCurrent(SwappableNativeWindowBase window) - { - GameContext.MakeCurrent(window); - } - - protected void CreateWindow() - { - var flags = OpenGLContextFlags.Compat; - if (DebugLevel != GraphicsDebugLevel.None) - { - flags |= OpenGLContextFlags.Debug; - } - _gameBackgroundWindow = PlatformHelper.CreateOpenGLWindow(FramebufferFormat.Default, 0, 0, 100, 100); - _gameBackgroundWindow.Hide(); - - GameContext = PlatformHelper.CreateOpenGLContext(FramebufferFormat.Default, Major, Minor, flags, shareContext: PrimaryContext); - GameContext.Initialize(_gameBackgroundWindow); - } - - private class GlDrawOperation : ICustomDrawOperation - { - private static int _framebuffer; - - public Rect Bounds { get; } - - private readonly RendererControl _control; - - public GlDrawOperation(RendererControl control) - { - _control = control; - Bounds = _control.Bounds; - } - - public void Dispose() { } - - public static void DeleteFramebuffer() - { - if (_framebuffer == 0) - { - GL.DeleteFramebuffer(_framebuffer); - } - - _framebuffer = 0; - } - - public bool Equals(ICustomDrawOperation other) - { - return other is GlDrawOperation operation && Equals(this, operation) && operation.Bounds == Bounds; - } - - public bool HitTest(Point p) - { - return Bounds.Contains(p); - } - - private void CreateRenderTarget() - { - _framebuffer = GL.GenFramebuffer(); - } - - public void Render(IDrawingContextImpl context) - { - if (_control.Image == 0) - { - return; - } - - if (_framebuffer == 0) - { - CreateRenderTarget(); - } - - int currentFramebuffer = GL.GetInteger(GetPName.FramebufferBinding); - - var image = _control.Image; - var fence = _control._fence; - - GL.BindFramebuffer(FramebufferTarget.Framebuffer, _framebuffer); - GL.FramebufferTexture2D(FramebufferTarget.Framebuffer, FramebufferAttachment.ColorAttachment0, TextureTarget.Texture2D, image, 0); - GL.BindFramebuffer(FramebufferTarget.Framebuffer, currentFramebuffer); - - if (context is not ISkiaDrawingContextImpl skiaDrawingContextImpl) - { - return; - } - - var imageInfo = new SKImageInfo((int)_control.RenderSize.Width, (int)_control.RenderSize.Height, SKColorType.Rgba8888); - var glInfo = new GRGlFramebufferInfo((uint)_framebuffer, SKColorType.Rgba8888.ToGlSizedFormat()); - - GL.WaitSync(fence, WaitSyncFlags.None, ulong.MaxValue); - - using var backendTexture = new GRBackendRenderTarget(imageInfo.Width, imageInfo.Height, 1, 0, glInfo); - using var surface = SKSurface.Create(skiaDrawingContextImpl.GrContext, backendTexture, GRSurfaceOrigin.BottomLeft, SKColorType.Rgba8888); - - if (surface == null) - { - return; - } - - var rect = new Rect(new Point(), _control.RenderSize); - - using var snapshot = surface.Snapshot(); - skiaDrawingContextImpl.SkCanvas.DrawImage(snapshot, rect.ToSKRect(), _control.Bounds.ToSKRect(), new SKPaint()); - } - } + public abstract void DestroyBackgroundContext(); + internal abstract void MakeCurrent(); + internal abstract void MakeCurrent(SwappableNativeWindowBase window); } -} +} \ No newline at end of file diff --git a/Ryujinx.Ava/Ui/Controls/VulkanRendererControl.cs b/Ryujinx.Ava/Ui/Controls/VulkanRendererControl.cs new file mode 100644 index 000000000..fdbd8df97 --- /dev/null +++ b/Ryujinx.Ava/Ui/Controls/VulkanRendererControl.cs @@ -0,0 +1,153 @@ +using Avalonia; +using Avalonia.Platform; +using Avalonia.Rendering.SceneGraph; +using Avalonia.Skia; +using Avalonia.Threading; +using Ryujinx.Ava.Ui.Backend.Vulkan; +using Ryujinx.Ava.Ui.Vulkan; +using Ryujinx.Common.Configuration; +using Ryujinx.Graphics.Vulkan; +using Silk.NET.Vulkan; +using SkiaSharp; +using SPB.Windowing; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Ryujinx.Ava.Ui.Controls +{ + internal class VulkanRendererControl : RendererControl + { + private VulkanPlatformInterface _platformInterface; + + public VulkanRendererControl(GraphicsDebugLevel graphicsDebugLevel) : base(graphicsDebugLevel) + { + _platformInterface = AvaloniaLocator.Current.GetService(); + } + + public override void DestroyBackgroundContext() + { + + } + + protected override ICustomDrawOperation CreateDrawOperation() + { + return new VulkanDrawOperation(this); + } + + protected override void CreateWindow() + { + } + + internal override void MakeCurrent() + { + } + + internal override void MakeCurrent(SwappableNativeWindowBase window) + { + } + + internal override void Present(object image) + { + Dispatcher.UIThread.InvokeAsync(() => + { + Image = image; + }).Wait(); + + QueueRender(); + } + + private class VulkanDrawOperation : ICustomDrawOperation + { + public Rect Bounds { get; } + + private readonly VulkanRendererControl _control; + + public VulkanDrawOperation(VulkanRendererControl control) + { + _control = control; + Bounds = _control.Bounds; + } + + public void Dispose() + { + + } + + public bool Equals(ICustomDrawOperation other) + { + return other is VulkanDrawOperation operation && Equals(this, operation) && operation.Bounds == Bounds; + } + + public bool HitTest(Point p) + { + return Bounds.Contains(p); + } + + public void Render(IDrawingContextImpl context) + { + if (_control.Image == null || _control.RenderSize.Width == 0 || _control.RenderSize.Height == 0) + { + return; + } + + var image = (PresentImageInfo)_control.Image; + + if (context is not ISkiaDrawingContextImpl skiaDrawingContextImpl) + { + return; + } + + _control._platformInterface.Device.QueueWaitIdle(); + + var gpu = AvaloniaLocator.Current.GetService(); + + var imageInfo = new GRVkImageInfo() + { + CurrentQueueFamily = _control._platformInterface.PhysicalDevice.QueueFamilyIndex, + Format = (uint)Format.R8G8B8A8Unorm, + Image = image.Image.Handle, + ImageLayout = (uint)ImageLayout.ColorAttachmentOptimal, + ImageTiling = (uint)ImageTiling.Optimal, + ImageUsageFlags = (uint)(ImageUsageFlags.ImageUsageColorAttachmentBit + | ImageUsageFlags.ImageUsageTransferSrcBit + | ImageUsageFlags.ImageUsageTransferDstBit), + LevelCount = 1, + SampleCount = 1, + Protected = false, + Alloc = new GRVkAlloc() + { + Memory = image.Memory.Handle, + Flags = 0, + Offset = image.MemoryOffset, + Size = image.MemorySize + } + }; + + using var backendTexture = new GRBackendRenderTarget( + (int)_control.RenderSize.Width, + (int)_control.RenderSize.Height, + 1, + imageInfo); + + using var surface = SKSurface.Create( + gpu.GrContext, + backendTexture, + GRSurfaceOrigin.TopLeft, + SKColorType.Rgba8888); + + if (surface == null) + { + return; + } + + var rect = new Rect(new Point(), _control.RenderSize); + + using var snapshot = surface.Snapshot(); + skiaDrawingContextImpl.SkCanvas.DrawImage(snapshot, rect.ToSKRect(), _control.Bounds.ToSKRect(), new SKPaint()); + } + } + } +} diff --git a/Ryujinx.Ava/Ui/Windows/MainWindow.axaml.cs b/Ryujinx.Ava/Ui/Windows/MainWindow.axaml.cs index 016fed59d..07c18a447 100644 --- a/Ryujinx.Ava/Ui/Windows/MainWindow.axaml.cs +++ b/Ryujinx.Ava/Ui/Windows/MainWindow.axaml.cs @@ -61,7 +61,7 @@ namespace Ryujinx.Ava.Ui.Windows public AppHost AppHost { get; private set; } public InputManager InputManager { get; private set; } - public RendererControl GlRenderer { get; private set; } + public RendererControl RendererControl { get; private set; } public ContentControl ContentFrame { get; private set; } public TextBlock LoadStatus { get; private set; } public TextBlock FirmwareStatus { get; private set; } @@ -257,8 +257,8 @@ namespace Ryujinx.Ava.Ui.Windows _mainViewContent = ContentFrame.Content as Control; - GlRenderer = new RendererControl(3, 3, ConfigurationState.Instance.Logger.GraphicsDebugLevel); - AppHost = new AppHost(GlRenderer, InputManager, path, VirtualFileSystem, ContentManager, AccountManager, _userChannelPersistence, this); + RendererControl = Program.UseVulkan ? new VulkanRendererControl(ConfigurationState.Instance.Logger.GraphicsDebugLevel) : new OpenGLRendererControl(3, 3, ConfigurationState.Instance.Logger.GraphicsDebugLevel); + AppHost = new AppHost(RendererControl, InputManager, path, VirtualFileSystem, ContentManager, AccountManager, _userChannelPersistence, this); if (!AppHost.LoadGuestApplication().Result) { @@ -282,7 +282,7 @@ namespace Ryujinx.Ava.Ui.Windows private void InitializeGame() { - GlRenderer.GlInitialized += GlRenderer_Created; + RendererControl.RendererInitialized += GlRenderer_Created; AppHost.StatusUpdatedEvent += Update_StatusBar; AppHost.AppExit += AppHost_AppExit; @@ -322,14 +322,14 @@ namespace Ryujinx.Ava.Ui.Windows Dispatcher.UIThread.InvokeAsync(() => { - ContentFrame.Content = GlRenderer; + ContentFrame.Content = RendererControl; if (startFullscreen && WindowState != WindowState.FullScreen) { ViewModel.ToggleFullscreen(); } - GlRenderer.Focus(); + RendererControl.Focus(); }); } @@ -380,8 +380,8 @@ namespace Ryujinx.Ava.Ui.Windows HandleRelaunch(); }); - GlRenderer.GlInitialized -= GlRenderer_Created; - GlRenderer = null; + RendererControl.RendererInitialized -= GlRenderer_Created; + RendererControl = null; ViewModel.SelectedIcon = null; diff --git a/Ryujinx.Common/System/ForceDpiAware.cs b/Ryujinx.Common/System/ForceDpiAware.cs index f29630a62..f1aa3e8e8 100644 --- a/Ryujinx.Common/System/ForceDpiAware.cs +++ b/Ryujinx.Common/System/ForceDpiAware.cs @@ -44,7 +44,7 @@ namespace Ryujinx.Common.System } } - public static double GetWindowScaleFactor() + public static double GetActualScaleFactor() { double userDpiScale = 96.0; @@ -84,6 +84,13 @@ namespace Ryujinx.Common.System Logger.Warning?.Print(LogClass.Application, $"Couldn't determine monitor DPI: {e.Message}"); } + return userDpiScale; + } + + public static double GetWindowScaleFactor() + { + double userDpiScale = GetActualScaleFactor(); + return Math.Min(userDpiScale / _standardDpiScale, _maxScaleFactor); } } diff --git a/Ryujinx.Graphics.GAL/Multithreading/ThreadedRenderer.cs b/Ryujinx.Graphics.GAL/Multithreading/ThreadedRenderer.cs index e7faf474c..fb3db8e6d 100644 --- a/Ryujinx.Graphics.GAL/Multithreading/ThreadedRenderer.cs +++ b/Ryujinx.Graphics.GAL/Multithreading/ThreadedRenderer.cs @@ -76,7 +76,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading renderer.ScreenCaptured += (object sender, ScreenCaptureImageInfo info) => ScreenCaptured?.Invoke(this, info); Pipeline = new ThreadedPipeline(this, renderer.Pipeline); - Window = new ThreadedWindow(this, renderer.Window); + Window = new ThreadedWindow(this, renderer); Buffers = new BufferMap(); Sync = new SyncMap(); Programs = new ProgramQueue(renderer); diff --git a/Ryujinx.Graphics.GAL/Multithreading/ThreadedWindow.cs b/Ryujinx.Graphics.GAL/Multithreading/ThreadedWindow.cs index dc0b4dc5e..c80455028 100644 --- a/Ryujinx.Graphics.GAL/Multithreading/ThreadedWindow.cs +++ b/Ryujinx.Graphics.GAL/Multithreading/ThreadedWindow.cs @@ -8,12 +8,12 @@ namespace Ryujinx.Graphics.GAL.Multithreading public class ThreadedWindow : IWindow { private ThreadedRenderer _renderer; - private IWindow _impl; + private IRenderer _impl; - public ThreadedWindow(ThreadedRenderer renderer, IWindow window) + public ThreadedWindow(ThreadedRenderer renderer, IRenderer impl) { _renderer = renderer; - _impl = window; + _impl = impl; } public void Present(ITexture texture, ImageCrop crop, Action swapBuffersCallback) @@ -28,7 +28,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading public void SetSize(int width, int height) { - _impl.SetSize(width, height); + _impl.Window.SetSize(width, height); } } } diff --git a/Ryujinx.Graphics.Vulkan/ImageWindow.cs b/Ryujinx.Graphics.Vulkan/ImageWindow.cs new file mode 100644 index 000000000..b4d893dfb --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/ImageWindow.cs @@ -0,0 +1,365 @@ +using Ryujinx.Graphics.GAL; +using Silk.NET.Vulkan; +using System; +using VkFormat = Silk.NET.Vulkan.Format; + +namespace Ryujinx.Graphics.Vulkan +{ + class ImageWindow : WindowBase, IWindow, IDisposable + { + private const int ImageCount = 5; + private const int SurfaceWidth = 1280; + private const int SurfaceHeight = 720; + + private readonly VulkanGraphicsDevice _gd; + private readonly PhysicalDevice _physicalDevice; + private readonly Device _device; + + private Auto[] _images; + private Auto[] _imageViews; + private Auto[] _imageAllocationAuto; + private ulong[] _imageSizes; + private ulong[] _imageOffsets; + + private Semaphore _imageAvailableSemaphore; + private Semaphore _renderFinishedSemaphore; + + private int _width = SurfaceWidth; + private int _height = SurfaceHeight; + private VkFormat _format; + private bool _recreateImages; + private int _nextImage; + + internal new bool ScreenCaptureRequested { get; set; } + + public unsafe ImageWindow(VulkanGraphicsDevice gd, PhysicalDevice physicalDevice, Device device) + { + _gd = gd; + _physicalDevice = physicalDevice; + _device = device; + + _format = VkFormat.R8G8B8A8Unorm; + + _images = new Auto[ImageCount]; + _imageAllocationAuto = new Auto[ImageCount]; + _imageSizes = new ulong[ImageCount]; + _imageOffsets = new ulong[ImageCount]; + + CreateImages(); + + var semaphoreCreateInfo = new SemaphoreCreateInfo() + { + SType = StructureType.SemaphoreCreateInfo + }; + + gd.Api.CreateSemaphore(device, semaphoreCreateInfo, null, out _imageAvailableSemaphore).ThrowOnError(); + gd.Api.CreateSemaphore(device, semaphoreCreateInfo, null, out _renderFinishedSemaphore).ThrowOnError(); + } + + private void RecreateImages() + { + for (int i = 0; i < ImageCount; i++) + { + _imageViews[i]?.Dispose(); + _imageAllocationAuto[i]?.Dispose(); + _images[i]?.Dispose(); + } + + CreateImages(); + } + + private void CreateImages() + { + _imageViews = new Auto[ImageCount]; + unsafe + { + var cbs = _gd.CommandBufferPool.Rent(); + for (int i = 0; i < _images.Length; i++) + { + var imageCreateInfo = new ImageCreateInfo + { + SType = StructureType.ImageCreateInfo, + ImageType = ImageType.ImageType2D, + Format = _format, + Extent = + new Extent3D((uint?)_width, + (uint?)_height, 1), + MipLevels = 1, + ArrayLayers = 1, + Samples = SampleCountFlags.SampleCount1Bit, + Tiling = ImageTiling.Optimal, + Usage = ImageUsageFlags.ImageUsageColorAttachmentBit | ImageUsageFlags.ImageUsageTransferSrcBit | ImageUsageFlags.ImageUsageTransferDstBit, + SharingMode = SharingMode.Exclusive, + InitialLayout = ImageLayout.Undefined, + Flags = ImageCreateFlags.ImageCreateMutableFormatBit + }; + + _gd.Api.CreateImage(_device, imageCreateInfo, null, out var image).ThrowOnError(); + _images[i] = new Auto(new DisposableImage(_gd.Api, _device, image)); + + _gd.Api.GetImageMemoryRequirements(_device, image, + out var memoryRequirements); + + var allocation = _gd.MemoryAllocator.AllocateDeviceMemory(_physicalDevice, memoryRequirements, MemoryPropertyFlags.MemoryPropertyDeviceLocalBit); + + _imageSizes[i] = allocation.Size; + _imageOffsets[i] = allocation.Offset; + + _imageAllocationAuto[i] = new Auto(allocation); + + _gd.Api.BindImageMemory(_device, image, allocation.Memory, allocation.Offset); + + _imageViews[i] = CreateImageView(image, _format); + + Transition( + cbs.CommandBuffer, + image, + 0, + 0, + ImageLayout.Undefined, + ImageLayout.ColorAttachmentOptimal); + } + + _gd.CommandBufferPool.Return(cbs); + } + } + + private unsafe Auto CreateImageView(Image image, VkFormat format) + { + var componentMapping = new ComponentMapping( + ComponentSwizzle.R, + ComponentSwizzle.G, + ComponentSwizzle.B, + ComponentSwizzle.A); + + var aspectFlags = ImageAspectFlags.ImageAspectColorBit; + + var subresourceRange = new ImageSubresourceRange(aspectFlags, 0, 1, 0, 1); + + var imageCreateInfo = new ImageViewCreateInfo() + { + SType = StructureType.ImageViewCreateInfo, + Image = image, + ViewType = ImageViewType.ImageViewType2D, + Format = format, + Components = componentMapping, + SubresourceRange = subresourceRange + }; + + _gd.Api.CreateImageView(_device, imageCreateInfo, null, out var imageView).ThrowOnError(); + return new Auto(new DisposableImageView(_gd.Api, _device, imageView)); + } + + public override unsafe void Present(ITexture texture, ImageCrop crop, Action swapBuffersCallback) + { + if (_recreateImages) + { + RecreateImages(); + _recreateImages = false; + } + + var image = _images[_nextImage]; + + _gd.FlushAllCommands(); + + var cbs = _gd.CommandBufferPool.Rent(); + + Transition( + cbs.CommandBuffer, + image.GetUnsafe().Value, + 0, + AccessFlags.AccessTransferWriteBit, + ImageLayout.ColorAttachmentOptimal, + ImageLayout.General); + + var view = (TextureView)texture; + + int srcX0, srcX1, srcY0, srcY1; + float scale = view.ScaleFactor; + + if (crop.Left == 0 && crop.Right == 0) + { + srcX0 = 0; + srcX1 = (int)(view.Width / scale); + } + else + { + srcX0 = crop.Left; + srcX1 = crop.Right; + } + + if (crop.Top == 0 && crop.Bottom == 0) + { + srcY0 = 0; + srcY1 = (int)(view.Height / scale); + } + else + { + srcY0 = crop.Top; + srcY1 = crop.Bottom; + } + + if (scale != 1f) + { + srcX0 = (int)(srcX0 * scale); + srcY0 = (int)(srcY0 * scale); + srcX1 = (int)Math.Ceiling(srcX1 * scale); + srcY1 = (int)Math.Ceiling(srcY1 * scale); + } + + if (ScreenCaptureRequested) + { + CaptureFrame(view, srcX0, srcY0, srcX1 - srcX0, srcY1 - srcY0, view.Info.Format.IsBgr(), crop.FlipX, crop.FlipY); + + ScreenCaptureRequested = false; + } + + float ratioX = crop.IsStretched ? 1.0f : MathF.Min(1.0f, _height * crop.AspectRatioX / (_width * crop.AspectRatioY)); + float ratioY = crop.IsStretched ? 1.0f : MathF.Min(1.0f, _width * crop.AspectRatioY / (_height * crop.AspectRatioX)); + + int dstWidth = (int)(_width * ratioX); + int dstHeight = (int)(_height * ratioY); + + int dstPaddingX = (_width - dstWidth) / 2; + int dstPaddingY = (_height - dstHeight) / 2; + + int dstX0 = crop.FlipX ? _width - dstPaddingX : dstPaddingX; + int dstX1 = crop.FlipX ? dstPaddingX : _width - dstPaddingX; + + int dstY0 = crop.FlipY ? dstPaddingY : _height - dstPaddingY; + int dstY1 = crop.FlipY ? _height - dstPaddingY : dstPaddingY; + + _gd.HelperShader.Blit( + _gd, + cbs, + view, + _imageViews[_nextImage], + _width, + _height, + _format, + new Extents2D(srcX0, srcY0, srcX1, srcY1), + new Extents2D(dstX0, dstY1, dstX1, dstY0), + true, + true); + + Transition( + cbs.CommandBuffer, + image.GetUnsafe().Value, + 0, + 0, + ImageLayout.General, + ImageLayout.ColorAttachmentOptimal); + + _gd.CommandBufferPool.Return( + cbs, + null, + new[] { PipelineStageFlags.PipelineStageColorAttachmentOutputBit }, + null); + + var memory = _imageAllocationAuto[_nextImage].GetUnsafe().Memory; + var presentInfo = new PresentImageInfo(image.GetUnsafe().Value, memory, _imageSizes[_nextImage], _imageOffsets[_nextImage], _renderFinishedSemaphore, _imageAvailableSemaphore); + + swapBuffersCallback(presentInfo); + + _nextImage %= ImageCount; + } + + private unsafe void Transition( + CommandBuffer commandBuffer, + Image image, + AccessFlags srcAccess, + AccessFlags dstAccess, + ImageLayout srcLayout, + ImageLayout dstLayout) + { + var subresourceRange = new ImageSubresourceRange(ImageAspectFlags.ImageAspectColorBit, 0, 1, 0, 1); + + var barrier = new ImageMemoryBarrier() + { + SType = StructureType.ImageMemoryBarrier, + SrcAccessMask = srcAccess, + DstAccessMask = dstAccess, + OldLayout = srcLayout, + NewLayout = dstLayout, + SrcQueueFamilyIndex = Vk.QueueFamilyIgnored, + DstQueueFamilyIndex = Vk.QueueFamilyIgnored, + Image = image, + SubresourceRange = subresourceRange + }; + + _gd.Api.CmdPipelineBarrier( + commandBuffer, + PipelineStageFlags.PipelineStageTopOfPipeBit, + PipelineStageFlags.PipelineStageAllCommandsBit, + 0, + 0, + null, + 0, + null, + 1, + barrier); + } + + private void CaptureFrame(TextureView texture, int x, int y, int width, int height, bool isBgra, bool flipX, bool flipY) + { + byte[] bitmap = texture.GetData(x, y, width, height); + + _gd.OnScreenCaptured(new ScreenCaptureImageInfo(width, height, isBgra, bitmap, flipX, flipY)); + } + + public override void SetSize(int width, int height) + { + if (_width != width || _height != height) + { + _recreateImages = true; + } + + _width = width; + _height = height; + } + + protected virtual void Dispose(bool disposing) + { + if (disposing) + { + unsafe + { + _gd.Api.DestroySemaphore(_device, _renderFinishedSemaphore, null); + _gd.Api.DestroySemaphore(_device, _imageAvailableSemaphore, null); + + for (int i = 0; i < ImageCount; i++) + { + _imageViews[i]?.Dispose(); + _imageAllocationAuto[i]?.Dispose(); + _images[i]?.Dispose(); + } + } + } + } + + public override void Dispose() + { + Dispose(true); + } + } + + public class PresentImageInfo + { + public Image Image { get; } + public DeviceMemory Memory { get; } + public ulong MemorySize { get; set; } + public ulong MemoryOffset { get; set; } + public Semaphore ReadySemaphore { get; } + public Semaphore AvailableSemaphore { get; } + + public PresentImageInfo(Image image, DeviceMemory memory, ulong memorySize, ulong memoryOffset, Semaphore readySemaphore, Semaphore availableSemaphore) + { + this.Image = image; + this.Memory = memory; + this.MemorySize = memorySize; + this.MemoryOffset = memoryOffset; + this.ReadySemaphore = readySemaphore; + this.AvailableSemaphore = availableSemaphore; + } + } +} \ No newline at end of file diff --git a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs index 42be3cdaa..dea627726 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs @@ -20,7 +20,8 @@ namespace Ryujinx.Graphics.Vulkan private SurfaceKHR _surface; private PhysicalDevice _physicalDevice; private Device _device; - private Window _window; + private uint _queueFamilyIndex; + private WindowBase _window; internal FormatCapabilities FormatCapabilities { get; private set; } internal HardwareCapabilities Capabilities; @@ -42,7 +43,7 @@ namespace Ryujinx.Graphics.Vulkan internal bool SupportsSubgroupSizeControl { get; private set; } internal uint QueueFamilyIndex { get; private set; } - + public bool IsOffScreen { get; } internal Queue Queue { get; private set; } internal Queue BackgroundQueue { get; private set; } internal object BackgroundQueueLock { get; private set; } @@ -96,32 +97,27 @@ namespace Ryujinx.Graphics.Vulkan Samplers = new HashSet(); } - private unsafe void SetupContext(GraphicsDebugLevel logLevel) + public VulkanGraphicsDevice(Instance instance, Device device, PhysicalDevice physicalDevice, Queue queue, uint queueFamilyIndex, object lockObject) { - var api = Vk.GetApi(); + _instance = instance; + _physicalDevice = physicalDevice; + _device = device; + _queueFamilyIndex = queueFamilyIndex; - Api = api; + Queue = queue; + QueueLock = lockObject; - _instance = VulkanInitialization.CreateInstance(api, logLevel, GetRequiredExtensions(), out ExtDebugReport debugReport, out _debugReportCallback); + IsOffScreen = true; + Shaders = new HashSet(); + Textures = new HashSet(); + Samplers = new HashSet(); + } - DebugReportApi = debugReport; - - if (api.TryGetInstanceExtension(_instance, out KhrSurface surfaceApi)) - { - SurfaceApi = surfaceApi; - } - - _surface = GetSurface(_instance, api); - _physicalDevice = VulkanInitialization.FindSuitablePhysicalDevice(api, _instance, _surface); - - FormatCapabilities = new FormatCapabilities(api, _physicalDevice); - - var queueFamilyIndex = VulkanInitialization.FindSuitableQueueFamily(api, _physicalDevice, _surface, out uint maxQueueCount); - var supportedExtensions = VulkanInitialization.GetSupportedExtensions(api, _physicalDevice); - var supportedFeatures = api.GetPhysicalDeviceFeature(_physicalDevice); - - _device = VulkanInitialization.CreateDevice(api, _physicalDevice, queueFamilyIndex, supportedExtensions, maxQueueCount); + private unsafe void LoadFeatures(string[] supportedExtensions, uint maxQueueCount, uint queueFamilyIndex) + { + FormatCapabilities = new FormatCapabilities(Api, _physicalDevice); + var supportedFeatures = Api.GetPhysicalDeviceFeature(_physicalDevice); SupportsIndexTypeUint8 = supportedExtensions.Contains("VK_EXT_index_type_uint8"); SupportsCustomBorderColor = supportedExtensions.Contains("VK_EXT_custom_border_color"); SupportsIndirectParameters = supportedExtensions.Contains(KhrDrawIndirectCount.ExtensionName); @@ -129,38 +125,29 @@ namespace Ryujinx.Graphics.Vulkan SupportsGeometryShaderPassthrough = supportedExtensions.Contains("VK_NV_geometry_shader_passthrough"); SupportsSubgroupSizeControl = supportedExtensions.Contains("VK_EXT_subgroup_size_control"); - if (api.TryGetDeviceExtension(_instance, _device, out KhrSwapchain swapchainApi)) - { - SwapchainApi = swapchainApi; - } - - if (api.TryGetDeviceExtension(_instance, _device, out ExtConditionalRendering conditionalRenderingApi)) + if (Api.TryGetDeviceExtension(_instance, _device, out ExtConditionalRendering conditionalRenderingApi)) { ConditionalRenderingApi = conditionalRenderingApi; } - if (api.TryGetDeviceExtension(_instance, _device, out ExtExtendedDynamicState extendedDynamicStateApi)) + if (Api.TryGetDeviceExtension(_instance, _device, out ExtExtendedDynamicState extendedDynamicStateApi)) { ExtendedDynamicStateApi = extendedDynamicStateApi; } - if (api.TryGetDeviceExtension(_instance, _device, out ExtTransformFeedback transformFeedbackApi)) + if (Api.TryGetDeviceExtension(_instance, _device, out ExtTransformFeedback transformFeedbackApi)) { TransformFeedbackApi = transformFeedbackApi; } - if (api.TryGetDeviceExtension(_instance, _device, out KhrDrawIndirectCount drawIndirectCountApi)) + if (Api.TryGetDeviceExtension(_instance, _device, out KhrDrawIndirectCount drawIndirectCountApi)) { DrawIndirectCountApi = drawIndirectCountApi; } - api.GetDeviceQueue(_device, queueFamilyIndex, 0, out var queue); - Queue = queue; - QueueLock = new object(); - if (maxQueueCount >= 2) { - api.GetDeviceQueue(_device, queueFamilyIndex, 1, out var backgroundQueue); + Api.GetDeviceQueue(_device, queueFamilyIndex, 1, out var backgroundQueue); BackgroundQueue = backgroundQueue; BackgroundQueueLock = new object(); } @@ -226,9 +213,9 @@ namespace Ryujinx.Graphics.Vulkan ref var properties = ref properties2.Properties; - MemoryAllocator = new MemoryAllocator(api, _device, properties.Limits.MaxMemoryAllocationCount); + MemoryAllocator = new MemoryAllocator(Api, _device, properties.Limits.MaxMemoryAllocationCount); - CommandBufferPool = VulkanInitialization.CreateCommandBufferPool(api, _device, queue, QueueLock, queueFamilyIndex); + CommandBufferPool = VulkanInitialization.CreateCommandBufferPool(Api, _device, Queue, QueueLock, queueFamilyIndex); DescriptorSetManager = new DescriptorSetManager(_device); @@ -244,10 +231,73 @@ namespace Ryujinx.Graphics.Vulkan HelperShader = new HelperShader(this, _device); _counters = new Counters(this, _device, _pipeline); + } + + private unsafe void SetupContext(GraphicsDebugLevel logLevel) + { + var api = Vk.GetApi(); + + Api = api; + + _instance = VulkanInitialization.CreateInstance(api, logLevel, GetRequiredExtensions(), out ExtDebugReport debugReport, out _debugReportCallback); + + DebugReportApi = debugReport; + + if (api.TryGetInstanceExtension(_instance, out KhrSurface surfaceApi)) + { + SurfaceApi = surfaceApi; + } + + _surface = GetSurface(_instance, api); + _physicalDevice = VulkanInitialization.FindSuitablePhysicalDevice(api, _instance, _surface); + + var queueFamilyIndex = VulkanInitialization.FindSuitableQueueFamily(api, _physicalDevice, _surface, out uint maxQueueCount); + var supportedExtensions = VulkanInitialization.GetSupportedExtensions(api, _physicalDevice); + + _device = VulkanInitialization.CreateDevice(api, _physicalDevice, queueFamilyIndex, supportedExtensions, maxQueueCount); + + if (api.TryGetDeviceExtension(_instance, _device, out KhrSwapchain swapchainApi)) + { + SwapchainApi = swapchainApi; + } + + api.GetDeviceQueue(_device, queueFamilyIndex, 0, out var queue); + Queue = queue; + QueueLock = new object(); + + LoadFeatures(supportedExtensions, maxQueueCount, queueFamilyIndex); _window = new Window(this, _surface, _physicalDevice, _device); } + private unsafe void SetupOffScreenContext(GraphicsDebugLevel logLevel) + { + var api = Vk.GetApi(); + + Api = api; + + VulkanInitialization.CreateDebugCallbacks(api, logLevel, _instance, out var debugReport, out _debugReportCallback); + + DebugReportApi = debugReport; + + var supportedExtensions = VulkanInitialization.GetSupportedExtensions(api, _physicalDevice); + + uint propertiesCount; + + api.GetPhysicalDeviceQueueFamilyProperties(_physicalDevice, &propertiesCount, null); + + QueueFamilyProperties[] queueFamilyProperties = new QueueFamilyProperties[propertiesCount]; + + fixed (QueueFamilyProperties* pProperties = queueFamilyProperties) + { + api.GetPhysicalDeviceQueueFamilyProperties(_physicalDevice, &propertiesCount, pProperties); + } + + LoadFeatures(supportedExtensions, queueFamilyProperties[0].QueueCount, _queueFamilyIndex); + + _window = new ImageWindow(this, _physicalDevice, _device); + } + public IShader CompileShader(ShaderStage stage, ShaderBindings bindings, string code) { return new Shader(Api, _device, stage, bindings, code); @@ -465,7 +515,14 @@ namespace Ryujinx.Graphics.Vulkan public void Initialize(GraphicsDebugLevel logLevel) { - SetupContext(logLevel); + if (IsOffScreen) + { + SetupOffScreenContext(logLevel); + } + else + { + SetupContext(logLevel); + } PrintGpuInformation(); } @@ -507,8 +564,6 @@ namespace Ryujinx.Graphics.Vulkan DescriptorSetManager.Dispose(); PipelineLayoutCache.Dispose(); - SurfaceApi.DestroySurface(_instance, _surface, null); - MemoryAllocator.Dispose(); if (_debugReportCallback.Handle != 0) @@ -531,10 +586,15 @@ namespace Ryujinx.Graphics.Vulkan sampler.Dispose(); } - Api.DestroyDevice(_device, null); + if (!IsOffScreen) + { + SurfaceApi.DestroySurface(_instance, _surface, null); - // Last step destroy the instance - Api.DestroyInstance(_instance, null); + Api.DestroyDevice(_device, null); + + // Last step destroy the instance + Api.DestroyInstance(_instance, null); + } } public void BackgroundContextAction(Action action, bool alwaysBackground = false) diff --git a/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs b/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs index fa5d8e94c..b8bb69843 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs @@ -10,20 +10,13 @@ using System.Runtime.InteropServices; namespace Ryujinx.Graphics.Vulkan { - unsafe static class VulkanInitialization + public unsafe static class VulkanInitialization { private const uint InvalidIndex = uint.MaxValue; private const string AppName = "Ryujinx.Graphics.Vulkan"; private const int QueuesCount = 2; - private static readonly string[] _requiredExtensions = new string[] - { - KhrSwapchain.ExtensionName, - "VK_EXT_shader_subgroup_vote", - ExtTransformFeedback.ExtensionName - }; - - private static readonly string[] _desirableExtensions = new string[] + public static string[] DesirableExtensions { get; } = new string[] { ExtConditionalRendering.ExtensionName, ExtExtendedDynamicState.ExtensionName, @@ -37,7 +30,14 @@ namespace Ryujinx.Graphics.Vulkan "VK_NV_geometry_shader_passthrough" }; - private static readonly string[] _excludedMessages = new string[] + public static string[] RequiredExtensions { get; } = new string[] + { + KhrSwapchain.ExtensionName, + "VK_EXT_shader_subgroup_vote", + ExtTransformFeedback.ExtensionName + }; + + private static string[] _excludedMessages = new string[] { // NOTE: Done on purpuse right now. "UNASSIGNED-CoreValidation-Shader-OutputNotConsumed", @@ -49,7 +49,7 @@ namespace Ryujinx.Graphics.Vulkan "VUID-VkSubpassDependency-srcSubpass-00867" }; - public static Instance CreateInstance(Vk api, GraphicsDebugLevel logLevel, string[] requiredExtensions, out ExtDebugReport debugReport, out DebugReportCallbackEXT debugReportCallback) + internal static Instance CreateInstance(Vk api, GraphicsDebugLevel logLevel, string[] requiredExtensions, out ExtDebugReport debugReport, out DebugReportCallbackEXT debugReportCallback) { var enabledLayers = new List(); @@ -135,38 +135,7 @@ namespace Ryujinx.Graphics.Vulkan Marshal.FreeHGlobal(ppEnabledLayers[i]); } - if (!api.TryGetInstanceExtension(instance, out debugReport)) - { - throw new Exception(); - // TODO: Exception. - } - - if (logLevel != GraphicsDebugLevel.None) - { - var flags = logLevel switch - { - GraphicsDebugLevel.Error => DebugReportFlagsEXT.DebugReportErrorBitExt, - GraphicsDebugLevel.Slowdowns => DebugReportFlagsEXT.DebugReportErrorBitExt | DebugReportFlagsEXT.DebugReportPerformanceWarningBitExt, - GraphicsDebugLevel.All => DebugReportFlagsEXT.DebugReportInformationBitExt | - DebugReportFlagsEXT.DebugReportWarningBitExt | - DebugReportFlagsEXT.DebugReportPerformanceWarningBitExt | - DebugReportFlagsEXT.DebugReportErrorBitExt | - DebugReportFlagsEXT.DebugReportDebugBitExt, - _ => throw new NotSupportedException() - }; - var debugReportCallbackCreateInfo = new DebugReportCallbackCreateInfoEXT() - { - SType = StructureType.DebugReportCallbackCreateInfoExt, - Flags = flags, - PfnCallback = new PfnDebugReportCallbackEXT(DebugReport) - }; - - debugReport.CreateDebugReportCallback(instance, in debugReportCallbackCreateInfo, null, out debugReportCallback).ThrowOnError(); - } - else - { - debugReportCallback = default; - } + CreateDebugCallbacks(api, logLevel, instance, out debugReport, out debugReportCallback); return instance; } @@ -218,7 +187,7 @@ namespace Ryujinx.Graphics.Vulkan return 0; } - public static PhysicalDevice FindSuitablePhysicalDevice(Vk api, Instance instance, SurfaceKHR surface) + internal static PhysicalDevice FindSuitablePhysicalDevice(Vk api, Instance instance, SurfaceKHR surface) { uint physicalDeviceCount; @@ -264,17 +233,17 @@ namespace Ryujinx.Graphics.Vulkan { string extensionName = Marshal.PtrToStringAnsi((IntPtr)pExtensionProperties[i].ExtensionName); - if (_requiredExtensions.Contains(extensionName)) + if (RequiredExtensions.Contains(extensionName)) { extensionMatches++; } } } - return extensionMatches == _requiredExtensions.Length && FindSuitableQueueFamily(api, physicalDevice, surface, out _) != InvalidIndex; + return extensionMatches == RequiredExtensions.Length && FindSuitableQueueFamily(api, physicalDevice, surface, out _) != InvalidIndex; } - public static uint FindSuitableQueueFamily(Vk api, PhysicalDevice physicalDevice, SurfaceKHR surface, out uint queueCount) + internal static uint FindSuitableQueueFamily(Vk api, PhysicalDevice physicalDevice, SurfaceKHR surface, out uint queueCount) { const QueueFlags RequiredFlags = QueueFlags.QueueGraphicsBit | QueueFlags.QueueComputeBit; @@ -443,7 +412,7 @@ namespace Ryujinx.Graphics.Vulkan pExtendedFeatures = &featuresSubgroupSizeControl; } - var enabledExtensions = _requiredExtensions.Union(_desirableExtensions.Intersect(supportedExtensions)).ToArray(); + var enabledExtensions = RequiredExtensions.Union(DesirableExtensions.Intersect(supportedExtensions)).ToArray(); IntPtr* ppEnabledExtensions = stackalloc IntPtr[enabledExtensions.Length]; @@ -489,9 +458,47 @@ namespace Ryujinx.Graphics.Vulkan return extensionProperties.Select(x => Marshal.PtrToStringAnsi((IntPtr)x.ExtensionName)).ToArray(); } - public static CommandBufferPool CreateCommandBufferPool(Vk api, Device device, Queue queue, object queueLock, uint queueFamilyIndex) + internal static CommandBufferPool CreateCommandBufferPool(Vk api, Device device, Queue queue, object queueLock, uint queueFamilyIndex) { return new CommandBufferPool(api, device, queue, queueLock, queueFamilyIndex); } + + internal unsafe static void CreateDebugCallbacks(Vk api, GraphicsDebugLevel logLevel, Instance instance, out ExtDebugReport debugReport, out DebugReportCallbackEXT debugReportCallback) + { + debugReport = default; + + if (logLevel != GraphicsDebugLevel.None) + { + if (!api.TryGetInstanceExtension(instance, out debugReport)) + { + throw new Exception(); + // TODO: Exception. + } + + var flags = logLevel switch + { + GraphicsDebugLevel.Error => DebugReportFlagsEXT.DebugReportErrorBitExt, + GraphicsDebugLevel.Slowdowns => DebugReportFlagsEXT.DebugReportErrorBitExt | DebugReportFlagsEXT.DebugReportPerformanceWarningBitExt, + GraphicsDebugLevel.All => DebugReportFlagsEXT.DebugReportInformationBitExt | + DebugReportFlagsEXT.DebugReportWarningBitExt | + DebugReportFlagsEXT.DebugReportPerformanceWarningBitExt | + DebugReportFlagsEXT.DebugReportErrorBitExt | + DebugReportFlagsEXT.DebugReportDebugBitExt, + _ => throw new NotSupportedException() + }; + var debugReportCallbackCreateInfo = new DebugReportCallbackCreateInfoEXT() + { + SType = StructureType.DebugReportCallbackCreateInfoExt, + Flags = flags, + PfnCallback = new PfnDebugReportCallbackEXT(DebugReport) + }; + + debugReport.CreateDebugReportCallback(instance, in debugReportCallbackCreateInfo, null, out debugReportCallback).ThrowOnError(); + } + else + { + debugReportCallback = default; + } + } } } diff --git a/Ryujinx.Graphics.Vulkan/Window.cs b/Ryujinx.Graphics.Vulkan/Window.cs index 3e0a267b4..88d556819 100644 --- a/Ryujinx.Graphics.Vulkan/Window.cs +++ b/Ryujinx.Graphics.Vulkan/Window.cs @@ -6,7 +6,7 @@ using VkFormat = Silk.NET.Vulkan.Format; namespace Ryujinx.Graphics.Vulkan { - class Window : IWindow, IDisposable + class Window : WindowBase, IDisposable { private const int SurfaceWidth = 1280; private const int SurfaceHeight = 720; @@ -27,8 +27,6 @@ namespace Ryujinx.Graphics.Vulkan private int _height; private VkFormat _format; - internal bool ScreenCaptureRequested { get; set; } - public unsafe Window(VulkanGraphicsDevice gd, SurfaceKHR surface, PhysicalDevice physicalDevice, Device device) { _gd = gd; @@ -211,7 +209,7 @@ namespace Ryujinx.Graphics.Vulkan } } - public unsafe void Present(ITexture texture, ImageCrop crop, Action swapBuffersCallback) + public unsafe override void Present(ITexture texture, ImageCrop crop, Action swapBuffersCallback) { uint nextImage = 0; @@ -401,7 +399,7 @@ namespace Ryujinx.Graphics.Vulkan _gd.OnScreenCaptured(new ScreenCaptureImageInfo(width, height, isBgra, bitmap, flipX, flipY)); } - public void SetSize(int width, int height) + public override void SetSize(int width, int height) { // Not needed as we can get the size from the surface. } @@ -426,7 +424,7 @@ namespace Ryujinx.Graphics.Vulkan } } - public void Dispose() + public override void Dispose() { Dispose(true); } diff --git a/Ryujinx.Graphics.Vulkan/WindowBase.cs b/Ryujinx.Graphics.Vulkan/WindowBase.cs new file mode 100644 index 000000000..4f1f0d165 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/WindowBase.cs @@ -0,0 +1,14 @@ +using Ryujinx.Graphics.GAL; +using System; + +namespace Ryujinx.Graphics.Vulkan +{ + internal abstract class WindowBase: IWindow + { + public bool ScreenCaptureRequested { get; set; } + + public abstract void Dispose(); + public abstract void Present(ITexture texture, ImageCrop crop, Action swapBuffersCallback); + public abstract void SetSize(int width, int height); + } +} \ No newline at end of file From 572759a4ac22676218a0d4a99fdd7052b78f7d6b Mon Sep 17 00:00:00 2001 From: gdk Date: Thu, 2 Jun 2022 23:51:27 -0300 Subject: [PATCH 159/179] Combine non-buffer with buffer image descriptor sets --- Ryujinx.Graphics.GAL/ShaderBindings.cs | 8 +- .../Shader/DiskCache/DiskCacheHostStorage.cs | 2 +- .../Shader/GpuAccessorBase.cs | 18 +- Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs | 20 +-- .../CodeGen/Glsl/Declarations.cs | 12 +- .../CodeGen/Spirv/Declarations.cs | 6 +- Ryujinx.Graphics.Shader/IGpuAccessor.cs | 6 +- .../Translation/ShaderConfig.cs | 5 +- .../DescriptorSetUpdater.cs | 156 ++++++++---------- Ryujinx.Graphics.Vulkan/HelperShader.cs | 16 +- Ryujinx.Graphics.Vulkan/PipelineBase.cs | 9 +- Ryujinx.Graphics.Vulkan/PipelineFull.cs | 138 ---------------- .../PipelineHelperShader.cs | 59 ------- .../PipelineLayoutFactory.cs | 42 ++--- Ryujinx.Graphics.Vulkan/ShaderCollection.cs | 4 +- 15 files changed, 123 insertions(+), 378 deletions(-) diff --git a/Ryujinx.Graphics.GAL/ShaderBindings.cs b/Ryujinx.Graphics.GAL/ShaderBindings.cs index dc6099fe5..ea8e17491 100644 --- a/Ryujinx.Graphics.GAL/ShaderBindings.cs +++ b/Ryujinx.Graphics.GAL/ShaderBindings.cs @@ -8,23 +8,17 @@ namespace Ryujinx.Graphics.GAL public IReadOnlyCollection StorageBufferBindings { get; } public IReadOnlyCollection TextureBindings { get; } public IReadOnlyCollection ImageBindings { get; } - public IReadOnlyCollection BufferTextureBindings { get; } - public IReadOnlyCollection BufferImageBindings { get; } public ShaderBindings( IReadOnlyCollection uniformBufferBindings, IReadOnlyCollection storageBufferBindings, IReadOnlyCollection textureBindings, - IReadOnlyCollection imageBindings, - IReadOnlyCollection bufferTextureBindings, - IReadOnlyCollection bufferImageBindings) + IReadOnlyCollection imageBindings) { UniformBufferBindings = uniformBufferBindings; StorageBufferBindings = storageBufferBindings; TextureBindings = textureBindings; ImageBindings = imageBindings; - BufferTextureBindings = bufferTextureBindings; - BufferImageBindings = bufferImageBindings; } } } diff --git a/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs b/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs index 3f70b8a75..77fcb256f 100644 --- a/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs +++ b/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs @@ -22,7 +22,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache private const ushort FileFormatVersionMajor = 1; private const ushort FileFormatVersionMinor = 2; private const uint FileFormatVersionPacked = ((uint)FileFormatVersionMajor << 16) | FileFormatVersionMinor; - private const uint CodeGenVersion = 8; + private const uint CodeGenVersion = 9; private const string SharedTocFileName = "shared.toc"; private const string SharedDataFileName = "shared.data"; diff --git a/Ryujinx.Graphics.Gpu/Shader/GpuAccessorBase.cs b/Ryujinx.Graphics.Gpu/Shader/GpuAccessorBase.cs index 8c28af5b8..77b613de7 100644 --- a/Ryujinx.Graphics.Gpu/Shader/GpuAccessorBase.cs +++ b/Ryujinx.Graphics.Gpu/Shader/GpuAccessorBase.cs @@ -54,11 +54,16 @@ namespace Ryujinx.Graphics.Gpu.Shader } /// - public int QueryBindingTexture(int index) + public int QueryBindingTexture(int index, bool isBuffer) { if (_context.Capabilities.Api == TargetApi.Vulkan) { - return GetBindingFromIndex(index, _context.Capabilities.MaximumTexturesPerStage, "Texture"); + if (isBuffer) + { + index += (int)_context.Capabilities.MaximumTexturesPerStage; + } + + return GetBindingFromIndex(index, _context.Capabilities.MaximumTexturesPerStage * 2, "Texture"); } else { @@ -67,11 +72,16 @@ namespace Ryujinx.Graphics.Gpu.Shader } /// - public int QueryBindingImage(int index) + public int QueryBindingImage(int index, bool isBuffer) { if (_context.Capabilities.Api == TargetApi.Vulkan) { - return GetBindingFromIndex(index, _context.Capabilities.MaximumImagesPerStage, "Image"); + if (isBuffer) + { + index += (int)_context.Capabilities.MaximumImagesPerStage; + } + + return GetBindingFromIndex(index, _context.Capabilities.MaximumImagesPerStage * 2, "Image"); } else { diff --git a/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs b/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs index fde74d3b8..8834b5a5f 100644 --- a/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs +++ b/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs @@ -661,30 +661,16 @@ namespace Ryujinx.Graphics.Gpu.Shader public static ShaderBindings GetBindings(ShaderProgramInfo info) { - static bool IsBuffer(Graphics.Shader.TextureDescriptor descriptor) - { - return (descriptor.Type & SamplerType.Mask) == SamplerType.TextureBuffer; - } - - static bool IsNotBuffer(Graphics.Shader.TextureDescriptor descriptor) - { - return !IsBuffer(descriptor); - } - var uniformBufferBindings = info.CBuffers.Select(x => x.Binding).ToArray(); var storageBufferBindings = info.SBuffers.Select(x => x.Binding).ToArray(); - var textureBindings = info.Textures.Where(IsNotBuffer).Select(x => x.Binding).ToArray(); - var imageBindings = info.Images.Where(IsNotBuffer).Select(x => x.Binding).ToArray(); - var bufferTextureBindings = info.Textures.Where(IsBuffer).Select(x => x.Binding).ToArray(); - var bufferImageBindings = info.Images.Where(IsBuffer).Select(x => x.Binding).ToArray(); + var textureBindings = info.Textures.Select(x => x.Binding).ToArray(); + var imageBindings = info.Images.Select(x => x.Binding).ToArray(); return new ShaderBindings( uniformBufferBindings, storageBufferBindings, textureBindings, - imageBindings, - bufferTextureBindings, - bufferImageBindings); + imageBindings); } private static TranslationOptions CreateTranslationOptions(TargetApi api, TranslationFlags flags) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Glsl/Declarations.cs b/Ryujinx.Graphics.Shader/CodeGen/Glsl/Declarations.cs index 051491a15..8be2a32c4 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Glsl/Declarations.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Glsl/Declarations.cs @@ -458,10 +458,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl if (context.Config.Options.TargetApi == TargetApi.Vulkan) { - bool isBuffer = (descriptor.Type & SamplerType.Mask) == SamplerType.TextureBuffer; - int setIndex = isBuffer ? 4 : 2; - - layout = $", set = {setIndex}"; + layout = ", set = 2"; } context.AppendLine($"layout (binding = {descriptor.Binding}{layout}) uniform {samplerTypeName} {samplerName};"); @@ -511,10 +508,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl if (context.Config.Options.TargetApi == TargetApi.Vulkan) { - bool isBuffer = (descriptor.Type & SamplerType.Mask) == SamplerType.TextureBuffer; - int setIndex = isBuffer ? 5 : 3; - - layout = $", set = {setIndex}{layout}"; + layout = $", set = 3{layout}"; } context.AppendLine($"layout (binding = {descriptor.Binding}{layout}) uniform {imageTypeName} {imageName};"); @@ -693,7 +687,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl private static void DeclareSupportUniformBlock(CodeGenContext context, ShaderStage stage, int scaleElements) { - bool needsSupportBlock = stage == ShaderStage.Fragment || + bool needsSupportBlock = stage == ShaderStage.Fragment || (context.Config.LastInVertexPipeline && context.Config.GpuAccessor.QueryViewportTransformDisable()); if (!needsSupportBlock && scaleElements == 0) diff --git a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs index e6f916b76..728e8053a 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs +++ b/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs @@ -252,8 +252,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv continue; } - bool isBuffer = (descriptor.Type & SamplerType.Mask) == SamplerType.TextureBuffer; - int setIndex = context.Config.Options.TargetApi == TargetApi.Vulkan ? (isBuffer ? 4 : 2) : 0; + int setIndex = context.Config.Options.TargetApi == TargetApi.Vulkan ? 2 : 0; var dim = (descriptor.Type & SamplerType.Mask) switch { @@ -301,8 +300,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv continue; } - bool isBuffer = (descriptor.Type & SamplerType.Mask) == SamplerType.TextureBuffer; - int setIndex = context.Config.Options.TargetApi == TargetApi.Vulkan ? (isBuffer ? 5 : 3) : 0; + int setIndex = context.Config.Options.TargetApi == TargetApi.Vulkan ? 3 : 0; var dim = GetDim(descriptor.Type); diff --git a/Ryujinx.Graphics.Shader/IGpuAccessor.cs b/Ryujinx.Graphics.Shader/IGpuAccessor.cs index e6a62302a..178c1042d 100644 --- a/Ryujinx.Graphics.Shader/IGpuAccessor.cs +++ b/Ryujinx.Graphics.Shader/IGpuAccessor.cs @@ -73,8 +73,9 @@ namespace Ryujinx.Graphics.Shader /// Queries the binding number of a texture. /// /// Texture index + /// Indicates if the texture is a buffer texture /// Binding number - int QueryBindingTexture(int index) + int QueryBindingTexture(int index, bool isBuffer) { return index; } @@ -83,8 +84,9 @@ namespace Ryujinx.Graphics.Shader /// Queries the binding number of an image. /// /// Image index + /// Indicates if the image is a buffer image /// Binding number - int QueryBindingImage(int index) + int QueryBindingImage(int index, bool isBuffer) { return index; } diff --git a/Ryujinx.Graphics.Shader/Translation/ShaderConfig.cs b/Ryujinx.Graphics.Shader/Translation/ShaderConfig.cs index c5e138879..60c3a0b4c 100644 --- a/Ryujinx.Graphics.Shader/Translation/ShaderConfig.cs +++ b/Ryujinx.Graphics.Shader/Translation/ShaderConfig.cs @@ -589,7 +589,7 @@ namespace Ryujinx.Graphics.Shader.Translation return _cachedImageDescriptors ??= GetTextureOrImageDescriptors(_usedImages, GpuAccessor.QueryBindingImage); } - private static TextureDescriptor[] GetTextureOrImageDescriptors(Dictionary dict, Func getBindingCallback) + private static TextureDescriptor[] GetTextureOrImageDescriptors(Dictionary dict, Func getBindingCallback) { var descriptors = new TextureDescriptor[dict.Count]; @@ -599,7 +599,8 @@ namespace Ryujinx.Graphics.Shader.Translation var info = kv.Key; var meta = kv.Value; - int binding = getBindingCallback(i); + bool isBuffer = (meta.Type & SamplerType.Mask) == SamplerType.TextureBuffer; + int binding = getBindingCallback(i, isBuffer); descriptors[i] = new TextureDescriptor(binding, meta.Type, info.Format, info.CbufSlot, info.Handle); descriptors[i].SetFlag(meta.UsageFlags); diff --git a/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs b/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs index cb8403e14..65c7a67bc 100644 --- a/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs +++ b/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs @@ -38,9 +38,7 @@ namespace Ryujinx.Graphics.Vulkan Storage = 1 << 1, Texture = 1 << 2, Image = 1 << 3, - BufferTexture = 1 << 4, - BufferImage = 1 << 5, - All = Uniform | Storage | Texture | Image | BufferTexture | BufferImage + All = Uniform | Storage | Texture | Image } private DirtyFlags _dirty; @@ -56,9 +54,9 @@ namespace Ryujinx.Graphics.Vulkan _uniformBuffers = Array.Empty(); _storageBuffers = Array.Empty(); - _textures = new DescriptorImageInfo[32 * 5]; - _textureRefs = new Auto[32 * 5]; - _samplerRefs = new Auto[32 * 5]; + _textures = new DescriptorImageInfo[Constants.MaxTexturesPerStage * Constants.MaxShaderStages]; + _textureRefs = new Auto[Constants.MaxTexturesPerStage * Constants.MaxShaderStages]; + _samplerRefs = new Auto[Constants.MaxTexturesPerStage * Constants.MaxShaderStages]; _images = Array.Empty(); _bufferTextures = Array.Empty(); _bufferImages = Array.Empty(); @@ -131,8 +129,6 @@ namespace Ryujinx.Graphics.Vulkan _bufferImageRefs[binding] = imageBuffer; _bufferImageFormats[binding] = imageFormat; - - SignalDirty(DirtyFlags.BufferImage); } else { @@ -150,9 +146,9 @@ namespace Ryujinx.Graphics.Vulkan ImageLayout = ImageLayout.General }; } - - SignalDirty(DirtyFlags.Image); } + + SignalDirty(DirtyFlags.Image); } public void SetStorageBuffers(CommandBuffer commandBuffer, int first, ReadOnlySpan buffers) @@ -195,8 +191,6 @@ namespace Ryujinx.Graphics.Vulkan } _bufferTextureRefs[binding] = textureBuffer; - - SignalDirty(DirtyFlags.BufferTexture); } else { @@ -218,9 +212,9 @@ namespace Ryujinx.Graphics.Vulkan { ImageLayout = ImageLayout.General }; - - SignalDirty(DirtyFlags.Texture); } + + SignalDirty(DirtyFlags.Texture); } public void SetUniformBuffers(CommandBuffer commandBuffer, int first, ReadOnlySpan buffers) @@ -281,16 +275,6 @@ namespace Ryujinx.Graphics.Vulkan UpdateAndBind(cbs, PipelineBase.ImageSetIndex, DirtyFlags.Image, pbp); } - if (_dirty.HasFlag(DirtyFlags.BufferTexture)) - { - UpdateAndBind(cbs, PipelineBase.BufferTextureSetIndex, DirtyFlags.BufferTexture, pbp); - } - - if (_dirty.HasFlag(DirtyFlags.BufferImage)) - { - UpdateAndBind(cbs, PipelineBase.BufferImageSetIndex, DirtyFlags.BufferImage, pbp); - } - _dirty = DirtyFlags.None; } @@ -396,78 +380,84 @@ namespace Ryujinx.Graphics.Vulkan } else if (setIndex == PipelineBase.TextureSetIndex) { - for (int i = 0; i < count; i++) + if ((binding % (Constants.MaxTexturesPerStage * 2)) < Constants.MaxTexturesPerStage) { - ref var texture = ref _textures[binding + i]; - - texture.ImageView = _textureRefs[binding + i]?.Get(cbs).Value ?? default; - texture.Sampler = _samplerRefs[binding + i]?.Get(cbs).Value ?? default; - texture.ImageLayout = ImageLayout.General; - - if (texture.ImageView.Handle == 0) + for (int i = 0; i < count; i++) { - texture.ImageView = _dummyTexture.GetImageView().Get(cbs).Value; + ref var texture = ref _textures[binding + i]; + + texture.ImageView = _textureRefs[binding + i]?.Get(cbs).Value ?? default; + texture.Sampler = _samplerRefs[binding + i]?.Get(cbs).Value ?? default; + texture.ImageLayout = ImageLayout.General; + + if (texture.ImageView.Handle == 0) + { + texture.ImageView = _dummyTexture.GetImageView().Get(cbs).Value; + } + + if (texture.Sampler.Handle == 0) + { + texture.Sampler = _dummySampler.GetSampler().Get(cbs).Value; + } } - if (texture.Sampler.Handle == 0) - { - texture.Sampler = _dummySampler.GetSampler().Get(cbs).Value; - } + ReadOnlySpan textures = _textures; + dsc.UpdateImages(0, binding, textures.Slice(binding, count), DescriptorType.CombinedImageSampler); } + else + { + count = Math.Min(count, _bufferTextures.Length - binding); - ReadOnlySpan textures = _textures; - dsc.UpdateImages(0, binding, textures.Slice(binding, count), DescriptorType.CombinedImageSampler); + if (count <= 0) + { + break; + } + + for (int i = 0; i < count; i++) + { + _bufferTextures[binding + i] = _bufferTextureRefs[binding + i]?.GetBufferView(cbs) ?? default; + } + + ReadOnlySpan bufferTextures = _bufferTextures; + dsc.UpdateBufferImages(0, binding, bufferTextures.Slice(binding, count), DescriptorType.UniformTexelBuffer); + } } else if (setIndex == PipelineBase.ImageSetIndex) { - count = Math.Min(count, _images.Length - binding); - - if (count <= 0) + if ((binding % (Constants.MaxImagesPerStage * 2)) < Constants.MaxImagesPerStage) { - break; - } + count = Math.Min(count, _images.Length - binding); - for (int i = 0; i < count; i++) + if (count <= 0) + { + break; + } + + for (int i = 0; i < count; i++) + { + _images[binding + i].ImageView = _imageRefs[binding + i]?.Get(cbs).Value ?? default; + } + + ReadOnlySpan images = _images; + dsc.UpdateImages(0, binding, images.Slice(binding, count), DescriptorType.StorageImage); + } + else { - _images[binding + i].ImageView = _imageRefs[binding + i]?.Get(cbs).Value ?? default; + count = Math.Min(count, _bufferImages.Length - binding); + + if (count <= 0) + { + break; + } + + for (int i = 0; i < count; i++) + { + _bufferImages[binding + i] = _bufferImageRefs[binding + i]?.GetBufferView(cbs, _bufferImageFormats[binding + i]) ?? default; + } + + ReadOnlySpan bufferImages = _bufferImages; + dsc.UpdateBufferImages(0, binding, bufferImages.Slice(binding, count), DescriptorType.StorageTexelBuffer); } - - ReadOnlySpan images = _images; - dsc.UpdateImages(0, binding, images.Slice(binding, count), DescriptorType.StorageImage); - } - else if (setIndex == PipelineBase.BufferTextureSetIndex) - { - count = Math.Min(count, _bufferTextures.Length - binding); - - if (count <= 0) - { - break; - } - - for (int i = 0; i < count; i++) - { - _bufferTextures[binding + i] = _bufferTextureRefs[binding + i]?.GetBufferView(cbs) ?? default; - } - - ReadOnlySpan bufferTextures = _bufferTextures; - dsc.UpdateBufferImages(0, binding, bufferTextures.Slice(binding, count), DescriptorType.UniformTexelBuffer); - } - else if (setIndex == PipelineBase.BufferImageSetIndex) - { - count = Math.Min(count, _bufferImages.Length - binding); - - if (count <= 0) - { - break; - } - - for (int i = 0; i < count; i++) - { - _bufferImages[binding + i] = _bufferImageRefs[binding + i]?.GetBufferView(cbs, _bufferImageFormats[binding + i]) ?? default; - } - - ReadOnlySpan bufferImages = _bufferImages; - dsc.UpdateBufferImages(0, binding, bufferImages.Slice(binding, count), DescriptorType.StorageTexelBuffer); } } } diff --git a/Ryujinx.Graphics.Vulkan/HelperShader.cs b/Ryujinx.Graphics.Vulkan/HelperShader.cs index 4f33e676a..15e16bc82 100644 --- a/Ryujinx.Graphics.Vulkan/HelperShader.cs +++ b/Ryujinx.Graphics.Vulkan/HelperShader.cs @@ -31,7 +31,7 @@ void main() private const string ColorBlitFragmentShaderSource = @"#version 450 core -layout (binding = 64, set = 2) uniform sampler2D tex; +layout (binding = 128, set = 2) uniform sampler2D tex; layout (location = 0) in vec2 tex_coord; layout (location = 0) out vec4 colour; @@ -43,7 +43,7 @@ void main() private const string ColorBlitClearAlphaFragmentShaderSource = @"#version 450 core -layout (binding = 64, set = 2) uniform sampler2D tex; +layout (binding = 128, set = 2) uniform sampler2D tex; layout (location = 0) in vec2 tex_coord; layout (location = 0) out vec4 colour; @@ -119,16 +119,12 @@ void main() new[] { 1 }, Array.Empty(), Array.Empty(), - Array.Empty(), - Array.Empty(), Array.Empty()); var fragmentBindings = new ShaderBindings( Array.Empty(), Array.Empty(), - new[] { Constants.MaxTexturesPerStage }, - Array.Empty(), - Array.Empty(), + new[] { Constants.MaxTexturesPerStage * 2 }, Array.Empty()); var colorBlitVertexShader = gd.CompileShader(ShaderStage.Vertex, vertexBindings, ColorBlitVertexShaderSource); @@ -139,8 +135,6 @@ void main() _programColorBlitClearAlpha = gd.CreateProgram(new[] { colorBlitVertexShader, colorBlitClearAlphaFragmentShader }, new ShaderInfo(-1)); var fragmentBindings2 = new ShaderBindings( - Array.Empty(), - Array.Empty(), Array.Empty(), Array.Empty(), Array.Empty(), @@ -190,7 +184,7 @@ void main() var sampler = linearFilter ? _samplerLinear : _samplerNearest; - _pipeline.SetTextureAndSampler(ShaderStage.Fragment, Constants.MaxTexturesPerStage, src, sampler); + _pipeline.SetTextureAndSampler(ShaderStage.Fragment, Constants.MaxTexturesPerStage * 2, src, sampler); Span region = stackalloc float[RegionBufferSize / sizeof(float)]; @@ -327,7 +321,7 @@ void main() { const int RegionBufferSize = 16; - pipeline.SetTextureAndSampler(ShaderStage.Fragment, Constants.MaxTexturesPerStage, src, srcSampler); + pipeline.SetTextureAndSampler(ShaderStage.Fragment, Constants.MaxTexturesPerStage * 2, src, srcSampler); Span region = stackalloc float[RegionBufferSize / sizeof(float)]; diff --git a/Ryujinx.Graphics.Vulkan/PipelineBase.cs b/Ryujinx.Graphics.Vulkan/PipelineBase.cs index 287218ed2..3c2cd94b1 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineBase.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineBase.cs @@ -7,14 +7,12 @@ namespace Ryujinx.Graphics.Vulkan { class PipelineBase : IDisposable { - public const int DescriptorSetLayouts = 6; + public const int DescriptorSetLayouts = 4; public const int UniformSetIndex = 0; public const int StorageSetIndex = 1; public const int TextureSetIndex = 2; public const int ImageSetIndex = 3; - public const int BufferTextureSetIndex = 4; - public const int BufferImageSetIndex = 5; protected readonly VulkanGraphicsDevice Gd; protected readonly Device Device; @@ -103,11 +101,6 @@ namespace Ryujinx.Graphics.Vulkan _newState.SamplesCount = 1; } - protected virtual DescriptorSetLayout[] CreateDescriptorSetLayouts(VulkanGraphicsDevice gd, Device device, out PipelineLayout layout) - { - throw new NotSupportedException(); - } - public unsafe void Barrier() { MemoryBarrier memoryBarrier = new MemoryBarrier() diff --git a/Ryujinx.Graphics.Vulkan/PipelineFull.cs b/Ryujinx.Graphics.Vulkan/PipelineFull.cs index ea6a13f8e..bea8d2593 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineFull.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineFull.cs @@ -45,144 +45,6 @@ namespace Ryujinx.Graphics.Vulkan _pendingQueryCopies.Clear(); } - protected override unsafe DescriptorSetLayout[] CreateDescriptorSetLayouts(VulkanGraphicsDevice gd, Device device, out PipelineLayout layout) - { - DescriptorSetLayoutBinding* uLayoutBindings = stackalloc DescriptorSetLayoutBinding[Constants.MaxUniformBufferBindings]; - DescriptorSetLayoutBinding* sLayoutBindings = stackalloc DescriptorSetLayoutBinding[Constants.MaxStorageBufferBindings]; - DescriptorSetLayoutBinding* tLayoutBindings = stackalloc DescriptorSetLayoutBinding[Constants.MaxTextureBindings]; - DescriptorSetLayoutBinding* iLayoutBindings = stackalloc DescriptorSetLayoutBinding[Constants.MaxImageBindings]; - DescriptorSetLayoutBinding* bTLayoutBindings = stackalloc DescriptorSetLayoutBinding[Constants.MaxTextureBindings]; - DescriptorSetLayoutBinding* bILayoutBindings = stackalloc DescriptorSetLayoutBinding[Constants.MaxImageBindings]; - - DescriptorBindingFlags* pUBindingsFlags = stackalloc DescriptorBindingFlags[Constants.MaxUniformBufferBindings]; - DescriptorBindingFlags* pSBindingsFlags = stackalloc DescriptorBindingFlags[Constants.MaxStorageBufferBindings]; - DescriptorBindingFlags* pTBindingsFlags = stackalloc DescriptorBindingFlags[Constants.MaxTextureBindings]; - DescriptorBindingFlags* pIBindingsFlags = stackalloc DescriptorBindingFlags[Constants.MaxImageBindings]; - DescriptorBindingFlags* pBTBindingsFlags = stackalloc DescriptorBindingFlags[Constants.MaxTextureBindings]; - DescriptorBindingFlags* pBIBindingsFlags = stackalloc DescriptorBindingFlags[Constants.MaxImageBindings]; - - static DescriptorSetLayoutBindingFlagsCreateInfo CreateFlagsInfo(DescriptorBindingFlags* pBindingFlags, uint count) - { - return new DescriptorSetLayoutBindingFlagsCreateInfo() - { - SType = StructureType.DescriptorSetLayoutBindingFlagsCreateInfo, - PBindingFlags = pBindingFlags, - BindingCount = count - }; - } - - var uLayoutBindingFlags = CreateFlagsInfo(pUBindingsFlags, Constants.MaxUniformBufferBindings); - var sLayoutBindingFlags = CreateFlagsInfo(pSBindingsFlags, Constants.MaxStorageBufferBindings); - var tLayoutBindingFlags = CreateFlagsInfo(pTBindingsFlags, Constants.MaxTextureBindings); - var iLayoutBindingFlags = CreateFlagsInfo(pIBindingsFlags, Constants.MaxImageBindings); - var bTLayoutBindingFlags = CreateFlagsInfo(pBTBindingsFlags, Constants.MaxTextureBindings); - var bILayoutBindingFlags = CreateFlagsInfo(pBIBindingsFlags, Constants.MaxImageBindings); - - for (int stage = 0; stage < Constants.MaxShaderStages; stage++) - { - var stageFlags = (ShaderStageFlags)(1 << stage); - - if (stage == 0) - { - stageFlags |= ShaderStageFlags.ShaderStageComputeBit; - } - - void Set( - DescriptorSetLayoutBinding* bindings, - DescriptorSetLayoutBindingFlagsCreateInfo bindingFlagsCreateInfo, - int maxPerStage, - DescriptorType type) - { - for (int i = 0; i < maxPerStage; i++) - { - int j = stage * maxPerStage + i; - - bindings[j] = new DescriptorSetLayoutBinding - { - Binding = (uint)j, - DescriptorType = type, - DescriptorCount = 1, - StageFlags = stageFlags - }; - - bindingFlagsCreateInfo.PBindingFlags[j] = DescriptorBindingFlags.DescriptorBindingPartiallyBoundBit; - } - } - - Set(uLayoutBindings, uLayoutBindingFlags, Constants.MaxUniformBuffersPerStage, DescriptorType.UniformBuffer); - Set(sLayoutBindings, sLayoutBindingFlags, Constants.MaxStorageBuffersPerStage, DescriptorType.StorageBuffer); - Set(tLayoutBindings, tLayoutBindingFlags, Constants.MaxTexturesPerStage, DescriptorType.CombinedImageSampler); - Set(iLayoutBindings, iLayoutBindingFlags, Constants.MaxImagesPerStage, DescriptorType.StorageImage); - Set(bTLayoutBindings, bTLayoutBindingFlags, Constants.MaxTexturesPerStage, DescriptorType.UniformTexelBuffer); - Set(bILayoutBindings, bILayoutBindingFlags, Constants.MaxImagesPerStage, DescriptorType.StorageTexelBuffer); - } - - DescriptorSetLayout[] layouts = new DescriptorSetLayout[DescriptorSetLayouts]; - - var uDescriptorSetLayoutCreateInfo = new DescriptorSetLayoutCreateInfo() - { - SType = StructureType.DescriptorSetLayoutCreateInfo, - PBindings = uLayoutBindings, - BindingCount = Constants.MaxUniformBufferBindings - }; - - var sDescriptorSetLayoutCreateInfo = new DescriptorSetLayoutCreateInfo() - { - SType = StructureType.DescriptorSetLayoutCreateInfo, - PBindings = sLayoutBindings, - BindingCount = Constants.MaxStorageBufferBindings - }; - - var tDescriptorSetLayoutCreateInfo = new DescriptorSetLayoutCreateInfo() - { - SType = StructureType.DescriptorSetLayoutCreateInfo, - PBindings = tLayoutBindings, - BindingCount = Constants.MaxTextureBindings - }; - - var iDescriptorSetLayoutCreateInfo = new DescriptorSetLayoutCreateInfo() - { - SType = StructureType.DescriptorSetLayoutCreateInfo, - PBindings = iLayoutBindings, - BindingCount = Constants.MaxImageBindings - }; - - var bTDescriptorSetLayoutCreateInfo = new DescriptorSetLayoutCreateInfo() - { - SType = StructureType.DescriptorSetLayoutCreateInfo, - PBindings = bTLayoutBindings, - BindingCount = Constants.MaxTextureBindings - }; - - var bIDescriptorSetLayoutCreateInfo = new DescriptorSetLayoutCreateInfo() - { - SType = StructureType.DescriptorSetLayoutCreateInfo, - PBindings = bILayoutBindings, - BindingCount = Constants.MaxImageBindings - }; - - gd.Api.CreateDescriptorSetLayout(device, uDescriptorSetLayoutCreateInfo, null, out layouts[UniformSetIndex]).ThrowOnError(); - gd.Api.CreateDescriptorSetLayout(device, sDescriptorSetLayoutCreateInfo, null, out layouts[StorageSetIndex]).ThrowOnError(); - gd.Api.CreateDescriptorSetLayout(device, tDescriptorSetLayoutCreateInfo, null, out layouts[TextureSetIndex]).ThrowOnError(); - gd.Api.CreateDescriptorSetLayout(device, iDescriptorSetLayoutCreateInfo, null, out layouts[ImageSetIndex]).ThrowOnError(); - gd.Api.CreateDescriptorSetLayout(device, bTDescriptorSetLayoutCreateInfo, null, out layouts[BufferTextureSetIndex]).ThrowOnError(); - gd.Api.CreateDescriptorSetLayout(device, bIDescriptorSetLayoutCreateInfo, null, out layouts[BufferImageSetIndex]).ThrowOnError(); - - fixed (DescriptorSetLayout* pLayouts = layouts) - { - var pipelineLayoutCreateInfo = new PipelineLayoutCreateInfo() - { - SType = StructureType.PipelineLayoutCreateInfo, - PSetLayouts = pLayouts, - SetLayoutCount = DescriptorSetLayouts - }; - - gd.Api.CreatePipelineLayout(device, &pipelineLayoutCreateInfo, null, out layout).ThrowOnError(); - } - - return layouts; - } - public void ClearRenderTargetColor(int index, uint componentMask, ColorF color) { if (FramebufferParams == null) diff --git a/Ryujinx.Graphics.Vulkan/PipelineHelperShader.cs b/Ryujinx.Graphics.Vulkan/PipelineHelperShader.cs index f4d529643..f0126a420 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineHelperShader.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineHelperShader.cs @@ -9,65 +9,6 @@ namespace Ryujinx.Graphics.Vulkan { } - protected override unsafe DescriptorSetLayout[] CreateDescriptorSetLayouts(VulkanGraphicsDevice gd, Device device, out PipelineLayout layout) - { - DescriptorSetLayoutBinding uLayoutBindings = new DescriptorSetLayoutBinding - { - Binding = 0, - DescriptorType = DescriptorType.UniformBuffer, - DescriptorCount = 1, - StageFlags = ShaderStageFlags.ShaderStageVertexBit - }; - - DescriptorSetLayoutBinding tLayoutBindings = new DescriptorSetLayoutBinding - { - Binding = 0, - DescriptorType = DescriptorType.CombinedImageSampler, - DescriptorCount = 1, - StageFlags = ShaderStageFlags.ShaderStageFragmentBit - }; - - DescriptorSetLayout[] layouts = new DescriptorSetLayout[3]; - - var uDescriptorSetLayoutCreateInfo = new DescriptorSetLayoutCreateInfo() - { - SType = StructureType.DescriptorSetLayoutCreateInfo, - PBindings = &uLayoutBindings, - BindingCount = 1 - }; - - var sDescriptorSetLayoutCreateInfo = new DescriptorSetLayoutCreateInfo() - { - SType = StructureType.DescriptorSetLayoutCreateInfo, - BindingCount = 0 - }; - - var tDescriptorSetLayoutCreateInfo = new DescriptorSetLayoutCreateInfo() - { - SType = StructureType.DescriptorSetLayoutCreateInfo, - PBindings = &tLayoutBindings, - BindingCount = 1 - }; - - gd.Api.CreateDescriptorSetLayout(device, uDescriptorSetLayoutCreateInfo, null, out layouts[0]).ThrowOnError(); - gd.Api.CreateDescriptorSetLayout(device, sDescriptorSetLayoutCreateInfo, null, out layouts[1]).ThrowOnError(); - gd.Api.CreateDescriptorSetLayout(device, tDescriptorSetLayoutCreateInfo, null, out layouts[2]).ThrowOnError(); - - fixed (DescriptorSetLayout* pLayouts = layouts) - { - var pipelineLayoutCreateInfo = new PipelineLayoutCreateInfo() - { - SType = StructureType.PipelineLayoutCreateInfo, - PSetLayouts = pLayouts, - SetLayoutCount = 3 - }; - - gd.Api.CreatePipelineLayout(device, &pipelineLayoutCreateInfo, null, out layout).ThrowOnError(); - } - - return layouts; - } - public void SetRenderTarget(Auto view, uint width, uint height, bool isDepthStencil, VkFormat format) { CreateFramebuffer(view, width, height, isDepthStencil, format); diff --git a/Ryujinx.Graphics.Vulkan/PipelineLayoutFactory.cs b/Ryujinx.Graphics.Vulkan/PipelineLayoutFactory.cs index 02b19c92b..0f289c68d 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineLayoutFactory.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineLayoutFactory.cs @@ -10,17 +10,13 @@ namespace Ryujinx.Graphics.Vulkan int stagesCount = BitOperations.PopCount(stages); int uCount = Constants.MaxUniformBuffersPerStage * stagesCount + 1; - int tCount = Constants.MaxTexturesPerStage * stagesCount; - int iCount = Constants.MaxImagesPerStage * stagesCount; - int bTCount = tCount; - int bICount = iCount; + int tCount = Constants.MaxTexturesPerStage * 2 * stagesCount; + int iCount = Constants.MaxImagesPerStage * 2 * stagesCount; DescriptorSetLayoutBinding* uLayoutBindings = stackalloc DescriptorSetLayoutBinding[uCount]; DescriptorSetLayoutBinding* sLayoutBindings = stackalloc DescriptorSetLayoutBinding[stagesCount]; DescriptorSetLayoutBinding* tLayoutBindings = stackalloc DescriptorSetLayoutBinding[tCount]; DescriptorSetLayoutBinding* iLayoutBindings = stackalloc DescriptorSetLayoutBinding[iCount]; - DescriptorSetLayoutBinding* bTLayoutBindings = stackalloc DescriptorSetLayoutBinding[bTCount]; - DescriptorSetLayoutBinding* bILayoutBindings = stackalloc DescriptorSetLayoutBinding[bICount]; uLayoutBindings[0] = new DescriptorSetLayoutBinding { @@ -46,13 +42,15 @@ namespace Ryujinx.Graphics.Vulkan _ => ShaderStageFlags.ShaderStageVertexBit | ShaderStageFlags.ShaderStageComputeBit }; - void Set(DescriptorSetLayoutBinding* bindings, int maxPerStage, DescriptorType type, int start = 0) + void Set(DescriptorSetLayoutBinding* bindings, int maxPerStage, DescriptorType type, int start, int skip) { + int totalPerStage = maxPerStage * skip; + for (int i = 0; i < maxPerStage; i++) { - bindings[start + iter * maxPerStage + i] = new DescriptorSetLayoutBinding + bindings[start + iter * totalPerStage + i] = new DescriptorSetLayoutBinding { - Binding = (uint)(start + stage * maxPerStage + i), + Binding = (uint)(start + stage * totalPerStage + i), DescriptorType = type, DescriptorCount = 1, StageFlags = stageFlags @@ -71,12 +69,12 @@ namespace Ryujinx.Graphics.Vulkan }; } - Set(uLayoutBindings, Constants.MaxUniformBuffersPerStage, DescriptorType.UniformBuffer, 1); + Set(uLayoutBindings, Constants.MaxUniformBuffersPerStage, DescriptorType.UniformBuffer, 1, 1); SetStorage(sLayoutBindings, Constants.MaxStorageBuffersPerStage); - Set(tLayoutBindings, Constants.MaxTexturesPerStage, DescriptorType.CombinedImageSampler); - Set(iLayoutBindings, Constants.MaxImagesPerStage, DescriptorType.StorageImage); - Set(bTLayoutBindings, Constants.MaxTexturesPerStage, DescriptorType.UniformTexelBuffer); - Set(bILayoutBindings, Constants.MaxImagesPerStage, DescriptorType.StorageTexelBuffer); + Set(tLayoutBindings, Constants.MaxTexturesPerStage, DescriptorType.CombinedImageSampler, 0, 2); + Set(tLayoutBindings, Constants.MaxTexturesPerStage, DescriptorType.UniformTexelBuffer, Constants.MaxTexturesPerStage, 2); + Set(iLayoutBindings, Constants.MaxImagesPerStage, DescriptorType.StorageImage, 0, 2); + Set(iLayoutBindings, Constants.MaxImagesPerStage, DescriptorType.StorageTexelBuffer, Constants.MaxImagesPerStage, 2); iter++; } @@ -111,26 +109,10 @@ namespace Ryujinx.Graphics.Vulkan BindingCount = (uint)iCount }; - var bTDescriptorSetLayoutCreateInfo = new DescriptorSetLayoutCreateInfo() - { - SType = StructureType.DescriptorSetLayoutCreateInfo, - PBindings = bTLayoutBindings, - BindingCount = (uint)bTCount - }; - - var bIDescriptorSetLayoutCreateInfo = new DescriptorSetLayoutCreateInfo() - { - SType = StructureType.DescriptorSetLayoutCreateInfo, - PBindings = bILayoutBindings, - BindingCount = (uint)bICount - }; - gd.Api.CreateDescriptorSetLayout(device, uDescriptorSetLayoutCreateInfo, null, out layouts[PipelineFull.UniformSetIndex]).ThrowOnError(); gd.Api.CreateDescriptorSetLayout(device, sDescriptorSetLayoutCreateInfo, null, out layouts[PipelineFull.StorageSetIndex]).ThrowOnError(); gd.Api.CreateDescriptorSetLayout(device, tDescriptorSetLayoutCreateInfo, null, out layouts[PipelineFull.TextureSetIndex]).ThrowOnError(); gd.Api.CreateDescriptorSetLayout(device, iDescriptorSetLayoutCreateInfo, null, out layouts[PipelineFull.ImageSetIndex]).ThrowOnError(); - gd.Api.CreateDescriptorSetLayout(device, bTDescriptorSetLayoutCreateInfo, null, out layouts[PipelineFull.BufferTextureSetIndex]).ThrowOnError(); - gd.Api.CreateDescriptorSetLayout(device, bIDescriptorSetLayoutCreateInfo, null, out layouts[PipelineFull.BufferImageSetIndex]).ThrowOnError(); fixed (DescriptorSetLayout* pLayouts = layouts) { diff --git a/Ryujinx.Graphics.Vulkan/ShaderCollection.cs b/Ryujinx.Graphics.Vulkan/ShaderCollection.cs index 2373d31f8..de0ab192d 100644 --- a/Ryujinx.Graphics.Vulkan/ShaderCollection.cs +++ b/Ryujinx.Graphics.Vulkan/ShaderCollection.cs @@ -110,9 +110,7 @@ namespace Ryujinx.Graphics.Vulkan GrabAll(x => x.UniformBufferBindings), GrabAll(x => x.StorageBufferBindings), GrabAll(x => x.TextureBindings), - GrabAll(x => x.ImageBindings), - GrabAll(x => x.BufferTextureBindings), - GrabAll(x => x.BufferImageBindings) + GrabAll(x => x.ImageBindings) }; _compileTask = Task.CompletedTask; From b6764620be4f4a3322e65da73b519159a990824e Mon Sep 17 00:00:00 2001 From: gdk Date: Mon, 6 Jun 2022 11:49:37 -0300 Subject: [PATCH 160/179] Support multisample texture copy with automatic resolve on Vulkan --- .../DescriptorSetUpdater.cs | 2 +- Ryujinx.Graphics.Vulkan/TextureView.cs | 212 +++++++++++++++--- .../VulkanGraphicsDevice.cs | 7 +- 3 files changed, 189 insertions(+), 32 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs b/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs index 65c7a67bc..89e06aa20 100644 --- a/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs +++ b/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs @@ -72,7 +72,7 @@ namespace Ryujinx.Graphics.Vulkan _dummyBuffer = gd.BufferManager.Create(gd, 0x10000, forConditionalRendering: false, deviceLocal: true); } - _dummyTexture = (TextureView)gd.CreateTexture(new GAL.TextureCreateInfo( + _dummyTexture = gd.CreateTextureView(new GAL.TextureCreateInfo( 1, 1, 1, diff --git a/Ryujinx.Graphics.Vulkan/TextureView.cs b/Ryujinx.Graphics.Vulkan/TextureView.cs index 1f5009127..bcebbb143 100644 --- a/Ryujinx.Graphics.Vulkan/TextureView.cs +++ b/Ryujinx.Graphics.Vulkan/TextureView.cs @@ -2,13 +2,12 @@ using Silk.NET.Vulkan; using System; using System.Collections.Generic; -using System.Threading; using VkBuffer = Silk.NET.Vulkan.Buffer; using VkFormat = Silk.NET.Vulkan.Format; namespace Ryujinx.Graphics.Vulkan { - class TextureView : ITexture + class TextureView : ITexture, IDisposable { private readonly VulkanGraphicsDevice _gd; @@ -178,21 +177,31 @@ namespace Ryujinx.Graphics.Vulkan var srcImage = src.GetImage().Get(cbs).Value; var dstImage = dst.GetImage().Get(cbs).Value; - TextureCopy.Copy( - _gd.Api, - cbs.CommandBuffer, - srcImage, - dstImage, - src.Info, - dst.Info, - src.FirstLayer, - dst.FirstLayer, - src.FirstLevel, - dst.FirstLevel, - 0, - firstLayer, - 0, - firstLevel); + if (src.Info.Target.IsMultisample()) + { + int depth = Math.Min(src.Info.Depth, dst.Info.Depth - firstLayer); + int levels = Math.Min(src.Info.Levels, dst.Info.Levels - firstLevel); + + CopyMSToNonMS(_gd, cbs, src, dst, srcImage, dstImage, 0, firstLayer, 0, firstLevel, depth, levels); + } + else + { + TextureCopy.Copy( + _gd.Api, + cbs.CommandBuffer, + srcImage, + dstImage, + src.Info, + dst.Info, + src.FirstLayer, + dst.FirstLayer, + src.FirstLevel, + dst.FirstLevel, + 0, + firstLayer, + 0, + firstLevel); + } } public void CopyTo(ITexture destination, int srcLayer, int dstLayer, int srcLevel, int dstLevel) @@ -212,23 +221,166 @@ namespace Ryujinx.Graphics.Vulkan var srcImage = src.GetImage().Get(cbs).Value; var dstImage = dst.GetImage().Get(cbs).Value; - TextureCopy.Copy( - _gd.Api, + if (src.Info.Target.IsMultisample()) + { + CopyMSToNonMS(_gd, cbs, src, dst, srcImage, dstImage, srcLayer, dstLayer, srcLevel, dstLevel, 1, 1); + } + else + { + TextureCopy.Copy( + _gd.Api, + cbs.CommandBuffer, + srcImage, + dstImage, + src.Info, + dst.Info, + src.FirstLayer, + dst.FirstLayer, + src.FirstLevel, + dst.FirstLevel, + srcLayer, + dstLayer, + srcLevel, + dstLevel, + 1, + 1); + } + } + + private static void CopyMSToNonMS( + VulkanGraphicsDevice gd, + CommandBufferScoped cbs, + TextureView src, + TextureView dst, + Image srcImage, + Image dstImage, + int srcLayer, + int dstLayer, + int srcLevel, + int dstLevel, + int layers, + int levels) + { + bool differentFormats = src.Info.Format != dst.Info.Format; + + var target = src.Info.Target switch + { + Target.Texture2D => Target.Texture2DMultisample, + Target.Texture2DArray => Target.Texture2DMultisampleArray, + Target.Texture2DMultisampleArray => Target.Texture2DArray, + _ => Target.Texture2D + }; + + var intermmediateTarget = differentFormats ? dst.Info.Target : target; + using var intermmediate = CreateIntermmediateTexture(gd, src, ref dst._info, intermmediateTarget, layers, levels); + var intermmediateImage = intermmediate.GetImage().Get(cbs).Value; + + if (differentFormats) + { + // If the formats are different, the resolve would perform format conversion. + // So we need yet another intermmediate texture and do a copy to reinterpret the + // data into the correct (destination) format, without doing any sort of conversion. + using var intermmediate2 = CreateIntermmediateTexture(gd, src, ref src._info, target, layers, levels); + var intermmediate2Image = intermmediate2.GetImage().Get(cbs).Value; + + TextureCopy.Copy( + gd.Api, + cbs.CommandBuffer, + srcImage, + intermmediate2Image, + src.Info, + intermmediate2.Info, + src.FirstLayer, + 0, + src.FirstLevel, + 0, + srcLayer, + 0, + srcLevel, + 0, + layers, + levels); + + TextureCopy.Copy( + gd.Api, + cbs.CommandBuffer, + intermmediate2Image, + intermmediateImage, + intermmediate2.Info, + intermmediate.Info, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + layers, + levels); + } + else + { + TextureCopy.Copy( + gd.Api, + cbs.CommandBuffer, + srcImage, + intermmediateImage, + src.Info, + intermmediate.Info, + src.FirstLayer, + 0, + src.FirstLevel, + 0, + srcLayer, + 0, + srcLevel, + 0, + layers, + levels); + } + + var srcRegion = new Extents2D(0, 0, src.Width, src.Height); + var dstRegion = new Extents2D(0, 0, dst.Width, dst.Height); + + TextureCopy.Blit( + gd.Api, cbs.CommandBuffer, - srcImage, + intermmediateImage, dstImage, - src.Info, + intermmediate.Info, dst.Info, - src.FirstLayer, - dst.FirstLayer, - src.FirstLevel, - dst.FirstLevel, - srcLayer, - dstLayer, - srcLevel, - dstLevel, + srcRegion, + dstRegion, + 0, + dst.FirstLevel + dstLevel, + 0, + dst.FirstLayer + dstLayer, + layers, + levels, + true, + ImageAspectFlags.ImageAspectColorBit, + ImageAspectFlags.ImageAspectColorBit); + } + + private static TextureView CreateIntermmediateTexture(VulkanGraphicsDevice gd, TextureView src, ref TextureCreateInfo formatInfo, Target target, int depth, int levels) + { + return gd.CreateTextureView(new GAL.TextureCreateInfo( + src.Width, + src.Height, + depth, + levels, 1, - 1); + formatInfo.BlockWidth, + formatInfo.BlockHeight, + formatInfo.BytesPerPixel, + formatInfo.Format, + DepthStencilMode.Depth, + target, + SwizzleComponent.Red, + SwizzleComponent.Green, + SwizzleComponent.Blue, + SwizzleComponent.Alpha), 1f); } public void CopyTo(ITexture destination, Extents2D srcRegion, Extents2D dstRegion, bool linearFilter) diff --git a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs index dea627726..2a2561b70 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs @@ -292,7 +292,7 @@ namespace Ryujinx.Graphics.Vulkan { api.GetPhysicalDeviceQueueFamilyProperties(_physicalDevice, &propertiesCount, pProperties); } - + LoadFeatures(supportedExtensions, queueFamilyProperties[0].QueueCount, _queueFamilyIndex); _window = new ImageWindow(this, _physicalDevice, _device); @@ -356,6 +356,11 @@ namespace Ryujinx.Graphics.Vulkan return new TextureBuffer(this, info, scale); } + return CreateTextureView(info, scale); + } + + internal TextureView CreateTextureView(TextureCreateInfo info, float scale) + { // This should be disposed when all views are destroyed. using var storage = CreateTextureStorage(info, scale); return storage.CreateView(info, 0, 0); From 38ecf0f11790cf07a46480dc4f0052b2e0ef8182 Mon Sep 17 00:00:00 2001 From: gdk Date: Fri, 10 Jun 2022 21:22:44 -0300 Subject: [PATCH 161/179] Remove old CompileShader methods from the Vulkan backend --- Ryujinx.Graphics.GAL/IShader.cs | 6 - Ryujinx.Graphics.Vulkan/HelperShader.cs | 25 ++-- Ryujinx.Graphics.Vulkan/Shader.cs | 131 ++++++++---------- Ryujinx.Graphics.Vulkan/ShaderCollection.cs | 23 +-- .../VulkanGraphicsDevice.cs | 35 +---- 5 files changed, 86 insertions(+), 134 deletions(-) delete mode 100644 Ryujinx.Graphics.GAL/IShader.cs diff --git a/Ryujinx.Graphics.GAL/IShader.cs b/Ryujinx.Graphics.GAL/IShader.cs deleted file mode 100644 index be24adcda..000000000 --- a/Ryujinx.Graphics.GAL/IShader.cs +++ /dev/null @@ -1,6 +0,0 @@ -using System; - -namespace Ryujinx.Graphics.GAL -{ - public interface IShader : IDisposable { } -} diff --git a/Ryujinx.Graphics.Vulkan/HelperShader.cs b/Ryujinx.Graphics.Vulkan/HelperShader.cs index 15e16bc82..8a5c998b5 100644 --- a/Ryujinx.Graphics.Vulkan/HelperShader.cs +++ b/Ryujinx.Graphics.Vulkan/HelperShader.cs @@ -1,5 +1,6 @@ using Ryujinx.Graphics.GAL; using Ryujinx.Graphics.Shader; +using Ryujinx.Graphics.Shader.Translation; using Silk.NET.Vulkan; using System; using VkFormat = Silk.NET.Vulkan.Format; @@ -127,12 +128,17 @@ void main() new[] { Constants.MaxTexturesPerStage * 2 }, Array.Empty()); - var colorBlitVertexShader = gd.CompileShader(ShaderStage.Vertex, vertexBindings, ColorBlitVertexShaderSource); - var colorBlitFragmentShader = gd.CompileShader(ShaderStage.Fragment, fragmentBindings, ColorBlitFragmentShaderSource); - var colorBlitClearAlphaFragmentShader = gd.CompileShader(ShaderStage.Fragment, fragmentBindings, ColorBlitClearAlphaFragmentShaderSource); + _programColorBlit = gd.CreateProgram(new[] + { + new ShaderSource(ColorBlitVertexShaderSource, vertexBindings, ShaderStage.Vertex, TargetLanguage.Glsl), + new ShaderSource(ColorBlitFragmentShaderSource, fragmentBindings, ShaderStage.Fragment, TargetLanguage.Glsl), + }, new ShaderInfo(-1)); - _programColorBlit = gd.CreateProgram(new[] { colorBlitVertexShader, colorBlitFragmentShader }, new ShaderInfo(-1)); - _programColorBlitClearAlpha = gd.CreateProgram(new[] { colorBlitVertexShader, colorBlitClearAlphaFragmentShader }, new ShaderInfo(-1)); + _programColorBlitClearAlpha = gd.CreateProgram(new[] + { + new ShaderSource(ColorBlitVertexShaderSource, vertexBindings, ShaderStage.Vertex, TargetLanguage.Glsl), + new ShaderSource(ColorBlitClearAlphaFragmentShaderSource, fragmentBindings, ShaderStage.Fragment, TargetLanguage.Glsl), + }, new ShaderInfo(-1)); var fragmentBindings2 = new ShaderBindings( Array.Empty(), @@ -140,10 +146,11 @@ void main() Array.Empty(), Array.Empty()); - var colorClearVertexShader = gd.CompileShader(ShaderStage.Vertex, vertexBindings, ColorClearVertexShaderSource); - var colorClearFragmentShader = gd.CompileShader(ShaderStage.Fragment, fragmentBindings2, ColorClearFragmentShaderSource); - - _programColorClear = gd.CreateProgram(new[] { colorClearVertexShader, colorClearFragmentShader }, new ShaderInfo(-1)); + _programColorClear = gd.CreateProgram(new[] + { + new ShaderSource(ColorClearVertexShaderSource, vertexBindings, ShaderStage.Vertex, TargetLanguage.Glsl), + new ShaderSource(ColorClearFragmentShaderSource, fragmentBindings2, ShaderStage.Fragment, TargetLanguage.Glsl), + }, new ShaderInfo(-1)); } public void Blit( diff --git a/Ryujinx.Graphics.Vulkan/Shader.cs b/Ryujinx.Graphics.Vulkan/Shader.cs index 3f1896386..d15cfb2b0 100644 --- a/Ryujinx.Graphics.Vulkan/Shader.cs +++ b/Ryujinx.Graphics.Vulkan/Shader.cs @@ -10,7 +10,7 @@ using System.Threading.Tasks; namespace Ryujinx.Graphics.Vulkan { - class Shader : IShader + class Shader { // The shaderc.net dependency's Options constructor and dispose are not thread safe. // Take this lock when using them. @@ -31,86 +31,33 @@ namespace Ryujinx.Graphics.Vulkan public readonly Task CompileTask; - public unsafe Shader(Vk api, Device device, ShaderStage stage, ShaderBindings bindings, string glsl) + public unsafe Shader(Vk api, Device device, ShaderSource shaderSource) { _api = api; _device = device; - _stage = stage.Convert(); - _entryPointName = Marshal.StringToHGlobalAnsi("main"); - - Bindings = bindings; - - CompileTask = Task.Run(() => - { - glsl = glsl.Replace("gl_VertexID", "(gl_VertexIndex - gl_BaseVertex)"); - glsl = glsl.Replace("gl_InstanceID", "(gl_InstanceIndex - gl_BaseInstance)"); - - // System.Console.WriteLine(glsl); - - Options options; - - lock (_shaderOptionsLock) - { - options = new Options(false) - { - SourceLanguage = SourceLanguage.Glsl, - TargetSpirVVersion = new SpirVVersion(1, 5) - }; - } - - options.SetTargetEnvironment(TargetEnvironment.Vulkan, EnvironmentVersion.Vulkan_1_2); - Compiler compiler = new Compiler(options); - var scr = compiler.Compile(glsl, "Ryu", GetShaderCShaderStage(stage)); - - lock (_shaderOptionsLock) - { - options.Dispose(); - } - - if (scr.Status != Status.Success) - { - Logger.Error?.Print(LogClass.Gpu, $"Shader compilation error: {scr.Status} {scr.ErrorMessage}"); - - CompileStatus = ProgramLinkStatus.Failure; - - return; - } - - var spirvBytes = new Span((void*)scr.CodePointer, (int)scr.CodeLength); - - uint[] code = new uint[(scr.CodeLength + 3) / 4]; - - spirvBytes.CopyTo(MemoryMarshal.Cast(new Span(code)).Slice(0, (int)scr.CodeLength)); - - fixed (uint* pCode = code) - { - var shaderModuleCreateInfo = new ShaderModuleCreateInfo() - { - SType = StructureType.ShaderModuleCreateInfo, - CodeSize = scr.CodeLength, - PCode = pCode - }; - - api.CreateShaderModule(device, shaderModuleCreateInfo, null, out _module).ThrowOnError(); - } - - CompileStatus = ProgramLinkStatus.Success; - }); - } - - public unsafe Shader(Vk api, Device device, ShaderStage stage, ShaderBindings bindings, byte[] spirv) - { - _api = api; - _device = device; - Bindings = bindings; + Bindings = shaderSource.Bindings; CompileStatus = ProgramLinkStatus.Incomplete; - _stage = stage.Convert(); + _stage = shaderSource.Stage.Convert(); _entryPointName = Marshal.StringToHGlobalAnsi("main"); CompileTask = Task.Run(() => { + byte[] spirv = shaderSource.BinaryCode; + + if (spirv == null) + { + spirv = GlslToSpirv(shaderSource.Code, shaderSource.Stage); + + if (spirv == null) + { + CompileStatus = ProgramLinkStatus.Failure; + + return; + } + } + fixed (byte* pCode = spirv) { var shaderModuleCreateInfo = new ShaderModuleCreateInfo() @@ -127,16 +74,46 @@ namespace Ryujinx.Graphics.Vulkan }); } - private static uint[] LoadShaderData(string filePath, out int codeSize) + private unsafe static byte[] GlslToSpirv(string glsl, ShaderStage stage) { - var fileBytes = File.ReadAllBytes(filePath); - var shaderData = new uint[(int)Math.Ceiling(fileBytes.Length / 4f)]; + // TODO: We should generate the correct code on the shader translator instead of doing this compensation. + glsl = glsl.Replace("gl_VertexID", "(gl_VertexIndex - gl_BaseVertex)"); + glsl = glsl.Replace("gl_InstanceID", "(gl_InstanceIndex - gl_BaseInstance)"); - System.Buffer.BlockCopy(fileBytes, 0, shaderData, 0, fileBytes.Length); + Options options; - codeSize = fileBytes.Length; + lock (_shaderOptionsLock) + { + options = new Options(false) + { + SourceLanguage = SourceLanguage.Glsl, + TargetSpirVVersion = new SpirVVersion(1, 5) + }; + } - return shaderData; + options.SetTargetEnvironment(TargetEnvironment.Vulkan, EnvironmentVersion.Vulkan_1_2); + Compiler compiler = new Compiler(options); + var scr = compiler.Compile(glsl, "Ryu", GetShaderCShaderStage(stage)); + + lock (_shaderOptionsLock) + { + options.Dispose(); + } + + if (scr.Status != Status.Success) + { + Logger.Error?.Print(LogClass.Gpu, $"Shader compilation error: {scr.Status} {scr.ErrorMessage}"); + + return null; + } + + var spirvBytes = new Span((void*)scr.CodePointer, (int)scr.CodeLength); + + byte[] code = new byte[(scr.CodeLength + 3) & ~3]; + + spirvBytes.CopyTo(code.AsSpan().Slice(0, (int)scr.CodeLength)); + + return code; } private static ShaderKind GetShaderCShaderStage(ShaderStage stage) diff --git a/Ryujinx.Graphics.Vulkan/ShaderCollection.cs b/Ryujinx.Graphics.Vulkan/ShaderCollection.cs index de0ab192d..e8343517a 100644 --- a/Ryujinx.Graphics.Vulkan/ShaderCollection.cs +++ b/Ryujinx.Graphics.Vulkan/ShaderCollection.cs @@ -11,7 +11,7 @@ namespace Ryujinx.Graphics.Vulkan class ShaderCollection : IProgram { private readonly PipelineShaderStageCreateInfo[] _infos; - private readonly IShader[] _shaders; + private readonly Shader[] _shaders; private readonly PipelineLayoutCacheEntry _plce; @@ -49,11 +49,10 @@ namespace Ryujinx.Graphics.Vulkan private Task _compileTask; private bool _firstBackgroundUse; - public ShaderCollection(VulkanGraphicsDevice gd, Device device, IShader[] shaders) + public ShaderCollection(VulkanGraphicsDevice gd, Device device, ShaderSource[] shaders) { _gd = gd; _device = device; - _shaders = shaders; gd.Shaders.Add(this); @@ -67,7 +66,7 @@ namespace Ryujinx.Graphics.Vulkan for (int i = 0; i < shaders.Length; i++) { - var shader = (Shader)shaders[i]; + var shader = new Shader(gd.Api, device, shaders[i]); stages |= 1u << shader.StageFlags switch { @@ -86,6 +85,8 @@ namespace Ryujinx.Graphics.Vulkan internalShaders[i] = shader; } + _shaders = internalShaders; + _plce = gd.PipelineLayoutCache.GetOrCreate(gd, device, stages); Stages = stages; @@ -120,8 +121,8 @@ namespace Ryujinx.Graphics.Vulkan public ShaderCollection( VulkanGraphicsDevice gd, Device device, - IShader[] shaders, - ProgramPipelineState state) : this(gd, device, shaders) + ShaderSource[] sources, + ProgramPipelineState state) : this(gd, device, sources) { _state = state; @@ -131,9 +132,9 @@ namespace Ryujinx.Graphics.Vulkan private async Task BackgroundCompilation() { - await Task.WhenAll(_shaders.Select(shader => ((Shader)shader).CompileTask)); + await Task.WhenAll(_shaders.Select(shader => shader.CompileTask)); - if (_shaders.Any(shader => ((Shader)shader).CompileStatus == ProgramLinkStatus.Failure)) + if (_shaders.Any(shader => shader.CompileStatus == ProgramLinkStatus.Failure)) { LinkStatus = ProgramLinkStatus.Failure; @@ -169,7 +170,7 @@ namespace Ryujinx.Graphics.Vulkan for (int i = 0; i < _shaders.Length; i++) { - var shader = (Shader)_shaders[i]; + var shader = _shaders[i]; if (shader.CompileStatus != ProgramLinkStatus.Success) { @@ -211,7 +212,7 @@ namespace Ryujinx.Graphics.Vulkan PipelineState pipeline = new PipelineState(); pipeline.Initialize(); - pipeline.Stages[0] = ((Shader)_shaders[0]).GetInfo(); + pipeline.Stages[0] = _shaders[0].GetInfo(); pipeline.StagesCount = 1; pipeline.CreateComputePipeline(_gd, _device, this, (_gd.Pipeline as PipelineBase).PipelineCache); @@ -236,7 +237,7 @@ namespace Ryujinx.Graphics.Vulkan for (int i = 0; i < _shaders.Length; i++) { - stages[i] = ((Shader)_shaders[i]).GetInfo(); + stages[i] = _shaders[i].GetInfo(); } pipeline.StagesCount = (uint)_shaders.Length; diff --git a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs index 2a2561b70..7499ab703 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs @@ -298,52 +298,25 @@ namespace Ryujinx.Graphics.Vulkan _window = new ImageWindow(this, _physicalDevice, _device); } - public IShader CompileShader(ShaderStage stage, ShaderBindings bindings, string code) - { - return new Shader(Api, _device, stage, bindings, code); - } - - public IShader CompileShader(ShaderStage stage, ShaderBindings bindings, byte[] code) - { - return new Shader(Api, _device, stage, bindings, code); - } - public BufferHandle CreateBuffer(int size) { return BufferManager.CreateWithHandle(this, size, false); } - public IProgram CreateProgram(IShader[] shaders, ShaderInfo info) + public IProgram CreateProgram(ShaderSource[] sources, ShaderInfo info) { - bool isCompute = shaders.Length == 1 && ((Shader)shaders[0]).StageFlags == ShaderStageFlags.ShaderStageComputeBit; + bool isCompute = sources.Length == 1 && sources[0].Stage == ShaderStage.Compute; if (info.BackgroundCompile && (info.State.HasValue || isCompute) && VulkanConfiguration.UseDynamicState) { - return new ShaderCollection(this, _device, shaders, info.State.Value); + return new ShaderCollection(this, _device, sources, info.State.Value); } else { - return new ShaderCollection(this, _device, shaders); + return new ShaderCollection(this, _device, sources); } } - public IProgram CreateProgram(ShaderSource[] sources, ShaderInfo info) - { - IShader[] shaders = new IShader[sources.Length]; - - for (int index = 0; index < sources.Length; index++) - { - var source = sources[index]; - var shader = source.BinaryCode != null - ? CompileShader(source.Stage, source.Bindings, source.BinaryCode) - : CompileShader(source.Stage, source.Bindings, source.Code); - - shaders[index] = shader; - } - - return CreateProgram(shaders, info); - } - public ISampler CreateSampler(GAL.SamplerCreateInfo info) { return new SamplerHolder(this, _device, info); From 400ed2d96dd124727c206208cbe9334ffa7c625e Mon Sep 17 00:00:00 2001 From: gdk Date: Fri, 10 Jun 2022 22:14:20 -0300 Subject: [PATCH 162/179] Add minimal pipeline layouts that only contains used bindings They are used by helper shaders, the intention is avoiding needing to recompile the shaders (from GLSL to SPIR-V) if the bindings changes on the translated guest shaders --- Ryujinx.Graphics.Vulkan/HelperShader.cs | 22 +-- .../PipelineLayoutCache.cs | 20 ++- .../PipelineLayoutCacheEntry.cs | 48 ++++--- .../PipelineLayoutFactory.cs | 132 +++++++++++++++++- Ryujinx.Graphics.Vulkan/Shader.cs | 1 - Ryujinx.Graphics.Vulkan/ShaderCollection.cs | 6 +- .../VulkanGraphicsDevice.cs | 5 + 7 files changed, 195 insertions(+), 39 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/HelperShader.cs b/Ryujinx.Graphics.Vulkan/HelperShader.cs index 8a5c998b5..a0e5760cf 100644 --- a/Ryujinx.Graphics.Vulkan/HelperShader.cs +++ b/Ryujinx.Graphics.Vulkan/HelperShader.cs @@ -32,7 +32,7 @@ void main() private const string ColorBlitFragmentShaderSource = @"#version 450 core -layout (binding = 128, set = 2) uniform sampler2D tex; +layout (binding = 0, set = 2) uniform sampler2D tex; layout (location = 0) in vec2 tex_coord; layout (location = 0) out vec4 colour; @@ -44,7 +44,7 @@ void main() private const string ColorBlitClearAlphaFragmentShaderSource = @"#version 450 core -layout (binding = 128, set = 2) uniform sampler2D tex; +layout (binding = 0, set = 2) uniform sampler2D tex; layout (location = 0) in vec2 tex_coord; layout (location = 0) out vec4 colour; @@ -125,20 +125,20 @@ void main() var fragmentBindings = new ShaderBindings( Array.Empty(), Array.Empty(), - new[] { Constants.MaxTexturesPerStage * 2 }, + new[] { 0 }, Array.Empty()); - _programColorBlit = gd.CreateProgram(new[] + _programColorBlit = gd.CreateProgramWithMinimalLayout(new[] { new ShaderSource(ColorBlitVertexShaderSource, vertexBindings, ShaderStage.Vertex, TargetLanguage.Glsl), new ShaderSource(ColorBlitFragmentShaderSource, fragmentBindings, ShaderStage.Fragment, TargetLanguage.Glsl), - }, new ShaderInfo(-1)); + }); - _programColorBlitClearAlpha = gd.CreateProgram(new[] + _programColorBlitClearAlpha = gd.CreateProgramWithMinimalLayout(new[] { new ShaderSource(ColorBlitVertexShaderSource, vertexBindings, ShaderStage.Vertex, TargetLanguage.Glsl), new ShaderSource(ColorBlitClearAlphaFragmentShaderSource, fragmentBindings, ShaderStage.Fragment, TargetLanguage.Glsl), - }, new ShaderInfo(-1)); + }); var fragmentBindings2 = new ShaderBindings( Array.Empty(), @@ -146,11 +146,11 @@ void main() Array.Empty(), Array.Empty()); - _programColorClear = gd.CreateProgram(new[] + _programColorClear = gd.CreateProgramWithMinimalLayout(new[] { new ShaderSource(ColorClearVertexShaderSource, vertexBindings, ShaderStage.Vertex, TargetLanguage.Glsl), new ShaderSource(ColorClearFragmentShaderSource, fragmentBindings2, ShaderStage.Fragment, TargetLanguage.Glsl), - }, new ShaderInfo(-1)); + }); } public void Blit( @@ -191,7 +191,7 @@ void main() var sampler = linearFilter ? _samplerLinear : _samplerNearest; - _pipeline.SetTextureAndSampler(ShaderStage.Fragment, Constants.MaxTexturesPerStage * 2, src, sampler); + _pipeline.SetTextureAndSampler(ShaderStage.Fragment, 0, src, sampler); Span region = stackalloc float[RegionBufferSize / sizeof(float)]; @@ -328,7 +328,7 @@ void main() { const int RegionBufferSize = 16; - pipeline.SetTextureAndSampler(ShaderStage.Fragment, Constants.MaxTexturesPerStage * 2, src, srcSampler); + pipeline.SetTextureAndSampler(ShaderStage.Fragment, 0, src, srcSampler); Span region = stackalloc float[RegionBufferSize / sizeof(float)]; diff --git a/Ryujinx.Graphics.Vulkan/PipelineLayoutCache.cs b/Ryujinx.Graphics.Vulkan/PipelineLayoutCache.cs index a1de6781e..15a24fa51 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineLayoutCache.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineLayoutCache.cs @@ -1,14 +1,25 @@ +using Ryujinx.Graphics.GAL; using Silk.NET.Vulkan; +using System.Collections.Generic; namespace Ryujinx.Graphics.Vulkan { class PipelineLayoutCache { - private PipelineLayoutCacheEntry[] _plce; + private readonly PipelineLayoutCacheEntry[] _plce; + private readonly List _plceMinimal; public PipelineLayoutCache() { _plce = new PipelineLayoutCacheEntry[1 << Constants.MaxShaderStages]; + _plceMinimal = new List(); + } + + public PipelineLayoutCacheEntry Create(VulkanGraphicsDevice gd, Device device, ShaderSource[] shaders) + { + var plce = new PipelineLayoutCacheEntry(gd, device, shaders); + _plceMinimal.Add(plce); + return plce; } public PipelineLayoutCacheEntry GetOrCreate(VulkanGraphicsDevice gd, Device device, uint stages) @@ -29,6 +40,13 @@ namespace Ryujinx.Graphics.Vulkan { _plce[i]?.Dispose(); } + + foreach (var plce in _plceMinimal) + { + plce.Dispose(); + } + + _plceMinimal.Clear(); } } diff --git a/Ryujinx.Graphics.Vulkan/PipelineLayoutCacheEntry.cs b/Ryujinx.Graphics.Vulkan/PipelineLayoutCacheEntry.cs index 4505362d5..d86d04faa 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineLayoutCacheEntry.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineLayoutCacheEntry.cs @@ -1,3 +1,4 @@ +using Ryujinx.Graphics.GAL; using Silk.NET.Vulkan; using System.Collections.Generic; @@ -15,16 +16,10 @@ namespace Ryujinx.Graphics.Vulkan private readonly int[] _dsCacheCursor; private int _dsLastCbIndex; - private readonly uint _stages; - - public PipelineLayoutCacheEntry(VulkanGraphicsDevice gd, Device device, uint stages) + private PipelineLayoutCacheEntry(VulkanGraphicsDevice gd, Device device) { _gd = gd; _device = device; - _stages = stages; - - DescriptorSetLayouts = PipelineLayoutFactory.Create(gd, device, stages, out var pipelineLayout); - PipelineLayout = pipelineLayout; _dsCache = new List>[CommandBufferPool.MaxCommandBuffers][]; @@ -41,6 +36,18 @@ namespace Ryujinx.Graphics.Vulkan _dsCacheCursor = new int[PipelineBase.DescriptorSetLayouts]; } + public PipelineLayoutCacheEntry(VulkanGraphicsDevice gd, Device device, uint stages) : this(gd, device) + { + DescriptorSetLayouts = PipelineLayoutFactory.Create(gd, device, stages, out var pipelineLayout); + PipelineLayout = pipelineLayout; + } + + public PipelineLayoutCacheEntry(VulkanGraphicsDevice gd, Device device, ShaderSource[] shaders) : this(gd, device) + { + DescriptorSetLayouts = PipelineLayoutFactory.CreateMinimal(gd, device, shaders, out var pipelineLayout); + PipelineLayout = pipelineLayout; + } + public Auto GetNewDescriptorSetCollection( VulkanGraphicsDevice gd, int commandBufferIndex, @@ -75,28 +82,25 @@ namespace Ryujinx.Graphics.Vulkan { if (disposing) { - unsafe + for (int i = 0; i < _dsCache.Length; i++) { - for (int i = 0; i < _dsCache.Length; i++) + for (int j = 0; j < _dsCache[i].Length; j++) { - for (int y = 0; y < _dsCache[i].Length; y++) + for (int k = 0; k < _dsCache[i][j].Count; k++) { - for (int z = 0; z < _dsCache[i][y].Count; z++) - { - _dsCache[i][y][z].Dispose(); - } - - _dsCache[i][y].Clear(); + _dsCache[i][j][k].Dispose(); } - } - _gd.Api.DestroyPipelineLayout(_device, PipelineLayout, null); - - for (int i = 0; i < DescriptorSetLayouts.Length; i++) - { - _gd.Api.DestroyDescriptorSetLayout(_device, DescriptorSetLayouts[i], null); + _dsCache[i][j].Clear(); } } + + _gd.Api.DestroyPipelineLayout(_device, PipelineLayout, null); + + for (int i = 0; i < DescriptorSetLayouts.Length; i++) + { + _gd.Api.DestroyDescriptorSetLayout(_device, DescriptorSetLayouts[i], null); + } } } diff --git a/Ryujinx.Graphics.Vulkan/PipelineLayoutFactory.cs b/Ryujinx.Graphics.Vulkan/PipelineLayoutFactory.cs index 0f289c68d..c3ca0fc92 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineLayoutFactory.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineLayoutFactory.cs @@ -1,10 +1,17 @@ -using Silk.NET.Vulkan; +using Ryujinx.Graphics.GAL; +using Silk.NET.Vulkan; +using System.Collections.Generic; using System.Numerics; namespace Ryujinx.Graphics.Vulkan { static class PipelineLayoutFactory { + private const ShaderStageFlags SupportBufferStages = + ShaderStageFlags.ShaderStageVertexBit | + ShaderStageFlags.ShaderStageFragmentBit | + ShaderStageFlags.ShaderStageComputeBit; + public static unsafe DescriptorSetLayout[] Create(VulkanGraphicsDevice gd, Device device, uint stages, out PipelineLayout layout) { int stagesCount = BitOperations.PopCount(stages); @@ -23,7 +30,7 @@ namespace Ryujinx.Graphics.Vulkan Binding = 0, DescriptorType = DescriptorType.UniformBuffer, DescriptorCount = 1, - StageFlags = ShaderStageFlags.ShaderStageVertexBit | ShaderStageFlags.ShaderStageFragmentBit | ShaderStageFlags.ShaderStageComputeBit + StageFlags = SupportBufferStages }; int iter = 0; @@ -128,5 +135,126 @@ namespace Ryujinx.Graphics.Vulkan return layouts; } + + public static unsafe DescriptorSetLayout[] CreateMinimal(VulkanGraphicsDevice gd, Device device, ShaderSource[] shaders, out PipelineLayout layout) + { + int stagesCount = shaders.Length; + + int uCount = 0; + int tCount = 0; + int iCount = 0; + + foreach (var shader in shaders) + { + uCount += shader.Bindings.UniformBufferBindings.Count; + tCount += shader.Bindings.TextureBindings.Count; + iCount += shader.Bindings.ImageBindings.Count; + } + + DescriptorSetLayoutBinding* uLayoutBindings = stackalloc DescriptorSetLayoutBinding[uCount]; + DescriptorSetLayoutBinding* sLayoutBindings = stackalloc DescriptorSetLayoutBinding[stagesCount]; + DescriptorSetLayoutBinding* tLayoutBindings = stackalloc DescriptorSetLayoutBinding[tCount]; + DescriptorSetLayoutBinding* iLayoutBindings = stackalloc DescriptorSetLayoutBinding[iCount]; + + uLayoutBindings[0] = new DescriptorSetLayoutBinding + { + Binding = 0, + DescriptorType = DescriptorType.UniformBuffer, + DescriptorCount = 1, + StageFlags = SupportBufferStages + }; + + int uIndex = 0; + int sIndex = 0; + int tIndex = 0; + int iIndex = 0; + + foreach (var shader in shaders) + { + var stageFlags = shader.Stage.Convert(); + + void Set(DescriptorSetLayoutBinding* bindings, DescriptorType type, ref int start, IEnumerable bds) + { + foreach (var b in bds) + { + bindings[start++] = new DescriptorSetLayoutBinding + { + Binding = (uint)b, + DescriptorType = type, + DescriptorCount = 1, + StageFlags = stageFlags + }; + } + } + + void SetStorage(DescriptorSetLayoutBinding* bindings, ref int start, int count) + { + bindings[start++] = new DescriptorSetLayoutBinding + { + Binding = (uint)start, + DescriptorType = DescriptorType.StorageBuffer, + DescriptorCount = (uint)count, + StageFlags = stageFlags + }; + } + + // TODO: Support buffer textures and images here. + // This is only used for the helper shaders on the backkend, and we don't use buffer textures on them + // so far, so it's not really necessary right now. + Set(uLayoutBindings, DescriptorType.UniformBuffer, ref uIndex, shader.Bindings.UniformBufferBindings); + SetStorage(sLayoutBindings, ref sIndex, shader.Bindings.StorageBufferBindings.Count); + Set(tLayoutBindings, DescriptorType.CombinedImageSampler, ref tIndex, shader.Bindings.TextureBindings); + Set(iLayoutBindings, DescriptorType.StorageImage, ref iIndex, shader.Bindings.ImageBindings); + } + + DescriptorSetLayout[] layouts = new DescriptorSetLayout[PipelineFull.DescriptorSetLayouts]; + + var uDescriptorSetLayoutCreateInfo = new DescriptorSetLayoutCreateInfo() + { + SType = StructureType.DescriptorSetLayoutCreateInfo, + PBindings = uLayoutBindings, + BindingCount = (uint)uCount + }; + + var sDescriptorSetLayoutCreateInfo = new DescriptorSetLayoutCreateInfo() + { + SType = StructureType.DescriptorSetLayoutCreateInfo, + PBindings = sLayoutBindings, + BindingCount = (uint)stagesCount + }; + + var tDescriptorSetLayoutCreateInfo = new DescriptorSetLayoutCreateInfo() + { + SType = StructureType.DescriptorSetLayoutCreateInfo, + PBindings = tLayoutBindings, + BindingCount = (uint)tCount + }; + + var iDescriptorSetLayoutCreateInfo = new DescriptorSetLayoutCreateInfo() + { + SType = StructureType.DescriptorSetLayoutCreateInfo, + PBindings = iLayoutBindings, + BindingCount = (uint)iCount + }; + + gd.Api.CreateDescriptorSetLayout(device, uDescriptorSetLayoutCreateInfo, null, out layouts[PipelineFull.UniformSetIndex]).ThrowOnError(); + gd.Api.CreateDescriptorSetLayout(device, sDescriptorSetLayoutCreateInfo, null, out layouts[PipelineFull.StorageSetIndex]).ThrowOnError(); + gd.Api.CreateDescriptorSetLayout(device, tDescriptorSetLayoutCreateInfo, null, out layouts[PipelineFull.TextureSetIndex]).ThrowOnError(); + gd.Api.CreateDescriptorSetLayout(device, iDescriptorSetLayoutCreateInfo, null, out layouts[PipelineFull.ImageSetIndex]).ThrowOnError(); + + fixed (DescriptorSetLayout* pLayouts = layouts) + { + var pipelineLayoutCreateInfo = new PipelineLayoutCreateInfo() + { + SType = StructureType.PipelineLayoutCreateInfo, + PSetLayouts = pLayouts, + SetLayoutCount = PipelineFull.DescriptorSetLayouts + }; + + gd.Api.CreatePipelineLayout(device, &pipelineLayoutCreateInfo, null, out layout).ThrowOnError(); + } + + return layouts; + } } } diff --git a/Ryujinx.Graphics.Vulkan/Shader.cs b/Ryujinx.Graphics.Vulkan/Shader.cs index d15cfb2b0..2ced4bea7 100644 --- a/Ryujinx.Graphics.Vulkan/Shader.cs +++ b/Ryujinx.Graphics.Vulkan/Shader.cs @@ -4,7 +4,6 @@ using Ryujinx.Graphics.Shader; using shaderc; using Silk.NET.Vulkan; using System; -using System.IO; using System.Runtime.InteropServices; using System.Threading.Tasks; diff --git a/Ryujinx.Graphics.Vulkan/ShaderCollection.cs b/Ryujinx.Graphics.Vulkan/ShaderCollection.cs index e8343517a..0516fe83e 100644 --- a/Ryujinx.Graphics.Vulkan/ShaderCollection.cs +++ b/Ryujinx.Graphics.Vulkan/ShaderCollection.cs @@ -49,7 +49,7 @@ namespace Ryujinx.Graphics.Vulkan private Task _compileTask; private bool _firstBackgroundUse; - public ShaderCollection(VulkanGraphicsDevice gd, Device device, ShaderSource[] shaders) + public ShaderCollection(VulkanGraphicsDevice gd, Device device, ShaderSource[] shaders, bool isMinimal = false) { _gd = gd; _device = device; @@ -87,7 +87,9 @@ namespace Ryujinx.Graphics.Vulkan _shaders = internalShaders; - _plce = gd.PipelineLayoutCache.GetOrCreate(gd, device, stages); + _plce = isMinimal + ? gd.PipelineLayoutCache.Create(gd, device, shaders) + : gd.PipelineLayoutCache.GetOrCreate(gd, device, stages); Stages = stages; diff --git a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs index 7499ab703..adf36d54c 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs @@ -317,6 +317,11 @@ namespace Ryujinx.Graphics.Vulkan } } + internal ShaderCollection CreateProgramWithMinimalLayout(ShaderSource[] sources) + { + return new ShaderCollection(this, _device, sources, isMinimal: true); + } + public ISampler CreateSampler(GAL.SamplerCreateInfo info) { return new SamplerHolder(this, _device, info); From c07abe4ec092bd2111307a7a42a74f72b4da62ce Mon Sep 17 00:00:00 2001 From: gdk Date: Fri, 10 Jun 2022 23:30:49 -0300 Subject: [PATCH 163/179] Pre-compile helper shader as SPIR-V, and some fixes --- .../DescriptorSetUpdater.cs | 42 +-- Ryujinx.Graphics.Vulkan/HelperShader.cs | 88 +---- .../PipelineLayoutFactory.cs | 8 - Ryujinx.Graphics.Vulkan/ShaderCollection.cs | 6 +- ...lorBlitClearAlphaFragmentShaderSource.frag | 11 + .../ColorBlitFragmentShaderSource.frag | 11 + .../Shaders/ColorBlitVertexShaderSource.vert | 20 ++ .../ColorClearFragmentShaderSource.frag | 9 + .../Shaders/ColorClearVertexShaderSource.vert | 19 ++ .../Shaders/ShaderBinaries.cs | 314 ++++++++++++++++++ 10 files changed, 419 insertions(+), 109 deletions(-) create mode 100644 Ryujinx.Graphics.Vulkan/Shaders/ColorBlitClearAlphaFragmentShaderSource.frag create mode 100644 Ryujinx.Graphics.Vulkan/Shaders/ColorBlitFragmentShaderSource.frag create mode 100644 Ryujinx.Graphics.Vulkan/Shaders/ColorBlitVertexShaderSource.vert create mode 100644 Ryujinx.Graphics.Vulkan/Shaders/ColorClearFragmentShaderSource.frag create mode 100644 Ryujinx.Graphics.Vulkan/Shaders/ColorClearVertexShaderSource.vert create mode 100644 Ryujinx.Graphics.Vulkan/Shaders/ShaderBinaries.cs diff --git a/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs b/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs index 89e06aa20..e8ea4d1c0 100644 --- a/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs +++ b/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs @@ -299,7 +299,8 @@ namespace Ryujinx.Graphics.Vulkan [MethodImpl(MethodImplOptions.AggressiveInlining)] private void UpdateAndBind(CommandBufferScoped cbs, int setIndex, DirtyFlags flag, PipelineBindPoint pbp) { - int stagesCount = _program.Bindings[setIndex].Length; + var program = _program; + int stagesCount = program.Bindings[setIndex].Length; if (stagesCount == 0 && setIndex != PipelineBase.UniformSetIndex) { return; @@ -307,30 +308,33 @@ namespace Ryujinx.Graphics.Vulkan var dummyBuffer = _dummyBuffer?.GetBuffer(); - var dsc = _program.GetNewDescriptorSetCollection(_gd, cbs.CommandBufferIndex, setIndex, out var isNew).Get(cbs); + var dsc = program.GetNewDescriptorSetCollection(_gd, cbs.CommandBufferIndex, setIndex, out var isNew).Get(cbs); - if (isNew) + if (!program.HasMinimalLayout) { - Initialize(cbs, setIndex, dsc); - } - - if (setIndex == PipelineBase.UniformSetIndex) - { - Span uniformBuffer = stackalloc DescriptorBufferInfo[1]; - - uniformBuffer[0] = new DescriptorBufferInfo() + if (isNew) { - Offset = 0, - Range = (ulong)SupportBuffer.RequiredSize, - Buffer = _gd.BufferManager.GetBuffer(cbs.CommandBuffer, _pipeline.SupportBufferUpdater.Handle, false).Get(cbs, 0, SupportBuffer.RequiredSize).Value - }; + Initialize(cbs, setIndex, dsc); + } - dsc.UpdateBuffers(0, 0, uniformBuffer, DescriptorType.UniformBuffer); + if (setIndex == PipelineBase.UniformSetIndex) + { + Span uniformBuffer = stackalloc DescriptorBufferInfo[1]; + + uniformBuffer[0] = new DescriptorBufferInfo() + { + Offset = 0, + Range = (ulong)SupportBuffer.RequiredSize, + Buffer = _gd.BufferManager.GetBuffer(cbs.CommandBuffer, _pipeline.SupportBufferUpdater.Handle, false).Get(cbs, 0, SupportBuffer.RequiredSize).Value + }; + + dsc.UpdateBuffers(0, 0, uniformBuffer, DescriptorType.UniformBuffer); + } } for (int stageIndex = 0; stageIndex < stagesCount; stageIndex++) { - var stageBindings = _program.Bindings[setIndex][stageIndex]; + var stageBindings = program.Bindings[setIndex][stageIndex]; int bindingsCount = stageBindings.Length; int count; @@ -380,7 +384,7 @@ namespace Ryujinx.Graphics.Vulkan } else if (setIndex == PipelineBase.TextureSetIndex) { - if ((binding % (Constants.MaxTexturesPerStage * 2)) < Constants.MaxTexturesPerStage) + if ((binding % (Constants.MaxTexturesPerStage * 2)) < Constants.MaxTexturesPerStage || program.HasMinimalLayout) { for (int i = 0; i < count; i++) { @@ -424,7 +428,7 @@ namespace Ryujinx.Graphics.Vulkan } else if (setIndex == PipelineBase.ImageSetIndex) { - if ((binding % (Constants.MaxImagesPerStage * 2)) < Constants.MaxImagesPerStage) + if ((binding % (Constants.MaxImagesPerStage * 2)) < Constants.MaxImagesPerStage || program.HasMinimalLayout) { count = Math.Min(count, _images.Length - binding); diff --git a/Ryujinx.Graphics.Vulkan/HelperShader.cs b/Ryujinx.Graphics.Vulkan/HelperShader.cs index a0e5760cf..50107f911 100644 --- a/Ryujinx.Graphics.Vulkan/HelperShader.cs +++ b/Ryujinx.Graphics.Vulkan/HelperShader.cs @@ -1,6 +1,7 @@ using Ryujinx.Graphics.GAL; using Ryujinx.Graphics.Shader; using Ryujinx.Graphics.Shader.Translation; +using Ryujinx.Graphics.Vulkan.Shaders; using Silk.NET.Vulkan; using System; using VkFormat = Silk.NET.Vulkan.Format; @@ -9,81 +10,6 @@ namespace Ryujinx.Graphics.Vulkan { class HelperShader : IDisposable { - private const string ColorBlitVertexShaderSource = @"#version 450 core - -layout (std140, binding = 1) uniform tex_coord_in -{ - vec4 tex_coord_in_data; -}; - -layout (location = 0) out vec2 tex_coord; - -void main() -{ - int low = gl_VertexIndex & 1; - int high = gl_VertexIndex >> 1; - tex_coord.x = tex_coord_in_data[low]; - tex_coord.y = tex_coord_in_data[2 + high]; - gl_Position.x = (float(low) - 0.5f) * 2.0f; - gl_Position.y = (float(high) - 0.5f) * 2.0f; - gl_Position.z = 0.0f; - gl_Position.w = 1.0f; -}"; - - private const string ColorBlitFragmentShaderSource = @"#version 450 core - -layout (binding = 0, set = 2) uniform sampler2D tex; - -layout (location = 0) in vec2 tex_coord; -layout (location = 0) out vec4 colour; - -void main() -{ - colour = texture(tex, tex_coord); -}"; - - private const string ColorBlitClearAlphaFragmentShaderSource = @"#version 450 core - -layout (binding = 0, set = 2) uniform sampler2D tex; - -layout (location = 0) in vec2 tex_coord; -layout (location = 0) out vec4 colour; - -void main() -{ - colour = vec4(texture(tex, tex_coord).rgb, 1.0f); -}"; - - private const string ColorClearVertexShaderSource = @"#version 450 core - -layout (std140, binding = 1) uniform clear_colour_in -{ - vec4 clear_colour_in_data; -}; - -layout (location = 0) out vec4 clear_colour; - -void main() -{ - int low = gl_VertexIndex & 1; - int high = gl_VertexIndex >> 1; - clear_colour = clear_colour_in_data; - gl_Position.x = (float(low) - 0.5f) * 2.0f; - gl_Position.y = (float(high) - 0.5f) * 2.0f; - gl_Position.z = 0.0f; - gl_Position.w = 1.0f; -}"; - - private const string ColorClearFragmentShaderSource = @"#version 450 core - -layout (location = 0) in vec4 clear_colour; -layout (location = 0) out vec4 colour; - -void main() -{ - colour = clear_colour; -}"; - private readonly PipelineHelperShader _pipeline; private readonly ISampler _samplerLinear; private readonly ISampler _samplerNearest; @@ -130,14 +56,14 @@ void main() _programColorBlit = gd.CreateProgramWithMinimalLayout(new[] { - new ShaderSource(ColorBlitVertexShaderSource, vertexBindings, ShaderStage.Vertex, TargetLanguage.Glsl), - new ShaderSource(ColorBlitFragmentShaderSource, fragmentBindings, ShaderStage.Fragment, TargetLanguage.Glsl), + new ShaderSource(ShaderBinaries.ColorBlitVertexShaderSource, vertexBindings, ShaderStage.Vertex, TargetLanguage.Glsl), + new ShaderSource(ShaderBinaries.ColorBlitFragmentShaderSource, fragmentBindings, ShaderStage.Fragment, TargetLanguage.Glsl), }); _programColorBlitClearAlpha = gd.CreateProgramWithMinimalLayout(new[] { - new ShaderSource(ColorBlitVertexShaderSource, vertexBindings, ShaderStage.Vertex, TargetLanguage.Glsl), - new ShaderSource(ColorBlitClearAlphaFragmentShaderSource, fragmentBindings, ShaderStage.Fragment, TargetLanguage.Glsl), + new ShaderSource(ShaderBinaries.ColorBlitVertexShaderSource, vertexBindings, ShaderStage.Vertex, TargetLanguage.Glsl), + new ShaderSource(ShaderBinaries.ColorBlitClearAlphaFragmentShaderSource, fragmentBindings, ShaderStage.Fragment, TargetLanguage.Glsl), }); var fragmentBindings2 = new ShaderBindings( @@ -148,8 +74,8 @@ void main() _programColorClear = gd.CreateProgramWithMinimalLayout(new[] { - new ShaderSource(ColorClearVertexShaderSource, vertexBindings, ShaderStage.Vertex, TargetLanguage.Glsl), - new ShaderSource(ColorClearFragmentShaderSource, fragmentBindings2, ShaderStage.Fragment, TargetLanguage.Glsl), + new ShaderSource(ShaderBinaries.ColorClearVertexShaderSource, vertexBindings, ShaderStage.Vertex, TargetLanguage.Glsl), + new ShaderSource(ShaderBinaries.ColorClearFragmentShaderSource, fragmentBindings2, ShaderStage.Fragment, TargetLanguage.Glsl), }); } diff --git a/Ryujinx.Graphics.Vulkan/PipelineLayoutFactory.cs b/Ryujinx.Graphics.Vulkan/PipelineLayoutFactory.cs index c3ca0fc92..a6368fe55 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineLayoutFactory.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineLayoutFactory.cs @@ -156,14 +156,6 @@ namespace Ryujinx.Graphics.Vulkan DescriptorSetLayoutBinding* tLayoutBindings = stackalloc DescriptorSetLayoutBinding[tCount]; DescriptorSetLayoutBinding* iLayoutBindings = stackalloc DescriptorSetLayoutBinding[iCount]; - uLayoutBindings[0] = new DescriptorSetLayoutBinding - { - Binding = 0, - DescriptorType = DescriptorType.UniformBuffer, - DescriptorCount = 1, - StageFlags = SupportBufferStages - }; - int uIndex = 0; int sIndex = 0; int tIndex = 0; diff --git a/Ryujinx.Graphics.Vulkan/ShaderCollection.cs b/Ryujinx.Graphics.Vulkan/ShaderCollection.cs index 0516fe83e..34f57c965 100644 --- a/Ryujinx.Graphics.Vulkan/ShaderCollection.cs +++ b/Ryujinx.Graphics.Vulkan/ShaderCollection.cs @@ -17,11 +17,13 @@ namespace Ryujinx.Graphics.Vulkan public PipelineLayout PipelineLayout => _plce.PipelineLayout; + public bool HasMinimalLayout { get; } + public uint Stages { get; } public int[][][] Bindings { get; } - public ProgramLinkStatus LinkStatus { private set; get; } + public ProgramLinkStatus LinkStatus { get; private set; } public bool IsLinked { @@ -91,6 +93,8 @@ namespace Ryujinx.Graphics.Vulkan ? gd.PipelineLayoutCache.Create(gd, device, shaders) : gd.PipelineLayoutCache.GetOrCreate(gd, device, stages); + HasMinimalLayout = isMinimal; + Stages = stages; int[][] GrabAll(Func> selector) diff --git a/Ryujinx.Graphics.Vulkan/Shaders/ColorBlitClearAlphaFragmentShaderSource.frag b/Ryujinx.Graphics.Vulkan/Shaders/ColorBlitClearAlphaFragmentShaderSource.frag new file mode 100644 index 000000000..f31316d0a --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/Shaders/ColorBlitClearAlphaFragmentShaderSource.frag @@ -0,0 +1,11 @@ +#version 450 core + +layout (binding = 0, set = 2) uniform sampler2D tex; + +layout (location = 0) in vec2 tex_coord; +layout (location = 0) out vec4 colour; + +void main() +{ + colour = vec4(texture(tex, tex_coord).rgb, 1.0f); +} \ No newline at end of file diff --git a/Ryujinx.Graphics.Vulkan/Shaders/ColorBlitFragmentShaderSource.frag b/Ryujinx.Graphics.Vulkan/Shaders/ColorBlitFragmentShaderSource.frag new file mode 100644 index 000000000..89dc1ff8f --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/Shaders/ColorBlitFragmentShaderSource.frag @@ -0,0 +1,11 @@ +#version 450 core + +layout (binding = 0, set = 2) uniform sampler2D tex; + +layout (location = 0) in vec2 tex_coord; +layout (location = 0) out vec4 colour; + +void main() +{ + colour = texture(tex, tex_coord); +} \ No newline at end of file diff --git a/Ryujinx.Graphics.Vulkan/Shaders/ColorBlitVertexShaderSource.vert b/Ryujinx.Graphics.Vulkan/Shaders/ColorBlitVertexShaderSource.vert new file mode 100644 index 000000000..be93a64dc --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/Shaders/ColorBlitVertexShaderSource.vert @@ -0,0 +1,20 @@ +#version 450 core + +layout (std140, binding = 1) uniform tex_coord_in +{ + vec4 tex_coord_in_data; +}; + +layout (location = 0) out vec2 tex_coord; + +void main() +{ + int low = gl_VertexIndex & 1; + int high = gl_VertexIndex >> 1; + tex_coord.x = tex_coord_in_data[low]; + tex_coord.y = tex_coord_in_data[2 + high]; + gl_Position.x = (float(low) - 0.5f) * 2.0f; + gl_Position.y = (float(high) - 0.5f) * 2.0f; + gl_Position.z = 0.0f; + gl_Position.w = 1.0f; +} \ No newline at end of file diff --git a/Ryujinx.Graphics.Vulkan/Shaders/ColorClearFragmentShaderSource.frag b/Ryujinx.Graphics.Vulkan/Shaders/ColorClearFragmentShaderSource.frag new file mode 100644 index 000000000..ddd4369c4 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/Shaders/ColorClearFragmentShaderSource.frag @@ -0,0 +1,9 @@ +#version 450 core + +layout (location = 0) in vec4 clear_colour; +layout (location = 0) out vec4 colour; + +void main() +{ + colour = clear_colour; +} \ No newline at end of file diff --git a/Ryujinx.Graphics.Vulkan/Shaders/ColorClearVertexShaderSource.vert b/Ryujinx.Graphics.Vulkan/Shaders/ColorClearVertexShaderSource.vert new file mode 100644 index 000000000..2f1b9b2c9 --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/Shaders/ColorClearVertexShaderSource.vert @@ -0,0 +1,19 @@ +#version 450 core + +layout (std140, binding = 1) uniform clear_colour_in +{ + vec4 clear_colour_in_data; +}; + +layout (location = 0) out vec4 clear_colour; + +void main() +{ + int low = gl_VertexIndex & 1; + int high = gl_VertexIndex >> 1; + clear_colour = clear_colour_in_data; + gl_Position.x = (float(low) - 0.5f) * 2.0f; + gl_Position.y = (float(high) - 0.5f) * 2.0f; + gl_Position.z = 0.0f; + gl_Position.w = 1.0f; +} \ No newline at end of file diff --git a/Ryujinx.Graphics.Vulkan/Shaders/ShaderBinaries.cs b/Ryujinx.Graphics.Vulkan/Shaders/ShaderBinaries.cs new file mode 100644 index 000000000..b21407c3c --- /dev/null +++ b/Ryujinx.Graphics.Vulkan/Shaders/ShaderBinaries.cs @@ -0,0 +1,314 @@ +using System; + +namespace Ryujinx.Graphics.Vulkan.Shaders +{ + static class ShaderBinaries + { + public static readonly byte[] ColorBlitClearAlphaFragmentShaderSource = new byte[] + { + 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x0A, 0x00, 0x08, 0x00, 0x1B, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x06, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x47, 0x4C, 0x53, 0x4C, 0x2E, 0x73, 0x74, 0x64, 0x2E, 0x34, 0x35, 0x30, + 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x0F, 0x00, 0x07, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6D, 0x61, 0x69, 0x6E, + 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x10, 0x00, 0x03, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, + 0xC2, 0x01, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6D, 0x61, 0x69, 0x6E, + 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, 0x63, 0x6F, 0x6C, 0x6F, + 0x75, 0x72, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x74, 0x65, 0x78, 0x00, + 0x05, 0x00, 0x05, 0x00, 0x11, 0x00, 0x00, 0x00, 0x74, 0x65, 0x78, 0x5F, 0x63, 0x6F, 0x6F, 0x72, + 0x64, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x20, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x19, 0x00, 0x09, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x03, 0x00, 0x0B, 0x00, 0x00, 0x00, + 0x0A, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0B, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x0F, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x80, 0x3F, 0x36, 0x00, 0x05, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x02, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x3D, 0x00, 0x04, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, + 0x3D, 0x00, 0x04, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, + 0x57, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, + 0x12, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, + 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x50, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0xFD, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, + }; + + public static readonly byte[] ColorBlitFragmentShaderSource = new byte[] + { + 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x0A, 0x00, 0x08, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x06, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x47, 0x4C, 0x53, 0x4C, 0x2E, 0x73, 0x74, 0x64, 0x2E, 0x34, 0x35, 0x30, + 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x0F, 0x00, 0x07, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6D, 0x61, 0x69, 0x6E, + 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x10, 0x00, 0x03, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, + 0xC2, 0x01, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6D, 0x61, 0x69, 0x6E, + 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, 0x63, 0x6F, 0x6C, 0x6F, + 0x75, 0x72, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x74, 0x65, 0x78, 0x00, + 0x05, 0x00, 0x05, 0x00, 0x11, 0x00, 0x00, 0x00, 0x74, 0x65, 0x78, 0x5F, 0x63, 0x6F, 0x6F, 0x72, + 0x64, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x20, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x19, 0x00, 0x09, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x03, 0x00, 0x0B, 0x00, 0x00, 0x00, + 0x0A, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0B, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x0F, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x02, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x3D, 0x00, 0x04, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, + 0x3D, 0x00, 0x04, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, + 0x57, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, + 0x12, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x09, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, + 0xFD, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, + }; + + public static readonly byte[] ColorBlitVertexShaderSource = new byte[] + { + 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x0A, 0x00, 0x08, 0x00, 0x3F, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x06, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x47, 0x4C, 0x53, 0x4C, 0x2E, 0x73, 0x74, 0x64, 0x2E, 0x34, 0x35, 0x30, + 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x0F, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6D, 0x61, 0x69, 0x6E, + 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0xC2, 0x01, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x6D, 0x61, 0x69, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, + 0x0A, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x49, 0x6E, 0x64, + 0x65, 0x78, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x14, 0x00, 0x00, 0x00, 0x74, 0x65, 0x78, 0x5F, + 0x63, 0x6F, 0x6F, 0x72, 0x64, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x16, 0x00, 0x00, 0x00, + 0x74, 0x65, 0x78, 0x5F, 0x63, 0x6F, 0x6F, 0x72, 0x64, 0x5F, 0x69, 0x6E, 0x00, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x08, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x65, 0x78, 0x5F, + 0x63, 0x6F, 0x6F, 0x72, 0x64, 0x5F, 0x69, 0x6E, 0x5F, 0x64, 0x61, 0x74, 0x61, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x03, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, + 0x2A, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x50, 0x65, 0x72, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, + 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x67, 0x6C, 0x5F, 0x50, 0x6F, 0x73, 0x69, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x06, 0x00, 0x07, 0x00, + 0x2A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x50, 0x6F, 0x69, 0x6E, 0x74, + 0x53, 0x69, 0x7A, 0x65, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x07, 0x00, 0x2A, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x43, 0x6C, 0x69, 0x70, 0x44, 0x69, 0x73, 0x74, 0x61, + 0x6E, 0x63, 0x65, 0x00, 0x06, 0x00, 0x07, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x67, 0x6C, 0x5F, 0x43, 0x75, 0x6C, 0x6C, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6E, 0x63, 0x65, 0x00, + 0x05, 0x00, 0x03, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, + 0x0A, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, + 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x47, 0x00, 0x03, 0x00, 0x16, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, + 0x2A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x48, 0x00, 0x05, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x0B, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x2A, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, + 0x2A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x21, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, + 0x11, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x12, 0x00, 0x00, 0x00, + 0x11, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x15, 0x00, 0x00, 0x00, + 0x11, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x03, 0x00, 0x16, 0x00, 0x00, 0x00, + 0x15, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x17, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x16, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x17, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x11, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x11, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x04, 0x00, 0x29, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, + 0x27, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x06, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, + 0x11, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, + 0x2B, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, + 0x2B, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, + 0x11, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x2B, 0x00, 0x04, 0x00, + 0x11, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x2B, 0x00, 0x04, 0x00, + 0x11, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, + 0x1E, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, + 0x11, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3F, 0x2B, 0x00, 0x04, 0x00, + 0x1E, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0xF8, 0x00, 0x02, 0x00, 0x05, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x0B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0xC7, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x0D, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0xC3, 0x00, 0x05, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, + 0x41, 0x00, 0x06, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x19, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x00, + 0x1D, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x21, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, + 0x21, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x80, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x24, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x41, 0x00, 0x06, 0x00, + 0x1B, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, + 0x24, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, + 0x25, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x20, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x28, 0x00, 0x00, 0x00, + 0x26, 0x00, 0x00, 0x00, 0x6F, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, + 0x0D, 0x00, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00, 0x11, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, + 0x2E, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x11, 0x00, 0x00, 0x00, + 0x32, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x41, 0x00, 0x06, 0x00, + 0x20, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, + 0x1F, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, + 0x6F, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x83, 0x00, 0x05, 0x00, 0x11, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, + 0x2F, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x11, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, + 0x36, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x41, 0x00, 0x06, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x38, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, + 0x3E, 0x00, 0x03, 0x00, 0x38, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x41, 0x00, 0x06, 0x00, + 0x20, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, + 0x3A, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, + 0x41, 0x00, 0x06, 0x00, 0x20, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, + 0x19, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x3E, 0x00, 0x00, 0x00, + 0x3C, 0x00, 0x00, 0x00, 0xFD, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, + }; + + public static readonly byte[] ColorClearFragmentShaderSource = new byte[] + { + 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x0A, 0x00, 0x08, 0x00, 0x0D, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x06, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x47, 0x4C, 0x53, 0x4C, 0x2E, 0x73, 0x74, 0x64, 0x2E, 0x34, 0x35, 0x30, + 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x0F, 0x00, 0x07, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6D, 0x61, 0x69, 0x6E, + 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x10, 0x00, 0x03, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, + 0xC2, 0x01, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6D, 0x61, 0x69, 0x6E, + 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, 0x63, 0x6F, 0x6C, 0x6F, + 0x75, 0x72, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x63, 0x6C, 0x65, 0x61, + 0x72, 0x5F, 0x63, 0x6F, 0x6C, 0x6F, 0x75, 0x72, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, + 0x0B, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x16, 0x00, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, + 0x0A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, + 0x0A, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0xF8, 0x00, 0x02, 0x00, 0x05, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0xFD, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, + }; + + public static readonly byte[] ColorClearVertexShaderSource = new byte[] + { + 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x0A, 0x00, 0x08, 0x00, 0x36, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x06, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x47, 0x4C, 0x53, 0x4C, 0x2E, 0x73, 0x74, 0x64, 0x2E, 0x34, 0x35, 0x30, + 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x0F, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6D, 0x61, 0x69, 0x6E, + 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0xC2, 0x01, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x6D, 0x61, 0x69, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, + 0x0A, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x49, 0x6E, 0x64, + 0x65, 0x78, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x14, 0x00, 0x00, 0x00, 0x63, 0x6C, 0x65, 0x61, + 0x72, 0x5F, 0x63, 0x6F, 0x6C, 0x6F, 0x75, 0x72, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, + 0x15, 0x00, 0x00, 0x00, 0x63, 0x6C, 0x65, 0x61, 0x72, 0x5F, 0x63, 0x6F, 0x6C, 0x6F, 0x75, 0x72, + 0x5F, 0x69, 0x6E, 0x00, 0x06, 0x00, 0x09, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x63, 0x6C, 0x65, 0x61, 0x72, 0x5F, 0x63, 0x6F, 0x6C, 0x6F, 0x75, 0x72, 0x5F, 0x69, 0x6E, 0x5F, + 0x64, 0x61, 0x74, 0x61, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0x17, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x50, + 0x65, 0x72, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, + 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x50, 0x6F, 0x73, 0x69, 0x74, + 0x69, 0x6F, 0x6E, 0x00, 0x06, 0x00, 0x07, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x67, 0x6C, 0x5F, 0x50, 0x6F, 0x69, 0x6E, 0x74, 0x53, 0x69, 0x7A, 0x65, 0x00, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x07, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x43, + 0x6C, 0x69, 0x70, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6E, 0x63, 0x65, 0x00, 0x06, 0x00, 0x07, 0x00, + 0x1F, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x67, 0x6C, 0x5F, 0x43, 0x75, 0x6C, 0x6C, 0x44, + 0x69, 0x73, 0x74, 0x61, 0x6E, 0x63, 0x65, 0x00, 0x05, 0x00, 0x03, 0x00, 0x21, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, + 0x2A, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x14, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0x15, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x17, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x17, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x1F, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, + 0x1F, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x48, 0x00, 0x05, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x13, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, 0x11, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x17, 0x00, 0x04, 0x00, 0x12, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x20, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, + 0x3B, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x1E, 0x00, 0x03, 0x00, 0x15, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, + 0x16, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, + 0x16, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, + 0x19, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, + 0x1C, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, + 0x1C, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x04, 0x00, + 0x1E, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x06, 0x00, + 0x1F, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, + 0x1E, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x1F, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3F, 0x2B, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x40, 0x2B, 0x00, 0x04, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x29, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x11, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x80, 0x3F, 0x2B, 0x00, 0x04, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x02, 0x00, 0x05, 0x00, 0x00, 0x00, + 0x3D, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, + 0xC7, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0xC3, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x0B, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x19, 0x00, 0x00, 0x00, + 0x1A, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x04, 0x00, + 0x12, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x6F, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x00, + 0x23, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00, 0x11, 0x00, 0x00, 0x00, + 0x25, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, + 0x11, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, + 0x41, 0x00, 0x06, 0x00, 0x29, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x2A, 0x00, 0x00, 0x00, + 0x27, 0x00, 0x00, 0x00, 0x6F, 0x00, 0x04, 0x00, 0x11, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00, 0x11, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, + 0x2C, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x11, 0x00, 0x00, 0x00, + 0x2E, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x41, 0x00, 0x06, 0x00, + 0x29, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x1D, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, + 0x41, 0x00, 0x06, 0x00, 0x29, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, 0x32, 0x00, 0x00, 0x00, + 0x30, 0x00, 0x00, 0x00, 0x41, 0x00, 0x06, 0x00, 0x29, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, + 0x21, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x03, 0x00, + 0x35, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0xFD, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, + }; + } +} \ No newline at end of file From 378b3147b79c8adbe3a0125704c4c1c59c5ca5af Mon Sep 17 00:00:00 2001 From: gdk Date: Fri, 10 Jun 2022 23:33:35 -0300 Subject: [PATCH 164/179] Remove pre-compiled shaderc binary for Windows as its no longer needed by default --- .../Native/shaderc/libs/shaderc_shared.dll | Bin 12564480 -> 0 bytes .../Ryujinx.Graphics.Vulkan.csproj | 7 ------- 2 files changed, 7 deletions(-) delete mode 100644 Ryujinx.Graphics.Vulkan/Native/shaderc/libs/shaderc_shared.dll diff --git a/Ryujinx.Graphics.Vulkan/Native/shaderc/libs/shaderc_shared.dll b/Ryujinx.Graphics.Vulkan/Native/shaderc/libs/shaderc_shared.dll deleted file mode 100644 index 9c6cdc5917b4cc0c4b38c3528b3f29ab0e90b31f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12564480 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%0Anb06AjH~pv4;rSw>(g_8#;?_Z7M5xt9t1 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

M($P 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

n!%*o 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%0DYX?$?Y%H1I{EVr8 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

!iYg0@r<+aWc@B)kI^r0gtBm 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

J&hH8OFS6Mh1eV^ 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�Yod| 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%0A?`=eYLE*3GiiG_cW6_ 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

rhe@ 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

Mp&RB5QV)w3i`Rd4XRn{ud$~U&X}l&2YQ|UM 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%0AIm0O($(7Ba-8!XC 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

}>PSDP`A@VfHbawLPUu2Dh4uES3IBlKxijs` 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≤Vkz~Q1dSM$i>*#6v}20PVa2B) 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

7aI? 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
    6d?E6l4!njeg*Fi$J9&()|pmv83OC2lqUnVWD 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 L2A}EK*oa7I)jlq}mTmwZ}6N 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

    2Mm2`_Ny+v(6{T>l-!cV=L0;TJaC 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

    Ho7ASSm0B}DnF=g9Y@LQa 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�U$s?cN(XOKq40k@%;{LL!hE|!eTz2S8UVJ*J0u) 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� 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

    Xm2b^Au9q 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

    -6!!w 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%0A*+r08g<1$0Pwt-y{GIumBH80>o{nq7}ZBc7KSA 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 z zo|3Y$5lSkKIh9lb>!YNSSgMjrVV5bXRFJ8hUIDQIJm_~ILa;*r`|s5Y{od6={6poK>)2N@ zBp^k^5!Y`8?{m;p`EinKa)LwtF-tz|q*F`But5o$-C3Wp6MbnP$DMH$-SZE0qHANu z~osZ%QsFdN{cBt&*>i6Bun1l;HRHHW5do~ zj)kGZ=H2#HeM^u8@M(12!rI5dA{_%iR_28PhsYo%30aT>WFZq_WP$Xy|FS+rh+>yX`jn?O);TF5HLy3)~NR-8hE zBoEJJ?Vg~0t%CC;xtZkZk7pUV>9mxEvr$qCyYy|^9y`zo`%m(Hxl&0@0S?V?V{_W$ z%5e4i;U{hue|v3NRWpiHf#?){Eso?;I$$lO9lon8iZh%AwBRh@VfT<&YZ8<)%iWhj z%EwTAi3A)Sw2+jry||PR0334L!}7LOu*EUbhx?_HwFPa&YM?|Knk^y;(CVNhownBD zYI0aC3MwzW1v*GxaAa&g-X1e%j5U4+)d>Pii%2-HNZpfD-a=Pf!pIEb(uxb?)kBa@ zEZV?amu+v_*bwGxLvZs`uN(K>;%a*4&zXqqa>s8 z-fmi9f`>^Kl&!6UfK$MWv`r}MkT;=t%|;+FQlD0B{YMTB|5Z8{648RlkND?oETBRn zm3q*7hkTv~X`OibqgGr>`#{uVw#pMxyRB;N?x5A*{PfYeqi?KZWZ58s z;ODhxe2oOP53*Be4Z4dY?Rdc@5^krZTKT;BgD-GzV;6ozOjKG>6jWPqW8YNp6qaQa zJll&y43iOvKA7gT4~RSwz9tZPGj>IWJjByQ)P`(Ge3|G@CD#yiv`Pj%$9tEt%XbYK zYkaMIuRp{0IxzA5tl34JeH`elA+XCjc*G+cl5c##_apfIJs5GI`*OiJ^9wg63_a+o z%_PI=)wIe1aALcBO{0ZsVW+Y2F71JXIaGRKeQ}({rf!|Ir)2RKydj#YouAXpU~U? z{C@<;-}#2f;U6pom;bJ~o!Cpz{baH3)qO`*EbdYf1w{T!1k5+)9~-aAlX(BzwVwIh zEuP=^eNb(GQQm&L=lg|yJ@Xs3sr=&Wp%~|-(iD?-?{C}Do3Q8KAg;q7Q*vQAWXH_Z zZX2`F9v2%6lb`B;YRKVf@wl|{g5<#FoxJz$1cKdPft`aB@rBK3wu+Z7npdHRp;d3h?!{Z2w>6gqx?IW^27Uo znqOlHtRRuEp(IeSByx&s;Xt4?%tMk|?E_{3br-Q*~(m)McGbB`7Xp75eS6aBExk7cdTS7k(4)x%W+EaFwovFDeDdkdn;HUtpZ)rz^LOz*A<+B7 zS0|m`m{91w_TJtYMGKJsO#{6$wW9$f{GK3aSb-9>wcT$LqPJ8?ra*7!>H72HCd ziCvN>U_tUz+I={UIuYYVyR?#=_G#hQk{pkl*U=$R`Q#5h`WH#=%lj88c@LI%k^C)w zQa3(5sbIHHMipstGSJ=R52x!Y$(3nwxSM=W{Y^G96zn>I_9Ux1M8v)< zo)kj+{P1}w)Z6JUWa`1$HGIdeG4a8$QjPsIy2MQnAIo<$?W>dxHB9>Q@%3?REg*by z3Kk(#@QV&SJ(c#9Sh5Q{YI5^*7Z&ZYorDP~mN&0Ykdm*Dlgf@acDM({(W$}7?2Zq} zw__S6knxUpA5C=3!T(LH@iF9PeIxeNZ1lZTPR)}4Zpo6@V|xwXT38CsXyQ;9UZTJj z2?LAbW3hMjmugBKEeAFV#jj+Tu_74`?|gl;HYUd7aee0*)^E_KQuIB{m z!JbE8DZVL+(<|_O@CPLl^wf9#y40>;WB5zR74X|AUYAeja}N2dp?7;yeXpzyZ=j|2 z0L4atzw!rIX$^1qQt_1380%ausy#|y4Ssho#?y~=GExFu0*_Q znA_E~phi9z?mHLP6iubVzZJkcgPM<<9lpQkQxe2O!e^Mu3w(R|8K>jclKTld25%|d z4_V`jkO6!ed~IdPpHlaU4So4q;zV!Ig}C&==lj>ve1HEP_?R~SUE?slA1AHO;gBoX zMtUKCW>3AdeZk{2G(#;$k@2L_9SJ@d`@lNhi`XXQ8+N>Ca{HKq^D)D*P^z#iA*7Tq-u4oz_H^nrVE*6?>bEIvwmb?z@K+hd=uB8yJ zdbt*d+|1c?vIU!M*ke0zy0d3mVN)!Y9>B|~Hh4s3^-L|iN(J@d0nmfM9lJS(bG`hz z;Ljp&hsP$b%8w2g=1pfid){NSmMm1z7PLZFDYO+^ zpC#7-+kx?z?14b53_nyHb(q5IlWsZC#vu>3 zID7V_I>l0*(ot?OmA9l@R}PM|uFQ^`CB>!Bx;`$wXj)vXwd5agt^-e`w8<9hj0tqo zfClAMQ+hASKU+&i&{M1?4kh3VL+i`2yn?`; zgF!r2pE;30fGU9L5{TrF)8dFo3lS+nFxtbB2IUEI`xt8p_coQ!D7q&uwh+yp4mQQb z7EDo7h3z)~&83=64%Z;e)eHDeFcww(?>5)! zp8s?YqV^&tYA+hhUL2)PJdnK@^1|{!_JV(3pZ4PO=c$_yU@wjk#Zh~q*|n&>h}w$= z8(-x1qDfsKd(nGAAbSzdzpqbwv1NW>d+{bhbVlukW-T^vj@pZ;y=X9dF_SL>1+o_p zjtDd#$>iVHr@c4__yUbDb~TOK3xl3M#=oym zd+`A91+o{z!{83S=*;aV;UVyB_yP9KaXIUOd1tM%Ozvn-R4aQG3x~ z_M$Tn92aOla!s2h0rp1@A_{2z+Ka7c(0s%H{>VKXW7J+m?M2l80`4#k?0>O)av{6duj=fT@2KY!=zS|apGx@?*J$;pGYVA)_53W#|5wi^P=2$X=lI{z^Zffa^gJ)W zz$^cdp6BK7)$<8(1+5yd=ko~PC_T^1JM}z=f3=?H?b+EY-%-!=?_244&aV@_wffr$ z-$6ak%l}u;^YWX$^6%(*Uj7ZQ`~t81LtgoN^*pD4yjOmdSKg`TMg6_d)aF)bqT3|EuKT3T+YY*6s%vf>Ai_!kV^+opcY*VTZ{}-#s{veT&5ERs8if z;c7~!L8_hHo#5vI6nE|cQg;~3y>wnBU6QZM@j9>4(MNm=>&&-+l+LVl1}b=4 zOZdyiUk=u>Q`D0$IEftmR(<;RQYwZnFd9R47Sipd=HNg#t<(ASB=~ zX>}gwOof3n_n`>;>ZLlJ9jVPt%^tc3z+rhW>(&g-Ld{7Y<77OmngXx!JH>t~<;UEp zowQKO@9Gt({NY@{C-u}vuFR6QhKsP>xEN1VMDEv;}i@JXE{;%t9Fp-|57 z$9DAvZ~G>#PBo&x81I?;Me}Uc=z)(pmpq~e=buSlOwhBkr$P^$%>_-$2?vFJPvAZK z{RQ*%81%tCAdi&oZ*GXBd$7bd_vXrGV*_sk*U3o3@82L&mjaiuX?a@Xe=G6Uv%T9i z@s^LTQ$2xb{2_VrYOliqPge2vdII3Q+Ka5ECN6j5J^SSO5cs3Y)764dt$v+FJ`lZu zBi(R%zqu+fy&LeJbqRr9Pkx^`9r{JxoyLGd05mq5Rz89Bw;*wGjb=Q!{$}_tFNdj5 zN3IN9-;eN~^?ojl_E~^0Q8BGORQ);)M;lgy12Hw(7CsWwSaF;9!pIFD-y4EXcz&Mj z>vP0+H3Vw~=x9F552J)dmMKIqaA?JuMH5Y>mMKIj~X>O)i?bZLn8 z4^e%H>O)i?bPh!IA*v6$G(`J{s6IsXA*v5L2cr5A)dyV~qWwcuAENpY)d!seQGJN& zgDwrx{voOlQGJN&gU*4dK1B6FmxgHn5Y>mMK1B6F=Ri~+qWYjqL$rU0>O+0&1MaA+ z!FABzNf*|>{h8z~;_p3fhp*kf=@zMHy3P8yxUz`Oli+L$?sptPcLa_QS7+cP6|P6S z8W%g@cB|u3aystD`B9>quHUH<|HVsb)pxgdq@A$NOy=hmcH_RlIJW2JWi?rHf1H&V z6z7mfBsi1H9P%BwVqve8{4rgXEtUP&n9yZA(yFZwJOV#|4&z%&&<$GaiF3(oagp}j zxQXJk1E&pecWi`$!b5ywXtZd;d>#@7S2GZXy7cDW>zGr^AG+h04mm@rgIsN@Bikj8mL9f@} z^_Rw`^qH>b_I>BOr47`+j^^g<^TD{V^|!jU>Gs`%qGsE79W08^wur>TdT!r+QbXD2 zZC99U-v>K}t-lM_nQq?+C~CHS-Iagd_C3;gaRce^w*Kbq^Dk?{*54l+neKl#ps3mQ zwN#ovj#_7xu4nz-v9zK3-wU>z8(&?38-TP?SZL$tg*m3%w-80mw(puPf8O@};`)Ya z-`|>;v(LS5SR8Kq9-oFVALhna+fdYO`>t&C=e5ssUv4P-JZGLc{hgZz=#EbHi{lx8bD&FP9!pW(etO$X@ZqWGfx?(y-p7ru&l`TUyy3p`KLLLlNiJNOjR6degbMO8=nm34ZG+tp;UX0yeR34)85S0gmfvi10 zjP@S}_B6b`2)_OlY<(*F-q3(P*6*VHiSkF|Kt0GuoUuazJkNZzzcsR_;q7UZ|55&H z+8#a65*_bF$F~M`h}z?5|M0)nKe*Eqj1|UsE!2E;{$Ma5^)P-urTMuwCdN?P&6}h7 zC_jt>5tRo|d5~Pg=)9~m(Sq}`Bc$SkDbmJ%i3xw;R4g3@80(aOlH`vid4fes?kbi2 z(U?`zDHgd}a`j8hljJiqy5mUgK#Mc^14nULb4OWKV<~N@CCi#wo`vJB7m`0!@&{w! zTr~rSSjoQ%eh^L0klfc<95tm`X=R0na9=E)gzYNHLv7wy4obyqJJB_Wj^uJ!u4<{c zI)2h6bTM9+ibWtWO>#Fmiks*x1H>;b-2%-xo|=+AnvSMUyrQnI^`Z0U-Z`fNe_DTF zhCf4lG(3OWyhN7{pKSR#RBnbp-McqDe_r2zD)48^Ml<|5vs=USr^VMeg>%y7=gkdf z`15m0!}F(SC)}TT()r_l-wb~~yu9K0GxU#BL4IyuZ-zh1E^B!H{QSVF(0^sEGsB<9 zx->k0K7aRA;7^yeX81F)bDjAk!;94wt4+b-|9*<+W2NF!-9?bj7oB=}eF`n;J9Y9- zxsgM*V@AM#{GZoqEzWCY8xL${+Y0G1j%g{6`SC3!ZJdM|(ouZkyjGN-IQJKo7o3;; z|E+(LYlufYFYomj_5N%uIXF^jS)eUh$g~RU<7;cO6QqrOQ~4?a-3_kwNd|MW*?xVk zH4Hn&=aM8>0peiEh;DU>Bp2dj#;20}e$o9nij%|_9^`H8u30qm>Y&_czm;uTjXqZX zxo9fRI_;C>=8|hHzQYf`po~r0m}wD<8lw{J6d_BJWWs{=hg_f387UQMP@CkGTS)F< zi78ofEIZH!G!(B-Qa|^8|4k7__W|B#jl}3A!27B@1AqTi5k|*`@9VYs-EEXrU5(=A0t_cXBS4!)VQ*0DT??P+59qW~SEmF-kNp4k5)~Mxb z8x)=`S_#TaY6?G>u=GjKFXJ|(?2E?I^y4uoau)&&(sJe6PR5nX1X{VANZ-09Vu&>n z)?`#-3fT-EQZIKMTboeF0efWXyJkiB^)04v{nd9zd>!k{^&QQMBX=B2 zsJ1!HT98OwNm0)CwqG4bO?YrQ$dW6hwD`gUq8ZSq1h?8@{vw`vbcS*z6Z+yeyOCtF^u{f;yRmD4(8>8n{4X<2k%#&rY(Y~3m zK|e}z9JfK}RLBOUi}7Jv`-0Ar>)yna*^-PstATNB*3`u{tBEk!AeP5z`%Fr^rtmXK zMlmu-yh|9Zjst6t9F_57nE1!}!GDJ( z54^oad|{>0yJNuM)$FcY5x%B56IvBh~J;6ULT8Ym1P3SHwM zPva8sm$aIuJ|r$(IqAH)o;QdK<{x$p-4n3yIW;caZZ)j>*$nkdFkQdf-sJVeKuFY4 znRivNA@o9sqo4ZCZx??33KHY^MmH%eMS+%6d?{?#g6sI8ftoONjB)?^8p%B(_U$arx8rD@D<-?erp`{B<}hT=@&TJ+J0Oh1{ND z!ce3=wM1QpUUw-)g9K8srF9*&Dm)~K_Z!1nzc=BszJa?5ko*St4ey5>B zS&h2`VrsH2e2z(db;-*bZ+05`YTiw&Ha^g=Y5BUc7CkLBdTbgwM_$s%*%b~sn+@x; zEoey7OZD0cwC>S?hBH%vn&RN#x&$n#xcb^?tTJ*P+hz?U8{YV?QSlXj5!gg%8yuKy|J^{LTH~9~n0O8#(`1z5W{i?@}7<9sN!!JKjh_l%_Iv zt<<^e3bFpr~|z$XQnd>ARYrzSbE6lr(5uh{vVGltd|ovumyCApncvZDa2f!mlh zk=EzerAWmaQ}89t2hVe2fzYmuA_v(do%tB?r%1^a($OlkK;v31&_wG)v5LtTBc|rg*I=SG5<8P zWYrD-#)ZD+qeBDX&-8)`oTZHaRb$Vo}ci?LZ`Zo~%Oh5SN|K33LpW~wvgsSX+r5w;uVAL|;q){(HsbYHwN+QA zI*`G6_@Mv{{p5&Q>Nf{k-!`-Vp^)LtzmcXXApThtd%f3zW2JIM_Z{pQoz8PNNek{c znFT-F4hH`T2Rt=#6+-b^ivymwg@+-m9xhJN@_#P=WOUz`C09C=ccjY|j^ecl0P$U8 zM_MJ~KYW;lJq@@&Z>Mbz&7KXAo3xZ_$_BYQwsg2+5i-K!Nc*6$%Hb8(Ni!qeHwo|t z*iLKac7ojwF(+nIJc*hzhZ<4>unu|1lLkmhMB!CN`F9fKC5XPXhfE8RcDl|nO7(Ys zq}rLh)*)}I8hD@Ll@gWjsC@r_vWF4Umk#$R`T`#r56u$i+sT_jJU;n(J|0lXLHx&) zo%gzLFBm;I-zd3TpLJoM7`FXQ57&9#Bh&dty#MtAykFw~{Vsa{sQ>pX==}u$?;of4 zL;Sxlr1xF@zaLKT&+z~L3VQ$J8-D9|7QNr@|NXD$ z+X(1I|23D&_BVBGETy!Rw*Bs=4!QJzMe5BDtz9CyrA|^>xx?DOoE?6d;#`!|LAg!{ zp@6^r`z4nI=MkJvrKhdvEizRbs3bjQjlT;vv*GO>7Cm{U>A6y)XJS?4=&5|kEPr06 zlAJ$ZGE?-po6M2k#-xeQe9C}XTF9Ixrg(LxX=18gP>H!XC^6ubuxCxKlinUK{%eZ%Ge^@j!emO}hHEs< z`6d{H>aG3uKW~=2l~j_q-_KtMBTwO1IPyN&G(i_>1pPHAK|%P{7|q$tl!z^U&Mdzk zppu+l>%KC@FV&dGV-02()(&G#5fpElpkEiN1a%8akS~6PN8dEUYEJ$&`sREYjA8Xh z-)GO7rEdk5wWjGiOQY|)2Bh!VXUy`ikVb37nS7n zwP`^5a!u2Bg+||9`x}mbYZjR0-{Vx0^KZvz4M$(RY5IPhuhQ480qL7YSk2i#jlMab zHXQ#x`=?p@R!~V{|8OYM%K`_^^8Ffq{*N|k68O%8L&i1%qC4!BjUqgFC-896vuls!NGs=jH>{cC9n5 z^lt2v9XN2>0C(p`QrZE@+UEcrXTg5>c5=i2t?4rE_@ZwZmmDg%*pc?Vb>{PcCCNBF zvyHuf8|vv2We|13-HJ&rY|P14+SNWwi8leidW4`Wvq;4Uu-`$x{5Wtrn1}wrsZctz zi$~nwK6jlH1g3p*cM7Y@qTP9vO8%svBQ2oo@smB_5vT*pBzMP;CHX_PlsG|mTZ7k_V0k@iZ+U2LMgK2MEQd%XdN*f83wkUkUbb@6TgOYK$jsG0Wqb^yF6 zBBEb?t{__$vVNULpNaO0i}N@K>Q6uF`ur5puYmJxwxbOInnSr?Jxhi^69uVNZ-RpeJL+tMSyc7cz%fS zM1ArZ-r)>9-4n6@uEKAk!1wvRei+~H_h#u+@kPs%MC<(jU*!kMo96kg%B$}5?N{DZ zc~#}fJ1_XD`D?Qu+Aph_QCgVER5J8Z2hRYDfs)HUJA=64Kd} z#&3n>nv63RlWpux4xs>TMj;J(w3nbA5yx-1gA9>+v3ABLPFPkmdo=}9Bmx%gSyD3_ z08?tm0Qd9#`i{o$FK)Ng@AtIgXuuEmXFDxNO0*oA?K6J(rTh#HmIJ$WCa{J8$FoK+ zq6Z>^I2PzIvZ(I};ygZ*H@&o2+MW*ju(n$`1wfpGroj(FZBfQ6bh-b4PKP0nKL|mG)y%Y-*`AJ^y1681qldq(^Yd|a~+LCFzN^oYcHoYxiXT6)1FtXfN2!mGg$ zy3-K#yX2h^oh^dS#%dSf?WHzVt-$C0x{UP&{Y(?QkVO ztoqr)ig$m{AYMN#lX%6uzlmN1jGz4as_^S)wm%3Q?|us+aiR~9*p=7u&cMc2+z*LX zA2#oT!l7Gi-eS9Y9P78DD+1U*ORJZ@*qdp|AEk zpOYTQK8{-+Zu{~2g`ppf&PRWnK;t#6*A_W60Sik%LdKuKF1^waUq7af`0L?53KQ}5 zZ;<@7Z#umQsGsuEaN9R*eR(63hzd_%%(SP;`1%)dGPvxY3i0)y=&vJ7f6% z3#Mtjr-U-$(CdIz z!`3efD#ptB!;sFfycVa zo@)sFOaBha9)A8X4EUe+1^kT2!M~s2fBj~}=s%C(mqZT!dwl@^qR7D?P4M4;!yJEv zeienJU%#gV!Og)DDEj5NwUV#%sJD6qQ{QI@eAD3I#rasxJ~TB%Ckt#JdJ}>dUk}P4 z-9CiIpHJ+7-_JCB$GFNI)3i?~*z7f*w5$9M1zuNzH_t!3aP(qj=wr#IDn z{RudGHBkK(dv3h3BCtGkA((T0!!#1C(tB$qpQ@Ub=dITO{1w5$hih-|Ao#mp@yQY+ z`38LnO`cm5f`Z@(bbX=z+C2Z?><##B&A|^t9tRQl75_5FpD^Hme>LC_Hwj-K&zR?r zn-Ki+a?lFs{4WLn&D+B+1b=QQ@Tq;x!{3qy_&q{}Z=OH56a1Yonc`0v?Rz?bFANUe zpkKrv{rc`;9p0P0fS_$~1bX|120x47FMrV#f5MT^Lp=e1m}&SS^>>dF?CKYM((cI* z^YYT0V7}-ZrqN&$e8@|)5XaY_rUHCMaPVI8VxIo{2*Fp+`{ao?{X}~xj6a|B0Q`RD;D^y4-A~}ZekLgS;f^QI zBlsnega2N4z`w{Oe9<2jh18$kNC?(H9h5q%OaS|7etC5-**N0;laVH{D3_Utv%g@;FtMk=?}HPzKp;>9vr-Z{?Nu>TT+0a zM{op+JT?h&ym1GC-}TR+?D3-C{CJ}^At(rrK#|Xo`;#{>2mH2?gP%q4mp>JhLE+MW z=rX_`7CHECg8$3Bh|%AL;LnX5{4HGozenWY-%jv%J{d9ov?llkk%RwcXTWb8Irv!w zfB6#;i8#(w}E(QD^k%NCb!QVMIV*F`M@Czab|IJGP zzis5;XA%76k420>hmrt)SmfZl3H~p0B1V4~f=h7i6}tE#Sb6p zaQpYx1iv71@ZY=`@Y_ZXeip%BK09LkIdl==4~rapH^Kkqk%-aXh2YPP9Q-YbfZro> z@NXyhJ0Ff1e_9j#g2=&t^FqLH8#(w{1b?|ZV*ELD0pJgd9DFyy|K%aG^kcojcvDy4 zz0a-$d!BFDVa`WCJs%)5e1r6`%3;F4pWuHj2W5vk-wk;_dM+WD5gY-<59q!rRf?0W z8D)rKZ=GA}<-ar~A;$1fD)!1#ybWAnrC!KD{!xZ3_m?`A^XWd%w^IO0xS3^B?93d8 ze9R&5amvS?@{f|-)tT0;aI750Ot= zhtfmZ=n@(%E}gp%UZRS*2~jAv(8wH zgdXqmL#N!=mSJ5fwa=Kb30D!weJw?kfj&;e*G$W?6}Fb-J(6ta&kJxr-kt-UPy>f- zDVlu3z(u9Y*}U^mY1E*kKhEelT=5QhBi)dO(?G;voRP|=@Siypxgb5)L+m_stUfd3 zzbo!S3dA|0ev|ZN)@I`X?<;l-6VOPB#-2eQ0ohE5hrKhIk<*EZx1jJ zEL8Z%gQ{*~m-R7lVa~bWf(tC=mFIyU%vYA^jk`X51ea4f=VFvbXIf0*Mb5PH!UUGS zc~OlbI`T$H5AivhVoapxrjO2DM;^O~+dyn5iE05yX(G{Cxeh)s0nFzZf{6XFYy%Ab5ub+W6W%>pS9$3btB?xwaV3N&2qIT zadquE;x5Nb@HG>B%~biijr|L+Bo}V1-9RdyYPb%ORnMpwF4|RH@Qm?+9NWix| zqk<^r`bsj_T_t&hh5Z6QAYpMm&2RTZ4%Z$0kubjJkgGna%IREH4EpZF{+iMkvcJCc zMX|s2q%Tik9w783N!6EBp)b0}J^3Az&N!0GC3m{;J?8qt;<&yfL052c^N!TjcItv) z)wj_LGUTK$x*^Xd)ybiz&ig<1z6Cz2;`)E{f&~J*C~8oYAW@d)1a0NUfPfYV zYT5ty%)NK_?%j6+N-KOmVej0z^Ez|p%z4cjm4*|kQF{1~$V|6yNqs--rx?*xMcwDkix4+orw>u_#XZb4R@^|P$%h(Psd@jDkIprDc8`TfZRq5ph- zr|+Xn!u-zjCuz&%$HwpU{;dHD&-NlD?%O_or+xT&7ZLc|P5k)9Mt=N#_`?7{nLMgc zc?w}IHCCWm`R9pYMBN-~XNYFZH|dNyxwL?JieSjk4l(4XsQdE|%a0eIL+f%cE;1`r z{#Y0q_Xg#=6Es|P95cK*QT*?RexF)MP-zoTd1ycgD$UC0JqdSXF)%4^M@I{Puj(Y| ztH9q6&o=bb5X#WH8_l!T&@KpT$`&prJZ%_u?f5iA}eUYG|;_rrn5LB9#vu()u z{_!`tKBQrJq(0={9yEggeE#4>`00i8A@jRyIQwJc54yu0F9e1Aa|uWLexLk7a{Sy^ zABmqIb^CGP=M6Q6nNhm_Nbz$*wE+sBb~y&|vnS&980D)=sgpkf`gvx?%VEmFtUprx z>|-%NVMym=5I-}U2_M7uj^B6sap32xeGHQC^Ep3K{9JUJ0SeD%cK|;%`S13Eym8R< zvZ`IhB4$d?gPxl#tYj4nR2NVb6^Sdb-LS@b2(LjFte-ddREzH*jFWj#m+za7aPx!Q z{4P5#sGIS#lFdwZ7vwvaSx`{90tW@@O?F@AfC9Xk*@nMQ*VFZZinjuGwxt;?Sl3XI zoew)k9V=>Nj(Xo0lHBVO6gi(cR?axVw$wWBp4@zk_a`h^i#OB1WZM1V{6Wz03?d7fk7GrgZPN$oj4^ zrJpdRx0%wt4@H*0!Ib`kDZRs#?)Ob(`72H7fGJ&PN_Y7-vb@ujZZV~|nbOjCk>#sQ z=_RIg?|(&pUuR11Go||-j{N>gQ@YBOUSdjbGo^b5BkPk)=|lS?^ItIK?=Yo%X1I;` zR`nsQ`bPYdED`xRkC@V?@;OpueL1sD=@(4tZKibZ%*gg6Q@Sc5?Y}iY!)IlU&OCHG z+;5#`vLyL#E?M1WlHGeEF_X+P~3TU@sQq^{zM)^=1A@_%>q41 z?Oy<2d2*EQij7OeiVoWKYc)|_{)CoyT17|mqp#K!gGc{L-GPdNLbqH|kk0}zG}sF9 zG{rU-|0}mF7GNt4@e^i)1EkV_|_l68g!#uV5I!SdXMTcgLR=hgW8OeU{;en^?SivWUKX1y4` zW)N!x?$I73IxQzzqiIkROP)NjZm4JDM+X3pEg` z81mjD;D^kbI;IjgyD(H-R4)-)D+`hN=<+LH;2 zq6ibpRY5*V1kW2p{*}N8VIqyJ1my#IdA+|8@DBG+t%vH+<|R&l*68)cgs+@K@*NAr z@6VnAj;RX{*Aiu|onF zZ!_LSxpwQKpnpzbsrN3%FK4&__C|&XausEO67K27?h4$5Psh4orF8*0a}+993|WF* z&+;<(wkBt=vfQ?GFR^o{GY&<@y5LoI?6h7RzECd!p^xkf@YQ>8`A|0PCujO*<(0qE zFCCNxB+ipu_*kU+W3CCCEfAe;q1Wp_We^G-`guXJiav6_dU5CqYr~)mM4Bt z9ED~4ec}R(a9(ng;A@(do3}t{lCvG^YKXZI1pdb>e^&DHE5oEyOu9LZQ+{AUGbP+x zEL3J;%ut__<&(r<1y|=B;~cA<@(!PD^>77Y2e4AyybIW0sc0XoJB)SUv`V-drLHYY z3Rx>8N3E^e4YKH#r-6z~cByC$t2=~`H?d7$;DkFXTFD$ucjrjFp|u-;)>U#eNVXvj z3?5Z<6@XhV5D|JM{toK8J2&Lhw6WE$N9{dde<_a`z#MCtZCI1CEeDRN;3})%68}Y0B`rVhYzL70ofsH74ou{Z#;#-s%c)fse8;NX#7{A(XJ_{b}Z0m(|YB~2~ z$Z>(bBjoI_apck}$=QAIYbRnOXYVDBm`=(&uXkQI37oMaF-Vchkgbr#l}qXQ2m1GK zj~~mklHT#bZXbT^`XDX*IA<8)$5khTZaRs5TF$BaTJX54ne9uw5O;&+mIZBx?^`P=?dC)H0t0 zO=042=FtNp$2jxp0b!V&g&4OxAlbu&R^vxw=$i$VrOF~(Rtv=VKH|fud{ZqEAE&av z==xx-9yqe7`s)ZpEmrG*b@X-NIG^6GbpWk`Kao9Gs3t^YTbbh zHyCgHK{_VvV|)mie}FMVUfxXS0_GasTg+ao|EGWdVgb->`Ad1p@ag41?qu7x@`U=$X(VPZ;RqdKbs<)7eo##yI zr5%>6D42$bo&(F{gj%^OydN;xP3m{Se4`C2juL*|aemF|MQe)mA?$w6s>7F}gsr+6i3Tc4 z43OPb@^>hhZPmL_yZE@~zwuNNxcM*r#C^ zW!ytnvrc4`Yh7{S2d$Z}WYDrf2A0iOoE+9xP4x%1niEm9wL%+;7Z!_Q<5}6TO5dPH z*JGDvWT0ALq$US)9 zYuG+Ny6A@Ev968D+z!`f|B5yKLC)w(1J;dN@G*cv}|vhRn*7_^4v# z4rNKOf-BJB*K7dCkmwNs>uK_H z$#=`1&KT}EWC*hNg zaMOnp!}D06xE0ehJioz$MJOf{gX&Af^xY3ZOu4o+s#evaPhoS!_4Ue%3l;|#D5vhD z|9jzoX5l*U16DF}qU zkqq2w{9Xq7A`Jf53S<8z3t;WPd)ZOb4#2;GY@M;~?e7bddlzN*vUHULJI?HYa^R-- zROP@h+^*L_$}im7iCs^_YTEqUgfU{`5-XfDvz9|{Cp<}CFnC`v0CrtwySHg zH&sw*b9iz572Am=@KnJ({1AVOw{R7KFKK=SZ+4Nx=r}MAP0C-&iP(btBY@I@`V9E~ z(#Oi}tI&V>A$3$+-12o4OL{_~A#z8{ScGzqF^B}O-26juKxAN-8izh3hR1W>w1)X} z-BlCY~zzl#cr<0-MMAqb-+$~z41EbO3k?8Np?JjUd7coAu z5&>DqlaJE?njWy-YrNA0Z-lKLs|{ZjfOogI#Q-ycACKh)i$AmB@BIwU;rNG8=3jU)znA9tkI|=F| z@P8aQw)eHhf9U@6VoZpmBy=!`phkwLOI<$WUnsx8U6xFK_;Em`!nTy0>6L5MS0tY4 zuZGhr{_uQa)UkYX_4nf`hNJxO0>h_$)Y4Y))B0Ck)K~KiuMXgfNEB={y!uRiH4VFn zUT~xON-?~8Lwz+Fdyf9qi|Q*P*!ru-=oNopd=Aa^)0Oyf^S$n(uS&OEUE0=RyC$f{jd`00cbj140Vd!`p#r@DMDgD@zz{WzLDI zQ`Gj(q*^XQp60tk${yGAx-`92;C0Sznc8x4?bTM3o3~&=6=O9O0!=}ypWlRaRQ(`* zA8;*p2X0;lDQ+=DVa0{jgR3>>VD-$v>N)H!4&84Oxc3<$tJ$ptQj*o4QEB&C%-@LB z<5BRvZz~I2uYUJsXXAHRKKLLk6fX`5#dNVs%S~80694`4=#oc%^%?w#b^jP1Y<=h9 z|Cl|!*x1uTruXod5iMhV$LZnti0=~j5Z&?S0(8IFIMUKGP38;=9DXZMj|aP!26uU;^Cc-ckIYEhIQUqxSr9z2}dpJzvlq zyXVkSgfZfLot|p=P!Q3t`2Ej}_%2ERr>GFl19bp|?f5Z5SlJM}pK&1kkRSrdG4}R| z?~?RTh4Akes6Cvo_mD6aI4~?u51mFxUPN)>qt@3h!AvLb?b?X%lJs`63QsHODBx+q zj}e}azm*m|$3?Upf5tD0_%2BgHF(ZbdpJw)p$5+b>tpvY1$h1iRi#3&eiQLslHO|Y zoQ4qso>TE-geQyB+c@}nMnuc;;rShqEIg7VJ=EZ-s6E`S_fUi9|E_B{JnxCd_{3D63OzcCecdHAc- zsAk7uTlM`a3CW5vXvQa1g15!a{IM7Nown0vMvMdF?Wampv?G5^JF=kE-Z5dABp569 z@)jSc1@`N`q>!v=QWcVdyQo?<51k9KuM?q=eE36RU<3Gnz2X*S}@!VfLpDvzH5zjrvb2ssvL(j+m9f!aX zfq>BOsb_4VnJHA6Y&s#No>}^)q?U{Wbj4+WoFazUNq>Wd2+H#W5nU!PA)-qw^)lM$ z`Ordt?G}Gqx0z>?XjYCh3vhP4+76{t;8f-xZnd^{r=#P@XjV?b#Wchh)B1%(ChiNw z!q=`yO#5sS0ptfA&lBRBxg$Fs**VoHdkJ~>Y9>EH>^Ox4<^h@x^3bS$0Mi1=?wa%P zpES@_{ejm`ms_5;Visk{L+q`mA?@q7B2Q0uTfy+?Ts9v6!^~L9vNm49v+>yIsi~E0 zu8nSfg1cyo;r>TdZ5d))+RI*1w9?lZ0fB2a`&wPlO`c3P2I@x5Y>-tL$skJFC)JnK zQWw5LXJ9qv8`ZZhKkFUKcQqA+CW{yk2+Ye-5wFSHqwLB;NG+oMCf`>jwP>{zCn?)X zo#%;GTfWMR*Iww@Wga$^bHuUBtd+2jm#ao^XK6hQT|G-`O)tfPOw+rV-G?`Vv9hRd zLhX}!u(#U&#+D)IFWT*bb~m7FC7BJ^7grO zIQ^V-=|{cr)8o=vJ@M1|(l3$nrLe>=#2q&J691ngv&17{c&v~ASBL4I4V5Guo$-tK z5n=n=HN{MxT?iur^w7PhEKm)=U!C-F(9z&MP3_4izLpEc`Ya||TS^KZ+?YzL9~^xS zzlnfzyab*11Fi7(0r`N|yxfi#c0A)o-*Sr5Wd~(}ngEu5-I*>hg7TpiWmY3$(;ASS zw0YS6OZR_4h;ysa;lw{1egM5`)%Z@FHyeHcIB@5LAAqyemj%}tILJiyRCez6xAnTa zsOpfw=KfWO1UjEqbx7dziB*RLLU*e=L>TRj;b9Y5AMA})yB5%xun{s{Cq)V!sCc*R zxls?=K3}{cFR)_eUyVzGyiNBvVE#Eqe*?~hzX5`J%&#b@)I1LE_!}ev7-=e%|2IQ( zIUv_2Y{jz}&M(fR%CU)7GXFgVP%ztu(zCD<$vGRHmMf1%bA^@UCQLM_jS z=j!EiQ7iVpb;|A?p;qj%TUjT*fOB3^77o;A;`Hoc;m`ty6xVa}$&cvzMHTb!eGPss z^y*FgK8IhZh=q?)Go&myiR66rx)4=&!pCS4e2n(k?4CDmJv~9Bn~}ER^PMQx7p6RD zPQABl zxhwYP?qYu?j({*p?8)Z75Pt^RriJp!he8^vbXas}mlHuAx*+6tb%7rI0N_v~A6$Vi z#mX%v2n`lutQwI5O`oQRLiiieXmV&23i=S~E+vXiDtqxp+5T3FLZZojqMaN^hg-<1 z`4jXX>wmVeYMv|ZcjV|M#>l9TBeXs;RYU$0A&> z4G-*Z+iWebC$eDv@#R3XR{-?Q_mp?@Pyz_ zJx3tGld}+MV}K{n)_qI0?{NYl0HHf#){);ksy+i&AU~kz$0;A`Pn`U761BfFe3VU~ zIojK#f1l#`dg|ZDX}?U*57ierz8CcTIORkAiIXqAngG7lo4s9Elw#9wS@+b!prK)H zQHy+HYFqvsKcD3579Kxel)o)W{>UWxMKSZE<_G>t{yJ;Rn74z1FsZI!(B_EvM}Sa* z07y?ZMz2iWAL>-{-Zcg=vWIrc!~u+M>C!R(LNpB06pkl!3DnNL76=c+GxaUi&4*b- z+iJ{!LTj~+C?x)*O0yIA8y?c*`$$%0_5#i4a60320pt`S{M`P{;`T@Q+4Bg#Rq|2mI13Il|>89nJL5tJdfA3n9V1K}V_k^AwXMgIVw-;ys z3H2vV{tF8ewU6^d(I*s1gbQitjp%{%FKK=+J0ngwV!cJCldX>8yg^co>rRTbIRTSaiP*Lga)%{!I zu*z)Xc0^}@aIQ!+~kU^sr;WR?M(xE}~L;Pv{FOubplF*3jRd+O<{q%fb5)rEim?QrYJwHzWmnX@e zE#x_jKUV!_c&Y0fUN0rJFuiL_mv2+f{}PIs095!fS9u6Mw0Pao<-gpWTKQD_Gv**p zesrKey;3Y6?oTT8D{}4#DjhAKjQ&u5Xe*0uK5BiK*Gq@frZ!FJyI$LzLa#gAo@xC@ z-M^5mKSw#=9YI|Mz1S!8A@S&s9zRRYS!4dr6k1d)GSGvb=I;{Ht8o3>UNX_4aJg75 zscRbTwZt!Hq-5In;r5oqFPE^rYyQvFPh%^gcw^9unZJuwEBaseXRW?i^bh%e5czTL zgCKaD+lkYk7QG#vPRHp_mlW&Ukz##MyqI`=vqgTq@ukGS96f%Zqx3Pdd^G>3?`ITK zN!!f~jG)ZyO4IWYh67nRnr`a}-UFeZAZ*3mj@@5#K2kF-gQX5BXb%?ucOIGEyl#MGh?|^PzIrbEJ*fDm=MJ`A}lB_aNYf zLTkYj7pM3U_oZ%%ZN^sX6v=j9?G$Fa52mek%0S%s&Y3!g1O!`Mydz**q<90h1>|6vUkZ=0^PDUM^tAoq71n$6sM14t|O@ z$TGMU__ToW_o%%;KL%K}X1V!(Pv9q#>UR&PKlMt0BkN#Aebqz5Kxh5U@?wJJZ~ypm zkl16$PJ}asEKo|i0{q$WhXEkeV4xDO1;Z@dom5Y!0B$>}Cj+PEwW@BK3I0!}uXhK! zhICz2P4YBuB@;+GIs#pkx9HwHb-j+KFb$I#@4|c1fMk}Z+%kr+Q;@~tgwf-~t!JWs zR9_kja;JQ`gD|0j?vXLp-B?b<0(Wt&iqMjU0TQmy)Zfz+_V=~X9qjM_^-*a;sK2=H zNK9{%9>)MJuESIIY}ba*y9F4e?UBG0mPaUSf+pb`@CR`OvIH#fHvB*zGZxr)y?m= zmtHf_YvXU1UWrp2E0yziE(x|~@_I>~t8#Klfeqz~TP+UjGXVn|@a^JWBm_K|bYwyvX!Dyoy#9Pb zEO_m{Gi`Vs{zoi$O`v;7f!nFT>vhy%f>$54_|b!xkzb<|J;ZBuQCeqV`6JX4->4{S zDfXPVGvh<;4TADT=}e8QEp~lRhUkbiHRl)HoQWyh@k@~>PurPS61v52c1mt{b|7ex@S5D|2{FxoAob(Kaa`1j;C#KvWISxC0?BjGE){vj^TFoq#zOJ!(dB@ zr{yE_S+I_kjkM3~u3aFvPVv^!76E77U=!;%G!GuYc`R!*=)L-?KTft?q#D^c+Uhud53B%3VgE|>(m+!Yf` zXRh0I?o&qrReoqMJTh^8aa?%(=3F8|?SaRip7`P5QM5_D3{4o?HbF9L>3gf;FeL3y zaqpYkKNbB>?9!01{Hq--@9SXsi#u3;|1C+!pG>|;mX8B4-YW@+b}eYtS0w0xv~Sbm z&+s|0y#~D}(Q>{1*NcNIh*_dU(KHZBf4!X!Ph)Y5LYiEZfOSdMpLFxn>i_QphW_7n z=aJ|?g(k2223(`&uK+e55bXuvRRc~0sV+FAjCa2MF?K7+d)Tm`(`om8hR4e%hMy|W zK~{)+-{Yrhm{wf;=q@@W)dew^!(mbv_dT)|w{KFCV0;JL8}ZISWNz ztawSjf!gZ3RQrFA9e5TDNf(~~`?Hwvd>F4I;rYIZ4jmhwn{a@!{oso#dF;URo$_?y zIqrs-@Vp$aBjNe$4~YMW4bQ6WM--ms1K8=N!Cymhy2j1lcNcAQ^G%Y!9$^fj7I3Wf z*oJTO;LhVaB>%UW(?^o0gTJnAgq*w0j;X|2X~}U%$ucPdn)+xOY23Ba~%$yMVlB6X*VQ$omEMNaXh<(yx7hkV9*IIIgZc zeNlc#%G;I>$&i-60u?sJ9e@rh(_K<$TRNhX$F``>T~dqu%Dm_v_J2?8iB zs$-&bXYG-GVu~T59Rz#RihMNQ;{KV~m%}4dKl$O)84&~c;rkN_P|TQN{@Aj!`kz_- z_ou#EhqxeO_M91^d2)s)(ixseXLur=If$brCcd4Mi76w00fT$+@w5pZVf&b5Of16P~!47}B!v3^6(S=uws2N!$# z*CAv-%QaCL;K7;0$NOFe~C-Hndy>LL%alQ!&R@??6!noM|{i;ohpE zw2XqosBfS*r8W>Bi3P5Go7W#v{+`~`UsVkZapD%+Q7yf8xf#_*y#<*79non2zHsp zdjYOpvKr#Y5zGNww>;Di5n45Wpvb(pUJl}3D&KY~a2Wv(9^nwKg$D+vA1ruzhc&|? z5_?1+jy?RnJ_>(Fri8yt9+jtzz3=7Vit*Tg2$9!Jh(zR~V;zwl|0+)bk*`Y`kq0o6 zn^iV9v)a%R+JY;7X~e7V!n~rULGg{$Pd=cFHTQzOLo- zUoRjFW^2!eYVm*#8!_Tr1j`}WJ^Vh5q)sYo6r~+)wqJdWEKgCJundLGK^!e0#(bOY zfk~j&9{Ie>C9J}_L$Dszu}umq+6YYm8HDzeLFghFg!aQAw4Vk3qQ<<(xZGWfzI)hCEh$w?YG6-#REzS^H6I)ocbp-Q8T`wccKE8 z)kt-?i|S!^QvQN0sNy$x_-cu7A=lerJr=0O&N{DmUN>ptgnD=2bjUOBaiF-ZJf5mpk( z*7H%(Hw?`X=*6eaN**#`+`o+K2!EbQrOh2wu4_7?MuIrBu05}hw*CRwj8o0ld9!-s z`dQv}K^e=Rfi+fcZ|y|Ol3OUp+X68%LM;*+3hdKn|BI)G8!Un`^5;h6C-To2i!VFk zpK($OKBop7c28fE`s1gLbbwiFB%WRC;kiv7xlfaJ9~;?@bD)%O?JSW) zBfN6d_ylWY=dy!#j{Ro~X-V>QPs?spj3ZpbUKqg*4p`N6Q@oJcEAx6mEr{4rj zghT68Vw50e{1o@mq0TLC@LPCCtP-CI*Y^hHq}!tSco$q=R5|0PBxmrq5MLQg8m`wM zDdTN7_h1|E;z7JFz(cCv=ElstPrJj$7`2*^RV%A%@|MhE)L1 zE#M07h5+W~J`B4-se2+yuz;dd16ZX1*ajBBs{oE%X#l$-1h9RZ7J?7d0fvikX%gum zlwn%IUx#1I-6wnjFb2IH1!DsE9J-uvAQ^nl_*qKu`3kX;OoB}s@OkPgl0wpgkD~?f z`2^AH+krHOA_?G=^+GE6b9iz}@L4h?O0Z7@K1-U@#-Gy^z~{~BM*=>o|E@V6S?Q%o znM1%iZGP)$^Mf^;y{8%M1!U@lsRU7SnE#6m-`=SH9&6tx;@AJ=NIE4#-=iH}1GQ{p zMeyz21WA(=@;7&|{8=3=|Bs(`tp9)NVELOnSpKXImj6dt^6?*Q_?T{g65;PZN|TR2 zQTab5FE4!mHoGA;`&Yv8?+eZGZ<7b(I2kG)*g-RdgPuk5*TO+>t#5Z+*_*bJZ=#5nmG0-+x@(LHtjvyxd1PtilWd@?Wx9slFQrCK8{D+(%`eekXUZ~h<_%^%Ok8UEA7$Jm@)s^ z82LEXYO(bU11Q}z#b4v-T)Ywd(C|+8JmAs(UZuB;UyDjaf< zvHt`lI5xfR=y^f0zmkp$nj~EECH(qS1tk+F330fjMM$e$_a%5wXs^Of1a}L4m2+H_ zz9FpO8)8)OjZ^hiTZ{@m=bN<0h&Uv;UG5%I^wDKo(9l$p=E^ydoDG(5frjDwpGD&| z@x`hBJ5uAV7zfrV(y*S!cyB=LrKICs^B%_giyMxO@eZnq(nqE<-ZxU1-)-+=y!TE% zHpcs#7ozlwX^eO9Whu;W%R3maJn1Nn7piwU$x7=N4j7>&{2l_)hz0xYOC3SrXP#9D z2%;bsEY_;=4m@?iT4{j)H!-aNYU?w6|0~o*I1VA%5vc%y7I5;pX=cw*NQXbnrCAz@ zm{iVS%$N=vQ4E^4!5d+x7%apOJ*LBs@iYRMKmyrtdmf5A%wPu3hJO*Gj{%LaVA>{qJ{l`X4`j`IiS{g#W;Kb2x8nA*FKF&0R#5s&5%M*x(irBG2i; zr|#Z%&u_-n$H4qvu(RFs>l7Qz5y#K?^Yv8kSeFH)H(x#PY4?0xIrbQsuetwd_k2Av z=6mQr$Sv6GZNz-RFKsP3w}H-=!sMzOT9><{_%IMa&2FeVbgI5}aOTuZtwx8=u^T|L z4Gba;>fiFKj~@KKc_xZ4 zNvD6l_2^&kcJ~j+mI1sI(U*)^w@}0qjqvKEUKzbQkybrAhg+k(IzL&5UirtR0ySM; zdS6+F=y%b2tVn#!hsDXw*TB~T7kPw^RfRn*C>|=EfgFw_m{%6Vg+e_NIsAn1EHUnn@&;S=##(bd|DC^v9dhL;qaHt`WS zjLu~JqnEs|2rL{va)sk6Qc$uh&yF-4SvmO}FwTK9$cK^`69K|BIg-Q+Sinoz=Kv&z zGfbOe!3n-6U?s`@1c17V0HwR55Tx{H0+s&U%kX@X;rV34^C{Xh{YZQSK#SNnI%wTx zPJmW&)DmdvY8HSNpNK~RT2%=`prwyG3Eo5aHj0C55{E2{&*=^qF$1{AR|<}>E2{<& zMEhz%gwtj35(5*tl4B#C*UdmsIh^-hnT<5g`U+rQk}SVzI~Zwy(t zU=b_}|HEUqi~1aHD9+Py{cYs=+~e>#4iDo}IgSs<@!@;L2h&agrX+0KKu0uwC|bXp zOh5F&lTnO%8Vay^3#c@yPZH>dlsd3|54uxf`$8b4@u;e5;erW2S@?+|NCHBwN^pBE z!try2xJO8FiEpl$FT|rmtnOQQ%GN43(j7nGz~tPm)HlWgh~_C6E1_jhNy|g+gR@8@ z9``UAd}>5I?&p3779`Dh+|xcMxh^tNcL*p69<=_Z9&rhghPbFS+E^08vYrb7A{(Z-5cJw9ai+IhYcXc3MbBy@N1%D>UlAZ^8%4m~( z8u58wXE79X5JeKkHx}|#qWHz%JSHYAcKqTV9G!=O#vBzojF4&c|GVL_`hS$~+Y_fu zAU41&lhoyrn-_+W?7l5=s!;U?Zv?fWvxKzdDnXS*97sC-06742i+d5X9dw6?JgS&V zF>$vH0x{xnEoJWfDPXuuN^_i!yt`#iqk$*+gAqOftxr)i#WZPFA{1CEKUn? z>We*|i$s^>jOUd0jmI$9 z!C448-_q(82UjYv=;&Amj%YkN2rl+?tVKP?0_CczXPt@j8Xj?+Wf(brMrtv`%u&+g zEH^$trRf+8iQse!LD;zIh>hI+?PXw!W)4k@DT<&7i4z+C6y^uOp+%fxxpx*ZN#Ro( zzPrggV6x!^%RR*a4}nTQ!Gdu_9$vZVk|-r~`0&BdWQSKSdU|276?!r;J7ia!s;Me8 zIN>G>!0FGg0ZyZEOG)DKCd&=MBTu{k!wipK%!~z(sRnr5et`)d=x-!E{&{nhQaKHH z6#Tad9xC2Yn0bLWDm>Re;uX7P6HmF zoPiVIM*N5g5B@6PaY1>9;UUg1g37wVAH>*@p{WZq5AJ|uH+`dO@~Ci(OiV>MUoEKe zBVnp;)&wF=E?^;ECG>s#{)He&r`3^9b`R_ug#aSEh-?5#(2@ z2PGKKEh6&>ji*usTj|N-8OhF?Ifn#2K|>KDg&L5xu=?- zkye+)`c=={h_-vG_e6oJA@~czSHKJt7-~n$dMA{vKZ)*v+GHu{OETXF-5!I$G2%i+ zoz?AKOe8Pb%Q)Wm+cRQ+ACDhR6~5nG5_h@`#bHj2NSH`oTnTlFa1Dg{X$DnPS}yMDB52D&k$-m zlQN={c-@WFtnmU(phh7~Av+Z=2no>rCWN!Y^YELG-+WDR!suc^{NbD1kbfKAi%ZFH zaaIb*6Jslihac~s2r)DUKE=n6ZTfZLa1KJ(a2vclJD<@Vf;f~b=k)JRyA-UMBf!yR zLU*J_c*$h`w#*p=JvbG8tF14>Qi)U2fPvg=J}Sc1^+TjQ^kEI{|YUYT#&opgVH+C?JQ?=|PeUXStSC;xDg`4O>pLh|us(H!U_ zp)veDiAn(($yf?pBRm6+5qOd>PTxKc<%x^at^A6?=k0ALdPLkLdguf!*!4i6O+;6=em zIan`nyuIV_Y#+WDmZ1T;!uZs_d_z?NMbl2}_or+49=h*5)igyti`GvvHJArKMEXsg zORX$9zyc*KFe7}`@9^8PsS)2e6GV1qKK}Guc*lt??e%I3ucfjxETqdwk=7DG;_Tn4 z_V0Qhwy6aDd-;M6_D`p;>gC5eDch!G{Y3>#e9Ej+qE}s+8Zo}#M=qaO12Iw2+`ege z!oCrj9H6YA2l`}*^+}#c#6Cj7U{-E?5BcH#6a6)GOkG~jzJVRD{vPw?gBe>7xu2Z^5rY+%C56xNE00w zg&S$l#2?z4fwpGklN1bzJQTT9L)H|27+=K@DW7)i$*i$_nQBlRk6NdpRyh0}qD^{G ztijo04Gwpl(q*XdRt1cTX}1-^zfj-f4fa`zUWH^i-AoIWKHXmn`Dq_cZ_vi>mJudO z;uGLWJEKtIpQW+2i_s>Z@9}3Hz4`vG;6Hf2`^Fkvd*}Pi1226~^F6hHTJx>z-!)lV z$0svCHsi$vo1kIc#VbGYhK`kg=jSRT8gmmiv~S*z^!^z4e^-L8M1OClpVl+ef-mSN z$QF+N3Z-!p`uTtTzQ6SZI^|7YiPNiJ&v;_}&!_s(Vd$a{{^#!T* z?*g*JC(ssD1KnxCsxDZ%XGU5q5B4QDtO`(glDwo_XX*S3sX#-@PIn;F9To>zd?Dp`x3MVH($+H0$w(T?Ktg6f?rQDnMQqJ zz*!h$Em7qvJVmtFFeqUu6?WN30$@b9f(ZN+!F!!~G%RO6{-RsI2dyt?ctC4jTs{5Bd>BTA5wKa2 z#CfXW7{6FH@%#$o0b0OEpqn#VOF31-{nq>oAfBrv=nj;*1GBMYX2TeF4Fn<}hCASJ z2j<}296SE<@RyIjLj2+Ch&iSBE5{#W^2kc%FKZSDE9U=|#v#dnTP!HxJq5EW0+;J} zhH|315Hd?w3zT#R=A!DksCur3XHFSsXCWoMaVHSX6ZqR+)P|on^@na+6qgdbO9+@f z7w`*R|3z3h$vKf?@x}v5TJH%AYP?hueEoH$iuWtBT8%1QVMlM2cd;kI|I^AEhnFI4 zQO2s-RyBJmWeZ`oakvOLl+0=y-Cp2ZEXGiKH=Eo0xtguDH>~6B{dS*meEav9#^+PB zwf5el>~zMb?!SV(fhHA-%DSnr`Zd+nm_<+|D8;5Dk>!8!4Z%h$KO+6|&+nzNYUR78 zQJ!xTeMWq5);R*P--vYPzHIFX&BJzsI;U zpJdc+WJ5mL))y;LA=7ZaFI(vOYHEGE8OIJ$6ZH01{Wsvp5^QEXw~e6FRb9$&wqi}x z1bsV%dk5a152)F3_&6&e$chPMeku!HpSr+E@yELsy|8#U2k`Wr2l!nOMjvkiXMtEx)!?C4V8uNEM1ox2sZJwlwW|&_^r6O_9HL&`FjvnO8Aq_!Au6dhz!xJT%Qpddb3i5zA%41T$(=eVK+j| z2Nc28wh$tzrlPk&(f5YP6XQb#MQ24@Q3#LU_MO?E(V?St%8t*~QNg8e7%&#D)!=}H zKiq*T zw7!|4w$b;+Hp&9i@e)#P2013)rc9WE0|z&WH-qR+jw0a= zd3=@)x88j^a}2f4I0aw_UR`bHxmAJO`$c57;nwM&;WaS6Zbm=tzM1IH)DNbA&H{8P zG;NAWqW!MG2Y>E+wY5J^OZYGMf-MT3LaJzYwc#Xr(GT7 z)M8nN?YH{%cB!R(-J!d~{oe>llZ6|rF4RjCzf1Kc%7@Oc%xTwK6gt3&bbI=v*QU4s zZiTkownDHj+tMK!ZauQq5V}504RSREb{uiD7$xbgdV5$C-6;lT zrtt=`UfK;}70_!rHb>tdc7l_4iMT(^H;3_4>4@B9?VuozO_J)EUQNRZ%d)l+V2~;( zcpYs3xa_Mz`RXw7qY;teT%jAU%8e0(M`PbOnLHJWjWL9~UqQS8`GBi-!&;1jVB%lJ zCgI{Mx%=$7XugVXq+VgS|i()19bTT$w<;=^8A;7LD)UP-@Foy)& zsVbcKAi$;HK@~2L!tog$L1kRTTgJU$YS`9o-%%ZalHtPU5R@(zP-=#1*3JTIoMjbC zqpbQ>YFotKC!j>?cR!#+x3@weNgx_`A3*etwF4lc@!K`)LDcv!i#2|M6o8Ky{{hqZ zr{-jPq|M~uf`8<7s>5fMTA9ZZv* z&=RTx3NKR{OnR*^2R4dU1hug+ex)5D?(DeIkp-LBrWV$}$^WT{gU5JwQv~c|5jmmR z*hE!Aaf(xc6fG~fhV>tT$LywhI;9cgb*!4ycSobXAKQ43JpLZ-_3?ezAF=+h-XqeX zwL=)$@%5PYdWK3md{R8!_BHv)UxszJ%{!6#XBS#<*L=urTh&sCfHB@RBmp*wC5qF1 zj>``~w4K~UBy`7FK=9DjN1`oC2A_l%!fF!ZlH zo&FVGLCiv2Kc;wH6!0r%TK|3-3x2Sk6Z}XeSFT*pL_lN!3G^Q)GJiQihmsan#`1hN z<|j}>+pB?+pC}{<#}IMsa11zDvX_9%$`_ojGWa`HEH794p1@Kcdj#72g#2=%(!oeK zcxFyx{|i7g0DBFU^~#8~KrIUT4B8HtesM80rH}Ua+|=GNo%Uy7@JFUX4qOFd0EQ>(cq-OW^a_gX;JRdu9fR;VJy;{p3LG{*oe43PrZJEgjJ*tOOLH?T2J| zLK?r!@MBi^F+2R2LyuBPtwid;k~&n^S$m|PC}tuC0L6T&gHru*K)MC+O96Zp^u6K? zMbwr;`FG&R5Tj-F)v*Q-idImTY0wA5o_3~&@3=wWedU_ZVALT3K}`7oV(DWW^0g6b z^@Z&h89423TQ6D?q@#NTEC;pCw1&$q zw!YQCsmS)rRl0PIxqaFmZn=iOQd&0AHma7; zt8vXkjs?eEzP8PE%}1Lwan$xR+VAu9yWEcdl<&xAD&U&09gdMb^BG4OY$p)@Dp5fN zg6P37d#YL##tHpl7Coqyye2BamwGL36oLwMyx5jdk3|jUQ>l2N;9o#Mu0)_ni?TS6 zV$jHA=OIM8PF^F=myX_gcC z(^CkcLgmf1;@F7`*ypN6bERmmNqIqiON^JpS8J<&91}wRa)DQCQI7=Ek5o3+?gh{< zl>9EMwbiBpUE*&k3l@>+ejkR}mpMMMRsRM>rU-mSIH-VYF$?&XNxWtmUb}gzhu>m# z%bvv^zDnX-Bw42S%I_{GG;fmlqqRsfagr6$aXYi3mGD2zu-#uvC?gNakOE?|CHMnK zf!qQQ7v(jB1;#TOH7=$ai!P!XPoo~ycqz~>mVG{}Ibf@Pky_9qEBSKibQf}3ev7wm zOjNlPY@+1@V9{~~XChpMz=~zKvsMy!1#cX9<*f0-%uDK3Zw>_L)=Vk`m1uB{)W3-o zqi&v!;lK$HI#S0lq0OKU_`eYB2J;P|Ni0XBmexK(0*8T15*h`}Q@%3pQsRsB38|Tm zr2^a*Yl9}t3ARZ?3Zzc2C!BCmE`UVS+%KF@$?sOGNK>eO;VD%t;SZ4dP~^KxwQQ@h zy))0hRE$Y<#DQm!#zV?&#Y<{Epzf;cV6$jj(pf* zGdlC8a*NXNWsKO(X4>&%ObdFc?e{p+fsGA5`s5JcJ%I(l5Ro=6aIM(1Ce#bj1=c-f z-+EPifOFD#EiVr6i0a!3-PQA(B&Enu1_EP>l|J`l70Z7kx2S0dnXhy@g&ZwL+LeEu9CEZ+r#w+h(@#5L=);eYFFt(7_~A71;W%tlkk3T?H&~y= z-r4f$+36t$v+^0w8PerO3oF4XdDn20*G?QHqBmEqHAHeS-ghjisg=}lCMw{LBw5_MB`74{FjpY zK?;Ox8o8|_-?sGn2dIvoZsMQO8%GoJoyfH<1*78`&PvuR6W?1Bbjwc_5U6lSAC{mw zg*c>teZ8{i3v5MkaHb=#c@>Gj{Z~3xhJ8+q^$|YmsEETv*b9LbIPXLjM<8XXQu!uk zO6Ig3VMyL{jYtXas-7Xn?}>VYcU6zS5h{{Hq|O)q(wM#HjhBLcPCc^|0;;%|ins!P zCfr|i6U#<)Q*>Nek%46>b4zBjzK;5EVc0Y4XXs31UyF^|Ly=u2`f4dhz3Fu~qQ5cW z+w&Xh^T=5Q+`+MctGad#qGLJa+BLbJcBN*e2JVa@*RH2uHw-~7V9^U)pcNQnEN}-3 zs1pFOBCQE9A`hNv{fBu=K?k<0bl@?K4uINCgYrkvf=hCAS}?#3g%YL@t8w`PDj@Dy z1IyMKK~lzsAX{J*OR#8-P^T}4{yn71rEX&a!i`(YfA!_r~1Z~x? z;f(|zbrMS?-mH?T9ui;WsrkFN6V=@Mrrrh$5Us+;p6A?-LxNVJ1RPUt?n|Hdl6ZCj zGIzQiJ4EJsB4qx0a838ntmORWQvtA{_-Xl^cpra*wWSUZPXEKSa-nSX3?QNw0Mk!I zZM*2*gi=HvDFS+ouRlGW^n-#Q49I6u%g#EV__wt*MRT@L*8H^MsKz#RL1TO0?6%ZlrS!d zuU9&66md#D==~a7^*aP;+V96=zh8@Ggf-OiCcO;Y`yBojsYg?>1eN=5Mzi2>JbV}` zvP1rQj_P}2ACYr>EF?GYPjOBF!*{(VIfmtV3u8bt7rl9nAll~Qz)(UcqqNuc$0#vf+HcM1iv>i;2N6L1~WRT7?qn3#j4kSO!*flx1d_9&m9PuhsU zy?wQ62B7dy@OL@>hO4TL4?hsq353ND#;x;3NX^90}~bG$5OIJ^$b~~7UaX0w6`^re@)h^d9w#vy!Lss z&$HMbt;bD5(TaYIBt(`EhR<&PukzB_)aiFM6WRxTsaxpuM-sOwa|yY56S{ln1nLWFn1<_B zKUVoM4WD@laX*z3)U*IXrP6I6whe%%EBK?D7R)t23?>HGxPI(=hghcf#Pr*gGquXM zD5VPszxIm0EkiEj;|r_i6n=w8Tg`L$|4r<07TeO11ItTqJI~vtdX2Y-e04@^w-p$O z1*uHBy?dQ<20CBC_ez|CtTStQ>8)fP)Q4t4E(W%`!m-!uu`L~{R@Mz%V7E83QBP|Z zJm$Pfr_dy*TJt?L}O}SOq@o6DmLmKm}eG1$seX>kCn`^l2pLudG#f=X`;V@ehKpkh!-*aV2t-dS3_K%o3}|EVbD)d?);1T2G~os z9YJJmC7U&3*5foO5T0s~&y?rJ2|C6=$C%?|?`6>EOMI9etSxZJRJ{3AwRi<@ zR98jWwPcHjS0Kn4O8Zumdix%bYfL_)$tN?ESoIU@p~XjY6ZxWG>j(NwweR-`&+o6d z1HZ)--`^xK{WmJfjWN-xz2YcO_xf_9Ev#zSV(JvE0F^3J_f!GV62^1nfBsBWT2>c4 zgHPNXd$Fdk0BXGZ4((JBqOJxj->m!`QTE(i!3MWqJuV<&H@M5V8+?_g(r=pCb;^P< zgcciB{aQD89V~E@K~&<0-TbD4a*yMm-r2gogP-ET1_L!CSuy6#>TU7$E33?(0a>!# z-irU5um3eBU%$vBB(WO(@9ZBh~9MZxij;$&PxL3|#1fjHgO)CkQVi6@`d(xhoKT(yd3 zJ}jm{N@+YXfty167Sj^r3zCzg{A}Z5&`PjHVrQ>dj7?SB&%Z!pqD9)1TTh}sQFGTA znj;ej3H?x|UzJY?r?tzwsqI{em+QPI2QjiHd>7P6h?U)#(RyOkTZj`F2A1?>RBK@e zKOiH`SQ-x?c`$%-2}P~V&7F}P65E9I!`6)JdL>QSs>9Oew47krMWd70qj}7 z-pxO}8X6($xYRiG86tC1U;==h^Wq+j#KDRV<;RH|pcoAdeO?NTUhI*FKJN((-Ol(m zrSR|&R+LeiJ-M55RVyhjNl_DROCh}{?6y-$a2%tp>U@(q<#n?03Yi8vNKggn@FR^W zbnp-hcF-H@f)%u*Y84G(QoZu4O&!uB0v;hjrD~Td(!G){LaCY-wL(wZttBgK*h=U^_7hK#?yv>5%kG|i6cqmYAhTI zFha^(tWg0JTlGIsJ$86t3u2qmHV^c>9kiE9^bMCN43~I?O3>F5DHhgDq{*<=Jd3yD z#cQ>++EwvJroNZ_o#I&N`w5*(bd^rY^VnSfbX5nvI5IyG{k;SI{m4uDOyWO9>yL_d zM1MoAd&>-c{m8dj&?Hj6-DMt`*Cz1;v~)U)zP3J~4iKN>+!88vgOL$hX)!PWyk;nQT)w70p(u&zh0Rs{=bXB`AzR01)1(()gO-ABqpB%);f>L~nipvWQt(|! zhxEo-{m-oa`%_=7lU{!XX%Wg#zI4jk5t{!?1@x&-UR$SFZA&*o^Ia>ItcGvoDps-) zKktYvyKQL`E7_!_S)G!n*59KXDC_}LJ#5m;>a^45G%5xAkWCS3pGQFi;Of~T>NubGn7MBgxH{-f^%(i z@x#h_O^br0<(!4Zq0>Lx(qRKDO7A{TEF1eW;)Pm!RM##e-0|itqh&Ni?uA`%gK{Zs zi4wow!WGQYH0~#(SDlg#NAmlirH9@5x9a{6T824PnE|EWGw6o=|Ae_5?22Qf_iS+J zZUo^a&pKSGrMXGo_D6%YeEWYBw+fawlbPHSTly}L z*S55x;4Wrc^tOjr5#CBXAP`y2nNB&{S2MI{@zZ~;#2+DCjvSFn&v_`?$dG zfhbcpRYUI&1$v(CerYV>AR+TY7 zjhLh!Vp3Xjt7}mJQ-pd$Q}jDjL^2h^nm)aV%vhK=r@t{%8Pu>SSm9{1-Jgq{oy?sx zU8UZFf!@e++uNTZiqcl0^8TeDs z<$gLRoU8Qdg^3Sz1{c^v8NC{0TRdwVVI&`@`e99f4vVg??uS@(M{qsUeih+gsxD2e zNYbI)bl;+&^L3grVZ_GlxcGOCPCu%`8RA70Tm5^Ftv7RZ>UspytE=jR zmD;KrfmKE7D1`KlkZ^$6NhTAKc!^ABZB#x+*aq@7$R~-gS(*PN(Qgt!y?+90LSC(Z z950lf|3&KaiqaV>&F-PHI$g0!!MOlG-XWFBBdClkq_h_w=0Z)M>wH~M_pW&EupgW1|Sf3jd?}dhyWx;>9LU(Z<<1FvZRCd1^M_M^AHaBfawz*e)demaJt(Ymq8h zN#4>=u!Dz4R}rkmhs;({SC6{x`KgCfJyH-y8#mtviE;DX0eG7ITI*@Zo_m_wuH;{t zA)1=ol|K6&KAZh0wA$}4xXMC*XQRLLw+7Gj=fX4n#fLz8IV7|5h=k&a4Pbe%{GF)7)JPCYPk2BL4>j%BI(-4DW{N$5vps<+R{YtaD9RW6ljBQU^+Gg4E>mzW zryg?td%{Z{m({DI5MCzaJ<|gh4oI{ZM3G=jh92hW)TwhUvWEddU$iR zzQ#o48CQB#S_s?_l&rBFp@e>}(bY`oD$sNXaU~~1u>`9Q3%KSIK==ID!l34Iu@jpb zyfp9!>~?jg3yp7G0j7`~0I#mK^@O&{vlHGEJ6XUg0m*vs2EtlfwjrgR>>M zJdA$hPIgqreO=+_}%c7q=?`5nNTK)Hzc<)!#F zl6JxZraIA2r+hf@|A~%rlMEZ?kdnAM!_NFciL8RGY zTk4ucFV)A{;m2QUj}m`)K5<4Q;y*l1@JKO5{KqCEk3{^i00aSF_{NZczZC3+S-^i5 z??56zBR#LdmI4{k^(IXb5W`kI3YikNxk|ikoD%kLq>x(^zn& zsItkoAN!rHCL3eZ{5{~*ibeV`Nw4Uqhd&UZh9P6ITkERCA5+yZxlL}zS}o`u<_L}h zsuCs#b%c7X3aMXVg~7`N%h(efB4?k2#i=b}m%4;E8kca^E?UBvKzvPKGC6y!x`dnP zIKl{dFz#6yfviS-4PRtj!#F^vt>KfFhSo6j0$9U4X$|8FjEkUV#u^T;rX}3kl?Jc= zUvhwE3k|=9^C;N+@ayoriL#Bhnl=9-;&$^bSnQsf-L{(E-x03~lG9v-W~x>Z5ezGQ z;E)GKbpPXEL@VGWwH^uO|Ficc@KKcK|GAJw!Cfv5YGsvJqQM%C)x^cJ3kl4ST?iO2Q!or~+Q#QGH`PP+N#+{@?FA zGrO~!O?HgNG}woM8kE}YT1*aaQ@agwDGxN?IFD*jD9;2@ z45}ucOx>Cr{zl2uX_f?^To}&v3meW|_^CWtS~83EdcQs%o!P2__>-#klV&UdQnzW_ zn=m%1Z5OI%Yw)mQ&q&#!ttesV=fb6ESF|YI-j%r52YviTyn+trzgVyH>+AImQmm$I z-&3%y>eCU5b956BanPYwPspY(JY;=t5(S9X-ixw9eS)Ln7OYkd=4a$_T(608y@1C1 z@j(#OPc7%id)#c0$+Z*`q8VEp-nf&&^{To#A4ZE|Gak8qr1f32s>zmFuCR4JlSVrI zxOa9fF(?Ku?p`b_R=1DIK-{{21;m4XeKb}Td|HYI6j04@MIn-SIoRK@1Zp5t`j6A4 zSRwFNWjDEjW-qBCmYX61_B6oH>LagfTI#H#dv3 zrb^BAu@+oSC2UCMXWi7}2KDzd+I7!!|B6T*(jvp;ll` zKLV-SL)`lrW*A9Gur`VxtK_X}?d@FnJD`n%ZCXjb2Az7S1j?{=**JVb!(iz)iw(`7 zVe|m5!3KM_KuW@g`Uu$DqotBU1XgW)kj^J1sIo(m68+FP7-G$J;2zwUVH#Hq2i^G( zQDhVqTXeJ)Thn>R-`OZwaOwnbTZ65Rc9b9VOfxM~D{dW@widrI^c;06j67?CeQ4wf zv7^+WnKqv1{AWcQYicFAvYuhTDaA^L{U)e5(|*&5s>ON$<6X(I(#&63W09hmiU^$s zvTVIl&WYDD>jLTCZmwDzTOvUnf3DC<{hG5e*k}%7}hjUbbf2vy&@HCMy zt7++}>O3>jNKmwAJ%NzVB?dd?8t=gkXccR-#pUTFo+!Mj z#s~l|*yI4sGI|Jr2Km`gcqQlm6}HeQ+|I%f7QXTSh4sCRj3AZ0H>Y9bpwQ*;+8s~a z@0Mt6khCd-$EBfLvSJh=tO(P1hIDG`3{jYD`0Cq;=nyPP@l;Wv7%Z0D1<*3=303&Z zMF*Q$@G+DSG?S(*4GrXr-EE*OjGh5;NpxkPiWF_W?Tcd3GrK4bj*WNm`A6(RsjUl_ zM!EpB6elHD9Dl;S7%SXaC`zTw2@n_dCwzO8sWvWwKjG^<4bFL#le80P~r z3Q1T#N&X&+)qJ=e0at-tp1;WS&7qU)`Sdx!MDhOJs5=9pD(?Nn>FROSrQWnpsFBT= zeo7QDrNLEiiJVXxGCi~FG59qN&!PU-9RPe!R`s)_gW)(}fk>nuWwoWKF2+8J(nuq4 z4+t;B@1aI|Ym7#k<%mXltD@^tkv9YwK#yXDYJm=LHvfV=(0F~oE{lJ%;(t3zb^k7G zbAuN;7que%>Pu2%cQWoV=9OJo3%--!L(Wy3-vGx)I7Rg+dqnz4(I;{(eIn_Z4fpK6 z;ED{7$iYDR5R+`D5dShvEp$1~U*hZx3?>l)K?yyk-U%zNVTV#a*gVaoMxb0%DXIP#P;vg3*jPJ?#+ZGunq|f6z*rv2UeY@Ev=gLZ=nJ^FG z*VXKRUK=KXPqbN^N+#d5HVu%z^GSjn)eF``=#`6mpqCo4KsEx-jx2C3)0mps4A(+~3#{;;{vWW*+Qit3_Jb>6M1`?<<%~F5_ z`XPdgg#>K&DAD`>#VC1|vH$C&ylNhne>kMX5rs`IY0wqfk_JUIRqX05;;-kC28Cyi ze8*7G?8K&Rrtygi3qXgs>rH99EwDcXXI9 z;F=siQSt?d&|s_wG%p-kFc=R8oBQ)L)dS#e5D*LKRJ2E@gJ@n2(!!2Tor@mEB#Iy0 zCQ)kCNEiJcWnx6Y3vE$Ybn!OUuu1KfCVphk9xyRek zT7Z1az7vS~$4h~j#mE0LaCHyfI-j@x%l~t(^bHFmd(4HQABA4j`76nDSH4?;^$j|z zKFbJZMyFf?MeuEJbz?W=fa7Hqh^?}k$l!~rt>rvWG@#^ z?Zsv34I;wS>G#!lm=d{W5CzgrdB0D;(}fQj29@)rtV65jf}$tJPhgMOK4*EG8oKK~ z-iBO*mRmA5#2{(8Wrjd=-x{{u+9>WR=R{B06AsFeVShRoPkmK)@x!jj00NF*29f35hm%yqG>T~6zyc0zIZYFN^RoeS-b*sVlx;vlxnKJgv%Vz zv)032xGtiqI^1H<>M(;vv!d)Nm*W;32?71H+>*cis3++aMzA5@s+WQIf$nys%Q zCblNpGn~Z0b3u%L5v10vjeF+O7l%1DCpe#yvV{U`d;lHTt=w?=gkjar+jR0F@%J05&omVGuYqcNEm3& z+E<%iK9h7~K6G0G8vuWSy<&S1+&e;{nG3J#gH1qv6*Gu-N(#6nvgdE*U|%G%SiMI9f89I^};u#l9)WHA>9D|(8LY9J6olV;+pi^XNQTL~Yk z3MW^e(EvPCDx3>va<=H~3!~W0V(0+5qSa4w95!>c2pC-aiZxY4(T5KP#~!!d8D>4L z1mx6pF12#q3bcts+o9-Kngt9e>j=Q^L4T3T1Tn6errL-jwT46+{zDX5WVrtfQDpy3 zf-W=xQDl)R8L_Zbt*5Cwpxyv8y98q(Mfd)z1OT~!93S&E&*MO%$9<(#rir8X&vmtG|gnV@vnThX%biQ!I!)1Q5+P zUgX*qiYsi73dQAo6h55L10mPgB+0NzoeQa@SM*6><+qh1{3MLipk6^gRy5Ox59Vnw zIt2+p0qiPn=oBLQ;GNirx&hrSsX^*fRS$$Np&Y~+0I zuT{5#W(1)?ZDAfvF4rM;+XtB{;sh$rF^FiiFX*?~TM^#PgS2WMEOc@hS;mf+5X1~I zUt17%OCBELu({|A%rBKTg#7x7u|W~elQ3QREP0iPp^a2)g~}m!c;#+7ZiV_h+}oQb z{P(Vqh1q;khbNR+%wXXkEPVIhcQf$a40PWNkcE#n4VFUunGiGA@N9zd3uMqGxG<1eiVF7l_0vljR^c*7An$Fp>e-%Z?RyA_c%viW9J2@U_V!5B`+vYmGz$;g*Q#L1 zv?*m3Pm|klOq`EyqGR1`M+UsBEWLbrY}&8l%@Z`T;F`J~31Q zY*xG=!V00ihj(t#AO<6@1-fl4|CsTj{dsj_=M*BM(cV_P=hsH%tBB93wlxGiUpTAh z$dO&Q6NmM5J8*I zs#UeX6wQnQ3rw+zY1qCm<5xKXArOB0n0#7oYrcHgK9)DL3BJ#lX*C2X&t&IHBkm8{ z^uvQ1JWXlg;^G`okI3*P?kpmic00DEk+R|qlC_~nS70)V^-`C*%CemT$xANW2e}G( zK+aXzlp^fa&*VoCMbtprfO@!UGGugo2~s!$G(!8@Vz960oN%Ivv-kXz!w*$g=H9i@x7aHp0Ne8jLTmLrL zkafP}qo2~=47;C^7R&sh$K`f$uG|oD{3xbDHAoFg0UN7)?4mZkm8bjHV`f(>jnUAVQs=Ts06 z=soWFqiImb0GZ4KF(I4MKk<~2IM2Coi>z1b5P#tvIML~)vPQwnG`#K~HmgtD0J96M zTuT?Q1AQTxyfpUdIoahh9+jIFg8U7 zqF`^LAh~#jEjuc1heonb#q9`m+i&$u^s2?h!fFRDgFRLkvY(lt5~bziAL%nGzXp*X zWJ%i?a+!KL_p21|Ks>|1Lp72Z=Y;6ygaDAFd+iPu|(m90cK(Hi{RIp`}RBA+ssM?9#Biier9h*k^SNALaiS z4IhM!rNx~>!oG&iAz|!A?I6L%Pbmil9`2dn0X(=~w!y;+NNR~H4kkQ!Wz1ZKKGGjS zdzY;gjda1CkkE@QfbBw2o<7nAW)Rq_#$lfGqjPE6j>EvMz|FLu)UqL#9nZW?kKxW=PD%{uVsYD|*=;l<>s5rkXA&6t$OppJ2+CKy1PKl5ek0@Yod#5#8Ki%na{WiPaEzdsLPWPCN73ec%k7wV%`zXJ0dtfVF7Rfm-L7wPqT%PCy)1 zGXM7&^D^0rv+R}(GXv1UzU^P)D+oI_iB|sGo&SaH=?!o17HYw?ObDgud`?+4X_k0~ z^JXVv-hZTv?_ZPZ`-+~y1XvoJz~Oi+lk**>XwYnC7|!Gx@W)7CF@{$FR@0#JA=cBt z!7>W8=5x~ppEdZDPew+aZ?SW&9P;n^vIChl@Pe+Pg_L%<{qRNS;9vR8evZ9i$SWvq z{0s{v$vi9vmjZ-QZY19eqLpM!@N7Xu-DT|9oYkEu-vO8C_nv)>=;~ZvwMfNS47(mSHsoR$?O6U^rS7MZ*z;K+&4l zHKW0sjWoqo&lbjP3R^#9dz4(|ha2RSC^9wRORKZl_P#kr+mj*GDhJK6lZOBhpEeH= zNX`v3Mn`0Mg7)2P|5pdE{mE?qtb^CS?Ej0%9LBjn2=gP?c1{=ChZGd~0RSfaZ?Hcv zU4^A5q-Dz1W;o>__`}>@V?$Z#kP6TQt-TBRckg#?{v>{3SkWk=ahFQ&q8Fq;#QC6k zPFM8v;LQn}j5k^>l|eS8GzB>(@8>L!(?`?-O_#%;}!4N)|dA?~>;39`7w@c4fR< zu;K@Eyh}xQkN3R$C}}#t_1#$3P3xtfrtk-um!-Fi+Y3!H5f)r03ZTF*P^|NRM`Uv#bc{dn#B z^t7T3=g*~Y7YA6E79A?GyUStugE;&ygKvu#S8zQNjOQb3JmLB1e7$N+ zoLpA(H61^9@p);-&*l4h37#L(@pIXJi!a{zV&PFm1oa6#JzNx&yJ5)0QzRc27KZ*Y z%68`IOKi3?I@%B0&hQw)OAH_jc0plAj5lco>9WfgT@<{yB$% zyeQe!U^>GZ%pW}}ZR6`{A%?NbhP>i8jLwF!XCcu0xs~%}B;#NfB*JnsWDA8CA(%9? zZho;0eozoz7?u@Yl0f1T<9$XVz+{w>otn&Pl1cpHj6c;|7Q6w<5Q$6(0Y&I8=ynZlgw#sr){953wxm$j*Eel~IH4$mo%K1;+4lXE{maJ( zjN!6Ls4Qx^V*I98yt_&+Sot7W`N3g=Frmn)Kux#!@)2|%;-n5|AeH{NARl(5=f)Mj znr@2%6Sm4g+C+ar4P0x}1Bm@%TxLWrGb5K-k;@*=mFi(Ess%MLXrk4VbLH5c<|TjH zPf$#U;E-IH=KN)t9!OM{_H(fP!2FjMWz{mPG3L6izEm%+#bV5_dOB=E9ms7Aw@&yd!jP5%b~RhYF`{b44hI~%c!i`VtO6XAff}8x8t3!d+`ffB zcA1{by~HO)*pLm3p%xGKw69;EV*OuqS|4t&^5|~97S*sf!sScNawsMr&7m&q(R&!C zS5eUMUHQBDu%qTjFlkR9pIZ+>Q^YMF`1`5u zA77Mq7yU_4PPP4mTOaudNzzlzxC(qDTxdYsHmj=*g=L#lbs|WazE{oLt9U-X37JM( z9kY?9bUh=VB5wa3KgCP1g>HG7UJR2V0Dq2zjEw%MSd9!u-1cm>p@wa$TR(&${~Uy9 zZEERdY1)Ru;(jPx3RLIlM&XzY7KC9_PDa!I(5#_q)!TazS+%ugAnh>_0&#q7cl z?QO}FDeqtoPhJvs^kBMZcvt&oCS7vN#)WdeWOv4f2Dp{Hmr6s!&r~wOfFfW)y?A&i z`Lsz6C381~41Uj7b59EB&x-%SZ3KN)L%oj+{TY_J-|hSO;KkFc744L%L&twe$^xr)$nj3{PWFr>pRE#E`h~^zRenz|$93#D}K_R0d9r zLQWE%9>aqOa(WuCcO9Ni&Fc)FZlygOky9>|AW`dks0)-qC`Hirnj!UL%aBiH#FI}+ ziPXr5aB5^kI5pA|PNA)QDUBKu7ALhE-goUoT6d7<$GLK3L^wFIM_5icQpyO873^u= zO=hjyEgo)|#1j0;!k$-oH4t6h)JF|vf&2h;;XtOt-G=q>pSu411o$)3-fHoC{ReAA zhT1`Ux3InAlW#9k|4w0ho6k$sKTuW}R*d~R$i-aHLH!VDpDwm}K2R+mF@~Y~lu0txmQigVHZXpMn;S#RFQ@Vm8Y(J3U|^CLWNcaF3L8H?FTbcf}!E-$7WnWY)K|`LP3C z-&r`*l3d>sR84k$*KSI%=Tca{gjKtFeScfQXb^{D|IV28Xj1EYWj#V`9oYU=e+4aI za{KpqR84k$zyGI0$bfb8`kuM(P~qn<-b`+NU;Og{@82Cag8)u$eV3tXvg=!X@*!Mb zKLRTFbsUYaL!X9BTp5bT=P2)^YET#>Q>fn^i(#^{zxcqM`!;Ar} zWlgLaJPd3wq>lo^B+60o0Z_m5a(C+oVXrtkfqh&_?DNj;?XFI-{-EO6_H6(R`@6?S zna{y{#IvV7A;J49(`@A_aYPk^HFTwhC^?7%%e|NW+ zI{c@)UsA0fW%P^n=~}tF=c~Kh3&rIB?EZ49^B+||*52|^ml;C={GdO_VcHi)`z6jq zvH@vYb~A#B7AduDnIcFom}aQOInxnn3pk*^j7-!hMjwfw!U4u$LfBLUhu%oecP7ot zXx-QR&$E)?bCd1Qjp)zmO6^yf;-NQa+t(`lgT6509W4F)c^j+hn|bz&8PYp6-{-{A41oO}indbR+C91-$kVUAGDiU9%B~ zh7Q&Kq=slE?>;N+4kB8K58uZ}5S6jRnlN7r8; zQyvskj%}~m{yc22%0ON`HW6m zf&ec2NHM`j;wZ*HtrCb9;&Yd0DcX%tFw~H~fCC3K4MQ0JQF_9(ZBg{zt(?8XrJ1nU z(g)kSx~=?mX{nFx-k94(1bJ}A zySw*+kN5xhZb#$&c+NL+ydNHM;N$%p-|c9;8C@N(m7f$WJ``DiY(OY{9uVN9VGKhH zB66t{o=t%Id>KDl(FaL;a&a8H1(M%0xV*&xJM8(6qLf6AWZVAl#SQSIWCJrCOIUyC za0->J=rE+WC880Z2a{cPjwIXks~W^3pLsTZ#&JR^iLG-rB&)BI2td+gW53#BRR?lx z{&vTrFNVL}tL1P#LIMc9f~d3L0oYRBcEp<48@BqwzHgQ3CG&RTC0u?!crKU|7^`g* zTYDL!Lf|O47c<8=wlTbV=(s1`Ne?YD$+oMm&G*@6&x~kDk@?nVCp+Jaf_1FT{~aD9 z6dhI7IaFZE^1ZS0*>75XiT@<3M~q2n7x|K^e@d$@rHy`qS%?rqoZAubcl^F1srSKZ zJ z4|qR8nf#4(36x_n_?v@SmiRIpLxJP7eIESB!7j(>bHLx(Cy3*>mzgEWufZmf(}aU; zBucRCq3QriOK1#a8YQR_RAfN4zi2|l*ZscXZw@C#&_U=s-4#I#0leDOc-=+51*&8Z zUVY3j;#Oh$%mlIru-;L#jP|l+TwNJg+os4g=l>i3T=tt$x{baY@xi;V+>Sq|KX<6l zmpfrhS2?V`VUP5e4)uAJ&oArv`O|#v>-hOq590X=9X~JO^Yo6NpTy^{=XKb>9(-Qg z@$-Kz#q$R{e*PSvS9bI~><9vSNCrp>8}DzWCrC|;Lpe7MK`?GYVh06|AdS)yq)pnx zHbMZZ*S=j8evSpTLa-M=4(`*#!a2#3$M zWG=eUzqN21;0z_6zk66y&fm5lAG-bxPP%{pp*6hh-x-Inf455;{AA{DQn-IVpK<8s zZ@0AXPo{tWU`;uHA76DK{R?GHR8|`)(f@L|0*9!i_V0+K`!_J$zljIbKODc-7DjTz zJw1}@-qI72-5zsTQ%>LCu1qw2a=%_vH(6P|#W{q;QtWzZ+z1IJ1N}1 z%cmW>`CAUh*yQG~nlnXm@*xko>BhL={-V@= znJHsJdv-eSdN5q7QIiy1%T8a(`)|`^zwx1h>HbrG?^hq%z(L z|7Nl53VOdN8btMDz*dieg6aL>_f^ja&PBhcFdGTdQ0um}3`uCzfmA=#TPWIiFy&6V z$_zB+`H(szhIuUmVMVlP`Yu3rhb{EAQ3dag>ug z2Q!TYzZ~5jn`-$R++-jk-!3NcHEo)sQ*7YjIN+ez{ zhLS!w>s8&l>_FCQ9A7imtNH%+%w;kQkYb&0$a*!NYp7&8-(QVOfJY9>{<`Z58o8ys zzb@o!#(GuEJ|tcY-;njX>+xjP>nG5LADs2_kKx&q@_G&AYsPwQ-gjvBmkb87A(AeU z2g+(I_b8GUrNfWb$2fh+hsZd6yw0#)XPVdiflN1F9nuIHDCBVr_ZgKoaez#l==W?Z zhbQL-rWP%grz7%#9_!P46)9%Q#8=^7%bb`s5KJ1bwPW^sk+q_4+<>47@CoTJzy1v$ z-;eiUd@EfCGCst|a~Ev$XR4U-bc_?iAJ7D8{6%O_*t8;fWu2rHkd}zbR3xLYo>Cm| zq7IYscbb(UjlQbap)H{RJF5{Etc_8U;`kE{V_0M?@@F!CQC||P+xY!{{KfYVS3_km zWLY0X#8;`_$20khXZRA6sX>~KJ`UNyZ+-*67b{=4^yldPO9~V(NJfqTwhqxG6X(?f zVxtY6I;y|sLmt4%*Pqov`yJ$aDI)=@!L0crP=iPr6Ky1+jRN&E${kW%;-@ZRoR|b# zBhs+{NL60?XxkEn*4zx$+DX=#2yAqBV4CxW(6?nhI%!|J69DHH$KYI?Bs@JLM+?*L7MW)U zug|evd!o*ipEe?(fIL?2SRq3T{CuhWiF3HjSQ7Vm85Bu3z1uikbZ_`@d3P_6ZxO7Q zVjv^ABInbNwvs4Af0u5l@1U=xK9A)r*-WIIX_VnV)PBA6N(Oy~nPIKSdN|!#txHbJ zCzHwIA3qF_;GO}#?KVUJzUysJIU)T%zJaXlrznVt+(6z84HOYcz!nj)TDOQD@2+TD zvr{&_Mfm?k1Vs}j>+vf4<5TgtN@p*yb*g0Bs4R_?kbYXPly_p0VG>g+?a!ipP{444 znWn}VGl4#n!Ik!C45N-Ajdujy2!?L)o2EV5&)!-_Tmgf$X^!&dHQdu2M)B|q@&%|pD*5w+n+vXtw_B;Zi!_uDaM2(WuJE&zJCDrc@m4*RQeJ6-ZYwnfgFR8 z52BfzV#cPonaG{;Ff%Cl55{Dr2i1o4HRdcTG=XD|i?H>SqKDHap4@}&= zr4LfCX_}lgY))X~tJJu2bAbEltJl!vRq>mQ+Ri3Cn)98Nbf5p1AIM7lfdg&-T(7o$#Dd_yqEmZ+HFJ@ppH*i|dE@2Qlj(Q?6V} z*1=+{B|{DF+T!^DFCbJS{50X$$SDZIN zfD*7;lgW=;Yu|Lv3jkGyP-y0EL=p}ID4rPrc<&6k`{RNGX?|Lcg-C$l*)@xl; z*2`=DK(`4Lr8?9hz_XtznQh2<2pQg2etp1;Q188H#>ew}wo=@?wFN0`&cl54BmX_I zM0Z43as*JW30Fgv^S`p{9Z~F2TzoyPwIfumG_H}ZeS@WV&E?FFq+){Ivi>PNL1dVOkNlpr@{|0Y#&Wk9_H!`Z%nk?{ zETT(mN3w&Ip&6Nu;JfQw*hIjBD$=VwZ7l@@X)Eg5lZKqQ@T~_v-UxYyJ{r@!5vd^| zckk<5Il-kC>`Ef+v?BC3{7P zy#UZKnps&~4kWOYcyOen1^!O8Ay@-Nq04YJcuc}YX2mG!#!MmUBy1#kNA5|Zl zP0*I+#Q^qne-Ywvoy5>vN6D~TTDq)4X}MN>xT9qtE!7nmvbP+;N{3O*&N^NrRhp^; ztsn#@puwmH_cgU`tV_JL9rLISHl?hIwtK?4k@G>I!hsy5k{dyzedqfw@X0eA5mVFE zwHC0+*tAbsu;$k<$_^Afi+HIGejQu+BO`z+rTTH71oYm>7}mSq56>bp-Q4#S-9S#WGw3PNGm48wNj=Z8Ew4zp{ybdMft*U8 zSXHt0N6D>!Y|CqKCuXLg&p;6sz( z?s}}P`LEnzp3j{N|BMUMzJXv5f7=n zp_ojHmvYk?(m-xH#nV6_fh-IHd58%0!Psv!ZISXqybv0nts>o^`1oT;IVTe^Ad#BU z#N7v9O`t4#Nn_@_yal5s{b1lH;;{jkFAIkav|S%%yFS{y=FcI+X9Ko$D?W>wOcWyX z89+c_^vcpn!p0nO%(TIdl-db90KlX$Rkcw$=b~w*IlIfp!8u8-qg=H}DAp zm3VNk4WI_f4<-*#DUN65^IaX!P7WkghVj5_6%&P27OgX0FHKf(Qv4{Ce*?e`r8m z03??5BY_P830|q!$ksCv=RJr+r&r5sB>qSYf+!@l7`~1Lr-bG2#s_nb@78an_uC7f zAe-d=3(#S`5Gq~zWAq-^Ynw(VG3GPVN6}|yd!W9g!Hrw z(#@Ueiu=6%Xxo|3Cczb;W63l3i7@dDM@ni{%|K#~tRO z?Pv{*@$HlPaLm*$XEjNEawqnog>~WomkD8EsB|6&H$0vq9I2_smx=l;*iDAUd&S3_ z$i{CGNAFtJwq}Vr+|$?DhHJd=bL)j#^M$u}+FnS*3x={BT^u!!QxzV%ZyxFTl*et& zN4tD)Qa%AKgj)&SzgTt{+SyFlgE^~ZSQ8p7fhmMY3d=A4d?%&KNbR*VcqZYj0SbLi zpNGO-DEplW$JLDbE?xkRPddy;bold&P8F@dC&(ju3a`(U29} zn_ZB64o2TeK5}cE9sSC9cIR=tVHlUWuzQF%rgEuuE}G21E#X1rJVku~;lWcywR8|0 zUD|?R2_T+JxD*t571Ts!2yY&6#)@#JdO)7bd11{bPS?OwXN*YuL~)){gUP=+>l5c> z$Ygwl&I{M`Cf)et%?+P8r$(oIiyEq}y;ra5-u6P>(Vjv2L0qsk!u3J45@80dqsMl1 zM3H?o7B!#o2fBH{34(DB!DW<%Pj8ryW;L490%<-<`o9;%Rlxy1{fLP9sH$bCK;8(D z&Y!5+OkDVGJS)B5txr}B*bh)Qh-|~aD%4U1v=VsX%^E|dZIOcg*%dzdpmc#u^vj1J}Pe<=}cl`52?Nwdv zPDgst246O)p-3E23yhU-`g0l_Q@0UqGYW}0)CHinLF^tbHL;+Jy;1sC%V2?4@C#pW zuYawwtl`%wEeZsx#uVKu)kgn`=Q9BrEn$Xa}oWv&$LS2B^9!& z8v*LGM~1S}A5Jen9!mHOWvfu2fSTKP4Tbc?;asvY_t8uipE}s&}BW zfS7^uR4ohbj6##re#YbheO+LFFi%|{|A5ZNkFo2eNVyGiyn(Zasp)Y1uO0gF`{CF@ zMRm~xSFpF#xgwaP&*7+V{$PH*)T15O_dgiV1)$^lU)IKR&;!4Q^@n!d{vLk0WigS+ylbhRoI|8rpqFxNVI^H;}El7Jt@}Q>ALWk|W zv&Cv}dTYFSOtrnehXIyk|0^v3u%CCZ*E~{jZ!$;c;Krko7vfmpdYrPyihB#^5>aZimMtsD5N%J#*gRCWlUMXQJ_@n z66fN=6eyYP{`0RLjMQkaoxH0ZeG`*!2(W9PaKds-89@u^f0H3^bN|LZPgIWa=P}ze z{db6*Ry|?_Q#wV->#OX4SE>CB0wW)ykxn_l+m=`_#?OFU!CQZ@?* zHNDnI{197?%txa6G@cvyr=SLDfnecnEyXVJ+wU>*h*UGhL#tsV*3tV@lYBq6za6#r z#W+dt$FbNBcST-w^!`&xzMpJ=W_h~SpZp}>kMt)#e1FrQ^Vp6+GwJbfS=rL~m^(78 z0XkIWnE8_N;B5#Z<^II9m-73u^I>0H?7*nS?vAo8_1Y|@p*Y9QJnoA2Kn}H2h$Lks zU|U@VjjVXJi40b&qAkpkx=2u!=PJlgjuU@j&cmqB-Ga1iiarji*!4jezd`13eok&1 z1Pe^p#=1ToCcs-n;bn9@H87xVd<_KVEM{tpI>4gQPrH&~LnPxJOSUVvLZatq)I@&` z^tYp=U_ES3{CQyFx2je3h-2RZMrH$Yxa|rcP}TKn)#n*EmGY#ks%=H~(Om(sH9b^M zI!&q1n%uiz3~j2Wz|&7jU`zY-c?grcQjXoFJQocW3Jh@Up=!*c?jjlpcQ zzMiHsK7K|38R2lh`~%EN6h#<2!szn1zW<@D^~#zz3-99pX;Hy7H>l1rF{_o#e#o$s zuh>7arF0uKmd30aCv1`3GH$ zlwtdRugYx{8hBh2t`Kv=4+~fPxr!IVIzn^d(p{{1b7$b6Vff3(jY9l+@u%Rg41bgH zHywX7!S3L^VML(Xbv}1`)Oe#d2ge`kahdUPo?Vok`CNWoGGyY?3YZ7Wp#CApcnCqHc<5)%DEb>6?9o)d}CbAa>LIsF{r2Mk1# zsBG~|Ovz?&f8wSokZE@0Vix!#is~(fDG>)lIQwxgTseH&NN(Uyx-H zyFXe|W`KC4KiuTDhRq%DZGRp+q=Q|y;4M}@@s-SKci{4gWk2c~|2_-39Xi}3VQja_ z^qA>*f47|(ISmf5f8TU` zqUg_pcw#C7Vp<^ei!DfBKU*ZhplR(C||Rptpy$}4XB>4hUOG1 z+TUdjzqX)I272Bss^7rG2ebwA0@^bbco{#m1y)1PNV$RblzgFB8=-`zf#kY0C)cle z{MxM%Lh0IbYq(Rv zPg~oFv>CYe;~LWl!B4&gN%S$F87m^nH$+4;rIoa*A1TI7ThXS%`P{F~0&oVTJPFW> z+`i8nxqbcG{6gvK{eTobN#PN^Q>RUx5}$In9U9-FODGLOJ$lv~>=6u-K^WoBwHUz? zwFz!*LhcN0!Y~b?5Riu&e_s6In3;g{XToIsO~>EN&gO%>7S4X)5I7SK{B4~IAnYR7 z73wkK9;?5J`7h}A@%d1XA^0?e6);jkcGqIWRtODj{iT}bbYx@Z6{I3CD|8tZ&s=*1?u z@u&+;R#NJzXq77@kXI6AtgGZ!M%({G32GOccgww9naiJ$3~IQpG9LvtPc-G%G+IY> z@hb)ns(je^3itcEN}?TpWl7hYC+5H$5p!S=i)Hh~A8g)%-!Ark3ER~w@8eIXGA)z6 zUurgA(e>sXXb{c2_!Fv}C!5d4zwCW$*PE{}nqO=*zgITD#B6>Re!Dn1t!!7TOv{qJ zpNXG!l@9#N-ixj`Ka1^ZmGg||_sHfe%;u-#w~M_OY*(w?%O41HDqGE_cgm(UMuNo- zU;rBYOgDaJ8b7m)pLzHxUaVE%2PZ_dZv0zx3>>nq)}^IIeM{Q+8S%HkVd?60>UBT| zrb`1x9NM8$MXZpqJ#Y2W5eq5x#=AsA1q^H$e?GeQ8p9)Oi@5%7SlNV13&oRjS@FDF zrRp=+O{W^Bes$rfd(hsrGKwVx-$4JkM5N52^sD~?-)|V@28M;x*r;45e%Fn10ZPIF z6vUiQJ2M1}8fBz_kwqPs_VIs;h-g){Wulg0L_^~X#VIoD$QJRJwU4&#t4|O1Su>0M zfgJCyyHLfjvups|bsTlfq~9k=$~`pm&r0QcOXZkK&Nc~nocFU_iZ;(3&_99;yZ$l5 z(S`zB#A_qS9fnHwD_Y5ipxZ$ZorVdNloCRaKnyu)KdGvc(|9FcX{cJxYCEKd*zF~| zi}k?m{!qydRY%MuH2Km$9&1}zQ$E2D%3KfZ!0I^{{!{75q z(L3qRO#|a}W$yXn^PeqiGsnFH-FQb1cu+nlUTe}27Z!nz(k=4xR&X;7{?G$C9Gg(qgb; z-Yi`hnZ;+LnBkIAiShE?0R%M97GutohB1X~SUOLeWO?PY6}WT2RJnK3d0=ae079W_ zb80X`FDMdfswc}0qW8G$pO>X61t)xn%A#gb)Ragt2qzkKc>rFbDz9qD4+U?E7}5xOMyoU-B!I~{fQDB zVbTxNZG4rxXNCCmL)>+)tR_vkxWw(pH}gTg_mW32wdA25k7k6YG_(}e{1BywCavIC z9#vMfLATC^uK5C-8g41|%iF5k%E9(*RP|TbX(cqbM@t`Gd7n89@2mPIzvfmor+44F zjNpk?Z+~ex_gXQt7xjZBW*I+s>Lf<)r)+G|A#-k;&Tp~sbZ z;3u88mo%*_sevrwW%hidco^ywb9fuYG3>dumVJ?KLiKD0T>9F|+yQL{b}h6PfqbQ4 zlelmx=C|@$0unc}@6u^gFTrju`2@T9&~D$9zXp~i+kQYTo-oT^+~jm+fL%gf4O4nf zdt$g7mjTv$E4t624am{Y&zW3|a#k^Ag9d|@rj@zk(nr?&cxgJ`aiFcqR$Im3)!0T> zqz#D6I;XPOo_N#0qOD-t>Mwwz7S=dRHsC1f=&i{4OBpYs83HpwlVT|9nB^lk+PXYP z>=-1)9Png;kSh}|6|E~k?81e>MjHI#_|9ym?TaGi;>~;iW4VVI<;_E__ltyUR#mqUa}LFBq%mlWJUaW=`z|y>lSn;&Z z8Kio?a4yQ@`K<2%shlmI{56lx(IA_~WvluHZX_U7_3HsfFDZGu2pUT5=g@y#n^UHG zTAg>^%_EI%yd%%HCRKknDgohcCLlZx2?%#10pV@}0+8BPH8d_;6eGuJK@DWmQjCq? zT%HmqtDaY!i|$8jNcSh}tr`fqqE$;Doec!B69RDbaB4P>HC55_kRt$|RUf98f6{Ue z37;~A#+#EPzUYsAk@q=jx`QWL@&BS~_eSJV_$zG}TTxZjrn=S87@T^SLX8i&n@)*2 zq~e8y0qfwY7e^msA&=;-e^5#(!x!X(b^vYnzI6EGL1G3ajrN0_X_yZp>?^zoPFHHb z$`oe3GLd!$@?@ff_bY%BfDVWSfDM3?_$v{?OyW0bhbRhKQo#lB z7K~>u4z2JMG6hz&{TL1>xQx{~)G8tE$D(m!!TNySn?nS-ewc&?9;=3qx-&OoVU zD6|(er-b%k;cvz3Pj|Oxj4#^XterntsL#L?Mx=?YkF@uQBRzmc*ru$GYxCDx4(suM zA|Nr4NpL6v6ya~r9_Ya!C1BPz+y!oEWTE*a*5qArd2@;jD*Kmue(k^gG1>4~o) zKklEhlgW>JoD(y0Q1W;B`f#pO&IfroUo-MS-iQ;;KCuVsTEe$phx{8g2*cVVOxq>O zck;bkk)L59qJAalm)U+w`ABMSLEE|U+dh!?Ze)8q--_GU2<>d3@pfg1C=44b^EvTn z68^Dg{0~-AqM3*LcD9fbpXWvLgLT#Zp`AZURgpb?h4dE|pPjIx?MyO4?d9_w*smxu zzQV56+2pN8lbr`|1^Kf?`a6JCL_tp`+5)|81oG>YX|cgfhu;JCD3eSQq(PJT6=OE?av~*GM8yIDn1G4jDu>&&rv&8M^ z#I(Qt*QvB0z%j>_k+A~A1G69s>!5Fbz%e*&1Qn5xXb3+I?LgIgUJ4ZoDfVPaSvJ@= z0J`}}%e@!jg4F#;^!}Mz+eQl=dieS?!Pp}hG3sF_>~D^8{%ulMO)~z2`%05@A=!U_ z=qAWmN?jeiLC4{(!k<@z7v>-c?pFwX9UAUZJzuHLkzdJp?_~ZUoIBf{g={_NI%@C_0CZtS~YAD+QI6df)Uuc=>A8c!}x>r zPhw67zy60Ds+IhnH_8!zf1_Vt$3TDAd;l}0VUS!0z(eZD|GH6}yASgYW2O60JD@)g z(XB((|H&sq@MMW!-$E%b6%HH4FMdQpai*F{^^I3DYg440uwK0W^Y&zHELa`1vL727 zlI2c-q>Mn~HGl-(MF5gPfxPYN>Ijh3s{7yV07xKbu1y3aX;DBD_l?9rg0+`G@*ji> zFoC2n0wlu#Bv%1Ot|XvbNd?5uq>+zbUzoELtEU>8i1V(aI_ugTw*d#ss7j*9un%K}-06EMZlW5jNy*!8n;o345M}{Y(xE{H zLumD_#Tz(Ciu~HmI7@DJITy;PrC~G)F_&}EU8n>26@^UzUhOcMK{AweJG|AhluQ;O zNB9v@VJ`p4C#)6vLnrOIL4|bdwP2B+2_ioPY8;z+9={Yhns3JDK0yhc=MeWd$}_S7 zud|J+`urB;5MF?D@PV8PcEG|*&|cIF|6Sb!kFox5UQ?`NpVv!azK2~mONB}i_?=RD zSa9+m^cA^ZaWVu;3f}jJe)z%lYMR~?ln_!>^U-ugL%vRv4#71B3+w0$9b#F79Be%r zkP3W^+VfR85O+PLXEP~1nA3&ifC^wp6Ew`%m;*2$wsv|365!|L?8)M)v>u z>yn)RVc*RDKXz@B{lE6PZ{+-ca7~i^U-s<5>i;B)JRsc$75FXy+qsa|8{B1H%0z*g z6g4y%`w;qZpr~`vVLxudY7&Wi{Gl6#61s5@j7zNi#(Eawn3W2xry3e?JS?{ND%vHj zwA=>T63^UCq8OXF3i~(I`*_&umTzWmCLG{wQ^!ZBb5Xddy~Mg;`KG00uj{3i12hs6 z@c@5+%FX%{V?1&kXuYIhAG?q7oO|6*U_v_B3)QiipBecx*!{zZb^O|Fv-`7gT_oD> zV)xfcTq}p*`LcWqyI;ocTb*8qPP>z~XJ~hR+f{=;Jq@zb&{&BZ6~+gFb#E9uP9T@I z>}pB*GGm5VR40L?Gj$>P>4@qviT3@r_J=0XKAL2QwG0|2Gj$#9ktGL~AzPXNl?Rf0 zXz9(5hvEr1V6S4V;4B!aEH#Z(aHjS6&0kF`j^dn|hBDIUboFwcj40s+`-=6=sy4eu z4V5;*(xnmCJC)F>OJ?Fc)vj3u`+(XR&e=O1GgRk-`hdQDhT>eXfkJZzIfBVjRcprV zam7f3R#lg&*1nsedbUG|{$ikdn{y$L(isu`0^IpE_*e5BfM^}s=Fr3}sc5JRUZm)L zf&!kj;PYnSdbd~yX9t>vOji)peXtDqn2#)SJnVQAI%-6K#FZ#`m(~;KgIvWua801( z#bDf95;-EFCJC?qjc!GQHQo8JH@WI(Bs7?*O|~0pa!)gx^y7qtSwqF`kVk+zkUkcO zrI0j`c7aJt4gi(BiVp)EOthdRUB^(~V z&&Fj~7oQ8(E4hYaxHTm_IkL?&MZbe4^*+6Mt6<<0DNzJ*tM5YeP5{mZ;cUYO3*F8A zMYXV3T7-!SmvY!C0JMBd|H!`IEZ{M+z;!5UvkM#NKu&;FZN@QTG+W0@%JgeH4!dQ(g08N`(#;L z^B(|KJTLOaYIw2vJ$r-4;+!dXS*CP6N=0^0_D_Y$;1+3$&9e!2W*P51iF++qs`^m{ zFRRF{WmWwHs}@aj%=w<;nd+E*G_rBJpd)hWS@&sK_bYAnif5YRrZ<_S6Ztu24>snb zT_xl3O>ZmO7|akO3WKhb_J!7bbTP!NHFfegjQ>dYoon~bC6kQh1c+M3k2!@1V@XLp zjUT_5&XZDBGO8KG9@2(iyzu<;HtaqC&sjs4!!Az=-9>q-IQpICFwYC-A&FtQiL3Eyk0&vu zX)tnm052-KtgJVQrN4cwZQq^5py@Qu9LxsaqD>TK-`mB-m+|swh2bu^BI7X1T7bI* z7;YR1G8njTYV&JPEu$Iwy#+6~+-Do>fm|y3vy;O1!!sX*`S2cozM-T+S`TZJu^H)L z*yGrTEi2-o#Q7h=Xt+fGcd>TWz5dW@&PSkVX!#t4>1#rPd&SOF1M`#UbIK%}Bf*1I5I)tzGN zv+&y0kJh)W;;bv%_rT=0s%?bg91Y8d^*C#)$7Z)+_C|uLtO<@}5*;q4;wUb>Y*6_L zMK>SETvMvdHMJEsbi5sGMjYK>56>;f(Fm^z1%NaxF{_`#H&)Y!L43TBhuTgURX>Dw zoeLXrQ=6~Dj$g;Ud+~cWet+l8ExDIwxwtV2e}OjfzmF|zYbe>`Mt#^;??%NBQSlvI z!v*2oS1%>*p1%XtF+YJFLazkE*XH9}lLiwrfm99*7QJ?ZDsCvbmnP1p&Hi$tEc<3J&sz`ph{8mc{vOH8gT7o^KHopkZDs_tUMz zkhZ7d)>G4hee@kINAk+2|1)T8Cms@28>}7m))4L}75HcUn{qehSMY6zeESIN-7kVY z*2+C4MdBs$ZLWRbH<2v`$@OOOOR1HR`|0qh+)vgn+AjXG+OXRmN={(TY@8CI2Xgjc z0PtLZ?elD}>9qhQMoJ9#fo!@%_>OfR&@%_vq@U6NYkR=&Z&q=uNy9J~aJUg}9oXd( zrOn+LO>Fl!(BA`HJRP{AiMXOze*d3_7~NLp3B(5LSX=(8ODy!~p`I&hdD zfWw?e8@By{>V3f<1Ge`@kai}Qy9JA?hj zP3IG2C+!8*m9J=%_O|pA+H=;ehAf=XlqVksznRvSKN=gisFEAE741oNI6Q)oO>?6- ztqk*lwn^dTVuQF#^i951Wtb`;XP%FDzXV+hvgvB`Co7?GF7ySzlXi-Ag9vB9kVhHh zF+#BG8y-#%4ukFFR*{oV6Fmr}apoR_O@;pdl;km9EfY7tgRW?x2aYuJqXh>!SB}oc zJAK6l51W;c?7c+#-~?c940}$$xmdn7*AjMEJU7K638z~&lQ7mlgdi66srKhd6Nei) zPaqPR1wibv@j>f6ISt0k#rkKkm^FdtArfv=o+t+X1a}Y$06_-c!JYjOz&&*#3Hhst zAb(e^*JBELS1N5aSkB!xafDjcnoch~yauM&R`p3kEp$CpT#W2=ybbgPM>AmYUijjEF$%Y-2+`+&fc(n2@O{h_L>(o+Bjsfu zwmDvZD&ytRfH8JF-qX?lCFoGH<4un<-do;`JKmolxn7*{o`>7u4YD}c>i$3(#*Tbw zzO^HN$0HixAa~^d`sI#%$hIT5_*PBeu#6q~<%{yX!XVeea+y1FEf!{rIP)mEBSFtc z@5obq;Vr4!w&d?3Tk?0}Z5adu=RtT&9)kpF=AJyOFuW(1U1;pdwej}kL*n#{jXkLc zPUCUY^E%_W;a0$LgQI4)^8e>?6NL*{ApLDv6@qi4SgWemMX^Ak2o2zDf~$h1Mz*z5 zK%9m87z1&hMz+DL=yQQR_XUr$mdRj6!NG~5H;6w$VIqzyYTA(Kh1nHvqz92V=B)6F zea3(x*jFH^Y3tM}6WVSRksBP3#UI1Z1}rB?UU0-vi&5l}FO*y?eMqO@zS3!i&Oe=E zP;0l~DXinwD1H|t(tP%yD@Z9b(An@}s+QqblrTre!?Br&&H{Jv&6 z=z-Rj%woN*1X_Z8JUkU?08z#3yr)5jL+xfUAC=&F*#J*7e$r+>Fa^tWi2{UqgI-03 zNoI_6@R)uS)(V(i9--LpH(oo|M2TLK@6#J=n;p)TTY*O!BRLqAf<|@q-*_nDPi11og01-3>eFj# zg^N|gWvJe>m4YTd1#`3o(_W|yL9T6zGMVE?)wA%k-XA*dc?a5~=TAT%u-=H5>-TIc zN6KyFV=UEsBZIHZ$9M!%?7AqgNo(0nQxs2~DU*|vrl-Rrkal|aOyYP2){rxij*dE4 zPMNFdGaD;|)d2%j{~Q^RiUr^X`s+JM zO@l!B4MqBQI55<}#$9^AI~VQ5qS1*V7epOszuSue9nz91@MH1kFPCGPZcvKK*9Ln- z&sDW9OVP@oXc-{k37imlouTmf%TC#^NSvA*D%**o9PC;S9-UR*zZS)1O_ z{5o6!VPyr#Z(FhlBe$S(J?>jD$ot%ZcEH1usqp1g^8&e;IAn@NKT5HFsPj;G4W+y) z;reBQzc$zJsHpXO<|*#+J>27@vK|5@_8hu`Zv-&eCD;=KAdn3-i0jUT<8Bj|xdf(W zT;t3&U0-8?PjQWl#}RX4__`OLob(Vrn;}2DuYk~7!}Yh;{?X5qSo=IzcbfueCkM|l2+FI79K1+}dMDdbd>IS@F=Uq-m8I=N)Nvutm)%#D-Jo1Nvd3B>F4!c#QV0nc^xiTm-xg5=FJ_6*`^y=> zr`}l47oNZ_-f57IWmIQOCb>Bs1ekYPy~zK2w{AoUUsC^4amz4F8}z`R29Jc$8DQd< z9f9KPWjS*X`aTCmr1(>3C~9b9cSRErq(sw<>Sz$ z)2%LvtI!coz4Mo5Ex_(TbNtZ{44D{&_RqJwM&kJ>c;)2hpk?0V@}ixR&M{V&^}xPql20#f?w2_daR= z#R&Xz4&%fl7^c{4MVsd4ivEAXc?%OrP5PXhMxrdb5SKvWF@kTs`016&z$ZKvTrmEJ zV|~PsRoyS5t@>?U0QV_9@0ocIQkks2s;71~B;XyWO99Upn9){XWTn7#oDo$(tpaX7 z!Yn!$KF-+#LIkFODW~VvU@3tIvcg+)X^K7FA3C+Qn99?I1R%(=ZrDREm`X=txYHVd zBP|m#&#Tm*9`C1bG`T|{o^gmCU|FgY7nLb_8`~MAgHWCb@31V3(8LOk0%;8LB5x-e z$K~gP=N3r}yisJ9fJoNPDh*{_NdsLqa~_>;(bobf88$7ad7mz)OOE-`G6vDa!{g{_`J%pA)|*p+1w| z`cazbdqevjYCO-HsI0aeX(W&})PR|4Q#_sdFW-&Cmqc{n0u%TzU&WflPvZB>QiRM{ z`bN=xiv55oK1Ci4Z2B+XLlrkN0 zba*1ote3BiAX<)NDkfdgq&=3grief%57_}qWvz9P7K*!{HxAPFEdaiv@<-BYCv3$P zi@bQABOk|nY2QQJ4jMQ`A60nnOYr;z`5bzBe2AuJsy)0;;R1GO4_q2W~#-%z}LYR~oXLI_=?+_(xxasUXmXk_xg1I~hij zI&C<1w~>1Q*=RuQ)Mq1vPWj)+=b?3z695f53bbmH12L=746EDwTjoi!zrXlns{NJt zFv`}IzQ4)%OP_d-ftF|h`Q^{0C4LhA(urL)52imaLos!mKkryL-kPqO@aN5eKkr-c z=N*o}8}g+)uU}hcgksl!nX?pooU;l)5u(lx%}O^FMrQRP#3+DT^(nIvy7oS0x^#YK zcj;X6*RX4EgXz+FIV7%h?R^-Z4ZHS26S7e#c(NqQwRcqp8BDnLJ`3y@?bUhMh3zT4 z)b>NFwQ-)^XgbE5=UvQs73wjev*#=~muKZ`zqF~LieI6+%K(G0BC zIbu1Mh~=TPmm%nu#oaP~lB58{=W%n{$D5m&{TSmIFe1u>#S1YB{Y}Ci64FEFr)NnB zk{&Ww$@Ez!xdh8}bSM9k=Hg@m*;x22W`1Jl>)@CBL5bCT>94})1E`>MnPsmXEyOM- z?vE4&GNTz}jixocUsIui0~Ld40-&)#H^}1?@$vQA#S`3i`aX8e&_cK~;g;bpqsFoA zH~JT@CBN@;+rA3oOj_r6{5tgOcKiL<(Ng~o({dX~ORBN6`2s46AF6D+;R{OfY{Vdj zX4$lvMt*`bO{#Px=-CX*t!U1VNRCVve|YyXX_h_65Bp0Ea;&2Q(7jof*5|AwuY$0f zymPkk#`kfrB~MbgAcal@sxs}X$H0DIz+y!|Oz*u|JG`x4->7)TJ78a}8;-^lx`9j~ zXs4PiHFh!M!B2y)5I7WchB2v$==DU;t#+(WC#rAZqg~>KzW}9&dU)W%3IxOVMopf9 zKW)^dq+{E&8uAmYM~Mb#bUJ#3dep-M(BK3be9SifO; z`D=~P3H9RIS_*ZKuuI>J2%9nn4OEVBr4u8R%qCO#mf0!UDNhIO^!TU4tBB2F!9${7 zbH12SQCDHnnCgVlU#9sqD38n!$?{-ZIadDzUmyrT4TF)&_hilr#M78%@Hh|T%mWB1 zdXM*SHm&;><}h6bWM#!!3sAi!(?>1MxNHj8dx?!8Lx@Q9Mg%V|lL1tU^?A8U)tBjWPlObUFOGAFzrl7I zC28a_E?1o18^P8~0k%rp^FF=JSJmd74fliR^exJEL4K=eW*hF^^q%zS(7g&&%K7@_ z-WKZxgA_RFVzAS>O#tYNe@sBf(LgQ~QNgbTKaEUL^hjhc=P;y{j#H$uZKCXCq0z8{ zhShw}MZNzYduIY4Rdqf7gd{R-PC$@|C{bb!Ml_1mU{Djuz#Ev+xS*h-Xj_YQDZ+$B zM1m89@pY88T4~j)-9%AAZ4uCF0!YFl1W*C3f_1wwE~r(5TJ!&&``()^Gf7x%?f<7A z$-MXOefQnv+;h)<0-38zMyH3*w$w7lmVX+}YmMTU4ELGuN$1?R?BqKV!iN^8VkN2$ zd{^+~HY04&k9v@NwunQhp2-~3Z~-cqmap7SpX8oW}9NL%aYJE;XHGdwXh3CaB0GnXsIx-4|C zId=+2S$6ZUmg-WM@uTjI=*!cZ=UESO4B=!qTDRtTnFzpnH_dbzT{dy9Ow04h32%eO z{F!l}ad2mPqhY!DCHF0T=$2G2LNC}@ub1NHC498_=i21z!U-?d_I}GU=zz zqC6vBzbwjBoX(O?@U&}NPH_4=EhhLDS%4%He1JSpHo?E8ph1izN{gG_w{+sp>i$1? zB*1m^mY8t}a6K-bTM59m@JeSK+7Fs>EEWf}aIe`6OTgm+Zf%IF8KYtCNpU)+WDX@s z2R!$hmIKZvcw7QR-AVUa4%jmIVgJPEQMjMV>eOSQ7%tajK$(tRQzoPUYwliBeyrXr zw>~C)LR(|4t$udf4B^_g>1Q@@Oy`jg!81|@Lg1{j@JFF~fH^FaorZ(6`ub@6Rs<*g zLL)e_@;qXw>~|Xl&RQkl6t!t1eEI>u5hIQ?{;pSF-r0T>-_{ZEeR<3b$fDW#9L;nw z&43@mWe^7+!PNNz598!2R}IkC*JtN&LWrKxB+?_jx?PF=U!KnIs4iYXC)iQDf0!;t&i{|ErN!T3(cb7~VfdD~N z;$lb$`i^~v2^TzFY9Z<}b7-cwW+&CyTP}Z>8mGBmOLKWNS89$$!!(K}IMVxEAv4qj z2HGP2wjiW_!AG^-%|=y%xgrIf#SI%x>H$)4pLKBgv(=+Jxn0??S#~AXX{F3!nYp{T zrp!IG$?rb%!_wl~N!XpkLs-beW7a+)=ebLr|FFgyjYpIgZ=BTEse;IaDmKPAfhu&% zZ$4l8EbGh{@TlU|6Q*h8QaKYV!JI*xi!K!7N9o+GJF!G7%R339oC5|mLqD7(UZG%? zsUi!SfSq0?PF5R#AlgF-k^lv861gz0oEPzTAPhu|!-KzgwS@DPSAp>HjoWbcT1+d@ z4xW0f13_jpw)sN-rP313`Io8_MheaiXZ?(i$e_m|2CftaOq>%c)n6813?n{Vz0IxS zlchVpPSxF^J6_b7NvAm=>9qfTO#bHcfdxkRu)eyrv2*1+MLK(jn|Bw>gqEn?f6=!3EXP39mYVWJfQ{jAC$+hY*a+4|#p8nVOPAiP_W-H^-Wi8d zQy+`c)R<$KGZtoQM%4Qae^64AoLBY;#?sH*@Gy9ahKEvUJMWfvyx|L^OgGn$5;K&8IjuA5&G%N#24e3;^9ZWKWjx{Qpq(rBUb443^Q-vDgT zirFDo%2oBB1oL0W8zdz=444F@xMj0BVF}nuV;7@+ z0T!W0V%n=d%xN#*Zf|D0+jHb2ub^MHYzQJQopm=!r}ogL(`wIlok7MO=%voi&{Rmo zz^wX6?ipm#Fe!tguKs!_eSaS>5^HNdqLMEQ5hdQY_5Szedp6(y>+_Y!e^hcN!GBZ= zyHV@W0mBT~k9xT`v#z|-VLv879{9Ayffl+=`UO;tP`cWZcxM5SGNuou{sURHNg z=~*$M)(lu@Z4~Y{UvA8nD{XfiHKA62lNPMW>lyjX7+OFqhZjx>UN}WDVq*zF{ZDVr z*BF_uXI{_nWxP>2a}0tdasMqX{+B!W78mBrGJ=buO)vYmGlFmW3Vz-u987R`Z}%_8 zu(ZM5IqutB`l7G9>IE7I?mjFqCAj-=_w2#)cxrxudv+E>(w6iRS?$#Ra$E?bhrgGh zdB3-T8j;=ndgx=2#Z7VoKn3I~x2{^Jw*AtA6ZpirH`1!NxYiw>#Dyg*oZn?pbAyP- zB$S*G*c;W$6M-f~t38Ec72m2lwR~4|vkW*e6{=OhQizPVPq2s#4Y#C3OrTn|ZMgKz zJ2x`d3%+(HzKpCm(Kt={yRzbm2yS84&Wmg&cLG`qda= zLc;zul}AM9c`!27I@8|?TE^vH5EYuH5OH14l&A|2d8C<+t;Z)Q(y=-Llz-Jr$96>? z>fY|)p%x8Wy?y;$hj(s1vPAdx%}FwaEb>Nm=t~radkwt6VxHGfLSCwDZ}29O2m8&F zC5a>T){fToJ{V=ydw_aA33+7IGt859Fp-Vw57e{9d(x)88t)t+L;Wd$hWGJ0Fn^V4NXr{^B=9!#8`Yqp`a#xp*K}yC6!a1@_5|O^TM8hI1F&Z($QeXADWbx_XP?4Lzi5Jj3 zxJyl8@JG`MMd9)eW#JMci6OvJi-K4rxwARw-Q7K-KXGT{TmOl>yMH|5p$YP0u2HLV z$kG$KGE!?jv*`qAd4i;-)rG?N8b&z0m`a?Zi<@g_*K-MgGZXqSn4sRoZ9c%*+;5o_ZsdbLPKJYuy1v8aZ9kUGz~8a z!NSPJ4ej~f#Wu)z&Oq9Yp~xkr!P6mg9_Ao(XJ-|Z;{?;)bF_O&Rw0*jJ*OC$-W%rV zLL>Zijx=lDoy!k_gs{bQSKY<*x%;J+6-_@jkj>wLfj-Np@+>?eyRnblS9D&UW8ZgP zF5X!>u_&G|MTXfGQAj7<)^bk-R*n`4U{=4!@NTcj(=8s1@VV$bOGdj+y*6`E zb7|;+#xA91t^8(~!?3Kl7^j{c?%4t02r_8)KXgwwsLc;9mde^Auyo(L+iGv^&>T(R_5U=J_p=T)J2A84ilRFcG~%Z z->3LJn&0R6eM)a`QI_Z8^i4Q2(YA$0QI)uGokvP&m~gj~KYS!Ee%KeP`|;BGv3Jp< zyAYKE3f{tqkYkH_@7hP2R}UL4B6-7!^wCrO@e>WP5HacyZAT#QjVV+EE|A9RpU~_uF_EEyyhBnlTkcst2-E=fZzr@ z8sAo*p&dxvU;n?|<3}==`HC>f7rvkdjY&*Vq}+PA8uzYx}~8oy>u*uS6}b)dIx!pP-|dC-X#g3zgf*#?fOM)LFP zF!gp<*+?iT#N`5i!*L>5)ou}(!=HpQV?P6|S=u!ME7COa&^?4#_JoG!oM(k0HVBMf zr^yqMxi_pX6`W9NctiM)npIj%%{8&mhvxIU)K9ocKT)8)Bzt1emCAN#Z%A{1RWksEBxGJX|l2$Qb z*0jDCbx%u+56US;fwv_nXQx>==<>;^mm`5W1JRD`Ms#6yWTM@XZ}1R{?Z}^2=#H%8 z+qx5CL6f8tW7_D1l&9)MAkvA`>`qKe=tMuO6T_TN%mQ5`bmBN|@5*#6>Dl^pNO`KB zymzKE9S7Mx`RGUS({X2wo{nee0Nz^$3sGp8zZIM*Pf`{Ey^_wr$ZsLF?4b z)q)sUaT@|E^_QA}fZh1K3IxpNOD$v}0xY)}1TL^O^8y+@=)ycfOC@pCHJ@o6I~}Wr zyAV&Vw5%e2VZkT|_56Oa->|`85CoSJ=muHMfe+uez4BdnJ5m0-OGF^E-p>}vUahCv z*}&tpq%Z5ra))h86Nwt;Cz|B~afU|C^_dNNJ1-K?GoF`}K1(H*?sa1O8p|Cob8{qO z#!|$L1SSsdKJ%uL!QJP%XOHBrtmsEbVEH>R;0~X&sL?H#aiLAtsrdmBu^|RE)EBrJ z02h#CLtKwFH#{ZZDt^79Q+UcZ?j=KyZ5*z7xdNhFVM|LQK6*($Yy%^!8iir)E~!L7 zk#72f-IqyUBcEK;n6->$PAmAhc>}?-sMcLq>!{^`jRz4expR`!oxFs;mi^Un@nE@tO^vsxIl57TL*Th zm%ALN4z6=a3Z=a{?i#DZ%!}Q;j(^HUquau^*YipJspi_^ZzliFYtAstIoZrmjXIEM z{Q)h>m%R(OC2V=F7t$qsyFiHnhw%eUc8J<+m?wz;0MYk)iGSd-{#ZQ-KP@-wGiCov z+83wzcd^BfQatN+`C?j$yda}CpOW^Sxtc&YrOHzCUq*pokZ4eY_?({2bwgGMOE6x&NNYz6?Sk+bOOrZv*|C-x@hWQvh(+z- zQI!x|q(9+kwuvo09TU{^ct%Q+~Pq7XP&e)l4xQB|Jkf>b3Sr7jni4E6678J5- zboJ~BkVx*T{$fEb!j|(zHzOtsVgD`}1(Xl))Lc$nT3bRp(Uxx4#b9zBu?@TvZ@{^N zousC9V7+LlTr-fuKYGj!7>IEYV2k{MdTFE`HjEjQ*l?Jq`76blb5CN!UCNilHLEKh zi-4leh*VM8n8Ag$fqs6#qs@(wgFB^2manw(#yrcsPKDEe}Iv{af4LY6P zJa3zxIb<3IqlqH+RYo)EAYV{_zKdmUvc4{AuZjh=p2d2S!&!p{vrr)q(Y=@E^73lW zGa?0;Cm?XtkK|n2B|X6|s}DwIR;P48z4dA!eG=eq%qnB<3cWyQ*uN7A0ft`{irBf8 zX<|!-47=oO2od+lbx(T5W}8q>CZTc zZ%adv*t09Sq)StMp})=5Pk%C=UeUaNyc$Wb^ta4Wus@dNSiV{_D`Gk3VIx$eX}d8Z zc+R${?@{0Z|1R}hrHBqh6^B&+?M3WAhU(d6f#;24DOM(*Hb>2sRXtg7s8B?_S(qu4 z5$<;OYf&+W7>X6DV-6SgBkZ5AmVG5SYh}Z4Xu}RQEprKC`@vH-ZFQ$~N7_DeuwXTz zuDYCNQCCM3Vm2vtm4AkGIvkc))l-Cti*83-vksmczv zXev!u%vvS%Myy$x8gLaKQvLPc!}Q-7$F!6leitaH@B8pwo&hJmye(vYByTC?6$GvU zdX%%sax^lte&KN_Tft0DL{Ad$n9`B$1VzoiC_k@JyFuO-%JJ z(>_MBxj(r|Y^%+c!ia8E*YuBI^K;8fi!QaRZBXmts(Iq8U6NA<&_PT7IfE^(zV4jP)!5(O9N$A zm%w(>{wzq=pT+cNf%IpBq%ko<_g2b}jaEam1wHdnn-Yd*(5+E4@1Lsve7No!9}~Se zXj*KLtJRV844O(CA!Aaht*2$VhK{$ar?p8XVqKZeopR98XGNdE(%N2nWsJSFr`7Xq z_WktCn!qT_sMY&IR=B^}3XI@$U+C7W*+%+thtYu%RJ|DC#zvv(L|7>UCv(-a4NdGmNkt4>e=jU10tm{?Xm3jn2^wbZr zMo`EI@)yvRt1Ib&DVE- zcj>ZGd?hTG>YBcsq4HI8l%w>36nSr2IZJ1)5|kD_L;s688@|iu!JhW5#rctADYmsN2rM^FOGwNt-x<#N zQO}wZ#m~yr>@(l+nU9tWXx)9W5PTdO>(ytbJ~YY(y=or@!T>+}qu4W}=&-mmBYL#l z6<4i$Y&9X%?JZO(o&ZzXLvuL|w*AXG4aPfrDJK7B1pjgrCT=M000MHSsBvqpNA{5* zmRybmwkTnYW40)5`*YO5L+m4AJR4}Pv;XI+hbHSIq2vb|-UYobV2|HV0~`x8pf0Ub z3Vm#(Kc4xC-4Xr)gzlNI&nN3VNOnGrqCJkM2XZV_D&*>7rz?xq;dDhu4?o!4Vg(PE z$uGU4z6M>FYM9 zuiMnbisa|juOUCcA>uR>LHkYgb{D;6g=XxO-fFbZR5<-r$@&YP_9(%Z_p>r~m)mh( z@d4|+8bZhQ2PNc_%?_oh<$)M{X$Za?9l@8fJ;0aQmYnF(N#M)Mn;bv04QlB)2VL@> zg)T+L7)6&D0?HOTWJm;A8mh+^7P34612rd!lth2eR$aS0$Wnh7WVx=BMwYUFzekoW zv7ty-#PPoXkB=A`T0>mG(-l#bnq%*=-KZ@c&C;f+$;ibkr(=&P*+kK)Uc3@P>*&w7 z9a@h#& zhi&xm{Q_s^6Z7S#_%nBvhH6QUb6GAqVkx?JT62 zzxbWNfrKI{q~9grsz`&3h#iQ?{>UNVY8WmT6hYDK5V>fHC?oHuV_p(y9v`LW#gP(A z+B1arw<=Ul73*IO@4=NW5>{2{z-(et8kO0^#@Y<4e!wz(%yuUBx@xacMw3m}ai-Ebun zqdJcPVX932Mj+?AalwATdR`_9;=s~>npwx6ViO0Pq=XVt&Ch5fAun>#w+ci&hm=jQ zWRZ}GTxpRhvQHEkhAO+~(Pr1s(IPw^FFIv{7HDB9=}^~NQA|XzBA%LHw+}Kkc9RaY zPr0l0we#%$8rB}OHh^JfO*z@_cU9h8sbY=+P)8Q3dkzFiH;Jrxt2_=)7g_OoF2!K) znA>fGy>WA4m2Gixw=9MU+?T5pmxJ-?F@u~Se;`uq2!)Kj+z2A}7Rj+(Q_75F{d}$^ zIxb;GZPD>aOLTm*?v$R5B3pFKJc#VLL{30kb}Vw`SS!2o80m3RaaF!L^)|%-{yem(c+RFAy+%vo}NfmcTDwKW8P>*(JlS^(=B$tAw+R)mn3sy;>eO zAuKs?F=zPLXU>>u3x?--27Q1_#9g(X`)t{8@BS9>m6wrdrflxD3$_04BLf&>`k1FW zmG0*T{sk*3^|BP0kT_dZL%lwx+3N$ye@EJmvZ9~ks7Ppos88|-qivcB`SCS*Cwa~1 zIg&{$;;*F_V8PQ$-V?fX2DV<%RyefA%a5N+Mz63Yp67(V+9AXW?O^gocFK^4oIKZd zq_KCQEojjHu6p1=O`1FfNww7>O}46j*Tj$}McU)UAx%8!x<>5~C@oUGu4YL+?j@^B zgVoo|t^~fIMs$`-I5#Y@1kc@}1G8_lUI}A?CLG%%MBH|W5Xoe@L(M^}EHvpHb+A?| zf#3XY*{x@!%Y@#Orxy^@O@|PdID9QCCFm>!S4CKF7~Wh<}A0$o`Ih^^R6D5O-H>x1!MzUn_4vnZV(i z056H~h1Z%y=dx?DD{@6AoJqh5_I3PXY52o(K1xUzbT<;>dpQl+8=|fDob`|}B-{12 z>7-g&Cijm=-C3t^FgN|Xx1A!+I|7#+&o?8x5&V%5p{Dy9C zFKkwUv)i0#nIhupyPQ42J@NI^om=*kV43Iy8|Ew#-1)+@EWw?W_`pKWBC(&&dCQ2x zEAPj}Q`hqqjX%2=@h*S&rkqmg+Crj&UmaVsc&Yzd8~8FV`sv-%ps2z9g`NEI$AXLLJQP-goAN1IWHE1(R68JE5co1 z2CXi~vu?SVZgVQ#ud)apGLM&(yu|M=QT4C(Y{Nc_EO6pB$!k*a_P+vX1T{ZUpiQE& z0EF8bvHd=5-A&MFCXr`hjZE)owf!{VN9u%B*kE6Vd%1o|Q2*!TmPEIh2<#Fm2rzuS1E>B@!B2?}UqS$uU}|9>+F}cx_LJAqElKO596!Nw*Gj zs%6WLbW_7g=_1K(sii&6PWoKBwox7YjL2McvR_;BG-4x`+_FGuPSx+93!9To zn4YB{&ejbh;(}T~fiEm=XF{PoRr?0*l3ZAbgClp#uD&NvuluZ3m3&wGb+~;(b9R!y zHqQ7i{Up+>+kxa1^y(qUIFQ^=ES@p_FiM}r3KF11Mh;DPAGG3wfB*`ts|;`PYwoJv zsEKjl!1myx8}a?n@wtof6%@!{1LQjf7=^-h13k23+ZYy#A)>m<6@~jbs@t!Cd)x!I zvXnb4n6I^Ao-j1Re+kX@yT=9Sn+51Q0yi4y$wcYJ_A1=#`NKKO&9g=;MgDRP@LSbu z_GP$N@7ng&|YmTv>}1je_39)Kr7&M9VuCz3>vkn|DFBazMc6Nn3GqA$_nggwGDU5C%M>r`@Z_ zBO3CE(+A6O7CM|Yfo_^%9#t!@Tso7zbo+Ky@Zw_;gPj<7DJ4sgUVDL;!3T(ikWl~h zr_fih!poq1=2;VT3sVsqSJAglf^*@(_4s{zHU3F(WNOW8NI&ej{C1C|qiod9RATz@vBy{dG4ky}@s?D|+f(p#7k*1bO+AN1H=K zyOKhj*}b#`DOe!aj`0y^t4_<5RlKDug)TL8XgYsC!ArOP%fd@3m=+NM96i(WAKkjz zQ;R9eVR}#ZdfYM@t5wH8409!4)qZ{wy{NVpp-!{j&&{=!LyFQWz5orfN#MsY-UOJ6 zn+O^f&K%4V!a9y+H+?CaiHi)#AS~K8iJ{A1w=8O2o!Kv~v8U*zb7fB8)WZH+br<|Q zKp`Ge;-l0XwlT6JHOSnDRS&GOxCyhE8gkrK|I{}C1a4EdXO8fC>+jN0@_(W)p>yK>Q`i#@X{*OCq+RR-?T;ibBX+(D^Lm#i01v_RIdGE5 zcXhy?1S}zT(QnIHK?W5&&QJiPhIIZim=?K|7~J^e6k5+xPrYQ43w0N3$pi5((DW77 zk4AH@-AR$`QA3D$J0x_d6but#!rLl`p1=Gs;g2C%Q{@dt@P(A!MU;hNqB#m;JsGf@6<+lO&jIswATOV zd|PW^@sES5L5-M`(<@mjMABPkLwtvz>QhGgwq`Wd`@e4I`_cXgd_>{GS+BOr6JKd@ zk36c4`AXO2FwlCf**5Tu~x;%A% zYn=C;@5aGjw0~ARG5aQ2zvxd*PV4=7K$oZP&zM76+YizHoRC;AMSrHX(VsDG^yi`8 zt&b<9%Ttf1w2ki{(Z=^5PaJ28^$8``OFAEd6a)$l(aKx;a6wB*GDxpDL5oT=1V;tE+Es}wD2I>;5a38eAn2orYG>N4327fpiiJMWvlu~+tm_? zaBs%5VYjTwejLw^iHs-s@4Xq1*de(jpIuZ2=jFKh@k}{x#3l}UC1k+LkT@oGUqsHB%@en0rW;a-9^kps_X66aN`RXd@Y%vIGsAUe3pi2W`-O<8|lvihiPbH(4h&?MEL z__OAyS@+8Pi(}d|j|pS})qECchpboK9u;u{s?*ot1hnd@#8Oz2_>Nk+vMq6j2%svx z6`3mb3LKLo*`4R*kWCg}E0Uv>b}%+6WAM=IDcx-e*E+SWP(FHI4zQcej`9dYW%OTb zghujcQm&ElG0kL)pAi~--tJ%L3!fx`z2J66x<&+toRC&=@G{ZVs4G90oj%g#4P_$q z;MeSWpxsAXvzlvlJopauL*~au^HBPCwo7e)3kIG&QZ5_CkS#x27B+P>OJ|ka|10|; zalX6Xq5SZf#s8?^3J3}9I zNQLgKmZ7%^`WnB-#H(=H?-ObNvS|CW_pW{GsJB02VJVLK4f5$i^Spd@=Mj%0#|oS> zsJdwAz`#L8LyzT%WB`n4z+gcIr}zj0%z?r?>}iBya(2t;8dm*^6`P)adIgBWLUV;` ztKJ!L^>w8@~)mDGs&Q00hX+^E~w`Y?69=%WfH9P2-_E~{!*#TYb9Uxik6H~+K zfy34AS$)ZeEHs@M1_>-hZNAW(`!ISl#$+i}AJfK<}@%`~NE(M)qU> zKlx!y|36-{5B(Q;i$+^L8v0%1B+-r;bWC|O7KJe-)@3Yyc}2p@6l^!lO=8H5MqoC1 zY7wdy+r)V?bk*wnp0?jlv^Ut(d*lIRJnb1{@7PHQ^5V4>pCv^q!oRRzydlieN?mcH zGd&?~m9uZ-=8*k^=9E2^s__k~ro2P+G9!AK8NJMsOYfj+FF%HUyQ6(6Kk@4wJ9l!O$U^V$ zdqxy9K4a-o{g14A>z+^GP&et(m8M6=Q5qd+X>_2a(Sep`xtDnL#O&o@^>{lN1?lMS zGOT%#vuD5FN6r(Q9+?OWUgv`+k>onN)g^|wAy*sAqr5mG>wq zfr5{ukNP;#q!yg_4}T1&y8XlUbE=v@jb`An`BXbI1Abm|bWFg?g7Xe@Kv#5ue1qzY z2weKyi`F1>DM{z4a}A(It}|k;Gh?o^Vy+K}x$bCR`^_s0{r%tYnm56O{lmz3)oTue zo$I>IDBf6+g=IMLIm}D8F&T$C{&B_IMJr5HLHI!L;56_>sL$#%U2u7;8yeX~hIxk1 z{JBiJP9d_@8zxW4JHxaDgx0fTq#%|A#C@|^_A>L{5T&6DVGBorwItgf+BmdqqE{&1 zCYBCRfFe^xU=%t;7)K*C*h(`ZPq@_;k{RS+fw zc--_~fyax0$L(J8BIbLGk+Iopo+}b>u z-sTb6I>e@sA}>4(?;SdvmD7+aYEm1n2JRVL)w~HzoeNA6hPs2d_)M1#RA=Ul2;G>| z22h{A8Xtb8Nirj@dJ2rKMY_`>Ejms7W)5xYlB-M3A7!7H`YKM{p2Cv=<)>Re==nm zlS=(DZL~MbD!1E9XovS7|El%=T=jKqe_Fo3tc~|OwNYNvM)^5y^uN2+zm)U2Ca(XE zvO8fM5%>&eb!wx%6XM!SXovZ{Tn8tC5=gba)_7B{$5m~-zifBw>veq_@29ug|4{ch zh7n_!R__yqfZyN8P1pLi=A#8Z!O8s4nD_-Eb%ClR>$nkoFTG+{i~7QE+N4rT`IqR1 z_C@}+kMC#gaK5yxYqPHaLDvcdUGLd~u1$X0IhfdZBh1WnEs#QzRgFMu zZN&$;aK*2wgDd2Bf43JSj|}(K0yLxsh%*OmRxiHCan|~3avntCA@Th?_VNAm_woIn z?RnqQmuWW^B$71@`?Us!oziTpW&KB6t>0q*B$$x=ua|3l(IE=2`}=-R<<G`nsw>HOs^>{@YFN!2DwGn4x{U5As4SRquTd{|!9Ki9DXg>pfO|;Lr{sv)0 z#2)4mvxR-eze6?1A;JN6OxJrc2xc%DG*!WtLunSDfC_5d%XrL+gQDo2(swf#co z#Fq98z1>zXH7jq~IYiHkSlTApHC)ZNrQg5trDXbjng6!++fOt3O{&_4(CB8oS$T@O&3NPtH;^7NJX;1tI@VK|SCT=PR*c@W)B*sA5cd>qpX^mMS>2GW0t*MSigP*OS zDmeRqH_Am4I>-o365ntuJI8u5kg|A2XbM8qDJY_*Ra$(D@e`}nQUzby#dkeqsBnPpDvE(XhhD=R+nQv zskO05H6k08>j5Fq^@}#bZw2#5#}s=dJ%|Yhg8hxYzta&h8Bm$w%=*Xy)#6^q2Z~hZ zefnQrk;VRL%)o`-Fwe>MnkCs{bJbjDY-+#|KKM@@YD&OwnRRh($M(y){=e8>usVhw zY2lyBX+%&Kpd9i)#&N}-Fqtn&P*MXTmqpX}5;w$o;7n{x{elj$_DAVP!aWvtkRL0I zQ0E8~L>r0lt3;JDOu~L+Bg@)re~UyVR2qjO^d%3 zel_0M|BJN|W>w&?1;5Ig!>>M!o4jSu|Ixh>ezn)B0tkD|uR>g1BTDG=BTm`_7_E73 zzUGf#P)B_t%ve%;`(>SE>5g~o?O)Je7w0(J-v0a_CGx99>ZfUTFQfI6Y>em@iMuk- zB>ZVsz#VKF9_W0U_TGrIU1vYhZT7hKn@VkbzGHO~=G2+*mi#HkVqcmU49#`tu)c=RLOin+}fA}J9+kh`%O5&Z?oQ?N0U0ym5$I!{MR?e zk*a%@VMjXUm=P;KpG1^IA3oq8LL=f?CppS<-Q5XVBoUBG5R`<&9#7dU z7me5PQ|uh0$Op752*F(Jc(4+;v{Jf2w3dH7#_+9prLDPPrQ8Y)mmOsVUbJgydObcm zb9r>A#7-9K)~BPA`NCI?mb?ZteQ~XtaiBg zA*LC{XS)J8+a98=1l7a8kyTk|6kq15cyGB&zq(Pq{4Zh+`^{(X=U$>d<@?Pg`cu!v z7>)laPnN_N`l}t<`3rZ|Pa$)?CN9nuxkm7L;z1K5dIZmW<}+4h)<5^kdFHVEV70ip zx##qd(y$dM*-ql*I*l->_vFd9C8gL#HH2VM5)$YgxLE7Sy`*~Q$?O+-g2m?gNDJZ; zDn_e6BV=!xX*G)taa|Oj7?>El7j1MesmgnRFT~vbA^!G{(Oa)cZ2tZ=KC|ARvDt5q z%^7L-#Za@_Z+2bjHAmsj-F2n-A7DJZq7mlb}xY}AM_&j_*>meO1m3_>g~%O(aVGEOFu*O^`T}pu7Y_(z;cnxe)WXl;PYOlyr2_nF% zo-bk5@h&e7XTp1skP^S?W4z%K?KfRqH|6kBb{|+%Lj7*|lNI9&X#=n6+8jcD%YV9F z2%qv1;l3TT=k!X;bJ_?Gu|1~+O$Q}jRgUF4T_D}!gCK8WRndi#;F}zDnRM$U0v(ds z1qYyXG4dYmu3DAFJcJLs{$=og_=h(yGeACgs{1%`if}CQn=b}3{N_PkbAfpf{% zL5Q{!U)FRN_LCzy&W7e-FKM_vHJT@sNam*B;E}s3SB7hyRpW76gaYn_=_FyyU$0n3 zCBja443XHfim(v`fYj%wRbOb5dW)&$mG>KV2wN zcU3tLaaJ(YT=E*2M3AggFZ@#8+vPVW6Bq3^NsEH_*5@_p71{|Q(1A07Q=_S?yJ|J7 z!n}`{UQY0bpA`Z_x;cR{%$M_G5p=H~cMM5u;w^sOJ$sJeOI?Haruxlm$t5G14aqbk z;LZf=km($wgqps8gF*2sNr@50{eJ8s3G{b%wy}Jf`h$7ga)s;8CUKl`-+U{hFv91g zdqWpydqW;^?a%XLlQ*eazx4mGkr&o%qSKRAd_Cjj)lUz9F!<$Rh5n7D&BMPb)F@9n=R@5k)Z$_0>-~ z+*&P-`nKE`L4CZYYlHemS*Wj0NWJp2!Y8qBMgUils1Y%^kFXI@+_x-CfCt<+!ohu| z1c<<3tY}2&q+Lcc_*k&HSuxK*m{B>E6zuTDLtS!J(I?`+G&;KiPyKBM5;fxbjQ`HgxH@|3|HW2yXw)tzHZrn zMb@JO&IkDgugM#oUO`|$4w%L)>1MgcjK`fKo)jSJC{hMlud3I``lTmXTaeo9^S|VL z*OU3>r^1H&%Z2K`@{e*1*eBhrRdN8v9{e~U{bC>n^o2_?pyy_$-1O&Wp1O+!o8P@t z{rev6uNm-}|F}Th4KFCYFp*L8hAw9JUk%dA`eyUEScVb4p$SHD=XxW}8yY&-8#-^E zH$0u+>DA~)IM3Fp$A@ahWA>wZPpnh-|5=|=f*q=U%QJSKh3_C&Jw;dM_}!j=&AKW7 zGm0v1^i(wm$_Vud3b<}Gt_*=wqW;$K+XOgoc2{W%79TFK563ZaaODIa!U;Y>ME+C7 z1A>5Z0gfp21)RgWW`3k5E_lguP*VLZ|XgD$z_+WRO9|Cku5Lc@BUh-6zvG35KFjgd7_qY+46{w zOG7M(*TC~cjrtiRLvJA&eixGE*k+bM7aUh{i0D)WciGYfEo#tSBEjl44}Hbd$TY1} zwQoK~R%ogPr{)(|2b7c=v)YcW1O9Dl8>t|HxFsM4zksuuBRgAcDUgh*-)5y0p zFwlk7aa$*KH_%?@pv{fWLA_3$%X_$n&?EIY$#rq%qmQ4@)qUh!=LMGTrT8PotVJJ3 z<*$`D9LrI>4T;%6Evw(1y2~VnQ1|^y(6NmlGgg~j_?0x{ypmdt9S2H|IHDEIeI_X)N!&axH~rxCmR=N)1v+h zkdlM1J~rRe0CVY;Y^j%IOZ{>7qs@Bn-Xw5eIOtVjMT&|>9~(GOZ)3IQnE>&v+U7i-wxv>+MSx-Y#AYziQRMCju5_Geor+k?> zJ+{i=(uRq%g%;t~3dVG4EcR--UlN~$&y=)i?%z1_+~AiI|$=^CW^2AuuIccg0Ipe?F^$G zyOqFl@LzG@a-ta-P|B;eX;SZ89-bmBqeyUdfI*F8^~bte_AXu;mXrhJi(K$yXYM}; z>Q&1nDMjMD`d$LrNVr1XTH=K5;k{w55<)<>mr+}Czm?KyG|Hn1094lJYoi-oi`YI^ zeTdS-+;m)=-mqODU^pjA--;p)K5zd>&xp;BZB$o(#OUhfBRC(;WN9g^@V$`)%2UcxUM1#nMh+t#6m8c zU+p}2basH7w8ouCiM+*#n|}#n?RlDtLGSJP6-((wnVFqHTip!ln zy_^{Jg6Q0Ker3Tv(1KW)l@v{gV7pfdxBxTP!F*l6esbjX={m&yw!aHbBa8<4VA8RH zPJnr*a7B9K0bF!2KNI20I&~Lq2ys#lvI`u?3?tn$!nX@`Du*=J(5I@`2R70>QEy?p z({aR6m%nStgnT9I?}Bv%ajsLR==Oo^S6CY8 zJ~UQgDKlE#`F<4Xf_@^C#w9%p{ucrVv=iVFg@_2I;R#aD$}8ZfQ5Tku()>zz`~#q> zdZr3#?p+C}YUJv1wlw!>)IUD6K|*%;Oj4}Pn1e9!c92WX3PCQOciq{ZIqvQrQn!(= zEi|JaMKAnG7d?o$kw>0Ig!q3Dk>n1qIUKoPb>K)I&Ou7WKmUWxy&j{wh&;~LP)-Xb zRmDQ-VFHJ-8W-xDd*-uhyzCwHd6b_a!A40D){Sn@H@eN)uez&x>1MFfqJ2qg183u| z`c%d#mX2e0z|m9?O@!|tPJo`LCW%Rkw`*R7`rtb$YYrTw85#e(v3!izlxQa$FxNdS z;=Ty2$^5Wf_Ow9jZ>Eb* zjJJXkS$8-MAD~Ai64b7{WZq@6OWobk(D;uQ(Zo8Eo(L-?%LqCx0i7BSD>e4Au~4I}91WGb9mPWa zpjXRG$T39iW#*gar#|ys4!98|-h#C;>AJp%&wE=hsDG)5u_Njqkq{M<2qrMiNDF?` zVbb;HYF{|B#9Om7)1R@zPb8F~rDj^G#iEfyhUZauOj1hSDnH$pK0W< z;lTpuxe&V4M9+4DadAW=%q6dla-pUr3|aI+cH)Da#0LyK{+0a12Zf0bitKN){|mkS z>wG4v6-S;ew1FefX0&y2!$e}B#n@eZgAJQ5*dYdU#VabhYTz04YQs~Uc$T7L7!hO4 zZRiaQ^=I6=GQC9TR zV*{E}->B{*#EOVIB+AN0_3XKebkxxuG_C#6oxEovBwAV))(qPv3k%i1Xr*{d9(2# z6l)xWvbSe+kU5v;NG>5Me>CU!#!=hgSO-|ZO?`c@0%Z4!5Zf{GBDLQq$&$I9Rx8lB@F zFkz{Cz|;kXnRWTo<19*dws3nku^aL)UJY7HL&`XTr^wq$H-(@Z^0(6R-2j}Ys%vtg z=d|iDG-EEb$d&Gyo_W?gm1mTOFN8EeYN$?G2Wlw`&DhE7ihsN8Cj3erqg(LE(#b~ZV6|m`Gt%7I6?N|H z8B4)RURAl+ht&NytpvTbW7}9x&=M**>eTko8nPM2CT4e4Uu`Q|=Ba9Nzd!f7g zj3RgU3c7^3R>(7+31$A)sgq}5%?8#PA7ktgP4wQ{o0pQFBlVklBDBJ?0J7d|nag?2 zzIndz54$s7)TMKUtDfq8I-+i07BSI6sall>*7ccPU=BAKgEnEEg;Ld_h2kCvEfn`a zXrZ_VLJP$`5LzhifzU#64~ifI<(o$TQTGceqm}v`?|plmZT8&ZD}Gs&_!}BAQuFO_ z+2l{LCVzOI*7&-F#53!#SFx+UELG2!s@SWo2z2ok8`_>tsuov^JsTp_)yN2u=vU=} z3nKbvXa}LL>MA}Xskpl;Q}BcXSAY>qTu}(mwG;-o$QS+zl>ARv-K@OFHG@0BUht{D zaK!{)=x+-^75?y5xTL(GK0I3Uu0N9NH$-2=@qd9~PH86 zAOcaQ|9;7n;ZWAlc6~ef&AvOV_;5a~lPu8k#(-9lZ*aM7AOdLB0a|uF;K~~hSLIQ- zs*8iGz{ys=!&rC<9O)&hj(dsdTqD~rx+NQ)ki&^(1~0#$R&02r`N{OT)Qv6(NC|rd zRv_u?Gxh6&ew({UBIB^XNtGTeq!0(ovOYr2hW&HZar%)QSAXW2R%M0ds1xzQFK)KP z2Xa0lJ}57B=TF+jpXoazLWEK@vSU}O7k-0E_Pc%ff8V=(o`GcY7!516o~@2NCQWdp znKj^vakhl8cNr+${J1RSc@R3uV}1dt^OU(lGuHLsgKF>JowLU~=y~rm&XL3ku*y0J zUMw}MYg805$UU1n$1XL@+g$Qdkrv#xOF-Az-m!*YhWVSFl!>$;j(>K{z`AG=0T@)w zz%>6HaG51N8)krSv6e7|F<0|KqCpaeuywTM8$4-(yJ|UClHapmXDh#F$FjK5?v)I%A(J6-NtX<^CON?A5|wq4Yf73kDJ-x<&n2RP8$b@maj?EfmiV#4=KJ>MDHG z!q0A#kD8tbMM&)(^b!#9qI-#FfxYfrJ`}xt*uI42vkU^yjtWp>;Xov`mdL0isk|tV z9hDV{Jz&KREER%07Rc=5Gbg#YU8JdLE?5ru0E{y;{w(Hy%)}OLoT*S->kzTSTZY)4 zI7)}trX+M8#(xLLTV^73+Nj>2D3q?JHZ-*-{6gU`vnc zh-KNDUy5bfX;`h!Q=2x%xpVCE{{LTVKqS6QGpX-v{qz`QB%c`OG_Be!n}=@miifmr z^LX}Jew;lsNr4fXvb;Lc^AKCLDJfVWv<`Jtn}4_TWYl%C|YTLY}Vv{9Ies_;Ga*Tba8?%B5j0K!H5QLC%S(pMe0L7QAoiQ0V4w8+OR z#O8}WURI7ZH#T3d2MV-)5zs1`S!m#deD!Tqx0`5`vHL>C|>N z3GZLMr|)AAmV+nC2s4FGa+~GMwH2R|$Q3xzh!-`HRm2+wvuuJc<{L}l*yKNq)a$3@ zsVBW4k`N&}BnJYTsIE;+bZBI@WvaknFI%Y=-rU~E%;ZDKj()*ckWPkkkhS)VFQ|bR zn$l@RI1`V#6_XGvC-Lu={)-Vz+@>Nz{Kv3KUb09sCSc?QB#d!b+kM;j*dUltR9(s>dPg3}=31kn&txTF6+#nVey=fkJpfv!QIKJk^Y_ zqx}$6BDOk(tV%YA87@Fi>60hR062apkxkIb;nLV6GKFpyiJ8jStR^j!^KBR+?XpvIoKerVcjJQouqs*+gX?AOZmdo<@$Xyb$O1we|73|{r+dg2TD~GJEoQdXulMOhDR5Ukykdu3jtK@fXqhk7>zWHut8U-Q(G!eIm@0@ZSL0L({0Gwa=BiowLh4Gq z$7co$X@3@CToLj@Ig$TVGV}?%^g4^8Mam^2QZAvIjR*xxS_x1?6GZ2AX%3WFuEfS@ zH390@r{!BI0%%OnH8OV7jFkY@k|(E5fcleJLRYsZAt$2dQ08tc0V*j2w*5R3K*L7c z+VW@5(ROq}60RJ2g~?v0mR|cU#LoZ=#3alFUPzev^ZH%bQFxT_d2z zm|}Fv*u&JR-(MsPb2f$bYUSs0&EXBX+O7Sav5m?JE9_${u9SF{iD zA7utp$Jm&T5oh8D_58P>zfLv8{z^}hm7np6N3})lAc?PWTwD1W#kMuds#sw+dd8+_ zJm`6u)C!lLP}O~m=9l&^Kckh8Pta12hSR@lY0D3W_)g_V^AR8jdS8gCk%Kd9DmrRP zX2nXp<7-$v{*Mn#v^Vu7&7ig)s`HxZ-ofX%D*B7m0qY!+CJBS!%^~j+mt`b46f-+7 z{K879g5HAEhv}^VD};8u|H^mmJ|QRwVyn2({9nIE-pUc3FKnAO55r-az3yFRv53uX zuN$?dxyxIy%P9V2;sNkfu1P)dpE2OE&}H3xtB6H2svA+tNPxX?&*wRY(?mmw#=&l+ zANqtGZ*8^QdN+N9N9<%wj_VscIh@)dH18CY8o^Z4`_|8te zSeuBu0RM_F=UUa1IzDq(V}>N(AufYptrEMZ$ULj=frMaFbPTB8$bXuCajnMV2Hf+SMlGwd}&1)}^nf*++?)-GuN*rz~GI>IPB@wSdj$r~yzB!ivJV_|onTI+{Y3Df7 zD`__q=^LL2%3=g|dwQSPUW@y1*2lNEF5h`*UZOm%b$M1p8|`&((OwLNhkUT~w$}Tz z+bK^W&+ug_9Ctqv3;z_et-}=-Mk!ei0eg4kF*}0f&9YO z(Py@AVd#etW|Gw1j)_t?~5}+uNSd{#6O}uSzJNHYcV%39uBOKTStK z3$Ac^gG%R5i$OLlz@RmLv))&**+~cHEw1;uhwF4;y@9cLG8K}a-UcDb2NoH7vh~~F z?dkPt$#zFRZLMDvhqk=eJy!#uD_Pqkr1WrBS>|ILqormvNd_ z2@W8v5sYP>W-NDHEd+XPrx7xmECP+E&@y#$)9^Q`DP)`a1W90I?b~yq z$G3O=JEPtG>lNwWx&Oib-S@Nh&R>Pp)bl5D!uCvCq)wFn6{Ct=ZB!xNjUuFd#R{?5 z2@?gQpg|iS=R=2_CFoQPIol}Y?6Htw zjgYgAa!6sSwMm@TzC25)StEov4rj;^mNc_J2>ifX{Gof!A2czGZ|_Dm^%#yyyN*Ph z>8gy-*=%yRkiNZa`v)8-?R=7r;6vfr3#r8()^cNUZ03={bfIX6Q6%ooo?|Q3uo&?kQVXoZ^7K+ z4+yt5CdXo0JIJkdnGwCrj9z9%FAs=bcC;_$$BPM^pXk$g|H+2RXtp8(eC0FyVkVHe z4tsVyOeG$`8i@xWp2XVmuheJuh*~Hk;Hm~wTK3F#{Y{`;^Zc*)`8jKT6q+SI zi?&Y*2vL1wUJgc69LgZ3>vN3dj#+8!Le^neSdz}DYavw+F2z!pMJgHzoa8pheC${CDI$APKDeQ zwrq0o9`+_-zi1XT7gh_t(@UrV0(N2A>rx}M25=aFHx)C(=Derf9ACmlPUc)2n32Dq}bA+ZKHxzZZ{;SFIyx^ksAMCj_3sfXHf@JXI9 zv2p5bW9h@ze|GYph~Z^F>qBkdxAA`Ps@!y<`P7z*(N)??qq#KB4AS_v%j4-42mfx@ zaz8JgUPE)v#2y#N+QU)h>v-nG?Vr-!j`_7t)#G+$g^ED>7VhfNN?hp2&`4wgm_g}0 zLRc)-!4O$_gpBY>FUVNM;tB8C6VfUUwv4GSy+jyD9)>ax)W2re197hP;%X=eJ8JnP zSldGB$m!dSx|6JS3wmuY#(!t)<8NsOmU{db{|}D8*(3T(2^Erj{r6=27yS>8zy8M%Y?rg|yeb32E(<7q>^?6y*n6>(5{Q`pCZY zXJ$S9>EFKoAh)u@R@vvh&QFF9OF_Em*AXU7&WX|h+)g=Ai-^mfhV{@Q&fAIKoAl_> z4;^{dA;jepso-%Wk;+!%iJ7S}K~lzMod^RjZs>fR{zU7tCZQK&Nh0p!SZ=wu$D*rQ zswT;ZAzWR8@{k@|3@pyNPkk4Z*QZ&k@-pXz6jlsz(v-@+CPJ; zt$;O7(ROvs$;f;ywzgGqY^wKl+&cA5;n-c3KYnAytB(YvQ`~SwIgmsO+m+VWC{(tPe zmja$P>GIU@^pFnrn3_Ha>GIU?d!6y7`2GN0p8EaYI`6kJ|JNthOExRa{}FABC%x72 zXw#(s9=+HedbBlqQr>sUlhTuIm5b?|uquVogdd31klB6-7qx60wzldP@d6NML@_PF zh@>|{d-Ws{Md#TkFlq=<@E2Ydi9V}x*SGz323Fp4e1FRD`bRC+e>vH**UweRr`3vI% zLDLngkmVhtZ7g0qx`7W z=Q{F1=+7|WOwBL-C^k%jVjz%w*+;G;BCx2XcZ(-JndIWRWo(Cbr%x<&xaH6Vys!08 z2OB0csfC(6BA|;qR=NrQys-v;b&{_&J~9zbocqM_TJRGGuU>PzI;}v+WrBH$F=oif zmi0`!loBW!*Z}BhqbLINYUrhbHY}tk9L~POLLrN zuj&T?n7fGf*8~cwV9)?zcXLF(I(VseS_me;;{ZU;Ar| zs+dz|7RcWsqbO7>Pt&QGb+@ol%jH<7P@>TzZIP zat-q)!<-|r>U9)zj(xJP{#77N;&Vxi5qCHu3;&QS1HgbqRzD95@ zev{|RpW7rPy_#MtL*#>|YjBrIV~a;-P6BO9FHBO-O9#wycIfSThu)=OP3lwknf~6)=Vec( zn$LT)+drQLtM_0&hie#5n9rX{#G z^z;Y2=iDp6AMSSXM-Mj}^T`>XKDYa*H1m#GQ~5D6HZ}j#ijI&S8y#W9Y}wlvW|N&k zA28Z0*RgJGxaqNl&G9%pT7+y}qOQNwvN|3%0htzkj6t>zhkUt*r0BVM*8bp`s+~ zyZ*OH)^|9gsP8cp?mOsOMb7$P z|NKApz63t1>iRz`8P+%8LR5q(Q6o`_25snoW*`Ia!3;ztii&`1vA7`2APORJ5@Grr z!CIXZtFe1!nn(S)ZF&>IQ4y$PkcYJ_T>2hEH5mR z7)M%iDbSgurJ27jM|tSi6of+{Q$W6wJPvJ8X>_c@gOpbJVH)(mg%dRFoLvx62&(Se zXtA1Sj7LyxoC?~*d`=7eRMQ>9_2W+zpXf_$ko?+ncwm4`guR1DPciz)^md{YT)-go zA1d`D(*i_KfX((;?RSl*`C7!17xBW=*m)CWI8HFDFn?%&_h&= zDpmcEmivvSU*OhZHTb%*2pMU&tV-Z{a73e5AMxVoeODtQvrvf@~TNB?1tQd0w;UWvUb#9X%Pjv@QiPo87RLEp=K$O&` zi;F^DTIR@DF=OB?1}k%trXQf&5e8=Xj22PRaf4ZC)E0^cOTr!ssn&B!%yVkYb6U)E zddzdXnCA@h*{#Fx6m9v&!aA`+81r3`slu2KF`vC95CT-;2y=?`7r+R=s(uX;2HUm% zDd4Y#t6MlCz_AH;c63L8BWwK#yP&%~zPy{f1kSE{I;)4+a4f10@mMRx!zfhIWpr5u7OcoiA=jL0RaklkJZKT~M{Z-~vOfNtREKO}QlU`B;4+*ft1 z_O)YLI2*pG2)S)oz>QzWCNHiPSyH454^{j;#Ew+htyKtr_%OigeEE|DlPvqSO6AI} z{IJ#Xi@yba@vD@+?WW$?D!=%YdEfX1#gapWYy9)v!XbVnz8d}E>!;8OK8}18hC=|e z(b(`c!VJ%0iD1p%QE^f#4EFTUsHOBwpey<$1;UhAA@WAXr1&CmbLr4JX84&T3_ZcL7QQ+)j z?6`0#$bOG(Cjupt@mUiRSJuehW}ZjWOW>8$>_#dspi?x5%jWB%@|cER1!g4K!sn3l zNk>xnbm`sz(9kg_*dCS#+mixd1>2JXKJOJ{;CoP_)F5sZ5Q4>61I8jwy4-L-|F%;o zQ3u>`(qbz4OomEhE&Wc>i_HP!?a2)+?=b3dmVh(>j93HWN|Q%np^*e_f%M-%lkutE zt=D7}_X}4#M>%D@Z1Z*@fqh3rH7LJ+4~)A(!G$7Bk&*OX(XpoRa_cYb5o;dE-E+$pq3@orO-1hljVsDg@+ODttLp%RKOp zY$_wdi)*0@Mp8?KZ3Oaq^o_#B;IFb52{QCx_Cov`S54q8J?jF)$#Sl;PrSz?GdM?V zV;GAr#)ZfeKF1>>d}um6v28RmCc(Es;9sJIo0)M=Mhsni`Q#2pOx8Dv$Q}ahYoQAd zvQiwY0l>0^15tC;-1VHVxN#PZZ^Tefxg7nQD*C6xP5n0jf?VnxG=iPmhJ1LXYGdYy z04SIS?_>gs?c)$9U33}#-mwvzy`A_o^aP>II!&docz5c0cR+rj>^wiVQc=q<6KdIH z^g#vl5<6pj(6J4R)!Gz)K);3H6R|Ppzy~ZtAUM_`IyR7&xK}Kq&bWhj0~6}qj)O{> zF1`rD3aYB<`_s0Tg(gSW(Z z%Nodn-oB*=Sjx8=NuB+5nztwXyY(NOH|0bI2GL(yZ>ePCWik&167|GysK!M2o!`)xEk$TaqP-40) zWu)$Y)$Y^_bDX+H%)OnsKs>#JxPUi_wbv0B#>Zf7vBU*nsfD!{6AK0s3y7zA#M-_V z)}Ai0wpR?+D#Y3@XgSZ>-#^nC!mJ2w?Vk z9lvYAu~10Ayk6aM5Mex&;9uCiNdG*jMIV9=sc{{;ogKQ*>d<(0=+2l9jg%c48|~0Q zc4&mvp}y=;q1B<&WQX!%I@E<7>V<0=Xa7R1Lyy^y`gJCh58fzHyx&`#$hlVnw~4f1 z_kSXt$L%q` zDlT?a^QLvNOqREz=1ptUD;1i2iTa{w;mF{L zm%j-95x0_WP;2!x_+Q4|co3(7;7D5_!#Gd0Rg)(}!SC?B$3CO);3OhKm!_vee2LN@ zA@33Gfh`s74VPRPoUwu|6(Gc$N8d{-29h3GpL)lDf>>y94tV_e#vj_V?-o4o_#jdw z9QXsE1jz?vw`Qv#=x}D<0%Y>Dd0vUc`!+9efgKgRuFZv%5lm=Znp;1h!NDuoHgH*0 z)JnK)2k1?3tj+D%r}!s=)Czj))<@L2gG1`v`iUfxPW`eR@(2sWrasKq*|9|_zZjWA zP?<>b9~`EX{Zf1y?(4u$z40mR^B)}Uok`*&(iEm$=RY{q`*Tthk#-1$!XE!Y)q90W zmPGOgOune}pxE{YnDj<`S;sFu5a^ri!|9}3BKhx3PWK-a)OC=cuFCy?Kq7!Cn}uJ1 zh@9(`@&I1KcY@%1rvf}*JLqiQ4X6$b_udT9#QQDbO98a^3Vuy=@rM1V%8@=Nl#XkY# z;?}V%T$&T5=Wab!(DKAFcQifbv|CFY^G=P7c^yZf;h4Y6xF}0^iRlQRroP(Iw0cj?B zj=|>0j9yph3l=*#%&Tz(mNVabB4w!eC+zd{OxcVS6Xj2reSD6|D@8_u*eV8D!yt3( z$EULU#U~DPl~PV@4}+N<=AA~w7HPj=8klbmwLtDF-#r*=Z0e&Va##6&j-duuP!vJ# zD&LjibL39nH-g($zCq#cl36fOyULe`p~miSqIO~4)T%*P zF!+yS@HNLb$^#EzeB8mIbqvOEb1c4}=+SK?GlC}r+B1e4`7(|4WPmmPvqkDqpNpwy zn&a;?X~!TYc8yMeI9?#9cSwkYh7&N1tj#}}FClGFXy72JJ3Z7K!be`0|{X+_AB?#lXKzA$IN)|;-qyFo)sXq zMo^57^nZA8$AvZs4dOs4Skyh=@|C^bV)fL;iO_-GXq0xLoDknK%Y+RUNM?!T-Zb0Si@>lr%EfsoOAp)FzuJ zcxlQAy=apiLWf3AJGaH1cE*{cfkFrKwBt@V?F=AE;PFkIcFrR?;G22c>6v)i>5N0X zIPIhXlw_!PZ5tLy+v$Py5)eN)3g;a>_>Lcsq<8vkWXLO12L3FT# z;xNbk#*JDMJ97ug_B~c-#98##n9i7I(W|1J5ob|c2FIL59ad+|vuJKiXA~0elO$JFm{3n5!4Mfb;@!G zH1oI4!Qarluj?Cl62(ag40aXuko~(rqw4H4&cp39cwBfFQT-o*E(y;7$wjClix=gx zc2teP!xy7QFyl@59$_cjD(`5JU#^cC*|^a^AP$^wxUs8?Q$Dv!x30K@mm%!)LE_6u zoc6zOe8E{C64R}k<4uV#)Gq+OfQYjb_;^GZ0)JZv&Nls)N&jCB{MEgCmiTTuS4(i( zh4RULnlFETPV?oTi2L4x(=@c#z6E%$Iy1Jtmg~Dy=I50%HB}q*Uz6}P`Q3!4$?tc! z0IxYdO_sl^h4!6s{cQ;UbuE;CxP|h`aqzc1p0}J4JN^yfS(zRCz2*A0$ox%?&r>bT zp9xQs<=7SH; zqCB(&@3=FBx-$(raQTRPs7F4H$S_|KVjJ+VYUKg!7c~$_i_Il9Bnt8N?PV=@qw0UR z4oV^Sg0kb@YLjuD*j&E}gImUx#YW>&@xGszo2Y}9Fa&1qJxCU#sh~DU>4b%?>qBzR zW3nf3SDwUOc^byYRI+BdnHyqq|J7jbm}*mIRLPmbbwiyycfY6~v(=8XHJ)4Gc+t%a zcW#X}Tbpny5VO^P9|6M2BA9kjbhbjb0nTr2n~zkyEZ#h6!?E|c<@~LWM*%4Vu5X+P2#iC7-G@+uE3v{bG3f|n;ke>s;dt^IkAu@AE)EXuF+|+GGvedmz(gJv z7Q(4>^W4E(_c{oND_Ky&`x>Pt$R?sy(j3j8xL%t_6S?o1@#*r0V&w| z&?Kl{EI4Gk)r+i$Z~NhYaK7I@uJ!Z%m(&LOK5dxq>o-5s%U0XljPaz6yg8oz+=6n40)VOJUeV=k0=6lut?|QxwMO0YwLFWoa z^c6hF>FYxm7g;W88k|pKosEO|wD=wI*yH1wgO-}{dp{EK%oF58$MPT5@e#gFwz_eP z?5~1jlaEZtCL%!miCS(gS*=%-u+PZiC4Uj zGL9|wxBnWloh|hDjqB0hdq4SM^mi5_;2nN{e@SX5QgLT#x_~wrTeEq*g_$G{MurAsH z-h;yTB0d1Se?!vKXkSzcd%_3_akT6M~+VAd-Npmp~a{gPOZe zu+JVfI1I6RJ$AZP%Ti(FirYdh&@T4m`}ivG-~QEEbT;**TNiB$KmZlh5GL@-&^eCR zn8D69Fj_Pw?rc4`*pSH}e}UUdGago+N8e6o4Y|o4_(#;KD-aPjz`7Y$Pt>8%-=s5z z%0tkpSS?Mkw^J>zkQ#NyjE=Yi38r1c(~n9kWi=HV!%!WDRt5Dv0DfEeBh$Zrzfoo< z8Bc6Q-@pxeE+)c;VI{P*8 zEj}KY`y$>F9Z5Ve(-jS11f)>@HsfpEuvLZ)@&ldq!;Y`D9PSg~8s#wKYmMkZv`>t^ z)e!Gmn#G86#*x|)Tx?~tfzOi^y_x_cgZe6^oj@Pn_t&BHy)~gl< zL?Y}U7)d|E0kwtLcvIP@GBGCJ)K$B{x#2c3i)*G);?>$gjLFCKZmLSrs8GlQ1iB*~ z!#t@$e58&Hp4lKilIJgSyxJZg$?*VsCE_D3x<|y%c?>^I#n0)}gUvJ*A8D+s_3?9d zoziUloKJRetQ*8fx@Aj)*~>E?Wax1ztdqV+aNwIa8@;gO-&=Q=Bwd5wA8h;_(mRuW zKok_AbbaPplaLWbS;NHO0k~8THZg}qQalj>(wI)eh*@I6D}(?#f=LEntRSjuIocSg>V5p>sF)Icg56-KwHcBcG= z(m$cn2K`cUlh{y%CS0&{*)Xt>IjEds=)he#1l$D~#9cWx86v1X zqpxo=zSy@IPOxC`h+jjWybvmJW_!bX>3$pJKzV&;Xhp+oV zI4Aoa;VWN?jij0R{e1V5BZaTA_22CJid$HT>*03+R z6Z0p&CzelqZy|pSy%6N7t?z;!Sc8N0+0wflKQ(YE=(DpC`uuHwPlT_<`AitU==d~F zg}?3Z5kxeJVw>MZf1>-TJTK>0xbiDtQfF;FZy1j+k_){V(YAn~sq$a^NfNTdEq{Y@ zWaaMUX#0ma^&Zj7I8=e1&8pu@x6QMIR5$kax*5kyipvP`3TGenp1|L#U&Uj)s@h$k! z9KQTYzPwZ`YJ^lG&{qw@Hw-EtZ&oddp1$7rvV(~zcc7U&z_#9Dv8^S7ZGEIbRQ!@H zMY=X^t}Ywe6)aK{b&cA~J_nvrMP1Jn%b(Hw2|hGlyt%QEVRAg4*0iG;v3h*4#BQAS zQ##%bJ~Rz^jGONeUbvrGA&XbYpIZI|U)n6*n(uPY8WZ=L0Q2IZ0{3vMHb!0wj)TWg zbJO`Af11N5=vscp@4%hF*%nc4FxOZA!JMDlG1s?au5Zt&X(x^-oNJg-e?+1hm|4h| zwG#yeJN!|wUv(A?YSbVf>w4Xl z4Gl2k*Yg+GbBPTGtb+mT;2gSP6!Pkjr+P`f@ov2c``F}+9AWz>Hq(BvBig_2+im~X zziPVwAO379`u|Py{fE3>#>aG{CX5o_v%t`Y1|+>Qt6|QBoNw@NDo~P<3iT)Tf(7te$vL4}8dZ2g+9RjVGPuvK@;K-ER?=F?t9GoYR~0;F@x!}W_cs7X07qu!xFv0R6<`iFxW0u z_G+W!S8ctP&4FUTGC1-ZlOVh^77f7nTMUF_Lr zBa_f%!t6KR2>l4Mk$=t=jmUlfg$XPkctO;n>nh*OibuD$;y;=dkC7FNIsz{g%Zf!U zLEVNoH6nYb_OqF4i5s^9)?AK z10&(D0eFzk?E}WrJ&qul^IZnfGf7R~Am!$C9a8Kf!PE9i&AcPT}P$UF{ zJc&t@a5H@V7M{Cs87#Dx=uD*ASdrPxU2tKnWgYxt!?KPcTw^s1ljl%^OT;{rfOzBx8z_xeTedP*pt+Tg5(i` zX`3UGg>U2CUlF}%VExD5n;#FDe43ZdRgrnIrj+9cB~t83(h(rve`xs=;rq_ti?JhH z17r=H`76fnNBkYJ(p>ploqClA9DYYS9>Xt!>;Nk?JH%J+KsR^bGB5_iplO__z5u*x zh*9waG~A3mrlv}~O3cs5N6tLumr;JNedw<2D6JAv;w~o-mqTrZVL8Flc5p1{uS-@Q zSP0g*^uPi9Rmw*RMtvwI3TpU^ZsHaJ;wZIt56jz1@6OrB%FFiS@2tDeNm7BY2!AXvRIBdWMBNY_zJ-W8({ot0Z^EqUtbA}Yl{2uJTh{ML_THjj zo=27yd>)kkz{(bzvSwrVpDdl&hlJ=I++4BIp&hpfk-dm+5hyjsXz0axIP~$TYAlNs zi|FYV8?UAdRoa|!M@yMJ9yJ<$lTiU-q#;al5T8u|++J9~7}e97H_kwf91L79nD!|c zA8Ot}Yxzxq7~bnGt>u-a(n z02FM!afWG-%yBO;{`L_EDPo*)IL69y{bKnR;sna!%{WQ+>wU2}ig+_3V%)&W0yv3t zjW}e_RQ1_*EUGQWB1CEA`SjRVLh75hxm=V1FYq!pc%N0$f!8BHD-@7y*uD- zV2|;lSB_bm?J-VRG73GTJw{5wQrKfWcz+IlU@~9-Zhl1pD44xq@HxOdWqyUe+4wCy zCp2x3vGKUp+hY`?CdW{lZ-`i^h8O$@jN|Ngp7-^MX zJ+C`@v2aOA(nS0VN>rC&KJq7F>KfheerWJexwU@^R<8-X`5uu6f`l_b zq7~NjA{icIxEGPKhWhw+njcYvE;j>GfG4A%?n|5h<#Ww2|?WQZJ}j%>aprl@;X{8y(WPL^b(Ro^B#jfy3!#!pbx` zMyV&JM2p|gPN)y`Sl(BN7$wF(-dtM0Z*{V_^YivpDY$*|E{Uh0&NWh49@AWdM^#@_ za;0;Wa7!MX@Pu0WF~dKpHLgtv&V%cV(O_;Sfvri`E5;?M`D@@jxG$`ai|DQVv;4R8 zLxF1-1cy&DF2k+3Ti=Dx&w_7P%HBmSMFHPmVfz{M?1547ZZ&Z2el<97;#7(x?%n1N zy8c=OqvT+xht>KjHBhpXdeh0CU||~lLBgGnw*#b@yCK-z8GfV2RZo@|btr1k)eFsZ z$MadJC_@dFAhw_=@Y<*uCH8Y??10q$#)vvx$Je+P;EFy8I#{18_qm=!(HblS z&!YeWN*yKGusqKhPPoXLx2g;B1@2vdR*(($FBtDEIGuE^Am6X*S0Gl<2ID`x%YZ3z z;M!*k_tn_Eo&CGfH`KA{9%wxvDb0Hl#G{p$FR6b%59Nx2gSOy%z4171fmMBky04Vn zMzZ&KUOd1@I2xaKZCj!;qU0$pSvJK{YKto%GS9xPd4{4*80_JIN|I1*^~s!{Z+ z(BSg)Rr5C(_8Mq}<3Vg{Z1zl~RYcnr7}IQ54FHyJ7{+vI~Oz((W7F3;9$ z7Fz_cf+f!yi=Z3=7@yS~4+uWef^n6Akg<0=cre88yNiUPMS2zZ`Uv9_T2bn0rZ zCf7E_?pmO9b?pS&!aB=^v&9J2*jFL|!fp;FZBDzf;OH*pV!728d%;czAy`X&;B zj@DF&1HIr})Oy-eH_5@EzS570>5N)mAXbc?zUO&!rIcmQ!Y3yw6HX!^T{)6Z52oK( z!Fhpwx?;z5jnWmzTtpT@IEnu#T`8Nu`KyrMr$G**8vnYS6GdxwaK5!h`$1x&-1rJ< z4HWDla~*~J7Va>}IUDA5>2ok$rE3Uc(_C27Ll!x|Ws%ntSMuU)bRRq&K>88usi464 zzMbmzq9S)%~P2 zl|~v4uD7fDUs>`eD=Q&=P79!MS<+c034ceEu$YsN1al(1XJk_o^YINaXsS4 zL0kjuRc*8GhG6IvY%@Y`IlszK-r^=%i=3gN#r5G-7yQhiSJTw`b#yr+rUC-qj=UCeGO?$N4K8rVKUDHu_e{NW1vyOga5PiSGZs^t zR?eE8D^N}3%kk!yzlkrfZHs(4xSM5sXYhzx2!Sgp%pABqAlZwfFiT+Mg>ij&FxTld z=sdb(cBOm(Q9!>$b=^WX)WjSVD_bf`OG#7U-=)^`AcQuDWE2#57Ay= zrOR%Zgy6w>CLxghAR+h=3rrA#Wh4Zi;7i>9K&3b2{!(3`YYvgP=T{r zZ0X6N>3HFy7OM)&n&$)7ZimYTeXph~Vq<_!bYx@L_wT2%9XRzh2n>w10{R6aR9=R9 z!ZuWU5=c|BbJk1zP4afZli(eEY0HwsDHl{Y=R9ySzJMl9)bwkyA$+CjKAW2RIU5ba*(W>r_IluR&yC--d98 zS()a4iEJT8ayuvvdFEnlF$P$?y`JD-$O0;MpMit_>%pPiBd=UO6aiL?vNJv9A9(Fp zN74YoqvVqnUg{$1Ft;QkdG8bV{>5*Tf`1M@4`YS({K zjZh5+`KAVfyh(Bgf=Oss4T>ykU_P}D-NAAux&!3}{HBivzc&rs1o#ae-K(PMj%JJt#`?wsKKN78l%pL4C0urP^a)@=%j+Ir0erbkPVm zYgil*I?=SF630p?s0!81e@ZY!e(vrki#jF5kuyZ#pRA5-NHKW`@0Eymx^C;!^{Ch# zP3?%(e;`%g9!}ABXguaBLm`S5=af-5^Z1QEn6o=D8_a!B=kbMmQUSQxJfr>^k{lQM?I-6=!ITgt>Ze2**A)u1_mGVMk-lo{BkTR3hH*0QgMtq5zL?(08`V|4K-5;`_he$!m0t(lx#29+RQlOSn_8HnEJUhfnksTQ*ui>vp(m-CAD`i*W z(O(DR_Z1N%;Iq2}_ky2FfARl#tS+C$Om>%D=~_&0ka<=+zw$7eu9|ma*=}LKT&_(V)%P* zk`p^0x%6rdsV?#lP|6w4QgC=;2FM@p$&j}zYWT)TT2CJ~hMUCN?<{tWZi4X)+xZf^ zzZietXz`4K+3pPuLtfR44nt6gDP~h+*h;``WsHlPDZ*Yd@gN;yM>=4ScHmmpiY+U8 zrcS|``cCUiZDFIwFt)*_1IRcF-6Arc4T6qyx|_B)Pymk}t2dq(qfp&(yf{`Hkz@6; z*sq_AvyRnikTw^Afe4mV09V`>^-KvO_j?#<2v_ZvAc6+!Hvf*@3o8_2`L#`zyd89add z_CVU^g4wr=vNq3Vh}t}(6J$YHx02ZY&53+k#zMG zVJxH%lc(MYX7=b?$pkJ>r?A6(+0P)LVRD7S(^U5oUO+zw-MKN>H(3~Z8u znG?QgT?Udel^mD-W?beZ)mK5JjKCwOEvfhD4=~$s{dmKvZ&(2wNK#+jrIuIuGSrS$ z!vkpsd+-gCK`q7*E?531PW@#tE!@|^Qi**(@bp5wxr1k{x&~}q;Lo%84O`I|7qfOM zr4D;Q5PIp&<}%z^RcN?Fr^$+_Le<6R@RpkL3KS+F?!eQVMLp%a_!B7KE)z+1(MBy3 zgY##JpCI3iq*;(XnXT*d7xD{sHZU_mJ{!JwaP?z~%|Lr@+l(8nP1t$%GNZ{363c)7 zHmhP=_k9=W8ynz$;rmxIHf=3@(;7+adIM#Sihg^?5(+hWs zn>~Cfgc>+5o(haFH(;y-KPxPp1HBOJF|;$NV0L~yA9MBrv@bd+6*Ipd&|Y7 zo;sW`qW}ypcU!iW#>4nfs4Ry|qaaBbW#~gOmZfj?L0GzYx-gZ54Z{~ zNV<6*IK@G;AS3bZBWF=y4DLmtGQ-YY_uixG6Cn$vlnjl-8r!ZZgI`nqU)v|c&*gBiwNnuB zVZRR-64k~#^C&s-DgtbA2!TdHc##@};{ukzRbDsMKO?&s6`_l$=@mD`sGU4|jq!vm zi#vrKqIj53Y;*FtTJTbYvwGR`X>x)`zs>Y%@-ptPq)(H}$NlHS#9jV-NcV(;cz`< zMpX9&s&kMzcX`Hb!zm=2YYE9l^RB;!ScrLs0xbj+Z_zScr;ONeKrs%_wfJiEmCtkd z+*>>kSB?DZnE}e>eehsfrmr`OMpBGH;aqHGpYD%V_MUtemAx*WQQ3#rnU%eRhe&1n zM=Y){ol9i`u0vJ}gWnc?v^O_dvE$Z6zcOl6g{40gZP=|O{!%-KKZ5~$SBTg%> zd>r3qWZN|d+V%EUdKKdOyNr`SL=paNj4>Yec)jL;zNs(tyba%Y8hjlt$8e^5t`>6! zu}2NAmm{^~36*;SGg0vfoA+ea8>z38Ro_^f?<2FijmAB&7cmd9ppOu$&c(k+@o$0D zOgJds>T6nDdqA)jpI=qJQtX19CIP8qZ&sFZ&IKxaf&?ViAnD;j%QdXsp%eQ zo|Vi6F)R^uTio?Nss(#Mss*~eTHL~Hh6=}Paxh%8p(s%hQQ^3i;OL&&Y9OsYPI9yT z?}O5$6;NGgz;@h^E-2FX6zMxLw%CC{U!@RfbUMZ^;u$_B-e7QwU0HsjCMfw9W%-a~ zN!0n65`9dKKBh$<)1!~=qK_HoBTm+NYVUO(eMqLX|HtK1g_^q79X$ROPNgR})28X& zJ-B9aBj&nv1u$Ii1Pid68mHrBrM!?^ zqV8Fs`a`e<#IFubMWv_){ea>xHc@?(L?sG`xe?-*YA70%d!RZ^EfntLkhvh0&Xmy~ zK4Ld)`qFL$F74a_*Ct$j;l{lHp+3m7hYK z2Z5Ji6Eb)ms|xBSo3&LIGos~h(^gr03Y7e}Da$J`$9zJ@YV%RZ4yvTM>Gf?;oblEwNYmgzz~dy#1MD?Leo>kPI!u- zGKj0b+Le(Mng#piK3D`(P%4Tm zD7(R!xswajg@01YaT?*XnC$D4Uk|C%O=jA0f?y!iC^I1i z>)KQU2UdIjO4U_WM=WU1&y0V3^h`YjZo7)~d!KXbzHKy}`vW=-D)Xp2m6Qg^#oH^O z4~DFpiAEi?U@?G`*cGqiU;~%;4Q_H zch;{i0^0+U>bgU9WKucISCd~KT67S*qUi1)o&kj@UBm4%Dj>T?cncY93`jC|Plkmr zgnJk9o#oa; zLfGCFEJ2NHF3Pabqx{9-&-SAsvqI%4f{yee;p`!9$!c~@e~$PnDGRh5(szt3Am`OBsoOrKYZG61sM|9$Co=#zpD$;>FPF@^3D?{ygd5Ec=O#8jz zdKxr@FHx4SQ}buVuAZdUF{uYY#{G;^Wi zUJU6`Ary&oFs*9vgaw@j;)e<@X`OL?V%C3KStlXucw{|QW_6oc#~W{SGP6DZ`tlHqra7}y_wHm?Mgzvo^kCa8C|V>@9q+#sF%Ko^O^-61UKTJ><3w42iAKOGaFtnLo+vO&7BE-sJLWvFz-X&Lj#*%tD6mi# zF#GVfP0j-goMjc*|F-P(W>KI*7C2dUdioiKL=7ey`!dW$pR)wFUnzMqOrN1 zIZ6x70?R~!g|dK&t^YFTfdv*=1@15lY!(G7WC0Uf|1JwK(YW0zaIslnuPCrf7C26J zx=I#cqA}1a(Ag|tPZRTiznBMehq_x9NJ65~$tv*no922D1+wA_sFIK|(ReG}?DP_| zK(Q!LC<~Y%)thvQ1r}Qc?lB8Y5(UP~0w(o-Jw?s~3*2oL(98n!M1fhdKyTUUFH=PU zCK{?$Ak!?cOcYos3z(Fz=yZYJOfc>S^See+E7v9CvM1R9Yi?B!CganYm) z!hkq=!jO9-@&v}3(0O4!IuCYvcI-x~{<}>6z)a(ksQwrPUs?3NCN&_9yRH;kw6KGY zm>g#rzg+=AnzW?xZB%LShg#jiCm#c^fm#>hM{~RlzjAnR2TcpEPn2Fo{LI{id8O0R zlG2isl>2{=Jo@xJp?c@1=A9x4KyIbf%KVSpv3GJ`H!kF}D0={0IOb5aTcG6Nj*Zfe zM}>_-Vth)DMbYn&+&G~-*df|k}_Xn^}T7A zQLzxp*>%FLK`)$n>4KovxUrv9G0rmWv9E?F23kwT4bHvK!J_abZau6g=NcTC9o5PM zZz2Kqt1->nS77v$!d=)rltR7f0@^{r;~{ulZ(I@u;19=J0KA`1-Nm}1f(fDz6X1@@ zG;~A~DtRqp=(x%FX2H|-^|epIYObC(o)8-7SLSh${sgZG4WO=B4yfyKg|go8UA?rv z$gx+szZgZs!aS51!J@Y`R`fv>B{p!%%Xiu*cvMe*R*vlH5~lr!SlwFeg(yK!073(n{Y-1?M4&GC(Qq^=mV zyp{#ZNZjiU&4f@Z#zHL1lyfO%H1IGjP_iQCVKsTE#GZ(x#p$9dLQO1WS`X67Eu`QUC|nTM2dOT2AP)8PO0Z5!ZrXFiXc{VW~RYvXxE{ zPoKdD2*i36@Ik6a=^i9|Q;ts%>)r1MQs^Udj2<;hxS-mbMhjCM?4e1@{Tbuwsg1&rw(|ve zi-gbfioo3qKi?oq4O>~(TbAIaVaHR4? zm+_L&jV50OJVXNNk5tn?)8M@ZI6#Y+CosqeQeZ5F{S&Sqm9lwEfJHA%XhE3*U8sWu zdtO}1bE5Gwe%3U4wpGvdo>8{eJJ>Wwt~E*@gR`Pk>V=7WL@zEr1>y;HRab8(#4gaGwn8lc>#(Nzt`>eBa$-8XV)tum^EBy!4re>LII5YUL zSi=XCr*@{}fAASk4O?0t9tX*C7HD<)_-VYZ5*k$&^JiK=!C`=CWd>Topz;DGPk1)_ zOc*%P!w5)zS98yRJ+0|{N?Fc|pph_%ml$dxm!R3}(lxWt`PL&;3u8=tllr7rz)5VD zQ#a^G?=xcCGBL>Te)LiYYm8F+NZ*!9`6Kw4|CaC;TQK?@Zx@L)eSS@@6dEUo1ZP^# zf`T($cQywA{IP#pPL}T~VkC>@04Z}`Ap3yPf%~?P=EKYA%ZPqLBq~s${VDX{#;!)b z^cS!clcZsDRa5yyIU--AWDEUo>9ggp>J8&%p3`Blf^~9D=;f3q&eV;Zf5bS#VP9kC zpGnsFr!VeP!H(>&hA%c%zZ7SXLBN#9Y~XF6oyMhnxj3JIIZY?R47LGRiwdS?YKm)T z_&niwsX>zy&*{Gs|>6y6yD}T$k9BxZg(_Ct&1`P~& zO(PGa>R0ms7RwmxK3v`55GL*i1J}YwS~b;Mdcws3w3K|i!AspY=y)>mt^X@kqb=b*nqU55`YrE3ZWY-1zf|CHj@Ip0rIMA(1-5*jb4}yHspUx#}>So95$^#z) z?Z8%6Ws{#2!}@dvhqaEHC+m%i9s$k^s__5LWb$U}rB0>bYt0HAmZ^4F5Jv1b1qK~r$dM60^~J8ToD+34pr<7fSt`lU_zoJrh9ukaC+7VD}qOTfbYZuptPC_Cq zPghxJ^TlOwRRsV-X=ZWb1yMpc6*%;-#WWNzH!zstSL7(Z#HASlve9vz`bUi6%-%x< zIL1U#pE-hGJZz2NlV?OmaEMEc;Edo9+&ecig#F-Dw$UNH?a$^AHZk^xV1?Oe!G2aj zYwX+kt5aG(_}Liz&`d0H=|J_&bd&K@X4i_r!HRsvIPoXKO+eWaB!z+B#rTuoz6(dgGnB0C=wecmM&$Y6IiaI|6XFS;uM=v49@l zZ7Hl?eX4Wc1Hy5FQqIArVlK{9_y@&>(a>Yog1;6LCdX#)C}=psfvBoqpawdSmx4n0 zLpD@t^jQZ)3O>XNjGpp&4xhV;XIN^U-j5kZ*o>3#VCryhH1bbFs_xqqSJ#fU(Ym(E zXHi$Rct%~X=bLrCf`>?5yR#P8J4=P{Oe%zHaHELn`Cxu( zjU^A!1?8%6S`ns(G(G6)g-xY9sOnj2@WP}l@+q+Wg%eE}AISNz>~~#CqVX;^3{Q7Z zawQCo0OS#I95`FSk_^LFguRe8=_O|gH4(IQmht%$?77@|o(Mtn^c*^t)q+6^lCY`S z)c%*+sW*GF>UY{~;r7@zYK&#SdqxnO$SMB~h=gKLiPCwT@(oKw^AzSF)}B=0QzlI0 zL2vKF_IQ@h6SE>L`4iU=1}h?eT5rq@M$qe>WDC7cKP`e@FBgg`Th)h;f1A*Un?MY# zK9o*3MTy<8>tJgYQpmu)HKrs|tdIQ|A!WJmIm>`K!=pnIaW95{y-_|C&L?%BLWaK- zh?x&lnSuR!!Ymj1Ku&*ss^b4G#w4cGij>?5S7Um$DY$c{*2EH0n7w%W!^N;O&`tvm z15KcydZ!Jp!JzB~W#hn|5M%a-dZx{Ib}B5G34!LX&cj+#!gi?zlwkxm(I22sae^EG z)Hkv16~QTWlzqP@LX@(=Zj%*pw%n8%4W z7$K33)|b#zAgQAEFX^t7X_ysyRfY$^VeIj$rh5FMFQLbwQ&1F?u!fTaTYjjQWoWtU zw3XI=tU+UVf5@#@k+G2~%$K-RE8P0TLbq@|{EC*lUS^8tFu(*2KL`KLb%Dq2h<{d> za1=|+uLw)2Ywl*f%IyFGJcEIa<{XbVL_x7~=Hb;7OiT4RUiMz8>929e>68yik#4y4 z=@4htc>B47lOV&o@QYI<{%C=zyEN$VLe~qLVjGRVe}IG<)2s!DY)5|IPIlNGU@v^I za4N|VHtrsMqX%8pUxPhNfzcnM<<@W8FG%&n2q0|o7AX~QbO_DW+xCMzWEhWU@r&?p z2(21oq{o*g3iZ0ZL?y1Vl-owz~F?nj<)WW64*t?E2lvHY&m>V>mK3jIh)-K z!bBYPHZ2fKec-=F(W|9{%dzjrMgSv#^XQerw|MEt6<8VxT6hyc>xDP_7q2r9qGe(Q ziOV>g{I4IoxPD(@W{R(a(9a451*-*iMUx-wJmTT?r+CG!Sr&EThtPC{2O^rIoRs7{ zyY%iJS3y5u3S@?womQ4xpkc~S-v0-?ByaoDd&KvtICgDD0%9M4#LuN9QTs|9XZ?K6 z9*(U=S-zLgJ?0pqszA0RA zZ8Sdr$us<*>VJ^z$paPGgTci*b#%p0bHl3tWt>Alfk&b3IEU_0%Rlj+G*8u!6V-0P z@k9-Rn9(QR*N7J$On-NRB?baGut21&2U4L4rqLam?haU#<=bhf(s8^0b77S!BtR!N zkO1*Aae}HpD0>6)2;)`An%G50EiMh5@K_Z@d~4(o@&$;APCHMMK+ZErAe0Lx=E1rX zeu#ulz)=$!9nrcf!iZ$TvJb+hJXr9-HMf(va=`eq3#GvTQXrVJ9I`x$_r`O! zv((_+X=uuL$PD z7ch+cHI@zq3__08vRJwhMwkpufQVqUA9C|H0?yg=&qOS?PT;w_I#-OxoP`yv+H_n2 zgxfh+kP&gGIt$$3IBueQDa_L(4%W;*1n+iKP^W@PDWv!j3uJT--Bsg?{){ol(Z$dW zySUEClaMd`-F(6fH;ci+@X-6RZ>L*FW{UbIaB#8cXTso1jQt2$n89>T-v(QNIgp_m zzh~S7|C$1t!HgT*a(@$syTNPV(ww+T76PlbqaKdtDW@wd;X3IlJ_IL+&QQQK(t^!jHqrrBw&Ve)D>Wj`Cl(unPwZG z!{Y-1y|LHTB@fO-w{$FePz_z!) zYH!Q^e+j_fPKI&N6pFnQsLzHC zKlbus{c!uSlS#BZMZAG~RqX8=_&i>%io++ob>wcL1(J30%tYT!j~lfRi%5?f;HYYi z;?Cqh(-6kV!40TD(7IsSeqM58OCwtrrFC=fYAvndiuqRHUD&A&@a~-Yy~De=V;kV@ z`~AaP*cN#2^R;Ds3wbRIUdL(2T^(eo5R`oe>&X-LE*+5cxvKP`8S>p}pDUxQlq=UV zVI4MQk+AM_Wo)I=H+kw*A~d+sDF^^|yzt`??iL{l3N~%5{M4;R{bG6*fX|BlNsxhK z+Xp5Kr#sVZasI-`+9ZpsL$mS}x4zzuV~8;ZO7{?C`oOn|GScTqUfUV2ruv(7)cd=c zARlgj3p!y-`8NA&UvjkP_nhm%7aVSXFIw;|_cv?t(eCex5oE&;6Q31^qdFS%3%S7B z(L9HxU=4$5rYrl{T^8T}c7^%9O0hd_O4mWQm|Ym(x3o|`8H$dg{wB)b+2A|8?`oOw zzB?>4rX`bK3#PwO(tLeqH~8LseNHQX6a7EQg0G415qO&TuC*|Jk@0Dw{MjwE-_?S@ ziSa$Zh4R<6P<~5;@6C^A|544)PvG*z@6Ffugq6RE@wwZAuZiywc$)bBR15G%#;39J zWr$n(yd7M2=&jVn^$pNoQxY5Kb;?`ZnFD1S=R z-vxY!Qkv|a?0*a2UugQffbVxre;4&nZ}fXrQj#PL=HHgy-MXM~@He0Zzy=q?Mhdab zifzJ_Nv+qARvWUTskmCBFRd!SIr+%S&uhATV*i?ihhu8>r?Bbz=y*ZbY@yyy$`dr- z{gt-RpJvvJA)sIl-jpahEM!K>Tj4NVC}fI-#$^YV!iOJ4SPhXM!$w9e?r4MK9=xLI zCqw?O8fot@si(lY*3eS8`|mBCmQx47eMqC2tSe$z7+)ezEM#}*s`@y)eg$OKaOtiF z_3>aCjZEl=;9G2%!92rJ4rTx+901Pq4n$k6mn{o;DG$gJFalEa8A^TVMxJpQZr>>b zE(3^A>KaH;z4xSdfN+TsxrH5rvK*Q*9U*sAq-9BGfR~oPH5`qg_2=8j*p1Ajs0y7d zt&CGYIN4G^V3@G#B%uLo>ZuC#Ok==Aj#T2eD2BG}NyrDmzhnCsUiS*2UuyV&!x2}? zJ|GT3w;G%_opI_@Fq71@2H%b0nW@GEcI`yzY2V*);E~G;?#j%NHy0bX?PH%A#KkfD zF^(Fp3qo@_$!00vv3L|zy?F%M~-ash8ISR6Gjyw?s zk|Fq6H<1XNhQxPbkg88o^#|;L(~4k&_!f@>EGyD%5m6g%sEh$$$^k1-&0w>*fX!QV z@++vdWruPCq}I5`(l;9?O=L4yW+MEDKt`;ZLXJIUT3O>lZiGLk-bNIuP0bB~)Yj!c zFG$uK8-EVn*r9er&lF1+x_I$*y?HK2`#u|u-tW+n z)A8@)K362&j^Cuz-n`o0S6Jt`J! zN7nsj&qnJ0`aaa%)OCQQ=O$|ZR9y0CHod!1945u^p00N{b;yU?i~(mn19cg81%WNF z;A}?UD~JLl%uUi{Yd>!Y6yE$YY~=6>wl@u*BkO!AGEmP#fQ6?mZ^cQ(gH;`8*Ux>C_!@i|t1EQZBD!<lboI-$nib3Ge5a??Fse zOp_2K|G3`u_%(~G^VsfSypFxcOz*MrIED{D>h%GBAf+*WKyUzqqRhacC^Il9$_xyO zG6RFsBYeRi!4t?DGR#!$ZFz!I=v@&vUa@PbvFBs(Np|eNb^IV1$icmkmzbUJc^JNJdcx~`V`vgdi`ECr8vX~h?Z)ft!}>O!a@6X3 za~|rOdGzZ01?xMn#rk+2;(d3f@SZPKx3VyzIdGQT4T|a1;L3G^C;W^yXwhxTrM*%fi1L8a_>Ro^HmskI&sn4fcRY>Q&>l>!Ai87@MU9 zhl&#wyE_5T9d3X;(es=Wc_wN@mO5k@fzv;@; zt(xCi>)}P~@aFeohW>5c{2qs_t)1Vlw_3_ihc{(yDs`0Sw_}j@aNouJj)XN{Yu0aR z9Y@|=)t#$M3Le|#K@8nARNqwlp5!F+7R-6fM0+`9RL?zMt^6j{ z@Snr$Y#0pC07yR$1_*B4g}Gsz?XS#0uqoK@U2gLzLu);_-0e-%EF3R-`CqUs%+R0(H93aW)`xwR3M@Uy8BK5!>^7pQ|%3mld&(5dGyuH|T?%=UwLaJwB(Bw`*~HZa|QvwvI@A{g^5PExf4+XZHRCgQ z=yyLpn?Ir+?e~p8@4VHT@##I}NXI9le-0k}GpfQD@I)R}g@^Y9kzGToggCLVS97wO6G9dQ#R~@~4VeVR{6U%t&+VJgg+RFkMMyKz%y~np5 zUjHta;|Z3dJ-LF5g|ba648=|%S8x^@rIot0h9y5B6n~8A&eqZ?OTXyw+W+h8jkkZO z@VjaMtR~u@-s<-0F8P!g`y*(`@Eq!|vT1%J*|#^|nqtF-A6kAyDc3ilCg~AF_q3ck~m(YdG$y8(VPg=`}H3eS^;7e~6e5*chEqwEtQ^2bU z)a<($KP>;1rd|m=Xtff&tX6}!?>`oJ`7MHX`0&hQE3KN&n#2kTJj zg0It|cBq4?m0za{pE8c^$^-wx$=*%-LG2|=uS|37P-cIMbfFGb9j6W!raIU;xFQcj z9W2b_bw}YHaFg-=NNO9X0f;V!f{hvqtFlkLXKId5mDztpT`D|}()AhwPg!{&P$JW36`U)vDv2sd+}1mnbbj zuH1LLJ?Ljw=|!VNwj5s{s|x=eYGXK{ziMoIky6TWw(t|i^5Nf!*1->Cz8-~(qL$}t z!S#?Lnsa(|=j#jyEuY#vU!Njgf;nGbJ=VsRow@&exY6_|5o>VGjC?zgqd*Y{(tcKFnLG6?yBnU>guZMs!AkAf~%Dm zF+W%Hl?L%tNm+B6%J z*5Tg-o^K(6=+NihF3o@^m9!91+Ji=O3Fyq(gN~8tbO!BDe`;QPL`gb*tBycgA28k@ zPczcVBpaBA&S7fh@Dv3hw#s*;h}$?{nBso%{>udaWupJGh5xdpa!G%zvNgkw02(}` z@ewKBD?%C{waMorEL%bi@*~-EcKYHOOI&!*sdAWYatB*>p3#9L88IHDW2(ePSB-zn z%Ws8>L%!`OemdarjiZe%C(nqyQ7F9!M>&wIR^EU}$VmE?Q%(G}mE>KG%aWgI=HjE( z6!sy&?@OiE$^KRL^EbLW!7cHNcwekWc+5i4vbwuAOMn5+h^orv#rGC^S;A!}l<}y3 z9L5H!tF2QTxsnGf$)H9nDReX$2;j~O@^4YAzn-f9=cOmCep55+-?IYsTOzCDy(i2vWJ1>5qbedPTv1>^h|r}EIs+4 zJVoR4<2TRJGfH|=yqd7{ecIA9L{B@;w1G(i5bkhjb#}$7K>UcjBgkEV9Oe!!i4qz= zKhe~mN(k%L|NLpLzt3r|fBPFz(#LeG5(0py5&yv^AHf+1!?Y=&5Lt6b+lABnNJNWF z?QGv#oSKy%hJ?|eWM`pZ-mVEeJ4+t2v#fl50PH(|+$YIhl^MdFD{~{D+CYDH zmOLd6II5Q9^>*iY)JeJEDQWQ9RPzX=!l5{fFt@0;kuMNUxJ z>NUxJ>NUxJ>NPS@!k_TdIBM~t+A0jr(6g0X7o3_|IgAVEaA@5CoF0B3-HGw=G)Bq zJjGSIT`q!5+-R34K+^vPCqUr5Yb`rw920MsjW}6mU4H2$7f<_Y?hiF~gc|AY-wOEj z+x-piBp7j$OzfIA*mK-tzD2?~?EeR3Nb)#rpD=~$i02k#5)s?Qc6GNTcdC-Sm{Tw# zJ8#1|HdjIw9cUXhOUl_!`>FMmH!p_ItU5;t@>>b0z=v(}SU61GXtb97Y8;b5aaSez zfmCbGfs$mKypEaJYsl8^fGX@f?6l~F9BTC}lw7xpFE9~1sCC_7Lnb=|G6Rz$zNPpO z@Ap`pg)tr+ST8~PFTiV+*NL=S@Q^?hltMG2pq!%UuAzNJ`)?p#R;g$cqrF%2bMb7@ zI5}vTPU+k!C@v2Kiys^1Z+Se;#BLyKr|TItF?0dhGu$XlE9JF3IkcCOL(fdYmYcQB z!>Z?+S&g?WR$Q0U_0MozkX$!OED;JXTqLn$P#q}=ooiX=1$c@LY!-#8@l{sIKN6L_ zEv|WG6>4S6PzSGUiMFy0uP*dXl_}aSsR1OpjDwEac}!-ku<}&?gr7MGC2g~w2zsJo z(mTjIt5{qGBIU|}0GgBll2Tw&PS@pc5J}`xDuZ?54-_Ltjk)q#Ie}B zLgH1`vTy&Xp%i~TOZ)mmye{LoW6YQFx&sjBPnvaUMr-Rp$l zGXjWe%4rE4k!q873?DmjJ{)VtYH&;n!Ev$nb^R+E9I00oM4N$@udiu65b<(Ji*$s2 zfsD9NV#9Z(`>SL;Mz3k2PGc>vWy`OB1L)111rmthvlR519esi1DvDjLM4SeTF@eqb zqR;Y6*sLQGqkQn0ZWXK;%o5@uoQxh#vgYhHOnZ(x0NgT<##8}i3oNp}e_KBPmq=`M zl(1hQUpda_*&%M$NHQwfZUfV`%j;Q5cd}sT!@j!-2Y{urBe7%bNCORPj@?Khp;IO2 z0HFJ!)!D)(+wn;&JC3Te_m`k=%hrIQ?k#zl@(vc!^aXDKD8voL;ocF2m~F1M`*Yz{ zD%YNjp&PS^GW}4BpSG6Zlqh(arKI^GH&cI_AFT${M@oL7sqX_o7nm~WSZWsJ4hzfvorGER~BMBS4Tli|>=iriEsY(*G#I81&CE~`jRj)(3pq0%lV zS0godwGAhHu%2(E{GvX49CUT9CBJ^u>V#9mnl)BuNBR@kpV8i(rAHve&e9{09>1OZ zJ1PSCxA^4c-_Jtj-{OemU-4mh`Ik8V>6d@85Cj|$iS}Mvrk-OEjKr7tt!0$=-Ga(T zeE%D_?@FBd!T`;A?i0mF34UL8UutX#HUehSqWbGmXOZEZsW#|;d|Vp$cI`difBWrs zJfuk~1ZN({#EQV2{ZslO|7JyeNjC%(Nsu6KO45=k26eC>+6_aEfA9f{A zC&y}X_;B8cM~|T{JdQs?K5KHVR8=1*;hn4ZhXgGp1(3@6UKvx;c{w>_vG=P;Xv0Hi zLOcFfPHtDWKi&+dW>R@M6P8Qf{-~0t(opsh=IE37sl>tGNb!#?xe)lrNn2SE`Xd&< zu0`L{B>G5d+64A1EA_C4T|!_FqJWI27X3~2?JiVP;c}`(N{{g4p=e>#;{juVlmO)D z=;p(z35qOUrALw9^?0}mX(~0-A!IxRppVhi1om&N)WiPtjt3k0M&T4i_RU5|GPlX% zFuNIf9qQL2Lz8CWD3|{6q6T)b$uR%ov_Tf-RhLPzzMi${@EV9xDXmb0CW9;B>;jU! z{}MaqLeeb3kj|&I4d*FrPG!LJtr_+$S7c$|^3iI&_JbiJ{fpSxD(gY;J)Ph4`;cNY zJTAqz=5(VB;q7SMtY3FEwqyK=jqBW|4oV1r7oSgR*!upx4(bA4U*>&HIiW;a-{1Dq zzK@RRb?Dp_T_UaTiEC7R{(JRxsU}$#)YDAssReAL+j^1%ZZa3ftD_~eQd&OSm(QZN(-gN!QpCzFCfw&nR_|f zW|@2P97y%&#J%qIt&cP|d^Z?e&A1P6@xb>{-v{|SW1n7wnj@Kb@<^IZ3o{Y-jG@SzRF;XGqevJ-@)a@e9f$caRT1BDrtAJ zSGquHC(LY3stdz?e|Lo6M+(me--CUf1U!=>{N4|b{`ffE@6mtRhnwhsY$UR{XpR6d z9Z)!#7luGUU1!Cb9+*xC@^kxuXQ%s~$JfEwRlx{uFZlh5?)^21865Tf3GlbkL{ovK z^~9AJdq|{4k||-5WxJXzKHlm6Z`=A>zd-9RDU%5GXPlyJ~uX;#M=WY z5suz*Qq$$vlAu{ExlI+6F+*||U~Co};qoaT}9>eZ1`7Kh+*E!!$BMSpX`%K5* z7||BY5ja=zC;rOjnwIt~6>&W)io$f4&c2M{2V&Z>)T2~SHJK~IvZ>h z>2%QRCP{{=j{E!#(J8rPzOATc&!oJ8^G7~M4GEHD z1jn(!ufnv)Z8sFW^~mxG)aaGeC|SalcDqP2QgBwYW5Yl+SK`M9X+XszgXwO+H!7ee z3s7W`2*RrJ?5-6zP^)kJeW7=0th;}DA=E2eI1ZZdLFFf_<%dUBez018WMt(pRLkEP zS^4i@RN%iWvhpj{@^?p8{?BUpdm<}8TrGcZxbpdme+9Xrxkjh$l%{^$fS!=tmUjhz znVV*!Z{@`7t;1ua%(ar!g0b+6O|EBOez*`BE{oGG(+`zAdavQ(#9uFm3Cl3WQkz>| zvdZEbfP5|I^c&U}EWy5tCFK(*aOJPE${(@{BR@x&zXMxf>E+88ArFnqC9I;BnP_(g+drAc zv}J}hXZjrA=ug6Hb3Qm5hQ@iQX~BDN2a9nQE^&>GEu8|%y>;o7UNH`Xyxr55u6R~s zM;uZj!}PlAr^O(^K34ZAh)B)vK=;=I{=GKW)f1+X7iGyRS`%@8&m9n7!j(Lg>uW4- zISwnj>y`v~6Iqe|+R>T_iQ(n;>~dT7W6q$GNrxqu1qZ$@L>mJtJwOux?HyoSE3n3p z&yPvUzAa61^pY+6;a=z(1pUuM*vRROjM<3mRGafke06}$!xvH+_;H5EfHAP2`^K=& z?Lk#uvz(8>8ruMe%WhyTTA+H4g`AH}PL%W6W#7vVBrft|h0N#y@PaYdpzQOPf<`+s zd@(Vb#`p6D(c-%VUxea&nNb(t&Ol5DUvI)94A8qnyIF(m>FM8tuSSdSDtr-&Zy$p$ zzLx_*Kn=?{5Ges@G-%?_M>_sbNRH26iIyBo@I@#& zE^Dhxj?Qtq&e`hHWjsm90<;@N2 zgXPV!Yl7s>KX(h2H@Dra$eVKpY2?kU7R{G8V(b#Aoy-h?kg@m-&w zi|;!}bn%^s$2#(6)qf%tw@#hBS^7e>1Q?7jLJ6=gUY7v>Zqy~f-|<*S-mLs8QUaVV zdGnFKMN5tw@I@#&-igyC$E$~R$uSd;ee&kyH-hEOjs-q>b6Qt|kIS1EKdO~CkNl}= zd2`ppZ^36(eR9H_{f=_ZZ5Sq*Ck zv^&kxZ$3Rn$eYs;vxS=1l{eQUhsv8R??1)z<}Z6AlQ*~VauLa!3s5u~dGqD3!G5&z z=DnyONWa-VK!)q_@~M+ITRaklyxI64fU1=@-`f)^Z~h?w)+zrub@Jx_7Dp&=&UyGu z$eRbBiFW;2g)c(apFYP>PpE$LvV*$oj{%QK-t2Y8<;~cr@vZ%f9=-#P>f+m{K^Na{ zc>LSQo9zL8bo%SPPwU}(`!Blq4mhBT?-h8gBX8ckJ5q7$)XAGhpc5Sd_RP{FK>iV3 z0$9G+CBXmSv5vf%w<}TtoGy7Y7RW_Mj@p@e5`)x9{c3YcCQ4>n=jja z@@6Lk!N=vze?6>~H=R#3EpI;b3CWwI`0t(cd-mU13WTFT6!K>Mn;Lm@mrXv%o0V(^f1|Ze-kbz``arU$|Ik;FH6=->!Dh*uAHz1vE*eGh=4RGO zX1d7LUc#zQSE^MV9`iM9+9zD<gVT8r-q~w(*`upY?QR1754?^*seLxrA8DHt*Ta3pvW8rjD!$!P7;tJ=p z+#I`^{gkVSD<83Y$bW;x6%&j9qgGtmHL+=NWz{AUSC-T7*?+%#3Pd3)RienG6dV0q!*A*VxL zxb4HpLgT*X%L`RQguL)J4kM7bqAM@_h@6ul@@EkrSuO!+5srm(B(Ng7wJIYU;ywLmh$mE5w z`KMW4*g7#vemWl?gzmq(e4)!vTkg>1rw!YMyg>9l!}7xC6Qaa-DLx3rxBKV1_;vwe zBsK-Ej53kSzViEkx72*vjr zc(~}u!`(mD#n*_(K6%0WRIt48EYkUMckho_;vrNZ#Ri%h@p4=Ndq_&8Wz5U1u;dExTXQztJZ4311* z=x;yG^1@4xM9EK!@j)m*-M>?ppYGVK%TFuunDh%o-!m*PyjdJ2zNPpe6yL*jy7=zL z*;yTVVGADX$O}I#KlAd!n=sNxwcjqq2Riug(8qt1KK^+88_5e*4@HUZEPN1(Z%ciA z57+48yAO|j@@RC**%2gWFMQ+*k{7f{&dI- zYu}DcUYLt=k;w~VsAPol!kG7h#E{2R#&Pv09QzD4*T6yF`2b@6rMsI88CxD=0l z^1{4FgXM+Z$ndM^7ykJlR3PMq{sXk~!nt=eEiZUqBYEKn{hs~zyQe@D^1_kwV0q!? z=|S?s%FjdPg}6?NyilF2krzf)H(y@3@&+LCNGRe zxya;&epE6-d7pe?iRjGi{H! zc|^4M;{zT1-TL^yua7?-|3>n{NO%QAB_CzrgHU`Itk=bN_ItYcmg2EbUU+y+u)L6P zzE55#`3w~Zd7AL$AB9^Z=;BHJV+&C zVrEe=&r}LS$S!yugApvEfTDyJA#kbO-kE32M0Q*WandAwBBdiXttKGmL!Y;qF*noB35P$wD>b{Y9NHrVMIRe`+J8%tiZYG-&zmj^sB z>BhcA`V53Xr0kTEdtjD;a}XbQ2!D&fWIMcwb3YJcu78q=hFbXOw>F@J7|vEFqRCPk zkATK;bGqM)`N^}204c-~m#s#&?Io;=9QKgd@4@BStKrKME|iWIv_Mc_HBqj}CyoHo zi1bXX(=IcKa!DSv$*rtCkiQn8kEx@rJ*uRt#unBUl(7f@;;lKW4b$4kQ5H#4tPOlH zoq)CW*noh{U_V=>t>2(yr5>x1C3IY(U2gQWvAO!Tw&yh34gDG^pk^vX_^I00!k+WX zxMaz_nyLkZ_ZXz>VvI2{2=l5ub4lG%iDVeCk!>iz@;<%NFzrP|(6hOUyIae?-e+|V zXtZR0>qW z18-(Y@`cj$-Hv-Dd2$jsr{nUl{FS%w=dVbDe!EfX@sU*ag)cgGiU^l`Bf{nGlwAEA zd30OR+z=-_SLT zqR4Dwal7gF9=iUW|Dzs+KrlKjmC{Dvjx`=Rysos$%qkB@DxNQR+*hmotKBs@sq`^$ zF*|j)$sg}j{sc){QrVp)3z3(3BF6ntqvyiXDd25L2XJdDGLW(X{GDWwj@slOk+_-a zajd6x&qM`nhFlz{>}EqAQi(Uw>t3z@xu_#f)Q&iXl*75e z?(Cgr#h6Z_h2K0JshmSNSacn7RZ#ws;Cm1(3E|Qqz}R{q3EEa`*_xKtDo;H4y4^5v zryT?KA#2&uxG^_U4vw;_#zC&+opz)RO0?!wkL_c{_;&V9!^r$qsE^8WqN5VMdZAcA4p5V7EgA)hkXWwBL0!go1H7jTd=wuZ^&O9^**K3`<` zRj=bT*YV0VR>lnbB~=nwG$njMQeOG?6iH5oq_NXc2!^;CeDXX)w_M1pcyc3{WfIaV znzQ2&Pg}kTFA-uJVxd8j2SRLw#OEDsL_YQu_V>e!yuAM?{B8E-(EB$F(+LQNwNzt2gwNlb3jsw zVUV*gVl59y8RUGtGRbp=l(VL!1wHem4U%&SgQP)D8~*0hVkrTF%2P>sEDyjcd^_?- zSMns#NF>_!wT(G3Y98q-!;o$CVjE(4^Tg6ye>4nVZMdSvxM37BA7a~B1pXF0*3-e4 z(#?R3Y-8gk;VB+p#bC)Mk`hjKF$&AYoBx8=e{_#S>|cRPE@=xO{*D2fM`(AS&WAX5 zER>kl=4UiHEFq@^vVy2OC2 zFLW(Afn-b1#TFCs zpzBtMMp6>we$2mC1jF>N_)={(mQF;;X`kW_bHIq%S2C2cf?yNoL|#)lmTwnPbpgJ_ zWFm|(mkKZ)Xr5R>T4z_QGs%-quX9pL+DT5$(+((P^cO-h-|F?|6imQ4nsK;9tNfA_ zF>*i1+<4c|s5VLoy3wMupJ-J|!j{#UhX;d<^(5Z&w_+y?Wf6b;5vOy{MIIaY6YVu;XPkjfby*F{*^RGtWMQc^q3lK7ijazkt<4euy@C=JIol!^rCM^1jY%HgUj<|AANanOG~yX- z0FoPE{m9Lpm}+=p1HKubj7F%9C*GqPa`umDJ^m_s)ITlY!_DQCcobFGveO;6S#l<( zju||@6~Il)9*{7mzZOd%xS6sfQFH=|24g-<`I<19u&TN#M-nzAL$i=032(pj?GZ8L zh!5<*7c|zj6{d5tIcQxWl($~PQTDt|R9vgvEa1RdDIsZ-bx;Mf#5eWD7z#>fOi~^d z;?Wr&su4BFRWqF5b2%zQm7|1~fmVZ2c6ld+BxO8{^;K?2=ssUyvD z8=-I8IBmBh)to&jb!?*Ls!C7hxI`54^fb%;G3xrInGMfWdM-5Q(0h8(aU3s}Y?kpZ z8)XcCsid_63Y-p}1iO5TkvHIY)hh4AbHlXR7*MvH)+Ifu`>8|hnx zO19+ET)A~_wv;-i!}uh5P(rqpHU{f>C3=VS2@28nK%y3+zFu>iLiYdKWPSJ|7@m;w zW!J_y&Ot)3FQ*T{px{e4NdY>k`gr@4|L;j&Qc0c}R1)w1+Eh(=UnSm$`QF(+09)io zZ2G<|I|gZRePyJe`=znIR~-J}d(*90rpS`Sw?T5fwEQisF){cbuqVQ9iEo6sD4L%{ zn<4Cd=uw>J8WNx-MY*Rx$iR_dy##-%XipTs!73+I+U4YGyX*XFCEgS1RuZvE^|Z87 z-gqv(IW9HJt+OSg121AcpGi5Z9UUcSJW}1Q?~h3V^Obpc;m|cSF$yH4n zo}r(xhTLwUr5E$8BQYLHOf=4zv=a?<-sR|#n{#98m`lgElKX?(ni9sGE3)GWZbXI( zFc~F79;w(1Y!u;#aw3BLY({jqRig*QuA#yTH|84L_+aFPu=ep%>wjNL{uZCjz8%43a)sA{PBMTkW zDY0Au9Aho3gaUYD$#+dIV5ho1o&Ev?8-+1eEcP83V&CWtvF<8ACXR;agqzuS@Gg|f z0>;y4CHs`|l*hIELgIijCGzofs_{M5^_@EUy*}-9&@Y7loIu|BZ!6FFZJb|biT*xT zPC`C;=pdj~agxfVUy8rFO_WcX3P@o}MBg5yMh(2&{;kP{3)LNj4@q+O%Ys-1wJrQ_ z;C|8yTw684HsOu4X_JnB0rszTlwMb_-fQ90QgS&}PHLoqzEuLQ5gK`q6e|^~N>h_o4S0F|LmsTOa(|cFY`*Qz#)qe=y z6(BVz+lgbkQE}{1Fa=tv`Yul=`~C0DA4Sn0k5+_25(ZL*fX_8`Bp%jtX-3Xabj#a? z^h|zhT&X+`V(xmj{n91`|)|k@)dA35TOqd5??lYoOfg z`Y#B|AM`yrK{?ppM9RL|=rFR3Da3rqyN35X|E>RLi_o@0^zC2|kiTqc>7>CBTLug* ztcYUcure)#F3_6>DBMYp%9ZWP);wdvC7sI>m^&HsxK0x_>DACvnM8%Tq@i zPV$_i8pJ$ps89=1BhwyzAV}Oza;9iaW-ymoy>L!?;8TsstVKI?mlF;rLe)%^fNZ=r zH7Xt#(kYq;|848*S$G5WQUBl3!wEx^21QIVjr6l=lQn0HVBKkzQ1bpp&9 zI)j67CsVw0_v~ppUs?DD*J{ ziZyG4Rv&Y5OI07^*TR5BYHQW-y5?LqpRL;~6<;mOtFiv&FLTrQC|9$vJmFbf;H#c*?-t5Z4lX>xM8v$fX^vv$snNn^g| z#5?J+8^S-_W@UFIm}(gMNJ1GcACcog0oNT6WdI6J9XK;_xBwoBmGE1aYuJO78xX2& z=Xmhn@gUszbT=aVm)_vI9dxK=OY`Uykux%O~3c|zJV{mJ@xVq9mNRc|KLT?9PE^Q+)$imxsHy@ z^n^?YiIHoZaHK#vXCO3AwW=OQoPr^Z6V6{L$}ojvpJ+>}U@HD_{uX%jO$RPv6j2X3 z@QEAd$eTKU1&3By!%nvLNx`UfC%p!uaNqZ$!>8exfX??CepCAI==jaGtO4lv2 zF!2UDa1;w^-#6abeU}l&Eeyu^dnLo#)I0=okk^|U*L zQM8uNp@7}~-2ryq!-UJ_h~b5y6Iw$Hy-WC@ahXD$sC4g!e<79tbe4vZC?B8jz5e(X z@(uJTnTOzlsI1>u)B{)VCDWQ-y?>DWt79`|=rHSdWbiE;+Vtw30&h`Ox@abRzVU)J z)Tl%M)BRq|H_R56i9k1yI@{b$QfHXeSzVv0{C!0bFG$I7a3$Y!}4WBv;zr$aMu>P!t5g{ zGR$Ix&hU+IC_lKRNZ2#fgUS)xGe~)IvfrnWJ>>?RA4r#aY{ikNMsn1rbC4-Gb&3;u ztGmPCExG8jvD^4G%Kr9zV}+N7On;2u{usag({UONt`ji7)Za2|v6p>*r_Z#bJM^^p zH>3T|O|;*m-)mkr@&xU}14*2h*>t!c5VpPn#}WG`u)a=B*GKqK`}N-*^5MttKNa^UvfmNo zQI6Kr5oft8o&3C#cE1^!hxq>d)Sj=`j)#*S&&~OsFjMh`yaDZKmV~p|=ujuTKi%de z&=R*eba2G+KSZ1ivP{s?ow^%d_aEJv{Bs5L8|~<{B#t0_%Iy%!xgI(jK^BSn|3#T_ z!@&2v`S9GjMq?NG{-+bevk_%{?S{K(dc1Ff8=P-^vWcj0R+HRM;eTPr`|ZDI#yh(_ zg8InTS#L*}Oa%dcFRk`5A%5R0=zY58J-QZL5Ro)uSJ3J&c~dp39qF5!eqVnf5A@t z&~N|fut?jdDZ^bCQ;C=0G|}|khH2A@&^QB~fz+&+f7nw#fI9Np=>mo9&K0CPxq zyy5(DH%T6Xm6tvYK4dP_$@10Rr5<%CkISRo#$U!gA#2#~gP0PK&72Q|k`Lp1v@a~D zG&|R@?h)gprStCxzoQLJ<2MkS2QB20UF-O#Kv!@C)2fJVzxH*+V3co?)b$U1QDV#b z`*{Lx?*>?in{*S_5^@P8OGf=So`5-{g`}zW9$87Dor2rD_>iAxpuL|CgtmA2`hYp9 zZIAPZ10Ek~nri>+Y(0Fd`vu_Z&}sjdZ^Gis+kZH+_8<8`7yq9F@&8^2e)?7I*HybCS zH0KFI+?@AVaRRqnZchKyFfrVi{#RjPpTRz*YFO`4Qjpdfp@XrC7;-$ z3BDF^QZc;KFV?1dUi2e(eBp%A4|`(nsZY1`RCwc8laD?&?plxhPKrl9&L`V)wuSoR zcQDJX0{rny9+TvA$U!W#A410}G*8l13DgKhXvkEM*VE!#ol?H@6H)ey)Tq zJ{f@S%PRefYH{zE5peG-OKs}h>wF(v--+%6+CzPT_f8BYbO*#&P2e(x00gg$#jXm9 zbprH6_o}>rui)7j$Ib;i(YK6<25=O?2K%Bs2*VZdJ$X&zFfWhP)KwFIM2>|+63*H3f(Pw%8dv2#3Q7Tgg5jN%N7Gc#lJon3_qV3k zZ{I#f0(@6}12UjDmGRl+dm3+a~%xK+pJPImD| z;%~ttQ}oAw4?c2iPTbgdoH831kE3>SKOFK+z==&C5A@;7oqOJ&(4=z@=tC|Ca0$T9 zISw11&@I@B-pg_3oESeqIGvn;1>X-5$>-eOg{5jI*|?g}nwbu{V;yZ3bxRFf^dG_c zunJ|+zDw7q@FeOV6m9)Sz>=}uWy7y{-Fs*aftt#d6Sd6y6@ki?6Yj8}^1-QvSFNw> zTZ@9~TXItMt^A*0_(q&meG~r`44)z5`gG-a2v>PD77l`(Ma%$jv8@=a*~Sc(*ug%2 zu^zWCe#yn^!AY#wUg)IxP-(Yf0;m6GHif?>Csg0DH`?g=si{e`Mn?0(__R)a#FtR|oV* zTOYnJQefVo{y6YCQR7tMyX7+#Uy8g$_|8QArwre}Ez#@W8}|qF?*$wq7slVPcSHNv zyRW(U2FJ%oz`k!ybUGM@u3~Y3ac`H!G@~)Pg`K4w##u;mOnG)zcUfGdY zM{DeW%CRXb_3U(8ws38pvv8l}vNYhRFGHn`l5TFV**I7=nj zQsLRRJN*@wDD$@Z7yV*N}UZza-OE zdM=))TI3IN#a0$>`J0#nmVVktqf!YIDb>-gZ2w+SU;39~av9;*=W1(4ba1ZK&UN+M z2Jp79^N(X9xCR^f=9$Qn$4dSVJY;O%I?GQOf%R4fNvtB)@jnPXwUwpCIxgh_C8v8G z=TnO&$@SDMq76PavCBr2ffNeCc88|Y$FYvChIa;};H&m*d?i&3aqJ`Z9VH#5NXzgi zgz^?a2e{;5#*r)Z7EYy0nVZ2!t9%rE4LqE}fVx|N_L$r^Wk^%2s5CQQyU+_~M%T=8 zykI}vwV1*?gRVm|Bw0KgdNDc)D;>It@6^MHM!JOJ{DuOzxkjgL0IzAF*4-Aj%4#wI z0$9z1m#VC$J2s*=L~+aXnq_aUbJ7fi%EBbNJwdAaCXPmP7U^*?4ZtEWBxkcs!~&fq zl|7bX90Lu>c~DJoclW~CWJm7|4++7D4#p7@#2IFCJ~S8&BR}yD%%}Y}r)4j$4}b?H z?)mvGiV`Wzg$ z&2Dw6d_y&t0Pg8x3jme zp}~kes(disGm;NR*y3-`u*%}u=5CM{z_pSbZOirxG{^1{Oe?{0E|}Jz-t{xBtw8oL z`y-6VvtWpD^hO^o5H^Hk#5ff5_cp*xW@E^fB+VFFOL0o4JC>O*|>fgUQtj0W$cES8)A64eI)T;c1TzbGyF1SeLCszo5 zlIfKXJ15CD`B9_QHH0%0=cJi7mwg5pz)TF2dF-3*0gS{>UfYO{TsV(L!iN}`f{|4G zN~dTVF-2zc`O$`2bWYlfdJce*?8h~R<<)Dp6C)|XK|>3MoQ9E9Qh8VYJhVBJ?X+_~ za#-afd@aQ6b=nWBeB>~zDIlJa556TNmYHlhe^NNlZSfKpL6gvUTfjYtlT7N4cEMHh zcc6)u?8q;~MFcJ7m+nw5S$G|+SSZppFLh}Q3nKV0a+AmqA44574(mEP2>hylHP#rJ`*Cl56E<}V> zSb`WPJJ?H^e0Hy=3I8=s_;=Y8yTl_g;a_+waKd}pIBrN*Cj62JCwvig^Q)im34aAm z_}K5ngy%zQ>RK9U>VyZO_bTjhB1RsLkf{EYf&6i=p^T#CK}Emc^B?x_8~*#bgsSh^ z1@S@jPzT9PZeua5@k$z|ZAe0c_@J2Ap+^}C8#^f}bRE`${ZkOHLB!dUzlF3=ih41- zE5z)k$STDtl5;{TW_Zp8>I`pyxL|W#_d^a($g~tbde;m>pExbcFj^tQTbSE2zq})# zb@RDGW%|R^vvs7H#H?LPYf^Te(UHtH^aBcX%-GX{4cv%v59ZHQgfJtP!arJgKx4(F zmX2FPT5>8aS!wfjUbvPKY((zGrvB{doj;)ITvs;GiHI|@l?3{3owbwK@v&qJk z9xZu6>CwMKXcIm93Gh<5n){x>F|5<0PsM~G@{`y3iJZ_RC`w~bJ*d}MK#yJ!uCcC~ z#%8aLfXMa|y~YB1bg7rb6`irV7<)-|ari?djTtBDH5SmL{lhhOgQl?$)Y+H^Wv%E+ed;U*)jgc(rn;7?nYwR9PV_&Y00JHl3dX3?frN6Ob$HQRO z2<3*_XX7Gi>|48DV@cY^W`=7_)-={ClEw}U(QB-gwy}%DHFlwy*%9L+u)oUzZ#rQ+G#xBz|_DW?_ zcq@&41EWpo@)R)TKR6l&v*lTS%&uv&F$jtcv}xG1k4{m|O)EtwB0h0C;uAx4@fh?R zJVtT!2c`nIzi02xQs6hG0PWA{Y?N!%OW2=nAy(zK>`?Y+*qas8-fW&h-J9KzO93#C zD0<3OnY&>Ism*m-mO%Rk6(`qoI18byxcZrOTwk&u3&@gOGPO)Y-KgD_tk_!)=-FEi zL%ni<>@5b)J)DKzu;+u%uLU}g!fT-R=z{uCr@ae1SP!KElpt;?JHOV^Q??l3N97s> z-!z==cj0UpKO=TWsze6{^SiJrl$XjZ?hH>mY!abgv9Ds+-ohkQr$?~aQ}N;9lOe}j+Hl?mt99_ljdnN z+h`FYytD9KxYWYx0_}?{e=m!jP7EtWlDh=jTzbj_h0Wy>if<)NKjc8X*TN+}lS}>* z_BLs*DMy1rV{sWMEG~&i1EyG99;39XU~2Eu?l)OuaGAvk5wiirK_ANY8;I*|-z~Tv zjR$Z&aJ;dc;|+%=-)}lxLmC(37n!)oBr$5Ce+;h*8pFGj)iK=NEFa00e}R@k8OHPY zFkXUTJev<=sQm1ELFWTD*QJ|QTOdW>Q;TkzjbRLGspEHt-uT^%@w629jV{+_GG2 zUY5*fJ(T{{tgG3_u(0u08J3&nm2!q<4K@<@GOJeNORSW35LRO1ShM{cYc`7;OdJdR z#AhQu7lFzZBk?W&@Ug7wDh9q{oQiDS)UgV$1L6UXA#oU|PQ9LofbC8>ENhW+li zRtOvW%^n2%k9_Xupi2Y?otu^pUIr=PuPs#$+QklouDlOS6wV_G6P?YO=mPmDoPv3* zz#f$TGme{7Vo`z3)vNRaON^Yb+-ZRgn8bx0;Ip+D9kA6txC%UO2E`=z@mIGVe;7>3^>Tc3fW3tBn1AyG zei}XfaH(?b_E}sBsfg4o^NsKVYWtksI^d@M$AOGEM2G0#F@fjgRETn z@3QreE22Y?yGBpnL{!~1Xd=$=PsAB);vhZ|b)7XfaxW0>tYKOy<{|7=p`ycVwysj0 zh+Rl@c;O?0QyDZ<*OCPB-{iFsAWu|eq2Dke=F!xC6{X#J>lG_hyS}(vRocv}GrVP$Xm;#VA$tCH6kt;}IE-WQi2smaT znikG``2D5Ib^WDC0xl%uNkpovQg|&jq5+GWJZ>v$Vf}DDC5kN%a-|w5BOZDdGGR)7VG(X9z4s0fw08Spj zk#JprD&gaik815%>`Dck3V>6sf>X`jfI3N@-hi)RmXric3^46O1r4ZR3&A82Oe%ep z{Y0G}Jo^Ao9l=wiz*8)_rk8TiEE6Q>2jrH3N=E@IRBRu`UVt|uZ$-{;P$zr?>k6RA zi!1AXlot$-pRIX3typ!_;6nh_pvRCvo+VrhRmQ4sP@Dz=_ur{ugO<(Rz#z1dJD`p$my2cw z@rANlu|U&Y!j|Iy>H;0S-tGi@*+(RDTi#XI+bobsk`phF@vXNO`G`ekoV6Uu+zsxL zl`H=UxgIM+EB4dk3b<-ED6X0{_*g78wVx3u#+*?c8@@v`!U2m0jDPWUUAO<=w8@#Y z3j0y4!En>`%gcWLAPa<+H+Ru_drb)zi=Cr)dW`8VErclt%{D0J) zIlLjo&YXKg22P=r{^9rL_s#ZAp}p^D7T8c{NWQG*ZW7BX9~*w>1#=-%HvgWTAp_Ra zruOGK#|yzH)}q6r+MoA)>vZkUpWcCyg0ULu{(L0L2k+l@!9#>LYM6)G{rSe;s5*52 z`W7Cavi&*O0Ih6TJi_eH-`pM@ep69C7{6bx*TwG}a`6ep?;||MdOYQf?9aLJs!9Am zi4uR555fOBef+P|#~+W8u_bVS-e*DR{`{OeO!n~m^PAAM*m=|beBzbF7V6N^?*{D8 zmlkuj)vW#borty(c7Oh_zxdczI*#@DREi<{^Eck6&i3ukr@7DW&zrN!4-VlL?LGJJ z%Jap-Qe{^j!Nr7e6a%SN;=IC@Slv;a3Qs5LF`e}>VjN&>LHf*Ke_BNSPNyI9bp5_m z-1zw*e|zM9TI4er(BW{j7u;@MV7n^~nsz(!cA-44Wre-SMSIlwD2GhC9jd~cXp@~q5&f!;z|h&rMXlh(d%&p&yKHK-_Nero zddR0JR4-LjcvW!HiPdG%r-a3~T}XVW#;Fm+*QG|UyNy%M^BD)HtQT`n|d-O{LT3PWv42g$zs` zGxV8s0v1abekgxJ{CQrIhO;c0hiov%L+h7kb`74utbF4R37r&%z#&DFZ--hFqI)a! zk1MeznHKYSPrOy$V?$>aN%8i1JyhzI$<6bA?}5=bt~e7YC~%}k}ih$n{j z7OZuaO2E*lj3yUOw90MR-{Ey04 zhUtvAdDL$Yu(>9KP8c6$lj@9CL;p{p$F|E4r&!C5HO=Ty0&QD`oE+eo!$o7ak!|ci`)(x||g(QzNdWMuvL5P?eMKyN$27;EiAsPBZ za zcMsFpOdwbdxi~hKL7$a8B*~NNVCHn)o+_11&N7Zc7Ia*4$h?I7hc2u#u>n+lD4F^=W7hDlj(^fXLw^Div~QIUSut5hN?x3R?JrW)r{hW_ zjqa-0KXM9;B}x{15uE8etlysQw1~?|JUSBsIcfB{l(q?MQ;E-n21@3UjRa>Tjbq>_ zm50Di>r|1VD;=b?%MU`NSf`2p7yl<;oTNcsg$idj}~4m$&x$;@A)ifG)zB!3>_g`<{(fH_!jI_d@RZ|cV?uJ zE*wJ=pR7vd*OaXgHq~hz`P`|)+-YN&?m5kK$HzZ{=FhXEBb-0dDVjgUdrrmtL8uh% z{5j88sc)R}N!i5wk@V(I!6}|UWuG;7{uKO<=MNpFq50GL#c1cx^c0#u6mvnDKbQ$e z4bzYC`Qw{6CFN3&AEmPOEv2gOk^Z`{+-ewjh$0(ft|Ij;LUWLjos_grxg!QF>Qn6BLB?H%b5CTLQH&Y%-CdiKYqar9ol&w_`q%l zVs}|)iKDUc*q@NQQ4Fb!lvCN9nMiWLscgdxnHQ>I$6w$PP_WLz0A+)q<6n+@U$xk~ z!o{D{Yt9V9fMiQ4#S@pgfnrrm02NA6SGlufmbr8i1n+kE z1IfGNN=P^{o@9PklDHDIjG;5}5P1^ms13CyeMUz2qIApjuSy=H&CFfdIWY+CV;PlO zeouh~Qcp7WJg+{$_dEq`^xdT8apf1#x5=r900oO66tcgN(1mbFvb}&pDh9GjD*{+l z`Q@&8M$qt+=V`kEa(yb=Hw@W8p*Y^Za1oKI=tqOGt=Ve~iJVv*MWv zWpfdd1)IJCWy4aW+S|$N2F%xlE-GNt+W>Bm6VSm!Wi#u@Jxc0u0KR~9QZ@iSD!fWc zkskw8Qid6yVP8UejMhL!X}kb{jPj{2sG+xUBDiz{I-`qO-jS8p6Q{Ik)4U;`4+oPc zkwV9q;Lb2d4+qO!(0UHXU`=a|fxQ4KNrb!U4ZR08c@vm7hK4*-F)=js+$u&u4ReS6sIT}aiSM5IM?=I%wd^lpKWZsHst^FC1Ohk| zpJArtiP4s)PtDtint7a>Lz4I`$85n@spjRxM&QAz4!IxJ(vTybb zz}=qUCKU(4?dzlOG3)?$0f(Ez8y@aq1UG;O++Vh667I=sXl9)p+<9#Tz3+HhfxCki z?mmDUOG+hn?M2{8seCXm1Gy0?3UCsyx%qkk;j}dH;Y=UhT1=1g(oa3D{~EnM)_5 zGg45ZbaKxaJ~=nD5u(W5yvW_qZ0Rf%qo^B-csC474D5z<5CB6z7gXtuNhOduSVf)D zcv6FC1CGuCwPc==GekfY>V5Szs)k0l9|j{I4f&jCYZ`!QvRfTiThwzN^^Wz#`i9|S+;5Lem9 zQSGE1m@nc(sDk1$cXK*XrMC-)xS35=D;=f`*p)P39T<1YBJg)!Ya?HR=}X@VJW%

    TCqHFha5LkmwQ6=1smf@xCFH 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

    4Q;^(5$~iFa~9qTwRiwH#D& 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

    FqY2?{y3K_q#PNy?8anZM)?I8XbGg!j`YA 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

    (0J) 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

    &hHj=%6$ZBtw#NkgR= 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≀@V{3kQu z0lbwIEe#&4>ww3#>-H8N`Q>Fw%9P9;D?-94&`@7e$=RT6$yslEMI|DdajLbPMeK>d z?8m=l0xd}o@-blsEXn6Au*ripjpUADP{hcueL^xL-$d7w?!}$ssrXSD&Egqpi5RT=q__e3S+4TV>Sw;+jr$d-KE7C-PYmZ4eo zsp#T_?BM+7VMHDtmhtdfdDzqaFvm<=k2JniQz+5O_v-$hjQ8{3yXXnOa?2-9zRKgb z%lyrOf=b2OOocdUj@~GSCkmB<(oSS24tOGoN~tDWQt}8|yU~(ECBB|@w2Vm#tWQ@* z%Q{U(6td({e7h>dHyuqxuO}=*1vG!L7$TB@L5vZ_u%AQa_A}Xy#}SDlFFZRdQ0Iw# zv}TQeV6O2`lW{uZe>`LS(=x~ZkLg)QN%zM8xNH1Vv&MghjDO``jNdp!ZN7E!>kgS(iO`~Wc~N>jJ6Lh%w(^CM@490wvhQd2gK_4>76TJu$|88cYc=)9Jj zKRvyJv%>F|lwt*k{K#6NDOu^69$^6L;O#jw{Az|+s!Y`~?NX%~d+RhNY2J#xn551Y zv8xVMhqV=Pq>zNCBJTR@QU66#C&=gOeuzPt4^-|zN4CSu7B zxaLMKRsTNMay(O-RW=wrzHE!OX2_U6bFRm9A;2@su;n~GoU8!gE&@*nA9d*_@y83WIAi{ahBSAXTa zRQ#AN6d2_h`I->d2&F$&&Uc!p`T_}w_M&YBb_||dhDk`Ygfg;ojKt<#Pa>cfC1zTQ zRKTQ)sJUXZOk1Fm>}qcoTZUl9N4n8d$Wy*(*TRaDOhorACF;>)skO&CeUIFtv=aCVqXas(PEyiKKWJj<^cW( zqahjkjU7ac^%H~&_^K8+MD{@{F9Jr5*UY|gIhcb8P#Po_4k3aF7lj=j+hz=;(D*7c z()#&lYVr9h2c)zf3vM+p94Ie>0&40@Bm0rdb}RZrt-b3r6744tmQ~~g8Vrs~UDl>9>r$7&)aB^Z%IdGOc2`f;W_P?7K-Y8a0AbNT-c&m#{! z{W}7xeDc6M=4QzQ&s^PIdEkHlmwY0>JP_YsW85UIoei`?+=n~z|9wiD`j^N9U8w_< zXS`l5VWEg7O73z({t9(iEg=INBv(zJXR}-j)qJJS57BPe=ZAzx6NkLa^W(3(=XZR5 zJTDbGKR+IjY8VoCe16Q9TA%0nVV$4kN|5uDH7b57n-xm_)cmE)Ysq?%FOayPaVr-h z>8}U(O2Ace0*JI9p}!)+%|p(Z-%gV1Y8(ijly?k;p*7=s5}8X`#aSNdM<+ef8|F|l z>p;gTeVX~_?Q+_v7c@harn#mYR*bJ_l+;@ms38qxtkKyyebm2(RFpM3+xAhPZTqNO zR&~lzy}^>Dt7M|WR>RlsQ`MkCP1w6jyiL{Z75@7~%ZoDw6wI`8%_w>K6+f|Qmk9=* zrVir|=iGn=`z<5ejaRDAlZdWz0$%oy`R#gmwsX~P#k4KfUxAbg6&VGAhGg~ z$ZI2bO@)Lury}0y426LF73=SJbMlrYrSxCfW6+UR$0dVGG&@Jw|SFv7Ti{De)b4+nJ-!h@mY-5t#Gb4 zmI*M0jY!fkG`S=Na^Mg1uRyIEKWviyZHWiuk-%AG19B~JcCH1^&b7eVxfVD(*8*p` zmLJ`SZKCC{5qp9kBn;vNSJW;kx{Tt_LdGCmUi{eanu(r4>}jY-Vit(UfAnJ^X9*;T zo9<0R%LuBOO*HuOZ;%tQDzp!$gvpW0|W$}jIg7|Fu*6S^0 z0VN6C{?>Ye!u>QTw7m+$sTnFzC)nlQ2f;4BE#AiBV%eg;Q0(%iQ0(Rwp_?Jwn!E#o zkkgRJF~mgi@mnReeBHf<%Bfo>=P;WWTrz%Z5|!Y`Q9&$b^L-4OMSb~`A~_il>FdVH zLyg;o(r-44iCTh^VYEVJQ1^%+C1&pwv++Bu_4s@_dt@SEnM<`5KtnorB9eD9_e8J@ zS!=#9-;NY6H=|;Pr9Ma&|H@rFgyM$z^5s&-1|Ga!wQn7JvEY3IBFux)YzQ=uFMwi; zOZ-bBorru@?80xC8Bx`kBE+R9hK+ASIoE-ac~Fr=%jFQ--~Q2YEdS?K(C@Y8#bE*a z1Q-j)V^CsK;OyzWtrXB`@v(?Yh}a;hZ19u`8T;9SSfDybkKd)H+MNC)nd0CaHbE>n zXL;~WUWB}M?7W1jS*Ye554*F(~0z40agyZe=6JX)pCllZV4`?Hhl;Q@E?0TkQa%3KRius{}vUJ<^_98G#58Y|VFPOS<;Z+yzCcwe=8 zPN5!~Kv2#xYE`&+ESAMX(w!;ysTJ{%S`iN|4?dc{A`WLoJmIW}B*ti1>S^uy50xJK z39~i80&#GOl)U$uIDCO~?iCTZjgK@N056yaAT^Ol-e4xl-A%NJIdm07MX1*`<^xa5 zI}%f5i==)EmrDfd(*I|X6M_&SC#oSQz*si|&%Zd)L6pF@>R5QbKm8h>4+e0E+^mqB z|NQv^AYkYftt~rJ0q~W)Ncbg=t#qg7Q2f^lagt-rI72hGC=#~KPJf?F_00|%vAndZ)(OVQakb*0yPN?asW{=I0s*n$}Lu9(h-n0>>3cOj}IuX zFNFLOh@1ml$#QANnEpb*L1gk_(C0MR9WVr{QB#~qIN$&o#Y;z>>h zGk$}te$E5J_@o3-)5;P>n(;{>J`o}K3+6Aj%eLMRr{aE>JF>2G8bPg$2^=vc^HW>J zlqBm@M>(HzK7=LAY^Z?;6!fjQD)_WSICsbwX58ozhstP;vmfIVIfdZbY8&ZA7umc3pi0@d&25%J z!}yv&~l8|-Y-tRFnDY8>z~}!j)U#Uoyz~T=C{IjMki}V?Nk*k>URoj z)@o=j$=NZ5XAu?=l+-AUSz9C?n+nDjXxPf4!Wz~nZed-HH3l}BKb&K<`}?$M4OdSs zjN))UV@l#d0ZCCBJo}zr1 z*^Ykki&e7lJr`-GEd+~yQM^lPm-^Y4-bFi7oJ@*~(ME2Ekx^U>`-u2(TKy0!Un|Afnlt6J#yk|J(&4gjTW-%ZtW}1V0n9sZse(C;jej87y@3M0Q1swm4}jPZ&3h zL8e2LjDl<)Q>r$sML$EWuXEcm9I{R9L?F!SVzU{PCDUN_J}+XQWKx)T|KA+}xiRUn ze;aZGdCFFR`z4U4cx0;?-`y@#z4!8zqybJEcIf_%@Z%C_LegKwr#=ijE**p&zav8w zH*T5V62%3HaR)0-tR6(k!jIo8f^)?llFl{S>!haE9}?1KIcKU`yybG16Y}6D;aW?U z$&!u*9}&L00)F{%Eq?POTI}X6lx=;sLdxESh2~N411)~ZyISm$!SDd3<`X9`Xb+Bj zn=D}Gsrv_i0Ivhy4hoT7SAAuf?hXFKNtZKReN&~&8Lz_26v@)B;9OAYaxNLn2@ft& zsdApv48Be_1p>8EE&MJ)UM#_)67@-0yUJ5a*(2^WIk2q4;P*iZ1nWNULFQNGP?a64 z1})Zn;u6Mv$rhz%WoSdKQK+8t?e+ujE<5IkiC0-Y34Mym$gK#^wqsHdD)m&ll- z%hV@QfMM`yfEnxp3_wfe4-(OKg-&uaR+19aDGI9sUTlH+gZVI<00`ME6GEj)eAF~Q z5N`1~m5K}`RH6A+cpH^>xuKP7mGJHjZ*4~mP#Qfg`{keWvY;+`D-uPt1OAe?teBQa zT}H_?4gci=MVLT9hmRF*>n95=ZcA-Q<03e%8A(p-VzG>|0o=NaonWr`%wo6hx{VB2 zuicMK$6WK%IR7t~|KY=CNWl^cy1xhio!-dC7f)FD;*|`1aadClUs#g+;7RS~V~-1Q zt#HJtBFi6BOHY=GD$?8dYFh|0W;mq-OsTgk>4{~R0FXsZ)BCpz)9=EkSy zx3jjkH?;Tg&Ko5QSKf`!7eO%3!;kPD_v0Tox7{6Y4-zU0F{gTS*aoBB7*}ETc;_zJ zw~f;jtwzy)=0g{V8?}h@9``Ox+NOM+*3-dmmrV2cFPIZm=$czec%jU;ZX_ z`P=8 zC-Gto(8g{i;LCWXYpuEAu?6jc-xtokQN`f)&if^R3jC4JGm>$Bt#Vwo{)eCckNR_* zPAnOfT^btR$r>K;z3jccH$8wJBQK6{m3I@U!P3oqI04oWcghy?l$qc)qm6Vq_8{(` zW(iFb>PysFYihq#YTtRX3<3?yF~qVvkmIv;z8%vSw%#o-$4lP6Q=LoT;V3AYLm(Dr z$TyM)2^oxUcck9t7Y(m@6k0&ej}syNz-c6!oVSuxZOzK&3&0q>DC_rL)hiMA%G%|H z86;_{k_^|+NF50&l#&R8KW*g_frFxl=UvQ)FNn88sDq;|B=!b+anV4@CPZYEg~U{l zqVV9v_rXvbZU#e@-zTVRz=MLi`ttw36Ylvu`l<-SRjI9xqD^!&c@=Gr5@%m2fKapv zE2eBqZxh~3RBq}ghm|S&BjnpCdYn~~UvnHJjEd{wP3`?HhQDm7;R+zoO`st^C?llo zSfgK)Y|vPr3?6>3%Q1J&%73u=sVdg5xmJQHLM&<;q4SARC;y8nVqZ?XB*9ZNSs1otFoDI zlWodo&yM#jv7RO7vpe4NDSX@9dM${Pz;w;;!u|Ww+QcF@z>&V700v>NtUl!k;$QwDOfmkn`T=sbR>r1B7h5^%^1D#7k$r`Pffo zkAeE~WGI={p$q-M0p%H2Q`{WwWnr?Vr_zTMaR;j=D&8U7g1R+b>tRGfEYvn{8Rx!Ko$v|2*4=)O%Wpqt?5wRC}5Q7Gs2m%V>-{y;~Q;lnZQ&?}qRdei&s@nUr9lr&(f4EuU& zPc#p2F3da-GcZ%CJ&{N8r&qrAww2J{{Lb178RxLSH|x!Bfj{sx=%M+D!_!}nN#ttO zaOW3#mWum8F;AANXgmh!10y}+*zKE~TDJD?Y#N002}{kuCUKc~a?GvL`>{GCa^ zCHW)P*oVTZ!CtyqHI+{yn?I|cv4{NG9)9oX7xs`pk~3O!oxse`^~2Ni$MznPe*aiT z`L4?J@?q}!x^I0(yh(hWmPowHLY=sk6id9y^gZC-xbps>P$j0&jhxbmFiU$#s;U9f zh`jtkYOAQ%x?5k3KbveycA@if=o=T+B?hP&_h~((JmX&AFU+X*Sl)Ntf*&&IkBob9 zAPI@vr8EOQKZ-jfmE4IXGwiEW5PC}|;(gkets(C1`xd_>yp{U4kaO@>5TUSFIX-9e zS6#244Ua7NpuB4GSb^Nqa~I19f#2Shs{nE5pz^ZXw!YKBz3_YS{x9u5yuiFWmVKBi zelXrYPR1Ma?{l-+NQ+-wqCI7uuI*k8%38M*!1*>v&bX$8M?1Zsw4h-6FwAa`)qE|w zm+Wub8-y`w5uGiG-S0DmEJjbw7`$^Fw>=9NZgb2b!h!IlU6>WqbS#R~~ znGT}n=Gb2u`z=uIUUz&b{T}SizPM>v$V9sl zTIctf`@5U>*8F1sCX-wyVZ=k?@_SvG_Ozp6bWgMjDk!nu~97S44q`&xdG9ao8rM}kZewO4#j@cJm;jlS_^Ek5XFTi+ED`zTzF2%u%) z#A=yeof|ehDV2lFcd{B)&fo3S!|jCRGfB6T$f0_y7KFbv977f_>m18C&II59+s!>i zsYiOOuO1th6G`vIoTubf|2N`$-gZ6`x7c81d@L#lrES;?_+`HOzYv}s$M-CrAiAB; z4WKD_h82GO6t{E|MCq|Z*mDl8B*csP=($~)*<9^e1I%hsG*`!r@8;+ndF`v_&^2=I z+L5M`%S3(O!gBc|>Aot6tuQQcKF)O#95}en_H6VEu5+%tlq?}Ew5IhAe7TCzt4mJL z7O_Va2_*)ar1T8M2QCR)PK-^WR27Aa@}@de#~chvPXzqcJMp>}!+^v>Q%ggFzwGPe zNcZgGKk(@oZvTN#7vPiA|3s6#V5XHrSD}A9m(W+lEYRhDlFTO*C9|95`H-DY2>+9| zNLeU8rd(oCilL3FjOldjj095ho_dV`Ibc*?R#9?uwEOqe3B@&JMNbz%#M{(g_I>Zx zwI`+QSfJlTGcGFen|BznPy_ruO%EWPRkpUr0?+|b?1%IW4IkHU8=_jaJDo* z=v=dy|MEZZNQcdT;PD@Lq(dP6PMwDx;Cnm1j*~d z9-A0qP9&A!L$*0K!i{M#5N(zXHnw2i#zV2p4bQ`FVE`BEtQ-(*A_HhB7H#3*dffO3 z3=t2vm=An{=|(IlPd8EV3h%AKtxRai;G;0U!g-@95XV(N9&R$Pz$+;mpr7v}PTI%xj)a4ne%QNju zZAf^#bs&a}@$ezoUdIRZ4jY4BC9+vdQtAZ@7J3y9L782is@2R^>_I`|Onh}%#q(KnXjR{hCjFINXq7Zs${PRie+NhIJZr�#tmF>Bl4S=a}! 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 v-A+r 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%0D|?{d5tKYelY` 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 z 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¥j<>b8yzKRp4WOpy^Ow5kfG{J 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

    uRB%OvBH&s-iru#Gw3$L+vln<=omVjJkwPP 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 z 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%0DoEt>yi-3 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 au{pdv7SqR${CyA(Jbv> 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

    jl+D%P(C#4P&ht7;9m#l*U@4Q-}4t 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%0AJB*J3()sqir$b7S+d#Nl= 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

  1. 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≀kE%({XsNQq{Ch0?w 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�YcvvNFaNVcnk~AJIx4LdMdj_fd~M>N;Mc=<`%tRMz4Ej-Of5 z@&mP6l%7r!zE2!LpE)fS9aT9mLuI?tD$iwmS+1hWZ-tdl9Y>Q+Z<2ko}8K*y$ zh{;6IZ_LXJnJOz($qC6Bz=^^{y;!HAA~0!h(8qwf60sSN0q%cl;>Wxb~3UuPEM$(vO!_xug6uC-&8pqOJ#2g zDsLm)2!G7Yq9j%RB%?AXd6hFM5#0>C5fejstZ9|Uu~i1AsGd#O&D_L%&&G6fCpq#a z1utt-&6&i!j7ieVmt?$bNi{-Jl9`g|ePY7%QKDo?9IIt`aYX5zI2KE;{vCT&^!$~o zt#TrX(pNFbo~E7rsT)fyxLFM0W-wwZcaijBCm9t%%&YieNktFk7>=s!q@f~*X_cR} zRd&u0+Tl#PI25e@wc$gA9?CEIHS_7l)T4 zJ*>uhT#a_q%}z@Hz3ROez4*K1xz`ZesCpx&7ge^rRbs)7z?Xb6_?Q-hR9Y%mA`I~sg&7YX%lRfiz=!f8dlN2>a1+4`Pfo%zkSm(izV%ny%l6q`u1~I>ODf(MCNl5%;Bhw_ne?r>EH4{b@N$vD%S2ZF z?xdFwls>mJ`{uoDV9E2sqh2P^@bZ9ZFAHdUIly8i0~otc2o)a>GaJiZ9alZtBrY!d zvqi>A_GUTvPU3qDV&c;8j!^~R^yI3~o$2i8bUg07my;`zkqgnAqh#Z1$;BCD;!;Ec z)5HNgh=|+7!^epN7Kw+KiH3)Xhu4s8jT7UkQyIEemASXb+vmvI7pO3pq`p8yI#1Uhj7oPMY;u$wzX8Zi{k{2C`dRcqJ%h{*Bn3?U(mqjmYANDe}aW7A6 zdRbb_%h49R3~e<(8}t0_YV;-J<@WO`KUGv&{SY~Q8F`T&tD&+~rivMMkdL=jrmCPa z@iJNwR@o}YqSp}W<4E8-smOhV# zpCChD!p4Wl7DZ)E2NvES3Z5cAp2ot<(O{DsAIHWQiGY{MiigRG*N_p9lMk;W8*Y*# zY9kYFkq6I_1uu{TpCkj$+#SDChmz!mTFKi=i=MS?WzQ$b43)?W zg*u%|7&!tA>R{xWGmRaWz27DyJx)HlNUXI?Mkq`sx`s$=97|qD4%%dO*+w?Vk`*&V zIt$qHNiso#Dw7D7Jf>`U0>oWr8xQW+ks`Yf9ZAs%ob5Eyl6sx?fR;6*pDSwp6b! zs2*MMBobKft@O_Bw*aj(IVbq_W$ss%|H% z>UJimAt;e84YQ__QOSyD(LuF|J&jKx?RFiOdpf^DW@ch4XKJXtOe=L6!n{w^@wltw zvd+s@RmWxJK4m03W6%y~w2W57PIkIJWFZ;TK%jRQvCeb9cvi<@uyk_BZYMZE~E;XVKa>-8H3+ zo9?>O)=hV9Y4g&aXOPu0fkn?dke+SDKdANUm82asUu0Z1cGT*jiocLM5%ojXePY28 z`SsfWX6t!pG-P}^_#?-K^rWQ)uJPGm>4BuE5^8nx@g2uqKN$a$s~rE^}-4eX33h4}dJ# zW+jhHpCswXlRel&bF+$z8g2z!#jm33ixN)&s#UO8QllxxI@SE=Rn#?&-5 ziK4Vw9O53r(^LwZ-fFeOs}i2nD#xOpFF#$oI;a;exbdaMH(T03EMCq-!DSy4-tzRR` zPnYwN@s;(oe zeJ@Fr)LB8=UIj|k3QONRp{l4D81XG41+{85qj?bUs2ANzuo6mXUXty_wxsV`#&4}&J?`xbkXLVGUqJQh1+6w{l2IJ> zDkifpSdV=oe4An=0)oBWBIZu<4Pz%fClT@LqheZ}ogACBsA9i2kZ?mz+YM9JcEZH9{U~j!;-fOFSLgIHF}H}e3q{yl#6daqwAJ;vmcy;g zg+U~9Ub@W$0`r%Ap(G=+X)iC4({?6_f@7!r`i%K<|5cAe z_MGY{i~Dx^n4Y(nou=kKq1B&dwAwR$O+e!S{mOIzgHAvY?NQxTg9FRmT(c6$~4ySR#5)c!hQRc%bg*PZU}^(aSDi*Tg0 zy_r?dr0TJ@xjPYaYIjh9oJaLuO)v5*Eq8S$mzG=aucEX?#bGDBT{P0BN4&jW!dF|->Z`5DkeSb~BpNlnRb&S-_?%YTD!iSZ(k>*l-I^IMkD4QHI^pip zbRs284AHI1W>!aUEjf~E|COt?KX#7HYkPY`+Ad_%tFh=HI*`-iXo8)@VJ~WNEIXk0 z<*HXIy^!b$uD7hrzIiYEJIP*95!dMwiao2=}kHn)n1+hpPidIY8_dlua`HyM)GUyBGts)2gvDT*O z)e(jMEcj zy-EFvJJEr%Z?{s7wpYoi=#rjER=tbDiE>x^WJFc0RQhC6%OuzOB4()}VQuBT%hUyE zvA9-WZClp!cbyi>{^+zW_9yIl74}wv!;DhhU0_DxM6xq zG$gOZ3d<^frQ7<1dY?wpiy5{Z_d7MJG2GmV$V2DxCyz4^UDDz?x>u1rO3lTKAFFlhHcze<6I^lSB(|K zygKK)<9{w&wyLf@>OSBXKj-Ny zZA*J2Rmis{tnCxUtzrpv;D%Q_s;{c-DQn7-?|lld|rN5N3m)~cLyIJ<6SDAgH##fo_+x;Sr ze<^%90^L@WsWh+Jnw;is^1bl=Vgr6+{8({iZMKYfu~a!zCcR4AHnIX)?X6uUZ#PfG zt-7sxqq-+LuD$0?k2ci(H_BGmjQGc~>Agoyj$z&V)aS{>@vZiw_lw#;-&)_R6Oi*_ z(%TCp=ft*SWNuB=<6Mefinva@?F+u*oUar244zd-i!PTjHOq<43Ku&TH>TEBorDs-r^BC|ms^bH93L zRLyZ$w}_V{%aYQnoat|tqbq-(DQNWvkty*E-5<;!BL}DVnGUbES3Z}b_V(Wz_szcv zRSRF~D;f2+FWP9|uWBPBYKAnt{Z(mqT-)9btD;*s;lyBUcPB?mdsnO6DV9?E#5&Y2 zv2nFWOnPo2f4>-quT<_c^jJ5QR=?+3vLa-sKbZ z#!I_Zs%OCa|?BYU107&}Z>2#?{{Ka!-hz+cj$6cAeU_-KO?z=df54>P@d9a@sY- zwG(7@Q$*g|sCUUycRWtCeUiN&A@v^VT2@1Ktb|(0qIIaM^l@s^C$XO)a%VNvrYDHj zrKs>|BTAQ5`>+dCZt5adG&^X z67O3G6Q_@r!xe9hx$eny~_H`v0vuV6ui~Ur2_K_B;m=Wsj z05Nt?8Dt_&wSUx7yGILZ@2F5aM`LQ=Xj1JO&8R)2d9`D-r1pzO)oxKk?G;U{ouand zCt8%dL`(OpcR>rPyW|ehxY{3Ts@J41!q7aCK$LX&DwXh!V_&8z*OCGtCA zES1~~YT(DqJkRoDTkU!-sy)wPwc|O?d(@NE z>7;poy2ZQG^J?d(+`}IxGZSNeHPp_}G+w2p_U;#WD@jT1WR9wLNEp;(n&dVzYR`V2 zn%-g`1}?6GZLy|G&v<&@j`KmIxYWuq#sju^IuW-z0DO*P5NnR zmEG6pBHddHPnnIX{#sUhhiZ}C<3f8geL{OHea4slDjenAFS?iD%tqO1GGAe@mZaAA z9@P|@&uA5A<8Dp0@OF*Y`1Xz0x%*Qy-mdYSZ{PT&wm((ow&itqz>rMouM%CztynXKSz08JsGqa5Ux2aWm zR_*v4_x8G%)muy=?wUNI@@Ofw%hSoBW!0M8ncpY99q)1uld%kEeov`)!VAMvYXQga zacU*%e35|;t#Yd9?Jp0z`y1o>`!juS!K(I?qW5-zkXuD2qeybyXlj+#{+=>%l=r_U zz4tn1rp>(wuZpaasWsG|?ut*E_Px13?|W;%@ZOUlb>wI$>Aoi;Cuf}+SdfbW)ax@#$>QGW{4!*6+P&L?2#f~#7oqSipeS=BatptrSYdUK? zxx&tQHR&~8RK_^!ZxaZU))6b2)T)FkE%HC@HrLygE7GU4VLw(D6D%#uDp%F~TS-uDDi9->Tw-$6Bw1y}Gl6^0ZQ( z2ccWW>NuECRk-CTodr9HDwEdU-GRFyxQ<$A%2%Y?Qh)@0T zaf-tKj#xsvQ|*fr|D$6GaOPow!782!@An%*UhPe-Zw2jN<@xjE9cuN) zbqk#$3^{A5;;<-gSGjY43?p_N`@3T=vbG|kWonHnyIGE$n_gHGZQ5?3$rt&%dj9x@ zIF1}l{-`+)eU+VbbC7=BPx^jsX?jo9(30z z=$;6FRUH%OT?V3CMz9JaBI+C?h_S_3)rh$B@31A~ew@N^ze8-wBwl26^I6h4#wK=P z@~${xepUUJNwL?WEot`T$)FSYK7|VUZC=QFP83v*au(qh#T%i0yFx zj@KgMJJh>bOgz#&F+QuyV)u_Zl9%T(cBp%@y9H;KZP_7Opn{d@D)s$&W-ehnZB5JH zSjanaOul%z=*VHq$cmC9+w$}11FFr$SceNEu~89wK;2&*H3zLk;5xiF#&B%>0ri_N z$rlx`ozCMgxqEIN5N%WZ{^J>=dF@RYW#7*A8f~{w@=vPk_3yil5Tl)bU7dMBuQ8#; z8q?ZuHsyM9*u4<(tUA^kS$bQ!FG@__B<`0d4j;xFPvU{w_%#BL#=w`csLU&Eix62) z5mV2xUpGW#s*VVHme_fDFiKp?B%hxrhacu0i%B9WHt%T>M3oGDbc;P?rI838d5Yej zBkn7b4~U}jC1Si4AWc@NKxQk-{soiFbDsByL|^coJK1Ssp+~NM<44V#W{>iQDpT7d zRsBVrk}t7X224hH+DJ}H+p%c*@{ks>8^Kshu`VkR zpGuPNDE7q3Y7~28tj5EvB}_6^6U4ydJmEavel4RS&-)_{vPz}FB+*wvq}3V@vmP~N z|IR$1_8l9Rjjb@q&lucql=Xj%bH~^rS?G-tq0e*nq@1z%RXd9uSDYG+;-XOho}lfe<>X~JY3QzjeZ z7csDWb4ZSk%WGqJ&M%9gVEZBaCkAIk81gUk}lC(dyKTY)~iqf}Mod(HlM zHjK{ff%IT(Sk3dL2h{wVp*`|!W?vkuR?OPl(gU%f;;=oE=4?B~JWgp?qRZ}1_ZU2l zQeVD5!(1KXnHB~u^d3h;v@pC=EZ|t%O7j$>ct?4qYr)gASXWk_T7DqUw=AAkVI<1C z9P+Zw(Vb!u6y{B@w%Zd*+-0UKjAp}R)r{UScE}(PP<>WOdX(+T>JX_k3bectMw>xKw8S_r(7VEn zUxRZR=-*T$&A_Wm6R{Lz3o`V!0`F~g`a#Sx&_bNCrAC(0fK5iVgEJXCOW6uD3U{&OuR(pJs(VS-X&+}B0+;39#G)vkkyK+9M zzXEnDtn?^{NFh~b>Eq@VA|9+qTW$g`%= zQocWl4NYTv^8-ojxHS}KKU{G*rg|&d=D!Ek7>LtfW&8B=3HpT~M;~Vlq?v2d>TCtw zmSdBn>KPVClFk?oKd8n)8haaM{D!F^Fc?*(?u?4me&lH(y(%1>v#<+^^ z%d<)QQ*=fEw$M3Wl$kh>4NAJ>RO(PrOJFksqz*G`j7}Y)7GpH-YSDDYLF_?gTVu4( zU{qzWiD_o=sG18i$~H!sxn-X%c{6L8YLFXG;B+^y}- z($(>vR`a9jYS3mL;wdK|6bYWRf%cM&sC2i5bt^J1!}L0*Jvnx;CYWWVolY@BCw=os zhB>65Y}{_ekcMJ0LzBoN)oDrYmeiN?U zPhg4Fxzi7--|-8(zC=ci)XGS4w3t>S-=tTE)x0I9cn8i%HC?N6gth1WVh^gh+tF)L z*?JRCAj~MSw+Z@Qo>@3eFGg9Gb8MU*EYN)(ouzw|jMFG%ptvnRK))I)3`ga$w$q;k zBPh=*yCfqAXt#KjIiu1ei_`g3`3J>(PAQJ!Q&~NQUcq^j*yKDdh+-E+;X&oMq%FI% z*cIm4n)nxmtiWm~hcd(Y5&A&UIVOrHlJ2&9irjUaerOF81_kyYDgC*U)9(cRPAK2g z85_>X$h*FaV^`wZ$TgK`XEWc}Lx%D?!zx;lbKYg{>&J2C!X&<4`iS{PT7x{JEsrfN zVy$e|V_I2rl+aU(_wAQ>Hry>vk#pV%E5HmRBurbK{*tbEo@#y+Sgt6(R$N(DF^yGs z`idNVB{@GvbLu@FVKsLb)ZCM$wh@hD87!)8!qhIcGDk+Su0>_D^H{|=cG1R;g}24= z4vNgcY5KjqhY9Sr?DeIgB(rcF-`T?Q#?kepypLE;#UCR)>pZqM$z2G%g)AB2FczuQ z9l>A7F!ROn`^WJ{>hN+(T(^xeQ0}j#@}r>qoPz6-l+;)o=c=X}X$C8cNuF+s_nek0 zGYI~ibDuGOK_E|6sDaH2lZnjG&uj25$FVXQENg;&^96O)4tM00ct&kpGrTRSo>Lq4 zBBJbtV`B@<1g5e*CaZ+VsOk8!Mox{p5cip7jD)E`OL4C`#(0=anaOoycp;^3qeocZ zQ1L54{22`e{{ - - - PreserveNewest - shaderc_shared.dll - - - From db5a1a6aa602f7525a0df0b9dd855e106273789f Mon Sep 17 00:00:00 2001 From: riperiperi Date: Sat, 11 Jun 2022 14:36:53 +0100 Subject: [PATCH 165/179] Workaround RADV crash Enabling the descriptor indexing extension, even if it is not used, forces the radv driver to use "bolist". --- Ryujinx.Graphics.Vulkan/VulkanInitialization.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs b/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs index b8bb69843..add847898 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs @@ -27,7 +27,8 @@ namespace Ryujinx.Graphics.Vulkan "VK_EXT_robustness2", "VK_EXT_shader_subgroup_ballot", "VK_EXT_subgroup_size_control", - "VK_NV_geometry_shader_passthrough" + "VK_NV_geometry_shader_passthrough", + "VK_EXT_descriptor_indexing" // Enabling this works around an issue with disposed buffer bindings on RADV. }; public static string[] RequiredExtensions { get; } = new string[] From c98b61ade8be308d0662ddb2366ca8c76a5be015 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Sat, 11 Jun 2022 18:33:03 +0100 Subject: [PATCH 166/179] Use RobustBufferAccess on NVIDIA gpus Avoids the SMO waterfall triangle on older NVIDIA gpus. --- Ryujinx.Graphics.Vulkan/Vendor.cs | 15 +++++++++++++++ Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs | 9 +-------- Ryujinx.Graphics.Vulkan/VulkanInitialization.cs | 6 +++++- 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/Vendor.cs b/Ryujinx.Graphics.Vulkan/Vendor.cs index d55a8b3db..228b304ab 100644 --- a/Ryujinx.Graphics.Vulkan/Vendor.cs +++ b/Ryujinx.Graphics.Vulkan/Vendor.cs @@ -8,4 +8,19 @@ namespace Ryujinx.Graphics.Vulkan Qualcomm, Unknown } + + static class VendorUtils + { + public static Vendor FromId(uint id) + { + return id switch + { + 0x1002 => Vendor.Amd, + 0x10DE => Vendor.Nvidia, + 0x8086 => Vendor.Intel, + 0x5143 => Vendor.Qualcomm, + _ => Vendor.Unknown + }; + } + } } diff --git a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs index adf36d54c..3cf155c51 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs @@ -477,14 +477,7 @@ namespace Ryujinx.Graphics.Vulkan _ => $"0x{properties.VendorID:X}" }; - Vendor = properties.VendorID switch - { - 0x1002 => Vendor.Amd, - 0x10DE => Vendor.Nvidia, - 0x8086 => Vendor.Intel, - 0x5143 => Vendor.Qualcomm, - _ => Vendor.Unknown - }; + Vendor = VendorUtils.FromId(properties.VendorID); IsAmdWindows = Vendor == Vendor.Amd && RuntimeInformation.IsOSPlatform(OSPlatform.Windows); IsIntelWindows = Vendor == Vendor.Intel && RuntimeInformation.IsOSPlatform(OSPlatform.Windows); diff --git a/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs b/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs index add847898..fd3578e2d 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs @@ -300,6 +300,9 @@ namespace Ryujinx.Graphics.Vulkan PQueuePriorities = queuePriorities }; + api.GetPhysicalDeviceProperties(physicalDevice, out var properties); + bool useRobustBufferAccess = VendorUtils.FromId(properties.VendorID) == Vendor.Nvidia; + var supportedFeatures = api.GetPhysicalDeviceFeature(physicalDevice); var features = new PhysicalDeviceFeatures() @@ -321,7 +324,8 @@ namespace Ryujinx.Graphics.Vulkan // ShaderStorageImageReadWithoutFormat = true, // ShaderStorageImageWriteWithoutFormat = true, TessellationShader = true, - VertexPipelineStoresAndAtomics = true + VertexPipelineStoresAndAtomics = true, + RobustBufferAccess = useRobustBufferAccess }; void* pExtendedFeatures = null; From d31360e7dab8cbf3ab3ae3e5dba1d27f70d64d09 Mon Sep 17 00:00:00 2001 From: gdk Date: Sat, 11 Jun 2022 20:33:07 -0300 Subject: [PATCH 167/179] Implement GPU selector and expose texture recompression on the UI and config --- Ryujinx.Ava/Ui/Windows/MainWindow.axaml.cs | 1 + Ryujinx.Graphics.GAL/DeviceInfo.cs | 18 + Ryujinx.Graphics.Vulkan/Vendor.cs | 21 + .../VulkanGraphicsDevice.cs | 101 ++-- .../VulkanInitialization.cs | 86 +++- Ryujinx.Headless.SDL2/Options.cs | 6 + Ryujinx.Headless.SDL2/Program.cs | 27 +- .../Configuration/ConfigurationFileFormat.cs | 12 +- .../Configuration/ConfigurationState.cs | 438 +++++++++--------- Ryujinx/Ui/MainWindow.cs | 18 +- Ryujinx/Ui/Windows/SettingsWindow.cs | 129 ++++-- Ryujinx/Ui/Windows/SettingsWindow.glade | 67 ++- 12 files changed, 602 insertions(+), 322 deletions(-) create mode 100644 Ryujinx.Graphics.GAL/DeviceInfo.cs diff --git a/Ryujinx.Ava/Ui/Windows/MainWindow.axaml.cs b/Ryujinx.Ava/Ui/Windows/MainWindow.axaml.cs index 07c18a447..2199e46ec 100644 --- a/Ryujinx.Ava/Ui/Windows/MainWindow.axaml.cs +++ b/Ryujinx.Ava/Ui/Windows/MainWindow.axaml.cs @@ -544,6 +544,7 @@ namespace Ryujinx.Ava.Ui.Windows GraphicsConfig.MaxAnisotropy = ConfigurationState.Instance.Graphics.MaxAnisotropy; GraphicsConfig.ShadersDumpPath = ConfigurationState.Instance.Graphics.ShadersDumpPath; GraphicsConfig.EnableShaderCache = ConfigurationState.Instance.Graphics.EnableShaderCache; + GraphicsConfig.EnableTextureRecompression = ConfigurationState.Instance.Graphics.EnableTextureRecompression; } public void LoadHotKeys() diff --git a/Ryujinx.Graphics.GAL/DeviceInfo.cs b/Ryujinx.Graphics.GAL/DeviceInfo.cs new file mode 100644 index 000000000..c525eb601 --- /dev/null +++ b/Ryujinx.Graphics.GAL/DeviceInfo.cs @@ -0,0 +1,18 @@ +namespace Ryujinx.Graphics.GAL +{ + public struct DeviceInfo + { + public readonly string Id; + public readonly string Vendor; + public readonly string Name; + public readonly bool IsDiscrete; + + public DeviceInfo(string id, string vendor, string name, bool isDiscrete) + { + Id = id; + Vendor = vendor; + Name = name; + IsDiscrete = isDiscrete; + } + } +} \ No newline at end of file diff --git a/Ryujinx.Graphics.Vulkan/Vendor.cs b/Ryujinx.Graphics.Vulkan/Vendor.cs index 228b304ab..0fd44c10d 100644 --- a/Ryujinx.Graphics.Vulkan/Vendor.cs +++ b/Ryujinx.Graphics.Vulkan/Vendor.cs @@ -22,5 +22,26 @@ namespace Ryujinx.Graphics.Vulkan _ => Vendor.Unknown }; } + + public static string GetNameFromId(uint id) + { + return id switch + { + 0x1002 => "AMD", + 0x1010 => "ImgTec", + 0x10DE => "NVIDIA", + 0x13B5 => "ARM", + 0x1AE0 => "Google", + 0x5143 => "Qualcomm", + 0x8086 => "Intel", + 0x10001 => "Vivante", + 0x10002 => "VeriSilicon", + 0x10003 => "Kazan", + 0x10004 => "Codeplay Software Ltd.", + 0x10005 => "Mesa", + 0x10006 => "PoCL", + _ => $"0x{id:X}" + }; + } } } diff --git a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs index 3cf155c51..4eec06824 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs @@ -74,8 +74,9 @@ namespace Ryujinx.Graphics.Vulkan public IWindow Window => _window; - private Func GetSurface; - private Func GetRequiredExtensions; + private readonly Func _getSurface; + private readonly Func _getRequiredExtensions; + private readonly string _preferredGpuId; internal Vendor Vendor { get; private set; } internal bool IsAmdWindows { get; private set; } @@ -88,10 +89,11 @@ namespace Ryujinx.Graphics.Vulkan public event EventHandler ScreenCaptured; - public VulkanGraphicsDevice(Func surfaceFunc, Func requiredExtensionsFunc) + public VulkanGraphicsDevice(Func surfaceFunc, Func requiredExtensionsFunc, string preferredGpuId) { - GetSurface = surfaceFunc; - GetRequiredExtensions = requiredExtensionsFunc; + _getSurface = surfaceFunc; + _getRequiredExtensions = requiredExtensionsFunc; + _preferredGpuId = preferredGpuId; Shaders = new HashSet(); Textures = new HashSet(); Samplers = new HashSet(); @@ -239,7 +241,7 @@ namespace Ryujinx.Graphics.Vulkan Api = api; - _instance = VulkanInitialization.CreateInstance(api, logLevel, GetRequiredExtensions(), out ExtDebugReport debugReport, out _debugReportCallback); + _instance = VulkanInitialization.CreateInstance(api, logLevel, _getRequiredExtensions(), out ExtDebugReport debugReport, out _debugReportCallback); DebugReportApi = debugReport; @@ -248,8 +250,8 @@ namespace Ryujinx.Graphics.Vulkan SurfaceApi = surfaceApi; } - _surface = GetSurface(_instance, api); - _physicalDevice = VulkanInitialization.FindSuitablePhysicalDevice(api, _instance, _surface); + _surface = _getSurface(_instance, api); + _physicalDevice = VulkanInitialization.FindSuitablePhysicalDevice(api, _instance, _surface, _preferredGpuId); var queueFamilyIndex = VulkanInitialization.FindSuitableQueueFamily(api, _physicalDevice, _surface, out uint maxQueueCount); var supportedExtensions = VulkanInitialization.GetSupportedExtensions(api, _physicalDevice); @@ -435,6 +437,11 @@ namespace Ryujinx.Graphics.Vulkan return new HardwareInfo(GpuVendor, GpuRenderer); } + public static DeviceInfo[] GetPhysicalDevices() + { + return VulkanInitialization.GetSuitablePhysicalDevices(Vk.GetApi()); + } + private static string ParseStandardVulkanVersion(uint version) { return $"{version >> 22}.{(version >> 12) & 0x3FF}.{version & 0xFFF}"; @@ -459,23 +466,7 @@ namespace Ryujinx.Graphics.Vulkan { Api.GetPhysicalDeviceProperties(_physicalDevice, out var properties); - string vendorName = properties.VendorID switch - { - 0x1002 => "AMD", - 0x1010 => "ImgTec", - 0x10DE => "NVIDIA", - 0x13B5 => "ARM", - 0x1AE0 => "Google", - 0x5143 => "Qualcomm", - 0x8086 => "Intel", - 0x10001 => "Vivante", - 0x10002 => "VeriSilicon", - 0x10003 => "Kazan", - 0x10004 => "Codeplay Software Ltd.", - 0x10005 => "Mesa", - 0x10006 => "PoCL", - _ => $"0x{properties.VendorID:X}" - }; + string vendorName = VendorUtils.GetNameFromId(properties.VendorID); Vendor = VendorUtils.FromId(properties.VendorID); @@ -528,6 +519,36 @@ namespace Ryujinx.Graphics.Vulkan _counters.Update(); } + public void BackgroundContextAction(Action action, bool alwaysBackground = false) + { + action(); + } + + public void CreateSync(ulong id) + { + _syncManager.Create(id); + } + + public IProgram LoadProgramBinary(byte[] programBinary, bool isFragment, ShaderInfo info) + { + throw new NotImplementedException(); + } + + public void WaitSync(ulong id) + { + _syncManager.Wait(id); + } + + public void Screenshot() + { + _window.ScreenCaptureRequested = true; + } + + public void OnScreenCaptured(ScreenCaptureImageInfo bitmap) + { + ScreenCaptured?.Invoke(this, bitmap); + } + public unsafe void Dispose() { CommandBufferPool.Dispose(); @@ -572,35 +593,5 @@ namespace Ryujinx.Graphics.Vulkan Api.DestroyInstance(_instance, null); } } - - public void BackgroundContextAction(Action action, bool alwaysBackground = false) - { - action(); - } - - public void CreateSync(ulong id) - { - _syncManager.Create(id); - } - - public IProgram LoadProgramBinary(byte[] programBinary, bool isFragment, ShaderInfo info) - { - throw new NotImplementedException(); - } - - public void WaitSync(ulong id) - { - _syncManager.Wait(id); - } - - public void Screenshot() - { - _window.ScreenCaptureRequested = true; - } - - public void OnScreenCaptured(ScreenCaptureImageInfo bitmap) - { - ScreenCaptured?.Invoke(this, bitmap); - } } } diff --git a/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs b/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs index fd3578e2d..e1d818701 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs @@ -1,5 +1,6 @@ using Ryujinx.Common.Configuration; using Ryujinx.Common.Logging; +using Ryujinx.Graphics.GAL; using Silk.NET.Vulkan; using Silk.NET.Vulkan.Extensions.EXT; using Silk.NET.Vulkan.Extensions.KHR; @@ -188,7 +189,7 @@ namespace Ryujinx.Graphics.Vulkan return 0; } - internal static PhysicalDevice FindSuitablePhysicalDevice(Vk api, Instance instance, SurfaceKHR surface) + internal static PhysicalDevice FindSuitablePhysicalDevice(Vk api, Instance instance, SurfaceKHR surface, string preferredGpuId) { uint physicalDeviceCount; @@ -201,11 +202,16 @@ namespace Ryujinx.Graphics.Vulkan api.EnumeratePhysicalDevices(instance, &physicalDeviceCount, pPhysicalDevices).ThrowOnError(); } - if (physicalDevices.Length > 1) + // First we try to pick the the user preferred GPU. + for (int i = 0; i < physicalDevices.Length; i++) { - return physicalDevices[0]; + if (IsPreferredAndSuitableDevice(api, physicalDevices[i], surface, preferredGpuId)) + { + return physicalDevices[i]; + } } + // If we fail to do that, just use the first compatible GPU. for (int i = 0; i < physicalDevices.Length; i++) { if (IsSuitableDevice(api, physicalDevices[i], surface)) @@ -217,6 +223,80 @@ namespace Ryujinx.Graphics.Vulkan throw new VulkanException("Initialization failed, none of the available GPUs meets the minimum requirements."); } + internal static DeviceInfo[] GetSuitablePhysicalDevices(Vk api) + { + var appName = Marshal.StringToHGlobalAnsi(AppName); + + var applicationInfo = new ApplicationInfo + { + PApplicationName = (byte*)appName, + ApplicationVersion = 1, + PEngineName = (byte*)appName, + EngineVersion = 1, + ApiVersion = Vk.Version12.Value + }; + + var instanceCreateInfo = new InstanceCreateInfo + { + SType = StructureType.InstanceCreateInfo, + PApplicationInfo = &applicationInfo, + PpEnabledExtensionNames = null, + PpEnabledLayerNames = null, + EnabledExtensionCount = 0, + EnabledLayerCount = 0 + }; + + api.CreateInstance(in instanceCreateInfo, null, out var instance).ThrowOnError(); + + Marshal.FreeHGlobal(appName); + + uint physicalDeviceCount; + + api.EnumeratePhysicalDevices(instance, &physicalDeviceCount, null).ThrowOnError(); + + PhysicalDevice[] physicalDevices = new PhysicalDevice[physicalDeviceCount]; + + fixed (PhysicalDevice* pPhysicalDevices = physicalDevices) + { + api.EnumeratePhysicalDevices(instance, &physicalDeviceCount, pPhysicalDevices).ThrowOnError(); + } + + DeviceInfo[] devices = new DeviceInfo[physicalDevices.Length]; + + for (int i = 0; i < physicalDevices.Length; i++) + { + var physicalDevice = physicalDevices[i]; + api.GetPhysicalDeviceProperties(physicalDevice, out var properties); + + devices[i] = new DeviceInfo( + StringFromIdPair(properties.VendorID, properties.DeviceID), + VendorUtils.GetNameFromId(properties.VendorID), + Marshal.PtrToStringAnsi((IntPtr)properties.DeviceName), + properties.DeviceType == PhysicalDeviceType.DiscreteGpu); + } + + api.DestroyInstance(instance, null); + + return devices; + } + + private static string StringFromIdPair(uint vendorId, uint deviceId) + { + return $"0x{vendorId:X}_0x{deviceId:X}"; + } + + private static bool IsPreferredAndSuitableDevice(Vk api, PhysicalDevice physicalDevice, SurfaceKHR surface, string preferredGpuId) + { + api.GetPhysicalDeviceProperties(physicalDevice, out var properties); + + if (StringFromIdPair(properties.VendorID, properties.DeviceID) != preferredGpuId) + { + return false; + } + + return IsSuitableDevice(api, physicalDevice, surface); + } + private static bool IsSuitableDevice(Vk api, PhysicalDevice physicalDevice, SurfaceKHR surface) { int extensionMatches = 0; diff --git a/Ryujinx.Headless.SDL2/Options.cs b/Ryujinx.Headless.SDL2/Options.cs index 806fcd71e..956941798 100644 --- a/Ryujinx.Headless.SDL2/Options.cs +++ b/Ryujinx.Headless.SDL2/Options.cs @@ -94,6 +94,9 @@ namespace Ryujinx.Headless.SDL2 [Option("enable-shader-cache", Required = false, Default = true, HelpText = "Enables Shader cache.")] public bool? EnableShaderCache { get; set; } + [Option("enable-texture-recompression", Required = false, Default = false, HelpText = "Enables Texture recompression.")] + public bool? EnableTextureRecompression { get; set; } + [Option("enable-docked-mode", Required = false, Default = true, HelpText = "Enables Docked Mode.")] public bool? EnableDockedMode { get; set; } @@ -167,6 +170,9 @@ namespace Ryujinx.Headless.SDL2 [Option("graphics-backend", Required = false, Default = GraphicsBackend.OpenGl, HelpText = "Change Graphics Backend to use.")] public GraphicsBackend GraphicsBackend { get; set; } + [Option("preferred-gpu-vendor", Required = false, Default = "", HelpText = "When using the Vulkan backend, prefer using the GPU from the specified vendor.")] + public string PreferredGpuVendor { get; set; } + // Hacks [Option("expand-ram", Required = false, Default = false, HelpText = "Expands the RAM amount on the emulated system from 4GB to 6GB.")] diff --git a/Ryujinx.Headless.SDL2/Program.cs b/Ryujinx.Headless.SDL2/Program.cs index 05eac2e2e..deb34d051 100644 --- a/Ryujinx.Headless.SDL2/Program.cs +++ b/Ryujinx.Headless.SDL2/Program.cs @@ -406,7 +406,8 @@ namespace Ryujinx.Headless.SDL2 } // Setup graphics configuration - GraphicsConfig.EnableShaderCache = (bool)option.EnableShaderCache && option.GraphicsBackend != GraphicsBackend.Vulkan; + GraphicsConfig.EnableShaderCache = (bool)option.EnableShaderCache; + GraphicsConfig.EnableTextureRecompression = (bool)option.EnableTextureRecompression; GraphicsConfig.ResScale = option.ResScale; GraphicsConfig.MaxAnisotropy = option.MaxAnisotropy; GraphicsConfig.ShadersDumpPath = option.GraphicsShadersDumpPath; @@ -461,8 +462,28 @@ namespace Ryujinx.Headless.SDL2 { VulkanWindow vulkanWindow = new VulkanWindow(_inputManager, options.LoggingGraphicsDebugLevel, options.AspectRatio, (bool)options.EnableMouse); window = vulkanWindow; - renderer = new VulkanGraphicsDevice((instance, vk) => new SurfaceKHR((ulong)(vulkanWindow.CreateWindowSurface(instance.Handle))), - vulkanWindow.GetRequiredInstanceExtensions); + + string preferredGpuId = string.Empty; + + if (!string.IsNullOrEmpty(options.PreferredGpuVendor)) + { + string preferredGpuVendor = options.PreferredGpuVendor.ToLowerInvariant(); + var devices = VulkanGraphicsDevice.GetPhysicalDevices(); + + foreach (var device in devices) + { + if (device.Vendor.ToLowerInvariant() == preferredGpuVendor) + { + preferredGpuId = device.Id; + break; + } + } + } + + renderer = new VulkanGraphicsDevice( + (instance, vk) => new SurfaceKHR((ulong)(vulkanWindow.CreateWindowSurface(instance.Handle))), + vulkanWindow.GetRequiredInstanceExtensions, + preferredGpuId); } else { diff --git a/Ryujinx.Ui.Common/Configuration/ConfigurationFileFormat.cs b/Ryujinx.Ui.Common/Configuration/ConfigurationFileFormat.cs index 918a52d95..8b5355b1c 100644 --- a/Ryujinx.Ui.Common/Configuration/ConfigurationFileFormat.cs +++ b/Ryujinx.Ui.Common/Configuration/ConfigurationFileFormat.cs @@ -80,7 +80,7 @@ namespace Ryujinx.Ui.Common.Configuration /// Enables printing error log messages /// public bool LoggingEnableError { get; set; } - + /// /// Enables printing trace log messages /// @@ -161,6 +161,11 @@ namespace Ryujinx.Ui.Common.Configuration /// public bool EnableShaderCache { get; set; } + /// + /// Enables or disables texture recompression + /// + public bool EnableTextureRecompression { get; set; } + /// /// Enables or disables profiled translation cache persistency /// @@ -315,6 +320,11 @@ namespace Ryujinx.Ui.Common.Configuration /// public GraphicsBackend GraphicsBackend { get; set; } + /// + /// Preferred GPU + /// + public string PreferredGpu { get; set; } + /// /// Loads a configuration file from disk /// diff --git a/Ryujinx.Ui.Common/Configuration/ConfigurationState.cs b/Ryujinx.Ui.Common/Configuration/ConfigurationState.cs index 9f011cc63..1ec8895d7 100644 --- a/Ryujinx.Ui.Common/Configuration/ConfigurationState.cs +++ b/Ryujinx.Ui.Common/Configuration/ConfigurationState.cs @@ -310,7 +310,7 @@ namespace Ryujinx.Ui.Common.Configuration EnableDockedMode = new ReactiveObject(); EnableDockedMode.Event += static (sender, e) => LogValueChange(sender, e, nameof(EnableDockedMode)); EnablePtc = new ReactiveObject(); - EnablePtc.Event += static (sender, e) => LogValueChange(sender, e, nameof(EnablePtc)); + EnablePtc.Event += static (sender, e) => LogValueChange(sender, e, nameof(EnablePtc)); EnableInternetAccess = new ReactiveObject(); EnableInternetAccess.Event += static (sender, e) => LogValueChange(sender, e, nameof(EnableInternetAccess)); EnableFsIntegrityChecks = new ReactiveObject(); @@ -411,30 +411,44 @@ namespace Ryujinx.Ui.Common.Configuration /// public ReactiveObject EnableShaderCache { get; private set; } + /// + /// Enables or disables texture recompression + /// + public ReactiveObject EnableTextureRecompression { get; private set; } + /// /// Graphics backend /// public ReactiveObject GraphicsBackend { get; private set; } + /// + /// Preferred GPU + /// + public ReactiveObject PreferredGpu { get; private set; } + public GraphicsSection() { - BackendThreading = new ReactiveObject(); - BackendThreading.Event += static (sender, e) => LogValueChange(sender, e, nameof(BackendThreading)); - ResScale = new ReactiveObject(); - ResScale.Event += static (sender, e) => LogValueChange(sender, e, nameof(ResScale)); - ResScaleCustom = new ReactiveObject(); - ResScaleCustom.Event += static (sender, e) => LogValueChange(sender, e, nameof(ResScaleCustom)); - MaxAnisotropy = new ReactiveObject(); - MaxAnisotropy.Event += static (sender, e) => LogValueChange(sender, e, nameof(MaxAnisotropy)); - AspectRatio = new ReactiveObject(); - AspectRatio.Event += static (sender, e) => LogValueChange(sender, e, nameof(AspectRatio)); - ShadersDumpPath = new ReactiveObject(); - EnableVsync = new ReactiveObject(); - EnableVsync.Event += static (sender, e) => LogValueChange(sender, e, nameof(EnableVsync)); - EnableShaderCache = new ReactiveObject(); - EnableShaderCache.Event += static (sender, e) => LogValueChange(sender, e, nameof(EnableShaderCache)); - GraphicsBackend = new ReactiveObject(); - GraphicsBackend.Event += static (sender, e) => LogValueChange(sender, e, nameof(GraphicsBackend)); + BackendThreading = new ReactiveObject(); + BackendThreading.Event += static (sender, e) => LogValueChange(sender, e, nameof(BackendThreading)); + ResScale = new ReactiveObject(); + ResScale.Event += static (sender, e) => LogValueChange(sender, e, nameof(ResScale)); + ResScaleCustom = new ReactiveObject(); + ResScaleCustom.Event += static (sender, e) => LogValueChange(sender, e, nameof(ResScaleCustom)); + MaxAnisotropy = new ReactiveObject(); + MaxAnisotropy.Event += static (sender, e) => LogValueChange(sender, e, nameof(MaxAnisotropy)); + AspectRatio = new ReactiveObject(); + AspectRatio.Event += static (sender, e) => LogValueChange(sender, e, nameof(AspectRatio)); + ShadersDumpPath = new ReactiveObject(); + EnableVsync = new ReactiveObject(); + EnableVsync.Event += static (sender, e) => LogValueChange(sender, e, nameof(EnableVsync)); + EnableShaderCache = new ReactiveObject(); + EnableShaderCache.Event += static (sender, e) => LogValueChange(sender, e, nameof(EnableShaderCache)); + EnableTextureRecompression = new ReactiveObject(); + EnableTextureRecompression.Event += static (sender, e) => LogValueChange(sender, e, nameof(EnableTextureRecompression)); + GraphicsBackend = new ReactiveObject(); + GraphicsBackend.Event += static (sender, e) => LogValueChange(sender, e, nameof(GraphicsBackend)); + PreferredGpu = new ReactiveObject(); + PreferredGpu.Event += static (sender, e) => LogValueChange(sender, e, nameof(PreferredGpu)); } } @@ -505,45 +519,46 @@ namespace Ryujinx.Ui.Common.Configuration { ConfigurationFileFormat configurationFile = new ConfigurationFileFormat { - Version = ConfigurationFileFormat.CurrentVersion, - BackendThreading = Graphics.BackendThreading, - EnableFileLog = Logger.EnableFileLog, - ResScale = Graphics.ResScale, - ResScaleCustom = Graphics.ResScaleCustom, - MaxAnisotropy = Graphics.MaxAnisotropy, - AspectRatio = Graphics.AspectRatio, - GraphicsShadersDumpPath = Graphics.ShadersDumpPath, - LoggingEnableDebug = Logger.EnableDebug, - LoggingEnableStub = Logger.EnableStub, - LoggingEnableInfo = Logger.EnableInfo, - LoggingEnableWarn = Logger.EnableWarn, - LoggingEnableError = Logger.EnableError, - LoggingEnableTrace = Logger.EnableTrace, - LoggingEnableGuest = Logger.EnableGuest, - LoggingEnableFsAccessLog = Logger.EnableFsAccessLog, - LoggingFilteredClasses = Logger.FilteredClasses, - LoggingGraphicsDebugLevel = Logger.GraphicsDebugLevel, - SystemLanguage = System.Language, - SystemRegion = System.Region, - SystemTimeZone = System.TimeZone, - SystemTimeOffset = System.SystemTimeOffset, - DockedMode = System.EnableDockedMode, - EnableDiscordIntegration = EnableDiscordIntegration, - CheckUpdatesOnStart = CheckUpdatesOnStart, - ShowConfirmExit = ShowConfirmExit, - HideCursorOnIdle = HideCursorOnIdle, - EnableVsync = Graphics.EnableVsync, - EnableShaderCache = Graphics.EnableShaderCache, - EnablePtc = System.EnablePtc, - EnableInternetAccess = System.EnableInternetAccess, - EnableFsIntegrityChecks = System.EnableFsIntegrityChecks, - FsGlobalAccessLogMode = System.FsGlobalAccessLogMode, - AudioBackend = System.AudioBackend, - AudioVolume = System.AudioVolume, - MemoryManagerMode = System.MemoryManagerMode, - ExpandRam = System.ExpandRam, - IgnoreMissingServices = System.IgnoreMissingServices, - GuiColumns = new GuiColumns + Version = ConfigurationFileFormat.CurrentVersion, + BackendThreading = Graphics.BackendThreading, + EnableFileLog = Logger.EnableFileLog, + ResScale = Graphics.ResScale, + ResScaleCustom = Graphics.ResScaleCustom, + MaxAnisotropy = Graphics.MaxAnisotropy, + AspectRatio = Graphics.AspectRatio, + GraphicsShadersDumpPath = Graphics.ShadersDumpPath, + LoggingEnableDebug = Logger.EnableDebug, + LoggingEnableStub = Logger.EnableStub, + LoggingEnableInfo = Logger.EnableInfo, + LoggingEnableWarn = Logger.EnableWarn, + LoggingEnableError = Logger.EnableError, + LoggingEnableTrace = Logger.EnableTrace, + LoggingEnableGuest = Logger.EnableGuest, + LoggingEnableFsAccessLog = Logger.EnableFsAccessLog, + LoggingFilteredClasses = Logger.FilteredClasses, + LoggingGraphicsDebugLevel = Logger.GraphicsDebugLevel, + SystemLanguage = System.Language, + SystemRegion = System.Region, + SystemTimeZone = System.TimeZone, + SystemTimeOffset = System.SystemTimeOffset, + DockedMode = System.EnableDockedMode, + EnableDiscordIntegration = EnableDiscordIntegration, + CheckUpdatesOnStart = CheckUpdatesOnStart, + ShowConfirmExit = ShowConfirmExit, + HideCursorOnIdle = HideCursorOnIdle, + EnableVsync = Graphics.EnableVsync, + EnableShaderCache = Graphics.EnableShaderCache, + EnableTextureRecompression = Graphics.EnableTextureRecompression, + EnablePtc = System.EnablePtc, + EnableInternetAccess = System.EnableInternetAccess, + EnableFsIntegrityChecks = System.EnableFsIntegrityChecks, + FsGlobalAccessLogMode = System.FsGlobalAccessLogMode, + AudioBackend = System.AudioBackend, + AudioVolume = System.AudioVolume, + MemoryManagerMode = System.MemoryManagerMode, + ExpandRam = System.ExpandRam, + IgnoreMissingServices = System.IgnoreMissingServices, + GuiColumns = new GuiColumns { FavColumn = Ui.GuiColumns.FavColumn, IconColumn = Ui.GuiColumns.IconColumn, @@ -554,32 +569,33 @@ namespace Ryujinx.Ui.Common.Configuration LastPlayedColumn = Ui.GuiColumns.LastPlayedColumn, FileExtColumn = Ui.GuiColumns.FileExtColumn, FileSizeColumn = Ui.GuiColumns.FileSizeColumn, - PathColumn = Ui.GuiColumns.PathColumn, + PathColumn = Ui.GuiColumns.PathColumn }, - ColumnSort = new ColumnSort + ColumnSort = new ColumnSort { SortColumnId = Ui.ColumnSort.SortColumnId, SortAscending = Ui.ColumnSort.SortAscending }, - GameDirs = Ui.GameDirs, - LanguageCode = Ui.LanguageCode, - EnableCustomTheme = Ui.EnableCustomTheme, - CustomThemePath = Ui.CustomThemePath, - BaseStyle = Ui.BaseStyle, - GameListViewMode = Ui.GameListViewMode, - ShowNames = Ui.ShowNames, - GridSize = Ui.GridSize, - ApplicationSort = Ui.ApplicationSort, - IsAscendingOrder = Ui.IsAscendingOrder, - StartFullscreen = Ui.StartFullscreen, - ShowConsole = Ui.ShowConsole, - EnableKeyboard = Hid.EnableKeyboard, - EnableMouse = Hid.EnableMouse, - Hotkeys = Hid.Hotkeys, - KeyboardConfig = new List(), - ControllerConfig = new List(), - InputConfig = Hid.InputConfig, - GraphicsBackend = Graphics.GraphicsBackend, + GameDirs = Ui.GameDirs, + LanguageCode = Ui.LanguageCode, + EnableCustomTheme = Ui.EnableCustomTheme, + CustomThemePath = Ui.CustomThemePath, + BaseStyle = Ui.BaseStyle, + GameListViewMode = Ui.GameListViewMode, + ShowNames = Ui.ShowNames, + GridSize = Ui.GridSize, + ApplicationSort = Ui.ApplicationSort, + IsAscendingOrder = Ui.IsAscendingOrder, + StartFullscreen = Ui.StartFullscreen, + ShowConsole = Ui.ShowConsole, + EnableKeyboard = Hid.EnableKeyboard, + EnableMouse = Hid.EnableMouse, + Hotkeys = Hid.Hotkeys, + KeyboardConfig = new List(), + ControllerConfig = new List(), + InputConfig = Hid.InputConfig, + GraphicsBackend = Graphics.GraphicsBackend, + PreferredGpu = Graphics.PreferredGpu }; return configurationFile; @@ -587,70 +603,72 @@ namespace Ryujinx.Ui.Common.Configuration public void LoadDefault() { - Logger.EnableFileLog.Value = true; - Graphics.BackendThreading.Value = BackendThreading.Auto; - Graphics.ResScale.Value = 1; - Graphics.ResScaleCustom.Value = 1.0f; - Graphics.MaxAnisotropy.Value = -1.0f; - Graphics.AspectRatio.Value = AspectRatio.Fixed16x9; - Graphics.GraphicsBackend.Value = GraphicsBackend.OpenGl; - Graphics.ShadersDumpPath.Value = ""; - Logger.EnableDebug.Value = false; - Logger.EnableStub.Value = true; - Logger.EnableInfo.Value = true; - Logger.EnableWarn.Value = true; - Logger.EnableError.Value = true; - Logger.EnableTrace.Value = false; - Logger.EnableGuest.Value = true; - Logger.EnableFsAccessLog.Value = false; - Logger.FilteredClasses.Value = Array.Empty(); - Logger.GraphicsDebugLevel.Value = GraphicsDebugLevel.None; - System.Language.Value = Language.AmericanEnglish; - System.Region.Value = Region.USA; - System.TimeZone.Value = "UTC"; - System.SystemTimeOffset.Value = 0; - System.EnableDockedMode.Value = true; - EnableDiscordIntegration.Value = true; - CheckUpdatesOnStart.Value = true; - ShowConfirmExit.Value = true; - HideCursorOnIdle.Value = false; - Graphics.EnableVsync.Value = true; - Graphics.EnableShaderCache.Value = true; - System.EnablePtc.Value = true; - System.EnableInternetAccess.Value = false; - System.EnableFsIntegrityChecks.Value = true; - System.FsGlobalAccessLogMode.Value = 0; - System.AudioBackend.Value = AudioBackend.SDL2; - System.AudioVolume.Value = 1; - System.MemoryManagerMode.Value = MemoryManagerMode.HostMappedUnsafe; - System.ExpandRam.Value = false; - System.IgnoreMissingServices.Value = false; - Ui.GuiColumns.FavColumn.Value = true; - Ui.GuiColumns.IconColumn.Value = true; - Ui.GuiColumns.AppColumn.Value = true; - Ui.GuiColumns.DevColumn.Value = true; - Ui.GuiColumns.VersionColumn.Value = true; - Ui.GuiColumns.TimePlayedColumn.Value = true; - Ui.GuiColumns.LastPlayedColumn.Value = true; - Ui.GuiColumns.FileExtColumn.Value = true; - Ui.GuiColumns.FileSizeColumn.Value = true; - Ui.GuiColumns.PathColumn.Value = true; - Ui.ColumnSort.SortColumnId.Value = 0; - Ui.ColumnSort.SortAscending.Value = false; - Ui.GameDirs.Value = new List(); - Ui.EnableCustomTheme.Value = false; - Ui.LanguageCode.Value = "en_US"; - Ui.CustomThemePath.Value = ""; - Ui.BaseStyle.Value = "Dark"; - Ui.GameListViewMode.Value = 0; - Ui.ShowNames.Value = true; - Ui.GridSize.Value = 2; - Ui.ApplicationSort.Value = 0; - Ui.IsAscendingOrder.Value = true; - Ui.StartFullscreen.Value = false; - Ui.ShowConsole.Value = true; - Hid.EnableKeyboard.Value = false; - Hid.EnableMouse.Value = false; + Logger.EnableFileLog.Value = true; + Graphics.BackendThreading.Value = BackendThreading.Auto; + Graphics.ResScale.Value = 1; + Graphics.ResScaleCustom.Value = 1.0f; + Graphics.MaxAnisotropy.Value = -1.0f; + Graphics.AspectRatio.Value = AspectRatio.Fixed16x9; + Graphics.GraphicsBackend.Value = GraphicsBackend.OpenGl; + Graphics.PreferredGpu.Value = ""; + Graphics.ShadersDumpPath.Value = ""; + Logger.EnableDebug.Value = false; + Logger.EnableStub.Value = true; + Logger.EnableInfo.Value = true; + Logger.EnableWarn.Value = true; + Logger.EnableError.Value = true; + Logger.EnableTrace.Value = false; + Logger.EnableGuest.Value = true; + Logger.EnableFsAccessLog.Value = false; + Logger.FilteredClasses.Value = Array.Empty(); + Logger.GraphicsDebugLevel.Value = GraphicsDebugLevel.None; + System.Language.Value = Language.AmericanEnglish; + System.Region.Value = Region.USA; + System.TimeZone.Value = "UTC"; + System.SystemTimeOffset.Value = 0; + System.EnableDockedMode.Value = true; + EnableDiscordIntegration.Value = true; + CheckUpdatesOnStart.Value = true; + ShowConfirmExit.Value = true; + HideCursorOnIdle.Value = false; + Graphics.EnableVsync.Value = true; + Graphics.EnableShaderCache.Value = true; + Graphics.EnableTextureRecompression.Value = false; + System.EnablePtc.Value = true; + System.EnableInternetAccess.Value = false; + System.EnableFsIntegrityChecks.Value = true; + System.FsGlobalAccessLogMode.Value = 0; + System.AudioBackend.Value = AudioBackend.SDL2; + System.AudioVolume.Value = 1; + System.MemoryManagerMode.Value = MemoryManagerMode.HostMappedUnsafe; + System.ExpandRam.Value = false; + System.IgnoreMissingServices.Value = false; + Ui.GuiColumns.FavColumn.Value = true; + Ui.GuiColumns.IconColumn.Value = true; + Ui.GuiColumns.AppColumn.Value = true; + Ui.GuiColumns.DevColumn.Value = true; + Ui.GuiColumns.VersionColumn.Value = true; + Ui.GuiColumns.TimePlayedColumn.Value = true; + Ui.GuiColumns.LastPlayedColumn.Value = true; + Ui.GuiColumns.FileExtColumn.Value = true; + Ui.GuiColumns.FileSizeColumn.Value = true; + Ui.GuiColumns.PathColumn.Value = true; + Ui.ColumnSort.SortColumnId.Value = 0; + Ui.ColumnSort.SortAscending.Value = false; + Ui.GameDirs.Value = new List(); + Ui.EnableCustomTheme.Value = false; + Ui.LanguageCode.Value = "en_US"; + Ui.CustomThemePath.Value = ""; + Ui.BaseStyle.Value = "Dark"; + Ui.GameListViewMode.Value = 0; + Ui.ShowNames.Value = true; + Ui.GridSize.Value = 2; + Ui.ApplicationSort.Value = 0; + Ui.IsAscendingOrder.Value = true; + Ui.StartFullscreen.Value = false; + Ui.ShowConsole.Value = true; + Hid.EnableKeyboard.Value = false; + Hid.EnableMouse.Value = false; Hid.Hotkeys.Value = new KeyboardHotkeys { ToggleVsync = Key.Tab, @@ -976,7 +994,7 @@ namespace Ryujinx.Ui.Common.Configuration if (configurationFileFormat.Version < 29) { Ryujinx.Common.Logging.Logger.Warning?.Print(LogClass.Application, $"Outdated configuration version {configurationFileFormat.Version}, migrating to version 29."); - + configurationFileFormat.Hotkeys = new KeyboardHotkeys { ToggleVsync = Key.Tab, @@ -1105,72 +1123,74 @@ namespace Ryujinx.Ui.Common.Configuration configurationFileUpdated = true; } - Logger.EnableFileLog.Value = configurationFileFormat.EnableFileLog; - Graphics.ResScale.Value = configurationFileFormat.ResScale; - Graphics.ResScaleCustom.Value = configurationFileFormat.ResScaleCustom; - Graphics.MaxAnisotropy.Value = configurationFileFormat.MaxAnisotropy; - Graphics.AspectRatio.Value = configurationFileFormat.AspectRatio; - Graphics.ShadersDumpPath.Value = configurationFileFormat.GraphicsShadersDumpPath; - Graphics.BackendThreading.Value = configurationFileFormat.BackendThreading; - Graphics.GraphicsBackend.Value = configurationFileFormat.GraphicsBackend; - Logger.EnableDebug.Value = configurationFileFormat.LoggingEnableDebug; - Logger.EnableStub.Value = configurationFileFormat.LoggingEnableStub; - Logger.EnableInfo.Value = configurationFileFormat.LoggingEnableInfo; - Logger.EnableWarn.Value = configurationFileFormat.LoggingEnableWarn; - Logger.EnableError.Value = configurationFileFormat.LoggingEnableError; - Logger.EnableTrace.Value = configurationFileFormat.LoggingEnableTrace; - Logger.EnableGuest.Value = configurationFileFormat.LoggingEnableGuest; - Logger.EnableFsAccessLog.Value = configurationFileFormat.LoggingEnableFsAccessLog; - Logger.FilteredClasses.Value = configurationFileFormat.LoggingFilteredClasses; - Logger.GraphicsDebugLevel.Value = configurationFileFormat.LoggingGraphicsDebugLevel; - System.Language.Value = configurationFileFormat.SystemLanguage; - System.Region.Value = configurationFileFormat.SystemRegion; - System.TimeZone.Value = configurationFileFormat.SystemTimeZone; - System.SystemTimeOffset.Value = configurationFileFormat.SystemTimeOffset; - System.EnableDockedMode.Value = configurationFileFormat.DockedMode; - EnableDiscordIntegration.Value = configurationFileFormat.EnableDiscordIntegration; - CheckUpdatesOnStart.Value = configurationFileFormat.CheckUpdatesOnStart; - ShowConfirmExit.Value = configurationFileFormat.ShowConfirmExit; - HideCursorOnIdle.Value = configurationFileFormat.HideCursorOnIdle; - Graphics.EnableVsync.Value = configurationFileFormat.EnableVsync; - Graphics.EnableShaderCache.Value = configurationFileFormat.EnableShaderCache; - System.EnablePtc.Value = configurationFileFormat.EnablePtc; - System.EnableInternetAccess.Value = configurationFileFormat.EnableInternetAccess; - System.EnableFsIntegrityChecks.Value = configurationFileFormat.EnableFsIntegrityChecks; - System.FsGlobalAccessLogMode.Value = configurationFileFormat.FsGlobalAccessLogMode; - System.AudioBackend.Value = configurationFileFormat.AudioBackend; - System.AudioVolume.Value = configurationFileFormat.AudioVolume; - System.MemoryManagerMode.Value = configurationFileFormat.MemoryManagerMode; - System.ExpandRam.Value = configurationFileFormat.ExpandRam; - System.IgnoreMissingServices.Value = configurationFileFormat.IgnoreMissingServices; - Ui.GuiColumns.FavColumn.Value = configurationFileFormat.GuiColumns.FavColumn; - Ui.GuiColumns.IconColumn.Value = configurationFileFormat.GuiColumns.IconColumn; - Ui.GuiColumns.AppColumn.Value = configurationFileFormat.GuiColumns.AppColumn; - Ui.GuiColumns.DevColumn.Value = configurationFileFormat.GuiColumns.DevColumn; - Ui.GuiColumns.VersionColumn.Value = configurationFileFormat.GuiColumns.VersionColumn; - Ui.GuiColumns.TimePlayedColumn.Value = configurationFileFormat.GuiColumns.TimePlayedColumn; - Ui.GuiColumns.LastPlayedColumn.Value = configurationFileFormat.GuiColumns.LastPlayedColumn; - Ui.GuiColumns.FileExtColumn.Value = configurationFileFormat.GuiColumns.FileExtColumn; - Ui.GuiColumns.FileSizeColumn.Value = configurationFileFormat.GuiColumns.FileSizeColumn; - Ui.GuiColumns.PathColumn.Value = configurationFileFormat.GuiColumns.PathColumn; - Ui.ColumnSort.SortColumnId.Value = configurationFileFormat.ColumnSort.SortColumnId; - Ui.ColumnSort.SortAscending.Value = configurationFileFormat.ColumnSort.SortAscending; - Ui.GameDirs.Value = configurationFileFormat.GameDirs; - Ui.EnableCustomTheme.Value = configurationFileFormat.EnableCustomTheme; - Ui.LanguageCode.Value = configurationFileFormat.LanguageCode; - Ui.CustomThemePath.Value = configurationFileFormat.CustomThemePath; - Ui.BaseStyle.Value = configurationFileFormat.BaseStyle; - Ui.GameListViewMode.Value = configurationFileFormat.GameListViewMode; - Ui.ShowNames.Value = configurationFileFormat.ShowNames; - Ui.IsAscendingOrder.Value = configurationFileFormat.IsAscendingOrder; - Ui.GridSize.Value = configurationFileFormat.GridSize; - Ui.ApplicationSort.Value = configurationFileFormat.ApplicationSort; - Ui.StartFullscreen.Value = configurationFileFormat.StartFullscreen; - Ui.ShowConsole.Value = configurationFileFormat.ShowConsole; - Hid.EnableKeyboard.Value = configurationFileFormat.EnableKeyboard; - Hid.EnableMouse.Value = configurationFileFormat.EnableMouse; - Hid.Hotkeys.Value = configurationFileFormat.Hotkeys; - Hid.InputConfig.Value = configurationFileFormat.InputConfig; + Logger.EnableFileLog.Value = configurationFileFormat.EnableFileLog; + Graphics.ResScale.Value = configurationFileFormat.ResScale; + Graphics.ResScaleCustom.Value = configurationFileFormat.ResScaleCustom; + Graphics.MaxAnisotropy.Value = configurationFileFormat.MaxAnisotropy; + Graphics.AspectRatio.Value = configurationFileFormat.AspectRatio; + Graphics.ShadersDumpPath.Value = configurationFileFormat.GraphicsShadersDumpPath; + Graphics.BackendThreading.Value = configurationFileFormat.BackendThreading; + Graphics.GraphicsBackend.Value = configurationFileFormat.GraphicsBackend; + Graphics.PreferredGpu.Value = configurationFileFormat.PreferredGpu; + Logger.EnableDebug.Value = configurationFileFormat.LoggingEnableDebug; + Logger.EnableStub.Value = configurationFileFormat.LoggingEnableStub; + Logger.EnableInfo.Value = configurationFileFormat.LoggingEnableInfo; + Logger.EnableWarn.Value = configurationFileFormat.LoggingEnableWarn; + Logger.EnableError.Value = configurationFileFormat.LoggingEnableError; + Logger.EnableTrace.Value = configurationFileFormat.LoggingEnableTrace; + Logger.EnableGuest.Value = configurationFileFormat.LoggingEnableGuest; + Logger.EnableFsAccessLog.Value = configurationFileFormat.LoggingEnableFsAccessLog; + Logger.FilteredClasses.Value = configurationFileFormat.LoggingFilteredClasses; + Logger.GraphicsDebugLevel.Value = configurationFileFormat.LoggingGraphicsDebugLevel; + System.Language.Value = configurationFileFormat.SystemLanguage; + System.Region.Value = configurationFileFormat.SystemRegion; + System.TimeZone.Value = configurationFileFormat.SystemTimeZone; + System.SystemTimeOffset.Value = configurationFileFormat.SystemTimeOffset; + System.EnableDockedMode.Value = configurationFileFormat.DockedMode; + EnableDiscordIntegration.Value = configurationFileFormat.EnableDiscordIntegration; + CheckUpdatesOnStart.Value = configurationFileFormat.CheckUpdatesOnStart; + ShowConfirmExit.Value = configurationFileFormat.ShowConfirmExit; + HideCursorOnIdle.Value = configurationFileFormat.HideCursorOnIdle; + Graphics.EnableVsync.Value = configurationFileFormat.EnableVsync; + Graphics.EnableShaderCache.Value = configurationFileFormat.EnableShaderCache; + Graphics.EnableTextureRecompression.Value = configurationFileFormat.EnableTextureRecompression; + System.EnablePtc.Value = configurationFileFormat.EnablePtc; + System.EnableInternetAccess.Value = configurationFileFormat.EnableInternetAccess; + System.EnableFsIntegrityChecks.Value = configurationFileFormat.EnableFsIntegrityChecks; + System.FsGlobalAccessLogMode.Value = configurationFileFormat.FsGlobalAccessLogMode; + System.AudioBackend.Value = configurationFileFormat.AudioBackend; + System.AudioVolume.Value = configurationFileFormat.AudioVolume; + System.MemoryManagerMode.Value = configurationFileFormat.MemoryManagerMode; + System.ExpandRam.Value = configurationFileFormat.ExpandRam; + System.IgnoreMissingServices.Value = configurationFileFormat.IgnoreMissingServices; + Ui.GuiColumns.FavColumn.Value = configurationFileFormat.GuiColumns.FavColumn; + Ui.GuiColumns.IconColumn.Value = configurationFileFormat.GuiColumns.IconColumn; + Ui.GuiColumns.AppColumn.Value = configurationFileFormat.GuiColumns.AppColumn; + Ui.GuiColumns.DevColumn.Value = configurationFileFormat.GuiColumns.DevColumn; + Ui.GuiColumns.VersionColumn.Value = configurationFileFormat.GuiColumns.VersionColumn; + Ui.GuiColumns.TimePlayedColumn.Value = configurationFileFormat.GuiColumns.TimePlayedColumn; + Ui.GuiColumns.LastPlayedColumn.Value = configurationFileFormat.GuiColumns.LastPlayedColumn; + Ui.GuiColumns.FileExtColumn.Value = configurationFileFormat.GuiColumns.FileExtColumn; + Ui.GuiColumns.FileSizeColumn.Value = configurationFileFormat.GuiColumns.FileSizeColumn; + Ui.GuiColumns.PathColumn.Value = configurationFileFormat.GuiColumns.PathColumn; + Ui.ColumnSort.SortColumnId.Value = configurationFileFormat.ColumnSort.SortColumnId; + Ui.ColumnSort.SortAscending.Value = configurationFileFormat.ColumnSort.SortAscending; + Ui.GameDirs.Value = configurationFileFormat.GameDirs; + Ui.EnableCustomTheme.Value = configurationFileFormat.EnableCustomTheme; + Ui.LanguageCode.Value = configurationFileFormat.LanguageCode; + Ui.CustomThemePath.Value = configurationFileFormat.CustomThemePath; + Ui.BaseStyle.Value = configurationFileFormat.BaseStyle; + Ui.GameListViewMode.Value = configurationFileFormat.GameListViewMode; + Ui.ShowNames.Value = configurationFileFormat.ShowNames; + Ui.IsAscendingOrder.Value = configurationFileFormat.IsAscendingOrder; + Ui.GridSize.Value = configurationFileFormat.GridSize; + Ui.ApplicationSort.Value = configurationFileFormat.ApplicationSort; + Ui.StartFullscreen.Value = configurationFileFormat.StartFullscreen; + Ui.ShowConsole.Value = configurationFileFormat.ShowConsole; + Hid.EnableKeyboard.Value = configurationFileFormat.EnableKeyboard; + Hid.EnableMouse.Value = configurationFileFormat.EnableMouse; + Hid.Hotkeys.Value = configurationFileFormat.Hotkeys; + Hid.InputConfig.Value = configurationFileFormat.InputConfig; if (Hid.InputConfig.Value == null) { diff --git a/Ryujinx/Ui/MainWindow.cs b/Ryujinx/Ui/MainWindow.cs index be7956437..e8e200db7 100644 --- a/Ryujinx/Ui/MainWindow.cs +++ b/Ryujinx/Ui/MainWindow.cs @@ -410,8 +410,8 @@ namespace Ryujinx.Ui if (ConfigurationState.Instance.Graphics.GraphicsBackend == GraphicsBackend.Vulkan) { - renderer = new VulkanGraphicsDevice((instance, vk) => new SurfaceKHR((ulong)((VKRenderer)RendererWidget).CreateWindowSurface(instance.Handle)), - VulkanHelper.GetRequiredInstanceExtensions); + string preferredGpu = ConfigurationState.Instance.Graphics.PreferredGpu.Value; + renderer = new VulkanGraphicsDevice(CreateVulkanSurface, VulkanHelper.GetRequiredInstanceExtensions, preferredGpu); } else { @@ -582,6 +582,11 @@ namespace Ryujinx.Ui _emulationContext = new HLE.Switch(configuration); } + private SurfaceKHR CreateVulkanSurface(Instance instance, Vk vk) + { + return new SurfaceKHR((ulong)((VKRenderer)RendererWidget).CreateWindowSurface(instance.Handle)); + } + private void SetupProgressUiHandlers() { Ptc.PtcStateChanged -= ProgressHandler; @@ -1034,10 +1039,11 @@ namespace Ryujinx.Ui int resScale = ConfigurationState.Instance.Graphics.ResScale; float resScaleCustom = ConfigurationState.Instance.Graphics.ResScaleCustom; - Graphics.Gpu.GraphicsConfig.ResScale = (resScale == -1) ? resScaleCustom : resScale; - Graphics.Gpu.GraphicsConfig.MaxAnisotropy = ConfigurationState.Instance.Graphics.MaxAnisotropy; - Graphics.Gpu.GraphicsConfig.ShadersDumpPath = ConfigurationState.Instance.Graphics.ShadersDumpPath; - Graphics.Gpu.GraphicsConfig.EnableShaderCache = ConfigurationState.Instance.Graphics.EnableShaderCache; + Graphics.Gpu.GraphicsConfig.ResScale = (resScale == -1) ? resScaleCustom : resScale; + Graphics.Gpu.GraphicsConfig.MaxAnisotropy = ConfigurationState.Instance.Graphics.MaxAnisotropy; + Graphics.Gpu.GraphicsConfig.ShadersDumpPath = ConfigurationState.Instance.Graphics.ShadersDumpPath; + Graphics.Gpu.GraphicsConfig.EnableShaderCache = ConfigurationState.Instance.Graphics.EnableShaderCache; + Graphics.Gpu.GraphicsConfig.EnableTextureRecompression = ConfigurationState.Instance.Graphics.EnableTextureRecompression; } public void SaveConfig() diff --git a/Ryujinx/Ui/Windows/SettingsWindow.cs b/Ryujinx/Ui/Windows/SettingsWindow.cs index 5ab9b61a3..c339ed124 100644 --- a/Ryujinx/Ui/Windows/SettingsWindow.cs +++ b/Ryujinx/Ui/Windows/SettingsWindow.cs @@ -6,6 +6,7 @@ using Ryujinx.Audio.Backends.SoundIo; using Ryujinx.Common.Configuration; using Ryujinx.Common.Configuration.Hid; using Ryujinx.Common.GraphicsDriver; +using Ryujinx.Graphics.Vulkan; using Ryujinx.Ui.Common.Configuration; using Ryujinx.HLE.FileSystem; using Ryujinx.HLE.HOS.Services.Time.TimeZone; @@ -53,6 +54,7 @@ namespace Ryujinx.Ui.Windows [GUI] CheckButton _hideCursorOnIdleToggle; [GUI] CheckButton _vSyncToggle; [GUI] CheckButton _shaderCacheToggle; + [GUI] CheckButton _textureRecompressionToggle; [GUI] CheckButton _ptcToggle; [GUI] CheckButton _internetToggle; [GUI] CheckButton _fsicToggle; @@ -92,6 +94,7 @@ namespace Ryujinx.Ui.Windows [GUI] ComboBoxText _anisotropy; [GUI] ComboBoxText _aspectRatio; [GUI] ComboBoxText _graphicsBackend; + [GUI] ComboBoxText _preferredGpu; [GUI] ComboBoxText _resScaleCombo; [GUI] Entry _resScaleText; [GUI] ToggleButton _configureController1; @@ -230,6 +233,11 @@ namespace Ryujinx.Ui.Windows _shaderCacheToggle.Click(); } + if (ConfigurationState.Instance.Graphics.EnableTextureRecompression) + { + _textureRecompressionToggle.Click(); + } + if (ConfigurationState.Instance.System.EnablePtc) { _ptcToggle.Click(); @@ -324,6 +332,10 @@ namespace Ryujinx.Ui.Windows _aspectRatio.SetActiveId(((int)ConfigurationState.Instance.Graphics.AspectRatio.Value).ToString()); _graphicsBackend.SetActiveId(((int)ConfigurationState.Instance.Graphics.GraphicsBackend.Value).ToString()); + UpdatePreferredGpuComboBox(); + + _graphicsBackend.Changed += (sender, e) => UpdatePreferredGpuComboBox(); + _custThemePath.Buffer.Text = ConfigurationState.Instance.Ui.CustomThemePath; _resScaleText.Buffer.Text = ConfigurationState.Instance.Graphics.ResScaleCustom.Value.ToString(); _resScaleText.Visible = _resScaleCombo.ActiveId == "-1"; @@ -347,7 +359,7 @@ namespace Ryujinx.Ui.Windows _browseThemePath.Sensitive = false; } - //Setup system time spinners + // Setup system time spinners UpdateSystemTimeSpinners(); _audioBackendStore = new ListStore(typeof(string), typeof(AudioBackend)); @@ -421,6 +433,39 @@ namespace Ryujinx.Ui.Windows }); } + private void UpdatePreferredGpuComboBox() + { + _preferredGpu.RemoveAll(); + + if (Enum.Parse(_graphicsBackend.ActiveId) == GraphicsBackend.Vulkan) + { + var devices = VulkanGraphicsDevice.GetPhysicalDevices(); + string preferredGpuIdFromConfig = ConfigurationState.Instance.Graphics.PreferredGpu.Value; + string preferredGpuId = preferredGpuIdFromConfig; + bool noGpuId = string.IsNullOrEmpty(preferredGpuIdFromConfig); + + foreach (var device in devices) + { + string dGPU = device.IsDiscrete ? " (dGPU)" : ""; + _preferredGpu.Append(device.Id, $"{device.Name}{dGPU}"); + + // If there's no GPU selected yet, we just pick the first GPU. + // If there's a discrete GPU available, we always prefer that over the previous selection, + // as it is likely to have better performance and more features. + // If the configuration file already has a GPU selection, we always prefer that instead. + if (noGpuId && (string.IsNullOrEmpty(preferredGpuId) || device.IsDiscrete)) + { + preferredGpuId = device.Id; + } + } + + if (!string.IsNullOrEmpty(preferredGpuId)) + { + _preferredGpu.SetActiveId(preferredGpuId); + } + } + } + private void UpdateSystemTimeSpinners() { //Bind system time events @@ -494,46 +539,48 @@ namespace Ryujinx.Ui.Windows DriverUtilities.ToggleOGLThreading(backendThreading == BackendThreading.Off); } - ConfigurationState.Instance.Logger.EnableError.Value = _errorLogToggle.Active; - ConfigurationState.Instance.Logger.EnableTrace.Value = _traceLogToggle.Active; - ConfigurationState.Instance.Logger.EnableWarn.Value = _warningLogToggle.Active; - ConfigurationState.Instance.Logger.EnableInfo.Value = _infoLogToggle.Active; - ConfigurationState.Instance.Logger.EnableStub.Value = _stubLogToggle.Active; - ConfigurationState.Instance.Logger.EnableDebug.Value = _debugLogToggle.Active; - ConfigurationState.Instance.Logger.EnableGuest.Value = _guestLogToggle.Active; - ConfigurationState.Instance.Logger.EnableFsAccessLog.Value = _fsAccessLogToggle.Active; - ConfigurationState.Instance.Logger.EnableFileLog.Value = _fileLogToggle.Active; - ConfigurationState.Instance.Logger.GraphicsDebugLevel.Value = Enum.Parse(_graphicsDebugLevel.ActiveId); - ConfigurationState.Instance.System.EnableDockedMode.Value = _dockedModeToggle.Active; - ConfigurationState.Instance.EnableDiscordIntegration.Value = _discordToggle.Active; - ConfigurationState.Instance.CheckUpdatesOnStart.Value = _checkUpdatesToggle.Active; - ConfigurationState.Instance.ShowConfirmExit.Value = _showConfirmExitToggle.Active; - ConfigurationState.Instance.HideCursorOnIdle.Value = _hideCursorOnIdleToggle.Active; - ConfigurationState.Instance.Graphics.EnableVsync.Value = _vSyncToggle.Active; - ConfigurationState.Instance.Graphics.EnableShaderCache.Value = _shaderCacheToggle.Active; - ConfigurationState.Instance.System.EnablePtc.Value = _ptcToggle.Active; - ConfigurationState.Instance.System.EnableInternetAccess.Value = _internetToggle.Active; - ConfigurationState.Instance.System.EnableFsIntegrityChecks.Value = _fsicToggle.Active; - ConfigurationState.Instance.System.MemoryManagerMode.Value = memoryMode; - ConfigurationState.Instance.System.ExpandRam.Value = _expandRamToggle.Active; - ConfigurationState.Instance.System.IgnoreMissingServices.Value = _ignoreToggle.Active; - ConfigurationState.Instance.Hid.EnableKeyboard.Value = _directKeyboardAccess.Active; - ConfigurationState.Instance.Hid.EnableMouse.Value = _directMouseAccess.Active; - ConfigurationState.Instance.Ui.EnableCustomTheme.Value = _custThemeToggle.Active; - ConfigurationState.Instance.System.Language.Value = Enum.Parse(_systemLanguageSelect.ActiveId); - ConfigurationState.Instance.System.Region.Value = Enum.Parse(_systemRegionSelect.ActiveId); - ConfigurationState.Instance.System.SystemTimeOffset.Value = _systemTimeOffset; - ConfigurationState.Instance.Ui.CustomThemePath.Value = _custThemePath.Buffer.Text; - ConfigurationState.Instance.Graphics.ShadersDumpPath.Value = _graphicsShadersDumpPath.Buffer.Text; - ConfigurationState.Instance.Ui.GameDirs.Value = gameDirs; - ConfigurationState.Instance.System.FsGlobalAccessLogMode.Value = (int)_fsLogSpinAdjustment.Value; - ConfigurationState.Instance.Graphics.MaxAnisotropy.Value = float.Parse(_anisotropy.ActiveId, CultureInfo.InvariantCulture); - ConfigurationState.Instance.Graphics.AspectRatio.Value = Enum.Parse(_aspectRatio.ActiveId); - ConfigurationState.Instance.Graphics.BackendThreading.Value = backendThreading; - ConfigurationState.Instance.Graphics.GraphicsBackend.Value = Enum.Parse(_graphicsBackend.ActiveId); - ConfigurationState.Instance.Graphics.ResScale.Value = int.Parse(_resScaleCombo.ActiveId); - ConfigurationState.Instance.Graphics.ResScaleCustom.Value = resScaleCustom; - ConfigurationState.Instance.System.AudioVolume.Value = (float)_audioVolumeSlider.Value / 100.0f; + ConfigurationState.Instance.Logger.EnableError.Value = _errorLogToggle.Active; + ConfigurationState.Instance.Logger.EnableTrace.Value = _traceLogToggle.Active; + ConfigurationState.Instance.Logger.EnableWarn.Value = _warningLogToggle.Active; + ConfigurationState.Instance.Logger.EnableInfo.Value = _infoLogToggle.Active; + ConfigurationState.Instance.Logger.EnableStub.Value = _stubLogToggle.Active; + ConfigurationState.Instance.Logger.EnableDebug.Value = _debugLogToggle.Active; + ConfigurationState.Instance.Logger.EnableGuest.Value = _guestLogToggle.Active; + ConfigurationState.Instance.Logger.EnableFsAccessLog.Value = _fsAccessLogToggle.Active; + ConfigurationState.Instance.Logger.EnableFileLog.Value = _fileLogToggle.Active; + ConfigurationState.Instance.Logger.GraphicsDebugLevel.Value = Enum.Parse(_graphicsDebugLevel.ActiveId); + ConfigurationState.Instance.System.EnableDockedMode.Value = _dockedModeToggle.Active; + ConfigurationState.Instance.EnableDiscordIntegration.Value = _discordToggle.Active; + ConfigurationState.Instance.CheckUpdatesOnStart.Value = _checkUpdatesToggle.Active; + ConfigurationState.Instance.ShowConfirmExit.Value = _showConfirmExitToggle.Active; + ConfigurationState.Instance.HideCursorOnIdle.Value = _hideCursorOnIdleToggle.Active; + ConfigurationState.Instance.Graphics.EnableVsync.Value = _vSyncToggle.Active; + ConfigurationState.Instance.Graphics.EnableShaderCache.Value = _shaderCacheToggle.Active; + ConfigurationState.Instance.Graphics.EnableTextureRecompression.Value = _textureRecompressionToggle.Active; + ConfigurationState.Instance.System.EnablePtc.Value = _ptcToggle.Active; + ConfigurationState.Instance.System.EnableInternetAccess.Value = _internetToggle.Active; + ConfigurationState.Instance.System.EnableFsIntegrityChecks.Value = _fsicToggle.Active; + ConfigurationState.Instance.System.MemoryManagerMode.Value = memoryMode; + ConfigurationState.Instance.System.ExpandRam.Value = _expandRamToggle.Active; + ConfigurationState.Instance.System.IgnoreMissingServices.Value = _ignoreToggle.Active; + ConfigurationState.Instance.Hid.EnableKeyboard.Value = _directKeyboardAccess.Active; + ConfigurationState.Instance.Hid.EnableMouse.Value = _directMouseAccess.Active; + ConfigurationState.Instance.Ui.EnableCustomTheme.Value = _custThemeToggle.Active; + ConfigurationState.Instance.System.Language.Value = Enum.Parse(_systemLanguageSelect.ActiveId); + ConfigurationState.Instance.System.Region.Value = Enum.Parse(_systemRegionSelect.ActiveId); + ConfigurationState.Instance.System.SystemTimeOffset.Value = _systemTimeOffset; + ConfigurationState.Instance.Ui.CustomThemePath.Value = _custThemePath.Buffer.Text; + ConfigurationState.Instance.Graphics.ShadersDumpPath.Value = _graphicsShadersDumpPath.Buffer.Text; + ConfigurationState.Instance.Ui.GameDirs.Value = gameDirs; + ConfigurationState.Instance.System.FsGlobalAccessLogMode.Value = (int)_fsLogSpinAdjustment.Value; + ConfigurationState.Instance.Graphics.MaxAnisotropy.Value = float.Parse(_anisotropy.ActiveId, CultureInfo.InvariantCulture); + ConfigurationState.Instance.Graphics.AspectRatio.Value = Enum.Parse(_aspectRatio.ActiveId); + ConfigurationState.Instance.Graphics.BackendThreading.Value = backendThreading; + ConfigurationState.Instance.Graphics.GraphicsBackend.Value = Enum.Parse(_graphicsBackend.ActiveId); + ConfigurationState.Instance.Graphics.PreferredGpu.Value = _preferredGpu.ActiveId; + ConfigurationState.Instance.Graphics.ResScale.Value = int.Parse(_resScaleCombo.ActiveId); + ConfigurationState.Instance.Graphics.ResScaleCustom.Value = resScaleCustom; + ConfigurationState.Instance.System.AudioVolume.Value = (float)_audioVolumeSlider.Value / 100.0f; _previousVolumeLevel = ConfigurationState.Instance.System.AudioVolume.Value; diff --git a/Ryujinx/Ui/Windows/SettingsWindow.glade b/Ryujinx/Ui/Windows/SettingsWindow.glade index f573ac709..ecd59e727 100644 --- a/Ryujinx/Ui/Windows/SettingsWindow.glade +++ b/Ryujinx/Ui/Windows/SettingsWindow.glade @@ -1897,7 +1897,7 @@ False True 5 - 1 + 0 @@ -1945,6 +1945,47 @@ 1 + + + True + False + 5 + 5 + + + True + False + Preferred GPU (Vulkan only) + Preferred GPU: + + + False + True + 5 + 0 + + + + + True + False + Preferred GPU (Vulkan only) + -1 + + + False + True + 1 + + + + + False + True + 5 + 2 + + False @@ -2011,6 +2052,24 @@ 0 + + + Enable Texture Recompression + True + True + False + Enables or disables Texture Recompression. Reduces VRAM usage at the cost of texture quality, and may also increase stuttering + start + 5 + 5 + True + + + False + True + 1 + + True @@ -2072,7 +2131,7 @@ False True 5 - 1 + 2 @@ -2120,7 +2179,7 @@ False True 5 - 1 + 3 @@ -2169,7 +2228,7 @@ False True 5 - 3 + 4 From 088ea4545c2c98c7fe9dbd9673df569339f08f5c Mon Sep 17 00:00:00 2001 From: riperiperi Date: Tue, 14 Jun 2022 00:07:08 +0100 Subject: [PATCH 168/179] Fix and enable background compute shader compilation Also disables warnings from shader cache pipeline misses. --- .../Multithreading/ThreadedRenderer.cs | 5 ----- Ryujinx.Graphics.GAL/ShaderInfo.cs | 10 +++++----- .../Shader/DiskCache/DiskCacheHostStorage.cs | 4 ++-- .../Shader/DiskCache/ParallelDiskCacheLoader.cs | 4 ++-- Ryujinx.Graphics.Vulkan/ShaderCollection.cs | 6 ++++-- Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs | 4 ++-- 6 files changed, 15 insertions(+), 18 deletions(-) diff --git a/Ryujinx.Graphics.GAL/Multithreading/ThreadedRenderer.cs b/Ryujinx.Graphics.GAL/Multithreading/ThreadedRenderer.cs index fb3db8e6d..f05f37c9f 100644 --- a/Ryujinx.Graphics.GAL/Multithreading/ThreadedRenderer.cs +++ b/Ryujinx.Graphics.GAL/Multithreading/ThreadedRenderer.cs @@ -263,11 +263,6 @@ namespace Ryujinx.Graphics.GAL.Multithreading { var program = new ThreadedProgram(this); - if (info.State.HasValue) - { - info.BackgroundCompile = true; - } - SourceProgramRequest request = new SourceProgramRequest(program, shaders, info); Programs.Add(request); diff --git a/Ryujinx.Graphics.GAL/ShaderInfo.cs b/Ryujinx.Graphics.GAL/ShaderInfo.cs index f7be8b39b..b4c871178 100644 --- a/Ryujinx.Graphics.GAL/ShaderInfo.cs +++ b/Ryujinx.Graphics.GAL/ShaderInfo.cs @@ -4,20 +4,20 @@ namespace Ryujinx.Graphics.GAL { public int FragmentOutputMap { get; } public ProgramPipelineState? State { get; } - public bool BackgroundCompile { get; set; } + public bool FromCache { get; set; } - public ShaderInfo(int fragmentOutputMap, ProgramPipelineState state) + public ShaderInfo(int fragmentOutputMap, ProgramPipelineState state, bool fromCache = false) { FragmentOutputMap = fragmentOutputMap; State = state; - BackgroundCompile = false; + FromCache = fromCache; } - public ShaderInfo(int fragmentOutputMap) + public ShaderInfo(int fragmentOutputMap, bool fromCache = false) { FragmentOutputMap = fragmentOutputMap; State = null; - BackgroundCompile = false; + FromCache = fromCache; } } } \ No newline at end of file diff --git a/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs b/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs index 77fcb256f..a25b2d9a4 100644 --- a/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs +++ b/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheHostStorage.cs @@ -374,8 +374,8 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache int fragmentOutputMap = hasFragmentShader ? shaders[5].Info.FragmentOutputMap : -1; ShaderInfo shaderInfo = specState.PipelineState.HasValue - ? new ShaderInfo(fragmentOutputMap, specState.PipelineState.Value) - : new ShaderInfo(fragmentOutputMap); + ? new ShaderInfo(fragmentOutputMap, specState.PipelineState.Value, fromCache: true) + : new ShaderInfo(fragmentOutputMap, fromCache: true); IProgram hostProgram; diff --git a/Ryujinx.Graphics.Gpu/Shader/DiskCache/ParallelDiskCacheLoader.cs b/Ryujinx.Graphics.Gpu/Shader/DiskCache/ParallelDiskCacheLoader.cs index 825119688..0b56419e6 100644 --- a/Ryujinx.Graphics.Gpu/Shader/DiskCache/ParallelDiskCacheLoader.cs +++ b/Ryujinx.Graphics.Gpu/Shader/DiskCache/ParallelDiskCacheLoader.cs @@ -495,8 +495,8 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache } ShaderInfo shaderInfo = compilation.SpecializationState.PipelineState.HasValue - ? new ShaderInfo(fragmentOutputMap, compilation.SpecializationState.PipelineState.Value) - : new ShaderInfo(fragmentOutputMap); + ? new ShaderInfo(fragmentOutputMap, compilation.SpecializationState.PipelineState.Value, fromCache: true) + : new ShaderInfo(fragmentOutputMap, fromCache: true); IProgram hostProgram = _context.Renderer.CreateProgram(shaderSources, shaderInfo); CachedShaderProgram program = new CachedShaderProgram(hostProgram, compilation.SpecializationState, compilation.Shaders); diff --git a/Ryujinx.Graphics.Vulkan/ShaderCollection.cs b/Ryujinx.Graphics.Vulkan/ShaderCollection.cs index 34f57c965..da765b847 100644 --- a/Ryujinx.Graphics.Vulkan/ShaderCollection.cs +++ b/Ryujinx.Graphics.Vulkan/ShaderCollection.cs @@ -128,12 +128,13 @@ namespace Ryujinx.Graphics.Vulkan VulkanGraphicsDevice gd, Device device, ShaderSource[] sources, - ProgramPipelineState state) : this(gd, device, sources) + ProgramPipelineState state, + bool fromCache) : this(gd, device, sources) { _state = state; _compileTask = BackgroundCompilation(); - _firstBackgroundUse = true; + _firstBackgroundUse = !fromCache; } private async Task BackgroundCompilation() @@ -220,6 +221,7 @@ namespace Ryujinx.Graphics.Vulkan pipeline.Stages[0] = _shaders[0].GetInfo(); pipeline.StagesCount = 1; + pipeline.PipelineLayout = PipelineLayout; pipeline.CreateComputePipeline(_gd, _device, this, (_gd.Pipeline as PipelineBase).PipelineCache); pipeline.Dispose(); diff --git a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs index 4eec06824..3dc314cbc 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs @@ -309,9 +309,9 @@ namespace Ryujinx.Graphics.Vulkan { bool isCompute = sources.Length == 1 && sources[0].Stage == ShaderStage.Compute; - if (info.BackgroundCompile && (info.State.HasValue || isCompute) && VulkanConfiguration.UseDynamicState) + if ((info.State.HasValue || isCompute) && VulkanConfiguration.UseDynamicState) { - return new ShaderCollection(this, _device, sources, info.State.Value); + return new ShaderCollection(this, _device, sources, info.State ?? default, info.FromCache); } else { From 8cac0e2b516b72da74ff08d03e2cfcd64d95668b Mon Sep 17 00:00:00 2001 From: gdk Date: Mon, 13 Jun 2022 22:18:56 -0300 Subject: [PATCH 169/179] Fix error due to missing subpass dependency when Attachment Write -> Shader Read barriers are added --- Ryujinx.Graphics.Vulkan/PipelineBase.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/PipelineBase.cs b/Ryujinx.Graphics.Vulkan/PipelineBase.cs index 3c2cd94b1..62f84b5c3 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineBase.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineBase.cs @@ -1059,8 +1059,8 @@ namespace Ryujinx.Graphics.Vulkan 0, PipelineStageFlags.PipelineStageAllGraphicsBit, PipelineStageFlags.PipelineStageAllGraphicsBit, - AccessFlags.AccessMemoryReadBit | AccessFlags.AccessMemoryWriteBit, - AccessFlags.AccessMemoryReadBit | AccessFlags.AccessMemoryWriteBit, + AccessFlags.AccessMemoryReadBit | AccessFlags.AccessMemoryWriteBit | AccessFlags.AccessColorAttachmentWriteBit, + AccessFlags.AccessMemoryReadBit | AccessFlags.AccessMemoryWriteBit | AccessFlags.AccessShaderReadBit, 0); fixed (AttachmentDescription* pAttachmentDescs = attachmentDescs) From ed681977f9bd17806f0cd2430a0f8eef3aec27b1 Mon Sep 17 00:00:00 2001 From: gdk Date: Mon, 13 Jun 2022 22:30:17 -0300 Subject: [PATCH 170/179] If S8D24 is not supported, use D32FS8 --- Ryujinx.Graphics.Vulkan/FormatCapabilities.cs | 10 +++++++--- Ryujinx.Graphics.Vulkan/TextureStorage.cs | 2 +- Ryujinx.Graphics.Vulkan/TextureView.cs | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/FormatCapabilities.cs b/Ryujinx.Graphics.Vulkan/FormatCapabilities.cs index ea1f710a5..6159f2cca 100644 --- a/Ryujinx.Graphics.Vulkan/FormatCapabilities.cs +++ b/Ryujinx.Graphics.Vulkan/FormatCapabilities.cs @@ -69,11 +69,10 @@ namespace Ryujinx.Graphics.Vulkan requiredFeatures |= FormatFeatureFlags.FormatFeatureStorageImageBit; } - if (!FormatSupports(requiredFeatures, srcFormat) || - (srcFormat == GAL.Format.D24UnormS8Uint && VulkanConfiguration.ForceD24S8Unsupported)) + if (!FormatSupports(requiredFeatures, srcFormat) || (IsD24S8(srcFormat) && VulkanConfiguration.ForceD24S8Unsupported)) { // The format is not supported. Can we convert it to a higher precision format? - if (srcFormat == GAL.Format.D24UnormS8Uint) + if (IsD24S8(srcFormat)) { format = VkFormat.D32SfloatS8Uint; } @@ -85,5 +84,10 @@ namespace Ryujinx.Graphics.Vulkan return format; } + + public static bool IsD24S8(GAL.Format format) + { + return format == GAL.Format.D24UnormS8Uint || format == GAL.Format.S8UintD24Unorm; + } } } diff --git a/Ryujinx.Graphics.Vulkan/TextureStorage.cs b/Ryujinx.Graphics.Vulkan/TextureStorage.cs index 60dc4d9b6..a91efc49a 100644 --- a/Ryujinx.Graphics.Vulkan/TextureStorage.cs +++ b/Ryujinx.Graphics.Vulkan/TextureStorage.cs @@ -399,7 +399,7 @@ namespace Ryujinx.Graphics.Vulkan private bool NeedsD24S8Conversion() { - return Info.Format == GAL.Format.D24UnormS8Uint && VkFormat == VkFormat.D32SfloatS8Uint; + return FormatCapabilities.IsD24S8(Info.Format) && VkFormat == VkFormat.D32SfloatS8Uint; } public void SetModification(AccessFlags accessFlags, PipelineStageFlags stage) diff --git a/Ryujinx.Graphics.Vulkan/TextureView.cs b/Ryujinx.Graphics.Vulkan/TextureView.cs index bcebbb143..eac4e84c2 100644 --- a/Ryujinx.Graphics.Vulkan/TextureView.cs +++ b/Ryujinx.Graphics.Vulkan/TextureView.cs @@ -964,7 +964,7 @@ namespace Ryujinx.Graphics.Vulkan private bool NeedsD24S8Conversion() { - return Info.Format == GAL.Format.D24UnormS8Uint && VkFormat == VkFormat.D32SfloatS8Uint; + return FormatCapabilities.IsD24S8(Info.Format) && VkFormat == VkFormat.D32SfloatS8Uint; } public void CopyFromOrToBuffer( From e1e69f64bc2b5f06b348f7158eb7d7368168e794 Mon Sep 17 00:00:00 2001 From: gdk Date: Mon, 13 Jun 2022 23:20:15 -0300 Subject: [PATCH 171/179] Ensure all fences are destroyed on dispose --- Ryujinx.Graphics.Vulkan/StagingBuffer.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Ryujinx.Graphics.Vulkan/StagingBuffer.cs b/Ryujinx.Graphics.Vulkan/StagingBuffer.cs index 3231fd0dc..441ff119a 100644 --- a/Ryujinx.Graphics.Vulkan/StagingBuffer.cs +++ b/Ryujinx.Graphics.Vulkan/StagingBuffer.cs @@ -178,6 +178,11 @@ namespace Ryujinx.Graphics.Vulkan if (disposing) { _buffer.Dispose(); + + while (_pendingCopies.TryDequeue(out var pc)) + { + pc.Fence.Put(); + } } } From 0e06449f9060304142722909807e1080900e3510 Mon Sep 17 00:00:00 2001 From: gdk Date: Tue, 14 Jun 2022 13:31:23 -0300 Subject: [PATCH 172/179] Pre-allocate arrays up front on DescriptorSetUpdater, allows the removal of some checks --- .../DescriptorSetUpdater.cs | 113 ++++-------------- 1 file changed, 22 insertions(+), 91 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs b/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs index e8ea4d1c0..a91a82d1b 100644 --- a/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs +++ b/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs @@ -52,14 +52,21 @@ namespace Ryujinx.Graphics.Vulkan _gd = gd; _pipeline = pipeline; - _uniformBuffers = Array.Empty(); - _storageBuffers = Array.Empty(); - _textures = new DescriptorImageInfo[Constants.MaxTexturesPerStage * Constants.MaxShaderStages]; - _textureRefs = new Auto[Constants.MaxTexturesPerStage * Constants.MaxShaderStages]; - _samplerRefs = new Auto[Constants.MaxTexturesPerStage * Constants.MaxShaderStages]; - _images = Array.Empty(); - _bufferTextures = Array.Empty(); - _bufferImages = Array.Empty(); + _uniformBufferRefs = new Auto[Constants.MaxUniformBufferBindings]; + _storageBufferRefs = new Auto[Constants.MaxStorageBufferBindings]; + _textureRefs = new Auto[Constants.MaxTextureBindings]; + _samplerRefs = new Auto[Constants.MaxTextureBindings]; + _imageRefs = new Auto[Constants.MaxImageBindings]; + _bufferTextureRefs = new TextureBuffer[Constants.MaxTextureBindings]; + _bufferImageRefs = new TextureBuffer[Constants.MaxImageBindings]; + _bufferImageFormats = new GAL.Format[Constants.MaxImageBindings]; + + _uniformBuffers = new DescriptorBufferInfo[Constants.MaxUniformBufferBindings]; + _storageBuffers = new DescriptorBufferInfo[Constants.MaxStorageBufferBindings]; + _textures = new DescriptorImageInfo[Constants.MaxTextureBindings]; + _images = new DescriptorImageInfo[Constants.MaxImageBindings]; + _bufferTextures = new BufferView[Constants.MaxTextureBindings]; + _bufferImages = new BufferView[Constants.MaxImageBindings]; if (gd.Capabilities.SupportsNullDescriptors) { @@ -120,32 +127,16 @@ namespace Ryujinx.Graphics.Vulkan if (image is TextureBuffer imageBuffer) { - if (_bufferImages.Length <= binding) - { - Array.Resize(ref _bufferImages, binding + 1); - Array.Resize(ref _bufferImageRefs, binding + 1); - Array.Resize(ref _bufferImageFormats, binding + 1); - } - _bufferImageRefs[binding] = imageBuffer; _bufferImageFormats[binding] = imageFormat; } - else + else if (image is TextureView view) { - if (_images.Length <= binding) + _imageRefs[binding] = view.GetView(imageFormat).GetIdentityImageView(); + _images[binding] = new DescriptorImageInfo() { - Array.Resize(ref _images, binding + 1); - Array.Resize(ref _imageRefs, binding + 1); - } - - if (image is TextureView view) - { - _imageRefs[binding] = view.GetView(imageFormat).GetIdentityImageView(); - _images[binding] = new DescriptorImageInfo() - { - ImageLayout = ImageLayout.General - }; - } + ImageLayout = ImageLayout.General + }; } SignalDirty(DirtyFlags.Image); @@ -153,12 +144,6 @@ namespace Ryujinx.Graphics.Vulkan public void SetStorageBuffers(CommandBuffer commandBuffer, int first, ReadOnlySpan buffers) { - if (_storageBuffers.Length < first + buffers.Length) - { - Array.Resize(ref _storageBuffers, first + buffers.Length); - Array.Resize(ref _storageBufferRefs, first + buffers.Length); - } - for (int i = 0; i < buffers.Length; i++) { var buffer = buffers[i]; @@ -184,23 +169,10 @@ namespace Ryujinx.Graphics.Vulkan if (texture is TextureBuffer textureBuffer) { - if (_bufferTextures.Length <= binding) - { - Array.Resize(ref _bufferTextures, binding + 1); - Array.Resize(ref _bufferTextureRefs, binding + 1); - } - _bufferTextureRefs[binding] = textureBuffer; } else { - if (_textures.Length <= binding) - { - Array.Resize(ref _textures, binding + 1); - Array.Resize(ref _textureRefs, binding + 1); - Array.Resize(ref _samplerRefs, binding + 1); - } - TextureView view = (TextureView)texture; view.Storage.InsertBarrier(cbs, AccessFlags.AccessShaderReadBit, stage.ConvertToPipelineStageFlags()); @@ -219,12 +191,6 @@ namespace Ryujinx.Graphics.Vulkan public void SetUniformBuffers(CommandBuffer commandBuffer, int first, ReadOnlySpan buffers) { - if (_uniformBuffers.Length < first + buffers.Length) - { - Array.Resize(ref _uniformBuffers, first + buffers.Length); - Array.Resize(ref _uniformBufferRefs, first + buffers.Length); - } - for (int i = 0; i < buffers.Length; i++) { var buffer = buffers[i]; @@ -350,13 +316,6 @@ namespace Ryujinx.Graphics.Vulkan if (setIndex == PipelineBase.UniformSetIndex) { - count = Math.Min(count, _uniformBuffers.Length - binding); - - if (count <= 0) - { - break; - } - for (int i = 0; i < count; i++) { UpdateBuffer(cbs, ref _uniformBuffers[binding + i], _uniformBufferRefs[binding + i], dummyBuffer); @@ -367,13 +326,6 @@ namespace Ryujinx.Graphics.Vulkan } else if (setIndex == PipelineBase.StorageSetIndex) { - count = Math.Min(count, _storageBuffers.Length - binding); - - if (count <= 0) - { - break; - } - for (int i = 0; i < count; i++) { UpdateBuffer(cbs, ref _storageBuffers[binding + i], _storageBufferRefs[binding + i], dummyBuffer); @@ -384,7 +336,7 @@ namespace Ryujinx.Graphics.Vulkan } else if (setIndex == PipelineBase.TextureSetIndex) { - if ((binding % (Constants.MaxTexturesPerStage * 2)) < Constants.MaxTexturesPerStage || program.HasMinimalLayout) + if (((uint)binding % (Constants.MaxTexturesPerStage * 2)) < Constants.MaxTexturesPerStage || program.HasMinimalLayout) { for (int i = 0; i < count; i++) { @@ -410,13 +362,6 @@ namespace Ryujinx.Graphics.Vulkan } else { - count = Math.Min(count, _bufferTextures.Length - binding); - - if (count <= 0) - { - break; - } - for (int i = 0; i < count; i++) { _bufferTextures[binding + i] = _bufferTextureRefs[binding + i]?.GetBufferView(cbs) ?? default; @@ -428,15 +373,8 @@ namespace Ryujinx.Graphics.Vulkan } else if (setIndex == PipelineBase.ImageSetIndex) { - if ((binding % (Constants.MaxImagesPerStage * 2)) < Constants.MaxImagesPerStage || program.HasMinimalLayout) + if (((uint)binding % (Constants.MaxImagesPerStage * 2)) < Constants.MaxImagesPerStage || program.HasMinimalLayout) { - count = Math.Min(count, _images.Length - binding); - - if (count <= 0) - { - break; - } - for (int i = 0; i < count; i++) { _images[binding + i].ImageView = _imageRefs[binding + i]?.Get(cbs).Value ?? default; @@ -447,13 +385,6 @@ namespace Ryujinx.Graphics.Vulkan } else { - count = Math.Min(count, _bufferImages.Length - binding); - - if (count <= 0) - { - break; - } - for (int i = 0; i < count; i++) { _bufferImages[binding + i] = _bufferImageRefs[binding + i]?.GetBufferView(cbs, _bufferImageFormats[binding + i]) ?? default; From 0860e208b2b18e85d0ecf3f8e42e00feaaa15093 Mon Sep 17 00:00:00 2001 From: gdk Date: Tue, 14 Jun 2022 16:19:59 -0300 Subject: [PATCH 173/179] Add missing clear layer parameter after rebase --- Ryujinx.Graphics.Vulkan/FramebufferParams.cs | 4 ++-- Ryujinx.Graphics.Vulkan/HelperShader.cs | 2 +- Ryujinx.Graphics.Vulkan/PipelineBase.cs | 8 ++++---- Ryujinx.Graphics.Vulkan/PipelineFull.cs | 5 +++-- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/FramebufferParams.cs b/Ryujinx.Graphics.Vulkan/FramebufferParams.cs index 06c0aec71..3844abcd5 100644 --- a/Ryujinx.Graphics.Vulkan/FramebufferParams.cs +++ b/Ryujinx.Graphics.Vulkan/FramebufferParams.cs @@ -149,14 +149,14 @@ namespace Ryujinx.Graphics.Vulkan return texture is TextureView view && view.Valid; } - public ClearRect GetClearRect(Rectangle scissor) + public ClearRect GetClearRect(Rectangle scissor, int layer) { int x = scissor.X; int y = scissor.Y; int width = Math.Min((int)Width - scissor.X, scissor.Width); int height = Math.Min((int)Height - scissor.Y, scissor.Height); - return new ClearRect(new Rect2D(new Offset2D(x, y), new Extent2D((uint)width, (uint)height)), 0, Layers); + return new ClearRect(new Rect2D(new Offset2D(x, y), new Extent2D((uint)width, (uint)height)), (uint)layer, 1); } public unsafe Auto Create(Vk api, CommandBufferScoped cbs, Auto renderPass) diff --git a/Ryujinx.Graphics.Vulkan/HelperShader.cs b/Ryujinx.Graphics.Vulkan/HelperShader.cs index 50107f911..cb5e0037b 100644 --- a/Ryujinx.Graphics.Vulkan/HelperShader.cs +++ b/Ryujinx.Graphics.Vulkan/HelperShader.cs @@ -178,7 +178,7 @@ namespace Ryujinx.Graphics.Vulkan if (clearAlpha) { - _pipeline.ClearRenderTargetColor(0, new ColorF(0f, 0f, 0f, 1f)); + _pipeline.ClearRenderTargetColor(0, 0, new ColorF(0f, 0f, 0f, 1f)); } _pipeline.SetViewports(0, viewports, false); diff --git a/Ryujinx.Graphics.Vulkan/PipelineBase.cs b/Ryujinx.Graphics.Vulkan/PipelineBase.cs index 62f84b5c3..c20a85fb6 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineBase.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineBase.cs @@ -159,7 +159,7 @@ namespace Ryujinx.Graphics.Vulkan size); } - public unsafe void ClearRenderTargetColor(int index, ColorF color) + public unsafe void ClearRenderTargetColor(int index, int layer, ColorF color) { if (FramebufferParams == null || !FramebufferParams.IsVaidColorAttachment(index)) { @@ -175,12 +175,12 @@ namespace Ryujinx.Graphics.Vulkan var clearValue = new ClearValue(new ClearColorValue(color.Red, color.Green, color.Blue, color.Alpha)); var attachment = new ClearAttachment(ImageAspectFlags.ImageAspectColorBit, (uint)index, clearValue); - var clearRect = FramebufferParams?.GetClearRect(ClearScissor) ?? default; + var clearRect = FramebufferParams?.GetClearRect(ClearScissor, layer) ?? default; Gd.Api.CmdClearAttachments(CommandBuffer, 1, &attachment, 1, &clearRect); } - public unsafe void ClearRenderTargetDepthStencil(float depthValue, bool depthMask, int stencilValue, int stencilMask) + public unsafe void ClearRenderTargetDepthStencil(int layer, float depthValue, bool depthMask, int stencilValue, int stencilMask) { // TODO: Use stencilMask (fully) @@ -205,7 +205,7 @@ namespace Ryujinx.Graphics.Vulkan } var attachment = new ClearAttachment(flags, 0, clearValue); - var clearRect = FramebufferParams?.GetClearRect(ClearScissor) ?? default; + var clearRect = FramebufferParams?.GetClearRect(ClearScissor, layer) ?? default; Gd.Api.CmdClearAttachments(CommandBuffer, 1, &attachment, 1, &clearRect); } diff --git a/Ryujinx.Graphics.Vulkan/PipelineFull.cs b/Ryujinx.Graphics.Vulkan/PipelineFull.cs index bea8d2593..1b8b12880 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineFull.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineFull.cs @@ -45,7 +45,7 @@ namespace Ryujinx.Graphics.Vulkan _pendingQueryCopies.Clear(); } - public void ClearRenderTargetColor(int index, uint componentMask, ColorF color) + public void ClearRenderTargetColor(int index, int layer, uint componentMask, ColorF color) { if (FramebufferParams == null) { @@ -68,6 +68,7 @@ namespace Ryujinx.Graphics.Vulkan clearColor[2] = color.Blue; clearColor[3] = color.Alpha; + // TODO: Clear only the specified layer. Gd.HelperShader.Clear( Gd, dstTexture, @@ -80,7 +81,7 @@ namespace Ryujinx.Graphics.Vulkan } else { - ClearRenderTargetColor(index, color); + ClearRenderTargetColor(index, layer, color); } } From 002bfc65aedcc9f8c0ded096e750c4226e2b8b45 Mon Sep 17 00:00:00 2001 From: Emmanuel Hansen Date: Tue, 14 Jun 2022 20:37:51 +0000 Subject: [PATCH 174/179] Use selected gpu from config for avalonia (#7) * use configured device * address review --- Ryujinx.Ava/Program.cs | 1 + Ryujinx.Ava/Ui/Backend/Vulkan/VulkanOptions.cs | 2 +- Ryujinx.Ava/Ui/Backend/Vulkan/VulkanPhysicalDevice.cs | 6 +++--- Ryujinx.Graphics.Vulkan/VulkanInitialization.cs | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/Ryujinx.Ava/Program.cs b/Ryujinx.Ava/Program.cs index 89b0f1cd4..324bbcc76 100644 --- a/Ryujinx.Ava/Program.cs +++ b/Ryujinx.Ava/Program.cs @@ -97,6 +97,7 @@ namespace Ryujinx.Ava VulkanVersion = new Version(1, 2), MaxQueueCount = 2, PreferDiscreteGpu = true, + PreferredDevice = !PreviewerDetached ? "" : ConfigurationState.Instance.Graphics.PreferredGpu.Value, UseDebug = !PreviewerDetached ? false : ConfigurationState.Instance.Logger.GraphicsDebugLevel.Value != GraphicsDebugLevel.None, }) .With(new SkiaOptions() diff --git a/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanOptions.cs b/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanOptions.cs index 66087c1d0..b4a060c99 100644 --- a/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanOptions.cs +++ b/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanOptions.cs @@ -38,7 +38,7 @@ namespace Ryujinx.Ava.Ui.Vulkan /// /// Sets the device to use if available and suitable. /// - public uint? PreferredDevice { get; set; } + public string PreferredDevice { get; set; } /// /// Max number of device queues to request diff --git a/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanPhysicalDevice.cs b/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanPhysicalDevice.cs index 4f5cb50c9..df677e718 100644 --- a/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanPhysicalDevice.cs +++ b/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanPhysicalDevice.cs @@ -36,7 +36,7 @@ namespace Ryujinx.Ava.Ui.Vulkan public Version ApiVersion { get; } internal static unsafe VulkanPhysicalDevice FindSuitablePhysicalDevice(VulkanInstance instance, - VulkanSurface surface, bool preferDiscreteGpu, uint? preferredDevice) + VulkanSurface surface, bool preferDiscreteGpu, string preferredDevice) { uint physicalDeviceCount; @@ -58,9 +58,9 @@ namespace Ryujinx.Ava.Ui.Vulkan physicalDeviceProperties.Add(physicalDevice, properties); } - if (preferredDevice.HasValue && preferredDevice != 0) + if (!string.IsNullOrWhiteSpace(preferredDevice)) { - var physicalDevice = physicalDeviceProperties.FirstOrDefault(x => x.Value.DeviceID == preferredDevice); + var physicalDevice = physicalDeviceProperties.FirstOrDefault(x => VulkanInitialization.StringFromIdPair(x.Value.VendorID, x.Value.DeviceID) == preferredDevice); if (physicalDevice.Key.Handle != 0 && IsSuitableDevice(instance.Api, physicalDevice.Key, physicalDevice.Value, surface.ApiHandle, out var queueCount, out var queueFamilyIndex)) diff --git a/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs b/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs index e1d818701..52f6e774f 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs @@ -280,7 +280,7 @@ namespace Ryujinx.Graphics.Vulkan return devices; } - private static string StringFromIdPair(uint vendorId, uint deviceId) + public static string StringFromIdPair(uint vendorId, uint deviceId) { return $"0x{vendorId:X}_0x{deviceId:X}"; } From f2b1cfe10c46a86e561a63210790344094b5c9ce Mon Sep 17 00:00:00 2001 From: riperiperi Date: Tue, 14 Jun 2022 23:59:04 +0100 Subject: [PATCH 175/179] Fix D32S8 copy workaround (AMD) Fixes water in Pokemon Legends Arceus on AMD GPUs. Possibly fixes other things. --- Ryujinx.Graphics.Vulkan/TextureStorage.cs | 10 ++++++++-- Ryujinx.Graphics.Vulkan/TextureView.cs | 12 ++++++++---- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/TextureStorage.cs b/Ryujinx.Graphics.Vulkan/TextureStorage.cs index a91efc49a..2068324cb 100644 --- a/Ryujinx.Graphics.Vulkan/TextureStorage.cs +++ b/Ryujinx.Graphics.Vulkan/TextureStorage.cs @@ -329,7 +329,8 @@ namespace Ryujinx.Graphics.Vulkan int dstLayers, int dstLevels, bool singleSlice, - ImageAspectFlags aspectFlags) + ImageAspectFlags aspectFlags, + bool forFlush) { bool is3D = Info.Target == Target.Texture3D; int width = Info.Width; @@ -343,7 +344,12 @@ namespace Ryujinx.Graphics.Vulkan for (int level = 0; level < levels; level++) { - int mipSize = GetBufferDataLength(Info.GetMipSize(level)); + int mipSize = Info.GetMipSize(level); + + if (forFlush) + { + mipSize = GetBufferDataLength(mipSize); + } int endOffset = offset + mipSize; diff --git a/Ryujinx.Graphics.Vulkan/TextureView.cs b/Ryujinx.Graphics.Vulkan/TextureView.cs index eac4e84c2..42786a2c8 100644 --- a/Ryujinx.Graphics.Vulkan/TextureView.cs +++ b/Ryujinx.Graphics.Vulkan/TextureView.cs @@ -592,7 +592,8 @@ namespace Ryujinx.Graphics.Vulkan 1, levels, true, - aspectFlags); + aspectFlags, + false); BufferHolder.InsertBufferBarrier( gd, @@ -618,7 +619,8 @@ namespace Ryujinx.Graphics.Vulkan 1, levels, true, - aspectFlags); + aspectFlags, + false); InsertImageBarrier( gd.Api, @@ -680,7 +682,8 @@ namespace Ryujinx.Graphics.Vulkan 1, levels, true, - aspectFlags); + aspectFlags, + false); BufferHolder.InsertBufferBarrier( gd, @@ -706,7 +709,8 @@ namespace Ryujinx.Graphics.Vulkan 1, levels, true, - aspectFlags); + aspectFlags, + false); } SlowBlit(d32SrcStorage, d32DstStorage, ImageAspectFlags.ImageAspectDepthBit); From db4e7d28ea1301271c6b7d652af1c6e7566124a8 Mon Sep 17 00:00:00 2001 From: gdk Date: Wed, 15 Jun 2022 00:42:03 -0300 Subject: [PATCH 176/179] Use push descriptors for uniform buffer updates (disabled for now) --- .../DescriptorSetUpdater.cs | 88 +++++++++++++++++-- .../PipelineLayoutCache.cs | 4 +- .../PipelineLayoutCacheEntry.cs | 4 +- .../PipelineLayoutFactory.cs | 5 +- Ryujinx.Graphics.Vulkan/ShaderCollection.cs | 6 +- .../VulkanConfiguration.cs | 1 + .../VulkanGraphicsDevice.cs | 6 ++ .../VulkanInitialization.cs | 5 +- 8 files changed, 105 insertions(+), 14 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs b/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs index a91a82d1b..e6a9bff4c 100644 --- a/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs +++ b/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs @@ -223,22 +223,29 @@ namespace Ryujinx.Graphics.Vulkan if (_dirty.HasFlag(DirtyFlags.Uniform)) { - UpdateAndBind(cbs, PipelineBase.UniformSetIndex, DirtyFlags.Uniform, pbp); + if (_program.UsePushDescriptors) + { + UpdateAndBindUniformBufferPd(cbs, pbp); + } + else + { + UpdateAndBind(cbs, PipelineBase.UniformSetIndex, pbp); + } } if (_dirty.HasFlag(DirtyFlags.Storage)) { - UpdateAndBind(cbs, PipelineBase.StorageSetIndex, DirtyFlags.Storage, pbp); + UpdateAndBind(cbs, PipelineBase.StorageSetIndex, pbp); } if (_dirty.HasFlag(DirtyFlags.Texture)) { - UpdateAndBind(cbs, PipelineBase.TextureSetIndex, DirtyFlags.Texture, pbp); + UpdateAndBind(cbs, PipelineBase.TextureSetIndex, pbp); } if (_dirty.HasFlag(DirtyFlags.Image)) { - UpdateAndBind(cbs, PipelineBase.ImageSetIndex, DirtyFlags.Image, pbp); + UpdateAndBind(cbs, PipelineBase.ImageSetIndex, pbp); } _dirty = DirtyFlags.None; @@ -263,7 +270,7 @@ namespace Ryujinx.Graphics.Vulkan } [MethodImpl(MethodImplOptions.AggressiveInlining)] - private void UpdateAndBind(CommandBufferScoped cbs, int setIndex, DirtyFlags flag, PipelineBindPoint pbp) + private void UpdateAndBind(CommandBufferScoped cbs, int setIndex, PipelineBindPoint pbp) { var program = _program; int stagesCount = program.Bindings[setIndex].Length; @@ -402,6 +409,77 @@ namespace Ryujinx.Graphics.Vulkan _gd.Api.CmdBindDescriptorSets(cbs.CommandBuffer, pbp, _program.PipelineLayout, (uint)setIndex, 1, sets, 0, ReadOnlySpan.Empty); } + private unsafe void UpdateBuffers( + CommandBufferScoped cbs, + PipelineBindPoint pbp, + int baseBinding, + ReadOnlySpan bufferInfo, + DescriptorType type) + { + if (bufferInfo.Length == 0) + { + return; + } + + fixed (DescriptorBufferInfo* pBufferInfo = bufferInfo) + { + var writeDescriptorSet = new WriteDescriptorSet + { + SType = StructureType.WriteDescriptorSet, + DstBinding = (uint)baseBinding, + DescriptorType = type, + DescriptorCount = (uint)bufferInfo.Length, + PBufferInfo = pBufferInfo + }; + + _gd.PushDescriptorApi.CmdPushDescriptorSet(cbs.CommandBuffer, pbp, _program.PipelineLayout, 0, 1, &writeDescriptorSet); + } + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private void UpdateAndBindUniformBufferPd(CommandBufferScoped cbs, PipelineBindPoint pbp) + { + var dummyBuffer = _dummyBuffer?.GetBuffer(); + int stagesCount = _program.Bindings[PipelineBase.UniformSetIndex].Length; + + Span uniformBuffer = stackalloc DescriptorBufferInfo[1]; + + uniformBuffer[0] = new DescriptorBufferInfo() + { + Offset = 0, + Range = (ulong)SupportBuffer.RequiredSize, + Buffer = _gd.BufferManager.GetBuffer(cbs.CommandBuffer, _pipeline.SupportBufferUpdater.Handle, false).Get(cbs, 0, SupportBuffer.RequiredSize).Value + }; + + UpdateBuffers(cbs, pbp, 0, uniformBuffer, DescriptorType.UniformBuffer); + + for (int stageIndex = 0; stageIndex < stagesCount; stageIndex++) + { + var stageBindings = _program.Bindings[PipelineBase.UniformSetIndex][stageIndex]; + int bindingsCount = stageBindings.Length; + int count; + + for (int bindingIndex = 0; bindingIndex < bindingsCount; bindingIndex += count) + { + int binding = stageBindings[bindingIndex]; + count = 1; + + while (bindingIndex + count < bindingsCount && stageBindings[bindingIndex + count] == binding + count) + { + count++; + } + + for (int i = 0; i < count; i++) + { + UpdateBuffer(cbs, ref _uniformBuffers[binding + i], _uniformBufferRefs[binding + i], dummyBuffer); + } + + ReadOnlySpan uniformBuffers = _uniformBuffers; + UpdateBuffers(cbs, pbp, binding, uniformBuffers.Slice(binding, count), DescriptorType.UniformBuffer); + } + } + } + [MethodImpl(MethodImplOptions.AggressiveInlining)] private void Initialize(CommandBufferScoped cbs, int setIndex, DescriptorSetCollection dsc) { diff --git a/Ryujinx.Graphics.Vulkan/PipelineLayoutCache.cs b/Ryujinx.Graphics.Vulkan/PipelineLayoutCache.cs index 15a24fa51..096be455e 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineLayoutCache.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineLayoutCache.cs @@ -22,11 +22,11 @@ namespace Ryujinx.Graphics.Vulkan return plce; } - public PipelineLayoutCacheEntry GetOrCreate(VulkanGraphicsDevice gd, Device device, uint stages) + public PipelineLayoutCacheEntry GetOrCreate(VulkanGraphicsDevice gd, Device device, uint stages, bool usePd) { if (_plce[stages] == null) { - _plce[stages] = new PipelineLayoutCacheEntry(gd, device, stages); + _plce[stages] = new PipelineLayoutCacheEntry(gd, device, stages, usePd); } return _plce[stages]; diff --git a/Ryujinx.Graphics.Vulkan/PipelineLayoutCacheEntry.cs b/Ryujinx.Graphics.Vulkan/PipelineLayoutCacheEntry.cs index d86d04faa..e25c311fb 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineLayoutCacheEntry.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineLayoutCacheEntry.cs @@ -36,9 +36,9 @@ namespace Ryujinx.Graphics.Vulkan _dsCacheCursor = new int[PipelineBase.DescriptorSetLayouts]; } - public PipelineLayoutCacheEntry(VulkanGraphicsDevice gd, Device device, uint stages) : this(gd, device) + public PipelineLayoutCacheEntry(VulkanGraphicsDevice gd, Device device, uint stages, bool usePd) : this(gd, device) { - DescriptorSetLayouts = PipelineLayoutFactory.Create(gd, device, stages, out var pipelineLayout); + DescriptorSetLayouts = PipelineLayoutFactory.Create(gd, device, stages, usePd, out var pipelineLayout); PipelineLayout = pipelineLayout; } diff --git a/Ryujinx.Graphics.Vulkan/PipelineLayoutFactory.cs b/Ryujinx.Graphics.Vulkan/PipelineLayoutFactory.cs index a6368fe55..d37a4bc14 100644 --- a/Ryujinx.Graphics.Vulkan/PipelineLayoutFactory.cs +++ b/Ryujinx.Graphics.Vulkan/PipelineLayoutFactory.cs @@ -12,7 +12,7 @@ namespace Ryujinx.Graphics.Vulkan ShaderStageFlags.ShaderStageFragmentBit | ShaderStageFlags.ShaderStageComputeBit; - public static unsafe DescriptorSetLayout[] Create(VulkanGraphicsDevice gd, Device device, uint stages, out PipelineLayout layout) + public static unsafe DescriptorSetLayout[] Create(VulkanGraphicsDevice gd, Device device, uint stages, bool usePd, out PipelineLayout layout) { int stagesCount = BitOperations.PopCount(stages); @@ -92,7 +92,8 @@ namespace Ryujinx.Graphics.Vulkan { SType = StructureType.DescriptorSetLayoutCreateInfo, PBindings = uLayoutBindings, - BindingCount = (uint)uCount + BindingCount = (uint)uCount, + Flags = usePd ? DescriptorSetLayoutCreateFlags.DescriptorSetLayoutCreatePushDescriptorBitKhr : 0 }; var sDescriptorSetLayoutCreateInfo = new DescriptorSetLayoutCreateInfo() diff --git a/Ryujinx.Graphics.Vulkan/ShaderCollection.cs b/Ryujinx.Graphics.Vulkan/ShaderCollection.cs index da765b847..cd911ce23 100644 --- a/Ryujinx.Graphics.Vulkan/ShaderCollection.cs +++ b/Ryujinx.Graphics.Vulkan/ShaderCollection.cs @@ -18,6 +18,7 @@ namespace Ryujinx.Graphics.Vulkan public PipelineLayout PipelineLayout => _plce.PipelineLayout; public bool HasMinimalLayout { get; } + public bool UsePushDescriptors { get; } public uint Stages { get; } @@ -89,11 +90,14 @@ namespace Ryujinx.Graphics.Vulkan _shaders = internalShaders; + bool usePd = !isMinimal && VulkanConfiguration.UsePushDescriptors; + _plce = isMinimal ? gd.PipelineLayoutCache.Create(gd, device, shaders) - : gd.PipelineLayoutCache.GetOrCreate(gd, device, stages); + : gd.PipelineLayoutCache.GetOrCreate(gd, device, stages, usePd); HasMinimalLayout = isMinimal; + UsePushDescriptors = usePd; Stages = stages; diff --git a/Ryujinx.Graphics.Vulkan/VulkanConfiguration.cs b/Ryujinx.Graphics.Vulkan/VulkanConfiguration.cs index a91f1330f..c3bc65dd9 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanConfiguration.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanConfiguration.cs @@ -7,6 +7,7 @@ public const bool UseFastBufferUpdates = true; public const bool UseGranularBufferTracking = true; public const bool UseSlowSafeBlitOnAmd = true; + public const bool UsePushDescriptors = false; public const bool ForceD24S8Unsupported = false; } diff --git a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs index 3dc314cbc..a85a12dd5 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs @@ -31,6 +31,7 @@ namespace Ryujinx.Graphics.Vulkan internal KhrSwapchain SwapchainApi { get; private set; } internal ExtConditionalRendering ConditionalRenderingApi { get; private set; } internal ExtExtendedDynamicState ExtendedDynamicStateApi { get; private set; } + internal KhrPushDescriptor PushDescriptorApi { get; private set; } internal ExtTransformFeedback TransformFeedbackApi { get; private set; } internal KhrDrawIndirectCount DrawIndirectCountApi { get; private set; } internal ExtDebugReport DebugReportApi { get; private set; } @@ -137,6 +138,11 @@ namespace Ryujinx.Graphics.Vulkan ExtendedDynamicStateApi = extendedDynamicStateApi; } + if (Api.TryGetDeviceExtension(_instance, _device, out KhrPushDescriptor pushDescriptorApi)) + { + PushDescriptorApi = pushDescriptorApi; + } + if (Api.TryGetDeviceExtension(_instance, _device, out ExtTransformFeedback transformFeedbackApi)) { TransformFeedbackApi = transformFeedbackApi; diff --git a/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs b/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs index 52f6e774f..8b71a8f6a 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanInitialization.cs @@ -22,14 +22,15 @@ namespace Ryujinx.Graphics.Vulkan ExtConditionalRendering.ExtensionName, ExtExtendedDynamicState.ExtensionName, KhrDrawIndirectCount.ExtensionName, + KhrPushDescriptor.ExtensionName, "VK_EXT_custom_border_color", + "VK_EXT_descriptor_indexing", // Enabling this works around an issue with disposed buffer bindings on RADV. "VK_EXT_fragment_shader_interlock", "VK_EXT_index_type_uint8", "VK_EXT_robustness2", "VK_EXT_shader_subgroup_ballot", "VK_EXT_subgroup_size_control", - "VK_NV_geometry_shader_passthrough", - "VK_EXT_descriptor_indexing" // Enabling this works around an issue with disposed buffer bindings on RADV. + "VK_NV_geometry_shader_passthrough" }; public static string[] RequiredExtensions { get; } = new string[] From cd3ad0a6ab06f57c29b849427619dcc6c652e849 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Fri, 17 Jun 2022 23:23:43 +0100 Subject: [PATCH 177/179] Push descriptor support check, buffer redundancy checks Should make push descriptors faster, needs more testing though. --- .../DescriptorSetUpdater.cs | 105 +++++++++++++++--- .../HardwareCapabilities.cs | 3 + Ryujinx.Graphics.Vulkan/ShaderCollection.cs | 2 +- .../VulkanGraphicsDevice.cs | 1 + 4 files changed, 92 insertions(+), 19 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs b/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs index e6a9bff4c..7fa8d9e29 100644 --- a/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs +++ b/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs @@ -30,6 +30,10 @@ namespace Ryujinx.Graphics.Vulkan private BufferView[] _bufferTextures; private BufferView[] _bufferImages; + private bool[] _uniformSet; + private bool[] _storageSet; + private Silk.NET.Vulkan.Buffer _cachedSupportBuffer; + [Flags] private enum DirtyFlags { @@ -68,6 +72,9 @@ namespace Ryujinx.Graphics.Vulkan _bufferTextures = new BufferView[Constants.MaxTextureBindings]; _bufferImages = new BufferView[Constants.MaxImageBindings]; + _uniformSet = new bool[Constants.MaxUniformBufferBindings]; + _storageSet = new bool[Constants.MaxStorageBufferBindings]; + if (gd.Capabilities.SupportsNullDescriptors) { // If null descriptors are supported, we can pass null as the handle. @@ -147,14 +154,25 @@ namespace Ryujinx.Graphics.Vulkan for (int i = 0; i < buffers.Length; i++) { var buffer = buffers[i]; + int index = first + i; - _storageBufferRefs[first + i] = _gd.BufferManager.GetBuffer(commandBuffer, buffer.Handle, false); + Auto vkBuffer = _gd.BufferManager.GetBuffer(commandBuffer, buffer.Handle, false); + ref Auto currentVkBuffer = ref _storageBufferRefs[index]; - _storageBuffers[first + i] = new DescriptorBufferInfo() + DescriptorBufferInfo info = new DescriptorBufferInfo() { Offset = (ulong)buffer.Offset, Range = (ulong)buffer.Size }; + ref DescriptorBufferInfo currentInfo = ref _storageBuffers[index]; + + if (vkBuffer != currentVkBuffer || currentInfo.Offset != info.Offset || currentInfo.Range != info.Range) + { + _storageSet[index] = false; + + currentInfo = info; + currentVkBuffer = vkBuffer; + } } SignalDirty(DirtyFlags.Storage); @@ -194,14 +212,25 @@ namespace Ryujinx.Graphics.Vulkan for (int i = 0; i < buffers.Length; i++) { var buffer = buffers[i]; + int index = first + i; - _uniformBufferRefs[first + i] = _gd.BufferManager.GetBuffer(commandBuffer, buffer.Handle, false); + Auto vkBuffer = _gd.BufferManager.GetBuffer(commandBuffer, buffer.Handle, false); + ref Auto currentVkBuffer = ref _uniformBufferRefs[index]; - _uniformBuffers[first + i] = new DescriptorBufferInfo() + DescriptorBufferInfo info = new DescriptorBufferInfo() { Offset = (ulong)buffer.Offset, Range = (ulong)buffer.Size }; + ref DescriptorBufferInfo currentInfo = ref _uniformBuffers[index]; + + if (vkBuffer != currentVkBuffer || currentInfo.Offset != info.Offset || currentInfo.Range != info.Range) + { + _uniformSet[index] = false; + + currentInfo = info; + currentVkBuffer = vkBuffer; + } } SignalDirty(DirtyFlags.Uniform); @@ -294,11 +323,17 @@ namespace Ryujinx.Graphics.Vulkan { Span uniformBuffer = stackalloc DescriptorBufferInfo[1]; + if (!_uniformSet[0]) + { + _cachedSupportBuffer = _gd.BufferManager.GetBuffer(cbs.CommandBuffer, _pipeline.SupportBufferUpdater.Handle, false).Get(cbs, 0, SupportBuffer.RequiredSize).Value; + _uniformSet[0] = true; + } + uniformBuffer[0] = new DescriptorBufferInfo() { Offset = 0, Range = (ulong)SupportBuffer.RequiredSize, - Buffer = _gd.BufferManager.GetBuffer(cbs.CommandBuffer, _pipeline.SupportBufferUpdater.Handle, false).Get(cbs, 0, SupportBuffer.RequiredSize).Value + Buffer = _cachedSupportBuffer }; dsc.UpdateBuffers(0, 0, uniformBuffer, DescriptorType.UniformBuffer); @@ -325,7 +360,14 @@ namespace Ryujinx.Graphics.Vulkan { for (int i = 0; i < count; i++) { - UpdateBuffer(cbs, ref _uniformBuffers[binding + i], _uniformBufferRefs[binding + i], dummyBuffer); + int index = binding + i; + + if (!_uniformSet[index]) + { + UpdateBuffer(cbs, ref _uniformBuffers[index], _uniformBufferRefs[index], dummyBuffer); + + _uniformSet[index] = true; + } } ReadOnlySpan uniformBuffers = _uniformBuffers; @@ -335,7 +377,14 @@ namespace Ryujinx.Graphics.Vulkan { for (int i = 0; i < count; i++) { - UpdateBuffer(cbs, ref _storageBuffers[binding + i], _storageBufferRefs[binding + i], dummyBuffer); + int index = binding + i; + + if (!_storageSet[index]) + { + UpdateBuffer(cbs, ref _storageBuffers[index], _storageBufferRefs[index], dummyBuffer); + + _storageSet[index] = true; + } } ReadOnlySpan storageBuffers = _storageBuffers; @@ -442,16 +491,21 @@ namespace Ryujinx.Graphics.Vulkan var dummyBuffer = _dummyBuffer?.GetBuffer(); int stagesCount = _program.Bindings[PipelineBase.UniformSetIndex].Length; - Span uniformBuffer = stackalloc DescriptorBufferInfo[1]; - - uniformBuffer[0] = new DescriptorBufferInfo() + if (!_uniformSet[0]) { - Offset = 0, - Range = (ulong)SupportBuffer.RequiredSize, - Buffer = _gd.BufferManager.GetBuffer(cbs.CommandBuffer, _pipeline.SupportBufferUpdater.Handle, false).Get(cbs, 0, SupportBuffer.RequiredSize).Value - }; + Span uniformBuffer = stackalloc DescriptorBufferInfo[1]; - UpdateBuffers(cbs, pbp, 0, uniformBuffer, DescriptorType.UniformBuffer); + uniformBuffer[0] = new DescriptorBufferInfo() + { + Offset = 0, + Range = (ulong)SupportBuffer.RequiredSize, + Buffer = _gd.BufferManager.GetBuffer(cbs.CommandBuffer, _pipeline.SupportBufferUpdater.Handle, false).Get(cbs, 0, SupportBuffer.RequiredSize).Value + }; + + _uniformSet[0] = true; + + UpdateBuffers(cbs, pbp, 0, uniformBuffer, DescriptorType.UniformBuffer); + } for (int stageIndex = 0; stageIndex < stagesCount; stageIndex++) { @@ -469,13 +523,25 @@ namespace Ryujinx.Graphics.Vulkan count++; } + bool doUpdate = false; + for (int i = 0; i < count; i++) { - UpdateBuffer(cbs, ref _uniformBuffers[binding + i], _uniformBufferRefs[binding + i], dummyBuffer); + int index = binding + i; + + if (!_uniformSet[index]) + { + UpdateBuffer(cbs, ref _uniformBuffers[index], _uniformBufferRefs[index], dummyBuffer); + _uniformSet[index] = true; + doUpdate = true; + } } - ReadOnlySpan uniformBuffers = _uniformBuffers; - UpdateBuffers(cbs, pbp, binding, uniformBuffers.Slice(binding, count), DescriptorType.UniformBuffer); + if (doUpdate) + { + ReadOnlySpan uniformBuffers = _uniformBuffers; + UpdateBuffers(cbs, pbp, binding, uniformBuffers.Slice(binding, count), DescriptorType.UniformBuffer); + } } } } @@ -516,6 +582,9 @@ namespace Ryujinx.Graphics.Vulkan public void SignalCommandBufferChange() { _dirty = DirtyFlags.All; + + Array.Clear(_uniformSet); + Array.Clear(_storageSet); } protected virtual void Dispose(bool disposing) diff --git a/Ryujinx.Graphics.Vulkan/HardwareCapabilities.cs b/Ryujinx.Graphics.Vulkan/HardwareCapabilities.cs index 456691261..499bd3b24 100644 --- a/Ryujinx.Graphics.Vulkan/HardwareCapabilities.cs +++ b/Ryujinx.Graphics.Vulkan/HardwareCapabilities.cs @@ -8,6 +8,7 @@ namespace Ryujinx.Graphics.Vulkan public readonly bool SupportsExtendedDynamicState; public readonly bool SupportsMultiView; public readonly bool SupportsNullDescriptors; + public readonly bool SupportsPushDescriptors; public readonly bool SupportsTransformFeedback; public readonly bool SupportsTransformFeedbackQueries; public readonly bool SupportsGeometryShader; @@ -20,6 +21,7 @@ namespace Ryujinx.Graphics.Vulkan bool supportsExtendedDynamicState, bool supportsMultiView, bool supportsNullDescriptors, + bool supportsPushDescriptors, bool supportsTransformFeedback, bool supportsTransformFeedbackQueries, bool supportsGeometryShader, @@ -31,6 +33,7 @@ namespace Ryujinx.Graphics.Vulkan SupportsExtendedDynamicState = supportsExtendedDynamicState; SupportsMultiView = supportsMultiView; SupportsNullDescriptors = supportsNullDescriptors; + SupportsPushDescriptors = supportsPushDescriptors; SupportsTransformFeedback = supportsTransformFeedback; SupportsTransformFeedbackQueries = supportsTransformFeedbackQueries; SupportsGeometryShader = supportsGeometryShader; diff --git a/Ryujinx.Graphics.Vulkan/ShaderCollection.cs b/Ryujinx.Graphics.Vulkan/ShaderCollection.cs index cd911ce23..a0cca76c4 100644 --- a/Ryujinx.Graphics.Vulkan/ShaderCollection.cs +++ b/Ryujinx.Graphics.Vulkan/ShaderCollection.cs @@ -90,7 +90,7 @@ namespace Ryujinx.Graphics.Vulkan _shaders = internalShaders; - bool usePd = !isMinimal && VulkanConfiguration.UsePushDescriptors; + bool usePd = !isMinimal && VulkanConfiguration.UsePushDescriptors && _gd.Capabilities.SupportsPushDescriptors; _plce = isMinimal ? gd.PipelineLayoutCache.Create(gd, device, shaders) diff --git a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs index a85a12dd5..2025d0f81 100644 --- a/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs +++ b/Ryujinx.Graphics.Vulkan/VulkanGraphicsDevice.cs @@ -212,6 +212,7 @@ namespace Ryujinx.Graphics.Vulkan supportedExtensions.Contains(ExtExtendedDynamicState.ExtensionName), features2.Features.MultiViewport, featuresRobustness2.NullDescriptor, + supportedExtensions.Contains(KhrPushDescriptor.ExtensionName), supportsTransformFeedback, propertiesTransformFeedback.TransformFeedbackQueries, supportedFeatures.GeometryShader, From 3b9bf0666f9c05e50a2d2b2160fe1308eee0e4f8 Mon Sep 17 00:00:00 2001 From: gdk Date: Tue, 21 Jun 2022 23:10:16 -0300 Subject: [PATCH 178/179] Increase light command buffer pool to 2 command buffers, throw rather than returning invalid cbs --- Ryujinx.Graphics.Vulkan/CommandBufferPool.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/CommandBufferPool.cs b/Ryujinx.Graphics.Vulkan/CommandBufferPool.cs index 33f4c3ff1..47337b666 100644 --- a/Ryujinx.Graphics.Vulkan/CommandBufferPool.cs +++ b/Ryujinx.Graphics.Vulkan/CommandBufferPool.cs @@ -77,7 +77,8 @@ namespace Ryujinx.Graphics.Vulkan api.CreateCommandPool(device, commandPoolCreateInfo, null, out _pool).ThrowOnError(); - _totalCommandBuffers = isLight ? 1 : MaxCommandBuffers; + // We need at least 2 command buffers to get texture data in some cases. + _totalCommandBuffers = isLight ? 2 : MaxCommandBuffers; _totalCommandBuffersMask = _totalCommandBuffers - 1; _commandBuffers = new ReservedCommandBuffer[_totalCommandBuffers]; @@ -236,9 +237,9 @@ namespace Ryujinx.Graphics.Vulkan cursor = (cursor + 1) & _totalCommandBuffersMask; } - - return default; } + + throw new InvalidOperationException($"Out of command buffers (In use: {_inUseCount}, queued: {_queuedCount}, total: {_totalCommandBuffers})"); } public void Return(CommandBufferScoped cbs) From 6d277130daebb0c6b9cd055700ac34b7c154d41a Mon Sep 17 00:00:00 2001 From: gdk Date: Wed, 22 Jun 2022 00:11:17 -0300 Subject: [PATCH 179/179] Adjust bindings array sizes --- .../DescriptorSetUpdater.cs | 69 ++++++++++--------- 1 file changed, 37 insertions(+), 32 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs b/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs index 7fa8d9e29..7caf319e5 100644 --- a/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs +++ b/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs @@ -56,21 +56,32 @@ namespace Ryujinx.Graphics.Vulkan _gd = gd; _pipeline = pipeline; + // Some of the bindings counts needs to be multiplied by 2 because we have buffer and + // regular textures/images interleaved on the same descriptor set. + _uniformBufferRefs = new Auto[Constants.MaxUniformBufferBindings]; _storageBufferRefs = new Auto[Constants.MaxStorageBufferBindings]; - _textureRefs = new Auto[Constants.MaxTextureBindings]; - _samplerRefs = new Auto[Constants.MaxTextureBindings]; - _imageRefs = new Auto[Constants.MaxImageBindings]; - _bufferTextureRefs = new TextureBuffer[Constants.MaxTextureBindings]; - _bufferImageRefs = new TextureBuffer[Constants.MaxImageBindings]; - _bufferImageFormats = new GAL.Format[Constants.MaxImageBindings]; + _textureRefs = new Auto[Constants.MaxTextureBindings * 2]; + _samplerRefs = new Auto[Constants.MaxTextureBindings * 2]; + _imageRefs = new Auto[Constants.MaxImageBindings * 2]; + _bufferTextureRefs = new TextureBuffer[Constants.MaxTextureBindings * 2]; + _bufferImageRefs = new TextureBuffer[Constants.MaxImageBindings * 2]; + _bufferImageFormats = new GAL.Format[Constants.MaxImageBindings * 2]; _uniformBuffers = new DescriptorBufferInfo[Constants.MaxUniformBufferBindings]; _storageBuffers = new DescriptorBufferInfo[Constants.MaxStorageBufferBindings]; - _textures = new DescriptorImageInfo[Constants.MaxTextureBindings]; - _images = new DescriptorImageInfo[Constants.MaxImageBindings]; - _bufferTextures = new BufferView[Constants.MaxTextureBindings]; - _bufferImages = new BufferView[Constants.MaxImageBindings]; + _textures = new DescriptorImageInfo[Constants.MaxTexturesPerStage]; + _images = new DescriptorImageInfo[Constants.MaxImagesPerStage]; + _bufferTextures = new BufferView[Constants.MaxTexturesPerStage]; + _bufferImages = new BufferView[Constants.MaxImagesPerStage]; + + var initialImageInfo = new DescriptorImageInfo() + { + ImageLayout = ImageLayout.General + }; + + _textures.AsSpan().Fill(initialImageInfo); + _images.AsSpan().Fill(initialImageInfo); _uniformSet = new bool[Constants.MaxUniformBufferBindings]; _storageSet = new bool[Constants.MaxStorageBufferBindings]; @@ -140,10 +151,6 @@ namespace Ryujinx.Graphics.Vulkan else if (image is TextureView view) { _imageRefs[binding] = view.GetView(imageFormat).GetIdentityImageView(); - _images[binding] = new DescriptorImageInfo() - { - ImageLayout = ImageLayout.General - }; } SignalDirty(DirtyFlags.Image); @@ -197,11 +204,6 @@ namespace Ryujinx.Graphics.Vulkan _textureRefs[binding] = view.GetImageView(); _samplerRefs[binding] = ((SamplerHolder)sampler)?.GetSampler(); - - _textures[binding] = new DescriptorImageInfo() - { - ImageLayout = ImageLayout.General - }; } SignalDirty(DirtyFlags.Texture); @@ -394,13 +396,14 @@ namespace Ryujinx.Graphics.Vulkan { if (((uint)binding % (Constants.MaxTexturesPerStage * 2)) < Constants.MaxTexturesPerStage || program.HasMinimalLayout) { + Span textures = _textures; + for (int i = 0; i < count; i++) { - ref var texture = ref _textures[binding + i]; + ref var texture = ref textures[i]; texture.ImageView = _textureRefs[binding + i]?.Get(cbs).Value ?? default; texture.Sampler = _samplerRefs[binding + i]?.Get(cbs).Value ?? default; - texture.ImageLayout = ImageLayout.General; if (texture.ImageView.Handle == 0) { @@ -413,41 +416,43 @@ namespace Ryujinx.Graphics.Vulkan } } - ReadOnlySpan textures = _textures; - dsc.UpdateImages(0, binding, textures.Slice(binding, count), DescriptorType.CombinedImageSampler); + dsc.UpdateImages(0, binding, textures.Slice(0, count), DescriptorType.CombinedImageSampler); } else { + Span bufferTextures = _bufferTextures; + for (int i = 0; i < count; i++) { - _bufferTextures[binding + i] = _bufferTextureRefs[binding + i]?.GetBufferView(cbs) ?? default; + bufferTextures[i] = _bufferTextureRefs[binding + i]?.GetBufferView(cbs) ?? default; } - ReadOnlySpan bufferTextures = _bufferTextures; - dsc.UpdateBufferImages(0, binding, bufferTextures.Slice(binding, count), DescriptorType.UniformTexelBuffer); + dsc.UpdateBufferImages(0, binding, bufferTextures.Slice(0, count), DescriptorType.UniformTexelBuffer); } } else if (setIndex == PipelineBase.ImageSetIndex) { if (((uint)binding % (Constants.MaxImagesPerStage * 2)) < Constants.MaxImagesPerStage || program.HasMinimalLayout) { + Span images = _images; + for (int i = 0; i < count; i++) { - _images[binding + i].ImageView = _imageRefs[binding + i]?.Get(cbs).Value ?? default; + images[i].ImageView = _imageRefs[binding + i]?.Get(cbs).Value ?? default; } - ReadOnlySpan images = _images; - dsc.UpdateImages(0, binding, images.Slice(binding, count), DescriptorType.StorageImage); + dsc.UpdateImages(0, binding, images.Slice(0, count), DescriptorType.StorageImage); } else { + Span bufferImages = _bufferImages; + for (int i = 0; i < count; i++) { - _bufferImages[binding + i] = _bufferImageRefs[binding + i]?.GetBufferView(cbs, _bufferImageFormats[binding + i]) ?? default; + bufferImages[i] = _bufferImageRefs[binding + i]?.GetBufferView(cbs, _bufferImageFormats[binding + i]) ?? default; } - ReadOnlySpan bufferImages = _bufferImages; - dsc.UpdateBufferImages(0, binding, bufferImages.Slice(binding, count), DescriptorType.StorageTexelBuffer); + dsc.UpdateBufferImages(0, binding, bufferImages.Slice(0, count), DescriptorType.StorageTexelBuffer); } } }
  2. Eu~!D>=+hTP;IE24(ksINjXzvy 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