mesa: Accept GL_BACK in get_fb0_attachment with ARB_ES3_1_compatibility.
authorKenneth Graunke <kenneth@whitecape.org>
Thu, 26 Oct 2017 18:44:09 +0000 (11:44 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Fri, 27 Oct 2017 17:19:07 +0000 (10:19 -0700)
According to the ARB_ES3_1_compatibility specification,
glGetFramebufferAttachmentParameteriv is supposed to accept BACK,
and it behaves exactly like BACK_LEFT.

Fixes a GL error in GFXBench 5 Aztec Ruins.

Cc: "17.3 17.2" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
src/mesa/main/fbobject.c

index 71e91f9301f03bd3164f9a17412cdd441040e78a..9a2c7ebbcf7724bed0743feaf87ab82d9af85907 100644 (file)
@@ -330,6 +330,15 @@ get_fb0_attachment(struct gl_context *ctx, struct gl_framebuffer *fb,
       return &fb->Attachment[BUFFER_BACK_LEFT];
    case GL_BACK_RIGHT:
       return &fb->Attachment[BUFFER_BACK_RIGHT];
+   case GL_BACK:
+      /* The ARB_ES3_1_compatibility spec says:
+       *
+       *    "Since this command can only query a single framebuffer
+       *     attachment, BACK is equivalent to BACK_LEFT."
+       */
+      if (ctx->Extensions.ARB_ES3_1_compatibility)
+         return &fb->Attachment[BUFFER_BACK_LEFT];
+      return NULL;
    case GL_AUX0:
       if (fb->Visual.numAuxBuffers == 1) {
          return &fb->Attachment[BUFFER_AUX0];