27d6d45671
To support loading array of array properly in tessellation, we need a rewrite of how tessellation access chains are handled. The major change is to remove the implicit unflatten step inside access_chain which does not take into account the case where you load directly from a control point array variable. We defer unflatten step until OpLoad time instead. This fixes cases where we load array of {array,matrix,struct}. Removes the hacky path for MSL access chain index workaround.
14 lines
304 B
GLSL
14 lines
304 B
GLSL
#version 450
|
|
|
|
layout(cw, quads) in;
|
|
layout(location = 0) in mat4 vInputs[gl_MaxPatchVertices];
|
|
layout(location = 4) patch in vec4 vBoo[4];
|
|
layout(location = 8) patch in int vIndex;
|
|
|
|
void main()
|
|
{
|
|
mat4 tmp[gl_MaxPatchVertices] = vInputs;
|
|
gl_Position = tmp[0][vIndex] + tmp[1][vIndex] + vBoo[vIndex];
|
|
|
|
}
|