Fix treatment of array input/output variables in reflection

* Non-block arrays should not be ignored when exploding types.
* When not exploding, set the array size correctly on each item.
This commit is contained in:
baldurk 2019-02-11 16:39:12 +00:00
parent 05d12a9461
commit 879562b766
10 changed files with 25 additions and 18 deletions

View file

@ -107,6 +107,7 @@ layout(location = 2) in vec2 attributeFloat2;
in vec3 attributeFloat3;
in vec4 attributeFloat4;
in mat4 attributeMat4;
in float attributeFloatArray[3];
uniform deep3 deepA[2], deepB[2], deepC[3], deepD[2];
@ -223,6 +224,7 @@ void main()
f += attributeFloat3.x;
f += attributeFloat4.x;
f += attributeMat4[0][1];
f += attributeFloatArray[2];
f += buf1i.runtimeArray[3];
f += buf2i.runtimeArray[3].c;
f += buf3i.runtimeArray[gl_InstanceID];