-Sanity checks from snowglobe. ...

-Null terminated a string buffer.
-Mutex locks are expensive.
-Realloc is my friend.
-But leaks are not.
-Nor are unused variables.
-And buffer overruns should get lost.
-bindManual shouldnt return failure if texture's already bound.
-Pulled windlight and classic clouds apart into unique rendertypes.
-'Client or Account' savedsettings stuff is now moar bettar. (and efficient)
-Replaced LLSavedSettingsGlue with something that supports gSavedSettings, gSavedPerAccountSettings, and gCOASavedSettings

-Added 'Enable Classic Clouds' checkbox to ascet performance settings panel
-New cards added to gpu table.
-General cleaning...
-How2spell 'dimensions'?
This commit is contained in:
unknown
2010-10-01 00:35:39 -05:00
parent 7b409eb7ab
commit 3e8a7172db
36 changed files with 361 additions and 244 deletions

View File

@@ -35,6 +35,7 @@
#include <map>
#include "llcontrol.h"
#include "lluictrl.h"
// Enabled this definition to compile a 'hacked' viewer that
// allows a hacked godmode to be toggled on and off.
@@ -54,6 +55,7 @@ void create_graphics_group(LLControlGroup& group);
// saved at end of session
extern LLControlGroup gSavedSettings;
extern LLControlGroup *gCOASavedSettings;
extern LLControlGroup gSavedPerAccountSettings;
// Read-only
@@ -74,6 +76,8 @@ eControlType get_control_type(const T& in, LLSD& out)
return TYPE_COUNT;
}
bool handleCloudSettingsChanged(const LLSD& newvalue);
//! Publish/Subscribe object to interact with LLControlGroups.
//! An LLCachedControl instance to connect to a LLControlVariable
@@ -171,6 +175,12 @@ template <> eControlType get_control_type<LLColor3>(const LLColor3& in, LLSD& ou
template <> eControlType get_control_type<LLColor4U>(const LLColor4U& in, LLSD& out);
template <> eControlType get_control_type<LLSD>(const LLSD& in, LLSD& out);
//A template would be a little awkward to use here.. so.. a preprocessor macro. Alas. onCommitControlSetting(gSavedSettings) etc.
inline void onCommitControlSetting_gSavedSettings(LLUICtrl* ctrl, void* name) {gSavedSettings.setValue((const char*)name,ctrl->getValue());}
inline void onCommitControlSetting_gSavedPerAccountSettings(LLUICtrl* ctrl, void* name) {gSavedPerAccountSettings.setValue((const char*)name,ctrl->getValue());}
inline void onCommitControlSetting_gCOASavedSettings(LLUICtrl* ctrl, void* name) {gCOASavedSettings->setValue((const char*)name,ctrl->getValue());}
#define onCommitControlSetting(controlgroup) onCommitControlSetting_##controlgroup
//#define TEST_CACHED_CONTROL 1
#ifdef TEST_CACHED_CONTROL
void test_cached_control();