Mesa (10.2): st/dri: remove GALLIUM_MSAA and __GL_FSAA_MODE environment variables
Emil Velikov
evelikov at kemper.freedesktop.org
Sun Sep 28 19:53:06 UTC 2014
Module: Mesa
Branch: 10.2
Commit: 44dd7cbd52a91be1e16f7751556e28660953b4dc
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=44dd7cbd52a91be1e16f7751556e28660953b4dc
Author: Marek Olšák <marek.olsak at amd.com>
Date: Wed Sep 17 14:08:33 2014 +0200
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 <mesa-stable at lists.freedesktop.org>
Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>
(cherry picked from commit 8449121971ce1db03fea19665d314e523fdc10dd)
---
src/gallium/state_trackers/dri/common/dri_screen.c | 35 --------------------
1 file changed, 35 deletions(-)
diff --git a/src/gallium/state_trackers/dri/common/dri_screen.c b/src/gallium/state_trackers/dri/common/dri_screen.c
index 7a6dcb2..4ab89b8 100644
--- a/src/gallium/state_trackers/dri/common/dri_screen.c
+++ b/src/gallium/state_trackers/dri/common/dri_screen.c
@@ -205,37 +205,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.
*/
@@ -260,10 +229,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:
More information about the mesa-commit
mailing list