[Mesa-dev] [PATCH 8/9] mesa: Add support for glGetIntegeri_v from GL_ARB_uniform_buffer_object.

Kristian Høgsberg krh at bitplanet.net
Wed Jun 20 07:39:33 PDT 2012


On Wed, Jun 20, 2012 at 10:11 AM, Brian Paul <brianp at vmware.com> wrote:
> On 06/20/2012 08:00 AM, Kristian Høgsberg wrote:
>>
>> On Tue, Jun 19, 2012 at 3:26 PM, Eric Anholt<eric at anholt.net>  wrote:
>>>
>>> On Tue, 19 Jun 2012 08:10:25 -0600, Brian Paul<brianp at vmware.com>  wrote:
>>>>
>>>> On 06/18/2012 07:35 PM, Eric Anholt wrote:
>>>>>
>>>>> Fixes piglit ARB_uniform_buffer_object/getintegeri_v.
>>>>> ---
>>>>>   src/mesa/main/get.c |   24 ++++++++++++++++++++++++
>>>>>   1 file changed, 24 insertions(+)
>>>>>
>>>>> diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c
>>>>> index 933bfe7..4798c02 100644
>>>>> --- a/src/mesa/main/get.c
>>>>> +++ b/src/mesa/main/get.c
>>>>> @@ -2566,6 +2566,30 @@ find_value_indexed(const char *func, GLenum
>>>>> pname, int index, union value *v)
>>>>>      goto invalid_enum;
>>>>>         v->value_int =
>>>>> ctx->TransformFeedback.CurrentObject->BufferNames[index];
>>>>>         return TYPE_INT;
>>>>> +
>>>>> +   case GL_UNIFORM_BUFFER_BINDING:
>>>>> +      if (index>= ctx->Const.MaxUniformBufferBindings)
>>>>> +    goto invalid_value;
>>>>> +      if (!ctx->Extensions.ARB_uniform_buffer_object)
>>>>> +    goto invalid_enum;
>>>>
>>>>
>>>> I think it's a bit more natural to do the extension check before the
>>>> index check.
>>>
>>>
>>> Since all the other enums are handled in this order, too, I'd rather
>>> that be an independent change.  It does seem like a silly ordering,
>>> though.
>>
>>
>> You can use the "extra" mechanism to check the extension automatically
>> before even getting into find_value_indexed. Add:
>>
>>   EXTRA_EXT(ARB_uniform_buffer_object);
>>
>> and then add&extra_ARB_uniform_buffer_object instead of NO_EXTRA
>>
>> where the token is defined.
>
>
> Actually, it looks like check_extra() isn't called for the indexed glGet
> functions.  find_value_indexed() isn't using any sort of table for its
> implementation.  There aren't too many indexed queries yet but maybe someone
> should take a look at that.

Hm, yea, I even wrote that code myself, apparently.

Kristian


More information about the mesa-dev mailing list