summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2021-08-19 21:53:52 +0300
committerAndrey Kleshchev <andreykproductengine@lindenlab.com>2021-08-20 13:54:50 +0300
commit49b7ce025d6d1e3adb70c28b276a9b7378f57a9f (patch)
tree491ea0a03af29accc05a1d26c579434d192027c1 /indra/newview
parent19a74195dda9cfb20466f5f7b09fe1caf84813a6 (diff)
SL-7934 Driver version from wrong GPU
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llappviewer.cpp23
1 files changed, 22 insertions, 1 deletions
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 891722e1bd..65db910c08 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -3165,7 +3165,28 @@ LLSD LLAppViewer::getViewerInfo() const
info["GRAPHICS_CARD"] = ll_safe_string((const char*)(glGetString(GL_RENDERER)));
#if LL_WINDOWS
- std::string drvinfo = gDXHardware.getDriverVersionWMI();
+ std::string drvinfo;
+
+ if (gGLManager.mIsIntel)
+ {
+ drvinfo = gDXHardware.getDriverVersionWMI(LLDXHardware::GPU_INTEL);
+ }
+ else if (gGLManager.mIsNVIDIA)
+ {
+ drvinfo = gDXHardware.getDriverVersionWMI(LLDXHardware::GPU_NVIDIA);
+ }
+ else if (gGLManager.mIsATI)
+ {
+ drvinfo = gDXHardware.getDriverVersionWMI(LLDXHardware::GPU_AMD);
+ }
+
+ if (drvinfo.empty())
+ {
+ // Generic/substitute windows driver? Unknown vendor?
+ LL_WARNS("DriverVersion") << "Vendor based driver search failed, searching for any driver" << LL_ENDL;
+ drvinfo = gDXHardware.getDriverVersionWMI(LLDXHardware::GPU_ANY);
+ }
+
if (!drvinfo.empty())
{
info["GRAPHICS_DRIVER_VERSION"] = drvinfo;