[Mesa-dev] [PATCH 1/2] Gallium:draw:aaline and aapoint: Restore the old hooks when we destroy our stage.
Jose Fonseca
jfonseca at vmware.com
Wed Jun 29 03:28:15 PDT 2011
Looks a good thing to do.
Jose
----- Original Message -----
> ---
> src/gallium/auxiliary/draw/draw_pipe_aaline.c | 8 ++++++++
> src/gallium/auxiliary/draw/draw_pipe_aapoint.c | 9 +++++++++
> 2 files changed, 17 insertions(+), 0 deletions(-)
>
> diff --git a/src/gallium/auxiliary/draw/draw_pipe_aaline.c
> b/src/gallium/auxiliary/draw/draw_pipe_aaline.c
> index 32af29a..458f85d 100644
> --- a/src/gallium/auxiliary/draw/draw_pipe_aaline.c
> +++ b/src/gallium/auxiliary/draw/draw_pipe_aaline.c
> @@ -784,6 +784,14 @@ aaline_destroy(struct draw_stage *stage)
>
> draw_free_temp_verts( stage );
>
> + /* restore the old entry points */
> + pipe->create_fs_state = aaline->driver_create_fs_state;
> + pipe->bind_fs_state = aaline->driver_bind_fs_state;
> + pipe->delete_fs_state = aaline->driver_delete_fs_state;
> +
> + pipe->bind_fragment_sampler_states =
> aaline->driver_bind_sampler_states;
> + pipe->set_fragment_sampler_views =
> aaline->driver_set_sampler_views;
> +
> FREE( stage );
> }
>
> diff --git a/src/gallium/auxiliary/draw/draw_pipe_aapoint.c
> b/src/gallium/auxiliary/draw/draw_pipe_aapoint.c
> index 60f6380..9265c37 100644
> --- a/src/gallium/auxiliary/draw/draw_pipe_aapoint.c
> +++ b/src/gallium/auxiliary/draw/draw_pipe_aapoint.c
> @@ -768,7 +768,16 @@ aapoint_reset_stipple_counter(struct draw_stage
> *stage)
> static void
> aapoint_destroy(struct draw_stage *stage)
> {
> + struct aapoint_stage* aapoint = aapoint_stage(stage);
> + struct pipe_context *pipe = stage->draw->pipe;
> +
> draw_free_temp_verts( stage );
> +
> + /* restore the old entry points */
> + pipe->create_fs_state = aapoint->driver_create_fs_state;
> + pipe->bind_fs_state = aapoint->driver_bind_fs_state;
> + pipe->delete_fs_state = aapoint->driver_delete_fs_state;
> +
> FREE( stage );
> }
>
> --
> 1.7.5.3.367.ga9930
>
> _______________________________________________
> 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