Commit 840154dc authored by José Fonseca's avatar José Fonseca

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: default avatarBrian Paul <brianp@vmware.com>
Reviewed-by: default avatarRoland Scheidegger <sroland@vmware.com>
parent 1a441805
......@@ -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;
......
......@@ -794,13 +794,6 @@ draw_install_pstipple_stage(struct draw_context *draw,
draw->pipeline.pstipple = &pstip->stage;
/* create special texture, sampler state */
if (!pstip_create_texture(pstip))
goto fail;
if (!pstip_create_sampler(pstip))
goto fail;
/* save original driver functions */
pstip->driver_create_fs_state = pipe->create_fs_state;
pstip->driver_bind_fs_state = pipe->bind_fs_state;
......@@ -810,6 +803,13 @@ draw_install_pstipple_stage(struct draw_context *draw,
pstip->driver_set_sampler_views = pipe->set_sampler_views;
pstip->driver_set_polygon_stipple = pipe->set_polygon_stipple;
/* create special texture, sampler state */
if (!pstip_create_texture(pstip))
goto fail;
if (!pstip_create_sampler(pstip))
goto fail;
/* override the driver's functions */
pipe->create_fs_state = pstip_create_fs_state;
pipe->bind_fs_state = pstip_bind_fs_state;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment