[Mesa-dev] [PATCH 2/3] i965/miptree: Allow blit maps with large row pitches

Nanley Chery nanleychery at gmail.com
Wed May 30 20:44:34 UTC 2018


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



More information about the mesa-dev mailing list