Used to create and keep track of both ComputePipelineEntry and RenderPipelineEntry.
Perform checks to eventually use a cached pipeline entry instead of creating a new one.
The end goal is to cache pipelines and reuse them (as well as bind groups).
Also responsible for setting the current pass encoder pipeline in order to avoid redundant setPipeline calls.
Created internally by the GPUDeviceManager.

Constructors

Properties

type: string

The type of the PipelineManager

currentPipelineIndex: number

Keep track of the current bound pipeline in order to avoid redundant setPipeline calls

pipelineEntries: AllowedPipelineEntries[]

Array of already created ComputePipelineEntry and RenderPipelineEntry

activeBindGroups: BindGroup[]

Array of current pass (used by GPURenderPassEncoder at the moment, but can be extended to GPUComputePassEncoder as well) already set bind groups.

Methods