I was learning about interface blocks today, and read this from the wiki about them:
Interface blocks are defined as follows:
storage_qualifier block_name
{
<define members here>
} instance_name;…storage_qualifier can be one of the following Storage Qualifiers:
-uniform
-in or out (requires OpenGL 4.1 or ARB_separate_shader_objects)
-buffer (requires OpenGL 4.3 or ARB_shader_storage_buffer_object)
I’m looking at 4.3.7 of the 3.30 GLSL spec, and the interface-qualifier spec for an interface block includes the in and out qualifiers. It seems that OpenGL 3.3 actually allows them. What did the wiki entry mean when it mentions that it requires GL 4.1 in order to use the in and out qualifiers? It looks like to me that 3.3 allows them too, so I’m wondering if the article meant something else, or if it was a typo.