$OpenBSD$ --- grguBuffer.cpp.orig Sun Feb 15 14:53:23 2009 +++ grguBuffer.cpp Sat Oct 22 10:49:18 2011 @@ -98,6 +98,13 @@ grBufferSwap( int swap_interval ) OGLRender.FrameTriangles = 0; #endif + // Carmageddon never unlocks the buffer before calling BufferSwap + if ( Glide.DstBuffer.Lock ) + { + grLfbUnlock ( Glide.DstBuffer.Type, Glide.DstBuffer.Buffer ); + Glide.DstBuffer.Lock = true; // Re-lock the buffer + } + SwapBuffers( ); #ifdef OGL_DEBUG