FIRE-35602 - revisit for OpenSim

reinstate the prio behaviour only on opensim where it might still be plausible to get the meshRezEnabled false back from the region. Retain a bias to True.

SL behaviour remains the same as the LL fix
master
Beq 2025-05-19 18:08:40 +01:00
parent 0a3c934cc6
commit fdf75d8854
3 changed files with 35 additions and 1 deletions

View File

@ -6207,6 +6207,18 @@ bool LLMeshRepository::meshUploadEnabled()
bool LLMeshRepository::meshRezEnabled()
{
static LLCachedControl<bool> mesh_enabled(gSavedSettings, "MeshEnabled");
// <FS:Beq> FIRE-35602 etc - Mesh not appearing after TP/login (opensim only)
// For OpenSim there is still an outside chance that mesh rezzing is disabled on the sim/region
// restore the old behaviour but keep the bias to mesh_enabled == true in the underlying checks.
#ifdef OPENSIM
LLViewerRegion *region = gAgent.getRegion();
if(mesh_enabled &&
region)
{
return region->meshRezEnabled();
}
#endif // OPENSIM
// </FS:Beq>
return mesh_enabled;
}

View File

@ -121,6 +121,7 @@ namespace
void newRegionEntry(LLViewerRegion& region)
{
LL_PROFILE_ZONE_SCOPED; // <FS:Beq/> improve instrumentation
LL_INFOS("LLViewerRegion") << "Entering region [" << region.getName() << "]" << LL_ENDL;
gDebugInfo["CurrentRegion"] = region.getName();
LLAppViewer::instance()->writeDebugInfo();
@ -3983,6 +3984,23 @@ bool LLViewerRegion::bakesOnMeshEnabled() const
mSimulatorFeatures["BakesOnMeshEnabled"].asBoolean());
}
// <FS:Beq> FIRE-35602 etc - Mesh not appearing after TP/login (opensim only)
#ifdef OPENSIM
bool LLViewerRegion::meshRezEnabled() const
{
if (LLGridManager::getInstance()->isInOpenSim())
{
if(!mSimulatorFeaturesReceived)
{
LL_DEBUGS("MeshRez") << "MeshRezEnabled: SimulatorFeatures not received yet. Defaulting to true" << LL_ENDL;
return true;
}
}
return (mSimulatorFeatures.has("MeshRezEnabled") &&
mSimulatorFeatures["MeshRezEnabled"].asBoolean());
}
#endif
// </FS:Beq>
bool LLViewerRegion::dynamicPathfindingEnabled() const
{
return ( mSimulatorFeatures.has("DynamicPathfindingEnabled") &&

View File

@ -355,7 +355,11 @@ public:
U8 getCentralBakeVersion() { return mCentralBakeVersion; }
void getInfo(LLSD& info);
// <FS:Beq> FIRE-35602 etc - Mesh not appearing after TP/login (opensim only)
#ifdef OPENSIM
bool meshRezEnabled() const;
#endif // OPENSIM
// </FS:Beq>
bool meshUploadEnabled() const;
bool bakesOnMeshEnabled() const;