mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-31 16:20:13 +01:00
radv: do not allocate CMASK for non-MSSA images with 128 bit formats
This saves some useless CMASK initializations/eliminations in the Vulkan SSAO demo. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
This commit is contained in:
parent
a4c08c8cd5
commit
0c1aecf177
3 changed files with 9 additions and 6 deletions
|
|
@ -3530,7 +3530,7 @@ static void radv_handle_image_transition(struct radv_cmd_buffer *cmd_buffer,
|
|||
dst_queue_mask, range,
|
||||
pending_clears);
|
||||
|
||||
if (image->cmask.size)
|
||||
if (image->cmask.size || image->fmask.size)
|
||||
radv_handle_cmask_image_transition(cmd_buffer, image, src_layout,
|
||||
dst_layout, src_queue_mask,
|
||||
dst_queue_mask, range);
|
||||
|
|
|
|||
|
|
@ -819,6 +819,14 @@ radv_image_can_enable_dcc(struct radv_image *image)
|
|||
static inline bool
|
||||
radv_image_can_enable_cmask(struct radv_image *image)
|
||||
{
|
||||
if (image->surface.bpe > 8 && image->info.samples == 1) {
|
||||
/* Do not enable CMASK for non-MSAA images (fast color clear)
|
||||
* because 128 bit formats are not supported, but FMASK might
|
||||
* still be used.
|
||||
*/
|
||||
return false;
|
||||
}
|
||||
|
||||
return radv_image_can_enable_dcc_or_cmask(image) &&
|
||||
image->info.levels == 1 &&
|
||||
image->info.depth == 1 &&
|
||||
|
|
|
|||
|
|
@ -1027,11 +1027,6 @@ emit_fast_color_clear(struct radv_cmd_buffer *cmd_buffer,
|
|||
radv_set_dcc_need_cmask_elim_pred(cmd_buffer, iview->image,
|
||||
!can_avoid_fast_clear_elim);
|
||||
} else {
|
||||
|
||||
if (iview->image->surface.bpe > 8) {
|
||||
/* 128 bit formats not supported */
|
||||
return false;
|
||||
}
|
||||
radv_fill_buffer(cmd_buffer, iview->image->bo,
|
||||
iview->image->offset + iview->image->cmask.offset,
|
||||
iview->image->cmask.size, 0);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue