[Mesa-dev] [PATCH] i965/gen7: workaround alpha blending problems with CMS MSAA buffers.

Kenneth Graunke kenneth at whitecape.org
Tue Nov 12 11:36:28 PST 2013


On 11/12/2013 11:06 AM, Paul Berry wrote:
> On 4 November 2013 14:24, Paul Berry <stereotype441 at gmail.com
> <mailto:stereotype441 at gmail.com>> wrote:
> 
>     i965/gen7 hardware doesn't perform alpha blending correctly when
>     compressed (CMS) multisampled buffers are in use.  Therefore, we need
>     to detect when alpha blending is used on a compressed multisampled
>     buffer, and convert the buffer to uncompressed (UMS) layout.
> 
>     Once a given buffer has been converted from CMS to UMS, we leave it in
>     UMS mode forever after, because (a) the conversion is expensive, and
>     (b) it seems likely that if alpha blending is performed on a buffer
>     once, it will probably be performed again on subsequent frames.
> 
>     Fixes glitches in GTA San Andreas under Wine.
> 
>     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=53077
> 
> 
> NAK this patch.  I found the true source of the problem: multisampled
> buffers need to use a vertical alignment of 4.  We were using a vertical
> alignment of 2.
> 
> I'll follow up with a proper fix ASAP.

Haha...that's going to be a bit nicer :)  A two line patch instead of
this monstrous blit thing.

Nice find!

--Ken



More information about the mesa-dev mailing list