This rather rudely told the driver the moral equivalent of "Your shader code changed in an unimaginable way---don't assume anything; recompile!"
The i965 driver used to rely on this in order to recompile the program when SamplerUnits changed. It now properly listens to _NEW_PROGRAM and _NEW_TEXTURE, which this code flags, and does the right thing. According to Marek, st/mesa doesn't need nor want a ProgramStringNotify here. The classic radeon, r200, and nouveau drivers don't use the SamplerUnits array, so they should be unaffected. (Unfortunately I think i915 may still rely on this :( Ian/Eric, can you confirm or deny that? It doesn't seem to have any of the program caching, which seems rather horrible...) Cc: Eric Anholt <e...@anholt.net> Cc: Ian Romanick <i...@freedesktop.org> Cc: Marek Olšák <mar...@gmail.com> Signed-off-by: Kenneth Graunke <kenn...@whitecape.org> --- src/mesa/main/uniform_query.cpp | 1 - 1 files changed, 0 insertions(+), 1 deletions(-) This has survived a piglit run on Sandybridge, as well as basic openarena and Cogs functionality. It hasn't received testing on other platforms. diff --git a/src/mesa/main/uniform_query.cpp b/src/mesa/main/uniform_query.cpp index f3d6a16..8c96117 100644 --- a/src/mesa/main/uniform_query.cpp +++ b/src/mesa/main/uniform_query.cpp @@ -729,7 +729,6 @@ _mesa_uniform(struct gl_context *ctx, struct gl_shader_program *shProg, sizeof(shProg->SamplerUnits)); _mesa_update_shader_textures_used(prog); - (void) ctx->Driver.ProgramStringNotify(ctx, prog->Target, prog); } } } -- 1.7.7.5 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev