Merge remote-tracking branch 'origin/master' into pipe-video
[mesa.git] / src / gallium / drivers / softpipe / sp_state_surface.c
index 794a9225b86bafedf158617580fb4fec1f2f2258..2db6faeca465ae838193f20a33f7b4c19f852781 100644 (file)
@@ -34,6 +34,9 @@
 
 #include "draw/draw_context.h"
 
+#include "util/u_format.h"
+#include "util/u_inlines.h"
+
 
 /**
  * XXX this might get moved someday
@@ -48,6 +51,8 @@ softpipe_set_framebuffer_state(struct pipe_context *pipe,
    struct softpipe_context *sp = softpipe_context(pipe);
    uint i;
 
+   draw_flush(sp->draw);
+
    for (i = 0; i < PIPE_MAX_COLOR_BUFS; i++) {
       /* check if changing cbuf */
       if (sp->framebuffer.cbufs[i] != fb->cbufs[i]) {
@@ -79,8 +84,9 @@ softpipe_set_framebuffer_state(struct pipe_context *pipe,
       if (sp->framebuffer.zsbuf) {
          int depth_bits;
          double mrd;
-         depth_bits = pf_get_component_bits(sp->framebuffer.zsbuf->format,
-                                            PIPE_FORMAT_COMP_Z);
+         depth_bits = util_format_get_component_bits(sp->framebuffer.zsbuf->format,
+                                                     UTIL_FORMAT_COLORSPACE_ZS,
+                                                     0);
          if (depth_bits > 16) {
             mrd = 0.0000001;
          }