summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/cell/spu/spu_tile.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/pipe/cell/spu/spu_tile.h')
-rw-r--r--src/mesa/pipe/cell/spu/spu_tile.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/mesa/pipe/cell/spu/spu_tile.h b/src/mesa/pipe/cell/spu/spu_tile.h
index f83dc009c2..18d1b3c117 100644
--- a/src/mesa/pipe/cell/spu/spu_tile.h
+++ b/src/mesa/pipe/cell/spu/spu_tile.h
@@ -42,6 +42,7 @@
typedef union {
ushort t16[TILE_SIZE][TILE_SIZE];
uint t32[TILE_SIZE][TILE_SIZE];
+ float4 f4[TILE_SIZE/2][TILE_SIZE/2];
} tile_t;
@@ -83,9 +84,18 @@ clear_z_tile(tile_t *ztile)
TILE_SIZE * TILE_SIZE);
}
else {
+ ASSERT(spu.fb.depth_format == PIPE_FORMAT_Z32_UNORM);
+#if SIMD_Z
+ union fi z;
+ z.f = 1.0;
+ memset32((uint*) ztile->t32,
+ z.i,/*spu.fb.depth_clear_value,*/
+ TILE_SIZE * TILE_SIZE);
+#else
memset32((uint*) ztile->t32,
spu.fb.depth_clear_value,
TILE_SIZE * TILE_SIZE);
+#endif
}
}