summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorRunitai Linden <davep@lindenlab.com>2022-01-24 11:04:11 -0600
committerRunitai Linden <davep@lindenlab.com>2022-01-24 11:04:11 -0600
commit9c7ec66d248369ebfb589a9c84cf951f8d4b93b5 (patch)
tree4344cf8ba7b16435795eaaa8994a511343e4bcbb /indra
parent6721b96f03c5e07884454f2110bbc73f7add8ed5 (diff)
SL-16691 Add GPU memory bandwidth to ViewerStats
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/llfeaturemanager.cpp2
-rw-r--r--indra/newview/llfeaturemanager.h5
-rw-r--r--indra/newview/llviewerstats.cpp1
3 files changed, 8 insertions, 0 deletions
diff --git a/indra/newview/llfeaturemanager.cpp b/indra/newview/llfeaturemanager.cpp
index c3780e42c6..0813057714 100644
--- a/indra/newview/llfeaturemanager.cpp
+++ b/indra/newview/llfeaturemanager.cpp
@@ -419,6 +419,8 @@ bool LLFeatureManager::loadGPUClass()
LL_WARNS("RenderInit") << "GPU benchmark failed: " << e.what() << LL_ENDL;
}
+ mGPUMemoryBandwidth = gbps;
+
// bias by CPU speed
F32 cpu_basis_mhz = gSavedSettings.getF32("RenderCPUBasis");
F32 cpu_mhz = (F32) gSysCPU.getMHz();
diff --git a/indra/newview/llfeaturemanager.h b/indra/newview/llfeaturemanager.h
index 42a226cd18..651404d890 100644
--- a/indra/newview/llfeaturemanager.h
+++ b/indra/newview/llfeaturemanager.h
@@ -111,6 +111,10 @@ public:
EGPUClass getGPUClass() { return mGPUClass; }
std::string& getGPUString() { return mGPUString; }
+
+ // get the measured GPU memory bandwidth in GB/sec
+ // may return 0 of benchmark has not been run or failed to run
+ F32 getGPUMemoryBandwidth() { return mGPUMemoryBandwidth; }
BOOL isGPUSupported() { return mGPUSupported; }
F32 getExpectedGLVersion() { return mExpectedGLVersion; }
@@ -162,6 +166,7 @@ protected:
S32 mTableVersion;
BOOL mSafe; // Reinitialize everything to the "safe" mask
EGPUClass mGPUClass;
+ F32 mGPUMemoryBandwidth = 0.f; // measured memory bandwidth of GPU in GB/second
F32 mExpectedGLVersion; //expected GL version according to gpu table
std::string mGPUString;
BOOL mGPUSupported;
diff --git a/indra/newview/llviewerstats.cpp b/indra/newview/llviewerstats.cpp
index 5ce97c086d..a560778ef4 100644
--- a/indra/newview/llviewerstats.cpp
+++ b/indra/newview/llviewerstats.cpp
@@ -512,6 +512,7 @@ void send_viewer_stats(bool include_preferences)
system["gpu"] = gpu_desc;
system["gpu_class"] = (S32)LLFeatureManager::getInstance()->getGPUClass();
+ system["gpu_memory_bandwidth"] = LLFeatureManager::getInstance()->getGPUMemoryBandwidth();
system["gpu_vendor"] = gGLManager.mGLVendorShort;
system["gpu_version"] = gGLManager.mDriverVersionVendorString;
system["opengl_version"] = gGLManager.mGLVersionString;