Mesa (master): etnaviv: don't try RS blit if blit region is unaligned

Christian Gmeiner austriancoder at kemper.freedesktop.org
Fri Jun 16 13:26:54 UTC 2017


Module: Mesa
Branch: master
Commit: 2a6183d416395ca4659e4b6fed9d0918c74cb469
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2a6183d416395ca4659e4b6fed9d0918c74cb469

Author: Lucas Stach <dev at lynxeye.de>
Date:   Sun Jun  4 21:06:28 2017 +0200

etnaviv: don't try RS blit if blit region is unaligned

If the blit region is not aligned to the RS min alignment don't try
to execute the blit, but fall back to the software path.

Fixes: c9e8b49b ("etnaviv: gallium driver for Vivante GPUs")
Cc: mesa-stable at lists.freedesktop.org
Signed-off-by: Lucas Stach <dev at lynxeye.de>
Reviewed-by: Christian Gmeiner <christian.gmeiner at gmail.com>

---

 src/gallium/drivers/etnaviv/etnaviv_clear_blit.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/etnaviv/etnaviv_clear_blit.c b/src/gallium/drivers/etnaviv/etnaviv_clear_blit.c
index ea416bf192..333d19f5bf 100644
--- a/src/gallium/drivers/etnaviv/etnaviv_clear_blit.c
+++ b/src/gallium/drivers/etnaviv/etnaviv_clear_blit.c
@@ -446,7 +446,8 @@ etna_try_rs_blit(struct pipe_context *pctx,
    if (width > src_lev->padded_width ||
        width > dst_lev->padded_width * msaa_xscale ||
        height > src_lev->padded_height ||
-       height > dst_lev->padded_height * msaa_yscale)
+       height > dst_lev->padded_height * msaa_yscale ||
+       width & (w_align - 1) || height & (h_align - 1))
       goto manual;
 
    if (src->base.nr_samples > 1) {




More information about the mesa-commit mailing list