[Mesa-dev] [PATCH 1/2] radv: fix potential crash in the compute resolve path

Samuel Pitoiset samuel.pitoiset at gmail.com
Thu Jul 4 06:54:48 UTC 2019


If the destination attachment is UNUSED.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
---
 src/amd/vulkan/radv_meta_resolve_cs.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/amd/vulkan/radv_meta_resolve_cs.c b/src/amd/vulkan/radv_meta_resolve_cs.c
index 7d3cc166e0d..13c61509b21 100644
--- a/src/amd/vulkan/radv_meta_resolve_cs.c
+++ b/src/amd/vulkan/radv_meta_resolve_cs.c
@@ -917,12 +917,13 @@ radv_cmd_buffer_resolve_subpass_cs(struct radv_cmd_buffer *cmd_buffer)
 	for (uint32_t i = 0; i < subpass->color_count; ++i) {
 		struct radv_subpass_attachment src_att = subpass->color_attachments[i];
 		struct radv_subpass_attachment dst_att = subpass->resolve_attachments[i];
-		struct radv_image_view *src_iview = fb->attachments[src_att.attachment].attachment;
-		struct radv_image_view *dst_iview = fb->attachments[dst_att.attachment].attachment;
 
 		if (dst_att.attachment == VK_ATTACHMENT_UNUSED)
 			continue;
 
+		struct radv_image_view *src_iview = fb->attachments[src_att.attachment].attachment;
+		struct radv_image_view *dst_iview = fb->attachments[dst_att.attachment].attachment;
+
 		VkImageResolve region = {
 			.extent = (VkExtent3D){ fb->width, fb->height, 0 },
 			.srcSubresource = (VkImageSubresourceLayers) {
-- 
2.22.0



More information about the mesa-dev mailing list