Esempio n. 1
0
static void
intel_blit_framebuffer(struct gl_context *ctx,
                       GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1,
                       GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1,
                       GLbitfield mask, GLenum filter)
{
   mask = brw_blorp_framebuffer(brw_context(ctx),
                                srcX0, srcY0, srcX1, srcY1,
                                dstX0, dstY0, dstX1, dstY1,
                                mask, filter);
   if (mask == 0x0)
      return;

   /* Try using the BLT engine. */
   mask = intel_blit_framebuffer_with_blitter(ctx,
                                              srcX0, srcY0, srcX1, srcY1,
                                              dstX0, dstY0, dstX1, dstY1,
                                              mask, filter);
   if (mask == 0x0)
      return;


   _mesa_meta_BlitFramebuffer(ctx,
                              srcX0, srcY0, srcX1, srcY1,
                              dstX0, dstY0, dstX1, dstY1,
                              mask, filter);
}
Esempio n. 2
0
static void
intel_blit_framebuffer(struct gl_context *ctx,
                       struct gl_framebuffer *readFb,
                       struct gl_framebuffer *drawFb,
                       GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1,
                       GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1,
                       GLbitfield mask, GLenum filter)
{
   /* Try using the BLT engine. */
   mask = intel_blit_framebuffer_with_blitter(ctx, readFb, drawFb,
                                              srcX0, srcY0, srcX1, srcY1,
                                              dstX0, dstY0, dstX1, dstY1,
                                              mask, filter);
   if (mask == 0x0)
      return;


   _mesa_meta_and_swrast_BlitFramebuffer(ctx, readFb, drawFb,
                                         srcX0, srcY0, srcX1, srcY1,
                                         dstX0, dstY0, dstX1, dstY1,
                                         mask, filter);
}