summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/mesa/swrast/s_span.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/mesa/swrast/s_span.c b/src/mesa/swrast/s_span.c
index 4fcd4d22517..ad55e1b10c3 100644
--- a/src/mesa/swrast/s_span.c
+++ b/src/mesa/swrast/s_span.c
@@ -1423,11 +1423,15 @@ _swrast_write_rgba_span( GLcontext *ctx, SWspan *span)
deferredTexture = GL_FALSE;
}
else if (shaderOrTexture) {
- if (ctx->FragmentProgram._Enabled &&
- (ctx->FragmentProgram.Current->Base.OutputsWritten
- & (1 << FRAG_RESULT_DEPR))) {
- /* Z comes from fragment program */
- deferredTexture = GL_FALSE;
+ if (ctx->FragmentProgram._Enabled) {
+ if (ctx->FragmentProgram.Current->Base.OutputsWritten
+ & (1 << FRAG_RESULT_DEPR)) {
+ /* Z comes from fragment program */
+ deferredTexture = GL_FALSE;
+ }
+ else {
+ deferredTexture = GL_TRUE;
+ }
}
else if (ctx->ShaderObjects._FragmentShaderPresent) {
/* XXX how do we test if Z is written by shader? */