intelEmitCopyBlit uses a signed 16-bit integer to represent buffer pitch, so it can only handle buffer pitches < 32k.
This patch fixes assertion failure in depth_texture_mipmap.test in Khronos' OpenGL CTS. But, the test still fails due to GL_OUT_OF_MEMORY error in glTexImage2D(). Cc: mesa-sta...@lists.freedesktop.org Signed-off-by: Anuj Phogat <anuj.pho...@gmail.com> --- src/mesa/drivers/dri/i965/intel_blit.c | 6 +++--- src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/mesa/drivers/dri/i965/intel_blit.c b/src/mesa/drivers/dri/i965/intel_blit.c index 7bc289f..32431b9 100644 --- a/src/mesa/drivers/dri/i965/intel_blit.c +++ b/src/mesa/drivers/dri/i965/intel_blit.c @@ -199,9 +199,9 @@ intel_miptree_blit(struct brw_context *brw, * As a result of these two limitations, we can only use the blitter to do * this copy when the region's pitch is less than 32k. */ - if (src_mt->region->pitch > 32768 || - dst_mt->region->pitch > 32768) { - perf_debug("Falling back due to >32k pitch\n"); + if (src_mt->region->pitch >= 32768 || + dst_mt->region->pitch >= 32768) { + perf_debug("Falling back due to >=32k pitch\n"); return false; } diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c index ed55cf1..3118b8c 100644 --- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c +++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c @@ -2291,8 +2291,8 @@ intel_miptree_map_singlesample(struct brw_context *brw, mt->region->pitch < 32768) { intel_miptree_map_blit(brw, mt, map, level, slice); } else if (mt->region->tiling != I915_TILING_NONE && - mt->region->bo->size >= brw->max_gtt_map_object_size) { - assert(mt->region->pitch < 32768); + mt->region->bo->size >= brw->max_gtt_map_object_size && + mt->region->pitch < 32768) { intel_miptree_map_blit(brw, mt, map, level, slice); #ifdef __SSE4_1__ } else if (!(mode & GL_MAP_WRITE_BIT) && !mt->compressed) { -- 1.8.3.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev