diff options
| author | gdkchan <gab.dark.100@gmail.com> | 2018-06-10 01:00:43 -0300 |
|---|---|---|
| committer | gdkchan <gab.dark.100@gmail.com> | 2018-06-10 01:00:43 -0300 |
| commit | 49fd76db0fee72870e0b7fee73e6b6380fa00823 (patch) | |
| tree | 52ac8e2907c1d32b34cbf23f4549a8da275c9489 | |
| parent | adeb8793c21e8128ef50ecb555663dfa7ea9fda6 (diff) | |
Fix a small size related issue on MapBufferEx and add the BC7U texture format
| -rw-r--r-- | Ryujinx.Core/Gpu/TextureHelper.cs | 1 | ||||
| -rw-r--r-- | Ryujinx.Core/Gpu/TextureReader.cs | 1 | ||||
| -rw-r--r-- | Ryujinx.Core/OsHle/Services/Nv/NvGpuAS/NvGpuASIoctl.cs | 4 | ||||
| -rw-r--r-- | Ryujinx.Graphics/Gal/GalTextureFormat.cs | 1 | ||||
| -rw-r--r-- | Ryujinx.Graphics/Gal/OpenGL/OGLEnumConverter.cs | 11 | ||||
| -rw-r--r-- | Ryujinx.Graphics/Gal/OpenGL/OGLTexture.cs | 1 |
6 files changed, 11 insertions, 8 deletions
diff --git a/Ryujinx.Core/Gpu/TextureHelper.cs b/Ryujinx.Core/Gpu/TextureHelper.cs index 1863bb77..075fbc3e 100644 --- a/Ryujinx.Core/Gpu/TextureHelper.cs +++ b/Ryujinx.Core/Gpu/TextureHelper.cs @@ -44,6 +44,7 @@ namespace Ryujinx.Core.Gpu return W * H * 8; } + case GalTextureFormat.BC7U: case GalTextureFormat.BC2: case GalTextureFormat.BC3: case GalTextureFormat.BC5: diff --git a/Ryujinx.Core/Gpu/TextureReader.cs b/Ryujinx.Core/Gpu/TextureReader.cs index acd17c5d..e6058de1 100644 --- a/Ryujinx.Core/Gpu/TextureReader.cs +++ b/Ryujinx.Core/Gpu/TextureReader.cs @@ -18,6 +18,7 @@ namespace Ryujinx.Core.Gpu case GalTextureFormat.B5G6R5: return Read565 (Memory, Texture); case GalTextureFormat.G8R8: return Read2Bpp (Memory, Texture); case GalTextureFormat.R8: return Read1Bpp (Memory, Texture); + case GalTextureFormat.BC7U: return Read16Bpt4x4(Memory, Texture); case GalTextureFormat.BC1: return Read8Bpt4x4 (Memory, Texture); case GalTextureFormat.BC2: return Read16Bpt4x4(Memory, Texture); case GalTextureFormat.BC3: return Read16Bpt4x4(Memory, Texture); diff --git a/Ryujinx.Core/OsHle/Services/Nv/NvGpuAS/NvGpuASIoctl.cs b/Ryujinx.Core/OsHle/Services/Nv/NvGpuAS/NvGpuASIoctl.cs index 72622471..a69bc3aa 100644 --- a/Ryujinx.Core/OsHle/Services/Nv/NvGpuAS/NvGpuASIoctl.cs +++ b/Ryujinx.Core/OsHle/Services/Nv/NvGpuAS/NvGpuASIoctl.cs @@ -140,11 +140,9 @@ namespace Ryujinx.Core.OsHle.Services.Nv.NvGpuAS if (Size == 0) { - Size = Map.Size; + Size = (uint)Map.Size; } - Size = Map.Size; - int Result = NvResult.Success; //Note: When the fixed offset flag is not set, diff --git a/Ryujinx.Graphics/Gal/GalTextureFormat.cs b/Ryujinx.Graphics/Gal/GalTextureFormat.cs index d61495eb..3bac2f80 100644 --- a/Ryujinx.Graphics/Gal/GalTextureFormat.cs +++ b/Ryujinx.Graphics/Gal/GalTextureFormat.cs @@ -8,6 +8,7 @@ namespace Ryujinx.Graphics.Gal R32 = 0xf, A1B5G5R5 = 0x14, B5G6R5 = 0x15, + BC7U = 0x17, G8R8 = 0x18, R8 = 0x1d, BC1 = 0x24, diff --git a/Ryujinx.Graphics/Gal/OpenGL/OGLEnumConverter.cs b/Ryujinx.Graphics/Gal/OpenGL/OGLEnumConverter.cs index 2a9641fc..50b802c1 100644 --- a/Ryujinx.Graphics/Gal/OpenGL/OGLEnumConverter.cs +++ b/Ryujinx.Graphics/Gal/OpenGL/OGLEnumConverter.cs @@ -76,11 +76,12 @@ namespace Ryujinx.Graphics.Gal.OpenGL { switch (Format) { - case GalTextureFormat.BC1: return PixelInternalFormat.CompressedRgbaS3tcDxt1Ext; - case GalTextureFormat.BC2: return PixelInternalFormat.CompressedRgbaS3tcDxt3Ext; - case GalTextureFormat.BC3: return PixelInternalFormat.CompressedRgbaS3tcDxt5Ext; - case GalTextureFormat.BC4: return PixelInternalFormat.CompressedRedRgtc1; - case GalTextureFormat.BC5: return PixelInternalFormat.CompressedRgRgtc2; + case GalTextureFormat.BC7U: return PixelInternalFormat.CompressedRgbaBptcUnorm; + case GalTextureFormat.BC1: return PixelInternalFormat.CompressedRgbaS3tcDxt1Ext; + case GalTextureFormat.BC2: return PixelInternalFormat.CompressedRgbaS3tcDxt3Ext; + case GalTextureFormat.BC3: return PixelInternalFormat.CompressedRgbaS3tcDxt5Ext; + case GalTextureFormat.BC4: return PixelInternalFormat.CompressedRedRgtc1; + case GalTextureFormat.BC5: return PixelInternalFormat.CompressedRgRgtc2; } throw new NotImplementedException(Format.ToString()); diff --git a/Ryujinx.Graphics/Gal/OpenGL/OGLTexture.cs b/Ryujinx.Graphics/Gal/OpenGL/OGLTexture.cs index 540e4735..d81fcc48 100644 --- a/Ryujinx.Graphics/Gal/OpenGL/OGLTexture.cs +++ b/Ryujinx.Graphics/Gal/OpenGL/OGLTexture.cs @@ -202,6 +202,7 @@ namespace Ryujinx.Graphics.Gal.OpenGL { switch (Format) { + case GalTextureFormat.BC7U: case GalTextureFormat.BC1: case GalTextureFormat.BC2: case GalTextureFormat.BC3: |
