freedreno/a4xx: lower srgb in shader for astc textures
[mesa.git] / src / gallium / drivers / freedreno / a4xx / fd4_emit.c
index 58ddf2aeebe5bd48041cf75331f3a4b3a7828ba5..81ed16ce8acc1a2e56d8440bac531bd1d0a3c6e5 100644 (file)
@@ -606,7 +606,11 @@ fd4_emit_state(struct fd_context *ctx, struct fd_ringbuffer *ring,
 
        if (dirty & (FD_DIRTY_PROG | FD_DIRTY_FRAMEBUFFER)) {
                struct pipe_framebuffer_state *pfb = &ctx->framebuffer;
-               fd4_program_emit(ring, emit, pfb->nr_cbufs, pfb->cbufs);
+               unsigned n = pfb->nr_cbufs;
+               /* if we have depth/stencil, we need at least on MRT: */
+               if (pfb->zsbuf)
+                       n = MAX2(1, n);
+               fd4_program_emit(ring, emit, n, pfb->cbufs);
        }
 
        if (emit->prog == &ctx->prog) { /* evil hack to deal sanely with clear path */