[Mesa-dev] [PATCH] softpipe: fix softpipe_delete_fs_state() failed assertion
Jose Fonseca
jfonseca at vmware.com
Fri Aug 10 12:10:13 PDT 2012
Looks good to me.
Jose
----- Original Message -----
> The var!=softpipe->fs_variant assertion was failing because we
> weren't
> nulling the softpipe->fs_variant pointer when binding a new shader.
> Since softpipe->fs_variant depends on the current fs, it's of no use
> when a new FS is bound.
>
> Fixes http://bugs.freedesktop.org/show_bug.cgi?id=53318
>
> Note: This is a candidate for the 8.0 branch.
> ---
> src/gallium/drivers/softpipe/sp_state_shader.c | 6 ++++--
> 1 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/src/gallium/drivers/softpipe/sp_state_shader.c
> b/src/gallium/drivers/softpipe/sp_state_shader.c
> index 910d4ba..1e64431 100644
> --- a/src/gallium/drivers/softpipe/sp_state_shader.c
> +++ b/src/gallium/drivers/softpipe/sp_state_shader.c
> @@ -158,8 +158,10 @@ softpipe_bind_fs_state(struct pipe_context
> *pipe, void *fs)
>
> softpipe->fs = fs;
>
> - if (fs == NULL)
> - softpipe->fs_variant = NULL;
> + /* This depends on the current fragment shader and must always be
> + * re-validated before use.
> + */
> + softpipe->fs_variant = NULL;
>
> if (state)
> draw_bind_fragment_shader(softpipe->draw,
> --
> 1.7.3.4
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
More information about the mesa-dev
mailing list