gpujs / gpujs/gpu.js

Arrays in parameters and returnTypes for kernel's subfunctions - can be bigger than 4?

Offen
#394 7 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
JavaScript
Sterne
15.5k
Forks
663
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

This issue is connected with #385 and #377 . Currently we are able to declare param/return value as Array(2), Array(3) and Array(4). But wen we use type `Array` or `Array(5)` (and greater than 5) then we will see error. It is possible to use a little bigger arrays (with 5-16 elements, or even arbitrary size)?

Here is fiddle-test-case:

https://jsfiddle.net/u9y8xw3n/1/

So when we use arbitrary array:
`gpu.addFunction(bug2Fn, { paramTypes: { v: 'Array'}, returnType: 'Array' }); `
or
`gpu.addFunction(bug2Fn, { paramTypes: { v: 'Array(2)'}, returnType: 'Array' }); `
We get:
> An error occurred compiling the shaders: ERROR: 0:160: 'sampler2D' : sampler2Ds can't be function return values gpu.js:3642

For
`gpu.addFunction(bug2Fn, { paramTypes: { v: 'Array'}, returnType: 'Array(3)' }); `
we get:
> An error occurred compiling the shaders: ERROR: 0:161: 'user_vSize' : undeclared identifier gpu.js:3642

For:
`gpu.addFunction(bug1Fn, { paramTypes: { v: 'Array(2)'}, returnType: 'Array(5)' }); `
We get:
> Uncaught Error: type Array(5) not handled gpu.js:2949

For
`gpu.addFunction(bug3Fn, { paramTypes: { v: 'Array(5)'}, returnType: 'Array(3)' }); `
we get:
> Uncaught Error: unknown type Array(5), gpu.js: 2554

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne mit dem verlinkten JSFiddle und den gpu.addFunction-Beispielen und lies anschließend die zugehörigen Issues #385 und #377. Verfolge die aktuelle Verarbeitung von Array-Parameter- und returnType-Deklarationen im Hinblick auf die gemeldeten shader- und unknown-type-Fehler. Erledigt ist die Aufgabe, wenn die unterstützten größeren oder beliebig großen Array-Fälle kompiliert werden und korrekte Ergebnisse zurückgeben und der unterstützte Größenbereich definiert ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
javascript
Bereich
computer-graphics
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.