diff --git a/src/mesa/main/texstate.c b/src/mesa/main/texstate.c index 46cebe91067..dce8c362da3 100644 --- a/src/mesa/main/texstate.c +++ b/src/mesa/main/texstate.c @@ -2937,8 +2937,11 @@ update_texture_state( GLcontext *ctx ) ctx->Texture._EnabledCoordUnits = ctx->Texture._EnabledUnits; /* Fragment programs may need texture coordinates but not the * corresponding texture images. - */ - if (ctx->FragmentProgram._Enabled) { + */ + if (ctx->ShaderObjects.CurrentProgram != NULL) { + ctx->Texture._EnabledCoordUnits |= (1 << 8) - 1; + } + else if (ctx->FragmentProgram._Enabled) { ctx->Texture._EnabledCoordUnits |= (ctx->FragmentProgram.Current->Base.InputsRead >> FRAG_ATTRIB_TEX0); }