radv: Use correct HTILE expanded words.
authorBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Wed, 3 Jan 2018 20:58:49 +0000 (21:58 +0100)
committerBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Wed, 3 Jan 2018 23:14:03 +0000 (00:14 +0100)
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."
Reviewed-by: Dave Airlie <airlied@redhat.com>
src/amd/vulkan/radv_cmd_buffer.c

index 261344e939b33b0eb5717c98ac9ef57914953c7b..6dc80acef079e16f2a6f1d6e64642b8b7ec988fc 100644 (file)
@@ -3781,7 +3781,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
  */
@@ -3829,7 +3830,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;