[Piglit] [PATCH 00/11] Lots of UBO tests

Ian Romanick idr at freedesktop.org
Tue Sep 9 16:24:49 PDT 2014

On 09/09/2014 11:18 AM, Ian Romanick wrote:
> On 09/08/2014 02:34 PM, Ian Romanick wrote:
>> A couple weeks ago I told Dave Airlie that I was working on a giant pile
>> UBO tests.  This is not that work, but it is most of the changes to get
>> ready for that work.  The first three patches were written quite some
>> time ago while fixing bugs in Mesa's UBO code.  The remainder were
>> developed while working on my UBO test generator script.
>> The test generator script effort has been slowed by many bugs in various
>> UBO implementations.  I have recently submitted several Mesa bugs
>> (listed below) that were discovered by this work.
>> https://bugs.freedesktop.org/show_bug.cgi?id=83468
>> https://bugs.freedesktop.org/show_bug.cgi?id=83506
>> https://bugs.freedesktop.org/show_bug.cgi?id=83508
>> https://bugs.freedesktop.org/show_bug.cgi?id=83533
>> I have also found numerous issues in NVIDIA's closed source driver:
>> - Global layout qualifiers are ignored.
>>     layout(row_major) uniform;
>>     uniform U { mat4 m; }; // m will be column-major
>> - Layout qualifiers on structures are ignored.
>>     struct S { mat4 m; };
>>     uniform U { layout(row_major) S s; }; // s.m will be column-major
>> - Small structures are not padded to vec4-size.  See patch #8.
>> It seems like there was a 4th bug, but I can't remember what it was.

I remember the other NVIDIA bug:

- The API reported type for a row-major mat4x3, for example, is
GL_FLOAT_MAT3x4 (instead of GL_FLOAT_MAT4x3).

> We've done some testing on AMD closed source drivers now, and we have
> found that they have a non-overlapping set of bugs.  Testing is a bit
> blocked on one bug:
> - Block members that are not used in the shader (e.g., "active") are not
> reported by the GL API.
> This bug makes a very large number of tests fail.  I intentionally don't
> probe every member of ever block because... Mesa's GLSL compiler takes
> massive amounts of time linking those shaders.  I suspect the time may
> be in code generator or optimization passes.  Dunno yet.
>> As a result, I don't have access to a correct implementation to verify
>> my script... which generates random tests.  I have to scrutinize each
>> failing test that is generated to determine whether the script or driver
>> is at fault.  Anyway... should get something out RSN.

More information about the Piglit mailing list