summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorDave Parks <davep@lindenlab.com>2010-02-28 16:41:06 -0600
committerDave Parks <davep@lindenlab.com>2010-02-28 16:41:06 -0600
commit746037362ed07af0c799caf22cf9e425744359a0 (patch)
tree2e4c83fee5334da2071103fa4706ac4abb218490 /indra/newview
parent26a0c18e95d8d542016d89cc78b948438bc335cb (diff)
parentb414b5067e3e47da7d9baf490d94534b4c65a8eb (diff)
merge
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/app_settings/settings.xml13
-rw-r--r--indra/newview/llviewermenu.cpp3
-rw-r--r--indra/newview/llviewermenufile.cpp10
-rw-r--r--indra/newview/llviewermessage.cpp1
-rw-r--r--indra/newview/llviewerwindow.cpp14
-rw-r--r--indra/newview/pipeline.cpp57
-rw-r--r--indra/newview/pipeline.h4
-rw-r--r--indra/newview/skins/default/xui/en/menu_inventory_add.xml4
-rw-r--r--indra/newview/skins/default/xui/en/menu_viewer.xml11
-rw-r--r--indra/newview/skins/default/xui/en/panel_main_inventory.xml4
10 files changed, 113 insertions, 8 deletions
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index bb90aeb91a..cb30147925 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -1687,7 +1687,7 @@
<key>DebugShowRenderInfo</key>
<map>
<key>Comment</key>
- <string>Show depth buffer contents</string>
+ <string>Show stats about current scene</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
@@ -1695,6 +1695,17 @@
<key>Value</key>
<integer>0</integer>
</map>
+ <key>DebugShowUploadCost</key>
+ <map>
+ <key>Comment</key>
+ <string>Show what it would cost to upload assets in current scene</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>Boolean</string>
+ <key>Value</key>
+ <integer>0</integer>
+ </map>
<key>DebugShowRenderMatrices</key>
<map>
<key>Comment</key>
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index b25d622d17..9404d7ce6b 100644
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -445,8 +445,7 @@ void init_menus()
gMenuHolder->childSetLabelArg("Upload Sound", "[COST]", upload_cost);
gMenuHolder->childSetLabelArg("Upload Animation", "[COST]", upload_cost);
gMenuHolder->childSetLabelArg("Bulk Upload", "[COST]", upload_cost);
- gMenuHolder->childSetLabelArg("Upload Model", "[COST]", upload_cost);
-
+
gAFKMenu = gMenuBarView->getChild<LLMenuItemCallGL>("Set Away", TRUE);
gBusyMenu = gMenuBarView->getChild<LLMenuItemCallGL>("Set Busy", TRUE);
gAttachSubMenu = gMenuBarView->findChildMenuByName("Attach Object", TRUE);
diff --git a/indra/newview/llviewermenufile.cpp b/indra/newview/llviewermenufile.cpp
index 0f26975149..53688f1210 100644
--- a/indra/newview/llviewermenufile.cpp
+++ b/indra/newview/llviewermenufile.cpp
@@ -92,6 +92,15 @@ class LLFileEnableUpload : public view_listener_t
}
};
+class LLFileEnableUploadModel : public view_listener_t
+{
+ bool handleEvent(const LLSD& userdata)
+ {
+ bool new_value = gAgent.getRegion() && !gAgent.getRegion()->getCapability("NewFileAgentInventoryVariablePrice").empty();
+ return new_value;
+ }
+};
+
//============================================================================
#if LL_WINDOWS
@@ -1283,6 +1292,7 @@ void init_menu_file()
view_listener_t::addCommit(new LLFileQuit(), "File.Quit");
view_listener_t::addEnable(new LLFileEnableUpload(), "File.EnableUpload");
+ view_listener_t::addEnable(new LLFileEnableUploadModel(), "File.EnableUploadModel");
// "File.SaveTexture" moved to llpanelmaininventory so that it can be properly handled.
}
diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp
index 6a9e6f090f..a8702b2c6b 100644
--- a/indra/newview/llviewermessage.cpp
+++ b/indra/newview/llviewermessage.cpp
@@ -4842,7 +4842,6 @@ void process_economy_data(LLMessageSystem *msg, void** /*user_data*/)
gMenuHolder->childSetLabelArg("Upload Image", "[COST]", llformat("%d", upload_cost));
gMenuHolder->childSetLabelArg("Upload Sound", "[COST]", llformat("%d", upload_cost));
- gMenuHolder->childSetLabelArg("Upload Model", "[COST]", llformat("%d", upload_cost));
gMenuHolder->childSetLabelArg("Upload Animation", "[COST]", llformat("%d", upload_cost));
gMenuHolder->childSetLabelArg("Bulk Upload", "[COST]", llformat("%d", upload_cost));
}
diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp
index f554acf1df..5b21e13bf1 100644
--- a/indra/newview/llviewerwindow.cpp
+++ b/indra/newview/llviewerwindow.cpp
@@ -584,6 +584,20 @@ public:
}
}
+
+ if (gSavedSettings.getBOOL("DebugShowUploadCost"))
+ {
+ addText(xpos, ypos, llformat(" Meshes: L$%d", gPipeline.mDebugMeshUploadCost));
+ ypos += y_inc/2.f;
+ addText(xpos, ypos, llformat(" Sculpties: L$%d", gPipeline.mDebugSculptUploadCost));
+ ypos += y_inc/2.f;
+ addText(xpos, ypos, llformat(" Textures: L$%d", gPipeline.mDebugTextureUploadCost));
+ ypos += y_inc/2.f;
+ addText(xpos, ypos, "Upload Cost: ");
+
+ ypos += y_inc;
+ }
+
//temporary hack to give feedback on mesh upload progress
if (!gMeshRepo.mUploads.empty())
{
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index 559ae83182..43b2104135 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -3553,6 +3553,63 @@ void LLPipeline::renderDebug()
}
}
+ if (gSavedSettings.getBOOL("DebugShowUploadCost"))
+ {
+ std::set<LLUUID> textures;
+ std::set<LLUUID> sculpts;
+ std::set<LLUUID> meshes;
+
+ BOOL selected = TRUE;
+ if (LLSelectMgr::getInstance()->getSelection()->isEmpty())
+ {
+ selected = FALSE;
+ }
+
+ for (LLCullResult::sg_list_t::iterator iter = sCull->beginVisibleGroups(); iter != sCull->endVisibleGroups(); ++iter)
+ {
+ LLSpatialGroup* group = *iter;
+ LLSpatialGroup::OctreeNode* node = group->mOctreeNode;
+ for (LLSpatialGroup::OctreeNode::element_iter elem = node->getData().begin(); elem != node->getData().end(); ++elem)
+ {
+ LLDrawable* drawable = *elem;
+ LLVOVolume* volume = drawable->getVOVolume();
+ if (volume && volume->isSelected() == selected)
+ {
+ for (U32 i = 0; i < volume->getNumTEs(); ++i)
+ {
+ LLTextureEntry* te = volume->getTE(i);
+ textures.insert(te->getID());
+ }
+
+ if (volume->isSculpted())
+ {
+ LLUUID sculpt_id = volume->getVolume()->getParams().getSculptID();
+ if (volume->isMesh())
+ {
+ meshes.insert(sculpt_id);
+ }
+ else
+ {
+ sculpts.insert(sculpt_id);
+ }
+ }
+ }
+ }
+ }
+
+ gPipeline.mDebugTextureUploadCost = textures.size() * 10;
+ gPipeline.mDebugSculptUploadCost = sculpts.size()*10;
+
+ U32 mesh_cost = 0;
+
+ for (std::set<LLUUID>::iterator iter = meshes.begin(); iter != meshes.end(); ++iter)
+ {
+ mesh_cost += gMeshRepo.getResourceCost(*iter)*10;
+ }
+
+ gPipeline.mDebugMeshUploadCost = mesh_cost;
+ }
+
for (LLCullResult::bridge_list_t::const_iterator i = sCull->beginVisibleBridge(); i != sCull->endVisibleBridge(); ++i)
{
LLSpatialBridge* bridge = *i;
diff --git a/indra/newview/pipeline.h b/indra/newview/pipeline.h
index 33c18c1b86..814c54326a 100644
--- a/indra/newview/pipeline.h
+++ b/indra/newview/pipeline.h
@@ -435,6 +435,10 @@ public:
S32 mNumVisibleNodes;
S32 mVerticesRelit;
+ S32 mDebugTextureUploadCost;
+ S32 mDebugSculptUploadCost;
+ S32 mDebugMeshUploadCost;
+
S32 mLightingChanges;
S32 mGeometryChanges;
diff --git a/indra/newview/skins/default/xui/en/menu_inventory_add.xml b/indra/newview/skins/default/xui/en/menu_inventory_add.xml
index 0d974075f5..05a4e60de7 100644
--- a/indra/newview/skins/default/xui/en/menu_inventory_add.xml
+++ b/indra/newview/skins/default/xui/en/menu_inventory_add.xml
@@ -43,14 +43,14 @@
function="File.EnableUpload" />
</menu_item_call>
<menu_item_call
- label="Model (L$[COST])..."
+ label="Model..."
layout="topleft"
name="Upload Model">
<menu_item_call.on_click
function="File.UploadModel"
parameter="" />
<menu_item_call.on_enable
- function="File.EnableUpload" />
+ function="File.EnableUploadModel" />
</menu_item_call>
<menu_item_call
label="Scene..."
diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml
index 158e764eae..5c75a95c16 100644
--- a/indra/newview/skins/default/xui/en/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/en/menu_viewer.xml
@@ -2061,6 +2061,17 @@
function="ToggleControl"
parameter="DebugShowTime" />
</menu_item_check>
+ <menu_item_check
+ label="Show Upload Cost"
+ layout="topleft"
+ name="Show Upload Cost">
+ <menu_item_check.on_check
+ function="CheckControl"
+ parameter="DebugShowUploadCost" />
+ <menu_item_check.on_click
+ function="ToggleControl"
+ parameter="DebugShowUploadCost" />
+ </menu_item_check>
<menu_item_check
label="Show Render Info"
layout="topleft"
diff --git a/indra/newview/skins/default/xui/en/panel_main_inventory.xml b/indra/newview/skins/default/xui/en/panel_main_inventory.xml
index 5cd5d0dfea..afd098ba21 100644
--- a/indra/newview/skins/default/xui/en/panel_main_inventory.xml
+++ b/indra/newview/skins/default/xui/en/panel_main_inventory.xml
@@ -80,14 +80,14 @@
function="File.EnableUpload" />
</menu_item_call>
<menu_item_call
- label="Model (L$[COST])..."
+ label="Model..."
layout="topleft"
name="Upload Model">
<menu_item_call.on_click
function="File.UploadModel"
parameter="" />
<menu_item_call.on_enable
- function="File.EnableUpload" />
+ function="File.EnableUploadModel" />
</menu_item_call>
<menu_item_call
label="Scene..."