summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/draw/draw_pipe_aaline.c
diff options
context:
space:
mode:
authorJosé Fonseca <jfonseca@vmware.com>2012-06-20 14:25:46 +0100
committerJosé Fonseca <jfonseca@vmware.com>2014-01-23 15:49:32 +0000
commit840154dc5002f7291aa2ece5322be7c2e40d9b6d (patch)
treeab91aef98add0be634a71b2d6a20371da709e8a1 /src/gallium/auxiliary/draw/draw_pipe_aaline.c
parent1a441805781382067e92cd9f3b324f23164c3024 (diff)
downloadexternal_mesa3d-840154dc5002f7291aa2ece5322be7c2e40d9b6d.tar.gz
external_mesa3d-840154dc5002f7291aa2ece5322be7c2e40d9b6d.tar.bz2
external_mesa3d-840154dc5002f7291aa2ece5322be7c2e40d9b6d.zip
draw: Save original driver functions earlier.
Otherwise they will be NULL when stage destroy is invoked prematurely, (i.e, on out of memory). Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Diffstat (limited to 'src/gallium/auxiliary/draw/draw_pipe_aaline.c')
-rw-r--r--src/gallium/auxiliary/draw/draw_pipe_aaline.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/gallium/auxiliary/draw/draw_pipe_aaline.c b/src/gallium/auxiliary/draw/draw_pipe_aaline.c
index f2895ddc35..8955762ce2 100644
--- a/src/gallium/auxiliary/draw/draw_pipe_aaline.c
+++ b/src/gallium/auxiliary/draw/draw_pipe_aaline.c
@@ -996,13 +996,6 @@ draw_install_aaline_stage(struct draw_context *draw, struct pipe_context *pipe)
if (!aaline)
goto fail;
- /* create special texture, sampler state */
- if (!aaline_create_texture(aaline))
- goto fail;
-
- if (!aaline_create_sampler(aaline))
- goto fail;
-
/* save original driver functions */
aaline->driver_create_fs_state = pipe->create_fs_state;
aaline->driver_bind_fs_state = pipe->bind_fs_state;
@@ -1011,6 +1004,13 @@ draw_install_aaline_stage(struct draw_context *draw, struct pipe_context *pipe)
aaline->driver_bind_sampler_states = pipe->bind_sampler_states;
aaline->driver_set_sampler_views = pipe->set_sampler_views;
+ /* create special texture, sampler state */
+ if (!aaline_create_texture(aaline))
+ goto fail;
+
+ if (!aaline_create_sampler(aaline))
+ goto fail;
+
/* override the driver's functions */
pipe->create_fs_state = aaline_create_fs_state;
pipe->bind_fs_state = aaline_bind_fs_state;