[Mesa-dev] [PATCH 5/9] mesa: fix deletion of inactive bound transform feedback object

Samuel Iglesias Gonsálvez siglesias at igalia.com
Tue May 5 02:15:45 PDT 2015


On 05/05/15 00:54, Matt Turner wrote:> On Tue, Feb 24, 2015 at 10:02 AM,
Eduardo Lima Mitev <elima at igalia.com> wrote:
>> From: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
>>
>> When a transform feedback object is bound and not active, the OpenGL ES
>> 3.0 and GL_ARB_transform_feedback2 specs don't explicitly disallow its
>> deletion. Only the deletion of the default framebuffer object is
>> forbidden.
>>
>> This patch follows what it is done for glDeleteTextures(), i.e.
>> the binding reverts to 0 (the default framebuffer object).
>
> Is this necessary to make the test pass?

Yes, this is necessary as the test explicitly checks this case: after
deleting an inactive but bound transform feedback object, the test
checks if the default framebuffer object is bound or not, among other
things.

> I wouldn't have thought this
> was correct, from the spec:
>
> "If an active transform feedback object is deleted its name
> immediately becomes unused, but the underlying object is not deleted
> until it is no longer active"
>
> I don't see any evidence that we should unbind it.

In the spec there is no mention to this case. I wrote this patch
thinking that we should do what other objects do:

"When a buffer, texture, or renderbuffer object is deleted, it is
 unbound from any bind points it is bound to in the current context, as
 described for DeleteBuffers, DeleteTextures, and DeleteRenderbuffers."

If you still think we should not do that, please say so and we skip this
patch.

Thanks,

Sam


More information about the mesa-dev mailing list