On Thu, Jul 12, 2012 at 10:43 AM, Paul Berry <stereotype...@gmail.com> wrote: > This patch series makes three improvements to the blorp engine (which > does MSAA resolves and other blits) for Gen7: > > Patches 1-3 fix downsampling of integer format framebuffers on Gen7, > by using the "AVG" instruction to average the samples, rather than > adding the samples and performing a division. This is necessary to > avoid overflow with 32-bit integer buffers. In the process, we > rearrange the order of adds/averages to reduce the accumulation of > numerical errors (patch 2). > > Patch 4 adds an optimization to the MSAA resolve when using Gen7's CMS > MSAA layout: when the MCS buffer indicates that all samples > corresponding to a given pixel contain the same color value, we don't > have to load all the samples and average them; we just load the first > sample and use its value. > > Patches 5-7 make blorp take advantage of the 3D pipeline's ability to > decode the IMS MSAA layout when reading from depth and stencil > textures. Previously blorp would emit extra shader instructions to > account for the IMS MSAA layout. This change should make blits from > multisampled depth and stencil buffers more efficient. > > [PATCH 1/7] i965: Add support for AVG instruction. > [PATCH 2/7] i965/blorp: Modify manual_blend() to avoid unnecessary loss of > precision. > [PATCH 3/7] i965/blorp: Fix integer downsampling on Gen7. > [PATCH 4/7] i965/blorp: Optimize manual_blend() for compressed multisampled > surfaces. > [PATCH 5/7] i965/blorp: Configure SURFACE_STATE correctly for IMS surfaces. > [PATCH 6/7] i965/blorp: Loosen assertions in compute_msaa_layout_for_pipeline. > [PATCH 7/7] i965/blorp: Use IMS layout when texturing from depth/stencil > surfaces.
Paul, Most of the code in these patches was unfamiliar to me. I reviewed these patches by referring to ivybridge PRM and assume that you have already tested them on a ivybridge system. I couldn't test because i don't have one. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev