UNPKG

@tensorflow/tfjs-core

Version:

Hardware-accelerated JavaScript library for machine intelligence

62 lines (61 loc) 3.85 kB
import { WebGL1DisjointQueryTimerExtension, WebGL2DisjointQueryTimerExtension, WebGLLoseContextExtension, WebGLQuery } from './webgl_types'; export declare class GPGPUContext { gl: WebGLRenderingContext; textureFloatExtension: {}; colorBufferFloatExtension: {}; getBufferSubDataAsyncExtension: {}; loseContextExtension: WebGLLoseContextExtension; disjointQueryTimerExtension: WebGL2DisjointQueryTimerExtension | WebGL1DisjointQueryTimerExtension; vertexBuffer: WebGLBuffer; indexBuffer: WebGLBuffer; framebuffer: WebGLFramebuffer; outputTexture: WebGLTexture | null; program: WebGLProgram | null; private disposed; private autoDebugValidate; constructor(gl?: WebGLRenderingContext); dispose(): void; enableAutomaticDebugValidation(enabled: boolean): void; createMatrixTexture(rows: number, columns: number): WebGLTexture; uploadPixelDataToTexture(texture: WebGLTexture, pixels: ImageData | HTMLImageElement | HTMLCanvasElement): void; createPackedMatrixTexture(rows: number, columns: number): WebGLTexture; deleteMatrixTexture(texture: WebGLTexture): void; uploadMatrixToTexture(texture: WebGLTexture, rows: number, columns: number, matrix: Float32Array): void; uploadMatrixToPackedTexture(texture: WebGLTexture, rows: number, columns: number, matrix: Float32Array): void; downloadMatrixFromTexture(texture: WebGLTexture, rows: number, columns: number): Float32Array; downloadMatrixFromTextureAsync(texture: WebGLTexture, rows: number, columns: number): Promise<Float32Array>; downloadMatrixFromRGBAColorTexture(texture: WebGLTexture, rows: number, columns: number, channels: number): Float32Array; downloadMatrixFromPackedTexture(texture: WebGLTexture, rows: number, columns: number): Float32Array; private vertexAttrsAreBound; createProgram(fragmentShaderSource: string): WebGLProgram; deleteProgram(program: WebGLProgram): void; setProgram(program: WebGLProgram | null): void; getUniformLocation(program: WebGLProgram, uniformName: string, shouldThrow?: boolean): WebGLUniformLocation; getAttributeLocation(program: WebGLProgram, attribute: string): number; getUniformLocationNoThrow(program: WebGLProgram, uniformName: string): WebGLUniformLocation; setInputMatrixTexture(inputMatrixTexture: WebGLTexture, uniformLocation: WebGLUniformLocation, textureUnit: number): void; setOutputMatrixTexture(outputMatrixTexture: WebGLTexture, rows: number, columns: number): void; setOutputPackedMatrixTexture(outputPackedMatrixTexture: WebGLTexture, rows: number, columns: number): void; setOutputMatrixWriteRegion(startRow: number, numRows: number, startColumn: number, numColumns: number): void; setOutputPackedMatrixWriteRegion(startRow: number, numRows: number, startColumn: number, numColumns: number): void; debugValidate(): void; executeProgram(): void; blockUntilAllProgramsCompleted(): void; private getQueryTimerExtension(); private getQueryTimerExtensionWebGL2(); private getQueryTimerExtensionWebGL1(); runQuery(queryFn: () => void): Promise<number>; beginQuery(): WebGLQuery; endQuery(): void; private isQueryAvailable(query, queryTimerVersion); pollQueryTime(query: WebGLQuery): Promise<number>; private getQueryTime(query, queryTimerVersion); private downloadMatrixDriverSetup(texture); private downloadMatrixDriverTeardown(); private downloadMatrixDriver(texture, downloadAndDecode); private downloadMatrixDriverAsync(texture, downloadAndDecode); private setOutputMatrixTextureDriver(outputMatrixTextureMaybePacked, width, height); private setOutputMatrixWriteRegionDriver(x, y, width, height); private throwIfDisposed(); private throwIfNoProgram(); }