[Mesa-dev] [PATCH] mesa: Support EXT_framebuffer_blit targets in ES 3.0 as well.

Matt Turner mattst88 at gmail.com
Mon Nov 19 10:31:34 PST 2012


On Sat, Nov 17, 2012 at 11:31 PM, Kenneth Graunke <kenneth at whitecape.org> wrote:
> 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.
> ---
>  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 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:
> --
> 1.8.0

Tested-by: Matt Turner <mattst88 at gmail.com>


More information about the mesa-dev mailing list