Mesa (master): anv/cmd_buffer: Enable render pass awareness

Nanley Chery nchery at kemper.freedesktop.org
Thu Mar 2 21:18:27 UTC 2017


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

Author: Nanley Chery <nanley.g.chery at intel.com>
Date:   Mon Feb 27 14:09:03 2017 -0800

anv/cmd_buffer: Enable render pass awareness

v2: Update cmd_state_reset (Jason Ekstrand)

Signed-off-by: Nanley Chery <nanley.g.chery at intel.com>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

---

 src/intel/vulkan/anv_cmd_buffer.c  | 3 +++
 src/intel/vulkan/genX_cmd_buffer.c | 7 +++++++
 2 files changed, 10 insertions(+)

diff --git a/src/intel/vulkan/anv_cmd_buffer.c b/src/intel/vulkan/anv_cmd_buffer.c
index ef369c1..cab1dd7 100644
--- a/src/intel/vulkan/anv_cmd_buffer.c
+++ b/src/intel/vulkan/anv_cmd_buffer.c
@@ -131,6 +131,9 @@ anv_cmd_state_reset(struct anv_cmd_buffer *cmd_buffer)
    state->descriptors_dirty = 0;
    state->push_constants_dirty = 0;
    state->pipeline = NULL;
+   state->framebuffer = NULL;
+   state->pass = NULL;
+   state->subpass = NULL;
    state->push_constant_stages = 0;
    state->restart_index = UINT32_MAX;
    state->dynamic = default_dynamic_state;
diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c
index 7f1f4a7..85d6267 100644
--- a/src/intel/vulkan/genX_cmd_buffer.c
+++ b/src/intel/vulkan/genX_cmd_buffer.c
@@ -2452,4 +2452,11 @@ void genX(CmdEndRenderPass)(
 #ifndef NDEBUG
    anv_dump_add_framebuffer(cmd_buffer, cmd_buffer->state.framebuffer);
 #endif
+
+   /* Remove references to render pass specific state. This enables us to
+    * detect whether or not we're in a renderpass.
+    */
+   cmd_buffer->state.framebuffer = NULL;
+   cmd_buffer->state.pass = NULL;
+   cmd_buffer->state.subpass = NULL;
 }




More information about the mesa-commit mailing list