mesa: Add ARB_direct_state_access checks in renderbuffer functions
authorFredrik Höglund <fredrik@kde.org>
Sun, 10 May 2015 18:49:15 +0000 (20:49 +0200)
committerFredrik Höglund <fredrik@kde.org>
Thu, 14 May 2015 13:48:17 +0000 (15:48 +0200)
Signed-off-by: Fredrik Höglund <fredrik@kde.org>
Reviewed-by: Adam Jackson <ajax@redhat.com>
src/mesa/main/fbobject.c

index 65e194c..8db651c 100644 (file)
@@ -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 */