[Mesa-dev] [PATCH] radv: always dirty the framebuffer when restoring a subpass

Samuel Pitoiset samuel.pitoiset at gmail.com
Thu May 23 12:57:07 UTC 2019


The old code was not wrong because the transitions performed
after the resolves should re-emit the framebuffer if needed.

This change is mostly a no-op but it improves consistency
regarding other meta operations that need to save/restore subpasses.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
---
 src/amd/vulkan/radv_meta_resolve.c    | 3 ++-
 src/amd/vulkan/radv_meta_resolve_fs.c | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/amd/vulkan/radv_meta_resolve.c b/src/amd/vulkan/radv_meta_resolve.c
index ade5d438438..b9f5106ef01 100644
--- a/src/amd/vulkan/radv_meta_resolve.c
+++ b/src/amd/vulkan/radv_meta_resolve.c
@@ -691,7 +691,8 @@ radv_cmd_buffer_resolve_subpass(struct radv_cmd_buffer *cmd_buffer)
 			     &(VkExtent2D) { fb->width, fb->height });
 	}
 
-	cmd_buffer->state.subpass = subpass;
+	radv_cmd_buffer_set_subpass(cmd_buffer, subpass);
+
 	radv_meta_restore(&saved_state, cmd_buffer);
 }
 
diff --git a/src/amd/vulkan/radv_meta_resolve_fs.c b/src/amd/vulkan/radv_meta_resolve_fs.c
index 3c63195f48f..9f20f6753e2 100644
--- a/src/amd/vulkan/radv_meta_resolve_fs.c
+++ b/src/amd/vulkan/radv_meta_resolve_fs.c
@@ -632,6 +632,7 @@ radv_cmd_buffer_resolve_subpass_fs(struct radv_cmd_buffer *cmd_buffer)
 			     &(VkExtent2D) { fb->width, fb->height });
 	}
 
-	cmd_buffer->state.subpass = subpass;
+	radv_cmd_buffer_set_subpass(cmd_buffer, subpass);
+
 	radv_meta_restore(&saved_state, cmd_buffer);
 }
-- 
2.21.0



More information about the mesa-dev mailing list