[Mesa-dev] [PATCH 5/5] _mesa_create_exec_table: GLES3 fixes.

Paul Berry stereotype441 at gmail.com
Mon Oct 22 14:31:38 PDT 2012


On 22 October 2012 11:36, Matt Turner <mattst88 at gmail.com> wrote:

> On Mon, Oct 22, 2012 at 9:35 AM, Paul Berry <stereotype441 at gmail.com>
> wrote:
> > This patch sets up the dispatch table for the following GLES3
> > functions when a GLES3 context is in use:
> >
> > - BeginQuery
> > - BeginTransformFeedback
> > - BindSampler
> > - BindTransformFeedback
> > - BlitFramebuffer
> > - ClearBufferfi
> > - ClearBufferfv
> > - ClearBufferiv
> > - ClearBufferuiv
> > - ClientWaitSync
> > - CopyBufferSubData
> > - DeleteQueries
> > - DeleteSamplers
> > - DeleteSync
> > - DeleteTransformFeedbacks
> > - EndQuery
> > - EndTransformFeedback
> > - FenceSync
> > - FramebufferTextureLayer
> > - GenQueries
> > - GenSamplers
> > - GenTransformFeedbacks
> > - GetInteger64v
> > - GetQueryObjectuiv
> > - GetQueryiv
> > - GetSamplerParameterfv
> > - GetSamplerParameteriv
> > - GetStringi
> > - GetSynciv
> > - GetTransformFeedbackVarying
> > - GetVertexAttribIiv
> > - GetVertexAttribIuiv
> > - IsQuery
> > - IsSampler
> > - IsSync
> > - IsTransformFeedback
> > - PauseTransformFeedback
> > - RenderbufferStorageMultisample
> > - ResumeTransformFeedback
> > - SamplerParameterf
> > - SamplerParameterfv
> > - SamplerParameteri
> > - SamplerParameteriv
> > - TransformFeedbackVaryings
> > - VertexAttribIPointer
> > - WaitSync
> >
> > And it avoids setting up the dispatch table for these non-GLES3
> > functions:
> >
> > - ColorMaski
> > - GetBooleani_v
> > - Enablei
> > - Disablei
> > - IsEnabledi
> > - ClearColorIiEXT
> > - ClearColorIuiEXT
> > - TextureStorage2DEXT
> > - TextureStorage3DEXT
> >
> > Cc: Matt Turner <mattst88 at gmail.com>
> > ---
>
> Thanks for the patch. Varying bits of this were in the gles3 branch
> and then I recreated other pieces locally.
>
> My WIP gles3 dispatch sanity test says that we're still missing
>
> - GetBufferParameteri64v
>

Oops, I missed this.  It turns out that this function has been implemented
since 2010 (commit 1fbc71937f7da1339c4a456b0bac48881b7e2b7c) but it was
never added to the dispatch table, because it's not required to be present
until GL 3.2 or GLES3.  After discussing this in person, Matt and I decided
to wait until a later patch to add this to the dispatch table, so that we
can also add a Piglit test for it at that time.  So for now I'll just add a
comment to _mesa_create_exec_table() to remind us to enable it.


> - VertexAttribDivisor
>

I missed this too.  This function is already in the dispatch table, but
only under the name VertexAttribDivisorARB.  These two functions should be
aliased; I'll alias them and ensure this function is added to the dispatch
table for GLES3.


>
> Additionally, we have the following extras in the dispatch table,
> which I think shouldn't be there (???):
>
> - GetActiveUniformName
> - GetnUniformuivARB
> - ReadnPixelsARB
> - DrawArraysInstancedBaseInstance
> - DrawElementsInstancedBaseInstance
>

After discussion in person, we realized that the actual set of functions
missing was in fact:
- GetActiveUniformName
- GetnUniformuivARB
- GetnUniformfvARB
- GetnUniformuivARB
- GetnUniformdvARB


>
> I don't know if you want to fix these in a v2 patch, or I can look at
> them after this patch.
>

I'll go ahead and send out a v2 patch.  Thanks for the review!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20121022/e3682517/attachment.html>


More information about the mesa-dev mailing list