1617a3babSopenharmony_ci#version 320 es 2617a3babSopenharmony_ci 3617a3babSopenharmony_cilayout(vertices = 4) out; // ERROR 4617a3babSopenharmony_cilayout(quads, cw) in; 5617a3babSopenharmony_cilayout(triangles) in; // ERROR 6617a3babSopenharmony_cilayout(isolines) in; // ERROR 7617a3babSopenharmony_ci 8617a3babSopenharmony_cilayout(ccw) in; // ERROR 9617a3babSopenharmony_cilayout(cw) in; 10617a3babSopenharmony_ci 11617a3babSopenharmony_cilayout(fractional_odd_spacing) in; 12617a3babSopenharmony_cilayout(equal_spacing) in; // ERROR 13617a3babSopenharmony_cilayout(fractional_even_spacing) in; // ERROR 14617a3babSopenharmony_ci 15617a3babSopenharmony_cilayout(point_mode) in; 16617a3babSopenharmony_ci 17617a3babSopenharmony_cipatch in vec4 patchIn; 18617a3babSopenharmony_cipatch out vec4 patchOut; // ERROR 19617a3babSopenharmony_ci 20617a3babSopenharmony_civoid main() 21617a3babSopenharmony_ci{ 22617a3babSopenharmony_ci barrier(); // ERROR 23617a3babSopenharmony_ci 24617a3babSopenharmony_ci int a = gl_MaxTessEvaluationInputComponents + 25617a3babSopenharmony_ci gl_MaxTessEvaluationOutputComponents + 26617a3babSopenharmony_ci gl_MaxTessEvaluationTextureImageUnits + 27617a3babSopenharmony_ci gl_MaxTessEvaluationUniformComponents + 28617a3babSopenharmony_ci gl_MaxTessPatchComponents + 29617a3babSopenharmony_ci gl_MaxPatchVertices + 30617a3babSopenharmony_ci gl_MaxTessGenLevel; 31617a3babSopenharmony_ci 32617a3babSopenharmony_ci vec4 p = gl_in[1].gl_Position; 33617a3babSopenharmony_ci float ps = gl_in[1].gl_PointSize; // ERROR, need point_size extension 34617a3babSopenharmony_ci float cd = gl_in[1].gl_ClipDistance[2]; // ERROR, not in ES 35617a3babSopenharmony_ci 36617a3babSopenharmony_ci int pvi = gl_PatchVerticesIn; 37617a3babSopenharmony_ci int pid = gl_PrimitiveID; 38617a3babSopenharmony_ci vec3 tc = gl_TessCoord; 39617a3babSopenharmony_ci float tlo = gl_TessLevelOuter[3]; 40617a3babSopenharmony_ci float tli = gl_TessLevelInner[1]; 41617a3babSopenharmony_ci 42617a3babSopenharmony_ci gl_Position = p; 43617a3babSopenharmony_ci gl_PointSize = ps; // ERROR, need point_size extension 44617a3babSopenharmony_ci gl_ClipDistance[2] = cd; // ERROR, not in ES 45617a3babSopenharmony_ci} 46617a3babSopenharmony_ci 47617a3babSopenharmony_cismooth patch in vec4 badp1; // ERROR 48617a3babSopenharmony_ciflat patch in vec4 badp2; // ERROR 49617a3babSopenharmony_cinoperspective patch in vec4 badp3; // ERROR 50617a3babSopenharmony_cipatch sample in vec3 badp4; // ERROR 51617a3babSopenharmony_ci 52617a3babSopenharmony_ci#extension GL_ARB_separate_shader_objects : enable 53617a3babSopenharmony_ci 54617a3babSopenharmony_ciin gl_PerVertex 55617a3babSopenharmony_ci{ 56617a3babSopenharmony_ci vec4 gl_Position; 57617a3babSopenharmony_ci} gl_in[]; 58617a3babSopenharmony_ci 59617a3babSopenharmony_ciin gl_PerVertex // ERROR, second redeclaration of gl_in 60617a3babSopenharmony_ci{ 61617a3babSopenharmony_ci vec4 gl_Position; 62617a3babSopenharmony_ci} gl_in[]; 63617a3babSopenharmony_ci 64617a3babSopenharmony_cilayout(quads, cw) out; // ERROR 65617a3babSopenharmony_cilayout(triangles) out; // ERROR 66617a3babSopenharmony_cilayout(isolines) out; // ERROR 67617a3babSopenharmony_cilayout(cw) out; // ERROR 68617a3babSopenharmony_cilayout(fractional_odd_spacing) out; // ERROR 69617a3babSopenharmony_cilayout(equal_spacing) out; // ERROR 70617a3babSopenharmony_cilayout(fractional_even_spacing) out; // ERROR 71617a3babSopenharmony_cilayout(point_mode) out; // ERROR 72617a3babSopenharmony_ci 73617a3babSopenharmony_ciin vec2 ina; // ERROR, not array 74617a3babSopenharmony_ciin vec2 inb[]; 75617a3babSopenharmony_ciin vec2 inc[18]; // ERROR, wrong size 76617a3babSopenharmony_ciin vec2 ind[gl_MaxPatchVertices]; 77617a3babSopenharmony_ci 78617a3babSopenharmony_ciin testbla { // ERROR, not array 79617a3babSopenharmony_ci int f; 80617a3babSopenharmony_ci} bla; 81617a3babSopenharmony_ci 82617a3babSopenharmony_ciin testblb { 83617a3babSopenharmony_ci int f; 84617a3babSopenharmony_ci} blb[]; 85617a3babSopenharmony_ci 86617a3babSopenharmony_ciin testblc { // ERROR wrong size 87617a3babSopenharmony_ci int f; 88617a3babSopenharmony_ci} blc[18]; 89617a3babSopenharmony_ci 90617a3babSopenharmony_ciin testbld { 91617a3babSopenharmony_ci int f; 92617a3babSopenharmony_ci} bld[gl_MaxPatchVertices]; 93617a3babSopenharmony_ci 94617a3babSopenharmony_cilayout(location = 23) in vec4 ivla[]; 95617a3babSopenharmony_cilayout(location = 24) in vec4 ivlb[]; 96617a3babSopenharmony_cilayout(location = 24) in vec4 ivlc[]; // ERROR, overlap 97617a3babSopenharmony_ci 98617a3babSopenharmony_cilayout(location = 23) out vec4 ovla[2]; 99617a3babSopenharmony_cilayout(location = 24) out vec4 ovlb[2]; // ERROR, overlap 100617a3babSopenharmony_ci 101617a3babSopenharmony_ciin float gl_TessLevelOuter[4]; // ERROR, can't redeclare 102617a3babSopenharmony_ci 103617a3babSopenharmony_cipatch in pinbn { 104617a3babSopenharmony_ci int a; 105617a3babSopenharmony_ci} pinbi; 106617a3babSopenharmony_ci 107617a3babSopenharmony_cicentroid out vec3 myColor2; 108617a3babSopenharmony_cicentroid in vec3 centr[]; 109617a3babSopenharmony_cisample out vec4 perSampleColor; 110617a3babSopenharmony_ci 111617a3babSopenharmony_civoid bbbad() 112617a3babSopenharmony_ci{ 113617a3babSopenharmony_ci gl_BoundingBoxOES; // ERROR, wrong stage 114617a3babSopenharmony_ci} 115