https://bugs.freedesktop.org/show_bug.cgi?id=110897
--- Comment #31 from Richard Thier u9vata@gmail.com --- Created attachment 144545 --> https://bugs.freedesktop.org/attachment.cgi?id=144545&action=edit Really no cmask ram it seems
I have faked to have hiz ram and cmask ram just to see what happens. When I am turning on MSAA now I get this glitches from the shared screenshot so I guess it is right that my card is just not having CMASK_RAM.
122 case CHIP_RS480: 123 caps->zmask_ram = RV3xx_ZMASK_SIZE; 124 caps->has_cmask = TRUE; /* guessed because there is also HiZ */ 125 caps->hiz_ram = R300_HIZ_LIMIT; 126 break;
hiz_ram faking seems to have no effect whatsoever.
I have also tried this hack - but it did not help:
diff --git a/src/gallium/drivers/r300/r300_emit.c b/src/gallium/drivers/r300/r300_emit.c index 80c959b95d0..48fafecfdda 100644 --- a/src/gallium/drivers/r300/r300_emit.c +++ b/src/gallium/drivers/r300/r300_emit.c @@ -1224,6 +1224,10 @@ void r300_emit_hiz_clear(struct r300_context *r300, unsigned size, void *state) tex = r300_resource(fb->zsbuf->texture);
BEGIN_CS(size); + // FIXME: Remove this hack! + OUT_CS_REG(R300_ZB_ZCACHE_CTLSTAT, + R300_ZB_ZCACHE_CTLSTAT_ZC_FLUSH_FLUSH_AND_FREE | + R300_ZB_ZCACHE_CTLSTAT_ZC_FREE_FREE); OUT_CS_PKT3(R300_PACKET3_3D_CLEAR_HIZ, 2); OUT_CS(0); OUT_CS(tex->tex.hiz_dwords[fb->zsbuf->u.tex.level]); @@ -1246,6 +1250,9 @@ void r300_emit_zmask_clear(struct r300_context *r300, unsigned size, void *state tex = r300_resource(fb->zsbuf->texture);
BEGIN_CS(size); + OUT_CS_REG(R300_ZB_ZCACHE_CTLSTAT, + R300_ZB_ZCACHE_CTLSTAT_ZC_FLUSH_FLUSH_AND_FREE | + R300_ZB_ZCACHE_CTLSTAT_ZC_FREE_FREE); OUT_CS_PKT3(R300_PACKET3_3D_CLEAR_ZMASK, 2); OUT_CS(0); OUT_CS(tex->tex.zmask_dwords[fb->zsbuf->u.tex.level]);