Vixen
02b45cc4
csharp
public readonly ref struct BarrierGroup

Everything that changes state at one point in a command list.

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

Remarks

Submitted as a group rather than one at a time, and that is the whole point: a driver given ten barriers together inserts one pipeline stall, and given them one at a time inserts ten. Batching is not an optimisation the backend can do for us either — by the time it sees the second barrier the first has already been recorded.

Vixen.Graphics.RenderGraph builds these automatically for the code that wants that; hand-written barriers stay available for the hot paths that do not.

Fields and properties (3)

  • public ReadOnlySpan<BufferBarrier> Buffers

    The buffers changing state.

  • public ReadOnlySpan<TextureBarrier> Textures

    The textures changing state.

  • public bool IsEmpty

    Whether the group would do anything.

Methods (1)

  • public BarrierGroup(ReadOnlySpan<BufferBarrier> buffers, ReadOnlySpan<TextureBarrier> textures)

    Everything that changes state at one point in a command list.

Used by (9)

  • GlCommandListVixen.Graphics.OpenGL
  • ICommandListVixen.Graphics
  • NullCommandListVixen.Graphics.Null
  • OrderProbeVixen.Graphics.RenderGraph.Tests
  • TrackingCommandListVixen.Graphics.RenderGraph.Tests
  • VideoRenderTargetVixen.Video.Rendering
  • VideoTextureVixen.Video
  • VulkanCommandListVixen.Graphics.Vulkan
  • WebGpuCommandListVixen.Graphics.WebGPU