nCine::RHI::GU::GuShaderProgram::DispatchFacts struct

Facts of the program the draw dispatch reads on every command, resolved once at introspection.

All of them are constants of the linked program (they only depend on its reflection), but the dispatch used to re-derive each by scanning reflection name strings per RenderCommand - dozens of dependent loads per draw on a CPU where those are the cost. Only the instance block's BINDING stays a per-draw read, because the material assigns bindings after linking.

Public variables

const GuUniformBlock* InstanceBlock
The "InstanceBlock" (or the batched "InstancesBlock"), or nullptr.
std::uint32_t InstanceStride
Reflected per-instance stride; positive exactly for batched programs.
std::int32_t TextureUnit
Unit uTexture binds (meaningful when HasTexture).
std::int32_t PaletteUnit
Unit uTexturePalette binds (meaningful when the program remaps).
bool HasTexture
Whether the reflection binds uTexture at all.
bool TexturedLayout
Whether the instance block declares texRect (the textured member layout).