MCPcopy Index your code
hub / github.com/gpujs/gpu.js / testNumberTexture

Function testNumberTexture

test/features/dynamic-arguments.js:161–235  ·  view source on GitHub ↗
(mode)

Source from the content-addressed store, hash-verified

159});
160
161function testNumberTexture(mode) {
162 const gpu = new GPU({ mode });
163 const matrix4X4 = [
164 [1,2,3,4],
165 [5,6,7,8],
166 [9,10,11,12],
167 [13,14,15,16],
168 ];
169 const texture4X4 = (
170 gpu.createKernel(function(value) {
171 return value[this.thread.y][this.thread.x];
172 })
173 .setOutput([4, 4])
174 .setPrecision('single')
175 .setPipeline(true)
176 )(matrix4X4);
177
178 const matrix3X3 = [
179 [1,2,3],
180 [4,5,6],
181 [7,8,9]
182 ];
183 const texture3X3 = (
184 gpu.createKernel(function(value) {
185 return value[this.thread.y][this.thread.x];
186 })
187 .setOutput([3, 3])
188 .setPrecision('single')
189 .setPipeline(true)
190 )(matrix3X3);
191
192 const matrix2X2 = [
193 [1,2],
194 [3,4]
195 ];
196 const texture2X2 = (
197 gpu.createKernel(function(value) {
198 return value[this.thread.y][this.thread.x];
199 })
200 .setOutput([2, 2])
201 .setPrecision('single')
202 .setPipeline(true)
203 )(matrix2X2);
204
205 const kernel = gpu.createKernel(function(texture) {
206 return texture[this.thread.y][this.thread.x];
207 })
208 .setDynamicArguments(true)
209 .setDynamicOutput(true)
210 .setOutput([4,4]);
211
212 assert.deepEqual(kernel(texture4X4), [
213 new Float32Array([1,2,3,4]),
214 new Float32Array([5,6,7,8]),
215 new Float32Array([9,10,11,12]),
216 new Float32Array([13,14,15,16]),
217 ]);
218

Callers 1

Calls 8

createKernelMethod · 0.95
destroyMethod · 0.95
kernelFunction · 0.85
setPipelineMethod · 0.80
setDynamicOutputMethod · 0.80
setDynamicArgumentsMethod · 0.80
setPrecisionMethod · 0.45
setOutputMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…