diff --git a/indra/llcommon/llfasttimer.cpp b/indra/llcommon/llfasttimer.cpp index 6f046c18ff4f785f552b15551ea39ab1a415665b..f4c87ab6f6bb966922405105d8e8914ffe243538 100755 --- a/indra/llcommon/llfasttimer.cpp +++ b/indra/llcommon/llfasttimer.cpp @@ -397,7 +397,7 @@ void TimeBlock::dumpCurTimes() } out_str << timerp->getName() << " " - << std::setprecision(3) << total_time.valueAs<LLUnits::Milliseconds>() << " ms, " + << std::setprecision(3) << total_time.valueInUnits<LLUnits::Milliseconds>() << " ms, " << num_calls << " calls"; llinfos << out_str.str() << llendl; diff --git a/indra/llcommon/llunit.h b/indra/llcommon/llunit.h index 781a4ab7317a9bcb488a50f2208205390e9bed7b..2e4c0de28fd947bb2f2b256c6ab3877c82d3187e 100644 --- a/indra/llcommon/llunit.h +++ b/indra/llcommon/llunit.h @@ -74,10 +74,21 @@ struct LLUnit return mValue; } + void value(storage_t value) + { + mValue = value; + } + + template<typename NEW_UNIT_TYPE> + storage_t valueInUnits() + { + return LLUnit<storage_t, NEW_UNIT_TYPE>(*this).value(); + } + template<typename NEW_UNIT_TYPE> - STORAGE_TYPE valueAs() + void valueInUnits(storage_t value) { - return LLUnit<STORAGE_TYPE, NEW_UNIT_TYPE>(*this).value(); + *this = LLUnit<storage_t, NEW_UNIT_TYPE>(value); } void operator += (storage_t value) diff --git a/indra/newview/llfasttimerview.cpp b/indra/newview/llfasttimerview.cpp index b61889ccfa0116f127fa1a6f337567630bc0c41e..4037b5ebdd85107a6caa662aac0e55bc98ee2395 100755 --- a/indra/newview/llfasttimerview.cpp +++ b/indra/newview/llfasttimerview.cpp @@ -1427,7 +1427,7 @@ void LLFastTimerView::updateTotalTime() break; } - mTotalTimeDisplay = LLUnits::Milliseconds::fromValue(llceil(mTotalTimeDisplay.valueAs<LLUnits::Milliseconds>() / 20.f) * 20.f); + mTotalTimeDisplay = LLUnits::Milliseconds::fromValue(llceil(mTotalTimeDisplay.valueInUnits<LLUnits::Milliseconds>() / 20.f) * 20.f); } void LLFastTimerView::drawBars() diff --git a/indra/newview/llscenemonitor.cpp b/indra/newview/llscenemonitor.cpp index 022a950ecebabff10dae28717d5bdcb375eb4af2..7fdee2b2add1cbce49074176fc5b72433868386c 100644 --- a/indra/newview/llscenemonitor.cpp +++ b/indra/newview/llscenemonitor.cpp @@ -642,7 +642,7 @@ void LLSceneMonitor::dumpToFile(std::string file_name) for (S32 frame = 1; frame <= frame_count; frame++) { - os << ", " << scene_load_recording.getPrevRecording(frame_count - frame).getMax(*it).valueAs<LLUnits::Kibibytes>(); + os << ", " << scene_load_recording.getPrevRecording(frame_count - frame).getMax(*it).valueInUnits<LLUnits::Kibibytes>(); } os << '\n'; diff --git a/indra/newview/lltextureinfo.cpp b/indra/newview/lltextureinfo.cpp index 3ae85d56dada864daecde15729ffde6a0547a3ea..d467fd4d970e530deea8afca0eab2afc825f2b87 100755 --- a/indra/newview/lltextureinfo.cpp +++ b/indra/newview/lltextureinfo.cpp @@ -200,11 +200,11 @@ LLSD LLTextureInfo::getAverages() } else { - averageDownloadRate = mRecording.getSum(sTextureDataDownloaded).valueAs<LLUnits::Bits>() / download_time.valueAs<LLUnits::Seconds>(); + averageDownloadRate = mRecording.getSum(sTextureDataDownloaded).valueInUnits<LLUnits::Bits>() / download_time.valueInUnits<LLUnits::Seconds>(); } averagedTextureData["bits_per_second"] = averageDownloadRate; - averagedTextureData["bytes_downloaded"] = mRecording.getSum(sTextureDataDownloaded).valueAs<LLUnits::Bytes>(); + averagedTextureData["bytes_downloaded"] = mRecording.getSum(sTextureDataDownloaded).valueInUnits<LLUnits::Bytes>(); averagedTextureData["texture_downloads_started"] = mRecording.getSum(sTextureDownloadsStarted); averagedTextureData["texture_downloads_completed"] = mRecording.getSum(sTextureDownloadsCompleted); averagedTextureData["transport"] = mTextureDownloadProtocol;