The idea here is to not flag _NEW_VARYING_VP_INPUTS when shaders (either GLSL or ARB vp/fp) are in use. Fixed function happens when either a) there is no vertex program, or b) it's the current TNL program.
On Pineview, fixes 20 Piglit, 60 oglconforms, and 7 ES 1.1 conformance tests, as well as missing textures in Xonotic. These were all regressions since commit fb4a34e60eb4c1bdc7b0fdcd98d1bf3038c354e8. I have to confess I don't understand exactly why this fixes the problem, but I figured it's better than reverting Marek's patch entirely. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=49127 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54807 Signed-off-by: Kenneth Graunke <kenn...@whitecape.org> --- src/mesa/main/state.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mesa/main/state.c b/src/mesa/main/state.c index 76946bd..5c9c5a5 100644 --- a/src/mesa/main/state.c +++ b/src/mesa/main/state.c @@ -627,7 +627,7 @@ _mesa_set_varying_vp_inputs( struct gl_context *ctx, * * It's okay to check the VP pointer here, because this is called after * _mesa_update_state in the vbo module. */ - if (ctx->VertexProgram._TnlProgram) { + if (!ctx->VertexProgram._Current || ctx->VertexProgram._TnlProgram) { ctx->NewState |= _NEW_VARYING_VP_INPUTS; } /*printf("%s %x\n", __FUNCTION__, varying_inputs);*/ -- 1.7.11.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev