Mesa (master): anv/cmd_buffer: Apply subpass flushes before set_subpass

Jason Ekstrand jekstrand at kemper.freedesktop.org
Tue Feb 20 21:49:47 UTC 2018


Module: Mesa
Branch: master
Commit: b5bd3fb4e43ce0e6edd453a3c502e9c8c5bdf4f1
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b5bd3fb4e43ce0e6edd453a3c502e9c8c5bdf4f1

Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Nov 21 12:27:43 2017 -0800

anv/cmd_buffer: Apply subpass flushes before set_subpass

This seems slightly more correct because it means that the flushes
happen before any clears or resolves implied by the subpass transition.

Reviewed-by: Nanley Chery <nanley.g.chery at intel.com>

---

 src/intel/vulkan/genX_cmd_buffer.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c
index 9c50f91b44..ada05ccee6 100644
--- a/src/intel/vulkan/genX_cmd_buffer.c
+++ b/src/intel/vulkan/genX_cmd_buffer.c
@@ -3520,10 +3520,10 @@ void genX(CmdBeginRenderPass)(
 
    genX(flush_pipeline_select_3d)(cmd_buffer);
 
-   genX(cmd_buffer_set_subpass)(cmd_buffer, pass->subpasses);
-
    cmd_buffer->state.pending_pipe_bits |=
       cmd_buffer->state.pass->subpass_flushes[0];
+
+   genX(cmd_buffer_set_subpass)(cmd_buffer, pass->subpasses);
 }
 
 void genX(CmdNextSubpass)(
@@ -3543,11 +3543,11 @@ void genX(CmdNextSubpass)(
     */
    cmd_buffer_subpass_transition_layouts(cmd_buffer, true);
 
-   genX(cmd_buffer_set_subpass)(cmd_buffer, cmd_buffer->state.subpass + 1);
-
    uint32_t subpass_id = anv_get_subpass_id(&cmd_buffer->state);
    cmd_buffer->state.pending_pipe_bits |=
       cmd_buffer->state.pass->subpass_flushes[subpass_id];
+
+   genX(cmd_buffer_set_subpass)(cmd_buffer, cmd_buffer->state.subpass + 1);
 }
 
 void genX(CmdEndRenderPass)(




More information about the mesa-commit mailing list