[Piglit] [PATCH 0/6] Cleanup and prepare for pre OpenGL 3.0 drivers

Emil Velikov emil.l.velikov at gmail.com
Wed Mar 30 23:44:05 UTC 2016


On 30 March 2016 at 21:54, Jose Fonseca <jfonseca at vmware.com> wrote:
> On 30/03/16 11:14, Emil Velikov wrote:
>>
>> On 29 March 2016 at 23:53, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
>>>
>>> Isn't this backwards? Shouldn't waffle just work without the
>>> ARB_create_context or whatever ext and just create a context and see
>>> what version it is?
>>>
>> It isn't, imho.
>>
>> Waffle follows the GL winsys semantics, as such it should not do more
>> (create a context, make it current, etc) unless explicitly asked. It
>> translates the winsys/platform specifics, not the GL crazy. Although I
>> can see how one would want both to be hidden/handled in waffle.
>>
>> That's my take on it, at least. If people familiar with waffle think
>> I've misunderstood things, please shout.
>>
>> -Emil
>
>
> FWIW, I agree with Ilia.  Ideally Waffle should abstract away these sort of
> behavioral differences.
>
> On Mac, there isn't even WGL/GLX_ARB_create_context equivalent.
>
Indeed that's correct. I'm afraid I don't get how that's applicable here :-(

> Furthermore, not setting WAFFLE_CONTEXT_DEBUG for 2.x context is IMO a
> functionality regression here. Many implementations support debug for 2.x
> contexts, and it can be quite useful for diagnosing issues.
>
Can you please elaborate - are you talking about a 3.0+ capable
driver, where the user requests a debug context and version 2.x via
ARB_create_context ? It does sound a bit strange, but sure.

>
> So when a app requests a context <= 3.0
Am I loosing my mind here or the comparison is the wrong way around ?
It should be requested_context >= 3.0, right ?

>: if the OpenGL implementation
> supports WGL/GLX_ARB_create_context waffle should use it.  If not, it should
> request a ordinary context, and check the version matches the requested.
>
Waffle can use ARB_create_context for 3.0+/debug/fwd compat context,
although it cannot do the make_current and alike for on behalf of the
user. It doesn't need to either - piglit already checks the version
:-)

Does this sound like a good middle ground ?

-Emil


More information about the Piglit mailing list