[Mesa-dev] [PATCH 1/2] mesa: Track the API used to create a VAO

Brian Paul brian.e.paul at gmail.com
Mon Jan 23 06:06:41 PST 2012


On Sat, Jan 21, 2012 at 11:44 AM, Ian Romanick <idr at freedesktop.org> wrote:
> On Sat, Jan 21, 2012 at 08:14:18AM -0700, Brian Paul wrote:
>> On 01/20/2012 07:59 PM, Ian Romanick wrote:
>> >From: Ian Romanick<ian.d.romanick at intel.com>
>> >
>> >There are more differences between Apple and ARB than just the Gen
>> >requirement.
>> >
>> >NOTE: This is a candidate for release branches.
>> >
>> >Signed-off-by: Ian Romanick<ian.d.romanick at intel.com>
>> >---
>> >  src/mesa/main/arrayobj.c |    1 +
>> >  src/mesa/main/mtypes.h   |    5 +++++
>> >  2 files changed, 6 insertions(+), 0 deletions(-)
>> >
>> >diff --git a/src/mesa/main/arrayobj.c b/src/mesa/main/arrayobj.c
>> >index 3287745..0e74777 100644
>> >--- a/src/mesa/main/arrayobj.c
>> >+++ b/src/mesa/main/arrayobj.c
>> >@@ -372,6 +372,7 @@ bind_vertex_array(struct gl_context *ctx, GLuint id, GLboolean genRequired)
>> >              _mesa_error(ctx, GL_OUT_OF_MEMORY, "glBindVertexArrayAPPLE");
>> >              return;
>> >           }
>> >+         newObj->arb_semantics = genRequired;
>> >           save_array_object(ctx, newObj);
>> >        }
>> >     }
>>
>> The existing gl_array_object::VBOonly field is set for array objects
>> that are created with the ARB glGenVertexArrays() function.  You're
>> setting the new arb_semantics field at bind time.
>>
>> Do we want to combine those fields into one flag that's set at Gen
>> time, not Bind time?
>
> We may want to combine the fields.  I pick Bind as the time to pick
> the semantic because the "Interactions with APPLE_vertex_array_object"
> section of the ARB_vao spec says:
>
>    "The first bind call, either BindVertexArray or BindVertexArrayAPPLE,
>    determines the semantic of the object."
>
> I think that means the Gen functions could share an entry point.

You mean pass/set the 'vboOnly' flag at bind time, right?  That would be OK.

-Brian


More information about the mesa-dev mailing list