UNPKG

typegpu

Version:

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

28 lines (27 loc) 1.26 kB
import { type TgpuNamable } from '../../shared/meta.ts'; import type { ExperimentalTgpuRoot } from '../root/rootTypes.ts'; import type { TgpuDeviceOwningSoul } from '../../shared/soul.ts'; import { $internal, $soul } from '../../shared/symbols.ts'; export interface TgpuQuerySetSoul<T extends GPUQueryType = GPUQueryType> extends TgpuDeviceOwningSoul<'query-set', GPUQuerySet> { readonly queryType: T; readonly count: number; } export interface TgpuQuerySet<T extends GPUQueryType> extends TgpuNamable { readonly resourceType: 'query-set'; readonly type: T; readonly count: number; readonly querySet: GPUQuerySet; readonly destroyed: boolean; readonly available: boolean; readonly [$soul]: TgpuQuerySetSoul<T>; readonly [$internal]: { readonly readBuffer: GPUBuffer; readonly resolveBuffer: GPUBuffer; readonly materialize: () => GPUQuerySet; }; resolve(): void; read(): Promise<bigint[]>; destroy(): void; } export declare function INTERNAL_createQuerySet<T extends GPUQueryType>(group: ExperimentalTgpuRoot, type: T, count: number, rawQuerySet?: GPUQuerySet): TgpuQuerySet<T>; export declare function isQuerySet<T extends GPUQueryType>(value: unknown): value is TgpuQuerySet<T>;