i965: Prefer blorp glBlitFramebuffer() to the glCopyTexSubImage-based blit.
I think we've measured no performance difference from this in the past, except that the blorp code can do things like multisample resolves. Prevents piglit regression in the next commit when a testcase started trying to do a multisampled resolve through the old glCopyTexSubImage() path. Reviewed-and-tested-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Acked-by: Paul Berry <stereotype441@gmail.com>
This commit is contained in:
parent
9720d436d1
commit
48a22340cf
|
@ -816,14 +816,6 @@ intel_blit_framebuffer(struct gl_context *ctx,
|
|||
GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1,
|
||||
GLbitfield mask, GLenum filter)
|
||||
{
|
||||
/* Try faster, glCopyTexSubImage2D approach first which uses the BLT. */
|
||||
mask = intel_blit_framebuffer_copy_tex_sub_image(ctx,
|
||||
srcX0, srcY0, srcX1, srcY1,
|
||||
dstX0, dstY0, dstX1, dstY1,
|
||||
mask, filter);
|
||||
if (mask == 0x0)
|
||||
return;
|
||||
|
||||
#ifndef I915
|
||||
mask = brw_blorp_framebuffer(intel_context(ctx),
|
||||
srcX0, srcY0, srcX1, srcY1,
|
||||
|
@ -833,6 +825,15 @@ intel_blit_framebuffer(struct gl_context *ctx,
|
|||
return;
|
||||
#endif
|
||||
|
||||
/* Try glCopyTexSubImage2D approach which uses the BLT. */
|
||||
mask = intel_blit_framebuffer_copy_tex_sub_image(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,
|
||||
|
|
Loading…
Reference in New Issue