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. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev