Mesa (main): crocus/gen6: fix depth blit blorp regression.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Jun 18 20:17:33 UTC 2021


Module: Mesa
Branch: main
Commit: 714145f54c4dfc9bfcb7af10ee85bbb9e755efff
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=714145f54c4dfc9bfcb7af10ee85bbb9e755efff

Author: Dave Airlie <airlied at redhat.com>
Date:   Fri Jun 18 15:15:24 2021 +1000

crocus/gen6: fix depth blit blorp regression.

The tesseract fix broke depth blits using blorp as depth blits
on gen6 are done using the color engine. Just disable aux
up front on the destination for this case.

Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11456>

---

 src/gallium/drivers/crocus/crocus_blit.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/crocus/crocus_blit.c b/src/gallium/drivers/crocus/crocus_blit.c
index 9cae82e3e2d..5cec1ff2287 100644
--- a/src/gallium/drivers/crocus/crocus_blit.c
+++ b/src/gallium/drivers/crocus/crocus_blit.c
@@ -568,12 +568,18 @@ use_blorp:
       //      crocus_emit_buffer_barrier_for(batch, src_res->bo,
       //                                   CROCUS_DOMAIN_OTHER_READ);
 
+      bool dst_aux_disable = false;
+      /* on SNB blorp will use render target instead of depth
+       * so disable HiZ.
+       */
+      if (devinfo->ver <= 6 && util_format_is_depth_or_stencil(dst_pfmt))
+         dst_aux_disable = true;
       struct crocus_format_info dst_fmt =
          crocus_format_for_usage(devinfo, dst_pfmt,
                                  ISL_SURF_USAGE_RENDER_TARGET_BIT);
       enum isl_aux_usage dst_aux_usage =
          crocus_resource_render_aux_usage(ice, dst_res, info->dst.level,
-                                          dst_fmt.fmt, false);
+                                          dst_fmt.fmt, dst_aux_disable);
 
       struct blorp_surf src_surf, dst_surf;
       crocus_blorp_surf_for_resource(&screen->vtbl, &screen->isl_dev, &src_surf,



More information about the mesa-commit mailing list