anv: Move setting current_pipeline to cmd_state_init
authorJason Ekstrand <jason.ekstrand@intel.com>
Mon, 12 Feb 2018 16:17:57 +0000 (08:17 -0800)
committerJason Ekstrand <jason.ekstrand@intel.com>
Mon, 12 Feb 2018 23:18:23 +0000 (15:18 -0800)
We were setting current_pipeline to UINT32_MAX and then calling
cmd_cmd_state_reset which memsets the entire state struct to 0 which
implicitly resets current_pipeline to 3D.  I have no idea how this
hasn't caused everything to explode.

Fixes: cd3feea74582 "anv/cmd_buffer: Rework anv_cmd_state_reset"
cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
src/intel/vulkan/anv_cmd_buffer.c

index 698028123c107e42b8266757478640dce0a63c27..160ff5323df019317964075146dba7d5507048c5 100644 (file)
@@ -119,6 +119,7 @@ anv_cmd_state_init(struct anv_cmd_buffer *cmd_buffer)
 
    memset(state, 0, sizeof(*state));
 
+   state->current_pipeline = UINT32_MAX;
    state->restart_index = UINT32_MAX;
    state->gfx.dynamic = default_dynamic_state;
 }
@@ -292,7 +293,6 @@ VkResult
 anv_cmd_buffer_reset(struct anv_cmd_buffer *cmd_buffer)
 {
    cmd_buffer->usage_flags = 0;
-   cmd_buffer->state.current_pipeline = UINT32_MAX;
    anv_cmd_buffer_reset_batch_bo_chain(cmd_buffer);
    anv_cmd_state_reset(cmd_buffer);