Mesa (master): intel/blorp: Use the source format when using blorp_copy with HiZ

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Sat Jan 4 20:41:35 UTC 2020


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

Author: Jason Ekstrand <jason at jlekstrand.net>
Date:   Wed Dec  4 15:49:15 2019 -0600

intel/blorp: Use the source format when using blorp_copy with HiZ

Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

---

 src/intel/blorp/blorp_blit.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/intel/blorp/blorp_blit.c b/src/intel/blorp/blorp_blit.c
index b63a6e53e23..a6811f3aede 100644
--- a/src/intel/blorp/blorp_blit.c
+++ b/src/intel/blorp/blorp_blit.c
@@ -2588,6 +2588,7 @@ blorp_copy(struct blorp_batch *batch,
       isl_format_get_layout(params.dst.surf.format);
 
    assert(params.src.aux_usage == ISL_AUX_USAGE_NONE ||
+          params.src.aux_usage == ISL_AUX_USAGE_HIZ ||
           params.src.aux_usage == ISL_AUX_USAGE_MCS ||
           params.src.aux_usage == ISL_AUX_USAGE_MCS_CCS ||
           params.src.aux_usage == ISL_AUX_USAGE_CCS_E);
@@ -2596,7 +2597,14 @@ blorp_copy(struct blorp_batch *batch,
           params.dst.aux_usage == ISL_AUX_USAGE_MCS_CCS ||
           params.dst.aux_usage == ISL_AUX_USAGE_CCS_E);
 
-   if (params.dst.aux_usage == ISL_AUX_USAGE_CCS_E) {
+   if (params.src.aux_usage == ISL_AUX_USAGE_HIZ) {
+      /* Depth <-> Color copies are not allowed and HiZ isn't allowed in
+       * destinations because we draw as color.
+       */
+      assert(params.dst.aux_usage == ISL_AUX_USAGE_NONE);
+      params.src.view.format = params.src.surf.format;
+      params.dst.view.format = params.src.surf.format;
+   } else if (params.dst.aux_usage == ISL_AUX_USAGE_CCS_E) {
       params.dst.view.format = get_ccs_compatible_uint_format(dst_fmtl);
       if (params.src.aux_usage == ISL_AUX_USAGE_CCS_E) {
          params.src.view.format = get_ccs_compatible_uint_format(src_fmtl);




More information about the mesa-commit mailing list