diff options
| author | gdk <gab.dark.100@gmail.com> | 2019-11-30 23:53:09 -0300 |
|---|---|---|
| committer | Thog <thog@protonmail.com> | 2020-01-09 02:13:00 +0100 |
| commit | 6a98c643cabeea25dc42e19fe475a687a034a532 (patch) | |
| tree | ccb1ecbfc5b79852be8a1f52e241015142a8a7a9 /Ryujinx.Graphics.OpenGL | |
| parent | 396768f3b4494c7dcb0c03942eeb50ef4d47adde (diff) | |
Add a pass to turn global memory access into storage access, and do all storage related transformations on IR
Diffstat (limited to 'Ryujinx.Graphics.OpenGL')
| -rw-r--r-- | Ryujinx.Graphics.OpenGL/HwCapabilities.cs | 13 | ||||
| -rw-r--r-- | Ryujinx.Graphics.OpenGL/Renderer.cs | 4 |
2 files changed, 14 insertions, 3 deletions
diff --git a/Ryujinx.Graphics.OpenGL/HwCapabilities.cs b/Ryujinx.Graphics.OpenGL/HwCapabilities.cs index f958946e..70112a3a 100644 --- a/Ryujinx.Graphics.OpenGL/HwCapabilities.cs +++ b/Ryujinx.Graphics.OpenGL/HwCapabilities.cs @@ -5,9 +5,13 @@ namespace Ryujinx.Graphics.OpenGL { static class HwCapabilities { - private static Lazy<bool> _astcCompression = new Lazy<bool>(() => HasExtension("GL_KHR_texture_compression_astc_ldr")); + private static Lazy<bool> _supportsAstcCompression = new Lazy<bool>(() => HasExtension("GL_KHR_texture_compression_astc_ldr")); - public static bool SupportsAstcCompression => _astcCompression.Value; + private static Lazy<int> _storageBufferOffsetAlignment = new Lazy<int>(() => GetLimit(All.ShaderStorageBufferOffsetAlignment)); + + public static bool SupportsAstcCompression => _supportsAstcCompression.Value; + + public static int StorageBufferOffsetAlignment => _storageBufferOffsetAlignment.Value; private static bool HasExtension(string name) { @@ -23,5 +27,10 @@ namespace Ryujinx.Graphics.OpenGL return false; } + + private static int GetLimit(All name) + { + return GL.GetInteger((GetPName)name); + } } }
\ No newline at end of file diff --git a/Ryujinx.Graphics.OpenGL/Renderer.cs b/Ryujinx.Graphics.OpenGL/Renderer.cs index 1baee04b..c320d150 100644 --- a/Ryujinx.Graphics.OpenGL/Renderer.cs +++ b/Ryujinx.Graphics.OpenGL/Renderer.cs @@ -61,7 +61,9 @@ namespace Ryujinx.Graphics.OpenGL public Capabilities GetCapabilities() { - return new Capabilities(HwCapabilities.SupportsAstcCompression); + return new Capabilities( + HwCapabilities.SupportsAstcCompression, + HwCapabilities.StorageBufferOffsetAlignment); } public ulong GetCounter(CounterType type) |
