ref: 5781e4d2a29054abc5d659e9ca867604cba4513f
dir: /ops.h/
typedef struct Frame Frame; typedef struct CompileTimeContext CompileTimeContext; struct CompileTimeContext { Shader *shader; }; typedef struct RunTimeContext RunTimeContext; struct RunTimeContext { Shader *shader; Frame **frameptr; }; enum { COMPILE, RUNTIME, }; typedef struct FrameContext FrameContext; struct FrameContext { short type; union { CompileTimeContext c; RunTimeContext r; }; }; struct Frame { u32int *pc; FrameContext ctxt; Frame *next; }; typedef struct Op Op; struct Op { u32int opcode; void (*f)(Frame*,u32int); }; int oplookup(u32int code, void (**f)(Frame*,u32int));