Merge remote branch 'origin/master' into gallium_draw_llvm
[mesa.git] / src / gallium / drivers / i965 / brw_misc_state.c
index ce3e48f36075aa399b214d02befe35b89721b959..e3f25bdf622c4d570de7aeb9221a7ed5768e0e92 100644 (file)
@@ -231,7 +231,7 @@ static int prepare_depthbuffer(struct brw_context *brw)
    struct pipe_surface *zsbuf = brw->curr.fb.zsbuf;
 
    if (zsbuf)
-      brw_add_validated_bo(brw, brw_surface_bo(zsbuf));
+      brw_add_validated_bo(brw, brw_surface(zsbuf)->bo);
 
    return 0;
 }
@@ -265,6 +265,7 @@ static int emit_depthbuffer(struct brw_context *brw)
         format = BRW_DEPTHFORMAT_D16_UNORM;
         cpp = 2;
         break;
+      case PIPE_FORMAT_Z24X8_UNORM:
       case PIPE_FORMAT_Z24S8_UNORM:
         format = BRW_DEPTHFORMAT_D24_UNORM_S8_UINT;
         cpp = 4;
@@ -278,8 +279,8 @@ static int emit_depthbuffer(struct brw_context *brw)
         return PIPE_ERROR_BAD_INPUT;
       }
 
-      bo = brw_surface_bo(surface);
-      pitch = brw_surface_pitch(surface);
+      bo = brw_surface(surface)->bo;
+      pitch = brw_surface(surface)->pitch;
 
       BEGIN_BATCH(len, IGNORE_CLIPRECTS);
       OUT_BATCH(CMD_DEPTH_BUFFER << 16 | (len - 2));
@@ -344,7 +345,9 @@ const struct brw_tracked_state brw_polygon_stipple = {
 static int upload_line_stipple(struct brw_context *brw)
 {
    const struct brw_line_stipple *bls = &brw->curr.rast->bls;
-   BRW_CACHED_BATCH_STRUCT(brw, bls);
+   if (bls->header.opcode) {
+      BRW_CACHED_BATCH_STRUCT(brw, bls);
+   }
    return 0;
 }