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

Ilia Mirkin imirkin at alum.mit.edu
Tue Feb 11 10:17:54 PST 2014


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?

  -ilia


More information about the Piglit mailing list