Mesa (master): anv/cmd_buffer: Pass a subpass id into begin_subpass

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


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

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

anv/cmd_buffer: Pass a subpass id into begin_subpass

This is a bit less awkward than passing in the subpass because it means
we don't have to extract the subpass id from the subpass.

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

---

 src/intel/vulkan/genX_cmd_buffer.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c
index 59945695fd..743662dff7 100644
--- a/src/intel/vulkan/genX_cmd_buffer.c
+++ b/src/intel/vulkan/genX_cmd_buffer.c
@@ -3448,13 +3448,11 @@ cmd_buffer_subpass_sync_fast_clear_values(struct anv_cmd_buffer *cmd_buffer)
    }
 }
 
-
 static void
 cmd_buffer_begin_subpass(struct anv_cmd_buffer *cmd_buffer,
-                         struct anv_subpass *subpass)
+                         uint32_t subpass_id)
 {
-   cmd_buffer->state.subpass = subpass;
-   uint32_t subpass_id = anv_get_subpass_id(&cmd_buffer->state);
+   cmd_buffer->state.subpass = &cmd_buffer->state.pass->subpasses[subpass_id];
 
    cmd_buffer->state.gfx.dirty |= ANV_CMD_DIRTY_RENDER_TARGETS;
 
@@ -3545,7 +3543,7 @@ void genX(CmdBeginRenderPass)(
 
    genX(flush_pipeline_select_3d)(cmd_buffer);
 
-   cmd_buffer_begin_subpass(cmd_buffer, pass->subpasses);
+   cmd_buffer_begin_subpass(cmd_buffer, 0);
 }
 
 void genX(CmdNextSubpass)(
@@ -3559,9 +3557,9 @@ void genX(CmdNextSubpass)(
 
    assert(cmd_buffer->level == VK_COMMAND_BUFFER_LEVEL_PRIMARY);
 
+   uint32_t prev_subpass = anv_get_subpass_id(&cmd_buffer->state);
    cmd_buffer_end_subpass(cmd_buffer);
-
-   cmd_buffer_begin_subpass(cmd_buffer, cmd_buffer->state.subpass + 1);
+   cmd_buffer_begin_subpass(cmd_buffer, prev_subpass + 1);
 }
 
 void genX(CmdEndRenderPass)(




More information about the mesa-commit mailing list