On Tue, Jan 29, 2019 at 10:16 PM Samuel Pitoiset <samuel.pitoi...@gmail.com> wrote: > > That shouldn't change anything as we check if the last > subpass id is the final subpass. > > Signed-off-by: Samuel Pitoiset <samuel.pitoi...@gmail.com> > --- > src/amd/vulkan/radv_cmd_buffer.c | 16 +++++++++++++--- > 1 file changed, 13 insertions(+), 3 deletions(-) > > diff --git a/src/amd/vulkan/radv_cmd_buffer.c > b/src/amd/vulkan/radv_cmd_buffer.c > index 914ff0055d9..b0b453d76e9 100644 > --- a/src/amd/vulkan/radv_cmd_buffer.c > +++ b/src/amd/vulkan/radv_cmd_buffer.c > @@ -4333,15 +4333,25 @@ void radv_CmdEndRenderPass( > VkCommandBuffer commandBuffer) > { > RADV_FROM_HANDLE(radv_cmd_buffer, cmd_buffer, commandBuffer); > + struct radv_cmd_state *state = &cmd_buffer->state; > + const struct radv_subpass *subpass = state->subpass; > + uint32_t subpass_id = radv_get_subpass_id(cmd_buffer); > > radv_subpass_barrier(cmd_buffer, > &cmd_buffer->state.pass->end_barrier); > > radv_cmd_buffer_resolve_subpass(cmd_buffer); > > - for (unsigned i = 0; i < > cmd_buffer->state.framebuffer->attachment_count; ++i) { > - VkImageLayout layout = > cmd_buffer->state.pass->attachments[i].final_layout; > + for (uint32_t i = 0; i < subpass->attachment_count; ++i) { > + const uint32_t a = subpass->attachments[i].attachment; > + if (a == VK_ATTACHMENT_UNUSED) > + continue; > + > + if (state->pass->attachments[a].last_subpass_idx != > subpass_id) > + continue;
I don't think we can add this without adding logic that if the attachment is not in the final subpass, we transition it to the final layout earlier? > + > + VkImageLayout layout = > state->pass->attachments[a].final_layout; > radv_handle_subpass_image_transition(cmd_buffer, > - (struct radv_subpass_attachment){i, > layout}); > + (struct radv_subpass_attachment){a, > layout}); > } > > vk_free(&cmd_buffer->pool->alloc, cmd_buffer->state.attachments); > -- > 2.20.1 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev