[Mesa-dev] [PATCH] i965: Disable guardband clipping on SNB unless workaround is present.

Paul Berry stereotype441 at gmail.com
Sun Oct 7 18:06:30 PDT 2012

On 7 October 2012 15:38, Kenneth Graunke <kenneth at whitecape.org> wrote:

> On 10/07/2012 02:40 PM, Daniel Vetter wrote:
>> On Fri, Oct 05, 2012 at 05:08:04PM -0700, Kenneth Graunke wrote:
>>> According to internal bug reports, guardband clipping sometimes
>>> incorrectly discards triangles unless bit 5 of 3D_CHICKEN3 ("SF Disable
>>> fastclip optimization when culled") is set.
>>> Experimentally, this appears to be true.  With guardband clipping
>>> enabled, Dante randomly loses triangles unless bit 5 is set.
>>> The BSpec indicates that the default value of the register is supposed
>>> to be 0x20 (just bit 5), but on my Lenovo X220 it appears to be 0.
>>> Daniel attempted to implement the workaround via a kernel patch named
>>>     drm/i915: implement w/a for incorrect guarband clipping
>>> but unfortunately, the write isn't taking effect for some reason.
>>> Fixes clipping issues in Dante.
>>> Bugzilla: https://bugs.freedesktop.org/**show_bug.cgi?id=53946<https://bugs.freedesktop.org/show_bug.cgi?id=53946>
>>> Bugzilla: https://bugs.freedesktop.org/**show_bug.cgi?id=55523<https://bugs.freedesktop.org/show_bug.cgi?id=55523>
>>> Cc: Oliver McFadden <oliver.mcfadden at linux.intel.**com<oliver.mcfadden at linux.intel.com>
>>> >
>>> Cc: nkalkhof at web.de
>>> Cc: Eric Anholt <eric at anholt.net>
>>> Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
>> Does this really work as advertised?
>> The reg_read_ioctl is brand-new, only merged into 3.7. And it has a
>> whitelist of registers that userspace is allowed to read, and CHICKEN_3 is
>> not on it.
>> -Daniel
> Oh.  Damn.  I neglected to check that it ever returned success.
> The fact that it's new is fine, as the fix is newer.  If the ioctl didn't
> exist, it would simply turn off guardband clipping.
> But you're right, since we can't read 3D_CHICKEN3, we'd just turn it off
> unilaterally.  That sucks.
> I'm not sure what to do then.
Can we make a kernel patch that adds 3D_CHICKEN3 to the whitelist?  That
would at least allow guardband clipping to work with future kernels.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20121007/dbb3ca4b/attachment.html>

More information about the mesa-dev mailing list