public record class GpuDrivenAssetWhat a document asks for when it wants draws merged, and what a device may refuse.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
Every flag here is a request, not a setting. Each one is gated on a capability inside the feature that implements it — HasBindless for records, HasDrawIndirectCount for compaction and transforms — so a document that asks for all of it runs unchanged on GL, on WebGL2 and on MoltenVK below argument-buffer tier 2, and draws the same image through a descriptor set per material. That is the reason a document may ask at all: if asking could break a target, it would have to be a build configuration instead.
⚠ The pieces are separable and mostly should not be separated. Compaction without records merges nothing, because objects still bind a set each; records without compaction remove binds and leave the command per object. They are separate flags because they fail independently on real hardware, not because a project should pick and choose.
Fields and properties (3)
public string ShaderWhich pass's permutations to set, since the keys are the shader's own.
public bool MaterialRecordsWhether a material's values are a record of one buffer rather than a set per draw.
public bool TransformRecordsWhether an object's world matrix is a record rather than a push constant.
Used by (5)
- CompositorBuilderVixen.Rendering
- GraphicsCompositorAssetVixen.Rendering
- TypeRegistrationVixen.Rendering
- Vixen_Rendering_Compositor_GpuDrivenAssetSerializerVixen.Rendering
- Vixen_Rendering_Compositor_GraphicsCompositorAssetSerializerVixen.Rendering