mirror of
https://git.ryujinx.app/ryubing/ryujinx.git
synced 2025-07-31 10:09:42 -06:00
Initial work
This commit is contained in:
35
Ryujinx.Graphics.Shader/TextureTarget.cs
Normal file
35
Ryujinx.Graphics.Shader/TextureTarget.cs
Normal file
@ -0,0 +1,35 @@
|
||||
using System;
|
||||
|
||||
namespace Ryujinx.Graphics.Shader
|
||||
{
|
||||
[Flags]
|
||||
public enum TextureTarget
|
||||
{
|
||||
Texture1D,
|
||||
Texture2D,
|
||||
Texture3D,
|
||||
TextureCube,
|
||||
|
||||
Mask = 0xff,
|
||||
|
||||
Array = 1 << 8,
|
||||
Multisample = 1 << 9,
|
||||
Shadow = 1 << 10
|
||||
}
|
||||
|
||||
static class TextureTargetExtensions
|
||||
{
|
||||
public static int GetDimensions(this TextureTarget type)
|
||||
{
|
||||
switch (type & TextureTarget.Mask)
|
||||
{
|
||||
case TextureTarget.Texture1D: return 1;
|
||||
case TextureTarget.Texture2D: return 2;
|
||||
case TextureTarget.Texture3D: return 3;
|
||||
case TextureTarget.TextureCube: return 3;
|
||||
}
|
||||
|
||||
throw new ArgumentException($"Invalid texture type \"{type}\".");
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user