Mesa (master): mesa: Support EXT_framebuffer_blit targets in ES 3.0 as well .

Kenneth Graunke kwg at kemper.freedesktop.org
Mon Nov 19 21:28:12 UTC 2012


Module: Mesa
Branch: master
Commit: c6ed42a89ede459e72b18cd8890cc3aba39905f5
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c6ed42a89ede459e72b18cd8890cc3aba39905f5

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Sat Nov 17 23:23:06 2012 -0800

mesa: Support EXT_framebuffer_blit targets in ES 3.0 as well.

GL_READ_FRAMEBUFFER and GL_DRAW_FRAMEBUFFER are valid targets in ES 3.

Fixes 23 es3conform framebuffer_blit tests.  Two more go from fail to
crash, but that appears to be because they actually run now.

Reviewed-and-tested-by: Matt Turner <mattst88 at gmail.com>

---

 src/mesa/main/fbobject.c |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c
index ef739c1..223aef1 100644
--- a/src/mesa/main/fbobject.c
+++ b/src/mesa/main/fbobject.c
@@ -31,6 +31,7 @@
  *   Brian Paul
  */
 
+#include <stdbool.h>
 
 #include "buffers.h"
 #include "context.h"
@@ -162,13 +163,13 @@ invalidate_framebuffer(struct gl_framebuffer *fb)
 static struct gl_framebuffer *
 get_framebuffer_target(struct gl_context *ctx, GLenum target)
 {
+   bool have_fb_blit = _mesa_is_gles3(ctx) ||
+      (ctx->Extensions.EXT_framebuffer_blit && _mesa_is_desktop_gl(ctx));
    switch (target) {
    case GL_DRAW_FRAMEBUFFER:
-      return ctx->Extensions.EXT_framebuffer_blit && _mesa_is_desktop_gl(ctx)
-	 ? ctx->DrawBuffer : NULL;
+      return have_fb_blit ? ctx->DrawBuffer : NULL;
    case GL_READ_FRAMEBUFFER:
-      return ctx->Extensions.EXT_framebuffer_blit && _mesa_is_desktop_gl(ctx)
-	 ? ctx->ReadBuffer : NULL;
+      return have_fb_blit ? ctx->ReadBuffer : NULL;
    case GL_FRAMEBUFFER_EXT:
       return ctx->DrawBuffer;
    default:




More information about the mesa-commit mailing list