mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-06 19:40:10 +01:00
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>
This commit is contained in:
parent
1a44180578
commit
840154dc50
2 changed files with 14 additions and 14 deletions
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue