summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/app_settings/settings.xml11
-rw-r--r--indra/newview/llappviewer.cpp1
-rw-r--r--indra/newview/llstatusbar.cpp1
-rw-r--r--indra/newview/llviewertexturelist.cpp1
-rw-r--r--indra/newview/pipeline.cpp12
-rw-r--r--indra/newview/skins/default/xui/en/menu_viewer.xml10
6 files changed, 36 insertions, 0 deletions
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index b1e161182e..43b3fdf1b0 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -9893,6 +9893,17 @@
<key>Value</key>
<real>1</real>
</map>
+ <key>CollectUIImageVertexBuffers</key>
+ <map>
+ <key>Comment</key>
+ <string>When enabled images will cache buffers and reuse them. When disabled general cahce will be used with a significant overhead for hash, but it regenerates vertices each frame so it's always up to date.</string>
+ <key>Persist</key>
+ <integer>0</integer>
+ <key>Type</key>
+ <string>Boolean</string>
+ <key>Value</key>
+ <real>1</real>
+ </map>
<key>ShowMyComplexityChanges</key>
<map>
<key>Comment</key>
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index b0c13d9818..e2bd8798f4 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -5179,6 +5179,7 @@ void LLAppViewer::idle()
static LLCachedControl<U32> downscale_method(gSavedSettings, "RenderDownScaleMethod");
gGLManager.mDownScaleMethod = downscale_method;
LLImageGL::updateClass();
+ LLUIImage::updateClass();
// Service the WorkQueue we use for replies from worker threads.
// Use function statics for the timeslice setting so we only have to fetch
diff --git a/indra/newview/llstatusbar.cpp b/indra/newview/llstatusbar.cpp
index 44bada13c2..0df3c27f3e 100644
--- a/indra/newview/llstatusbar.cpp
+++ b/indra/newview/llstatusbar.cpp
@@ -143,6 +143,7 @@ LLStatusBar::~LLStatusBar()
// virtual
void LLStatusBar::draw()
{
+ LL_PROFILE_ZONE_SCOPED_CATEGORY_UI;
refresh();
LLPanel::draw();
}
diff --git a/indra/newview/llviewertexturelist.cpp b/indra/newview/llviewertexturelist.cpp
index 7dd32074cf..4bee11b6f7 100644
--- a/indra/newview/llviewertexturelist.cpp
+++ b/indra/newview/llviewertexturelist.cpp
@@ -1641,6 +1641,7 @@ void LLViewerTextureList::processImageNotInDatabase(LLMessageSystem *msg,void **
// guaranteed.
void LLUIImageList::cleanUp()
{
+ LLUIImage::cleanupClass();
mUIImages.clear();
mUITextureList.clear() ;
}
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index 4ef88f5deb..54fa7a2c09 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -614,6 +614,16 @@ void LLPipeline::init()
LLFontWidthBuffer::enableBufferCollection(enable_buffers);
});
}
+
+ cntrl_ptr = gSavedSettings.getControl("CollectUIImageVertexBuffers");
+ if (cntrl_ptr.notNull())
+ {
+ cntrl_ptr->getCommitSignal()->connect([](LLControlVariable* control, const LLSD& value, const LLSD& previous)
+ {
+ bool enable_buffers = control->getValue().asBoolean();
+ LLUIImage::enableDisplayListsCollection(enable_buffers);
+ });
+ }
}
LLPipeline::~LLPipeline()
@@ -1151,6 +1161,8 @@ void LLPipeline::refreshCachedSettings()
bool enable_buffers = gSavedSettings.getBOOL("CollectFontVertexBuffers");
LLFontVertexBuffer::enableBufferCollection(enable_buffers);
LLFontWidthBuffer::enableBufferCollection(enable_buffers);
+ enable_buffers = gSavedSettings.getBOOL("CollectUIImageVertexBuffers");
+ LLUIImage::enableDisplayListsCollection(enable_buffers);
}
void LLPipeline::releaseGLBuffers()
diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml
index 3364b831b2..a4b9ab61df 100644
--- a/indra/newview/skins/default/xui/en/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/en/menu_viewer.xml
@@ -3529,6 +3529,16 @@ function="World.EnvPreset"
function="ToggleControl"
parameter="CollectFontVertexBuffers" />
</menu_item_check>
+ <menu_item_check
+ label="Collect UI Image Vertex Buffers"
+ name="Collect UI Image Vertex Buffers">
+ <menu_item_check.on_check
+ function="CheckControl"
+ parameter="CollectUIImageVertexBuffers" />
+ <menu_item_check.on_click
+ function="ToggleControl"
+ parameter="CollectUIImageVertexBuffers" />
+ </menu_item_check>
<menu_item_separator />
<menu_item_check
label="Enable Shader Cache"