mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 07:08:04 +02:00
anv/blorp/clear_subpass: Only set surface clear color for fast clears
Not all clear colors are valid. In particular, on Broadwell and
earlier, only 0/1 colors are allowed in surface state. No CTS tests are
affected outright by this because, apparently, the CTS coverage for
different clear colors is pretty terrible. However, when multisample
compression is enabled, we do hit it with CTS tests and this commit
prevents regressions when enabling MCS on Broadwell and earlier.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: "13.0 17.0" <mesa-stable@lists.freedesktop.org>
(cherry picked from commit 42b10b175d)
This commit is contained in:
parent
579586c926
commit
55f9cb3985
1 changed files with 3 additions and 2 deletions
|
|
@ -1197,9 +1197,10 @@ anv_cmd_buffer_clear_subpass(struct anv_cmd_buffer *cmd_buffer)
|
|||
struct blorp_surf surf;
|
||||
get_blorp_surf_for_anv_image(image, VK_IMAGE_ASPECT_COLOR_BIT,
|
||||
att_state->aux_usage, &surf);
|
||||
surf.clear_color = vk_to_isl_color(att_state->clear_value.color);
|
||||
|
||||
if (att_state->fast_clear) {
|
||||
surf.clear_color = vk_to_isl_color(att_state->clear_value.color);
|
||||
|
||||
blorp_fast_clear(&batch, &surf, iview->isl.format,
|
||||
iview->isl.base_level,
|
||||
iview->isl.base_array_layer, fb->layers,
|
||||
|
|
@ -1222,7 +1223,7 @@ anv_cmd_buffer_clear_subpass(struct anv_cmd_buffer *cmd_buffer)
|
|||
render_area.offset.x, render_area.offset.y,
|
||||
render_area.offset.x + render_area.extent.width,
|
||||
render_area.offset.y + render_area.extent.height,
|
||||
surf.clear_color, NULL);
|
||||
vk_to_isl_color(att_state->clear_value.color), NULL);
|
||||
}
|
||||
|
||||
att_state->pending_clear_aspects = 0;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue