Alexandre Julliard : winex11: Remove redundant code in ChoosePixelFormat.
Alexandre Julliard
julliard at winehq.org
Thu May 3 14:23:48 CDT 2012
Module: wine
Branch: master
Commit: 096757c3dd96a2afa81fbcad3150b0f55fc45a40
URL: http://source.winehq.org/git/wine.git/?a=commit;h=096757c3dd96a2afa81fbcad3150b0f55fc45a40
Author: Alexandre Julliard <julliard at winehq.org>
Date: Thu May 3 16:10:17 2012 +0200
winex11: Remove redundant code in ChoosePixelFormat.
---
dlls/winex11.drv/opengl.c | 112 ++++++++++++---------------------------------
1 files changed, 30 insertions(+), 82 deletions(-)
diff --git a/dlls/winex11.drv/opengl.c b/dlls/winex11.drv/opengl.c
index 20f9911..8f85023 100644
--- a/dlls/winex11.drv/opengl.c
+++ b/dlls/winex11.drv/opengl.c
@@ -1291,17 +1291,8 @@ int X11DRV_ChoosePixelFormat(PHYSDEV dev, const PIXELFORMATDESCRIPTOR *ppfd)
if( !(ppfd->dwFlags & PFD_DOUBLEBUFFER_DONTCARE) ) {
if( ((ppfd->dwFlags & PFD_DOUBLEBUFFER) != bestDBuffer) &&
((dwFlags & PFD_DOUBLEBUFFER) == (ppfd->dwFlags & PFD_DOUBLEBUFFER)) )
- {
- bestDBuffer = dwFlags & PFD_DOUBLEBUFFER;
- bestStereo = dwFlags & PFD_STEREO;
- bestAlpha = alpha;
- bestColor = color;
- bestDepth = depth;
- bestStencil = stencil;
- bestAux = aux;
- bestFormat = i;
- continue;
- }
+ goto found;
+
if(bestDBuffer != -1 && (dwFlags & PFD_DOUBLEBUFFER) != bestDBuffer)
continue;
}
@@ -1310,17 +1301,8 @@ int X11DRV_ChoosePixelFormat(PHYSDEV dev, const PIXELFORMATDESCRIPTOR *ppfd)
if( !(ppfd->dwFlags & PFD_STEREO_DONTCARE) ) {
if( ((ppfd->dwFlags & PFD_STEREO) != bestStereo) &&
((dwFlags & PFD_STEREO) == (ppfd->dwFlags & PFD_STEREO)) )
- {
- bestDBuffer = dwFlags & PFD_DOUBLEBUFFER;
- bestStereo = dwFlags & PFD_STEREO;
- bestAlpha = alpha;
- bestColor = color;
- bestDepth = depth;
- bestStencil = stencil;
- bestAux = aux;
- bestFormat = i;
- continue;
- }
+ goto found;
+
if(bestStereo != -1 && (dwFlags & PFD_STEREO) != bestStereo)
continue;
}
@@ -1333,105 +1315,71 @@ int X11DRV_ChoosePixelFormat(PHYSDEV dev, const PIXELFORMATDESCRIPTOR *ppfd)
* like cColorBits, cAlphaBits and friends if they are set to 0, so they are considered
* as DONTCARE. At least Serious Sam TSE relies on this behavior. */
- /* Color bits */
if(ppfd->cColorBits) {
if( ((ppfd->cColorBits > bestColor) && (color > bestColor)) ||
((color >= ppfd->cColorBits) && (color < bestColor)) )
- {
- bestDBuffer = dwFlags & PFD_DOUBLEBUFFER;
- bestStereo = dwFlags & PFD_STEREO;
- bestAlpha = alpha;
- bestColor = color;
- bestDepth = depth;
- bestStencil = stencil;
- bestAux = aux;
- bestFormat = i;
- continue;
- } else if(bestColor != color) { /* Do further checks if the format is compatible */
+ goto found;
+
+ if(bestColor != color) { /* Do further checks if the format is compatible */
TRACE("color mismatch for iPixelFormat=%d\n", i+1);
continue;
}
}
- /* Alpha bits */
if(ppfd->cAlphaBits) {
if( ((ppfd->cAlphaBits > bestAlpha) && (alpha > bestAlpha)) ||
((alpha >= ppfd->cAlphaBits) && (alpha < bestAlpha)) )
- {
- bestDBuffer = dwFlags & PFD_DOUBLEBUFFER;
- bestStereo = dwFlags & PFD_STEREO;
- bestAlpha = alpha;
- bestColor = color;
- bestDepth = depth;
- bestStencil = stencil;
- bestAux = aux;
- bestFormat = i;
- continue;
- } else if(bestAlpha != alpha) {
+ goto found;
+
+ if(bestAlpha != alpha) {
TRACE("alpha mismatch for iPixelFormat=%d\n", i+1);
continue;
}
}
- /* Depth bits */
if(ppfd->cDepthBits) {
if( ((ppfd->cDepthBits > bestDepth) && (depth > bestDepth)) ||
((depth >= ppfd->cDepthBits) && (depth < bestDepth)) )
- {
- bestDBuffer = dwFlags & PFD_DOUBLEBUFFER;
- bestStereo = dwFlags & PFD_STEREO;
- bestAlpha = alpha;
- bestColor = color;
- bestDepth = depth;
- bestStencil = stencil;
- bestAux = aux;
- bestFormat = i;
- continue;
- } else if(bestDepth != depth) {
+ goto found;
+
+ if(bestDepth != depth) {
TRACE("depth mismatch for iPixelFormat=%d\n", i+1);
continue;
}
}
- /* Stencil bits */
if(ppfd->cStencilBits) {
if( ((ppfd->cStencilBits > bestStencil) && (stencil > bestStencil)) ||
((stencil >= ppfd->cStencilBits) && (stencil < bestStencil)) )
- {
- bestDBuffer = dwFlags & PFD_DOUBLEBUFFER;
- bestStereo = dwFlags & PFD_STEREO;
- bestAlpha = alpha;
- bestColor = color;
- bestDepth = depth;
- bestStencil = stencil;
- bestAux = aux;
- bestFormat = i;
- continue;
- } else if(bestStencil != stencil) {
+ goto found;
+
+ if(bestStencil != stencil) {
TRACE("stencil mismatch for iPixelFormat=%d\n", i+1);
continue;
}
}
- /* Aux buffers */
if(ppfd->cAuxBuffers) {
if( ((ppfd->cAuxBuffers > bestAux) && (aux > bestAux)) ||
((aux >= ppfd->cAuxBuffers) && (aux < bestAux)) )
- {
- bestDBuffer = dwFlags & PFD_DOUBLEBUFFER;
- bestStereo = dwFlags & PFD_STEREO;
- bestAlpha = alpha;
- bestColor = color;
- bestDepth = depth;
- bestStencil = stencil;
- bestAux = aux;
- bestFormat = i;
- continue;
- } else if(bestAux != aux) {
+ goto found;
+
+ if(bestAux != aux) {
TRACE("aux mismatch for iPixelFormat=%d\n", i+1);
continue;
}
}
+ continue;
+
+ found:
+ bestDBuffer = dwFlags & PFD_DOUBLEBUFFER;
+ bestStereo = dwFlags & PFD_STEREO;
+ bestAlpha = alpha;
+ bestColor = color;
+ bestDepth = depth;
+ bestStencil = stencil;
+ bestAux = aux;
+ bestFormat = i;
}
if(bestFormat == -1) {
More information about the wine-cvs
mailing list