summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKeith Whitwell <[email protected]>2005-05-10 11:41:33 +0000
committerKeith Whitwell <[email protected]>2005-05-10 11:41:33 +0000
commitd9fdb6c2bb52b4909265f504287ee8e4bc2d919f (patch)
tree3e3759689354fe0c6c76c0f314682fe62e09d838 /src
parent9eef0da109414228bfd2b2c6409bcb948694be0f (diff)
Missing from previous commit
Diffstat (limited to 'src')
-rw-r--r--src/mesa/tnl/t_vb_arbprogram.c4
-rw-r--r--src/mesa/tnl/t_vp_build.c8
2 files changed, 8 insertions, 4 deletions
diff --git a/src/mesa/tnl/t_vb_arbprogram.c b/src/mesa/tnl/t_vb_arbprogram.c
index cb7639c33de..3be82c72985 100644
--- a/src/mesa/tnl/t_vb_arbprogram.c
+++ b/src/mesa/tnl/t_vb_arbprogram.c
@@ -1383,7 +1383,7 @@ run_arb_vertex_program(GLcontext *ctx, struct tnl_pipeline_stage *stage)
{
struct vertex_program *program = (ctx->VertexProgram._Enabled ?
ctx->VertexProgram.Current :
- &ctx->_TnlProgram);
+ ctx->_TnlProgram);
struct vertex_buffer *VB = &TNL_CONTEXT(ctx)->vb;
struct arb_vp_machine *m = ARB_VP_MACHINE(stage);
GLuint i, j, outputs = program->OutputsWritten;
@@ -1479,7 +1479,7 @@ validate_vertex_program( GLcontext *ctx, struct tnl_pipeline_stage *stage )
#if TNL_FIXED_FUNCTION_PROGRAM
if (!program) {
- program = &ctx->_TnlProgram;
+ program = ctx->_TnlProgram;
}
#endif
diff --git a/src/mesa/tnl/t_vp_build.c b/src/mesa/tnl/t_vp_build.c
index 9034fc77121..22dc595abb8 100644
--- a/src/mesa/tnl/t_vp_build.c
+++ b/src/mesa/tnl/t_vp_build.c
@@ -1097,10 +1097,14 @@ void _tnl_UpdateFixedFunctionProgram( GLcontext *ctx )
if (ctx->VertexProgram._Enabled)
return;
+
+ if (!ctx->_TnlProgram)
+ ctx->_TnlProgram = (struct vertex_program *)
+ ctx->Driver.NewProgram(ctx, GL_VERTEX_PROGRAM_ARB, 0);
memset(&p, 0, sizeof(p));
p.ctx = ctx;
- p.program = &ctx->_TnlProgram;
+ p.program = ctx->_TnlProgram;
p.eye_position = undef;
p.eye_position_normalized = undef;
@@ -1122,7 +1126,7 @@ void _tnl_UpdateFixedFunctionProgram( GLcontext *ctx )
p.program->Base.NumAttributes = p.program->Base.NumAddressRegs = 0;
if (p.program->Parameters)
_mesa_free_parameter_list(p.program->Parameters);
- p.program->Parameters = _mesa_new_parameter_list ();
+ p.program->Parameters = _mesa_new_parameter_list();
p.program->InputsRead = 0;
p.program->OutputsWritten = 0;