aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/Gpu/Texture
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2018-07-09 23:01:59 -0300
committerGitHub <noreply@github.com>2018-07-09 23:01:59 -0300
commit1968386808bb48f823b1877b0e5ff8c6e2f8bd49 (patch)
tree40b4dd9e9dc1f756af99fcd571a7ef5272f4cc8f /Ryujinx.HLE/Gpu/Texture
parent791fe70810f0f0f417c74aaff5446551bed78fee (diff)
Add locking methods to the ogl resource cache (#238)
* Add locking methods to the ogl resource cache * Remove some unused arguments * Add the ZF32 texture format
Diffstat (limited to 'Ryujinx.HLE/Gpu/Texture')
-rw-r--r--Ryujinx.HLE/Gpu/Texture/TextureHelper.cs28
-rw-r--r--Ryujinx.HLE/Gpu/Texture/TextureReader.cs1
2 files changed, 20 insertions, 9 deletions
diff --git a/Ryujinx.HLE/Gpu/Texture/TextureHelper.cs b/Ryujinx.HLE/Gpu/Texture/TextureHelper.cs
index ac8f75c5..3c633b69 100644
--- a/Ryujinx.HLE/Gpu/Texture/TextureHelper.cs
+++ b/Ryujinx.HLE/Gpu/Texture/TextureHelper.cs
@@ -28,15 +28,25 @@ namespace Ryujinx.HLE.Gpu.Texture
{
switch (Texture.Format)
{
- case GalTextureFormat.R32G32B32A32: return Texture.Width * Texture.Height * 16;
- case GalTextureFormat.R16G16B16A16: return Texture.Width * Texture.Height * 8;
- case GalTextureFormat.A8B8G8R8: return Texture.Width * Texture.Height * 4;
- case GalTextureFormat.R32: return Texture.Width * Texture.Height * 4;
- case GalTextureFormat.A1B5G5R5: return Texture.Width * Texture.Height * 2;
- case GalTextureFormat.B5G6R5: return Texture.Width * Texture.Height * 2;
- case GalTextureFormat.G8R8: return Texture.Width * Texture.Height * 2;
- case GalTextureFormat.R16: return Texture.Width * Texture.Height * 2;
- case GalTextureFormat.R8: return Texture.Width * Texture.Height;
+ case GalTextureFormat.R32G32B32A32:
+ return Texture.Width * Texture.Height * 16;
+
+ case GalTextureFormat.R16G16B16A16:
+ return Texture.Width * Texture.Height * 8;
+
+ case GalTextureFormat.A8B8G8R8:
+ case GalTextureFormat.R32:
+ case GalTextureFormat.ZF32:
+ return Texture.Width * Texture.Height * 4;
+
+ case GalTextureFormat.A1B5G5R5:
+ case GalTextureFormat.B5G6R5:
+ case GalTextureFormat.G8R8:
+ case GalTextureFormat.R16:
+ return Texture.Width * Texture.Height * 2;
+
+ case GalTextureFormat.R8:
+ return Texture.Width * Texture.Height;
case GalTextureFormat.BC1:
case GalTextureFormat.BC4:
diff --git a/Ryujinx.HLE/Gpu/Texture/TextureReader.cs b/Ryujinx.HLE/Gpu/Texture/TextureReader.cs
index 48bf1a90..24bceffb 100644
--- a/Ryujinx.HLE/Gpu/Texture/TextureReader.cs
+++ b/Ryujinx.HLE/Gpu/Texture/TextureReader.cs
@@ -25,6 +25,7 @@ namespace Ryujinx.HLE.Gpu.Texture
case GalTextureFormat.BC3: return Read16Bpt4x4(Memory, Texture);
case GalTextureFormat.BC4: return Read8Bpt4x4 (Memory, Texture);
case GalTextureFormat.BC5: return Read16Bpt4x4(Memory, Texture);
+ case GalTextureFormat.ZF32: return Read4Bpp (Memory, Texture);
case GalTextureFormat.Astc2D4x4: return Read16Bpt4x4(Memory, Texture);
}