|
| enum class | donner::gpu::TextureFormat : uint8_t {
RGBA8Unorm
,
BGRA8Unorm
,
R8Unorm
} |
| | Texture formats used by Donner render targets, masks, and image uploads. More...
|
| enum class | donner::gpu::TextureUsage : uint32_t {
None = 0
,
RenderAttachment = 1 << 0
,
Sampled = 1 << 1
,
CopySrc = 1 << 2
,
CopyDst = 1 << 3
} |
| | Texture usage flags. Combinable with |. More...
|
| enum class | donner::gpu::BufferUsage : uint32_t {
None = 0
,
Vertex = 1 << 0
,
Index = 1 << 1
,
Uniform = 1 << 2
,
Storage = 1 << 3
,
CopySrc = 1 << 4
,
CopyDst = 1 << 5
,
MapRead = 1 << 6
} |
| | Buffer usage flags. Combinable with |. More...
|
| enum class | donner::gpu::ShaderStage : uint32_t {
None = 0
,
Vertex = 1 << 0
,
Fragment = 1 << 1
,
Compute = 1 << 2
} |
| | Shader stage visibility flags for bindings. Combinable with |. More...
|
| enum class | donner::gpu::ColorWriteMask : uint32_t {
None = 0
,
Red = 1 << 0
,
Green = 1 << 1
,
Blue = 1 << 2
,
Alpha = 1 << 3
,
All = Red | Green | Blue | Alpha
} |
| | Per-channel color write mask for a color target. Combinable with |. More...
|
| enum class | donner::gpu::FilterMode : uint8_t {
Nearest
,
Linear
} |
| | Sampler minification/magnification filter. More...
|
| enum class | donner::gpu::AddressMode : uint8_t {
ClampToEdge
,
Repeat
} |
| | Sampler texture addressing mode. More...
|
| enum class | donner::gpu::VertexFormat : uint8_t {
Float32x2
,
Float32x4
,
Uint32
} |
| | Vertex attribute formats used by Donner pipelines. More...
|
| enum class | donner::gpu::VertexStepMode : uint8_t {
Vertex
,
Instance
} |
| | Rate at which a vertex buffer is stepped through during a draw. More...
|
| enum class | donner::gpu::PrimitiveTopology : uint8_t {
TriangleList
,
TriangleStrip
} |
| | Primitive topology for render pipelines. More...
|
| enum class | donner::gpu::CullMode : uint8_t {
None
,
Back
} |
| | Face culling mode for render pipelines. More...
|
| enum class | donner::gpu::BlendFactor : uint8_t {
Zero
,
One
,
SrcAlpha
,
OneMinusSrcAlpha
} |
| | Blend factors used by Donner pipelines (premultiplied-alpha compositing). More...
|
| enum class | donner::gpu::BlendOperation : uint8_t {
Add
,
Max
} |
| | Blend operations used by Donner pipelines. More...
|
| enum class | donner::gpu::BindingType : uint8_t {
UniformBuffer
,
ReadOnlyStorageBuffer
,
SampledTexture2dFloat
,
FilteringSampler
} |
| | Type of resource a bind group layout entry expects. More...
|
| enum class | donner::gpu::LoadOp : uint8_t {
Clear
,
Load
} |
| | Load operation for a render pass color attachment. More...
|
| enum class | donner::gpu::StoreOp : uint8_t {
Store
,
Discard
} |
| | Store operation for a render pass color attachment. More...
|
| enum class | donner::gpu::ShaderSourceKind : uint8_t {
Wgsl
,
Msl
} |
| | Shader source language of a ShaderModuleDescriptor. More...
|
|
| template<BitmaskEnum T> |
| constexpr T | donner::gpu::operator| (T lhs, T rhs) |
| | Bitwise-or for bitmask enums.
|
| template<BitmaskEnum T> |
| constexpr T | donner::gpu::operator& (T lhs, T rhs) |
| | Bitwise-and for bitmask enums.
|
| template<BitmaskEnum T> |
| constexpr T & | donner::gpu::operator|= (T &lhs, T rhs) |
| | Bitwise-or-assign for bitmask enums.
|
| template<BitmaskEnum T> |
| constexpr bool | donner::gpu::HasAllFlags (T value, T flags) |
| | Returns true if value contains every flag in flags.
|
| std::ostream & | donner::gpu::operator<< (std::ostream &os, TextureFormat value) |
| | Ostream output operator.
|
| std::ostream & | donner::gpu::operator<< (std::ostream &os, TextureUsage value) |
| | Ostream output operator, e.g. RenderAttachment|CopySrc, or None when no flags are set.
|
| std::ostream & | donner::gpu::operator<< (std::ostream &os, BufferUsage value) |
| | Ostream output operator, e.g. Vertex|CopyDst, or None when no flags are set.
|
| std::ostream & | donner::gpu::operator<< (std::ostream &os, ShaderStage value) |
| | Ostream output operator, e.g. Vertex|Fragment, or None when no flags are set.
|
| std::ostream & | donner::gpu::operator<< (std::ostream &os, ColorWriteMask value) |
| | Ostream output operator, e.g. Red|Green|Blue|Alpha, or None when no flags are set.
|
| std::ostream & | donner::gpu::operator<< (std::ostream &os, FilterMode value) |
| | Ostream output operator.
|
| std::ostream & | donner::gpu::operator<< (std::ostream &os, AddressMode value) |
| | Ostream output operator.
|
| std::ostream & | donner::gpu::operator<< (std::ostream &os, VertexFormat value) |
| | Ostream output operator.
|
| std::ostream & | donner::gpu::operator<< (std::ostream &os, VertexStepMode value) |
| | Ostream output operator.
|
| std::ostream & | donner::gpu::operator<< (std::ostream &os, PrimitiveTopology value) |
| | Ostream output operator.
|
| std::ostream & | donner::gpu::operator<< (std::ostream &os, CullMode value) |
| | Ostream output operator.
|
| std::ostream & | donner::gpu::operator<< (std::ostream &os, BlendFactor value) |
| | Ostream output operator.
|
| std::ostream & | donner::gpu::operator<< (std::ostream &os, BlendOperation value) |
| | Ostream output operator.
|
| std::ostream & | donner::gpu::operator<< (std::ostream &os, BindingType value) |
| | Ostream output operator.
|
| std::ostream & | donner::gpu::operator<< (std::ostream &os, LoadOp value) |
| | Ostream output operator.
|
| std::ostream & | donner::gpu::operator<< (std::ostream &os, StoreOp value) |
| | Ostream output operator.
|
| std::ostream & | donner::gpu::operator<< (std::ostream &os, ShaderSourceKind value) |
| | Ostream output operator.
|
| bool | donner::gpu::IsKnownEnumValue (TextureFormat value) |
| | Returns true if value is a known enumerator. Every enum arriving through a descriptor is checked with these overloads so out-of-range casts fail closed with GpuErrorType::InvalidDescriptor instead of flowing into layout or copy math.
|
| bool | donner::gpu::IsKnownEnumValue (FilterMode value) |
| | Returns true if value is a known enumerator.
|
| bool | donner::gpu::IsKnownEnumValue (AddressMode value) |
| | Returns true if value is a known enumerator.
|
| bool | donner::gpu::IsKnownEnumValue (VertexFormat value) |
| | Returns true if value is a known enumerator.
|
| bool | donner::gpu::IsKnownEnumValue (VertexStepMode value) |
| | Returns true if value is a known enumerator.
|
| bool | donner::gpu::IsKnownEnumValue (PrimitiveTopology value) |
| | Returns true if value is a known enumerator.
|
| bool | donner::gpu::IsKnownEnumValue (CullMode value) |
| | Returns true if value is a known enumerator.
|
| bool | donner::gpu::IsKnownEnumValue (BlendFactor value) |
| | Returns true if value is a known enumerator.
|
| bool | donner::gpu::IsKnownEnumValue (BlendOperation value) |
| | Returns true if value is a known enumerator.
|
| bool | donner::gpu::IsKnownEnumValue (BindingType value) |
| | Returns true if value is a known enumerator.
|
| bool | donner::gpu::IsKnownEnumValue (LoadOp value) |
| | Returns true if value is a known enumerator.
|
| bool | donner::gpu::IsKnownEnumValue (StoreOp value) |
| | Returns true if value is a known enumerator.
|
| bool | donner::gpu::IsKnownEnumValue (ShaderSourceKind value) |
| | Returns true if value is a known enumerator.
|
| bool | donner::gpu::IsValidBitmask (TextureUsage value) |
| | Returns true if value contains only known flag bits (an empty mask is bit-valid; emptiness is validated separately where required).
|
| bool | donner::gpu::IsValidBitmask (BufferUsage value) |
| | Returns true if value contains only known flag bits.
|
| bool | donner::gpu::IsValidBitmask (ShaderStage value) |
| | Returns true if value contains only known flag bits.
|
| bool | donner::gpu::IsValidBitmask (ColorWriteMask value) |
| | Returns true if value contains only known flag bits.
|
| uint32_t | donner::gpu::TextureFormatBytesPerTexel (TextureFormat format) |
| | Bytes per texel for a TextureFormat.
|
| uint32_t | donner::gpu::VertexFormatByteSize (VertexFormat format) |
| | Byte size of a VertexFormat.
|
Typed immutable descriptors for donner::gpu resource creation.
The enum and descriptor surface is intentionally narrow: it covers the operations Geode's rendering and the editor actually use (design 0053 "Command model"), not a general GPU API. Descriptors are plain value types, immutable by convention; all validation happens in donner::gpu::Device operations, which fail closed on malformed input.