Backwards compatible usage of "ViewerAsset" cap for Textures and Mesh

This commit is contained in:
Lirusaito
2019-02-28 08:50:27 -05:00
parent d6b5e9f5a5
commit 5de463638c
4 changed files with 34 additions and 9 deletions

View File

@@ -2584,7 +2584,8 @@ void LLMeshRepository::notifyLoadedMeshes()
if (gAgent.getRegion()->getName() != region_name && gAgent.getRegion()->capabilitiesReceived())
{
region_name = gAgent.getRegion()->getName();
mGetMeshCapability = gAgent.getRegion()->getCapability("GetMesh2");
const std::string mesh_cap(gAgent.getRegion()->getViewerAssetUrl());
mGetMeshCapability = !mesh_cap.empty() ? mesh_cap : gAgent.getRegion()->getCapability("GetMesh2");
if (mGetMeshCapability.empty())
{
mGetMeshCapability = gAgent.getRegion()->getCapability("GetMesh");

View File

@@ -1241,7 +1241,8 @@ bool LLTextureFetchWorker::doWork(S32 param)
if (region)
{
std::string http_url = region->getHttpUrl() ;
std::string http_url = region->getViewerAssetUrl();
if (http_url.empty()) http_url = region->getCapability("GetTexture");
if (!http_url.empty())
{
if (mFTType != FTT_DEFAULT)

View File

@@ -416,7 +416,7 @@ LLViewerRegion::LLViewerRegion(const U64 &handle,
mColoName("unknown"),
mProductSKU("unknown"),
mProductName("unknown"),
mHttpUrl(""),
mViewerAssetUrl(""),
mCacheLoaded(FALSE),
mCacheDirty(FALSE),
mReleaseNotesRequested(FALSE),
@@ -1957,6 +1957,7 @@ void LLViewerRegionImpl::buildCapabilityNames(LLSD& capabilityNames)
capabilityNames.append("UpdateScriptAgent");
capabilityNames.append("UpdateScriptTask");
capabilityNames.append("UploadBakedTexture");
capabilityNames.append("ViewerAsset");
capabilityNames.append("ViewerMetrics");
capabilityNames.append("ViewerStartAuction");
capabilityNames.append("ViewerStats");
@@ -2126,9 +2127,20 @@ void LLViewerRegion::setCapability(const std::string& name, const std::string& u
else
{
mImpl->mCapabilities[name] = url;
if(name == "GetTexture")
if(name == "ViewerAsset")
{
mHttpUrl = url ;
/*==============================================================*/
// The following inserted lines are a hack for testing MAINT-7081,
// which is why the indentation and formatting are left ugly.
const char* VIEWERASSET = getenv("VIEWERASSET");
if (VIEWERASSET)
{
mImpl->mCapabilities[name] = VIEWERASSET;
mViewerAssetUrl = VIEWERASSET;
}
else
/*==============================================================*/
mViewerAssetUrl = url;
}
}
}
@@ -2139,9 +2151,20 @@ void LLViewerRegion::setCapabilityDebug(const std::string& name, const std::stri
if ( ! ( name == "EventQueueGet" || name == "UntrustedSimulatorMessage" || name == "SimulatorFeatures" ) )
{
mImpl->mSecondCapabilitiesTracker[name] = url;
if(name == "GetTexture")
if(name == "ViewerAsset")
{
mHttpUrl = url ;
/*==============================================================*/
// The following inserted lines are a hack for testing MAINT-7081,
// which is why the indentation and formatting are left ugly.
const char* VIEWERASSET = getenv("VIEWERASSET");
if (VIEWERASSET)
{
mImpl->mSecondCapabilitiesTracker[name] = VIEWERASSET;
mViewerAssetUrl = VIEWERASSET;
}
else
/*==============================================================*/
mViewerAssetUrl = url;
}
}

View File

@@ -371,7 +371,7 @@ public:
friend std::ostream& operator<<(std::ostream &s, const LLViewerRegion &region);
/// implements LLCapabilityProvider
virtual std::string getDescription() const;
std::string getHttpUrl() const { return mHttpUrl ;}
std::string getViewerAssetUrl() const { return mViewerAssetUrl; }
LLSpatialPartition* getSpatialPartition(U32 type);
@@ -474,7 +474,7 @@ private:
std::string mColoName;
std::string mProductSKU;
std::string mProductName;
std::string mHttpUrl;
std::string mViewerAssetUrl;
// Maps local ids to cache entries.
// Regions can have order 10,000 objects, so assume