diff options
| -rw-r--r-- | src/mesa/drivers/dri/unichrome/via_ioctl.c | 14 | 
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)); +   }  } | 
