Merge with develop
This commit is contained in:
parent
ce91dc1cf8
commit
cde1975f25
6 changed files with 39 additions and 31 deletions
|
@ -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;
|
||||||
|
|
|
@ -536,11 +536,14 @@ PFNGLXFREEMEMORYNVPROC nglXFreeMemoryNV;
|
||||||
// Swap control extensions
|
// Swap control extensions
|
||||||
PFNGLXSWAPINTERVALEXTPROC nglXSwapIntervalEXT;
|
PFNGLXSWAPINTERVALEXTPROC nglXSwapIntervalEXT;
|
||||||
|
|
||||||
PFNGLXSWAPINTERVALSGIPROC nglXSwapIntervalSGI;
|
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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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];
|
||||||
|
|
|
@ -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
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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" />
|
||||||
|
|
Loading…
Reference in a new issue