diff options
Diffstat (limited to 'src/mesa/tnl/t_vp_build.c')
-rw-r--r-- | src/mesa/tnl/t_vp_build.c | 7 |
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); |