main: Add utility function _mesa_lookup_renderbuffer_err.

[Fredrik: Generate an error for non-existent renderbuffers]

Reviewed-by: Fredrik Höglund <fredrik@kde.org>
Signed-off-by: Fredrik Höglund <fredrik@kde.org>
This commit is contained in:
Laura Ekstrand
2015-01-23 16:38:36 -08:00
committed by Fredrik Höglund
parent f868de7d6b
commit 2bb138e7ec
2 changed files with 25 additions and 0 deletions
+21
View File
@@ -120,6 +120,27 @@ _mesa_lookup_renderbuffer(struct gl_context *ctx, GLuint id)
}
/**
* A convenience function for direct state access that throws
* GL_INVALID_OPERATION if the renderbuffer doesn't exist.
*/
struct gl_renderbuffer *
_mesa_lookup_renderbuffer_err(struct gl_context *ctx, GLuint id,
const char *func)
{
struct gl_renderbuffer *rb;
rb = _mesa_lookup_renderbuffer(ctx, id);
if (!rb || rb == &DummyRenderbuffer) {
_mesa_error(ctx, GL_INVALID_OPERATION,
"%s(non-existent renderbuffer %u)", func, id);
return NULL;
}
return rb;
}
/**
* Helper routine for getting a gl_framebuffer.
*/
+4
View File
@@ -64,6 +64,10 @@ _mesa_get_incomplete_framebuffer(void);
extern struct gl_renderbuffer *
_mesa_lookup_renderbuffer(struct gl_context *ctx, GLuint id);
extern struct gl_renderbuffer *
_mesa_lookup_renderbuffer_err(struct gl_context *ctx, GLuint id,
const char *func);
extern struct gl_framebuffer *
_mesa_lookup_framebuffer(struct gl_context *ctx, GLuint id);