diff options
Diffstat (limited to 'Ryujinx.Graphics.Vulkan/FormatConverter.cs')
| -rw-r--r-- | Ryujinx.Graphics.Vulkan/FormatConverter.cs | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/Ryujinx.Graphics.Vulkan/FormatConverter.cs b/Ryujinx.Graphics.Vulkan/FormatConverter.cs deleted file mode 100644 index 33472ae4..00000000 --- a/Ryujinx.Graphics.Vulkan/FormatConverter.cs +++ /dev/null @@ -1,49 +0,0 @@ -using System; -using System.Runtime.InteropServices; - -namespace Ryujinx.Graphics.Vulkan -{ - class FormatConverter - { - public static void ConvertD24S8ToD32FS8(Span<byte> output, ReadOnlySpan<byte> input) - { - const float UnormToFloat = 1f / 0xffffff; - - Span<uint> outputUint = MemoryMarshal.Cast<byte, uint>(output); - ReadOnlySpan<uint> inputUint = MemoryMarshal.Cast<byte, uint>(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 static void ConvertD32FS8ToD24S8(Span<byte> output, ReadOnlySpan<byte> input) - { - Span<uint> outputUint = MemoryMarshal.Cast<byte, uint>(output); - ReadOnlySpan<uint> inputUint = MemoryMarshal.Cast<byte, uint>(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; - } - } - } -} |
