aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Graphics.GAL/Target.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Graphics.GAL/Target.cs')
-rw-r--r--src/Ryujinx.Graphics.GAL/Target.cs34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/Ryujinx.Graphics.GAL/Target.cs b/src/Ryujinx.Graphics.GAL/Target.cs
new file mode 100644
index 00000000..711eea24
--- /dev/null
+++ b/src/Ryujinx.Graphics.GAL/Target.cs
@@ -0,0 +1,34 @@
+namespace Ryujinx.Graphics.GAL
+{
+ public enum Target
+ {
+ Texture1D,
+ Texture2D,
+ Texture3D,
+ Texture1DArray,
+ Texture2DArray,
+ Texture2DMultisample,
+ Texture2DMultisampleArray,
+ Cubemap,
+ CubemapArray,
+ TextureBuffer
+ }
+
+ public static class TargetExtensions
+ {
+ public static bool IsMultisample(this Target target)
+ {
+ return target == Target.Texture2DMultisample || target == Target.Texture2DMultisampleArray;
+ }
+
+ public static bool HasDepthOrLayers(this Target target)
+ {
+ return target == Target.Texture3D ||
+ target == Target.Texture1DArray ||
+ target == Target.Texture2DArray ||
+ target == Target.Texture2DMultisampleArray ||
+ target == Target.Cubemap ||
+ target == Target.CubemapArray;
+ }
+ }
+} \ No newline at end of file