Seems like users are actually hitting 0xFFFFFFFF actually making
things broken for them, and the mad max regression is fixed, so
lets put this in once more.

v2: Use 0xf for depth-only htile. (Dave)

Fixes: af2844116fd "radv: Revert HTILE reset word to 0xFFFFFFFF."
---
 src/amd/vulkan/radv_cmd_buffer.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c
index 7c86aa9d8c1..c6d7ca9b171 100644
--- a/src/amd/vulkan/radv_cmd_buffer.c
+++ b/src/amd/vulkan/radv_cmd_buffer.c
@@ -3789,7 +3789,8 @@ void radv_CmdEndRenderPass(
 
 /*
  * For HTILE we have the following interesting clear words:
- *   0x0000030f: Uncompressed.
+ *   0x0000030f: Uncompressed for depth+stencil HTILE.
+ *   0x0000000f: Uncompressed for depth only HTILE.
  *   0xfffffff0: Clear depth to 1.0
  *   0x00000000: Clear depth to 0.0
  */
@@ -3837,7 +3838,8 @@ static void radv_handle_depth_image_transition(struct 
radv_cmd_buffer *cmd_buffe
                radv_initialize_htile(cmd_buffer, image, range, 0);
        } else if (!radv_layout_is_htile_compressed(image, src_layout, 
src_queue_mask) &&
                   radv_layout_is_htile_compressed(image, dst_layout, 
dst_queue_mask)) {
-               radv_initialize_htile(cmd_buffer, image, range, 0xffffffff);
+               uint32_t clear_value = vk_format_is_stencil(image->vk_format) ? 
0x30f : 0xf;
+               radv_initialize_htile(cmd_buffer, image, range, clear_value);
        } else if (radv_layout_is_htile_compressed(image, src_layout, 
src_queue_mask) &&
                   !radv_layout_is_htile_compressed(image, dst_layout, 
dst_queue_mask)) {
                VkImageSubresourceRange local_range = *range;
-- 
2.15.1

_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to