gpu.js
gpu.js copied to clipboard
Graphical output has "padded" data when pipelining in a non matching texture size

What is wrong?
When pipelining in another kernel with a different size to the kernel that is marked graphical, the canvas becomes bigger by the same factor.
Where does it happen?
In the browser.
How do we replicate the issue?
https://codesandbox.io/s/lucid-wilson-5eb3d
let kernalA = gpu.createKernel(
function () {
return this.thread.x / 100;
},
{
output: [100, 100, 10],
pipeline: true
}
);
let kernalB = gpu.createKernel(
function (pars) {
this.color(pars[0][this.thread.y][this.thread.x], 0, 0);
},
{
output: [100, 100],
graphical: true
}
);
kernalB(kernalA());
How important is this (1-5)?
6(9)
Expected behavior (i.e. solution)
The dimensions of the canvas should match the output of the kernel marked as graphical.
Other Comments
A workaround for now seems to be: https://codesandbox.io/s/sweet-darwin-ojh3o?file=/src/index.js
The same happens for me when outputs shapes are different, even if kernel results are not connected. output: [100, 100, 10], output: [100, 100],