View Full Version : Are the in/out storage qualifiers for interface blocks really only allowed in 4.1?

11-08-2017, 11:05 PM
I was learning about interface blocks today, and read this from the wiki (https://www.khronos.org/opengl/wiki/Interface_Block_(GLSL)) 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:

-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.

Alfonse Reinheart
11-09-2017, 11:36 PM
If you're looking at the specification and it clearly is different from what the Wiki says, it's OK to just fix the Wiki. That's why it's a Wiki, after all.

11-10-2017, 12:24 AM
Oh ok, thanks. Looks like you updated that part. I thought there might've been something nuanced there, so I wanted to double check here.