summaryrefslogtreecommitdiff
path: root/src/glsl
diff options
context:
space:
mode:
authorPaul Berry <stereotype441@gmail.com>2013-11-12 10:55:18 -0800
committerIan Romanick <ian.d.romanick@intel.com>2013-11-15 13:39:40 -0800
commit1a163c0b347a089c4db59bbc38d6fc87e2da9e50 (patch)
treea66cb8e94a3a17b2e09a801cec70435623605033 /src/glsl
parent53e681f2fed2ca1f9e288b776d6d74186b988d4f (diff)
i965: Fix vertical alignment for multisampled buffers.
From the Sandy Bridge PRM, Vol 1 Part 1 7.18.3.4 (Alignment Unit Size): j [vertical alignment] = 4 for any render target surface is multisampled (4x) From the Ivy Bridge PRM, Vol 4 Part 1 2.12.2.1 (SURFACE_STATE for most messages), under the "Surface Vertical Alignment" heading: This field is intended to be set to VALIGN_4 if the surface was rendered as a depth buffer, for a multisampled (4x) render target, or for a multisampled (8x) render target, since these surfaces support only alignment of 4. Back in 2012 when we added multisampling support to the i965 driver, we forgot to update the logic for computing the vertical alignment, so we were often using a vertical alignment of 2 for multisampled buffers, leading to subtle rendering errors. Note that the specs also require a vertical alignment of 4 for all Y-tiled render target surfaces; I plan to address that in a separate patch. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=53077 Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net> (cherry picked from commit b4c3b833ec8ec6787658ea90365ff565cd8846c7)
Diffstat (limited to 'src/glsl')
0 files changed, 0 insertions, 0 deletions