[PATCH 1/6] etnaviv: don't try RS blit if blit region is unaligned

Lucas Stach dev at lynxeye.de
Sun Jun 4 19:06:28 UTC 2017


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.

Signed-off-by: Lucas Stach <dev at lynxeye.de>
---
 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 ae1c586..6844943 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) {
-- 
2.9.4



More information about the etnaviv mailing list