opengles emulator: Call XInitThreads on Linux.
All the X calls we do on linux are made from the FrameBuffer object which is locked however OpenGL implementations may call to Xlib during gl function calls. In order to be thread safe we initialize Xlib to support multi-threading. Change-Id: I3bc6a6378d7558fec44052bd67388beaf270c107
This commit is contained in:
committed by
David 'Digit' Turner
parent
ca5e9825a4
commit
833ce70718
@@ -26,6 +26,9 @@
|
||||
#include <winsock2.h>
|
||||
#endif
|
||||
|
||||
#ifdef __linux__
|
||||
#include <X11/Xlib.h>
|
||||
#endif
|
||||
|
||||
static void printUsage(const char *progName)
|
||||
{
|
||||
@@ -105,6 +108,15 @@ int main(int argc, char *argv[])
|
||||
printf( "could not initialize Winsock\n" );
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __linux__
|
||||
// some OpenGL implementations may call X functions
|
||||
// it is safer to synchronize all X calls made by all the
|
||||
// rendering threads. (although the calls we do are locked
|
||||
// in the FrameBuffer singleton object).
|
||||
XInitThreads();
|
||||
#endif
|
||||
|
||||
//
|
||||
// initialize Framebuffer
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user