(mode)
| 761 | }); |
| 762 | |
| 763 | function testOutputTextureIsClonedWhenRecompiling(mode) { |
| 764 | const gpu = new GPU({ mode }); |
| 765 | const kernel = gpu.createKernel(function(value) { |
| 766 | return value[this.thread.x] + 1; |
| 767 | }, { output: [1], immutable: true, pipeline: true }); |
| 768 | const result1 = kernel([1]); |
| 769 | assert.equal(result1.toArray()[0], 2); |
| 770 | const result2 = kernel(result1); |
| 771 | result1.delete(); |
| 772 | assert.equal(result2.toArray()[0], 3); |
| 773 | result2.delete(); |
| 774 | const result3 = kernel([3]); |
| 775 | assert.equal(result3.toArray()[0], 4); |
| 776 | const result4 = kernel(result3); |
| 777 | result3.delete(); |
| 778 | assert.equal(result4.toArray()[0], 5); |
| 779 | result4.delete(); |
| 780 | gpu.destroy(); |
| 781 | } |
| 782 | |
| 783 | test('output texture is cloned when recompiling auto', () => { |
| 784 | testOutputTextureIsClonedWhenRecompiling(); |
no test coverage detected
searching dependent graphs…