[Mesa-dev] [PATCH 04/23] main: Tex[ture]Buffer[Range] functions now use _mesa_lookup_bufferobj_err.
Ian Romanick
idr at freedesktop.org
Wed Feb 18 10:46:08 PST 2015
On 02/17/2015 08:03 AM, Martin Peres wrote:
> Hey,
>
> Why not move these two patches before the one introducing BufferRange?
>
> Also, I wouldn't mind seeing them squashed together since the previous
> patch
> alone does not change any behaviour.
I was going to suggest the same thing. Specifically:
- Squash the _mesa_TexBuffer changes into the previous patch. I'll
preemptively give the resulting patch 'Reviewed-by: Ian Romanick
<ian.d.romanick at intel.com'
- Move the previous patch before "main: Add entry point for
TextureBufferRange."
- Squash the remaining changes from this patch into "main: Add entry
point for TextureBufferRange."
> On 12/02/15 04:05, Laura Ekstrand wrote:
>> ---
>> src/mesa/main/teximage.c | 46
>> +++++++++++++++++++++++++---------------------
>> 1 file changed, 25 insertions(+), 21 deletions(-)
>>
>> diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c
>> index ce6f446..d17f15e 100644
>> --- a/src/mesa/main/teximage.c
>> +++ b/src/mesa/main/teximage.c
>> @@ -5091,11 +5091,13 @@ _mesa_TexBuffer(GLenum target, GLenum
>> internalFormat, GLuint buffer)
>> return;
>> }
>> - bufObj = _mesa_lookup_bufferobj(ctx, buffer);
>> - if (!bufObj && buffer) {
>> - _mesa_error(ctx, GL_INVALID_OPERATION, "glTexBuffer(buffer
>> %u)", buffer);
>> - return;
>> + if (buffer) {
>> + bufObj = _mesa_lookup_bufferobj_err(ctx, buffer, "glTexBuffer");
>> + if (!bufObj)
>> + return;
>> }
>> + else
>> + bufObj = NULL;
>> texObj = _mesa_get_current_tex_object(ctx, target);
>> if (!texObj)
>> @@ -5128,8 +5130,11 @@ _mesa_TexBufferRange(GLenum target, GLenum
>> internalFormat, GLuint buffer,
>> return;
>> }
>> - bufObj = _mesa_lookup_bufferobj(ctx, buffer);
>> - if (bufObj) {
>> + if (buffer) {
>> + bufObj = _mesa_lookup_bufferobj_err(ctx, buffer,
>> "glTexBufferRange");
>> + if (!bufObj)
>> + return;
>> +
>> if (offset < 0 ||
>> size <= 0 ||
>> (offset + size) > bufObj->Size) {
>> @@ -5141,13 +5146,10 @@ _mesa_TexBufferRange(GLenum target, GLenum
>> internalFormat, GLuint buffer,
>> "glTexBufferRange(invalid offset alignment)");
>> return;
>> }
>> - } else if (buffer) {
>> - _mesa_error(ctx, GL_INVALID_OPERATION, "glTexBufferRange(buffer
>> %u)",
>> - buffer);
>> - return;
>> } else {
>> offset = 0;
>> size = 0;
>> + bufObj = NULL;
>> }
>> texObj = _mesa_get_current_tex_object(ctx, target);
>> @@ -5175,12 +5177,13 @@ _mesa_TextureBuffer(GLuint texture, GLenum
>> internalFormat, GLuint buffer)
>> return;
>> }
>> - bufObj = _mesa_lookup_bufferobj(ctx, buffer);
>> - if (!bufObj && buffer) {
>> - _mesa_error(ctx, GL_INVALID_OPERATION, "glTextureBuffer(buffer
>> %u)",
>> - buffer);
>> - return;
>> + if (buffer) {
>> + bufObj = _mesa_lookup_bufferobj_err(ctx, buffer,
>> "glTextureBuffer");
>> + if (!bufObj)
>> + return;
>> }
>> + else
>> + bufObj = NULL;
>> /* Get the texture object by Name. */
>> texObj = _mesa_lookup_texture_err(ctx, texture,
>> @@ -5217,8 +5220,12 @@ _mesa_TextureBufferRange(GLuint texture, GLenum
>> internalFormat, GLuint buffer,
>> return;
>> }
>> - bufObj = _mesa_lookup_bufferobj(ctx, buffer);
>> - if (bufObj) {
>> + if (buffer) {
>> + bufObj = _mesa_lookup_bufferobj_err(ctx, buffer,
>> + "glTextureBufferRange");
>> + if (!bufObj)
>> + return;
>> +
>> /* OpenGL 4.5 core spec (30.10.2014) says in Section 8.9 Buffer
>> * Textures:
>> * "An INVALID_VALUE error is generated if offset is
>> negative, if
>> @@ -5255,10 +5262,6 @@ _mesa_TextureBufferRange(GLuint texture, GLenum
>> internalFormat, GLuint buffer,
>> "glTextureBufferRange(invalid offset alignment)");
>> return;
>> }
>> - } else if (buffer) {
>> - _mesa_error(ctx, GL_INVALID_OPERATION,
>> - "glTextureBufferRange(unrecognized buffer %u)",
>> buffer);
>> - return;
>> } else {
>> /* OpenGL 4.5 core spec (30.10.2014) says in Section 8.9 Buffer
>> @@ -5270,6 +5273,7 @@ _mesa_TextureBufferRange(GLuint texture, GLenum
>> internalFormat, GLuint buffer,
>> */
>> offset = 0;
>> size = 0;
>> + bufObj = NULL;
>> }
>> /* Get the texture object by Name. */
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list