UNPKG

@tensorflow/tfjs-core

Version:

Hardware-accelerated JavaScript library for machine intelligence

21 lines 1.41 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var Copy2DProgram = (function () { function Copy2DProgram(srcNumCols, destNumCols) { this.variableNames = ['source']; this.outputShape = null; this.userCode = "\n uniform ivec2 sourceStart;\n uniform ivec2 destStart;\n\n void main() {\n ivec2 destCoords = getOutputCoords() - destStart;\n int index = destCoords.x * " + destNumCols + " + destCoords.y;\n int r = index / " + srcNumCols + ";\n ivec2 sourceCoords = sourceStart + ivec2(r, index - r * " + srcNumCols + ");\n setOutput(getSource(sourceCoords.x, sourceCoords.y));\n }\n "; } Copy2DProgram.prototype.getCustomSetupFunc = function (sourceStart, destStart, destSize) { return function (gpgpu, webGLProgram) { gpgpu.setOutputMatrixWriteRegion(destStart[0], destSize[0], destStart[1], destSize[1]); var sourceStartCRLoc = gpgpu.getUniformLocation(webGLProgram, 'sourceStart'); gpgpu.gl.uniform2i(sourceStartCRLoc, sourceStart[0], sourceStart[1]); var destStartCRLoc = gpgpu.getUniformLocation(webGLProgram, 'destStart'); gpgpu.gl.uniform2i(destStartCRLoc, destStart[0], destStart[1]); }; }; return Copy2DProgram; }()); exports.Copy2DProgram = Copy2DProgram; //# sourceMappingURL=copy_gpu.js.map