diff options
| author | Pierre Bourdon <delroth@gmail.com> | 2019-12-30 10:59:14 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-12-30 10:59:14 +0100 |
| commit | 7a6a4510f6eed48652200f8c83e79723ae3581f2 (patch) | |
| tree | 6abb193c5bb8ef35b627d023648b18a11a16eddc /Source/Core/VideoBackends/OGL/Render.cpp | |
| parent | 084344aa5d9a39fc05cfe952005e530766c3c29c (diff) | |
| parent | 11339d77c6835dd908b86a92412686c46435e006 (diff) | |
Merge pull request #8362 from GerbilSoft/feature/string-optimizations.2019-09-11
Various string and other optimizations
Diffstat (limited to 'Source/Core/VideoBackends/OGL/Render.cpp')
| -rw-r--r-- | Source/Core/VideoBackends/OGL/Render.cpp | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/Source/Core/VideoBackends/OGL/Render.cpp b/Source/Core/VideoBackends/OGL/Render.cpp index 14bc05757a..27a8c05287 100644 --- a/Source/Core/VideoBackends/OGL/Render.cpp +++ b/Source/Core/VideoBackends/OGL/Render.cpp @@ -144,28 +144,35 @@ static void APIENTRY ClearDepthf(GLfloat depthval) static void InitDriverInfo() { - std::string svendor = std::string(g_ogl_config.gl_vendor); - std::string srenderer = std::string(g_ogl_config.gl_renderer); - std::string sversion = std::string(g_ogl_config.gl_version); + const std::string_view svendor(g_ogl_config.gl_vendor); + const std::string_view srenderer(g_ogl_config.gl_renderer); + const std::string_view sversion(g_ogl_config.gl_version); DriverDetails::Vendor vendor = DriverDetails::VENDOR_UNKNOWN; DriverDetails::Driver driver = DriverDetails::DRIVER_UNKNOWN; DriverDetails::Family family = DriverDetails::Family::UNKNOWN; double version = 0.0; // Get the vendor first - if (svendor == "NVIDIA Corporation" && srenderer != "NVIDIA Tegra") + if (svendor == "NVIDIA Corporation") { - vendor = DriverDetails::VENDOR_NVIDIA; + if (srenderer != "NVIDIA Tegra") + { + vendor = DriverDetails::VENDOR_NVIDIA; + } + else + { + vendor = DriverDetails::VENDOR_TEGRA; + } } else if (svendor == "ATI Technologies Inc." || svendor == "Advanced Micro Devices, Inc.") { vendor = DriverDetails::VENDOR_ATI; } - else if (std::string::npos != sversion.find("Mesa")) + else if (sversion.find("Mesa") != std::string::npos) { vendor = DriverDetails::VENDOR_MESA; } - else if (std::string::npos != svendor.find("Intel")) + else if (svendor.find("Intel") != std::string::npos) { vendor = DriverDetails::VENDOR_INTEL; } @@ -186,10 +193,6 @@ static void InitDriverInfo() { vendor = DriverDetails::VENDOR_IMGTEC; } - else if (svendor == "NVIDIA Corporation" && srenderer == "NVIDIA Tegra") - { - vendor = DriverDetails::VENDOR_TEGRA; - } else if (svendor == "Vivante Corporation") { vendor = DriverDetails::VENDOR_VIVANTE; @@ -238,8 +241,8 @@ static void InitDriverInfo() else if (srenderer.find("Ivybridge") != std::string::npos) family = DriverDetails::Family::INTEL_IVY; } - else if (std::string::npos != srenderer.find("AMD") || - std::string::npos != srenderer.find("ATI")) + else if (srenderer.find("AMD") != std::string::npos || + srenderer.find("ATI") != std::string::npos) { driver = DriverDetails::DRIVER_R600; } |
