[Mesa-dev] [PATCH 3/3] mesa: Stop calling ProgramStringNotify when SamplerUnits changes.
Kenneth Graunke
kenneth at whitecape.org
Wed Jan 11 01:55:46 PST 2012
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 <eric at anholt.net>
Cc: Ian Romanick <idr at freedesktop.org>
Cc: Marek Olšák <maraeo at gmail.com>
Signed-off-by: Kenneth Graunke <kenneth at 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
More information about the mesa-dev
mailing list