aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.GAL/TextureCreateInfo.cs
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.GAL/TextureCreateInfo.cs
parentcd124bda587ef09668a971fa1cac1c3f0cfc9f21 (diff)
Move solution and projects to src
Diffstat (limited to 'Ryujinx.Graphics.GAL/TextureCreateInfo.cs')
-rw-r--r--Ryujinx.Graphics.GAL/TextureCreateInfo.cs164
1 files changed, 0 insertions, 164 deletions
diff --git a/Ryujinx.Graphics.GAL/TextureCreateInfo.cs b/Ryujinx.Graphics.GAL/TextureCreateInfo.cs
deleted file mode 100644
index 52b3b11f..00000000
--- a/Ryujinx.Graphics.GAL/TextureCreateInfo.cs
+++ /dev/null
@@ -1,164 +0,0 @@
-using Ryujinx.Common;
-using System;
-using System.Numerics;
-
-namespace Ryujinx.Graphics.GAL
-{
- public readonly struct TextureCreateInfo : IEquatable<TextureCreateInfo>
- {
- public int Width { get; }
- public int Height { get; }
- public int Depth { get; }
- public int Levels { get; }
- public int Samples { get; }
- public int BlockWidth { get; }
- public int BlockHeight { get; }
- public int BytesPerPixel { get; }
-
- public bool IsCompressed => (BlockWidth | BlockHeight) != 1;
-
- public Format Format { get; }
-
- public DepthStencilMode DepthStencilMode { get; }
-
- public Target Target { get; }
-
- public SwizzleComponent SwizzleR { get; }
- public SwizzleComponent SwizzleG { get; }
- public SwizzleComponent SwizzleB { get; }
- public SwizzleComponent SwizzleA { get; }
-
- public TextureCreateInfo(
- int width,
- int height,
- int depth,
- int levels,
- int samples,
- int blockWidth,
- int blockHeight,
- int bytesPerPixel,
- Format format,
- DepthStencilMode depthStencilMode,
- Target target,
- SwizzleComponent swizzleR,
- SwizzleComponent swizzleG,
- SwizzleComponent swizzleB,
- SwizzleComponent swizzleA)
- {
- Width = width;
- Height = height;
- Depth = depth;
- Levels = levels;
- Samples = samples;
- BlockWidth = blockWidth;
- BlockHeight = blockHeight;
- BytesPerPixel = bytesPerPixel;
- Format = format;
- DepthStencilMode = depthStencilMode;
- Target = target;
- SwizzleR = swizzleR;
- SwizzleG = swizzleG;
- SwizzleB = swizzleB;
- SwizzleA = swizzleA;
- }
-
- public int GetMipSize(int level)
- {
- return GetMipStride(level) * GetLevelHeight(level) * GetLevelDepth(level);
- }
-
- public int GetMipSize2D(int level)
- {
- return GetMipStride(level) * GetLevelHeight(level);
- }
-
- public int GetMipStride(int level)
- {
- return BitUtils.AlignUp(GetLevelWidth(level) * BytesPerPixel, 4);
- }
-
- private int GetLevelWidth(int level)
- {
- return BitUtils.DivRoundUp(GetLevelSize(Width, level), BlockWidth);
- }
-
- private int GetLevelHeight(int level)
- {
- return BitUtils.DivRoundUp(GetLevelSize(Height, level), BlockHeight);
- }
-
- private int GetLevelDepth(int level)
- {
- return Target == Target.Texture3D ? GetLevelSize(Depth, level) : GetLayers();
- }
-
- public int GetDepthOrLayers()
- {
- return Target == Target.Texture3D ? Depth : GetLayers();
- }
-
- public int GetLayers()
- {
- if (Target == Target.Texture2DArray ||
- Target == Target.Texture2DMultisampleArray ||
- Target == Target.CubemapArray)
- {
- return Depth;
- }
- else if (Target == Target.Cubemap)
- {
- return 6;
- }
-
- return 1;
- }
-
- public int GetLevelsClamped()
- {
- int maxSize = Width;
-
- if (Target != Target.Texture1D &&
- Target != Target.Texture1DArray)
- {
- maxSize = Math.Max(maxSize, Height);
- }
-
- if (Target == Target.Texture3D)
- {
- maxSize = Math.Max(maxSize, Depth);
- }
-
- int maxLevels = BitOperations.Log2((uint)maxSize) + 1;
- return Math.Min(Levels, maxLevels);
- }
-
- private static int GetLevelSize(int size, int level)
- {
- return Math.Max(1, size >> level);
- }
-
- public override int GetHashCode()
- {
- return HashCode.Combine(Width, Height);
- }
-
- bool IEquatable<TextureCreateInfo>.Equals(TextureCreateInfo other)
- {
- return Width == other.Width &&
- Height == other.Height &&
- Depth == other.Depth &&
- Levels == other.Levels &&
- Samples == other.Samples &&
- BlockWidth == other.BlockWidth &&
- BlockHeight == other.BlockHeight &&
- BytesPerPixel == other.BytesPerPixel &&
- Format == other.Format &&
- DepthStencilMode == other.DepthStencilMode &&
- Target == other.Target &&
- SwizzleR == other.SwizzleR &&
- SwizzleG == other.SwizzleG &&
- SwizzleB == other.SwizzleB &&
- SwizzleA == other.SwizzleA;
- }
- }
-}