UNPKG

typegpu

Version:

A thin layer between JS and WebGPU/WGSL that improves development experience and allows for faster iteration.

19 lines (18 loc) 1.6 kB
import type { IndirectFlag, TgpuBuffer } from '../buffer/buffer.ts'; import { type PrimitiveOffsetInfo } from '../../data/offsetUtils.ts'; import type { BaseData } from '../../data/wgslTypes.ts'; import type { TgpuBindGroup, TgpuBindGroupLayout } from '../../tgpuBindGroupLayout.ts'; import type { TgpuVertexLayout } from '../vertexLayout/vertexLayout.ts'; import type { Timeable, TimestampWritesPriors } from './timeable.ts'; export declare const DISPATCH_INDIRECT_SIZE = 12; export declare const DRAW_INDIRECT_SIZE = 16; export declare const DRAW_INDEXED_INDIRECT_SIZE = 20; export declare function collectBindGroupPairs(layouts: TgpuBindGroupLayout[], catchall: [number, TgpuBindGroup] | undefined, map: Map<TgpuBindGroupLayout, TgpuBindGroup | GPUBindGroup> | undefined): [TgpuBindGroupLayout, TgpuBindGroup | GPUBindGroup][]; export declare function collectVertexBufferPairs<Buffer>(layouts: TgpuVertexLayout[], map: Map<TgpuVertexLayout, Buffer> | undefined): [TgpuVertexLayout, Buffer][]; export declare function restoreTimestampPriors<T extends Timeable>(pipeline: T, priors: { readonly timestampWrites?: TimestampWritesPriors['timestampWrites'] | undefined; readonly performanceCallback?: TimestampWritesPriors['performanceCallback'] | undefined; }): T; type IndirectOperation = 'dispatchWorkgroupsIndirect' | 'drawIndirect' | 'drawIndexedIndirect'; export declare function resolveIndirectOffset(indirectBuffer: (TgpuBuffer<BaseData> & IndirectFlag) | GPUBuffer, start: PrimitiveOffsetInfo | number | undefined, requiredSize: number, operation: IndirectOperation): number; export {};