From 8b88f62fbd62153500fc3483003f438561366a00 Mon Sep 17 00:00:00 2001 From: Keith Whitwell Date: Tue, 10 May 2005 11:39:50 +0000 Subject: Better driver notification on changes. --- src/mesa/main/texenvprogram.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/mesa/main/texenvprogram.c b/src/mesa/main/texenvprogram.c index 1618287af6d..77879de8acb 100644 --- a/src/mesa/main/texenvprogram.c +++ b/src/mesa/main/texenvprogram.c @@ -37,7 +37,7 @@ #include "shader/arbfragparse.h" -#define DISASSEM 1 +#define DISASSEM 0 /* Use uregs to represent registers internally, translate to Mesa's * expected formats on emit. @@ -691,12 +691,10 @@ void _mesa_UpdateTexEnvProgram( GLcontext *ctx ) if (ctx->FragmentProgram._Enabled) return; - if (ctx->_TexEnvProgram) - ctx->Driver.DeleteProgram(ctx, ctx->_TexEnvProgram); - - ctx->FragmentProgram._Current = ctx->_TexEnvProgram = - (struct fragment_program *) - ctx->Driver.NewProgram(ctx, GL_FRAGMENT_PROGRAM_ARB, 0); + if (!ctx->_TexEnvProgram) + ctx->FragmentProgram._Current = ctx->_TexEnvProgram = + (struct fragment_program *) + ctx->Driver.NewProgram(ctx, GL_FRAGMENT_PROGRAM_ARB, 0); p.ctx = ctx; p.program = ctx->_TexEnvProgram; @@ -779,6 +777,11 @@ void _mesa_UpdateTexEnvProgram( GLcontext *ctx ) p.program->Instructions); _mesa_printf("\n"); #endif + + /* Notify driver the fragment program has (potentially) changed. + */ + ctx->Driver.ProgramStringNotify( ctx, GL_FRAGMENT_PROGRAM_ARB, + p.program ); } -- cgit v1.2.3