blob: 86f98d9832ef50daf7c7bba9b5f5021303b79588 [file] [log] [blame]
group invalid_declarations "Invalid declarations"
case in_in_vertex_main
version 300 es
expect compile_fail
vertex ""
#version 300 es
${VERTEX_DECLARATIONS}
void main()
{
in mediump float val;
gl_Position = vec4(1.0);
}
""
fragment ""
#version 300 es
${FRAGMENT_DECLARATIONS}
void main()
{
${FRAG_COLOR} = vec4(1.0);
}
""
end
case out_in_vertex_main
version 300 es
expect compile_fail
vertex ""
#version 300 es
${VERTEX_DECLARATIONS}
void main()
{
out mediump float val;
gl_Position = vec4(1.0);
}
""
fragment ""
#version 300 es
in mediump float val;
${FRAGMENT_DECLARATIONS}
void main()
{
${FRAG_COLOR} = vec4(1.0);
}
""
end
case in_in_fragment_main
version 300 es
expect compile_fail
vertex ""
#version 300 es
out mediump float val;
${VERTEX_DECLARATIONS}
void main()
{
gl_Position = vec4(1.0);
}
""
fragment ""
#version 300 es
${FRAGMENT_DECLARATIONS}
void main()
{
in mediump float val;
${FRAG_COLOR} = vec4(1.0);
}
""
end
case out_in_fragment_main
version 300 es
expect compile_fail
vertex ""
#version 300 es
${VERTEX_DECLARATIONS}
void main()
{
gl_Position = vec4(1.0);
}
""
fragment ""
#version 300 es
${FRAGMENT_DECLARATIONS}
void main()
{
out mediump float val;
${FRAG_COLOR} = vec4(1.0);
}
""
end
case uniform_in_vertex_main
version 300 es
expect compile_fail
vertex ""
#version 300 es
${VERTEX_DECLARATIONS}
void main()
{
uniform mediump float val;
gl_Position = vec4(1.0);
}
""
fragment ""
#version 300 es
${FRAGMENT_DECLARATIONS}
void main()
{
${FRAG_COLOR} = vec4(1.0);
}
""
end
case uniform_in_fragment_main
version 300 es
expect compile_fail
vertex ""
#version 300 es
${VERTEX_DECLARATIONS}
void main()
{
gl_Position = vec4(1.0);
}
""
fragment ""
#version 300 es
${FRAGMENT_DECLARATIONS}
void main()
{
uniform mediump float val;
${FRAG_COLOR} = vec4(1.0);
}
""
end
case uniform_block_in_main
version 300 es
expect compile_fail
both ""
#version 300 es
${DECLARATIONS}
void main()
{
uniform Block { mediump float val; };
${OUTPUT}
}
""
end
case invariant_attribute
version 300 es
expect compile_fail
vertex ""
#version 300 es
invariant in mediump float val;
${VERTEX_DECLARATIONS}
void main()
{
gl_Position = vec4(1.0);
}
""
fragment ""
#version 300 es
${FRAGMENT_DECLARATIONS}
void main()
{
${FRAG_COLOR} = vec4(1.0);
}
""
end
case invariant_uniform
version 300 es
expect compile_fail
vertex ""
#version 300 es
invariant uniform mediump float val;
${VERTEX_DECLARATIONS}
void main()
{
gl_Position = vec4(1.0);
}
""
fragment ""
#version 300 es
${FRAGMENT_DECLARATIONS}
void main()
{
${FRAG_COLOR} = vec4(1.0);
}
""
end
case invariant_uniform_block_1
version 300 es
expect compile_fail
both ""
#version 300 es
invariant uniform Block { mediump float val; };
${DECLARATIONS}
void main()
{
${OUTPUT}
}
""
end
case invariant_uniform_block_2
version 300 es
expect compile_fail
both ""
#version 300 es
uniform Block { invariant mediump float val; };
${DECLARATIONS}
void main()
{
${OUTPUT}
}
""
end
case uniform_block_layout_qualifier
version 300 es
expect compile_fail
both ""
#version 300 es
layout(foobar) uniform Block
{
mediump float val;
};
${DECLARATIONS}
void main()
{
${OUTPUT}
}
""
end
case uniform_block_member_layout_qualifier
version 300 es
expect compile_fail
both ""
#version 300 es
${DECLARATIONS}
uniform Block
{
layout(foobar) uniform mediump float val;
};
void main()
{
${OUTPUT}
}
""
end
case uniform_block_nested_struct_definition
version 300 es
expect compile_fail
both ""
#version 300 es
${DECLARATIONS}
uniform Block
{
struct S
{
mediump float v;
struct T
{
highp int i;
} t;
} s;
};
void main()
{
${OUTPUT}
}
""
end
case nested_uniform_block
version 300 es
expect compile_fail
both ""
#version 300 es
${DECLARATIONS}
uniform Block
{
uniform Block2
{
mediump float v;
} block2;
} block;
void main()
{
${OUTPUT}
}
""
end
case uniform_block_sampler_2d
version 300 es
expect compile_fail
both ""
#version 300 es
${DECLARATIONS}
uniform Block
{
uniform sampler2D s;
};
void main()
{
${OUTPUT}
}
""
end
case uniform_block_sampler_cube
version 300 es
expect compile_fail
both ""
#version 300 es
${DECLARATIONS}
uniform Block
{
uniform samplerCube s;
};
void main()
{
${OUTPUT}
}
""
end
case uniform_block_missing_member_semicolon
version 300 es
expect compile_fail
both ""
#version 300 es
${DECLARATIONS}
uniform Block
{
mediump float var
};
void main()
{
${OUTPUT}
}
""
end
case uniform_block_missing_end_semicolon
version 300 es
expect compile_fail
both ""
#version 300 es
${DECLARATIONS}
uniform Block
{
mediump float var;
}
void main()
{
${OUTPUT}
}
""
end
case uniform_block_duplicate_member_name_1
version 300 es
expect compile_fail
both ""
#version 300 es
${DECLARATIONS}
uniform Block
{
mediump float var;
mediump float var;
};
void main()
{
${OUTPUT}
}
""
end
case uniform_block_duplicate_member_name_2
version 300 es
expect compile_fail
both ""
#version 300 es
${DECLARATIONS}
uniform Block
{
mediump float var;
};
uniform Block2
{
mediump float var;
};
void main()
{
${OUTPUT}
}
""
end
case uniform_block_duplicate_member_name_3
version 300 es
expect compile_fail
both ""
#version 300 es
${DECLARATIONS}
uniform mediump float var;
uniform Block
{
mediump float var;
};
void main()
{
${OUTPUT}
}
""
end
case uniform_block_duplicate_block_name
version 300 es
expect compile_fail
both ""
#version 300 es
${DECLARATIONS}
uniform Block
{
mediump float var;
};
uniform Block
{
mediump float var2;
};
void main()
{
${OUTPUT}
}
""
end
case uniform_block_duplicate_instance_name_1
version 300 es
expect compile_fail
both ""
#version 300 es
${DECLARATIONS}
uniform Block
{
mediump float var;
} block;
uniform Block2
{
mediump float var2;
} block;
void main()
{
${OUTPUT}
}
""
end
case uniform_block_duplicate_instance_name_2
version 300 es
expect compile_fail
both ""
#version 300 es
${DECLARATIONS}
uniform mediump float block;
uniform Block
{
mediump float var;
} block;
void main()
{
${OUTPUT}
}
""
end
case uniform_block_duplicate_instance_name_3
version 300 es
expect compile_fail
both ""
#version 300 es
${DECLARATIONS}
uniform Block
{
mediump float block;
};
uniform Block2
{
mediump float var2;
} block;
void main()
{
${OUTPUT}
}
""
end
case uniform_block_array_without_instance_name_1
version 300 es
expect compile_fail
both ""
#version 300 es
${DECLARATIONS}
uniform Block[2]
{
mediump float var;
};
void main()
{
${OUTPUT}
}
""
end
case uniform_block_array_without_instance_name_2
version 300 es
expect compile_fail
both ""
#version 300 es
${DECLARATIONS}
uniform Block
{
mediump float var;
} [2];
void main()
{
${OUTPUT}
}
""
end
case uniform_block_in
version 300 es
expect compile_fail
both ""
#version 300 es
${DECLARATIONS}
uniform Block
{
in mediump float var;
};
void main()
{
${OUTPUT}
}
""
end
case uniform_block_out
version 300 es
expect compile_fail
both ""
#version 300 es
${DECLARATIONS}
uniform Block
{
out mediump float var;
};
void main()
{
${OUTPUT}
}
""
end
case uniform_block_const
version 300 es
expect compile_fail
both ""
#version 300 es
${DECLARATIONS}
uniform Block
{
const mediump float var;
};
void main()
{
${OUTPUT}
}
""
end
end # invalid_declarations