mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-23 15:30:14 +01:00
radv: do not predicate FMASK decompression when DCC+MSAA is used
Even if the FCE predicate is FALSE, we might still need to decompress FMASK if compressed rendering was used. FMASK decompressions should never been predicated. This fixes a ton of CTS failures and a rendering issue with Control when DCC+MSAA is force-enabled. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8331>
This commit is contained in:
parent
00064713a3
commit
6e7008e94b
1 changed files with 4 additions and 2 deletions
|
|
@ -744,7 +744,8 @@ radv_emit_color_decompress(struct radv_cmd_buffer *cmd_buffer,
|
|||
|
||||
assert(cmd_buffer->queue_family_index == RADV_QUEUE_GENERAL);
|
||||
|
||||
if (radv_dcc_enabled(image, subresourceRange->baseMipLevel)) {
|
||||
if ((decompress_dcc && radv_dcc_enabled(image, subresourceRange->baseMipLevel)) ||
|
||||
(!(radv_image_has_fmask(image) && !image->tc_compatible_cmask))) {
|
||||
uint64_t pred_offset = decompress_dcc ? image->dcc_pred_offset :
|
||||
image->fce_pred_offset;
|
||||
pred_offset += 8 * subresourceRange->baseMipLevel;
|
||||
|
|
@ -758,7 +759,8 @@ radv_emit_color_decompress(struct radv_cmd_buffer *cmd_buffer,
|
|||
radv_process_color_image(cmd_buffer, image, subresourceRange,
|
||||
decompress_dcc);
|
||||
|
||||
if (radv_dcc_enabled(image, subresourceRange->baseMipLevel)) {
|
||||
if ((decompress_dcc && radv_dcc_enabled(image, subresourceRange->baseMipLevel)) ||
|
||||
(!(radv_image_has_fmask(image) && !image->tc_compatible_cmask))) {
|
||||
uint64_t pred_offset = decompress_dcc ? image->dcc_pred_offset :
|
||||
image->fce_pred_offset;
|
||||
pred_offset += 8 * subresourceRange->baseMipLevel;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue