mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 09:08:10 +02:00
radv: enable fast depth/stencil clears with separate aspects on GFX8
It's similar to GFX9+. Shadow of Mordor (Vulkan beta) hits that path and it works fine. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
This commit is contained in:
parent
66796a1787
commit
d82dfca872
1 changed files with 0 additions and 7 deletions
|
|
@ -1065,12 +1065,6 @@ radv_can_fast_clear_depth(struct radv_cmd_buffer *cmd_buffer,
|
||||||
if (!view_mask && clear_rect->layerCount != iview->image->info.array_size)
|
if (!view_mask && clear_rect->layerCount != iview->image->info.array_size)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (cmd_buffer->device->physical_device->rad_info.chip_class < GFX9 &&
|
|
||||||
(!(aspects & VK_IMAGE_ASPECT_DEPTH_BIT) ||
|
|
||||||
((vk_format_aspects(iview->image->vk_format) & VK_IMAGE_ASPECT_STENCIL_BIT) &&
|
|
||||||
!(aspects & VK_IMAGE_ASPECT_STENCIL_BIT))))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
if (((aspects & VK_IMAGE_ASPECT_DEPTH_BIT) &&
|
if (((aspects & VK_IMAGE_ASPECT_DEPTH_BIT) &&
|
||||||
!radv_is_fast_clear_depth_allowed(clear_value)) ||
|
!radv_is_fast_clear_depth_allowed(clear_value)) ||
|
||||||
((aspects & VK_IMAGE_ASPECT_STENCIL_BIT) &&
|
((aspects & VK_IMAGE_ASPECT_STENCIL_BIT) &&
|
||||||
|
|
@ -1108,7 +1102,6 @@ radv_fast_clear_depth(struct radv_cmd_buffer *cmd_buffer,
|
||||||
iview->image->planes[0].surface.htile_size, clear_word);
|
iview->image->planes[0].surface.htile_size, clear_word);
|
||||||
} else {
|
} else {
|
||||||
/* Only clear depth or stencil bytes in the HTILE buffer. */
|
/* Only clear depth or stencil bytes in the HTILE buffer. */
|
||||||
assert(cmd_buffer->device->physical_device->rad_info.chip_class >= GFX9);
|
|
||||||
flush_bits = clear_htile_mask(cmd_buffer, iview->image->bo,
|
flush_bits = clear_htile_mask(cmd_buffer, iview->image->bo,
|
||||||
iview->image->offset + iview->image->htile_offset,
|
iview->image->offset + iview->image->htile_offset,
|
||||||
iview->image->planes[0].surface.htile_size, clear_word,
|
iview->image->planes[0].surface.htile_size, clear_word,
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue