i965: Don't do the temporary-and-blit-copy for INVALIDATE_RANGE maps.
authorEric Anholt <eric@anholt.net>
Tue, 24 Dec 2013 23:11:54 +0000 (15:11 -0800)
committerEric Anholt <eric@anholt.net>
Thu, 9 Jan 2014 07:39:20 +0000 (15:39 +0800)
commitf46563fe1c8a5560e4de0adf03e3d8770b7fc734
treee3c442ebd9b81218848e1f3a644d23119e6549ea
parente186b927b8254ce62e0d47db90d16cd4253b3db5
i965: Don't do the temporary-and-blit-copy for INVALIDATE_RANGE maps.

We definitely want to fall through to the unsynchronized map case, instead
of wasting bandwidth on a copy.  Prevents a -43.2407% +/- 1.06113% (n=49)
performance regression on aa10perf when teaching glamor to provide the
GL_INVALIDATE_RANGE_BIT information.

This is a performance fix, which I usually wouldn't cherry-pick to stable.
But this was really was just a bug in the code, its presence would
discourage developers from giving us the best information they can, and I
think we've got fairly high confidence in the unsynchronized map path
already.

Cc: 10.0 9.2 <mesa-stable@lists.freedesktop.org>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/intel_buffer_objects.c