[Mesa-dev] [PATCH 0/8] i965/msaa: Implement CMS MSAA layout for Gen7.

Paul Berry stereotype441 at gmail.com
Fri Jul 6 15:29:37 PDT 2012

This patch series adds support for the "Compressed Multisample
Surface" layout, which should speed up multisample rendering on Gen7
by decreasing memory bandwidth requirements.

Patches 1-2 do preparatory refactoring, including creating a function
to determine which MSAA layout should be used based on chipset
capabilities.  Initially CMS layout is not switched on, so these
patches should not produce any functional change.

Patch 3 adds code to create the MCS buffer (an auxiliary buffer the
hardware uses to keep track of the state of compression when CMS is in
use).  Patches 4-5 ensure that the state of the MCS buffer is properly
communicated to the hardware when CMS is in use.  Patches 6-7 update
blorp to properly account for the CMS layout when doing blits.  These
patches should not produce any functional change either, since CMS
layout is still switched off.

Finally, patch 8 switches on CMS layout for hardware/format
combinations that support it (Gen7 supports it on all formats except
signed integer).

No piglit regressions on Gen6 or Gen7.

[PATCH 1/8] i965/msaa: Move {rt,tex}_interleaved into blorp program key.
[PATCH 2/8] i965/msaa: Add an enum to describe MSAA layout.
[PATCH 3/8] i965/msaa: Allocate MCS buffer when CMS MSAA is in use.
[PATCH 4/8] i965/msaa: Add CMS MSAA settings to brw_structs.h.
[PATCH 5/8] i965/msaa: Set SURFACE_STATE properly when CMS MSAA is in use.
[PATCH 6/8] i965/msaa: Add CMS-related sampler messages to brw_defines.h
[PATCH 7/8] i965/msaa: Add CMS support to blorp.
[PATCH 8/8] i965/msaa: Enable CMS layout on Gen7 for the formats that support it.

More information about the mesa-dev mailing list