UNPKG

wgsl_reflect

Version:
57 lines (56 loc) 3.43 kB
import { Node, Type, Let, Var, Const, If, For, While, Loop, Assign, Increment, Call, BinaryOperator, LiteralExpr, VariableExpr, CallExpr, CreateExpr, ConstExpr, BitcastExpr, UnaryOperator, Function, Switch } from "./wgsl_ast.js"; import { Data } from "./wgsl_ast.js"; import { Reflect } from "./reflect/reflect.js"; import { TypeInfo } from "./reflect/info.js"; import { ExecContext, FunctionRef } from "./exec/exec_context.js"; import { ExecInterface } from "./exec/exec_interface.js"; import { BuiltinFunctions } from "./exec/builtin_functions.js"; export declare class WgslExec extends ExecInterface { ast: Node[]; context: ExecContext; reflection: Reflect; builtins: BuiltinFunctions; typeInfo: Object; constructor(ast?: Node[], context?: ExecContext); getVariableValue(name: string): number | number[] | null; execute(config?: Object): void; dispatchWorkgroups(kernel: string, dispatchCount: number | number[], bindGroups: Object, config?: Object): void; static _breakObj: Data; static _continueObj: Data; execStatement(stmt: Node, context: ExecContext): Data | null; evalExpression(node: Node, context: ExecContext): Data | null; getTypeInfo(type: Type | string): TypeInfo | null; _setOverrides(constants: Object, context: ExecContext): void; _dispatchWorkgroup(f: FunctionRef, workgroup_id: number[], context: ExecContext): void; _dispatchExec(f: FunctionRef, context: ExecContext): void; getVariableName(node: Node, context: ExecContext): string | null; _execStatements(statements: Node[], context: ExecContext): Data | null; _call(node: Call, context: ExecContext): void; _increment(node: Increment, context: ExecContext): void; _getVariableData(node: Node, context: ExecContext): Data | null; _assign(node: Assign, context: ExecContext): void; _function(node: Function, context: ExecContext): void; _const(node: Const, context: ExecContext): void; _let(node: Let, context: ExecContext): void; _var(node: Var, context: ExecContext): void; _switch(node: Switch, context: ExecContext): Data | null; _if(node: If, context: ExecContext): Data | null; _getScalarValue(v: Data | null): number; _for(node: For, context: ExecContext): Data | null; _loop(node: Loop, context: ExecContext): Data | null; _while(node: While, context: ExecContext): Data | null; _evalBitcast(node: BitcastExpr, context: ExecContext): Data | null; _evalConst(node: ConstExpr, context: ExecContext): Data | null; _evalCreate(node: CreateExpr | CallExpr | Call, context: ExecContext): Data | null; _evalLiteral(node: LiteralExpr, context: ExecContext): Data | null; _evalVariable(node: VariableExpr, context: ExecContext): Data | null; static _priority: Map<string, number>; _maxFormatTypeInfo(x: TypeInfo[]): TypeInfo | null; _evalUnaryOp(node: UnaryOperator, context: ExecContext): Data | null; _evalBinaryOp(node: BinaryOperator, context: ExecContext): Data | null; _evalCall(node: CallExpr, context: ExecContext): Data | null; _callBuiltinFunction(node: CallExpr | Call, context: ExecContext): Data | null; _callConstructorValue(node: CreateExpr, context: ExecContext): Data | null; _callConstructorVec(node: CreateExpr | LiteralExpr, context: ExecContext): Data | null; _callConstructorMatrix(node: CreateExpr | LiteralExpr, context: ExecContext): Data | null; }