aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.Gpu/Engine/Types
diff options
context:
space:
mode:
authorTSR Berry <20988865+TSRBerry@users.noreply.github.com>2023-04-08 01:22:00 +0200
committerMary <thog@protonmail.com>2023-04-27 23:51:14 +0200
commitcee712105850ac3385cd0091a923438167433f9f (patch)
tree4a5274b21d8b7f938c0d0ce18736d3f2993b11b1 /Ryujinx.Graphics.Gpu/Engine/Types
parentcd124bda587ef09668a971fa1cac1c3f0cfc9f21 (diff)
Move solution and projects to src
Diffstat (limited to 'Ryujinx.Graphics.Gpu/Engine/Types')
-rw-r--r--Ryujinx.Graphics.Gpu/Engine/Types/Boolean32.cs17
-rw-r--r--Ryujinx.Graphics.Gpu/Engine/Types/ColorFormat.cs165
-rw-r--r--Ryujinx.Graphics.Gpu/Engine/Types/GpuVa.cs22
-rw-r--r--Ryujinx.Graphics.Gpu/Engine/Types/MemoryLayout.cs37
-rw-r--r--Ryujinx.Graphics.Gpu/Engine/Types/PrimitiveType.cs99
-rw-r--r--Ryujinx.Graphics.Gpu/Engine/Types/SamplerIndex.cs11
-rw-r--r--Ryujinx.Graphics.Gpu/Engine/Types/SbDescriptor.cs20
-rw-r--r--Ryujinx.Graphics.Gpu/Engine/Types/ZetaFormat.cs42
8 files changed, 0 insertions, 413 deletions
diff --git a/Ryujinx.Graphics.Gpu/Engine/Types/Boolean32.cs b/Ryujinx.Graphics.Gpu/Engine/Types/Boolean32.cs
deleted file mode 100644
index c982347a..00000000
--- a/Ryujinx.Graphics.Gpu/Engine/Types/Boolean32.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-namespace Ryujinx.Graphics.Gpu.Engine.Types
-{
- /// <summary>
- /// Boolean value, stored as a 32-bits integer in memory.
- /// </summary>
- struct Boolean32
- {
-#pragma warning disable CS0649
- private uint _value;
-#pragma warning restore CS0649
-
- public static implicit operator bool(Boolean32 value)
- {
- return (value._value & 1) != 0;
- }
- }
-}
diff --git a/Ryujinx.Graphics.Gpu/Engine/Types/ColorFormat.cs b/Ryujinx.Graphics.Gpu/Engine/Types/ColorFormat.cs
deleted file mode 100644
index 889b5c8b..00000000
--- a/Ryujinx.Graphics.Gpu/Engine/Types/ColorFormat.cs
+++ /dev/null
@@ -1,165 +0,0 @@
-using Ryujinx.Graphics.GAL;
-using Ryujinx.Graphics.Gpu.Image;
-
-namespace Ryujinx.Graphics.Gpu.Engine.Types
-{
- /// <summary>
- /// Color texture format.
- /// </summary>
- enum ColorFormat
- {
- R32G32B32A32Float = 0xc0,
- R32G32B32A32Sint = 0xc1,
- R32G32B32A32Uint = 0xc2,
- R32G32B32X32Float = 0xc3,
- R32G32B32X32Sint = 0xc4,
- R32G32B32X32Uint = 0xc5,
- R16G16B16X16Unorm = 0xc6,
- R16G16B16X16Snorm = 0xc7,
- R16G16B16X16Sint = 0xc8,
- R16G16B16X16Uint = 0xc9,
- R16G16B16A16Float = 0xca,
- R32G32Float = 0xcb,
- R32G32Sint = 0xcc,
- R32G32Uint = 0xcd,
- R16G16B16X16Float = 0xce,
- B8G8R8A8Unorm = 0xcf,
- B8G8R8A8Srgb = 0xd0,
- R10G10B10A2Unorm = 0xd1,
- R10G10B10A2Uint = 0xd2,
- R8G8B8A8Unorm = 0xd5,
- R8G8B8A8Srgb = 0xd6,
- R8G8B8X8Snorm = 0xd7,
- R8G8B8X8Sint = 0xd8,
- R8G8B8X8Uint = 0xd9,
- R16G16Unorm = 0xda,
- R16G16Snorm = 0xdb,
- R16G16Sint = 0xdc,
- R16G16Uint = 0xdd,
- R16G16Float = 0xde,
- R11G11B10Float = 0xe0,
- R32Sint = 0xe3,
- R32Uint = 0xe4,
- R32Float = 0xe5,
- B8G8R8X8Unorm = 0xe6,
- B8G8R8X8Srgb = 0xe7,
- B5G6R5Unorm = 0xe8,
- B5G5R5A1Unorm = 0xe9,
- R8G8Unorm = 0xea,
- R8G8Snorm = 0xeb,
- R8G8Sint = 0xec,
- R8G8Uint = 0xed,
- R16Unorm = 0xee,
- R16Snorm = 0xef,
- R16Sint = 0xf0,
- R16Uint = 0xf1,
- R16Float = 0xf2,
- R8Unorm = 0xf3,
- R8Snorm = 0xf4,
- R8Sint = 0xf5,
- R8Uint = 0xf6,
- B5G5R5X1Unorm = 0xf8,
- R8G8B8X8Unorm = 0xf9,
- R8G8B8X8Srgb = 0xfa
- }
-
- static class ColorFormatConverter
- {
- /// <summary>
- /// Converts the color texture format to a host compatible format.
- /// </summary>
- /// <param name="format">Color format</param>
- /// <returns>Host compatible format enum value</returns>
- public static FormatInfo Convert(this ColorFormat format)
- {
- return format switch
- {
- ColorFormat.R32G32B32A32Float => new FormatInfo(Format.R32G32B32A32Float, 1, 1, 16, 4),
- ColorFormat.R32G32B32A32Sint => new FormatInfo(Format.R32G32B32A32Sint, 1, 1, 16, 4),
- ColorFormat.R32G32B32A32Uint => new FormatInfo(Format.R32G32B32A32Uint, 1, 1, 16, 4),
- ColorFormat.R32G32B32X32Float => new FormatInfo(Format.R32G32B32A32Float, 1, 1, 16, 4),
- ColorFormat.R32G32B32X32Sint => new FormatInfo(Format.R32G32B32A32Sint, 1, 1, 16, 4),
- ColorFormat.R32G32B32X32Uint => new FormatInfo(Format.R32G32B32A32Uint, 1, 1, 16, 4),
- ColorFormat.R16G16B16X16Unorm => new FormatInfo(Format.R16G16B16A16Unorm, 1, 1, 8, 4),
- ColorFormat.R16G16B16X16Snorm => new FormatInfo(Format.R16G16B16A16Snorm, 1, 1, 8, 4),
- ColorFormat.R16G16B16X16Sint => new FormatInfo(Format.R16G16B16A16Sint, 1, 1, 8, 4),
- ColorFormat.R16G16B16X16Uint => new FormatInfo(Format.R16G16B16A16Uint, 1, 1, 8, 4),
- ColorFormat.R16G16B16A16Float => new FormatInfo(Format.R16G16B16A16Float, 1, 1, 8, 4),
- ColorFormat.R32G32Float => new FormatInfo(Format.R32G32Float, 1, 1, 8, 2),
- ColorFormat.R32G32Sint => new FormatInfo(Format.R32G32Sint, 1, 1, 8, 2),
- ColorFormat.R32G32Uint => new FormatInfo(Format.R32G32Uint, 1, 1, 8, 2),
- ColorFormat.R16G16B16X16Float => new FormatInfo(Format.R16G16B16A16Float, 1, 1, 8, 4),
- ColorFormat.B8G8R8A8Unorm => new FormatInfo(Format.B8G8R8A8Unorm, 1, 1, 4, 4),
- ColorFormat.B8G8R8A8Srgb => new FormatInfo(Format.B8G8R8A8Srgb, 1, 1, 4, 4),
- ColorFormat.R10G10B10A2Unorm => new FormatInfo(Format.R10G10B10A2Unorm, 1, 1, 4, 4),
- ColorFormat.R10G10B10A2Uint => new FormatInfo(Format.R10G10B10A2Uint, 1, 1, 4, 4),
- ColorFormat.R8G8B8A8Unorm => new FormatInfo(Format.R8G8B8A8Unorm, 1, 1, 4, 4),
- ColorFormat.R8G8B8A8Srgb => new FormatInfo(Format.R8G8B8A8Srgb, 1, 1, 4, 4),
- ColorFormat.R8G8B8X8Snorm => new FormatInfo(Format.R8G8B8A8Snorm, 1, 1, 4, 4),
- ColorFormat.R8G8B8X8Sint => new FormatInfo(Format.R8G8B8A8Sint, 1, 1, 4, 4),
- ColorFormat.R8G8B8X8Uint => new FormatInfo(Format.R8G8B8A8Uint, 1, 1, 4, 4),
- ColorFormat.R16G16Unorm => new FormatInfo(Format.R16G16Unorm, 1, 1, 4, 2),
- ColorFormat.R16G16Snorm => new FormatInfo(Format.R16G16Snorm, 1, 1, 4, 2),
- ColorFormat.R16G16Sint => new FormatInfo(Format.R16G16Sint, 1, 1, 4, 2),
- ColorFormat.R16G16Uint => new FormatInfo(Format.R16G16Uint, 1, 1, 4, 2),
- ColorFormat.R16G16Float => new FormatInfo(Format.R16G16Float, 1, 1, 4, 2),
- ColorFormat.R11G11B10Float => new FormatInfo(Format.R11G11B10Float, 1, 1, 4, 3),
- ColorFormat.R32Sint => new FormatInfo(Format.R32Sint, 1, 1, 4, 1),
- ColorFormat.R32Uint => new FormatInfo(Format.R32Uint, 1, 1, 4, 1),
- ColorFormat.R32Float => new FormatInfo(Format.R32Float, 1, 1, 4, 1),
- ColorFormat.B8G8R8X8Unorm => new FormatInfo(Format.B8G8R8A8Unorm, 1, 1, 4, 4),
- ColorFormat.B8G8R8X8Srgb => new FormatInfo(Format.B8G8R8A8Srgb, 1, 1, 4, 4),
- ColorFormat.B5G6R5Unorm => new FormatInfo(Format.B5G6R5Unorm, 1, 1, 2, 3),
- ColorFormat.B5G5R5A1Unorm => new FormatInfo(Format.B5G5R5A1Unorm, 1, 1, 2, 4),
- ColorFormat.R8G8Unorm => new FormatInfo(Format.R8G8Unorm, 1, 1, 2, 2),
- ColorFormat.R8G8Snorm => new FormatInfo(Format.R8G8Snorm, 1, 1, 2, 2),
- ColorFormat.R8G8Sint => new FormatInfo(Format.R8G8Sint, 1, 1, 2, 2),
- ColorFormat.R8G8Uint => new FormatInfo(Format.R8G8Uint, 1, 1, 2, 2),
- ColorFormat.R16Unorm => new FormatInfo(Format.R16Unorm, 1, 1, 2, 1),
- ColorFormat.R16Snorm => new FormatInfo(Format.R16Snorm, 1, 1, 2, 1),
- ColorFormat.R16Sint => new FormatInfo(Format.R16Sint, 1, 1, 2, 1),
- ColorFormat.R16Uint => new FormatInfo(Format.R16Uint, 1, 1, 2, 1),
- ColorFormat.R16Float => new FormatInfo(Format.R16Float, 1, 1, 2, 1),
- ColorFormat.R8Unorm => new FormatInfo(Format.R8Unorm, 1, 1, 1, 1),
- ColorFormat.R8Snorm => new FormatInfo(Format.R8Snorm, 1, 1, 1, 1),
- ColorFormat.R8Sint => new FormatInfo(Format.R8Sint, 1, 1, 1, 1),
- ColorFormat.R8Uint => new FormatInfo(Format.R8Uint, 1, 1, 1, 1),
- ColorFormat.B5G5R5X1Unorm => new FormatInfo(Format.B5G5R5A1Unorm, 1, 1, 2, 4),
- ColorFormat.R8G8B8X8Unorm => new FormatInfo(Format.R8G8B8A8Unorm, 1, 1, 4, 4),
- ColorFormat.R8G8B8X8Srgb => new FormatInfo(Format.R8G8B8A8Srgb, 1, 1, 4, 4),
- _ => FormatInfo.Default
- };
- }
-
- /// <summary>
- /// Checks if a format has an alpha component.
- /// </summary>
- /// <param name="format">Format to be checked</param>
- /// <returns>True if the format has no alpha component (RGBX), false if it does (RGBA)</returns>
- public static bool NoAlpha(this ColorFormat format)
- {
- switch (format)
- {
- case ColorFormat.R32G32B32X32Float:
- case ColorFormat.R32G32B32X32Sint:
- case ColorFormat.R32G32B32X32Uint:
- case ColorFormat.R16G16B16X16Unorm:
- case ColorFormat.R16G16B16X16Snorm:
- case ColorFormat.R16G16B16X16Sint:
- case ColorFormat.R16G16B16X16Uint:
- case ColorFormat.R16G16B16X16Float:
- case ColorFormat.R8G8B8X8Snorm:
- case ColorFormat.R8G8B8X8Sint:
- case ColorFormat.R8G8B8X8Uint:
- case ColorFormat.B8G8R8X8Unorm:
- case ColorFormat.B8G8R8X8Srgb:
- case ColorFormat.B5G5R5X1Unorm:
- case ColorFormat.R8G8B8X8Unorm:
- case ColorFormat.R8G8B8X8Srgb:
- return true;
- }
-
- return false;
- }
- }
-} \ No newline at end of file
diff --git a/Ryujinx.Graphics.Gpu/Engine/Types/GpuVa.cs b/Ryujinx.Graphics.Gpu/Engine/Types/GpuVa.cs
deleted file mode 100644
index 839faac9..00000000
--- a/Ryujinx.Graphics.Gpu/Engine/Types/GpuVa.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-namespace Ryujinx.Graphics.Gpu.Engine.Types
-{
- /// <summary>
- /// Split GPU virtual address.
- /// </summary>
- struct GpuVa
- {
-#pragma warning disable CS0649
- public uint High;
- public uint Low;
-#pragma warning restore CS0649
-
- /// <summary>
- /// Packs the split address into a 64-bits address value.
- /// </summary>
- /// <returns>The 64-bits address value</returns>
- public ulong Pack()
- {
- return Low | ((ulong)High << 32);
- }
- }
-}
diff --git a/Ryujinx.Graphics.Gpu/Engine/Types/MemoryLayout.cs b/Ryujinx.Graphics.Gpu/Engine/Types/MemoryLayout.cs
deleted file mode 100644
index 6da96bd4..00000000
--- a/Ryujinx.Graphics.Gpu/Engine/Types/MemoryLayout.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-namespace Ryujinx.Graphics.Gpu.Engine.Types
-{
- /// <summary>
- /// Memory layout parameters, for block linear textures.
- /// </summary>
- struct MemoryLayout
- {
-#pragma warning disable CS0649
- public uint Packed;
-#pragma warning restore CS0649
-
- public int UnpackGobBlocksInX()
- {
- return 1 << (int)(Packed & 0xf);
- }
-
- public int UnpackGobBlocksInY()
- {
- return 1 << (int)((Packed >> 4) & 0xf);
- }
-
- public int UnpackGobBlocksInZ()
- {
- return 1 << (int)((Packed >> 8) & 0xf);
- }
-
- public bool UnpackIsLinear()
- {
- return (Packed & 0x1000) != 0;
- }
-
- public bool UnpackIsTarget3D()
- {
- return (Packed & 0x10000) != 0;
- }
- }
-}
diff --git a/Ryujinx.Graphics.Gpu/Engine/Types/PrimitiveType.cs b/Ryujinx.Graphics.Gpu/Engine/Types/PrimitiveType.cs
deleted file mode 100644
index dae63124..00000000
--- a/Ryujinx.Graphics.Gpu/Engine/Types/PrimitiveType.cs
+++ /dev/null
@@ -1,99 +0,0 @@
-using Ryujinx.Graphics.GAL;
-
-namespace Ryujinx.Graphics.Gpu.Engine.Types
-{
- /// <summary>
- /// Draw primitive type.
- /// </summary>
- enum PrimitiveType
- {
- Points,
- Lines,
- LineLoop,
- LineStrip,
- Triangles,
- TriangleStrip,
- TriangleFan,
- Quads,
- QuadStrip,
- Polygon,
- LinesAdjacency,
- LineStripAdjacency,
- TrianglesAdjacency,
- TriangleStripAdjacency,
- Patches
- }
-
- /// <summary>
- /// Alternative primitive type that might override <see cref="PrimitiveType"/>.
- /// </summary>
- enum PrimitiveTypeOverride
- {
- Points = 1,
- Lines = 2,
- LineStrip = 3,
- Triangles = 4,
- TriangleStrip = 5,
- TriangleFan = 0x1015,
- LinesAdjacency = 10,
- LineStripAdjacency = 11,
- TrianglesAdjacency = 12,
- TriangleStripAdjacency = 13,
- Patches = 14
- }
-
- static class PrimitiveTypeConverter
- {
- /// <summary>
- /// Converts the primitive type into something that can be used with the host API.
- /// </summary>
- /// <param name="type">The primitive type to convert</param>
- /// <returns>A host compatible enum value</returns>
- public static PrimitiveTopology Convert(this PrimitiveType type)
- {
- return type switch
- {
- PrimitiveType.Points => PrimitiveTopology.Points,
- PrimitiveType.Lines => PrimitiveTopology.Lines,
- PrimitiveType.LineLoop => PrimitiveTopology.LineLoop,
- PrimitiveType.LineStrip => PrimitiveTopology.LineStrip,
- PrimitiveType.Triangles => PrimitiveTopology.Triangles,
- PrimitiveType.TriangleStrip => PrimitiveTopology.TriangleStrip,
- PrimitiveType.TriangleFan => PrimitiveTopology.TriangleFan,
- PrimitiveType.Quads => PrimitiveTopology.Quads,
- PrimitiveType.QuadStrip => PrimitiveTopology.QuadStrip,
- PrimitiveType.Polygon => PrimitiveTopology.Polygon,
- PrimitiveType.LinesAdjacency => PrimitiveTopology.LinesAdjacency,
- PrimitiveType.LineStripAdjacency => PrimitiveTopology.LineStripAdjacency,
- PrimitiveType.TrianglesAdjacency => PrimitiveTopology.TrianglesAdjacency,
- PrimitiveType.TriangleStripAdjacency => PrimitiveTopology.TriangleStripAdjacency,
- PrimitiveType.Patches => PrimitiveTopology.Patches,
- _ => PrimitiveTopology.Triangles
- };
- }
-
- /// <summary>
- /// Converts the primitive type into something that can be used with the host API.
- /// </summary>
- /// <param name="type">The primitive type to convert</param>
- /// <returns>A host compatible enum value</returns>
- public static PrimitiveTopology Convert(this PrimitiveTypeOverride type)
- {
- return type switch
- {
- PrimitiveTypeOverride.Points => PrimitiveTopology.Points,
- PrimitiveTypeOverride.Lines => PrimitiveTopology.Lines,
- PrimitiveTypeOverride.LineStrip => PrimitiveTopology.LineStrip,
- PrimitiveTypeOverride.Triangles => PrimitiveTopology.Triangles,
- PrimitiveTypeOverride.TriangleStrip => PrimitiveTopology.TriangleStrip,
- PrimitiveTypeOverride.TriangleFan => PrimitiveTopology.TriangleFan,
- PrimitiveTypeOverride.LinesAdjacency => PrimitiveTopology.LinesAdjacency,
- PrimitiveTypeOverride.LineStripAdjacency => PrimitiveTopology.LineStripAdjacency,
- PrimitiveTypeOverride.TrianglesAdjacency => PrimitiveTopology.TrianglesAdjacency,
- PrimitiveTypeOverride.TriangleStripAdjacency => PrimitiveTopology.TriangleStripAdjacency,
- PrimitiveTypeOverride.Patches => PrimitiveTopology.Patches,
- _ => PrimitiveTopology.Triangles
- };
- }
- }
-} \ No newline at end of file
diff --git a/Ryujinx.Graphics.Gpu/Engine/Types/SamplerIndex.cs b/Ryujinx.Graphics.Gpu/Engine/Types/SamplerIndex.cs
deleted file mode 100644
index 839a4d0a..00000000
--- a/Ryujinx.Graphics.Gpu/Engine/Types/SamplerIndex.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-namespace Ryujinx.Graphics.Gpu.Engine.Types
-{
- /// <summary>
- /// Sampler pool indexing mode.
- /// </summary>
- enum SamplerIndex
- {
- Independently = 0,
- ViaHeaderIndex = 1
- }
-} \ No newline at end of file
diff --git a/Ryujinx.Graphics.Gpu/Engine/Types/SbDescriptor.cs b/Ryujinx.Graphics.Gpu/Engine/Types/SbDescriptor.cs
deleted file mode 100644
index c457dbf9..00000000
--- a/Ryujinx.Graphics.Gpu/Engine/Types/SbDescriptor.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-namespace Ryujinx.Graphics.Gpu.Engine.Types
-{
- /// <summary>
- /// Storage buffer address and size information.
- /// </summary>
- struct SbDescriptor
- {
-#pragma warning disable CS0649
- public uint AddressLow;
- public uint AddressHigh;
- public int Size;
- public int Padding;
-#pragma warning restore CS0649
-
- public ulong PackAddress()
- {
- return AddressLow | ((ulong)AddressHigh << 32);
- }
- }
-}
diff --git a/Ryujinx.Graphics.Gpu/Engine/Types/ZetaFormat.cs b/Ryujinx.Graphics.Gpu/Engine/Types/ZetaFormat.cs
deleted file mode 100644
index 1de1621f..00000000
--- a/Ryujinx.Graphics.Gpu/Engine/Types/ZetaFormat.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-using Ryujinx.Graphics.GAL;
-using Ryujinx.Graphics.Gpu.Image;
-
-namespace Ryujinx.Graphics.Gpu.Engine.Types
-{
- /// <summary>
- /// Depth-stencil texture format.
- /// </summary>
- enum ZetaFormat
- {
- D32Float = 0xa,
- D16Unorm = 0x13,
- D24UnormS8Uint = 0x14,
- D24Unorm = 0x15,
- S8UintD24Unorm = 0x16,
- S8Uint = 0x17,
- D32FloatS8Uint = 0x19
- }
-
- static class ZetaFormatConverter
- {
- /// <summary>
- /// Converts the depth-stencil texture format to a host compatible format.
- /// </summary>
- /// <param name="format">Depth-stencil format</param>
- /// <returns>Host compatible format enum value</returns>
- public static FormatInfo Convert(this ZetaFormat format)
- {
- return format switch
- {
- ZetaFormat.D32Float => new FormatInfo(Format.D32Float, 1, 1, 4, 1),
- ZetaFormat.D16Unorm => new FormatInfo(Format.D16Unorm, 1, 1, 2, 1),
- ZetaFormat.D24UnormS8Uint => new FormatInfo(Format.D24UnormS8Uint, 1, 1, 4, 2),
- ZetaFormat.D24Unorm => new FormatInfo(Format.D24UnormS8Uint, 1, 1, 4, 1),
- ZetaFormat.S8UintD24Unorm => new FormatInfo(Format.S8UintD24Unorm, 1, 1, 4, 2),
- ZetaFormat.S8Uint => new FormatInfo(Format.S8Uint, 1, 1, 1, 1),
- ZetaFormat.D32FloatS8Uint => new FormatInfo(Format.D32FloatS8Uint, 1, 1, 8, 2),
- _ => FormatInfo.Default
- };
- }
- }
-}