From 8449121971ce1db03fea19665d314e523fdc10dd Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Wed, 17 Sep 2014 14:08:33 +0200 Subject: [PATCH] st/dri: remove GALLIUM_MSAA and __GL_FSAA_MODE environment variables MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Some users don't understand that these variables can break OpenGL. The general is rule is that if an app supports MSAA, you mustn't use GALLIUM_MSAA. For example, if an app has an 8xMSAA FBO and GALLIUM_MSAA=4 is set, resolving the FBO to the back buffer will be rejected which will look like this on all gallium drivers: http://www.phoronix.com/scan.php?page=article&item=amd_radeonsi_msaa The environment variables also have no effect on modern apps like TF2, but there is still a performance hit due to wasted bandwidth and VRAM. In a nutshell, it does more harm than good. Cc: 10.2 10.3 Reviewed-by: Michel Dänzer --- src/gallium/state_trackers/dri/dri_screen.c | 35 ----------------------------- 1 file changed, 35 deletions(-) diff --git a/src/gallium/state_trackers/dri/dri_screen.c b/src/gallium/state_trackers/dri/dri_screen.c index fdcedcb..9cdebf8 100644 --- a/src/gallium/state_trackers/dri/dri_screen.c +++ b/src/gallium/state_trackers/dri/dri_screen.c @@ -227,37 +227,6 @@ dri_fill_in_modes(struct dri_screen *screen) return (const __DRIconfig **)configs; } -/* The Gallium way to force MSAA. */ -DEBUG_GET_ONCE_NUM_OPTION(msaa, "GALLIUM_MSAA", 0); - -/* The NVIDIA way to force MSAA. The same variable is used by the NVIDIA - * driver. */ -DEBUG_GET_ONCE_NUM_OPTION(msaa_nv, "__GL_FSAA_MODE", 0); - -static void -dri_force_msaa_visual(struct st_visual *stvis, - struct pipe_screen *screen) -{ - int i; - int samples = debug_get_option_msaa(); - - if (!samples) - samples = debug_get_option_msaa_nv(); - - if (samples <= 1) - return; /* nothing to do */ - - /* Choose a supported sample count greater than or equal to samples. */ - for (i = samples; i <= MSAA_VISUAL_MAX_SAMPLES; i++) { - if (screen->is_format_supported(screen, stvis->color_format, - PIPE_TEXTURE_2D, i, - PIPE_BIND_RENDER_TARGET)) { - stvis->samples = i; - break; - } - } -} - /** * Roughly the converse of dri_fill_in_modes. */ @@ -282,10 +251,6 @@ dri_fill_st_visual(struct st_visual *stvis, struct dri_screen *screen, if (mode->sampleBuffers) { stvis->samples = mode->samples; } - else { - /* This must be done after stvis->color_format is set. */ - dri_force_msaa_visual(stvis, screen->base.screen); - } switch (mode->depthBits) { default: -- 2.7.4