1 |
From 06787d23cb436d2025c17cae433e590995121306 Mon Sep 17 00:00:00 2001 |
2 |
From: Samuel Pitoiset <samuel.pitoiset@gmail.com> |
3 |
Date: Thu, 14 Mar 2019 14:27:03 +0100 |
4 |
Subject: [PATCH 10/24] radv: always initialize HTILE when the src layout is |
5 |
UNDEFINED |
6 |
|
7 |
HTILE should always be initialized when transitioning from |
8 |
VK_IMAGE_LAYOUT_UNDEFINED to other image layouts. Otherwise, |
9 |
if an app does a transition from UNDEFINED to GENERAL, the |
10 |
driver doesn't initialize HTILE and it tries to decompress |
11 |
the depth surface. For some reasons, this results in VM faults. |
12 |
|
13 |
Cc: mesa-stable@lists.freedesktop.org |
14 |
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107563 |
15 |
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> |
16 |
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> |
17 |
(cherry picked from commit 3a2e93147f7fa4a6fd17313353113a33291c5ce0) |
18 |
--- |
19 |
src/amd/vulkan/radv_cmd_buffer.c | 3 +-- |
20 |
1 file changed, 1 insertion(+), 2 deletions(-) |
21 |
|
22 |
diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c |
23 |
index 1286997685b..e800bbd061a 100644 |
24 |
--- a/src/amd/vulkan/radv_cmd_buffer.c |
25 |
+++ b/src/amd/vulkan/radv_cmd_buffer.c |
26 |
@@ -4406,8 +4406,7 @@ static void radv_handle_depth_image_transition(struct radv_cmd_buffer *cmd_buffe |
27 |
if (!radv_image_has_htile(image)) |
28 |
return; |
29 |
|
30 |
- if (src_layout == VK_IMAGE_LAYOUT_UNDEFINED && |
31 |
- radv_layout_has_htile(image, dst_layout, dst_queue_mask)) { |
32 |
+ if (src_layout == VK_IMAGE_LAYOUT_UNDEFINED) { |
33 |
/* TODO: merge with the clear if applicable */ |
34 |
radv_initialize_htile(cmd_buffer, image, range, 0); |
35 |
} else if (!radv_layout_is_htile_compressed(image, src_layout, src_queue_mask) && |
36 |
-- |
37 |
2.21.0 |
38 |
|