aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Graphics.GAL/SamplerCreateInfo.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Graphics.GAL/SamplerCreateInfo.cs')
-rw-r--r--src/Ryujinx.Graphics.GAL/SamplerCreateInfo.cs72
1 files changed, 72 insertions, 0 deletions
diff --git a/src/Ryujinx.Graphics.GAL/SamplerCreateInfo.cs b/src/Ryujinx.Graphics.GAL/SamplerCreateInfo.cs
new file mode 100644
index 00000000..990c302e
--- /dev/null
+++ b/src/Ryujinx.Graphics.GAL/SamplerCreateInfo.cs
@@ -0,0 +1,72 @@
+namespace Ryujinx.Graphics.GAL
+{
+ public readonly struct SamplerCreateInfo
+ {
+ public MinFilter MinFilter { get; }
+ public MagFilter MagFilter { get; }
+
+ public bool SeamlessCubemap { get; }
+
+ public AddressMode AddressU { get; }
+ public AddressMode AddressV { get; }
+ public AddressMode AddressP { get; }
+
+ public CompareMode CompareMode { get; }
+ public CompareOp CompareOp { get; }
+
+ public ColorF BorderColor { get; }
+
+ public float MinLod { get; }
+ public float MaxLod { get; }
+ public float MipLodBias { get; }
+ public float MaxAnisotropy { get; }
+
+ public SamplerCreateInfo(
+ MinFilter minFilter,
+ MagFilter magFilter,
+ bool seamlessCubemap,
+ AddressMode addressU,
+ AddressMode addressV,
+ AddressMode addressP,
+ CompareMode compareMode,
+ CompareOp compareOp,
+ ColorF borderColor,
+ float minLod,
+ float maxLod,
+ float mipLodBias,
+ float maxAnisotropy)
+ {
+ MinFilter = minFilter;
+ MagFilter = magFilter;
+ SeamlessCubemap = seamlessCubemap;
+ AddressU = addressU;
+ AddressV = addressV;
+ AddressP = addressP;
+ CompareMode = compareMode;
+ CompareOp = compareOp;
+ BorderColor = borderColor;
+ MinLod = minLod;
+ MaxLod = maxLod;
+ MipLodBias = mipLodBias;
+ MaxAnisotropy = maxAnisotropy;
+ }
+
+ public static SamplerCreateInfo Create(MinFilter minFilter, MagFilter magFilter)
+ {
+ return new SamplerCreateInfo(
+ minFilter,
+ magFilter,
+ false,
+ AddressMode.ClampToEdge,
+ AddressMode.ClampToEdge,
+ AddressMode.ClampToEdge,
+ CompareMode.None,
+ CompareOp.Always,
+ new ColorF(0f, 0f, 0f, 0f),
+ 0f,
+ 0f,
+ 0f,
+ 1f);
+ }
+ }
+} \ No newline at end of file