st/mesa: only enable GL_EXT_framebuffer_multisample if GL_MAX_SAMPLES >= 2
authorBrian Paul <brianp@vmware.com>
Mon, 28 Jan 2013 18:32:13 +0000 (11:32 -0700)
committerBrian Paul <brianp@vmware.com>
Tue, 29 Jan 2013 15:59:53 +0000 (08:59 -0700)
We never really have multisampling with one sample per pixel.
See also http://bugs.freedesktop.org/show_bug.cgi?id=59873

Note: This is a candidate for the 9.0 branch.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
src/mesa/state_tracker/st_extensions.c

index f0d8a4cae1d8e4a7f86d29249c84814f440f375e..34c0d7b40520ac9ed2aa5f2b6d30e998c92de0f6 100644 (file)
@@ -534,7 +534,6 @@ void st_init_extensions(struct st_context *st)
    ctx->Extensions.EXT_blend_minmax = GL_TRUE;
    ctx->Extensions.EXT_framebuffer_blit = GL_TRUE;
    ctx->Extensions.EXT_framebuffer_object = GL_TRUE;
-   ctx->Extensions.EXT_framebuffer_multisample = GL_TRUE;
    ctx->Extensions.EXT_fog_coord = GL_TRUE;
    ctx->Extensions.EXT_gpu_program_parameters = GL_TRUE;
    ctx->Extensions.EXT_pixel_buffer_object = GL_TRUE;
@@ -657,6 +656,9 @@ void st_init_extensions(struct st_context *st)
       /* one sample doesn't really make sense */
       ctx->Const.MaxSamples = 0;
    }
+   else if (ctx->Const.MaxSamples >= 2) {
+      ctx->Extensions.EXT_framebuffer_multisample = GL_TRUE;
+   }
 
    if (ctx->Const.MaxDualSourceDrawBuffers > 0)
       ctx->Extensions.ARB_blend_func_extended = GL_TRUE;