wgsl_reflect
Version:
WGSL Parser and Reflection library
41 lines (40 loc) • 1.71 kB
TypeScript
import * as AST from "./wgsl_ast.js";
import { WgslExec } from "./wgsl_exec.js";
import { ExecContext, FunctionRef } from "./exec/exec_context.js";
import { Command } from "./exec/command.js";
import { StackFrame } from "./exec/stack_frame.js";
import { ExecStack } from "./exec/exec_stack.js";
type RuntimeStateCallbackType = () => void;
export declare class WgslDebug {
_code: string;
_exec: WgslExec;
_execStack: ExecStack;
_dispatchId: number[];
_runTimer: any;
breakpoints: Set<number>;
runStateCallback: RuntimeStateCallbackType | null;
constructor(code: string, runStateCallback?: RuntimeStateCallbackType);
getVariableValue(name: string): number | number[] | null;
reset(): void;
startDebug(): void;
get context(): ExecContext;
get currentState(): StackFrame | null;
get currentCommand(): Command | null;
toggleBreakpoint(line: number): void;
clearBreakpoints(): void;
get isRunning(): boolean;
run(): void;
pause(): void;
_setOverrides(constants: Object, context: ExecContext): void;
debugWorkgroup(kernel: string, dispatchId: number[], dispatchCount: number | number[], bindGroups: Object, config?: Object): boolean;
_shouldExecuteNextCommand(): boolean;
stepInto(): void;
stepOver(): void;
stepOut(): void;
stepNext(stepInto?: boolean): boolean;
_dispatchWorkgroup(f: FunctionRef, workgroup_id: number[], context: ExecContext): boolean;
_dispatchExec(f: FunctionRef, context: ExecContext): void;
_createState(ast: AST.Node[], context: ExecContext, parent?: StackFrame): StackFrame;
_collectFunctionCalls(node: AST.Expression, functionCalls: AST.CallExpr[]): void;
}
export {};