i965/msaa: Disable unsupported formats.
authorPaul Berry <stereotype441@gmail.com>
Fri, 15 Jun 2012 17:49:58 +0000 (10:49 -0700)
committerPaul Berry <stereotype441@gmail.com>
Wed, 20 Jun 2012 18:28:09 +0000 (11:28 -0700)
commit3b0279a69392a8fcc81ad462ca5623ec2a73f890
treed32024d19c89563e5a34711f5f2b33c1702a698e
parent3becf984248b309639737b2f655cec14c47e2238
i965/msaa: Disable unsupported formats.

Due to hardware limitations, MSAA is unsupported on Gen6 for formats
containing >64 bits of data per pixel.  From the Sandy Bridge PRM,
vol4 part1, p72 ("Surface Format"):

    If Number of Multisamples is set to a value other than
    MULTISAMPLECOUNT_1, this field cannot be set to the following
    formats:
    - any format with greater than 64 bits per element
    - any compressed texture format (BC*)
    - any YCRCB* format

Gen7 has a similar, but less stringent limitation: formats with >64
bits of data per pixel only support 4x MSAA.

This patch causes the unsupported formats to report
GL_FRAMEBUFFER_UNSUPPORTED.

Fixes piglit "multisample-formats" tests on Gen6.

Acked-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_wm_surface_state.c