[Piglit] Core context tests and ARB_compatibility

Dave Airlie airlied at gmail.com
Wed Feb 13 13:54:25 PST 2013


On Thu, Feb 14, 2013 at 7:04 AM, Matt Turner <mattst88 at gmail.com> wrote:
> On Mon, Feb 11, 2013 at 11:32 PM, Alexander Monakov <amonakov at gmail.com> wrote:
>> Hello,
>>
>> I think there is a problem in piglit implementation that "breaks" some
>> tests on nvidia proprietary drivers, for instance "textureSize 140 fs
>> sampler2D -auto -fbo" produces:
>>
>> piglit: info: Failed to create GL 3.1 core context
>> GLSL 1.40 not supported.
>>
>> Stepping through the test in gdb I see that it first acquires a 3.1
>> core context, but decides to throw it away since it has
>> ARB_compatibility. Then the tests asks for a 1.0 compat context, and
>> gets a 2.1 context with glsl-1.20.
>>
>> I'm told this test somehow works on amd proprietary drivers.
>>
>> Alexander
>
> There's a comment in tests/util/piglit-framework-gl.h that explains this:
>
> * Piglit handles a request for a GL 3.1 compatibility context as
> * a special case.  As noted above, Waffle ignores the profile
> * attribute when choosing a 3.1 config. However, the concept of
> * "compatibility profile" is still applicable to 3.1 contexts and is
> * indicated by the context's support for the GL_ARB_compatibility
> * extension. Therefore, Piglit attempts to run under a GL 3.1
> * compatibility context by first creating the context and then
> * skipping the attempt if the context lacks the GL_ARB_compatibility
> * extension.
>
> So if you have ARB_compatibility, there's no way to get a core-only
> 3.1 context. You could, I suppose, request a forward-compatible
> context but I'm not sure if there are things in 3.1 minus
> ARB_compatibility that are deprecated and wouldn't be available.

But why would that matter, surely a 3.1 compat context is > a 3.1 core context,
so tests shouldn't care.

Dave.


More information about the Piglit mailing list