UNPKG

web-naga

Version:

Provides mutual conversion between different Shader language syntaxes, implemented using naga and wasm

101 lines (96 loc) 3.87 kB
/* 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>;