UNPKG

typegpu

Version:

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

25 lines (24 loc) 879 B
import type { StorageFlag } from '../../extension.ts'; import type { StorageTextureFormats } from './textureFormats.ts'; import type { TextureProps } from './textureProps.ts'; export interface SampledFlag { usableAsSampled: true; } export interface RenderFlag { usableAsRender: true; } export type LiteralToExtensionMap = { storage: StorageFlag; sampled: SampledFlag; render: RenderFlag; transient: RenderFlag; }; export type AllowedUsages<TProps extends TextureProps> = 'sampled' | 'render' | 'transient' | (TProps['format'] extends StorageTextureFormats ? 'storage' : never); export declare function isUsableAsSampled<T>(value: T): value is T & SampledFlag; export declare function isUsableAsRender<T>(value: T): value is T & RenderFlag; /** * @category Errors */ export declare class NotSampledError extends Error { constructor(value: object); }