[Mesa-dev] [PATCH] mesa: remove erroneous check for API_OPENGL_CORE in _mesa_TexBuffer

Christoph Bumiller e0425955 at student.tuwien.ac.at
Mon Jan 28 14:43:06 PST 2013


On 28.01.2013 23:37, Chad Versace wrote:
> On 01/28/2013 02:01 PM, Christoph Bumiller wrote:
>> From: Christoph Bumiller <christoph.bumiller at speed.at>
>>
>> Only the test of the extension enable should be relevant.
> I don't think this change is correct.

So, maybe I misinterpreted the advice in the "mesa: implement
GL_ARB_texture_buffer_range v5" thread ?

In my opinion this check *should* be removed, it is driver specific and
prevents other drivers from exposing the extension in non-core contexts.
It simply doesn't seem to belong here.

> For most extensions, including GL_ARB_texture_buffer_object, the Intel driver
> enables the extension flags according only to hardware capabilities. That is,
> the decision to enable a flag is independent of the context API. See
> intel_extensions.c.
>
> Removing this API check may incorrectly allow glTexBufferARB on Intel drivers
> in a non-core GL context. I could be wrong (I don't fully understand how
> GL dispatch works), but this change still makes me uncomfortable.
>
>> ---
>>  src/mesa/main/teximage.c |    3 +--
>>  1 files changed, 1 insertions(+), 2 deletions(-)
>>
>> diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c
>> index 31a559e..5a27797 100644
>> --- a/src/mesa/main/teximage.c
>> +++ b/src/mesa/main/teximage.c
>> @@ -4005,8 +4005,7 @@ _mesa_TexBuffer(GLenum target, GLenum internalFormat, GLuint buffer)
>>     GET_CURRENT_CONTEXT(ctx);
>>     FLUSH_VERTICES(ctx, 0);
>>  
>> -   if (!(ctx->API == API_OPENGL_CORE &&
>> -         ctx->Extensions.ARB_texture_buffer_object)) {
>> +   if (!ctx->Extensions.ARB_texture_buffer_object) {
>>        _mesa_error(ctx, GL_INVALID_OPERATION, "glTexBuffer");
>>        return;
>>     }
>>



More information about the mesa-dev mailing list