svga: only support 4x, 8x, 16x msaa
authorBrian Paul <brianp@vmware.com>
Thu, 20 Jul 2017 20:53:07 +0000 (14:53 -0600)
committerBrian Paul <brianp@vmware.com>
Sat, 22 Jul 2017 19:18:56 +0000 (13:18 -0600)
Skip 2x MSAA, for example, since it's seldom used and just bloats
the list of pixel formats.

Reviewed-by: Charmaine Lee <charmainel@vmware.com>
src/gallium/drivers/svga/svga_screen.c

index 1ec91e57d3d8b7a844b64b886e8faadf36bddbb7..77223c9c91753e931a3fff789fdeb5b0fe2d6947 100644 (file)
@@ -1116,6 +1116,11 @@ svga_screen_create(struct svga_winsys_screen *sws)
             get_uint_cap(sws, SVGA3D_DEVCAP_MULTISAMPLE_MASKABLESAMPLES, 0);
       }
 
+      /* We only support 4x, 8x, 16x MSAA */
+      svgascreen->ms_samples &= ((1 << (4-1)) |
+                                 (1 << (8-1)) |
+                                 (1 << (16-1)));
+
       /* Maximum number of constant buffers */
       svgascreen->max_const_buffers =
          get_uint_cap(sws, SVGA3D_DEVCAP_DX_MAX_CONSTANT_BUFFERS, 1);