summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2010-08-13 04:34:38 +0200
committerMarek Olšák <[email protected]>2010-08-13 04:41:38 +0200
commitaa6bdd38af344f7f2ea9956d2ed415f26e8f07cb (patch)
treed5b793df2d3a7d111bc0d83672746df27db1ebdd
parent4985ce1755c5d6f4fa6281150ae0bf7df594146f (diff)
r300g: fix fastfill when color and Z clear are invoked separately
This always restores the previous depth clear value after CBZB clear.
-rw-r--r--src/gallium/drivers/r300/r300_blit.c2
-rw-r--r--src/gallium/drivers/r300/r300_state.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/gallium/drivers/r300/r300_blit.c b/src/gallium/drivers/r300/r300_blit.c
index ff52286b5cd..5fe9b9017d1 100644
--- a/src/gallium/drivers/r300/r300_blit.c
+++ b/src/gallium/drivers/r300/r300_blit.c
@@ -176,7 +176,7 @@ static void r300_clear(struct pipe_context* pipe,
uint32_t width = fb->width;
uint32_t height = fb->height;
boolean has_hyperz = r300->rws->get_value(r300->rws, R300_CAN_HYPERZ);
- uint32_t hyperz_dcv = 0;
+ uint32_t hyperz_dcv = hyperz->zb_depthclearvalue;
/* Enable fast Z clear.
* The zbuffer must be in micro-tiled mode, otherwise it locks up. */
diff --git a/src/gallium/drivers/r300/r300_state.c b/src/gallium/drivers/r300/r300_state.c
index e62a33daebd..8abc65a2b8e 100644
--- a/src/gallium/drivers/r300/r300_state.c
+++ b/src/gallium/drivers/r300/r300_state.c
@@ -796,7 +796,7 @@ static void
r300->z_compression, r300->z_fastfill,
tex->zmask_mem[level] ? tex->zmask_mem[level]->ofs : 0xdeadbeef);
}
-
+
/* Polygon offset depends on the zbuffer bit depth. */
if (r300->zbuffer_bpp != zbuffer_bpp) {
r300->zbuffer_bpp = zbuffer_bpp;