diff options
Diffstat (limited to 'src/Ryujinx.Graphics.Vulkan/FormatCapabilities.cs')
-rw-r--r-- | src/Ryujinx.Graphics.Vulkan/FormatCapabilities.cs | 39 |
1 files changed, 20 insertions, 19 deletions
diff --git a/src/Ryujinx.Graphics.Vulkan/FormatCapabilities.cs b/src/Ryujinx.Graphics.Vulkan/FormatCapabilities.cs index a2ebc518..5f7deeb6 100644 --- a/src/Ryujinx.Graphics.Vulkan/FormatCapabilities.cs +++ b/src/Ryujinx.Graphics.Vulkan/FormatCapabilities.cs @@ -2,6 +2,7 @@ using Ryujinx.Common.Logging; using Ryujinx.Graphics.GAL; using Silk.NET.Vulkan; using System; +using Format = Ryujinx.Graphics.GAL.Format; using VkFormat = Silk.NET.Vulkan.Format; namespace Ryujinx.Graphics.Vulkan @@ -19,15 +20,15 @@ namespace Ryujinx.Graphics.Vulkan _api = api; _physicalDevice = physicalDevice; - int totalFormats = Enum.GetNames(typeof(GAL.Format)).Length; + int totalFormats = Enum.GetNames(typeof(Format)).Length; _bufferTable = new FormatFeatureFlags[totalFormats]; _optimalTable = new FormatFeatureFlags[totalFormats]; } - public bool BufferFormatsSupport(FormatFeatureFlags flags, params GAL.Format[] formats) + public bool BufferFormatsSupport(FormatFeatureFlags flags, params Format[] formats) { - foreach (GAL.Format format in formats) + foreach (Format format in formats) { if (!BufferFormatSupports(flags, format)) { @@ -38,9 +39,9 @@ namespace Ryujinx.Graphics.Vulkan return true; } - public bool OptimalFormatsSupport(FormatFeatureFlags flags, params GAL.Format[] formats) + public bool OptimalFormatsSupport(FormatFeatureFlags flags, params Format[] formats) { - foreach (GAL.Format format in formats) + foreach (Format format in formats) { if (!OptimalFormatSupports(flags, format)) { @@ -51,7 +52,7 @@ namespace Ryujinx.Graphics.Vulkan return true; } - public bool BufferFormatSupports(FormatFeatureFlags flags, GAL.Format format) + public bool BufferFormatSupports(FormatFeatureFlags flags, Format format) { var formatFeatureFlags = _bufferTable[(int)format]; @@ -72,7 +73,7 @@ namespace Ryujinx.Graphics.Vulkan return (fp.BufferFeatures & flags) == flags; } - public bool OptimalFormatSupports(FormatFeatureFlags flags, GAL.Format format) + public bool OptimalFormatSupports(FormatFeatureFlags flags, Format format) { var formatFeatureFlags = _optimalTable[(int)format]; @@ -86,7 +87,7 @@ namespace Ryujinx.Graphics.Vulkan return (formatFeatureFlags & flags) == flags; } - public VkFormat ConvertToVkFormat(GAL.Format srcFormat) + public VkFormat ConvertToVkFormat(Format srcFormat) { var format = FormatTable.GetFormat(srcFormat); @@ -115,7 +116,7 @@ namespace Ryujinx.Graphics.Vulkan { format = VkFormat.D32SfloatS8Uint; } - else if (srcFormat == GAL.Format.R4G4B4A4Unorm) + else if (srcFormat == Format.R4G4B4A4Unorm) { format = VkFormat.R4G4B4A4UnormPack16; } @@ -128,7 +129,7 @@ namespace Ryujinx.Graphics.Vulkan return format; } - public VkFormat ConvertToVertexVkFormat(GAL.Format srcFormat) + public VkFormat ConvertToVertexVkFormat(Format srcFormat) { var format = FormatTable.GetFormat(srcFormat); @@ -138,13 +139,13 @@ namespace Ryujinx.Graphics.Vulkan // The format is not supported. Can we convert it to an alternative format? switch (srcFormat) { - case GAL.Format.R16G16B16Float: + case Format.R16G16B16Float: format = VkFormat.R16G16B16A16Sfloat; break; - case GAL.Format.R16G16B16Sint: + case Format.R16G16B16Sint: format = VkFormat.R16G16B16A16Sint; break; - case GAL.Format.R16G16B16Uint: + case Format.R16G16B16Uint: format = VkFormat.R16G16B16A16Uint; break; default: @@ -156,16 +157,16 @@ namespace Ryujinx.Graphics.Vulkan return format; } - public static bool IsD24S8(GAL.Format format) + public static bool IsD24S8(Format format) { - return format == GAL.Format.D24UnormS8Uint || format == GAL.Format.S8UintD24Unorm; + return format == Format.D24UnormS8Uint || format == Format.S8UintD24Unorm; } - private static bool IsRGB16IntFloat(GAL.Format format) + private static bool IsRGB16IntFloat(Format format) { - return format == GAL.Format.R16G16B16Float || - format == GAL.Format.R16G16B16Sint || - format == GAL.Format.R16G16B16Uint; + return format == Format.R16G16B16Float || + format == Format.R16G16B16Sint || + format == Format.R16G16B16Uint; } } } |