From: Marek Olšák <marek.ol...@amd.com> --- src/mesa/main/texstate.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/mesa/main/texstate.c b/src/mesa/main/texstate.c index 269e291..edd2253 100644 --- a/src/mesa/main/texstate.c +++ b/src/mesa/main/texstate.c @@ -833,23 +833,25 @@ update_ff_texture_state(struct gl_context *ctx, void _mesa_update_texture_state(struct gl_context *ctx) { struct gl_program *prog[MESA_SHADER_STAGES]; int i; int old_max_unit = ctx->Texture._MaxEnabledTexImageUnit; BITSET_DECLARE(enabled_texture_units, MAX_COMBINED_TEXTURE_IMAGE_UNITS); memcpy(prog, ctx->_Shader->CurrentProgram, sizeof(prog)); - if (prog[MESA_SHADER_FRAGMENT] == NULL && - _mesa_arb_fragment_program_enabled(ctx)) { - prog[MESA_SHADER_FRAGMENT] = ctx->FragmentProgram.Current; + if (prog[MESA_SHADER_FRAGMENT] == NULL) { + if (_mesa_arb_fragment_program_enabled(ctx)) + prog[MESA_SHADER_FRAGMENT] = ctx->FragmentProgram.Current; + else if (_mesa_ati_fragment_shader_enabled(ctx)) + prog[MESA_SHADER_FRAGMENT] = ctx->ATIFragmentShader.Current->Program; } /* TODO: only set this if there are actual changes */ ctx->NewState |= _NEW_TEXTURE_OBJECT | _NEW_TEXTURE_STATE; ctx->Texture._GenFlags = 0x0; ctx->Texture._TexMatEnabled = 0x0; ctx->Texture._TexGenEnabled = 0x0; ctx->Texture._MaxEnabledTexImageUnit = -1; ctx->Texture._EnabledCoordUnits = 0x0; -- 2.7.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev