summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/texstate.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/main/texstate.c')
-rw-r--r--src/mesa/main/texstate.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/mesa/main/texstate.c b/src/mesa/main/texstate.c
index 269e29194d6..edd22537319 100644
--- a/src/mesa/main/texstate.c
+++ b/src/mesa/main/texstate.c
@@ -840,9 +840,11 @@ _mesa_update_texture_state(struct gl_context *ctx)
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 */