[Mesa-dev] [PATCH] Move setting current_pipeline to cmd_state_init

Lionel Landwerlin lionel.g.landwerlin at intel.com
Mon Feb 12 22:32:00 UTC 2018


I guess the default context setup in the kernel is very 3D friendly.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>

On 12/02/18 21:42, Jason Ekstrand wrote:
> 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 at lists.freedesktop.org
> ---
>   src/intel/vulkan/anv_cmd_buffer.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/intel/vulkan/anv_cmd_buffer.c b/src/intel/vulkan/anv_cmd_buffer.c
> index 6980281..160ff53 100644
> --- a/src/intel/vulkan/anv_cmd_buffer.c
> +++ b/src/intel/vulkan/anv_cmd_buffer.c
> @@ -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);
>   




More information about the mesa-dev mailing list