[Mesa-dev] [PATCH 47/57] mesa: Add ARB_direct_state_access checks in renderbuffer functions

Fredrik Höglund fredrik at kde.org
Mon May 11 10:27:13 PDT 2015


Signed-off-by: Fredrik Höglund <fredrik at kde.org>
---
 src/mesa/main/fbobject.c | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c
index 65e194c..8db651c 100644
--- a/src/mesa/main/fbobject.c
+++ b/src/mesa/main/fbobject.c
@@ -1489,6 +1489,14 @@ void GLAPIENTRY
 _mesa_CreateRenderbuffers(GLsizei n, GLuint *renderbuffers)
 {
    GET_CURRENT_CONTEXT(ctx);
+
+   if (!ctx->Extensions.ARB_direct_state_access) {
+      _mesa_error(ctx, GL_INVALID_OPERATION,
+                  "glCreateRenderbuffers(GL_ARB_direct_state_access "
+                  "is not supported)");
+      return;
+   }
+
    create_render_buffers(ctx, n, renderbuffers, true);
 }
 
@@ -1929,6 +1937,12 @@ renderbuffer_storage_named(GLuint renderbuffer, GLenum internalFormat,
 {
    GET_CURRENT_CONTEXT(ctx);
 
+   if (!ctx->Extensions.ARB_direct_state_access) {
+      _mesa_error(ctx, GL_INVALID_OPERATION,
+                  "%s(GL_ARB_direct_state_access is not supported)", func);
+      return;
+   }
+
    if (MESA_VERBOSE & VERBOSE_API) {
       if (samples == NO_SAMPLES)
          _mesa_debug(ctx, "%s(%u, %s, %d, %d)\n",
@@ -2183,6 +2197,13 @@ _mesa_GetNamedRenderbufferParameteriv(GLuint renderbuffer, GLenum pname,
 {
    GET_CURRENT_CONTEXT(ctx);
 
+   if (!ctx->Extensions.ARB_direct_state_access) {
+      _mesa_error(ctx, GL_INVALID_OPERATION,
+                  "glGetNamedRenderbufferParameteriv("
+                  "GL_ARB_direct_state_access is not supported)");
+      return;
+   }
+
    struct gl_renderbuffer *rb = _mesa_lookup_renderbuffer(ctx, renderbuffer);
    if (!rb || rb == &DummyRenderbuffer) {
       /* ID was reserved, but no real renderbuffer object made yet */
-- 
2.1.4



More information about the mesa-dev mailing list