[Piglit] [PATCH] fbo-framework: check for ARB_framebuffer_object

Eric Anholt eric at anholt.net
Tue Feb 11 14:17:46 PST 2014


Ilia Mirkin <imirkin at alum.mit.edu> writes:

> On Tue, Feb 11, 2014 at 1:13 PM, Eric Anholt <eric at anholt.net> wrote:
>> Ian Romanick <idr at freedesktop.org> writes:
>>
>>> On 02/10/2014 02:06 AM, Ilia Mirkin wrote:
>>>> On Thu, Feb 6, 2014 at 1:43 AM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
>>>>> On Sun, Feb 2, 2014 at 8:45 PM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
>>>>>> On Thu, Jan 30, 2014 at 2:36 AM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
>>>>>>> If we just blindly call glBindFramebuffer, that will cause the piglit
>>>>>>> test to skip. Make sure that ARB_framebuffer_object is supported first.
>>>>>>
>>>>>> BTW, an alternative is to flip it to use EXT_fbo (i.e.
>>>>>> glBindFramebufferEXT & co), but I don't know if I can just do that and
>>>>>> not suffer some sort of consequence. I'm unfortunately not very
>>>>>> familiar with all these exttensions, and esp how it's all used in
>>>>>> piglit.
>>>>>
>>>>> ping? would be nice to make it possible to run piglit on nv30/nv40 cards...
>>>>
>>>> ping again?
>>>>
>>>> When I brought this up on IRC, the responses fell into the following categories:
>>>
>>> I wasn't on the IRC discussion, but...
>>>
>>>> (a) Make nv40 support ARB_fbo, how hard can it be... Perhaps it can be
>>>> done reasonably (I don't think so), but not related to the framework
>>>> trying to use ARB_fbo without checking for it.
>>>
>>> Agreed.
>>>
>>>> (b) Change the piglit dispatch logic to fall back on the EXT version.
>>>> There were counter-arguments saying that the EXT version was somehow
>>>> different. I don't know anything about this, and am not in a position
>>>> to decide one way or another which is right.
>>>> (c) Switch to using EXT always. Similar to (b) -- I'm not sure what
>>>> effect that'll have on things.
>>>
>>> The EXT is different in a number of ways, but I don't know that any of
>>> those ways actually matter for the way the -fbo option operates.  The
>>> main differences are that ARB relaxes some restrictions (or allows them
>>> to be relaxed), it changes the object sharing rules, and it requires
>>> that object names be Gen'ed before using.
>>>
>>> The only functions that differ between the two extensions is
>>> glBindFramebuffer and glBindRenderbuffer.  Piglit dispatch (or expoxy)
>>> MUST NOT switch these functions behind the test's back.  However, it
>>> shouldn't be hard for the -fbo framework to pick EXT vs. non-EXT for
>>> these two functions at run-time.
>>
>> Well, it must not switch these behind the test's back when both are
>> present.  But if you call EXT and only have ARB, or call ARB and only
>> have EXT, then it should definitely call the one that's actually
>> available.
>>
>> (this is what epoxy does).
>
> Is there a legitimate situation where you'd have ARB_fbo but not EXT_fbo?

For fbo in particular, not that I know of.  I was describing the general
attitude I have toward aliasing: Even if the functions are not *exactly*
the same, resolving to something that will get the job done anyway means
that application authors and people on unusual drivers have a better
experience.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 818 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/piglit/attachments/20140211/821602e5/attachment.pgp>


More information about the Piglit mailing list