summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoland Scheidegger <rscheidegger@gmx.ch>2006-11-29 16:41:28 +0000
committerRoland Scheidegger <rscheidegger@gmx.ch>2006-11-29 16:41:28 +0000
commit5785e328e0467a6ca78920e8f553851072087e8a (patch)
treec86f5dff04d98d64deac9e8044c23f36820d808c
parent3cd06cf8c5ef6a27e36c584e12ba79ed8dacbf28 (diff)
call Driver.ProgramStringNotify if a ati_fragment_shader changes and pick up the change in the r200 driver accordingly.
-rw-r--r--src/mesa/drivers/dri/r200/r200_vertprog.c3
-rw-r--r--src/mesa/shader/atifragshader.c2
2 files changed, 5 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/r200/r200_vertprog.c b/src/mesa/drivers/dri/r200/r200_vertprog.c
index b5afe51d82..ce14c617c8 100644
--- a/src/mesa/drivers/dri/r200/r200_vertprog.c
+++ b/src/mesa/drivers/dri/r200/r200_vertprog.c
@@ -1205,6 +1205,9 @@ r200ProgramStringNotify(GLcontext *ctx, GLenum target, struct gl_program *prog)
r200_translate_vertex_program(ctx, vp);
rmesa->curr_vp_hw = NULL;
break;
+ case GL_FRAGMENT_SHADER_ATI:
+ rmesa->afs_loaded = NULL;
+ break;
}
/* need this for tcl fallbacks */
_tnl_program_string(ctx, target, prog);
diff --git a/src/mesa/shader/atifragshader.c b/src/mesa/shader/atifragshader.c
index d349a496dc..4727c1a436 100644
--- a/src/mesa/shader/atifragshader.c
+++ b/src/mesa/shader/atifragshader.c
@@ -400,6 +400,8 @@ _mesa_EndFragmentShaderATI(void)
}
}
#endif
+ if (ctx->Driver.ProgramStringNotify)
+ ctx->Driver.ProgramStringNotify( ctx, GL_FRAGMENT_SHADER_ATI, NULL );
}
void GLAPIENTRY