Satisfy the BLT engine's row pitch limitation on the destination miptree. The destination miptree is untiled, so its row_pitch will be slightly less than or equal to the source miptree's row_pitch. Use the source miptree's row_pitch in can_blit_slice instead of its blt_pitch.
Fixes 0288fe8d0417730bdd5b3477130dd1dc32bdbcd3 ("i965/miptree: Use the correct BLT pitch") Cc: <mesa-sta...@lists.freedesktop.org> Reported-by: Dylan Baker <dy...@pnwbakers.com> --- src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c index a18d5ac3624..d8e823e4826 100644 --- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c +++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c @@ -3544,8 +3544,13 @@ 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 (intel_miptree_blt_pitch(mt) >= 32768) + /* The blit destination is untiled, so its row_pitch will be slightly less + * than or equal to the source's row_pitch. The BLT engine only supports + * linear row pitches up to but not including 32k. + * + * See intel_miptree_blit() for details on the 32k pitch limit. + */ + if (mt->surf.row_pitch >= 32768) return false; return true; -- 2.18.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev