diff options
author | Michel Dänzer <daenzer@vmware.com> | 2009-07-20 20:26:28 +0200 |
---|---|---|
committer | Michel Dänzer <daenzer@vmware.com> | 2009-07-20 20:49:44 +0200 |
commit | 4f84350abc28dc2e5153c9f5c7acab1fb23107c3 (patch) | |
tree | 715eb3eb5751f6a3859f791e07545de7a8443e6c | |
parent | a3537de1ddc834c2e6efc05bca4d1e4b1a51242e (diff) |
radeon: With DRI1, if we have HW stencil, only expose fbconfigs with stencil.mesa_7_4_branch
Otherwise simple apps like glxgears pick up a DirectColor visual since the X
server mixes the depth 32 visual in with the other GLX visuals, and this seems
to result in a (mostly) black screen due to a bad ColorMap for a lot of people.
The bad ColorMap may be a bug in the apps, the X server or X driver, and
regardless of that I think the X server should ideally make the depth 32 GLX
visual separate from the rest again, but in the meantime this makes us cope.
(depth_bits is either 16 or 24, never 0)
(cherry picked from commit 5ed440400573631f540701f3efd479d8c1592007)
-rw-r--r-- | src/mesa/drivers/dri/radeon/radeon_screen.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/mesa/drivers/dri/radeon/radeon_screen.c b/src/mesa/drivers/dri/radeon/radeon_screen.c index 956f9a1045..6ade5add9f 100644 --- a/src/mesa/drivers/dri/radeon/radeon_screen.c +++ b/src/mesa/drivers/dri/radeon/radeon_screen.c @@ -281,10 +281,10 @@ radeonFillInModes( __DRIscreenPrivate *psp, * with a stencil buffer. It will be a sw fallback, but some apps won't * care about that. */ - stencil_bits_array[0] = 0; + stencil_bits_array[0] = stencil_bits; stencil_bits_array[1] = (stencil_bits == 0) ? 8 : stencil_bits; - depth_buffer_factor = ((depth_bits != 0) || (stencil_bits != 0)) ? 2 : 1; + depth_buffer_factor = (stencil_bits == 0) ? 2 : 1; back_buffer_factor = (have_back_buffer) ? 2 : 1; if (pixel_bits == 16) { |