(mode)
| 202 | }); |
| 203 | |
| 204 | function dynamicOutput2DGrows(mode) { |
| 205 | const gpu = new GPU({ mode }); |
| 206 | const kernel = gpu.createKernel(function() { |
| 207 | return this.output.x + this.output.y + this.thread.x + this.thread.y; |
| 208 | }, { dynamicOutput: true }); |
| 209 | |
| 210 | kernel.setOutput([2,2]); |
| 211 | let result = kernel(); |
| 212 | assert.equal(result.length, 2); |
| 213 | assert.deepEqual(result.map(row => Array.from(row)), [[4,5],[5,6]]); |
| 214 | assert.deepEqual(Array.from(kernel.output), [2,2]); |
| 215 | |
| 216 | kernel.setOutput([3,3]); |
| 217 | result = kernel(); |
| 218 | assert.equal(result.length, 3); |
| 219 | assert.deepEqual(result.map(row => Array.from(row)), [[6,7,8],[7,8,9],[8,9,10]]); |
| 220 | assert.deepEqual(Array.from(kernel.output), [3,3]); |
| 221 | |
| 222 | gpu.destroy(); |
| 223 | } |
| 224 | |
| 225 | test('dynamic output 2d grows auto', () => { |
| 226 | dynamicOutput2DGrows(); |
no test coverage detected
searching dependent graphs…