From f6d38785e8b28a6dd303884798b823e289817741 Mon Sep 17 00:00:00 2001 From: Kevin Rogovin Date: Thu, 24 Aug 2017 14:16:38 +0300 Subject: [PATCH] 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 Reviewed-by: Kenneth Graunke --- 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 f98475997d3..1f54634f4da 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, -- 2.30.2