type DrawCallProps = {
pipeline?:
| GPURenderPipelineDescriptor
| { $nop: any }
| { $delete: any }
| { $set: GPURenderPipelineDescriptor }
| { $merge: Merge<GPURenderPipelineDescriptor> }
| { $apply: (
t: GPURenderPipelineDescriptor,
) => GPURenderPipelineDescriptor }
| { $patch: (
t: GPURenderPipelineDescriptor,
) => Update<GPURenderPipelineDescriptor> }
| { vertex?: Update<GPUVertexState>; primitive?: Update<GPUPrimitiveState | undefined>; depthStencil?: Update<GPUDepthStencilState | undefined>; multisample?: Update<GPUMultisampleState | undefined>; fragment?: Update<GPUFragmentState | undefined>; layout?: Update<"auto" | GPUPipelineLayout>; label?: Update<string | undefined>; },
mode?: string,
vertexCount?: Lazy<number>,
instanceCount?: Lazy<number>,
firstVertex?: Lazy<number>,
firstInstance?: Lazy<number>,
bounds?: Lazy<DataBounds>,
indirect?: StorageSource,
vertex: ParsedBundle,
fragment?: ParsedBundle,
globalLayout?: GPUBindGroupLayout,
passLayout?: GPUBindGroupLayout,
globalBinding?:
(
pipeline: GPURenderPipeline,
) => VolatileAllocation,
globalDefs?: UniformAttribute[][],
globalUniforms?: Record<string, Ref<any>>,
renderContext: UseGPURenderContext,
shouldDispatch?:
(
uniforms: Record<string, Ref<any>>,
) => boolean | number | null | undefined,
onDispatch?: (
uniforms: Record<string, Ref<any>>,
) => void,
defines?: Record<string, any>,
}
packages / workbench / src / queue / draw-call.ts