diff options
Diffstat (limited to 'src/glx/drisw_glx.c')
-rw-r--r-- | src/glx/drisw_glx.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/glx/drisw_glx.c b/src/glx/drisw_glx.c index fcb5d8f578..ddfdcd4986 100644 --- a/src/glx/drisw_glx.c +++ b/src/glx/drisw_glx.c @@ -730,6 +730,33 @@ driswCreateScreen(int screen, struct glx_display *priv) extensions = psc->core->getExtensions(psc->driScreen); driswBindExtensions(psc, extensions); + /* XXX: is this no good for upstream as it would change the fbconfigs seen + by DRI2/3, it should work on a copy of the fbconfigs instead ??? */ + for (struct glx_config *m = psc->base.configs; m; m = m->next) { + /* We will ignore any server performance caveats, since they don't + affect swrast performance */ + m->visualRating = GLX_DONT_CARE; + + /* swrast doesn't provide any aux buffers, but XWin may (with some + drivers) provide them for all configs, so set the number to zero. + + This could potentially create duplicate fbconfigs, but that isn't + forbidden. */ + m->numAuxBuffers = 0; + } + + for (struct glx_config *m = psc->base.visuals; m; m = m->next) { + m->visualRating = GLX_DONT_CARE; + m->numAuxBuffers = 0; + } + + for (struct glx_config *m = psc->base.configs; m; m = m->next) { + + } + for (struct glx_config *m = psc->base.visuals; m; m = m->next) { + + } + configs = driConvertConfigs(psc->core, psc->base.configs, driver_configs); visuals = driConvertConfigs(psc->core, psc->base.visuals, driver_configs); |