[Mesa-dev] [PATCH 04/23] main: Tex[ture]Buffer[Range] functions now use _mesa_lookup_bufferobj_err.
Laura Ekstrand
laura at jlekstrand.net
Wed Feb 11 18:05:42 PST 2015
---
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. */
--
2.1.0
More information about the mesa-dev
mailing list