public readonly record struct PipelineKeyWhat a pipeline depends on beyond its shader.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
The reason Effect holds bytecode and layout rather than a pipeline: the same shader compiled once is drawn with different blend states into different attachment formats by different stages. Keying pipelines by effect alone hands back an object drawn with the wrong blend mode — a bug that looks like a material problem and is not.
Four parts, because four things decide what a driver compiles: the shader, how its objects are drawn (Stage — blend, depth, raster), what they are drawn into (Output — formats and samples) and how a vertex is read (VertexLayout). EffectPipelineDescriber takes exactly these four and nothing else, which is what makes the key complete rather than merely sufficient so far.
The output is formats, not textures — see RenderOutput. That is what lets the swapchain hand out a different image every frame, and the render graph alias transient targets, without invalidating a single pipeline.
Fields and properties (4)
public Effect Effectpublic int Stagepublic int VertexLayoutpublic RenderOutput Output
Methods (1)
public PipelineKey(Effect Effect, int Stage, int VertexLayout, RenderOutput Output)What a pipeline depends on beyond its shader.
Used by (4)
- MeshRenderFeatureVixen.Rendering
- ParticleRenderFeatureVixen.Rendering
- PipelineCacheVixen.Rendering
- SpriteRenderFeatureVixen.Rendering