summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNanley Chery <[email protected]>2017-02-27 14:09:03 -0800
committerNanley Chery <[email protected]>2017-03-02 13:17:55 -0800
commitc78a959bcfab1ad20c3d5063886fb943c00db49e (patch)
treed2c926760b58b630619883b2e11815784bc7bf1f
parentc0223d052bd3a006ff851eabc5a2b5aad00f31a8 (diff)
anv/cmd_buffer: Enable render pass awareness
v2: Update cmd_state_reset (Jason Ekstrand) Signed-off-by: Nanley Chery <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
-rw-r--r--src/intel/vulkan/anv_cmd_buffer.c3
-rw-r--r--src/intel/vulkan/genX_cmd_buffer.c7
2 files changed, 10 insertions, 0 deletions
diff --git a/src/intel/vulkan/anv_cmd_buffer.c b/src/intel/vulkan/anv_cmd_buffer.c
index ef369c10f5b..cab1dd7305a 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 7f1f4a75587..85d6267277e 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;
}