From 075f8cfe8f723b72a6d6fc916e9e2677edeab607 Mon Sep 17 00:00:00 2001 From: Raphael Junqueira Date: Tue, 10 May 2005 08:26:08 +0000 Subject: [PATCH] Fix X11DRV_ChoosePixelFormat to choose 24 bpp as 32 bpp for depth buffers (needed as many X11 drivers only support 24bpp). --- dlls/x11drv/opengl.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/dlls/x11drv/opengl.c b/dlls/x11drv/opengl.c index 302a472c3ad..511e8347ce3 100644 --- a/dlls/x11drv/opengl.c +++ b/dlls/x11drv/opengl.c @@ -203,7 +203,15 @@ int X11DRV_ChoosePixelFormat(X11DRV_PDEVICE *physDev, if (ppfd->iPixelType == PFD_TYPE_RGBA) { ADD2(GLX_RENDER_TYPE, GLX_RGBA_BIT); ADD2(GLX_BUFFER_SIZE, ppfd->cColorBits); - TEST_AND_ADD2(ppfd->cDepthBits, GLX_DEPTH_SIZE, ppfd->cDepthBits); + if (32 == ppfd->cDepthBits) { + /** + * for 32 bpp depth buffers force to use 24. + * needed as some drivers don't support 32bpp + */ + TEST_AND_ADD2(ppfd->cDepthBits, GLX_DEPTH_SIZE, 24); + } else { + TEST_AND_ADD2(ppfd->cDepthBits, GLX_DEPTH_SIZE, ppfd->cDepthBits); + } TEST_AND_ADD2(ppfd->cAlphaBits, GLX_ALPHA_SIZE, ppfd->cAlphaBits); } TEST_AND_ADD2(ppfd->cStencilBits, GLX_STENCIL_SIZE, ppfd->cStencilBits);