1617a3babSopenharmony_ci#version 450 core 2617a3babSopenharmony_ci 3617a3babSopenharmony_cilayout(vertices = 4) out; 4617a3babSopenharmony_ci 5617a3babSopenharmony_cilayout(location=1) patch out vec4 patchOut; 6617a3babSopenharmony_ci 7617a3babSopenharmony_cistruct S { 8617a3babSopenharmony_ci float sMem1; // should not see a patch decoration 9617a3babSopenharmony_ci float sMem2; // should not see a patch decoration 10617a3babSopenharmony_ci}; 11617a3babSopenharmony_ci 12617a3babSopenharmony_cilayout(location = 12) patch out TheBlock { 13617a3babSopenharmony_ci highp float bMem1; // should not see a location decoration 14617a3babSopenharmony_ci highp float bMem2; 15617a3babSopenharmony_ci S s; // should see a patch decoration 16617a3babSopenharmony_ci} tcBlock[2]; 17617a3babSopenharmony_ci 18617a3babSopenharmony_civoid main() 19617a3babSopenharmony_ci{ 20617a3babSopenharmony_ci gl_out[gl_InvocationID].gl_Position = gl_in[gl_InvocationID].gl_Position; 21617a3babSopenharmony_ci} 22617a3babSopenharmony_ci 23617a3babSopenharmony_cilayout(location = 2) patch out SingleBlock { 24617a3babSopenharmony_ci highp float bMem1; // should not see a location decoration 25617a3babSopenharmony_ci highp float bMem2; 26617a3babSopenharmony_ci S s; // should see a patch decoration 27617a3babSopenharmony_ci} singleBlock; 28617a3babSopenharmony_ci 29617a3babSopenharmony_cilayout(location = 20) patch out bn { 30617a3babSopenharmony_ci vec4 v1; // location 20 31617a3babSopenharmony_ci layout(location = 24) vec4 v2; // location 24 32617a3babSopenharmony_ci vec4 v3; // location 25 33617a3babSopenharmony_ci};