i965: Add GPU BLIT of texture image to PBO in Intel driver
authorJon Ashburn <jon@lunarg.com>
Wed, 5 Mar 2014 00:34:44 +0000 (17:34 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Wed, 11 Jun 2014 01:36:44 +0000 (18:36 -0700)
commit10e8d557993140cd5df85e38738c26bfce3a4761
tree8448259bb0d624b4dc2ba2aecf22ef5d82f992d3
parent237aac39b1994b0fa1e8cd3490ad415b144a8b5f
i965: Add GPU BLIT of texture image to PBO in Intel driver

Add Intel driver hook for glGetTexImage to accelerate the case of reading
texture image into a PBO.  This case gets huge performance gains by using
GPU BLIT directly to PBO rather than GPU BLIT to temporary texture followed
by memcpy.

No regressions on Piglit tests  with Intel driver.
Performance gain (1280 x 800 FBO, Ivybridge):
glGetTexImage + glMapBufferRange  with patch 1.45 msec
glGetTexImage + glMapBufferRange without patch 4.68 msec

v3: (by Kenneth Graunke)
 - Fix compile after Eric's change to drop the tiling argument
   to intel_miptree_create_for_bo.
 - Add GL_TEXTURE_3D to blacklisted texture targets to prevent Piglit
   regressions.
 - Squash in several whitespace and coding style fixes.
src/mesa/drivers/dri/i965/intel_tex_image.c