123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- #version 310 es
- #extension GL_EXT_tessellation_shader : enable
- #extension GL_OES_tessellation_shader : enable
- #extension GL_EXT_tessellation_shader : disable
- layout(vertices = 4) out; // ERROR
- layout(quads, cw) in;
- layout(triangles) in; // ERROR
- layout(isolines) in; // ERROR
- layout(ccw) in; // ERROR
- layout(cw) in;
- layout(fractional_odd_spacing) in;
- layout(equal_spacing) in; // ERROR
- layout(fractional_even_spacing) in; // ERROR
- layout(point_mode) in;
- patch in vec4 patchIn;
- patch out vec4 patchOut; // ERROR
- void main()
- {
- barrier(); // ERROR
- int a = gl_MaxTessEvaluationInputComponents +
- gl_MaxTessEvaluationOutputComponents +
- gl_MaxTessEvaluationTextureImageUnits +
- gl_MaxTessEvaluationUniformComponents +
- gl_MaxTessPatchComponents +
- gl_MaxPatchVertices +
- gl_MaxTessGenLevel;
- vec4 p = gl_in[1].gl_Position;
- float ps = gl_in[1].gl_PointSize; // ERROR, need point_size extension
- float cd = gl_in[1].gl_ClipDistance[2]; // ERROR, not in ES
- int pvi = gl_PatchVerticesIn;
- int pid = gl_PrimitiveID;
- vec3 tc = gl_TessCoord;
- float tlo = gl_TessLevelOuter[3];
- float tli = gl_TessLevelInner[1];
- gl_Position = p;
- gl_PointSize = ps; // ERROR, need point_size extension
- gl_ClipDistance[2] = cd; // ERROR, not in ES
- }
- smooth patch in vec4 badp1; // ERROR
- flat patch in vec4 badp2; // ERROR
- noperspective patch in vec4 badp3; // ERROR
- patch sample in vec3 badp4; // ERROR
- #extension GL_ARB_separate_shader_objects : enable
- in gl_PerVertex
- {
- vec4 gl_Position;
- } gl_in[];
- in gl_PerVertex // ERROR, second redeclaration of gl_in
- {
- vec4 gl_Position;
- } gl_in[];
- layout(quads, cw) out; // ERROR
- layout(triangles) out; // ERROR
- layout(isolines) out; // ERROR
- layout(cw) out; // ERROR
- layout(fractional_odd_spacing) out; // ERROR
- layout(equal_spacing) out; // ERROR
- layout(fractional_even_spacing) out; // ERROR
- layout(point_mode) out; // ERROR
- in vec2 ina; // ERROR, not array
- in vec2 inb[];
- in vec2 inc[18]; // ERROR, wrong size
- in vec2 ind[gl_MaxPatchVertices];
- in testbla { // ERROR, not array
- int f;
- } bla;
- in testblb {
- int f;
- } blb[];
- in testblc { // ERROR wrong size
- int f;
- } blc[18];
- in testbld {
- int f;
- } bld[gl_MaxPatchVertices];
- layout(location = 23) in vec4 ivla[];
- layout(location = 24) in vec4 ivlb[];
- layout(location = 24) in vec4 ivlc[]; // ERROR, overlap
- layout(location = 23) out vec4 ovla[2];
- layout(location = 24) out vec4 ovlb[2]; // ERROR, overlap
- in float gl_TessLevelOuter[4]; // ERROR, can't redeclare
- patch in pinbn {
- int a;
- } pinbi;
- centroid out vec3 myColor2;
- centroid in vec3 centr[];
- sample out vec4 perSampleColor; // ERROR without sample extensions
- #extension GL_OES_tessellation_point_size : enable
- void pointSize2()
- {
- float ps = gl_in[1].gl_PointSize; // ERROR, not in the redeclaration, but no error on use of gl_PointSize
- gl_PointSize = ps;
- }
- #extension GL_EXT_primitive_bounding_box : enable
- void bbbad()
- {
- gl_BoundingBoxOES; // ERROR, wrong stage
- }
|