sna: Be more pessimistic for tiling sizes on older gen

On the older generation, we have severe alignment penalties for fenced
regions which dramatically reduce the amount of space we can effectively
use in a batch. To accommodate this, reduce the tiling step size.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
Chris Wilson 2013-11-06 08:56:01 +00:00
parent f2f9019bae
commit ef842d2cee
1 changed files with 2 additions and 2 deletions

View File

@ -718,8 +718,6 @@ bool sna_tiling_blt_copy_boxes(struct sna *sna, uint8_t alu,
}
if (max_size > sna->kgem.max_copy_tile_size)
max_size = sna->kgem.max_copy_tile_size;
if (sna->kgem.gen < 033)
max_size /= 2; /* accommodate fence alignment */
pixman_region_init_rects(&region, box, nbox);
@ -729,6 +727,8 @@ bool sna_tiling_blt_copy_boxes(struct sna *sna, uint8_t alu,
step /= 2;
while (step * step * 4 > max_size)
step /= 2;
if (sna->kgem.gen < 033)
step /= 2; /* accommodate severe fence restrictions */
if (step == 0) {
DBG(("%s: tiles cannot fit into aperture\n", __FUNCTION__));
return false;