Browse Source

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@igalia.com>
tags/18.1-branchpoint
Jason Ekstrand 7 years ago
parent
commit
a0a319f16e
1 changed files with 5 additions and 9 deletions
  1. 5
    9
      src/intel/vulkan/genX_cmd_buffer.c

+ 5
- 9
src/intel/vulkan/genX_cmd_buffer.c View File

@@ -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);

Loading…
Cancel
Save