Merge with develop

--HG--
branch : compatibility-develop
This commit is contained in:
kervala 2015-12-26 18:00:04 +01:00
commit 545569d049
6 changed files with 39 additions and 31 deletions

View file

@ -1293,6 +1293,17 @@ sint CDriverGL::getTotalVideoMemory() const
{ {
nlerror("3D: Unable to get current renderer ID (%s)", CGLErrorString(error)); nlerror("3D: Unable to get current renderer ID (%s)", CGLErrorString(error));
} }
#else
if (_Extensions.GLXMESAQueryRenderer)
{
uint32 memoryInMiB = 0;
if (nglXQueryCurrentRendererIntegerMESA(GLX_RENDERER_VIDEO_MEMORY_MESA, &memoryInMiB))
{
nlinfo("3D: GLX_RENDERER_VIDEO_MEMORY_MESA returned %u MiB", memoryInMiB);
return memoryInMiB * 1024;
}
}
#endif #endif
return -1; return -1;

View file

@ -541,6 +541,9 @@ PFNGLXSWAPINTERVALSGIPROC nglXSwapIntervalSGI;
PFNGLXSWAPINTERVALMESAPROC nglXSwapIntervalMESA; PFNGLXSWAPINTERVALMESAPROC nglXSwapIntervalMESA;
PFNGLXGETSWAPINTERVALMESAPROC nglXGetSwapIntervalMESA; PFNGLXGETSWAPINTERVALMESAPROC nglXGetSwapIntervalMESA;
// GLX_MESA_query_renderer
// =======================
PFNGLXQUERYCURRENTRENDERERINTEGERMESAPROC nglXQueryCurrentRendererIntegerMESA;
#endif #endif
#endif // USE_OPENGLES #endif // USE_OPENGLES
@ -1888,6 +1891,19 @@ static bool setupGLXMESASwapControl(const char *glext)
return true; return true;
} }
// *********************************
static bool setupGLXMESAQueryRenderer(const char *glext)
{
H_AUTO_OGL(setupGLXMESAQueryRenderer);
CHECK_EXT("GLX_MESA_query_renderer");
#if defined(NL_OS_UNIX) && !defined(NL_OS_MAC)
CHECK_ADDRESS(PFNGLXQUERYCURRENTRENDERERINTEGERMESAPROC, glXQueryCurrentRendererIntegerMESA);
#endif
return true;
}
#ifdef USE_OPENGLES #ifdef USE_OPENGLES
// *************************************************************************** // ***************************************************************************
bool registerEGlExtensions(CGlExtensions &ext, EGLDisplay dpy) bool registerEGlExtensions(CGlExtensions &ext, EGLDisplay dpy)
@ -2030,6 +2046,9 @@ bool registerGlXExtensions(CGlExtensions &ext, Display *dpy, sint screen)
ext.GLXSGISwapControl= setupGLXSGISwapControl(glext); ext.GLXSGISwapControl= setupGLXSGISwapControl(glext);
ext.GLXMESASwapControl= setupGLXMESASwapControl(glext); ext.GLXMESASwapControl= setupGLXMESASwapControl(glext);
// check for renderer information
ext.GLXMESAQueryRenderer= setupGLXMESAQueryRenderer(glext);
return true; return true;
} }
#endif // USE_OPENGLES #endif // USE_OPENGLES

View file

@ -87,6 +87,7 @@ struct CGlExtensions
bool GLXEXTSwapControl; bool GLXEXTSwapControl;
bool GLXSGISwapControl; bool GLXSGISwapControl;
bool GLXMESASwapControl; bool GLXMESASwapControl;
bool GLXMESAQueryRenderer;
// ATI Extensions. // ATI Extensions.
bool ATIVertexArrayObject; bool ATIVertexArrayObject;
@ -164,6 +165,7 @@ public:
GLXEXTSwapControl= false; GLXEXTSwapControl= false;
GLXSGISwapControl= false; GLXSGISwapControl= false;
GLXMESASwapControl= false; GLXMESASwapControl= false;
GLXMESAQueryRenderer= false;
EXTBlendColor= false; EXTBlendColor= false;
ATIVertexArrayObject= false; ATIVertexArrayObject= false;
ATIEnvMapBumpMap = false; ATIEnvMapBumpMap = false;
@ -264,6 +266,7 @@ public:
result += GLXEXTSwapControl ? "GLXEXTSwapControl " : ""; result += GLXEXTSwapControl ? "GLXEXTSwapControl " : "";
result += GLXSGISwapControl ? "GLXSGISwapControl " : ""; result += GLXSGISwapControl ? "GLXSGISwapControl " : "";
result += GLXMESASwapControl ? "GLXMESASwapControl " : ""; result += GLXMESASwapControl ? "GLXMESASwapControl " : "";
result += GLXMESAQueryRenderer ? "GLXMESAQueryRenderer " : "";
#endif #endif
result += "\n Array/VBO: "; result += "\n Array/VBO: ";
@ -816,6 +819,10 @@ extern PFNGLXSWAPINTERVALSGIPROC nglXSwapIntervalSGI;
extern PFNGLXSWAPINTERVALMESAPROC nglXSwapIntervalMESA; extern PFNGLXSWAPINTERVALMESAPROC nglXSwapIntervalMESA;
extern PFNGLXGETSWAPINTERVALMESAPROC nglXGetSwapIntervalMESA; extern PFNGLXGETSWAPINTERVALMESAPROC nglXGetSwapIntervalMESA;
// GLX_MESA_query_renderer
// =======================
extern PFNGLXQUERYCURRENTRENDERERINTEGERMESAPROC nglXQueryCurrentRendererIntegerMESA;
#endif #endif
// GL_EXT_framebuffer_object // GL_EXT_framebuffer_object

View file

@ -687,24 +687,6 @@ bool launchProgram(const std::string &programName, const std::string &arguments,
si.cb = sizeof(si); si.cb = sizeof(si);
/* SECURITY_ATTRIBUTES sa;
sa.nLength = sizeof (sa);
sa.lpSecurityDescriptor = NULL;
sa.bInheritHandle = FALSE;
STARTUPINFO si;
si.cb = sizeof (si);
si.lpReserved = NULL;
si.lpDesktop = NULL;
si.lpTitle = NULL;
si.dwFlags = STARTF_USESHOWWINDOW;
si.cbReserved2 = 0;
si.wShowWindow = SW_MINIMIZE;
si.lpReserved2 = NULL;
PROCESS_INFORMATION pi;
*/
// Enable nlassert/nlstop to display the error reason & callstack // Enable nlassert/nlstop to display the error reason & callstack
const TCHAR *SE_TRANSLATOR_IN_MAIN_MODULE = _T("NEL_SE_TRANS"); const TCHAR *SE_TRANSLATOR_IN_MAIN_MODULE = _T("NEL_SE_TRANS");
TCHAR envBuf [2]; TCHAR envBuf [2];

View file

@ -520,10 +520,7 @@ void CFileDisplayer::doDisplay ( const CLog::TDisplayInfo& args, const char *mes
// in release "<Msg>" // in release "<Msg>"
void CMsgBoxDisplayer::doDisplay ( const CLog::TDisplayInfo& args, const char *message) void CMsgBoxDisplayer::doDisplay ( const CLog::TDisplayInfo& args, const char *message)
{ {
//#ifdef NL_OS_WINDOWS
bool needSpace = false; bool needSpace = false;
// stringstream ss;
string str; string str;
// create the string for the clipboard // create the string for the clipboard
@ -536,7 +533,6 @@ void CMsgBoxDisplayer::doDisplay ( const CLog::TDisplayInfo& args, const char *m
if (args.LogType != CLog::LOG_NO) if (args.LogType != CLog::LOG_NO)
{ {
//if (needSpace) { ss << " "; needSpace = false; }
if (needSpace) { str += " "; needSpace = false; } if (needSpace) { str += " "; needSpace = false; }
str += logTypeToString(args.LogType); str += logTypeToString(args.LogType);
needSpace = true; needSpace = true;
@ -544,7 +540,6 @@ void CMsgBoxDisplayer::doDisplay ( const CLog::TDisplayInfo& args, const char *m
if (!args.ProcessName.empty()) if (!args.ProcessName.empty())
{ {
//if (needSpace) { ss << " "; needSpace = false; }
if (needSpace) { str += " "; needSpace = false; } if (needSpace) { str += " "; needSpace = false; }
str += args.ProcessName; str += args.ProcessName;
needSpace = true; needSpace = true;
@ -552,7 +547,6 @@ void CMsgBoxDisplayer::doDisplay ( const CLog::TDisplayInfo& args, const char *m
if (args.FileName != NULL) if (args.FileName != NULL)
{ {
//if (needSpace) { ss << " "; needSpace = false; }
if (needSpace) { str += " "; needSpace = false; } if (needSpace) { str += " "; needSpace = false; }
str += CFile::getFilename(args.FileName); str += CFile::getFilename(args.FileName);
needSpace = true; needSpace = true;
@ -560,7 +554,6 @@ void CMsgBoxDisplayer::doDisplay ( const CLog::TDisplayInfo& args, const char *m
if (args.Line != -1) if (args.Line != -1)
{ {
//if (needSpace) { ss << " "; needSpace = false; }
if (needSpace) { str += " "; needSpace = false; } if (needSpace) { str += " "; needSpace = false; }
str += NLMISC::toString(args.Line); str += NLMISC::toString(args.Line);
needSpace = true; needSpace = true;
@ -568,7 +561,6 @@ void CMsgBoxDisplayer::doDisplay ( const CLog::TDisplayInfo& args, const char *m
if (args.FuncName != NULL) if (args.FuncName != NULL)
{ {
//if (needSpace) { ss << " "; needSpace = false; }
if (needSpace) { str += " "; needSpace = false; } if (needSpace) { str += " "; needSpace = false; }
str += args.FuncName; str += args.FuncName;
needSpace = true; needSpace = true;
@ -582,7 +574,6 @@ void CMsgBoxDisplayer::doDisplay ( const CLog::TDisplayInfo& args, const char *m
// create the string on the screen // create the string on the screen
needSpace = false; needSpace = false;
// stringstream ss2;
string str2; string str2;
#ifdef NL_DEBUG #ifdef NL_DEBUG
@ -709,8 +700,6 @@ void CMsgBoxDisplayer::doDisplay ( const CLog::TDisplayInfo& args, const char *m
setCrashAlreadyReported(true); setCrashAlreadyReported(true);
} }
} }
//#endif
} }

View file

@ -1125,7 +1125,7 @@
target="tab1:active" /> target="tab1:active" />
<link expr="and(@UI:SAVE:ISENABLED:UNIVERSE_CHAT, <link expr="and(@UI:SAVE:ISENABLED:UNIVERSE_CHAT,
not(@UI:SAVE:ISDETACHED:UNIVERSE_CHAT))" not(@UI:SAVE:ISDETACHED:UNIVERSE_CHAT))"
target="tab7:active" /> target="tab6:active" />
<link expr="and (and(%is_team_present, @UI:SAVE:ISENABLED:TEAM_CHAT), <link expr="and (and(%is_team_present, @UI:SAVE:ISENABLED:TEAM_CHAT),
not(@UI:SAVE:ISDETACHED:TEAM_CHAT))" not(@UI:SAVE:ISDETACHED:TEAM_CHAT))"
target="tab2:active" /> target="tab2:active" />