This turns on window system multisampling. No Piglit regressions on Ivybridge.
Tested with `glxgears -samples 1`. Passes 53/70 of oglconform's winsys multisample tests. The failing tests mostly consist of those that call glDrawPixels on the depth and stencil buffer (which fail due to a swrast fallback) or do fancy things with the msaa alpha enums. CC: Eric Anholt <e...@anholt.net> CC: Ian Romanick <i...@freedesktop.org> Signed-off-by: Chad Versace <chad.vers...@linux.intel.com> --- src/mesa/drivers/dri/intel/intel_screen.c | 44 +++++++++++++++++++++++++++++-- 1 file changed, 42 insertions(+), 2 deletions(-) diff --git a/src/mesa/drivers/dri/intel/intel_screen.c b/src/mesa/drivers/dri/intel/intel_screen.c index 61daea7..420901e 100644 --- a/src/mesa/drivers/dri/intel/intel_screen.c +++ b/src/mesa/drivers/dri/intel/intel_screen.c @@ -866,14 +866,54 @@ intel_screen_make_configs(__DRIscreen *dri_screen) GLX_SWAP_UNDEFINED_OML, GLX_NONE, GLX_SWAP_COPY_OML, }; - static const uint8_t msaa_samples[] = {0}; + static const uint8_t msaa_samples[] = {0, 4}; + + struct intel_screen *screen = dri_screen->driverPrivate; + + int num_msaa_modes; + if (screen->gen >= 6) + num_msaa_modes = 2; + else + num_msaa_modes = 1; /* Starting with DRI2 protocol version 1.1 we can request a depth/stencil * buffer that has a different number of bits per pixel than the color * buffer. This isn't yet supported here. */ struct config_params params[] = { - /* Configs without accumulation buffer. */ + /* Multisample configs. */ + { + .color_format = GL_RGB, + .color_type = GL_UNSIGNED_SHORT_5_6_5, + .depth_sizes = {0, 16}, + .stencil_sizes = {0, 0}, + .num_depth_stencil_sizes = 2, + .num_back_buffer_modes = 1, + .num_msaa_modes = num_msaa_modes, + .enable_accum = false, + }, + { + .color_format = GL_BGR, + .color_type = GL_UNSIGNED_INT_8_8_8_8_REV, + .depth_sizes = {0, 24}, + .stencil_sizes = {0, 8}, + .num_depth_stencil_sizes = 2, + .num_back_buffer_modes = 1, + .num_msaa_modes = num_msaa_modes, + .enable_accum = false, + }, + { + .color_format = GL_BGRA, + .color_type = GL_UNSIGNED_INT_8_8_8_8_REV, + .depth_sizes = {0, 24}, + .stencil_sizes = {0, 8}, + .num_depth_stencil_sizes = 2, + .num_back_buffer_modes = 1, + .num_msaa_modes = num_msaa_modes, + .enable_accum = false, + }, + + /* Single sample configs. */ { .color_format = GL_RGB, .color_type = GL_UNSIGNED_SHORT_5_6_5, -- 1.7.11.2 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev