UNPKG

@tensorflow/tfjs-core

Version:

Hardware-accelerated JavaScript library for machine intelligence

84 lines 4.24 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var test_util_1 = require("../test_util"); var jasmine_util_1 = require("../jasmine_util"); var backend_webgl_1 = require("./backend_webgl"); jasmine_util_1.describeWithFlags('backendWebGL', test_util_1.WEBGL_ENVS, function () { it('delayed storage, reading', function () { var delayedStorage = true; var backend = new backend_webgl_1.MathBackendWebGL(null, delayedStorage); var texManager = backend.getTextureManager(); var dataId = {}; backend.register(dataId, [3], 'float32'); backend.write(dataId, new Float32Array([1, 2, 3])); expect(texManager.getNumUsedTextures()).toBe(0); backend.getTexture(dataId); expect(texManager.getNumUsedTextures()).toBe(1); test_util_1.expectArraysClose(backend.readSync(dataId), new Float32Array([1, 2, 3])); expect(texManager.getNumUsedTextures()).toBe(0); backend.getTexture(dataId); expect(texManager.getNumUsedTextures()).toBe(1); backend.disposeData(dataId); expect(texManager.getNumUsedTextures()).toBe(0); }); it('delayed storage, overwriting', function () { var delayedStorage = true; var backend = new backend_webgl_1.MathBackendWebGL(null, delayedStorage); var texManager = backend.getTextureManager(); var dataId = {}; backend.register(dataId, [3], 'float32'); backend.write(dataId, new Float32Array([1, 2, 3])); backend.getTexture(dataId); expect(texManager.getNumUsedTextures()).toBe(1); backend.write(dataId, new Float32Array([4, 5, 6])); expect(texManager.getNumUsedTextures()).toBe(0); test_util_1.expectArraysClose(backend.readSync(dataId), new Float32Array([4, 5, 6])); backend.getTexture(dataId); expect(texManager.getNumUsedTextures()).toBe(1); test_util_1.expectArraysClose(backend.readSync(dataId), new Float32Array([4, 5, 6])); expect(texManager.getNumUsedTextures()).toBe(0); }); it('immediate storage reading', function () { var delayedStorage = false; var backend = new backend_webgl_1.MathBackendWebGL(null, delayedStorage); var texManager = backend.getTextureManager(); var dataId = {}; backend.register(dataId, [3], 'float32'); backend.write(dataId, new Float32Array([1, 2, 3])); expect(texManager.getNumUsedTextures()).toBe(1); test_util_1.expectArraysClose(backend.readSync(dataId), new Float32Array([1, 2, 3])); expect(texManager.getNumUsedTextures()).toBe(1); backend.disposeData(dataId); expect(texManager.getNumUsedTextures()).toBe(0); }); it('immediate storage overwriting', function () { var delayedStorage = false; var backend = new backend_webgl_1.MathBackendWebGL(null, delayedStorage); var texManager = backend.getTextureManager(); var dataId = {}; backend.register(dataId, [3], 'float32'); backend.write(dataId, new Float32Array([1, 2, 3])); expect(texManager.getNumUsedTextures()).toBe(1); backend.write(dataId, new Float32Array([4, 5, 6])); expect(texManager.getNumUsedTextures()).toBe(1); test_util_1.expectArraysClose(backend.readSync(dataId), new Float32Array([4, 5, 6])); expect(texManager.getNumUsedTextures()).toBe(1); backend.disposeData(dataId); expect(texManager.getNumUsedTextures()).toBe(0); }); it('disposal of backend disposes all textures', function () { var delayedStorage = false; var backend = new backend_webgl_1.MathBackendWebGL(null, delayedStorage); var texManager = backend.getTextureManager(); var dataId = {}; backend.register(dataId, [3], 'float32'); backend.write(dataId, new Float32Array([1, 2, 3])); var dataId2 = {}; backend.register(dataId2, [3], 'float32'); backend.write(dataId2, new Float32Array([4, 5, 6])); expect(texManager.getNumUsedTextures()).toBe(2); backend.dispose(); expect(texManager.getNumUsedTextures()).toBe(0); }); }); //# sourceMappingURL=backend_webgl_test.js.map