summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mesa/tnl/t_vp_build.c13
1 files changed, 2 insertions, 11 deletions
diff --git a/src/mesa/tnl/t_vp_build.c b/src/mesa/tnl/t_vp_build.c
index 0fc4f6c6b5..d552748b6c 100644
--- a/src/mesa/tnl/t_vp_build.c
+++ b/src/mesa/tnl/t_vp_build.c
@@ -1489,22 +1489,12 @@ void _tnl_UpdateFixedFunctionProgram( GLcontext *ctx )
GLuint hash;
struct vertex_program *prev = ctx->VertexProgram._Current;
- if (ctx->VertexProgram._Enabled) {
+ if (ctx->VertexProgram._Enabled == GL_FALSE) {
/* Grab all the relevent state and put it in a single structure:
*/
key = make_state_key(ctx);
hash = hash_key(key);
- if (tnl->vp_cache == NULL) {
- tnl->vp_cache = MALLOC(sizeof(*tnl->vp_cache));
- tnl->vp_cache->size = 5;
- tnl->vp_cache->n_items = 0;
- tnl->vp_cache->items = MALLOC(tnl->vp_cache->size *
- sizeof(*tnl->vp_cache->items));
- _mesa_memset(tnl->vp_cache->items, 0, tnl->vp_cache->size *
- sizeof(*tnl->vp_cache->items));
- }
-
/* Look for an already-prepared program for this state:
*/
ctx->_TnlProgram = (struct vertex_program *)
@@ -1530,6 +1520,7 @@ void _tnl_UpdateFixedFunctionProgram( GLcontext *ctx )
if (0)
_mesa_printf("Found existing TNL program for key %x\n", hash);
}
+ ctx->VertexProgram._Current = ctx->_TnlProgram;
}
else {
ctx->VertexProgram._Current = ctx->VertexProgram.Current;