[Mesa-dev] [PATCH 00/10] i965/msaa: several small fixups.

Paul Berry stereotype441 at gmail.com
Wed Jul 18 08:15:11 PDT 2012


This series contains several small fixups to the MSAA code for Intel
chipsets, and to the blorp engine (which handles both MSAA resolves
and general blits).

Patches 1-2 fix a bug that prevented MSAA from working at all if the
framebuffer lacked a color buffer: we were erroneously basing the
decision of whether to set up the 3D pipeline for multisampling based
on the sample count of the first color buffer.  As a result, if there
was no color buffer, multisampling did not occur.

Patches 3-4 fix a GPU hang on Gen6 that would sometimes happen if the
framebuffer lacked a color buffer: null render targets (which are used
in place of the color buffer if none is present) don't appear to work
with multisampling on Gen6.  To work around the problem, we create a
small dummy buffer to render into.

Patches 5-6 fix a problem with scissoring of blits to window system
framebuffers, having to do with the flipped Y axis in window system
framebuffers: we were doing the scissoring and the Y axis flipping in
the wrong order.

Patches 7-9 modify the blorp engine to respect the DrawBuffers setting
when doing blits.  Previously we would just blit to the first enabled
draw buffer.

Finally, patch 10 removes a comment that was explaining why we had
previously claimed to support MSAA even though we didn't.  Now that we
do support MSAA, the comment is irrelevant.

This patch series depends on a previous patch series that is still
being reviewed ([PATCH 0/7] i965/blorp: Improvements to the blorp
engine for Gen7), so it probably won't apply cleanly to master.  To
see the patch series in the proper context, please fetch from branch
"msaa-fixups" on git://github.com/stereotype441/mesa.git.

[PATCH 01/10] msaa: Compute visual samples/sampleBuffers from all buffers.
[PATCH 02/10] i965/msaa: Control multisampling behaviour via the visual.
[PATCH 03/10] i965: Set width, height, and tiling properly for null render targets.
[PATCH 04/10] i965/msaa: Work around problems with null render targets on Gen6.
[PATCH 05/10] i965/blorp: Simplify check that src/dst width/height match.
[PATCH 06/10] i965/blorp: Fixup scissoring of blits to window system buffers.
[PATCH 07/10] i965/blorp: Don't fall back to swrast when miptrees absent.
[PATCH 08/10] i965/blorp: Rearrange order of blit validation and preparation steps.
[PATCH 09/10] i965/blorp: Handle DrawBuffers properly.
[PATCH 10/10] i965/msaa: Remove comment about falsely claiming to support MSAA.


More information about the mesa-dev mailing list