From c6ed42a89ede459e72b18cd8890cc3aba39905f5 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Sat, 17 Nov 2012 23:23:06 -0800 Subject: [PATCH] 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 --- src/mesa/main/fbobject.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c index ef739c162c4..223aef18ddd 100644 --- a/src/mesa/main/fbobject.c +++ b/src/mesa/main/fbobject.c @@ -31,6 +31,7 @@ * Brian Paul */ +#include #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: -- 2.30.2