SL-18682 WIP -- Clear BOOST_SELECTED as needed. GL 3.2 compatibility pass. Fix for stack underflow when reflection probes disabled.
parent
b5db671f7c
commit
e46323b0b9
|
|
@ -7,9 +7,18 @@
|
||||||
*.pyc
|
*.pyc
|
||||||
*.rej
|
*.rej
|
||||||
*.swp
|
*.swp
|
||||||
|
*.vcxproj
|
||||||
|
*.filters
|
||||||
|
*.sln
|
||||||
|
*.depend
|
||||||
|
*.stamp
|
||||||
|
*.rc
|
||||||
|
|
||||||
*~
|
*~
|
||||||
|
|
||||||
# Specific paths and/or names
|
# Specific paths and/or names
|
||||||
|
CMakeCache.txt
|
||||||
|
cmake_install.cmake
|
||||||
LICENSES
|
LICENSES
|
||||||
build-darwin-*
|
build-darwin-*
|
||||||
build-linux-*
|
build-linux-*
|
||||||
|
|
@ -17,6 +26,10 @@ debian/files
|
||||||
debian/secondlife-appearance-utility*
|
debian/secondlife-appearance-utility*
|
||||||
debian/secondlife-viewer*
|
debian/secondlife-viewer*
|
||||||
indra/.distcc
|
indra/.distcc
|
||||||
|
indra/cmake/*
|
||||||
|
indra/out/*
|
||||||
|
|
||||||
|
indra/packages/*
|
||||||
build-vc80/
|
build-vc80/
|
||||||
build-vc100/
|
build-vc100/
|
||||||
build-vc120/
|
build-vc120/
|
||||||
|
|
|
||||||
|
|
@ -9235,7 +9235,7 @@
|
||||||
<key>RenderMaxVRAMBudget</key>
|
<key>RenderMaxVRAMBudget</key>
|
||||||
<map>
|
<map>
|
||||||
<key>Comment</key>
|
<key>Comment</key>
|
||||||
<string>Maximum amount of texture memory to budget for, or 0 for autodetect. Requires restart.</string>
|
<string>Maximum amount of texture memory to budget for (in MB), or 0 for autodetect. Requires restart.</string>
|
||||||
<key>Persist</key>
|
<key>Persist</key>
|
||||||
<integer>1</integer>
|
<integer>1</integer>
|
||||||
<key>Type</key>
|
<key>Type</key>
|
||||||
|
|
|
||||||
|
|
@ -535,7 +535,6 @@ void LLDrawPoolBump::endFullbrightShiny()
|
||||||
if( cube_map )
|
if( cube_map )
|
||||||
{
|
{
|
||||||
cube_map->disable();
|
cube_map->disable();
|
||||||
cube_map->restoreMatrix();
|
|
||||||
if (shader->mFeatures.hasReflectionProbes)
|
if (shader->mFeatures.hasReflectionProbes)
|
||||||
{
|
{
|
||||||
gPipeline.unbindReflectionProbes(*shader);
|
gPipeline.unbindReflectionProbes(*shader);
|
||||||
|
|
|
||||||
|
|
@ -1215,6 +1215,16 @@ void LLFloaterPreferenceGraphicsAdvanced::refreshEnabledState()
|
||||||
ctrl_shadow->setEnabled(enabled);
|
ctrl_shadow->setEnabled(enabled);
|
||||||
shadow_text->setEnabled(enabled);
|
shadow_text->setEnabled(enabled);
|
||||||
|
|
||||||
|
if (!LLFeatureManager::instance().isFeatureAvailable("RenderFSAASamples"))
|
||||||
|
{
|
||||||
|
getChildView("fsaa")->setEnabled(FALSE);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!LLFeatureManager::instance().isFeatureAvailable("RenderReflectionProbeDetail"))
|
||||||
|
{
|
||||||
|
getChildView("ReflectionDetail")->setEnabled(FALSE);
|
||||||
|
}
|
||||||
|
|
||||||
// Hardware settings
|
// Hardware settings
|
||||||
|
|
||||||
if (!LLFeatureManager::getInstance()->isFeatureAvailable("RenderCompressTextures"))
|
if (!LLFeatureManager::getInstance()->isFeatureAvailable("RenderCompressTextures"))
|
||||||
|
|
|
||||||
|
|
@ -4062,7 +4062,7 @@ void LLViewerObject::updateTextures()
|
||||||
|
|
||||||
void LLViewerObject::boostTexturePriority(BOOL boost_children /* = TRUE */)
|
void LLViewerObject::boostTexturePriority(BOOL boost_children /* = TRUE */)
|
||||||
{
|
{
|
||||||
if (isDead())
|
if (isDead() || !getVolume())
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -789,7 +789,33 @@ void LLViewerObjectList::updateApparentAngles(LLAgent &agent)
|
||||||
max_value = llmin((S32) mObjects.size(), mCurLazyUpdateIndex + num_updates);
|
max_value = llmin((S32) mObjects.size(), mCurLazyUpdateIndex + num_updates);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
// Iterate through some of the objects and lazy update their texture priorities
|
||||||
|
for (i = mCurLazyUpdateIndex; i < max_value; i++)
|
||||||
|
{
|
||||||
|
objectp = mObjects[i];
|
||||||
|
if (!objectp->isDead())
|
||||||
|
{
|
||||||
|
num_objects++;
|
||||||
|
|
||||||
|
// Update distance & gpw
|
||||||
|
objectp->setPixelAreaAndAngle(agent); // Also sets the approx. pixel area
|
||||||
|
objectp->updateTextures(); // Update the image levels of textures for this object.
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
mCurLazyUpdateIndex = max_value;
|
||||||
|
if (mCurLazyUpdateIndex == mObjects.size())
|
||||||
|
{
|
||||||
|
// restart
|
||||||
|
mCurLazyUpdateIndex = 0;
|
||||||
|
mCurBin = 0; // keep in sync with index (mObjects.size() could have changed)
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
mCurBin = (mCurBin + 1) % NUM_BINS;
|
||||||
|
}
|
||||||
|
|
||||||
|
#if 1
|
||||||
// Slam priorities for textures that we care about (hovered, selected, and focused)
|
// Slam priorities for textures that we care about (hovered, selected, and focused)
|
||||||
// Hovered
|
// Hovered
|
||||||
// Assumes only one level deep of parenting
|
// Assumes only one level deep of parenting
|
||||||
|
|
@ -822,32 +848,6 @@ void LLViewerObjectList::updateApparentAngles(LLAgent &agent)
|
||||||
LLSelectMgr::getInstance()->getSelection()->applyToRootObjects(&func);
|
LLSelectMgr::getInstance()->getSelection()->applyToRootObjects(&func);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Iterate through some of the objects and lazy update their texture priorities
|
|
||||||
for (i = mCurLazyUpdateIndex; i < max_value; i++)
|
|
||||||
{
|
|
||||||
objectp = mObjects[i];
|
|
||||||
if (!objectp->isDead())
|
|
||||||
{
|
|
||||||
num_objects++;
|
|
||||||
|
|
||||||
// Update distance & gpw
|
|
||||||
objectp->setPixelAreaAndAngle(agent); // Also sets the approx. pixel area
|
|
||||||
objectp->updateTextures(); // Update the image levels of textures for this object.
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
mCurLazyUpdateIndex = max_value;
|
|
||||||
if (mCurLazyUpdateIndex == mObjects.size())
|
|
||||||
{
|
|
||||||
// restart
|
|
||||||
mCurLazyUpdateIndex = 0;
|
|
||||||
mCurBin = 0; // keep in sync with index (mObjects.size() could have changed)
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
mCurBin = (mCurBin + 1) % NUM_BINS;
|
|
||||||
}
|
|
||||||
|
|
||||||
LLVOAvatar::cullAvatarsByPixelArea();
|
LLVOAvatar::cullAvatarsByPixelArea();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -800,7 +800,13 @@ void LLVOVolume::updateTextureVirtualSize(bool forced)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// clear out boost selected periodically
|
||||||
|
if (imagep->getBoostLevel() == LLGLTexture::BOOST_SELECTED)
|
||||||
|
{
|
||||||
|
imagep->setBoostLevel(LLGLTexture::BOOST_NONE);
|
||||||
|
}
|
||||||
|
|
||||||
F32 vsize;
|
F32 vsize;
|
||||||
F32 old_size = face->getVirtualSize();
|
F32 old_size = face->getVirtualSize();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -666,7 +666,7 @@
|
||||||
layout="topleft"
|
layout="topleft"
|
||||||
left_delta="130"
|
left_delta="130"
|
||||||
top_delta="0"
|
top_delta="0"
|
||||||
name="ReflectionDetial"
|
name="ReflectionDetail"
|
||||||
width="150">
|
width="150">
|
||||||
<combo_box.item
|
<combo_box.item
|
||||||
label="Disabled"
|
label="Disabled"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue