OSDN Git Service

intel: Only do BO caching up to 64MB objects.
authorEric Anholt <eric@anholt.net>
Mon, 18 May 2009 23:07:45 +0000 (16:07 -0700)
committerEric Anholt <eric@anholt.net>
Tue, 19 May 2009 17:05:38 +0000 (10:05 -0700)
commit469655fab7a56eb32ff8cdefb33992813342353a
tree248198af0b5cb71a17372ffe4ae760903b2bfa58
parentf57d7f4b0b14972f92a83f155ae8033478aa7729
intel: Only do BO caching up to 64MB objects.

This avoids making objects significantly bigger than they would be
otherwise, which would result in some failing at binding to the GTT.
Found from firefox hanging on:
http://upload.wikimedia.org/wikipedia/commons/b/b7/Singapore_port_panorama.jpg
due to a software fallback trying to do a GTT-mapped copy between two 73MB
BOs that were instead each 128MB, and failing because both couldn't fit
simultaneously.

The cost here is that we get no opportunity to cache these objects and
avoid the mapping.  But since the objects are a significant percentage
of the aperture size, each mapped access is likely having to fault and rebind
the object most of the time anyway.

Bug #20152 (2/3)
libdrm/intel/intel_bufmgr_gem.c