V3 merge. Added LLMainLoopRepeater repeater. Disabled FBOs for baking. Fixed typo in strings.xml. Setting ThrottleBandwidthKBPS was used in a few places that MainloopTimeoutDefault should have been. Better outdated driver detection for ATI hardware.

This commit is contained in:
Shyotl
2012-05-28 03:59:19 -05:00
parent 271883e737
commit 51a4e4960f
8 changed files with 192 additions and 15 deletions

View File

@@ -195,6 +195,7 @@
#include "llprogressview.h"
#include "llmemory.h"
#include "llmainlooprepeater.h"
// [RLVa:KB]
#include "rlvhandler.h"
@@ -736,13 +737,15 @@ bool LLAppViewer::init()
LLAgent::parseTeleportMessages("teleport_strings.xml");
// load MIME type -> media impl mappings
#if LL_WINDOWS
LLMIMETypes::parseMIMETypes( std::string("mime_types_windows.xml") );
#elif LL_DARWIN
LLMIMETypes::parseMIMETypes( std::string("mime_types_mac.xml") );
std::string mime_types_name;
#if LL_DARWIN
mime_types_name = "mime_types_mac.xml";
#elif LL_LINUX
LLMIMETypes::parseMIMETypes( std::string("mime_types_linux.xml") );
mime_types_name = "mime_types_linux.xml";
#else
mime_types_name = "mime_types_windows.xml";
#endif
LLMIMETypes::parseMIMETypes( mime_types_name );
// Copy settings to globals. *TODO: Remove or move to appropriage class initializers
settings_to_globals();
@@ -790,7 +793,10 @@ bool LLAppViewer::init()
return 1;
}
LL_INFOS("InitInfo") << "Cache initialization is done." << LL_ENDL ;
// Initialize the repeater service.
LLMainLoopRepeater::instance().start();
//
// Initialize the window
//
@@ -804,7 +810,7 @@ bool LLAppViewer::init()
// call all self-registered classes
LLInitClassList::instance().fireCallbacks();
#if LL_LCD_COMPILE
#if LL_LCD_COMPILE
// start up an LCD window on a logitech keyboard, if there is one
HINSTANCE hInstance = GetModuleHandle(NULL);
gLcdScreen = new LLLCD(hInstance);
@@ -1057,7 +1063,13 @@ bool LLAppViewer::mainLoop()
LLFrameTimer memCheckTimer;
LLViewerJoystick* joystick(LLViewerJoystick::getInstance());
joystick->setNeedsReset(true);
LLEventPump& mainloop(LLEventPumps::instance().obtain("mainloop"));
// As we do not (yet) send data on the mainloop LLEventPump that varies
// with each frame, no need to instantiate a new LLSD event object each
// time. Obviously, if that changes, just instantiate the LLSD at the
// point of posting.
LLSD newFrame;
// Handle messages
@@ -1110,6 +1122,8 @@ bool LLAppViewer::mainLoop()
mem_leak_instance->idle() ;
}
// canonical per-frame event
mainloop.post(newFrame);
if (!LLApp::isExiting())
{
pingMainloopTimeout("Main:JoystickKeyboard");
@@ -1119,7 +1133,7 @@ bool LLAppViewer::mainLoop()
// done initializing. JC
if (gViewerWindow->mWindow->getVisible()
&& gViewerWindow->getActive()
&& !gViewerWindow->mWindow->getMinimized()
&& !gViewerWindow->getWindow()->getMinimized()
&& LLStartUp::getStartupState() == STATE_STARTED
&& !gViewerWindow->getShowProgress()
&& !gFocusMgr.focusLocked())
@@ -1775,6 +1789,7 @@ bool LLAppViewer::cleanup()
llinfos << "File launched." << llendflush;
}
LLMainLoopRepeater::instance().stop();
//release all private memory pools.
LLPrivateMemoryPoolManager::destroyClass() ;
@@ -4578,7 +4593,7 @@ void LLAppViewer::resumeMainloopTimeout(const std::string& state, F32 secs)
{
if(secs < 0.0f)
{
static const LLCachedControl<F32> mainloop_timeout_default("ThrottleBandwidthKBPS",20);
static const LLCachedControl<F32> mainloop_timeout_default("MainloopTimeoutDefault",20);
secs = mainloop_timeout_default;
}
@@ -4606,7 +4621,7 @@ void LLAppViewer::pingMainloopTimeout(const std::string& state, F32 secs)
{
if(secs < 0.0f)
{
static const LLCachedControl<F32> mainloop_timeout_default("ThrottleBandwidthKBPS",20);
static const LLCachedControl<F32> mainloop_timeout_default("MainloopTimeoutDefault",20);
secs = mainloop_timeout_default;
}