Module: Mesa
Branch: staging/18.1
Commit: 574b03588517dad6a319901e1aa3642b8eaf084c
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=574b03588517dad6a319901e1aa3642b8eaf084c

Author: Nanley Chery <[email protected]>
Date:   Fri Jul 20 17:14:53 2018 -0700

i965/miptree: Fix can_blit_slice()

Use the source miptree's row_pitch in can_blit_slice instead of its
blt_pitch.

The blit destination is untiled, so its row_pitch will be slightly less
than or equal to the source's row_pitch. This now takes into account the
BLT engine's row pitch limitations on the destination in addition to the
source.

Fixes 0288fe8d0417730bdd5b3477130dd1dc32bdbcd3
("i965/miptree: Use the correct BLT pitch ")

Cc: <[email protected]>
Reported-by: Dylan Baker <[email protected]>
(cherry picked from commit 56743b67a4f693764d0c86c3fc1adf78e0a3ac23)

merge conflict of comments resolved by Dylan.

Conflicts:
        src/mesa/drivers/dri/i965/intel_mipmap_tree.c

---

 src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c 
b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
index 53e01120a9..e26d2b621d 100644
--- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
+++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
@@ -3576,7 +3576,12 @@ 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. */
+   /* 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;
 

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to