aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>2019-06-13 00:52:18 +0200
committerJuan A. Suarez Romero <jasuarez@igalia.com>2019-06-14 09:05:30 +0000
commit746025fd636838c54801dd3f4a7453aaa1ae2716 (patch)
treeac6d38b112b702b86f4153f9b07a0ac51adabecf
parenta48ef364e17f630f59bbae5a4cc4d4d4dc6fd29e (diff)
radv: Skip transitions coming from external queue.
Transitions to external queue should do the transition & make sure it works on all queues. Fixes: 8ebc7dcb59a "radv: Allow fast clears with concurrent queue mask for some layouts." Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> (cherry picked from commit 0667c1f14b06b9a748619a1a6ba3e03388fa868b)
-rw-r--r--src/amd/vulkan/radv_cmd_buffer.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c
index 3b87146ebd0..90c6153e875 100644
--- a/src/amd/vulkan/radv_cmd_buffer.c
+++ b/src/amd/vulkan/radv_cmd_buffer.c
@@ -4664,6 +4664,9 @@ static void radv_handle_image_transition(struct radv_cmd_buffer *cmd_buffer,
assert(src_family == cmd_buffer->queue_family_index ||
dst_family == cmd_buffer->queue_family_index);
+ if (src_family == VK_QUEUE_FAMILY_EXTERNAL)
+ return;
+
if (cmd_buffer->queue_family_index == RADV_QUEUE_TRANSFER)
return;