From: Jason Ekstrand Date: Sat, 24 Feb 2018 04:45:26 +0000 (-0800) Subject: anv/cmd_buffer: Handle MCS identical to CCS_E in compute_aux_usage X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a0a319f16ef376d957ae9b5f3979a4e7745a554a;p=mesa.git 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 --- diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c index ce546249b34..3d886b06eb1 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);