svga: check sample count devcaps
authorCharmaine Lee <charmainel@vmware.com>
Thu, 16 Nov 2017 06:21:22 +0000 (22:21 -0800)
committerBrian Paul <brianp@vmware.com>
Mon, 10 Sep 2018 19:07:30 +0000 (13:07 -0600)
Check sample count devcaps from the svga device to determine the
supported sample counts.

Reviewed-by: Brian Paul <brianp@vmware.com>
src/gallium/drivers/svga/svga_screen.c

index d5fae6c57b5336b2896b9da24f3f718ffda343f6..f376367f6e2d3420ef426bdcf010e3ac2442ec44 100644 (file)
@@ -1058,6 +1058,14 @@ svga_screen_create(struct svga_winsys_screen *sws)
       svgascreen->maxPointSize = 80.0F;
       svgascreen->max_color_buffers = SVGA3D_DX_MAX_RENDER_TARGETS;
 
+      /* Multisample samples per pixel */
+      if (sws->have_sm4_1 && debug_get_bool_option("SVGA_MSAA", TRUE)) {
+         if (get_bool_cap(sws, SVGA3D_DEVCAP_MULTISAMPLE_2X, FALSE))
+            svgascreen->ms_samples |= 1 << 1;
+         if (get_bool_cap(sws, SVGA3D_DEVCAP_MULTISAMPLE_4X, FALSE))
+            svgascreen->ms_samples |= 1 << 3;
+      }
+
       /* Maximum number of constant buffers */
       svgascreen->max_const_buffers =
          get_uint_cap(sws, SVGA3D_DEVCAP_DX_MAX_CONSTANT_BUFFERS, 1);