diff options
Diffstat (limited to 'intern')
-rw-r--r-- | intern/ghost/intern/GHOST_ContextWGL.cpp | 104 | ||||
-rw-r--r-- | intern/ghost/intern/GHOST_ContextWGL.h | 10 |
2 files changed, 10 insertions, 104 deletions
diff --git a/intern/ghost/intern/GHOST_ContextWGL.cpp b/intern/ghost/intern/GHOST_ContextWGL.cpp index 035b0c268c6..9605f7ddff2 100644 --- a/intern/ghost/intern/GHOST_ContextWGL.cpp +++ b/intern/ghost/intern/GHOST_ContextWGL.cpp @@ -199,10 +199,6 @@ static int weight_pixel_format(PIXELFORMATDESCRIPTOR &pfd, PIXELFORMATDESCRIPTOR weight++; #endif - /* want swap copy capability -- it matters a lot */ - if (pfd.dwFlags & PFD_SWAP_COPY) - weight += 16; - return weight; } @@ -404,7 +400,6 @@ static void makeAttribList( std::vector<int>& out, bool stereoVisual, int numOfAASamples, - int swapMethod, bool needAlpha, bool needStencil, bool sRGB) @@ -424,9 +419,6 @@ static void makeAttribList( out.push_back(WGL_ACCELERATION_ARB); out.push_back(WGL_FULL_ACCELERATION_ARB); - out.push_back(WGL_SWAP_METHOD_ARB); - out.push_back(swapMethod); - if (stereoVisual) { out.push_back(WGL_STEREO_ARB); out.push_back(GL_TRUE); @@ -468,13 +460,12 @@ static void makeAttribList( } -int GHOST_ContextWGL::_choose_pixel_format_arb_2( +int GHOST_ContextWGL::_choose_pixel_format_arb_1( bool stereoVisual, - int *numOfAASamples, + int numOfAASamples, bool needAlpha, bool needStencil, - bool sRGB, - int swapMethod) + bool sRGB) { std::vector<int> iAttributes; @@ -486,12 +477,12 @@ int GHOST_ContextWGL::_choose_pixel_format_arb_2( int samples; // guard against some insanely high number of samples - if (*numOfAASamples > 64) { + if (numOfAASamples > 64) { fprintf(stderr, "Warning! Clamping number of samples to 64.\n"); samples = 64; } else { - samples = *numOfAASamples; + samples = numOfAASamples; } // request a format with as many samples as possible, but not more than requested @@ -500,7 +491,6 @@ int GHOST_ContextWGL::_choose_pixel_format_arb_2( iAttributes, stereoVisual, samples, - swapMethod, needAlpha, needStencil, sRGB); @@ -549,13 +539,11 @@ int GHOST_ContextWGL::_choose_pixel_format_arb_2( int actualSamples, alphaBits; wglGetPixelFormatAttribivARB(m_hDC, iPixelFormat, 0, 1, iQuery, &actualSamples); - if (actualSamples != *numOfAASamples) { + if (actualSamples != numOfAASamples) { fprintf(stderr, "Warning! Unable to find a multisample pixel format that supports exactly %d samples. " "Substituting one that uses %d samples.\n", - *numOfAASamples, actualSamples); - - *numOfAASamples = actualSamples; // set context property to actual value + numOfAASamples, actualSamples); } if (needAlpha) { iQuery[0] = WGL_ALPHA_BITS_ARB; @@ -566,69 +554,6 @@ int GHOST_ContextWGL::_choose_pixel_format_arb_2( } } } - else { - *numOfAASamples = 0; - } - return iPixelFormat; -} - - -int GHOST_ContextWGL::_choose_pixel_format_arb_1(bool stereoVisual, - int numOfAASamples, - bool needAlpha, - bool needStencil, - bool sRGB, - int *swapMethodOut) -{ - int iPixelFormat; - int copyPixelFormat = 0; - int undefPixelFormat = 0; - int exchPixelFormat = 0; - int copyNumOfAASamples = 0; - int undefNumOfAASamples = 0; - int exchNumOfAASamples = 0; - - *swapMethodOut = WGL_SWAP_COPY_ARB; - copyNumOfAASamples = numOfAASamples; - copyPixelFormat = _choose_pixel_format_arb_2( - stereoVisual, ©NumOfAASamples, needAlpha, needStencil, sRGB, *swapMethodOut); - - if (copyPixelFormat == 0 || copyNumOfAASamples < numOfAASamples) { - *swapMethodOut = WGL_SWAP_UNDEFINED_ARB; - undefNumOfAASamples = numOfAASamples; - undefPixelFormat = _choose_pixel_format_arb_2( - stereoVisual, &undefNumOfAASamples, needAlpha, needStencil, sRGB, *swapMethodOut); - - if (undefPixelFormat == 0 || undefNumOfAASamples < numOfAASamples) { - *swapMethodOut = WGL_SWAP_EXCHANGE_ARB; - exchNumOfAASamples = numOfAASamples; - exchPixelFormat = _choose_pixel_format_arb_2( - stereoVisual, &exchNumOfAASamples, needAlpha, needStencil, sRGB, *swapMethodOut); - if (exchPixelFormat == 0 || exchNumOfAASamples < numOfAASamples) { - // the number of AA samples cannot be met, take the highest - if (undefPixelFormat != 0 && undefNumOfAASamples >= exchNumOfAASamples) { - exchNumOfAASamples = undefNumOfAASamples; - exchPixelFormat = undefPixelFormat; - *swapMethodOut = WGL_SWAP_UNDEFINED_ARB; - } - if (copyPixelFormat != 0 && copyNumOfAASamples >= exchNumOfAASamples) { - exchNumOfAASamples = copyNumOfAASamples; - exchPixelFormat = copyPixelFormat; - *swapMethodOut = WGL_SWAP_COPY_ARB; - } - } - iPixelFormat = exchPixelFormat; - m_numOfAASamples = exchNumOfAASamples; - } - else { - iPixelFormat = undefPixelFormat; - m_numOfAASamples = undefNumOfAASamples; - } - } - else { - iPixelFormat = copyPixelFormat; - m_numOfAASamples = copyNumOfAASamples; - } return iPixelFormat; } @@ -641,15 +566,13 @@ int GHOST_ContextWGL::choose_pixel_format_arb( bool sRGB) { int iPixelFormat; - int swapMethodOut; iPixelFormat = _choose_pixel_format_arb_1( stereoVisual, numOfAASamples, needAlpha, needStencil, - sRGB, - &swapMethodOut); + sRGB); if (iPixelFormat == 0 && stereoVisual) { fprintf(stderr, "Warning! Unable to find a stereo pixel format.\n"); @@ -659,19 +582,11 @@ int GHOST_ContextWGL::choose_pixel_format_arb( numOfAASamples, needAlpha, needStencil, - sRGB, - &swapMethodOut); + sRGB); m_stereoVisual = false; // set context property to actual value } - if (swapMethodOut != WGL_SWAP_COPY_ARB) { - fprintf(stderr, - "Warning! Unable to find a pixel format that supports WGL_SWAP_COPY_ARB. " - "Substituting one that uses %s.\n", - swapMethodOut == WGL_SWAP_UNDEFINED_ARB ? "WGL_SWAP_UNDEFINED_ARB" : "WGL_SWAP_EXCHANGE_ARB"); - } - return iPixelFormat; } @@ -689,7 +604,6 @@ int GHOST_ContextWGL::choose_pixel_format( (DWORD) ( PFD_SUPPORT_OPENGL | PFD_DRAW_TO_WINDOW | - PFD_SWAP_COPY | /* support swap copy */ PFD_DOUBLEBUFFER | /* support double-buffering */ (stereoVisual ? PFD_STEREO : 0) |/* support stereo */ ( diff --git a/intern/ghost/intern/GHOST_ContextWGL.h b/intern/ghost/intern/GHOST_ContextWGL.h index 2ffe9523008..07ed7f4d2ef 100644 --- a/intern/ghost/intern/GHOST_ContextWGL.h +++ b/intern/ghost/intern/GHOST_ContextWGL.h @@ -131,15 +131,7 @@ private: int numOfAASamples, bool needAlpha, bool needStencil, - bool sRGB, - int *swapMethodOut); - - int _choose_pixel_format_arb_2(bool stereoVisual, - int *numOfAASamples, - bool needAlpha, - bool needStencil, - bool sRGB, - int swapMethod); + bool sRGB); void initContextWGLEW(PIXELFORMATDESCRIPTOR &preferredPFD); |