diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/video_core/renderer_opengl/gl_device.cpp | 31 |
1 files changed, 28 insertions, 3 deletions
diff --git a/src/video_core/renderer_opengl/gl_device.cpp b/src/video_core/renderer_opengl/gl_device.cpp index 3d2674232..3b00614e7 100644 --- a/src/video_core/renderer_opengl/gl_device.cpp +++ b/src/video_core/renderer_opengl/gl_device.cpp | |||
| @@ -282,14 +282,21 @@ std::string Device::GetVendorName() const { | |||
| 282 | if (vendor_name == "ATI Technologies Inc.") { | 282 | if (vendor_name == "ATI Technologies Inc.") { |
| 283 | return "AMD"; | 283 | return "AMD"; |
| 284 | } | 284 | } |
| 285 | if (vendor_name == "Intel" || vendor_name == "Intel Open Source Technology Center") { | 285 | if (vendor_name == "Intel") { |
| 286 | // For Mesa, `Intel` is an overloaded vendor string that could mean crocus or iris. | ||
| 287 | // Simply return `INTEL` for those as well as the Windows driver. | ||
| 286 | return "INTEL"; | 288 | return "INTEL"; |
| 287 | } | 289 | } |
| 290 | if (vendor_name == "Intel Open Source Technology Center") { | ||
| 291 | return "I965"; | ||
| 292 | } | ||
| 288 | if (vendor_name == "Mesa Project") { | 293 | if (vendor_name == "Mesa Project") { |
| 289 | return "MESA"; | 294 | return "I915"; |
| 290 | } | 295 | } |
| 291 | if (vendor_name == "Mesa/X.org") { | 296 | if (vendor_name == "Mesa/X.org") { |
| 292 | return "LLVMPIPE"; | 297 | // This vendor string is overloaded between llvmpipe, softpipe, and virgl, so just return |
| 298 | // MESA instead of one of those driver names. | ||
| 299 | return "MESA"; | ||
| 293 | } | 300 | } |
| 294 | if (vendor_name == "AMD") { | 301 | if (vendor_name == "AMD") { |
| 295 | return "RADEONSI"; | 302 | return "RADEONSI"; |
| @@ -297,6 +304,24 @@ std::string Device::GetVendorName() const { | |||
| 297 | if (vendor_name == "nouveau") { | 304 | if (vendor_name == "nouveau") { |
| 298 | return "NOUVEAU"; | 305 | return "NOUVEAU"; |
| 299 | } | 306 | } |
| 307 | if (vendor_name == "X.Org") { | ||
| 308 | return "R600"; | ||
| 309 | } | ||
| 310 | if (vendor_name == "Collabora Ltd") { | ||
| 311 | return "ZINK"; | ||
| 312 | } | ||
| 313 | if (vendor_name == "Intel Corporation") { | ||
| 314 | return "OPENSWR"; | ||
| 315 | } | ||
| 316 | if (vendor_name == "Microsoft Corporation") { | ||
| 317 | return "D3D12"; | ||
| 318 | } | ||
| 319 | if (vendor_name == "NVIDIA") { | ||
| 320 | // Mesa's tegra driver reports `NVIDIA`. Only present in this list because the default | ||
| 321 | // strategy would have returned `NVIDIA` here for this driver, the same result as the | ||
| 322 | // proprietary driver. | ||
| 323 | return "TEGRA"; | ||
| 324 | } | ||
| 300 | return vendor_name; | 325 | return vendor_name; |
| 301 | } | 326 | } |
| 302 | 327 | ||