diff options
author | Marek Olšák <[email protected]> | 2014-09-17 14:08:33 +0200 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2014-09-19 20:38:06 +0200 |
commit | 8449121971ce1db03fea19665d314e523fdc10dd (patch) | |
tree | c0c1ec81ccd1e18d986f0d944a3f2b03f95991f7 | |
parent | 001247d230f022fffac68f4578348087a53d3940 (diff) |
st/dri: remove GALLIUM_MSAA and __GL_FSAA_MODE environment variables
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 <[email protected]>
Reviewed-by: Michel Dänzer <[email protected]>
-rw-r--r-- | src/gallium/state_trackers/dri/dri_screen.c | 35 |
1 files changed, 0 insertions, 35 deletions
diff --git a/src/gallium/state_trackers/dri/dri_screen.c b/src/gallium/state_trackers/dri/dri_screen.c index fdcedcba555..9cdebf8e269 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: |