diff options
Diffstat (limited to 'src/mesa/tnl/t_context.c')
-rw-r--r-- | src/mesa/tnl/t_context.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/mesa/tnl/t_context.c b/src/mesa/tnl/t_context.c index 48119d2d58e..a6a7cdc738b 100644 --- a/src/mesa/tnl/t_context.c +++ b/src/mesa/tnl/t_context.c @@ -95,7 +95,11 @@ _tnl_CreateContext( GLcontext *ctx ) _tnl_save_init( ctx ); _tnl_array_init( ctx ); _tnl_vtx_init( ctx ); - _tnl_install_pipeline( ctx, _tnl_default_pipeline ); + + if (ctx->_MaintainTnlProgram) + _tnl_install_pipeline( ctx, _tnl_vp_pipeline ); + else + _tnl_install_pipeline( ctx, _tnl_default_pipeline ); /* Initialize the arrayelt helper */ @@ -140,6 +144,8 @@ _tnl_DestroyContext( GLcontext *ctx ) _tnl_destroy_pipeline( ctx ); _ae_destroy_context( ctx ); + _tnl_ProgramCacheDestroy( ctx ); + FREE(tnl); ctx->swtnl_context = NULL; } |