The BLORP fallback can handle large row pitches. A patch is on the piglit mailing list to modify the test, piglit.spec.!opengl 1_1.getteximage-simple, to hit this case. --- src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c index 293088bd0cf..1c888d5210b 100644 --- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c +++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c @@ -3564,17 +3564,6 @@ intel_miptree_release_map(struct intel_mipmap_tree *mt, *map = NULL; } -static bool -can_blit_slice(struct intel_mipmap_tree *mt, - unsigned int level, unsigned int slice) -{ - /* See intel_miptree_blit() for details on the 32k pitch limit. */ - if (mt->surf.row_pitch >= 32768) - return false; - - return true; -} - static bool use_intel_mipree_map_blit(struct brw_context *brw, struct intel_mipmap_tree *mt, @@ -3594,13 +3583,11 @@ use_intel_mipree_map_blit(struct brw_context *brw, /* Prior to Sandybridge, the blitter can't handle Y tiling */ (devinfo->gen >= 6 && mt->surf.tiling == ISL_TILING_Y0) || /* Fast copy blit on skl+ supports all tiling formats. */ - devinfo->gen >= 9) && - can_blit_slice(mt, level, slice)) + devinfo->gen >= 9)) return true; if (mt->surf.tiling != ISL_TILING_LINEAR && mt->bo->size >= brw->max_gtt_map_object_size) { - assert(can_blit_slice(mt, level, slice)); return true; } -- 2.17.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev