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

Function testMemoryOptimizedNumberTexture

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

Source from the content-addressed store, hash-verified

59});
60
61function testMemoryOptimizedNumberTexture(mode) {
62 const gpu = new GPU({ mode });
63 const matrix4X4 = [
64 [1,2,3,4],
65 [5,6,7,8],
66 [9,10,11,12],
67 [13,14,15,16],
68 ];
69 const texture4X4 = (
70 gpu.createKernel(function(value) {
71 return value[this.thread.y][this.thread.x];
72 })
73 .setOutput([4, 4])
74 .setPrecision('single')
75 .setOptimizeFloatMemory(true)
76 .setPipeline(true)
77 )(matrix4X4);
78
79 const matrix3X3 = [
80 [1,2,3],
81 [4,5,6],
82 [7,8,9]
83 ];
84 const texture3X3 = (
85 gpu.createKernel(function(value) {
86 return value[this.thread.y][this.thread.x];
87 })
88 .setOutput([3, 3])
89 .setPrecision('single')
90 .setOptimizeFloatMemory(true)
91 .setPipeline(true)
92 )(matrix3X3);
93
94 const matrix2X2 = [
95 [1,2],
96 [3,4]
97 ];
98 const texture2X2 = (
99 gpu.createKernel(function(value) {
100 return value[this.thread.y][this.thread.x];
101 })
102 .setOutput([2, 2])
103 .setPrecision('single')
104 .setOptimizeFloatMemory(true)
105 .setPipeline(true)
106 )(matrix2X2);
107
108 const kernel = gpu.createKernel(function(texture) {
109 return texture[this.thread.y][this.thread.x];
110 })
111 .setDynamicArguments(true)
112 .setDynamicOutput(true)
113 .setOptimizeFloatMemory(true)
114 .setOutput([4,4]);
115
116 assert.deepEqual(kernel(texture4X4), [
117 new Float32Array([1,2,3,4]),
118 new Float32Array([5,6,7,8]),

Callers 1

Calls 9

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…