summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/OGL/Render.cpp
diff options
context:
space:
mode:
authorPierre Bourdon <delroth@gmail.com>2019-12-30 10:59:14 +0100
committerGitHub <noreply@github.com>2019-12-30 10:59:14 +0100
commit7a6a4510f6eed48652200f8c83e79723ae3581f2 (patch)
tree6abb193c5bb8ef35b627d023648b18a11a16eddc /Source/Core/VideoBackends/OGL/Render.cpp
parent084344aa5d9a39fc05cfe952005e530766c3c29c (diff)
parent11339d77c6835dd908b86a92412686c46435e006 (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.cpp29
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;
}