summaryrefslogtreecommitdiffstats
path: root/src/mesa/tnl/t_vp_build.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/tnl/t_vp_build.c')
-rw-r--r--src/mesa/tnl/t_vp_build.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/mesa/tnl/t_vp_build.c b/src/mesa/tnl/t_vp_build.c
index b28102b1b91..a588b0d16b0 100644
--- a/src/mesa/tnl/t_vp_build.c
+++ b/src/mesa/tnl/t_vp_build.c
@@ -134,6 +134,13 @@ static struct state_key *make_state_key( GLcontext *ctx )
assert(fp);
key->fragprog_inputs_read = fp->Base.InputsRead;
+ if (ctx->RenderMode == GL_FEEDBACK) {
+ /* This is a bit of a hack, but you can imagine feedback mode as using
+ * a special no-op fragment shader that just requires particular
+ * inputs (inputs which satisfy feedback mode).
+ */
+ key->fragprog_inputs_read |= FRAG_BIT_COL0 | FRAG_BIT_TEX0;
+ }
key->separate_specular = (ctx->Light.Model.ColorControl ==
GL_SEPARATE_SPECULAR_COLOR);