Vixen
02b45cc4
csharp
public sealed class DescriptorBindings

The descriptor set a compositor node writes for itself, out of the graph resources it declared.

No guide page documents this yet — the page shows what the code says about itself.

Remarks

What replaces the callback a compute node used to bind through. The obstacle was never the API — it was that a graph resource has no handle until the graph has compiled, so a node could not own a set the way a material owns one. A per-frame allocator is exactly the missing lifetime: the node declares what it wants bound, the set is written after the graph resolves and recycled once the GPU is done with it.

A binding may only name a resource the node also declared. Resolving against the frame at large would compile and would silently drop the edge that orders the producer first and puts the barrier in — a pass would sample a texture nothing had transitioned, which reads as corruption on a tiler and as nothing at all on a desktop driver until it is a customer's machine. So the resolution goes through the node's own read lists, and a binding that names anything else throws while the frame is being built.

Fields and properties (5)

  • public IList<ResourceBinding> Bindings

    What the set contains.

  • public DescriptorSetSlot Slot

    Which of the four conventional sets this is.

  • public DescriptorSetLayoutHandle Layout

    The set's shape. A node with no layout binds nothing.

  • public DescriptorAllocator? Allocator

    Where the sets come from. A node with no allocator binds nothing.

  • public bool IsConfigured

    Whether there is enough here to write a set at all.

Used by (19)

  • AutoExposureRendererVixen.Rendering.PostFx
  • BloomRendererVixen.Rendering.PostFx
  • BloomTestsVixen.Rendering.PostFx.Tests
  • BufferTransferDeviceTestsVixen.Graphics.Golden.Tests
  • ClusterCullingDeviceTestsVixen.Graphics.Golden.Tests
  • ClusteredLightingTestsVixen.Rendering.Tests
  • ClusteredShadingDeviceTestsVixen.Graphics.Golden.Tests
  • CompositorAssetTestsVixen.Rendering.Tests
  • CompositorBuilderVixen.Rendering
  • CompositorImageTestsVixen.Graphics.Golden.Tests
  • ComputeRendererVixen.Rendering
  • DescriptorBindingTestsVixen.Rendering.Tests
  • FullScreenRendererVixen.Rendering
  • LensFlareRendererVixen.Rendering.PostFx
  • LocalExposureRendererVixen.Rendering.PostFx
  • PostEffectRendererVixen.Rendering.PostFx
  • PostEffectTestsVixen.Rendering.PostFx.Tests
  • PostProcessTestsVixen.Rendering.Tests
  • RenderPassRendererVixen.Rendering