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 GxUniformBlock* 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
uTexturebinds (meaningful when HasTexture). -
std::
int32_t PaletteUnit - Unit
uTexturePalettebinds (meaningful when the program remaps). - bool HasTexture
- Whether the reflection binds
uTextureat all. - bool TexturedLayout
- Whether the instance block declares
texRect(the textured member layout).