summaryrefslogtreecommitdiff
path: root/src/mesa/drivers
diff options
context:
space:
mode:
authorKeith Whitwell <keith@tungstengraphics.com>2005-01-12 17:20:08 +0000
committerKeith Whitwell <keith@tungstengraphics.com>2005-01-12 17:20:08 +0000
commit5ba7d85fea3c3fc687fbd309226a894077afb91c (patch)
tree87377c0ed5ddee5baf1f6ab4f874775bf2988bce /src/mesa/drivers
parent09ac1d1125d6b69dafc548c24a4175d268c7a7bb (diff)
Don't emit HC_SubA_HSPXYOS on CLE266.
Diffstat (limited to 'src/mesa/drivers')
-rw-r--r--src/mesa/drivers/dri/unichrome/via_ioctl.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/mesa/drivers/dri/unichrome/via_ioctl.c b/src/mesa/drivers/dri/unichrome/via_ioctl.c
index 30ca7f6755..efb7cf6b6c 100644
--- a/src/mesa/drivers/dri/unichrome/via_ioctl.c
+++ b/src/mesa/drivers/dri/unichrome/via_ioctl.c
@@ -531,11 +531,19 @@ static void via_emit_cliprect(viaContextPtr vmesa,
vb[4] = ((HC_SubA_HDBBasL << 24) | (offset & 0xFFFFFF));
vb[5] = ((HC_SubA_HDBBasH << 24) | ((offset & 0xFF000000)) >> 24);
- vb[6] = ((HC_SubA_HDBFM << 24) | HC_HDBLoc_Local | format | pitch);
- /* Seems to be ignored on CLE266:
+ /* HSPXYOS seems to be ignored on CLE266, don't emit. This is
+ * required for hardware stipple conformance (as long as we still
+ * have drawXoff).
*/
- vb[7] = ((HC_SubA_HSPXYOS << 24) | ((32 - vmesa->drawXoff) << HC_HSPXOS_SHIFT));
+ if (vmesa->viaScreen->deviceID == VIA_CLE266) {
+ vb[6] = HC_DUMMY;
+ vb[7] = ((HC_SubA_HDBFM << 24) | HC_HDBLoc_Local | format | pitch);
+ }
+ else {
+ vb[6] = ((HC_SubA_HDBFM << 24) | HC_HDBLoc_Local | format | pitch);
+ vb[7] = ((HC_SubA_HSPXYOS << 24) | ((32 - vmesa->drawXoff) << HC_HSPXOS_SHIFT));
+ }
}