Mesa (master): i965: add 2xMSAA and 16xMSAA to DRI configs for Gen9.

Kenneth Graunke kwg at kemper.freedesktop.org
Tue Aug 29 23:35:17 UTC 2017


Module: Mesa
Branch: master
Commit: f6d38785e8b28a6dd303884798b823e289817741
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f6d38785e8b28a6dd303884798b823e289817741

Author: Kevin Rogovin <kevin.rogovin at intel.com>
Date:   Thu Aug 24 14:16:38 2017 +0300

i965: add 2xMSAA and 16xMSAA to DRI configs for Gen9.

Special thanks to Eero Tamminen for reporting rasterizer
numbers being twice what it should be for 2xMSAA under
a benchmark.

Signed-off-by: Kevin Rogovin <kevin.rogovin at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

---

 src/mesa/drivers/dri/i965/intel_screen.c | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/intel_screen.c b/src/mesa/drivers/dri/i965/intel_screen.c
index f98475997d..1f54634f4d 100644
--- a/src/mesa/drivers/dri/i965/intel_screen.c
+++ b/src/mesa/drivers/dri/i965/intel_screen.c
@@ -1882,7 +1882,7 @@ intel_screen_make_configs(__DRIscreen *dri_screen)
    };
 
    static const uint8_t singlesample_samples[1] = {0};
-   static const uint8_t multisample_samples[2]  = {4, 8};
+   static const uint8_t multisample_samples_2_4_8_16[]  = {2, 4, 8, 16};
 
    struct intel_screen *screen = dri_screen->driverPrivate;
    const struct gen_device_info *devinfo = &screen->devinfo;
@@ -1966,6 +1966,7 @@ intel_screen_make_configs(__DRIscreen *dri_screen)
       __DRIconfig **new_configs;
       const int num_depth_stencil_bits = 2;
       int num_msaa_modes = 0;
+      const uint8_t *multisample_samples = NULL;
 
       depth_bits[0] = 0;
       stencil_bits[0] = 0;
@@ -1978,10 +1979,16 @@ intel_screen_make_configs(__DRIscreen *dri_screen)
          stencil_bits[1] = 8;
       }
 
-      if (devinfo->gen >= 7)
+      if (devinfo->gen >= 9) {
+         multisample_samples = multisample_samples_2_4_8_16;
+         num_msaa_modes = 4;
+      } else if (devinfo->gen >= 7) {
+         multisample_samples = multisample_samples_2_4_8_16 + 1;
          num_msaa_modes = 2;
-      else if (devinfo->gen == 6)
+      } else if (devinfo->gen == 6) {
+         multisample_samples = multisample_samples_2_4_8_16 + 1;
          num_msaa_modes = 1;
+      }
 
       new_configs = driCreateConfigs(formats[i],
                                      depth_bits,




More information about the mesa-commit mailing list