Mesa (master): anv/cmd_buffer: Handle MCS identical to CCS_E in compute_aux_usage

Jason Ekstrand jekstrand at kemper.freedesktop.org
Thu Mar 1 22:08:27 UTC 2018


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

Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Feb 23 20:45:26 2018 -0800

anv/cmd_buffer: Handle MCS identical to CCS_E in compute_aux_usage

This doesn't actually do anything because att_state->fast_clear is
determined based on the return value of anv_layout_to_fast_clear_type
which currently returns NONE for multisampled images.

Reviewed-by: Samuel Iglesias Gonsálvez <siglesias at igalia.com>

---

 src/intel/vulkan/genX_cmd_buffer.c | 14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)

diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c
index ce546249b3..3d886b06eb 100644
--- a/src/intel/vulkan/genX_cmd_buffer.c
+++ b/src/intel/vulkan/genX_cmd_buffer.c
@@ -235,14 +235,9 @@ color_attachment_compute_aux_usage(struct anv_device * device,
     */
    assert(att_state->aux_usage != ISL_AUX_USAGE_NONE);
 
-   if (att_state->aux_usage == ISL_AUX_USAGE_MCS) {
-      att_state->input_aux_usage = ISL_AUX_USAGE_MCS;
-      att_state->fast_clear = false;
-      return;
-   }
-
-   if (att_state->aux_usage == ISL_AUX_USAGE_CCS_E) {
-      att_state->input_aux_usage = ISL_AUX_USAGE_CCS_E;
+   if (att_state->aux_usage == ISL_AUX_USAGE_CCS_E ||
+       att_state->aux_usage == ISL_AUX_USAGE_MCS) {
+      att_state->input_aux_usage = att_state->aux_usage;
    } else {
       /* From the Sky Lake PRM, RENDER_SURFACE_STATE::AuxiliarySurfaceMode:
        *
@@ -274,7 +269,8 @@ color_attachment_compute_aux_usage(struct anv_device * device,
       }
    }
 
-   assert(iview->image->planes[0].aux_surface.isl.usage & ISL_SURF_USAGE_CCS_BIT);
+   assert(iview->image->planes[0].aux_surface.isl.usage &
+          (ISL_SURF_USAGE_CCS_BIT | ISL_SURF_USAGE_MCS_BIT));
 
    const struct isl_format_layout *view_fmtl =
       isl_format_get_layout(iview->planes[0].isl.format);




More information about the mesa-commit mailing list