diff --git a/src/sna/kgem.c b/src/sna/kgem.c index df69b90..2819b3c 100644 --- a/src/sna/kgem.c +++ b/src/sna/kgem.c @@ -767,7 +767,7 @@ void kgem_get_tile_size(struct kgem *kgem, int tiling, { if (kgem->gen <= 30) { if (tiling) { - *tile_width = 512; + *tile_width = 8192; /* prevent sub-row offsets */ if (kgem->gen < 30) { *tile_height = 16; *tile_size = 2048; @@ -780,6 +780,16 @@ void kgem_get_tile_size(struct kgem *kgem, int tiling, *tile_height = 1; *tile_size = 1; } + } else if (kgem->gen < 33) { + if (tiling) { + *tile_width = 8192; /* prevent sub-row offsets */ + *tile_height = tiling == I915_TILING_X ? 8 : 32; + *tile_size = 4096; + } else { + *tile_width = 1; + *tile_height = 1; + *tile_size = 1; + } } else switch (tiling) { default: case I915_TILING_NONE: