|
| enum class | ShaderType : u32 { kVertex = 0
, kPixel = 1
} |
| enum class | rex::xenos::PrimitiveType : u32 {
kNone = 0x00
, kPointList = 0x01
, kLineList = 0x02
, kLineStrip = 0x03
,
kTriangleList = 0x04
, kTriangleFan = 0x05
, kTriangleStrip = 0x06
, kTriangleWithWFlags = 0x07
,
kRectangleList = 0x08
, kLineLoop = 0x0C
, kQuadList = 0x0D
, kQuadStrip = 0x0E
,
kPolygon = 0x0F
, kExplicitMajorModeForceStart = 0x10
, k2DCopyRectListV0 = 0x10
, k2DCopyRectListV1 = 0x11
,
k2DCopyRectListV2 = 0x12
, k2DCopyRectListV3 = 0x13
, k2DFillRectList = 0x14
, k2DLineStrip = 0x15
,
k2DTriStrip = 0x16
, kLinePatch = 0x10
, kTrianglePatch = 0x11
, kQuadPatch = 0x12
} |
| enum class | SampleLocation : u32 { kCentroid = 0
, kCenter = 1
} |
| enum class | rex::xenos::MSAASamples : u32 { k1X = 0
, k2X = 1
, k4X = 2
} |
| enum class | CompareFunction : u32 {
kNever = 0b000
, kLess = 0b001
, kEqual = 0b010
, kLessEqual = 0b011
,
kGreater = 0b100
, kNotEqual = 0b101
, kGreaterEqual = 0b110
, kAlways = 0b111
} |
| enum class | StencilOp : u32 {
kKeep = 0
, kZero = 1
, kReplace = 2
, kIncrementClamp = 3
,
kDecrementClamp = 4
, kInvert = 5
, kIncrementWrap = 6
, kDecrementWrap = 7
} |
| enum class | rex::xenos::BlendFactor : u32 {
kZero = 0
, kOne = 1
, kSrcColor = 4
, kOneMinusSrcColor = 5
,
kSrcAlpha = 6
, kOneMinusSrcAlpha = 7
, kDstColor = 8
, kOneMinusDstColor = 9
,
kDstAlpha = 10
, kOneMinusDstAlpha = 11
, kConstantColor = 12
, kOneMinusConstantColor = 13
,
kConstantAlpha = 14
, kOneMinusConstantAlpha = 15
, kSrcAlphaSaturate = 16
} |
| enum class | rex::xenos::BlendOp : u32 {
kAdd = 0
, kSubtract = 1
, kMin = 2
, kMax = 3
,
kRevSubtract = 4
} |
| enum class | InvalidateMask : u16 { kVertexShader = 1 << 8
, kPixelShader = 1 << 9
, kAll = 0x7FFF
} |
| enum class | rex::xenos::SourceSelect : u32 { kDMA
, kImmediate
, kAutoIndex
} |
| enum class | rex::xenos::MajorMode : u32 { kImplicit
, kExplicit
} |
| enum class | rex::xenos::SignedRepeatingFractionMode : u32 { kZeroClampMinusOne
, kNoZero
} |
| enum class | rex::xenos::ArbitraryFilter : u32 {
k2x4Sym = 0
, k2x4Asym = 1
, k4x2Sym = 2
, k4x2Asym = 3
,
k4x4Sym = 4
, k4x4Asym = 5
, kUseFetchConst = 7
} |
| enum class | rex::xenos::VertexShaderExportMode : u32 {
kPosition1Vector = 0
, kPosition2VectorsSprite = 2
, kPosition2VectorsEdge = 3
, kPosition2VectorsKill = 4
,
kPosition2VectorsSpriteKill = 5
, kPosition2VectorsEdgeKill = 6
, kMultipass = 7
} |
| enum class | rex::xenos::SampleControl : u32 { kCentroidsOnly = 0
, kCentersOnly = 1
, kCentroidsAndCenters = 2
} |
| enum class | rex::xenos::VGTOutputPath : u32 { kVertexReuse = 0
, kTessellationEnable = 1
, kPassthru = 2
} |
| enum class | TessellationMode : u32 { kDiscrete = 0
, kContinuous = 1
, kAdaptive = 2
} |
| enum class | rex::xenos::PolygonModeEnable : u32 { kDisabled = 0
, kDualMode = 1
} |
| enum class | PolygonType : u32 { kPoints = 0
, kLines = 1
, kTriangles = 2
} |
| enum class | rex::xenos::PixelCenter : u32 { kD3DZero = 0
, kOGLHalf = 1
} |
| enum class | rex::xenos::VertexRounding : u32 { kTruncate = 0
, kRound = 1
, kRoundToEven = 2
, kRoundToOdd = 3
} |
| enum class | VertexQuantization : u32 {
k_1_16th = 0
, k_1_8th = 1
, k_1_4th = 2
, k_1_2 = 3
,
k_1 = 4
} |
| enum class | rex::xenos::EDRAMMode : u32 { kNoOperation = 0
, kColorDepth = 4
, kDepthOnly = 5
, kCopy = 6
} |
| enum class | CopyCommand : u32 { kRaw = 0
, kConvert = 1
, kConstantOne = 2
, kNull = 3
} |
| enum class | rex::xenos::CopySampleSelect : u32 {
k0
, k1
, k2
, k3
,
k01
, k23
, k0123
} |
Xenos pipeline state, shader and EDRAM enums.
- Copyright
- Copyright (c) 2026 Tom Clay tomc@.nosp@m.tcte.nosp@m.chstu.nosp@m.ff.c.nosp@m.om All rights reserved.
- License
- BSD 3-Clause License See LICENSE file in the project root for full license text.