mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 07:28:11 +02:00
radv: always initialize the clear color values to 0
Having random data in there is probably not the best. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
This commit is contained in:
parent
4b564bd612
commit
204cf5714a
3 changed files with 26 additions and 8 deletions
|
|
@ -1354,10 +1354,9 @@ radv_update_bound_fast_clear_color(struct radv_cmd_buffer *cmd_buffer,
|
|||
/**
|
||||
* Set the clear color values to the image's metadata.
|
||||
*/
|
||||
void
|
||||
static void
|
||||
radv_set_color_clear_metadata(struct radv_cmd_buffer *cmd_buffer,
|
||||
struct radv_image *image,
|
||||
int cb_idx,
|
||||
uint32_t color_values[2])
|
||||
{
|
||||
struct radeon_cmdbuf *cs = cmd_buffer->cs;
|
||||
|
|
@ -1375,6 +1374,20 @@ radv_set_color_clear_metadata(struct radv_cmd_buffer *cmd_buffer,
|
|||
radeon_emit(cs, va >> 32);
|
||||
radeon_emit(cs, color_values[0]);
|
||||
radeon_emit(cs, color_values[1]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the clear color values for this image.
|
||||
*/
|
||||
void
|
||||
radv_update_color_clear_metadata(struct radv_cmd_buffer *cmd_buffer,
|
||||
struct radv_image *image,
|
||||
int cb_idx,
|
||||
uint32_t color_values[2])
|
||||
{
|
||||
assert(radv_image_has_cmask(image) || radv_image_has_dcc(image));
|
||||
|
||||
radv_set_color_clear_metadata(cmd_buffer, image, color_values);
|
||||
|
||||
radv_update_bound_fast_clear_color(cmd_buffer, image, cb_idx,
|
||||
color_values);
|
||||
|
|
@ -4061,6 +4074,11 @@ static void radv_init_color_image_metadata(struct radv_cmd_buffer *cmd_buffer,
|
|||
|
||||
radv_set_dcc_need_cmask_elim_pred(cmd_buffer, image, false);
|
||||
}
|
||||
|
||||
if (radv_image_has_cmask(image) || radv_image_has_dcc(image)) {
|
||||
uint32_t color_values[2] = {};
|
||||
radv_set_color_clear_metadata(cmd_buffer, image, color_values);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -1104,8 +1104,8 @@ emit_fast_color_clear(struct radv_cmd_buffer *cmd_buffer,
|
|||
cmd_buffer->state.flush_bits |= flush_bits;
|
||||
}
|
||||
|
||||
radv_set_color_clear_metadata(cmd_buffer, iview->image, subpass_att,
|
||||
clear_color);
|
||||
radv_update_color_clear_metadata(cmd_buffer, iview->image, subpass_att,
|
||||
clear_color);
|
||||
|
||||
return true;
|
||||
fail:
|
||||
|
|
|
|||
|
|
@ -1117,10 +1117,10 @@ void radv_set_ds_clear_metadata(struct radv_cmd_buffer *cmd_buffer,
|
|||
VkClearDepthStencilValue ds_clear_value,
|
||||
VkImageAspectFlags aspects);
|
||||
|
||||
void radv_set_color_clear_metadata(struct radv_cmd_buffer *cmd_buffer,
|
||||
struct radv_image *image,
|
||||
int cb_idx,
|
||||
uint32_t color_values[2]);
|
||||
void radv_update_color_clear_metadata(struct radv_cmd_buffer *cmd_buffer,
|
||||
struct radv_image *image,
|
||||
int cb_idx,
|
||||
uint32_t color_values[2]);
|
||||
|
||||
void radv_set_dcc_need_cmask_elim_pred(struct radv_cmd_buffer *cmd_buffer,
|
||||
struct radv_image *image,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue