2021-01-20 21:32:48 +00:00
|
|
|
|
using System;
|
|
|
|
|
|
|
|
|
|
/* Recreate all the enums in here so we don't need to explicitly
|
|
|
|
|
* reference the RefreshCS namespace when using MoonWorks.Graphics
|
|
|
|
|
*/
|
|
|
|
|
namespace MoonWorks.Graphics
|
|
|
|
|
{
|
2022-02-23 05:14:32 +00:00
|
|
|
|
public enum PresentMode
|
|
|
|
|
{
|
|
|
|
|
Immediate,
|
|
|
|
|
Mailbox,
|
|
|
|
|
FIFO,
|
|
|
|
|
FIFORelaxed
|
|
|
|
|
}
|
2021-01-20 21:32:48 +00:00
|
|
|
|
|
2022-02-23 05:14:32 +00:00
|
|
|
|
public enum PrimitiveType
|
|
|
|
|
{
|
|
|
|
|
PointList,
|
|
|
|
|
LineList,
|
|
|
|
|
LineStrip,
|
|
|
|
|
TriangleList,
|
|
|
|
|
TriangleStrip
|
|
|
|
|
}
|
2021-01-20 21:32:48 +00:00
|
|
|
|
|
2022-02-23 05:14:32 +00:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// Describes the operation that a render pass will use when loading a render target.
|
|
|
|
|
/// </summary>
|
|
|
|
|
public enum LoadOp
|
|
|
|
|
{
|
|
|
|
|
Load,
|
|
|
|
|
Clear,
|
|
|
|
|
DontCare
|
|
|
|
|
}
|
2021-01-20 21:32:48 +00:00
|
|
|
|
|
2022-02-23 05:14:32 +00:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// Describes the operation that a render pass will use when storing a render target.
|
|
|
|
|
/// </summary>
|
|
|
|
|
public enum StoreOp
|
|
|
|
|
{
|
|
|
|
|
Store,
|
|
|
|
|
DontCare
|
|
|
|
|
}
|
2021-01-20 21:32:48 +00:00
|
|
|
|
|
2022-02-23 05:14:32 +00:00
|
|
|
|
[Flags]
|
|
|
|
|
public enum ClearOptionsFlags : uint
|
|
|
|
|
{
|
|
|
|
|
Color = 1,
|
|
|
|
|
Depth = 2,
|
|
|
|
|
Stencil = 4,
|
|
|
|
|
DepthStencil = Depth | Stencil,
|
|
|
|
|
All = Color | Depth | Stencil
|
|
|
|
|
}
|
2021-01-20 21:32:48 +00:00
|
|
|
|
|
2022-02-23 05:14:32 +00:00
|
|
|
|
public enum IndexElementSize
|
|
|
|
|
{
|
|
|
|
|
Sixteen,
|
|
|
|
|
ThirtyTwo
|
|
|
|
|
}
|
2021-01-20 21:32:48 +00:00
|
|
|
|
|
2022-02-23 05:14:32 +00:00
|
|
|
|
public enum TextureFormat
|
|
|
|
|
{
|
|
|
|
|
R8G8B8A8,
|
|
|
|
|
R5G6B5,
|
|
|
|
|
A1R5G5B5,
|
|
|
|
|
B4G4R4A4,
|
|
|
|
|
BC1,
|
|
|
|
|
BC2,
|
|
|
|
|
BC3,
|
|
|
|
|
R8G8_SNORM,
|
|
|
|
|
R8G8B8A8_SNORM,
|
|
|
|
|
A2R10G10B10,
|
|
|
|
|
R16G16,
|
|
|
|
|
R16G16B16A16,
|
|
|
|
|
R8,
|
|
|
|
|
R32_SFLOAT,
|
|
|
|
|
R32G32_SFLOAT,
|
|
|
|
|
R32G32B32A32_SFLOAT,
|
|
|
|
|
R16_SFLOAT,
|
|
|
|
|
R16G16_SFLOAT,
|
|
|
|
|
R16G16B16A16_SFLOAT,
|
|
|
|
|
D16,
|
|
|
|
|
D32,
|
|
|
|
|
D16S8,
|
|
|
|
|
D32S8
|
|
|
|
|
}
|
2021-01-20 21:32:48 +00:00
|
|
|
|
|
2022-02-23 05:14:32 +00:00
|
|
|
|
[Flags]
|
|
|
|
|
public enum TextureUsageFlags : uint
|
|
|
|
|
{
|
|
|
|
|
Sampler = 1,
|
|
|
|
|
ColorTarget = 2,
|
|
|
|
|
DepthStencilTarget = 4
|
|
|
|
|
}
|
2021-01-20 21:32:48 +00:00
|
|
|
|
|
2022-02-23 05:14:32 +00:00
|
|
|
|
public enum SampleCount
|
|
|
|
|
{
|
|
|
|
|
One,
|
|
|
|
|
Two,
|
|
|
|
|
Four,
|
|
|
|
|
Eight,
|
|
|
|
|
Sixteen,
|
|
|
|
|
ThirtyTwo,
|
|
|
|
|
SixtyFour
|
|
|
|
|
}
|
2021-01-20 21:32:48 +00:00
|
|
|
|
|
2022-02-23 05:14:32 +00:00
|
|
|
|
public enum CubeMapFace : uint
|
|
|
|
|
{
|
|
|
|
|
PositiveX,
|
|
|
|
|
NegativeX,
|
|
|
|
|
PositiveY,
|
|
|
|
|
NegativeY,
|
|
|
|
|
PositiveZ,
|
|
|
|
|
NegativeZ
|
|
|
|
|
}
|
2021-01-20 21:32:48 +00:00
|
|
|
|
|
2022-02-23 05:14:32 +00:00
|
|
|
|
[Flags]
|
|
|
|
|
public enum BufferUsageFlags : uint
|
|
|
|
|
{
|
|
|
|
|
Vertex = 1,
|
|
|
|
|
Index = 2,
|
|
|
|
|
Compute = 4
|
|
|
|
|
}
|
2021-01-20 21:32:48 +00:00
|
|
|
|
|
2022-02-23 05:14:32 +00:00
|
|
|
|
public enum VertexElementFormat
|
|
|
|
|
{
|
|
|
|
|
Single,
|
|
|
|
|
Vector2,
|
|
|
|
|
Vector3,
|
|
|
|
|
Vector4,
|
|
|
|
|
Color,
|
|
|
|
|
Byte4,
|
|
|
|
|
Short2,
|
|
|
|
|
Short4,
|
|
|
|
|
NormalizedShort2,
|
|
|
|
|
NormalizedShort4,
|
|
|
|
|
HalfVector2,
|
|
|
|
|
HalfVector4
|
|
|
|
|
}
|
2021-01-20 21:32:48 +00:00
|
|
|
|
|
2022-02-23 05:14:32 +00:00
|
|
|
|
public enum VertexInputRate
|
|
|
|
|
{
|
|
|
|
|
Vertex,
|
|
|
|
|
Instance
|
|
|
|
|
}
|
2021-01-20 21:32:48 +00:00
|
|
|
|
|
2022-02-23 05:14:32 +00:00
|
|
|
|
public enum FillMode
|
|
|
|
|
{
|
|
|
|
|
Fill,
|
|
|
|
|
Line,
|
|
|
|
|
Point
|
|
|
|
|
}
|
2021-01-20 21:32:48 +00:00
|
|
|
|
|
2022-02-23 05:14:32 +00:00
|
|
|
|
public enum CullMode
|
|
|
|
|
{
|
|
|
|
|
None,
|
|
|
|
|
Front,
|
|
|
|
|
Back,
|
|
|
|
|
FrontAndBack
|
|
|
|
|
}
|
2021-01-20 21:32:48 +00:00
|
|
|
|
|
2022-02-23 05:14:32 +00:00
|
|
|
|
public enum FrontFace
|
|
|
|
|
{
|
|
|
|
|
CounterClockwise,
|
|
|
|
|
Clockwise
|
|
|
|
|
}
|
2021-01-20 21:32:48 +00:00
|
|
|
|
|
2022-02-23 05:14:32 +00:00
|
|
|
|
public enum CompareOp
|
|
|
|
|
{
|
|
|
|
|
Never,
|
|
|
|
|
Less,
|
|
|
|
|
Equal,
|
|
|
|
|
LessOrEqual,
|
|
|
|
|
Greater,
|
|
|
|
|
NotEqual,
|
|
|
|
|
GreaterOrEqual,
|
|
|
|
|
Always
|
|
|
|
|
}
|
2021-01-20 21:32:48 +00:00
|
|
|
|
|
2022-02-23 05:14:32 +00:00
|
|
|
|
public enum StencilOp
|
|
|
|
|
{
|
|
|
|
|
Keep,
|
|
|
|
|
Zero,
|
|
|
|
|
Replace,
|
|
|
|
|
IncrementAndClamp,
|
|
|
|
|
DecrementAndClamp,
|
|
|
|
|
Invert,
|
|
|
|
|
IncrementAndWrap,
|
|
|
|
|
DecrementAndWrap
|
|
|
|
|
}
|
2021-01-20 21:32:48 +00:00
|
|
|
|
|
2022-02-23 05:14:32 +00:00
|
|
|
|
public enum BlendOp
|
|
|
|
|
{
|
|
|
|
|
Add,
|
|
|
|
|
Subtract,
|
|
|
|
|
ReverseSubtract,
|
|
|
|
|
Min,
|
|
|
|
|
Max
|
|
|
|
|
}
|
2021-01-20 21:32:48 +00:00
|
|
|
|
|
2022-02-23 05:14:32 +00:00
|
|
|
|
public enum LogicOp
|
|
|
|
|
{
|
|
|
|
|
Clear,
|
|
|
|
|
And,
|
|
|
|
|
AndReverse,
|
|
|
|
|
Copy,
|
|
|
|
|
AndInverted,
|
|
|
|
|
NoOp,
|
|
|
|
|
Xor,
|
|
|
|
|
Or,
|
|
|
|
|
Nor,
|
|
|
|
|
Equivalent,
|
|
|
|
|
Invert,
|
|
|
|
|
OrReverse,
|
|
|
|
|
CopyInverted,
|
|
|
|
|
OrInverted,
|
|
|
|
|
Nand,
|
|
|
|
|
Set
|
|
|
|
|
}
|
2021-01-20 21:32:48 +00:00
|
|
|
|
|
2022-02-23 05:14:32 +00:00
|
|
|
|
public enum BlendFactor
|
|
|
|
|
{
|
|
|
|
|
Zero,
|
|
|
|
|
One,
|
|
|
|
|
SourceColor,
|
|
|
|
|
OneMinusSourceColor,
|
|
|
|
|
DestinationColor,
|
|
|
|
|
OneMinusDestinationColor,
|
|
|
|
|
SourceAlpha,
|
|
|
|
|
OneMinusSourceAlpha,
|
|
|
|
|
DestinationAlpha,
|
|
|
|
|
OneMinusDestinationAlpha,
|
|
|
|
|
ConstantColor,
|
|
|
|
|
OneMinusConstantColor,
|
|
|
|
|
ConstantAlpha,
|
|
|
|
|
OneMinusConstantAlpha,
|
|
|
|
|
SourceAlphaSaturate,
|
|
|
|
|
SourceOneColor,
|
|
|
|
|
OneMinusSourceOneColor,
|
|
|
|
|
SourceOneAlpha,
|
|
|
|
|
OneMinusSourceOneAlpha
|
|
|
|
|
}
|
2021-01-20 21:32:48 +00:00
|
|
|
|
|
2022-02-23 05:14:32 +00:00
|
|
|
|
[Flags]
|
|
|
|
|
public enum ColorComponentFlags : uint
|
|
|
|
|
{
|
|
|
|
|
R = 1,
|
|
|
|
|
G = 2,
|
|
|
|
|
B = 4,
|
|
|
|
|
A = 8,
|
2021-01-20 21:32:48 +00:00
|
|
|
|
|
2022-02-23 05:14:32 +00:00
|
|
|
|
RG = R | G,
|
|
|
|
|
RB = R | B,
|
|
|
|
|
RA = R | A,
|
|
|
|
|
GB = G | B,
|
|
|
|
|
GA = G | A,
|
|
|
|
|
BA = B | A,
|
2021-01-20 21:32:48 +00:00
|
|
|
|
|
2022-02-23 05:14:32 +00:00
|
|
|
|
RGB = R | G | B,
|
|
|
|
|
RGA = R | G | A,
|
|
|
|
|
GBA = G | B | A,
|
2021-01-20 21:32:48 +00:00
|
|
|
|
|
2022-02-23 05:14:32 +00:00
|
|
|
|
RGBA = R | G | B | A,
|
|
|
|
|
None = 0
|
|
|
|
|
}
|
2021-01-20 21:32:48 +00:00
|
|
|
|
|
2022-02-23 05:14:32 +00:00
|
|
|
|
public enum ShaderStageType
|
|
|
|
|
{
|
|
|
|
|
Vertex,
|
|
|
|
|
Fragment
|
|
|
|
|
}
|
2021-01-20 21:32:48 +00:00
|
|
|
|
|
2022-02-23 05:14:32 +00:00
|
|
|
|
public enum Filter
|
|
|
|
|
{
|
|
|
|
|
Nearest,
|
|
|
|
|
Linear,
|
|
|
|
|
Cubic
|
|
|
|
|
}
|
2021-01-20 21:32:48 +00:00
|
|
|
|
|
2022-02-23 05:14:32 +00:00
|
|
|
|
public enum SamplerMipmapMode
|
|
|
|
|
{
|
|
|
|
|
Nearest,
|
|
|
|
|
Linear
|
|
|
|
|
}
|
2021-01-20 21:32:48 +00:00
|
|
|
|
|
2022-02-23 05:14:32 +00:00
|
|
|
|
public enum SamplerAddressMode
|
|
|
|
|
{
|
|
|
|
|
Repeat,
|
|
|
|
|
MirroredRepeat,
|
|
|
|
|
ClampToEdge,
|
|
|
|
|
ClampToBorder
|
|
|
|
|
}
|
2021-01-20 21:32:48 +00:00
|
|
|
|
|
2022-02-23 05:14:32 +00:00
|
|
|
|
public enum BorderColor
|
|
|
|
|
{
|
|
|
|
|
FloatTransparentBlack,
|
|
|
|
|
IntTransparentBlack,
|
|
|
|
|
FloatOpaqueBlack,
|
|
|
|
|
IntOpaqueBlack,
|
|
|
|
|
FloatOpaqueWhite,
|
|
|
|
|
IntOpaqueWhite
|
|
|
|
|
}
|
2021-01-20 21:32:48 +00:00
|
|
|
|
}
|