[Mesa-dev] Spec bug in GL/GLSL/ARB_enhanced_layouts specs?

Timothy Arceri timothy.arceri at collabora.com
Thu Dec 10 03:17:22 PST 2015


Hi guys,

Just wanted to run this past you all before taking the time to report
it as a bug.

There seems to be conflicting text in the OpenGL and GLSL specs in
regards to the component layout qualifier.

In Section 11.1.1 (Vertex Attributes) from the OpenGL 4.5 spec:

"When an attribute variable declared using a matrix type is bound to a
generic attribute index i, its values are taken from consecutive
generic attributes beginning with generic attribute i.  Such matrices
are treated as an array of column vectors with values taken from the
generic attributes identified in table 11.2. Individual col-umn vectors
are taken from generic attribute components according to table 11.1,
using the vector type from table 11.2 and the component layout
qualifier (if any) specified in the variable declaration."

The last sentence specifically mentions the component layout qualifier.

In Section 4.41 (Input Layout Qualifiers) from the GLSL 4.5 spec:

"It is a compile-time error to apply the component qualifier to a
matrix, a structure, a block, or an array containing any of these."


I tested this on the Nvidia blob and it causes a compile-time error if
the component qualifier is used on a vertex shader input that is a
matrix.

So this is clearly a spec bug right? If so should I allow the qualifier
on vertex shader inputs or not? On one hand its safer to go with the
less restrictive option on the other hand its more work to implement.

Tim




More information about the mesa-dev mailing list