Commit 55c75d2b authored by Samuel Pitoiset's avatar Samuel Pitoiset

radv: always clear the FCE predicate after DCC/FMASK/CMASK decompressions

DCC and FMASK also imply a fast-clear eliminate, so it should be
safe to reset the predicate unconditionally. We still only skip
FMASK or CMASK decompressions for now.
Signed-off-by: 's avatarSamuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: 's avatarBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
parent 483a28bf
......@@ -702,11 +702,6 @@ radv_emit_color_decompress(struct radv_cmd_buffer *cmd_buffer,
radv_emit_set_predication_state_from_image(cmd_buffer, image, false);
/* Clear the image's fast-clear eliminate predicate because
* FMASK and DCC also imply a fast-clear eliminate.
*/
radv_update_fce_metadata(cmd_buffer, image, false);
if (cmd_buffer->state.predication_type != -1) {
/* Restore previous conditional rendering user state. */
si_emit_set_predication_state(cmd_buffer,
......@@ -714,6 +709,14 @@ radv_emit_color_decompress(struct radv_cmd_buffer *cmd_buffer,
cmd_buffer->state.predication_va);
}
}
if (radv_image_has_dcc(image)) {
/* Clear the image's fast-clear eliminate predicate because
* FMASK and DCC also imply a fast-clear eliminate.
*/
radv_update_fce_metadata(cmd_buffer, image, false);
}
radv_meta_restore(&saved_state, cmd_buffer);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment