Skip to content

Commit c944c27

Browse files
committed
read minimum data
1 parent 70ad3cb commit c944c27

2 files changed

Lines changed: 8 additions & 4 deletions

File tree

src/backend/web-gl/kernel.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -386,8 +386,10 @@ module.exports = class WebGLKernel extends KernelBase {
386386
} else {
387387
let result;
388388
if (this.floatOutput) {
389-
result = new Float32Array(texSize[0] * texSize[1] * 4);
390-
gl.readPixels(0, 0, texSize[0], texSize[1], gl.RGBA, gl.FLOAT, result);
389+
const w = texSize[0];
390+
const h = Math.ceil(texSize[1] / 4);
391+
result = new Float32Array(w * h * 4);
392+
gl.readPixels(0, 0, w, h, gl.RGBA, gl.FLOAT, result);
391393
} else {
392394
const bytes = new Uint8Array(texSize[0] * texSize[1] * 4);
393395
gl.readPixels(0, 0, texSize[0], texSize[1], gl.RGBA, gl.UNSIGNED_BYTE, bytes);

src/core/gpu.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -235,8 +235,10 @@ class GPU extends GPUCore {
235235
const threadDim = lastKernel.threadDim;
236236
let result;
237237
if (lastKernel.floatOutput) {
238-
result = new Float32Array(texSize[0] * texSize[1] * 4);
239-
gl.readPixels(0, 0, texSize[0], texSize[1], gl.RGBA, gl.FLOAT, result);
238+
const w = texSize[0];
239+
const h = Math.ceil(texSize[1] / 4);
240+
result = new Float32Array(w * h * 4);
241+
gl.readPixels(0, 0, w, h, gl.RGBA, gl.FLOAT, result);
240242
} else {
241243
const bytes = new Uint8Array(texSize[0] * texSize[1] * 4);
242244
gl.readPixels(0, 0, texSize[0], texSize[1], gl.RGBA, gl.UNSIGNED_BYTE, bytes);

0 commit comments

Comments
 (0)