[Mesa-dev] [PATCH 02/23] main: Add entry point for TextureBufferRange.
Martin Peres
martin.peres at free.fr
Thu Feb 19 23:46:21 PST 2015
On 18/02/2015 20:10, Ian Romanick wrote:
> On 02/17/2015 07:59 AM, Martin Peres wrote:
>> Hey Laura,
>>
>> Thanks for this code. I'll be sending reviews throughout the week :)
>>
>> On 12/02/15 04:05, Laura Ekstrand wrote:
>>> diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c
>>> index 336feff..ce6f446 100644
>>> --- a/src/mesa/main/teximage.c
>>> +++ b/src/mesa/main/teximage.c
>>> @@ -5197,6 +5197,96 @@ _mesa_TextureBuffer(GLuint texture, GLenum
>>> internalFormat, GLuint buffer)
>>> bufObj, 0, buffer ? -1 : 0, false, true);
>>> }
>>> +void GLAPIENTRY
>>> +_mesa_TextureBufferRange(GLuint texture, GLenum internalFormat,
>>> GLuint buffer,
>>> + GLintptr offset, GLsizeiptr size)
>>> +{
>>> + struct gl_texture_object *texObj;
>>> + struct gl_buffer_object *bufObj;
>>> +
>>> + GET_CURRENT_CONTEXT(ctx);
>>> +
>>> + /* NOTE: ARB_texture_buffer_object has interactions with
>>> + * the compatibility profile that are not implemented.
>>> + */
>>> + if (!(ctx->API == API_OPENGL_CORE &&
>>> + ctx->Extensions.ARB_texture_buffer_object)) {
>>> + _mesa_error(ctx, GL_INVALID_OPERATION,
>>> + "glTextureBufferRange(ARB_texture_buffer_object is
>>> not"
>>> + " implemented for the compatibility profile)");
>>> + return;
>>> + }
>> Can you point me to the relevant part of the spec that explains the
>> interaction?
> In compatibility profile, TexBos can support luminance, luminance-alpha,
> and intensity textures. Intel hardware doesn't support that, and none
> of the TexBo common code supports it either.
>
> But... at least for glTexBuffer and glTexBufferRange there is (almost) a
> better way to do this. We should change the GL API generator code so
> that we can omit functions from compatibility profile. We can already
> do this for core profile (look for the deprecated='3.1' bits in
> src/mapi/glapi/gen).
>
> Due to previously mentioned issues with libraries like GLEW, we may not
> be able to do this with DSA functions that are core-only if we're going
> to expose DSA on compatibility profile.
Thanks Ian. How should I check for interactions with the compatibility mode
on the entry points I added? I guess I need to check Opengl 4.5 compat,
right?
More information about the mesa-dev
mailing list