web-naga
Version:
Provides mutual conversion between different Shader language syntaxes, implemented using naga and wasm
101 lines (96 loc) • 3.87 kB
TypeScript
/* tslint:disable */
/* eslint-disable */
export enum GlslWriterFlags {
None = 0,
AdjustCoordinateSpace = 1,
TextureShadowLod = 2,
DrawParameters = 4,
IncludeUnusedItems = 16,
ForcePointSize = 32,
}
export enum ShaderStage {
Vertex = 0,
Fragment = 1,
Compute = 2,
}
export class GlslBackendOptions {
private constructor();
free(): void;
static new(): GlslBackendOptions;
version: GlslVersion;
stage: ShaderStage;
flags: number;
}
export class GlslFrontend {
private constructor();
free(): void;
static new(): GlslFrontend;
parse(source: string, stage: ShaderStage): ShaderModule;
}
export class GlslVersion {
private constructor();
free(): void;
static desktop(version: number): GlslVersion;
static embedded(version: number): GlslVersion;
}
export class ShaderModule {
private constructor();
free(): void;
to_glsl(entry_point: string, opts: GlslBackendOptions): string;
to_wgsl(): string;
}
export class WgslFrontend {
private constructor();
free(): void;
static new(): WgslFrontend;
parse(source: string): ShaderModule;
}
export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
export interface InitOutput {
readonly memory: WebAssembly.Memory;
readonly __wbg_wgslfrontend_free: (a: number, b: number) => void;
readonly wgslfrontend_new: () => number;
readonly wgslfrontend_parse: (a: number, b: number, c: number) => [number, number, number];
readonly __wbg_glslbackendoptions_free: (a: number, b: number) => void;
readonly __wbg_get_glslbackendoptions_version: (a: number) => number;
readonly __wbg_set_glslbackendoptions_version: (a: number, b: number) => void;
readonly __wbg_get_glslbackendoptions_stage: (a: number) => number;
readonly __wbg_set_glslbackendoptions_stage: (a: number, b: number) => void;
readonly __wbg_get_glslbackendoptions_flags: (a: number) => number;
readonly __wbg_set_glslbackendoptions_flags: (a: number, b: number) => void;
readonly glslbackendoptions_new: () => number;
readonly shadermodule_to_glsl: (a: number, b: number, c: number, d: number) => [number, number];
readonly __wbg_shadermodule_free: (a: number, b: number) => void;
readonly __wbg_glslfrontend_free: (a: number, b: number) => void;
readonly glslfrontend_new: () => number;
readonly glslfrontend_parse: (a: number, b: number, c: number, d: number) => [number, number, number];
readonly shadermodule_to_wgsl: (a: number) => [number, number];
readonly __wbg_glslversion_free: (a: number, b: number) => void;
readonly glslversion_desktop: (a: number) => number;
readonly glslversion_embedded: (a: number) => number;
readonly __wbindgen_export_0: WebAssembly.Table;
readonly __wbindgen_malloc: (a: number, b: number) => number;
readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
readonly __externref_table_dealloc: (a: number) => void;
readonly __wbindgen_free: (a: number, b: number, c: number) => void;
readonly __wbindgen_start: () => void;
}
export type SyncInitInput = BufferSource | WebAssembly.Module;
/**
* Instantiates the given `module`, which can either be bytes or
* a precompiled `WebAssembly.Module`.
*
* @param {{ module: SyncInitInput }} module - Passing `SyncInitInput` directly is deprecated.
*
* @returns {InitOutput}
*/
export function initSync(module: { module: SyncInitInput } | SyncInitInput): InitOutput;
/**
* If `module_or_path` is {RequestInfo} or {URL}, makes a request and
* for everything else, calls `WebAssembly.instantiate` directly.
*
* @param {{ module_or_path: InitInput | Promise<InitInput> }} module_or_path - Passing `InitInput` directly is deprecated.
*
* @returns {Promise<InitOutput>}
*/
export default function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise<InitInput> } | InitInput | Promise<InitInput>): Promise<InitOutput>;