UNPKG

typegpu

Version:

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

44 lines (43 loc) 2.61 kB
import type { AnyIntegerVecInstance, AnyNumericVecInstance, v4u } from '../data/wgslTypes.ts'; interface IdentityNumOrVec { (e: number): number; <T extends AnyNumericVecInstance>(e: T): T; } interface IdentityIntNumOrVec { (e: number): number; <T extends AnyIntegerVecInstance>(e: T): T; } interface IdentityNumOrVecWithIdx { (e: number, index: number): number; <T extends AnyNumericVecInstance>(e: T, index: number): T; } interface IdentityNumOrVecWithDelta { (e: number, delta: number): number; <T extends AnyNumericVecInstance>(e: T, delta: number): T; } interface IdentityNumOrVecWithMask { (e: number, mask: number): number; <T extends AnyNumericVecInstance>(e: T, mask: number): T; } export declare const subgroupAdd: import("../types.ts").DualFn<IdentityNumOrVec>; export declare const subgroupExclusiveAdd: import("../types.ts").DualFn<IdentityNumOrVec>; export declare const subgroupInclusiveAdd: import("../types.ts").DualFn<IdentityNumOrVec>; export declare const subgroupAll: import("../types.ts").DualFn<(e: boolean) => boolean>; export declare const subgroupAnd: import("../types.ts").DualFn<IdentityIntNumOrVec>; export declare const subgroupAny: import("../types.ts").DualFn<(e: boolean) => boolean>; export declare const subgroupBallot: import("../types.ts").DualFn<(e: boolean) => v4u>; export declare const subgroupBroadcast: import("../types.ts").DualFn<IdentityNumOrVecWithIdx>; export declare const subgroupBroadcastFirst: import("../types.ts").DualFn<IdentityNumOrVec>; export declare const subgroupElect: import("../types.ts").DualFn<() => boolean>; export declare const subgroupMax: import("../types.ts").DualFn<IdentityNumOrVec>; export declare const subgroupMin: import("../types.ts").DualFn<IdentityNumOrVec>; export declare const subgroupMul: import("../types.ts").DualFn<IdentityNumOrVec>; export declare const subgroupExclusiveMul: import("../types.ts").DualFn<IdentityNumOrVec>; export declare const subgroupInclusiveMul: import("../types.ts").DualFn<IdentityNumOrVec>; export declare const subgroupOr: import("../types.ts").DualFn<IdentityIntNumOrVec>; export declare const subgroupShuffle: import("../types.ts").DualFn<IdentityNumOrVecWithIdx>; export declare const subgroupShuffleDown: import("../types.ts").DualFn<IdentityNumOrVecWithDelta>; export declare const subgroupShuffleUp: import("../types.ts").DualFn<IdentityNumOrVecWithDelta>; export declare const subgroupShuffleXor: import("../types.ts").DualFn<IdentityNumOrVecWithMask>; export declare const subgroupXor: import("../types.ts").DualFn<IdentityIntNumOrVec>; export {};