From aadb36578b6301e833cc09140be3c5e4169b38c6 Mon Sep 17 00:00:00 2001 From: David Anderson Date: Wed, 3 Apr 2013 00:19:01 -0700 Subject: [PATCH] - Client: detect new Win versions and AMD GPUs; from [P3D] Crashtest --- client/gpu_amd.cpp | 22 +++++++++++++++++++++- client/hostinfo_win.cpp | 9 +++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/client/gpu_amd.cpp b/client/gpu_amd.cpp index bcb4a55952..81d6416514 100644 --- a/client/gpu_amd.cpp +++ b/client/gpu_amd.cpp @@ -251,7 +251,7 @@ void COPROC_ATI::get( gpu_name="ATI Radeon HD 2900 (RV600)"; break; case CAL_TARGET_610: - gpu_name="ATI Radeon HD 2300/2400/3200 (RV610)"; + gpu_name="ATI Radeon HD 2300/2400/3200/4200 (RV610)"; attribs.numberOfSIMD=1; // set correct values (reported wrong by driver) attribs.wavefrontSize=32; break; @@ -324,6 +324,26 @@ void COPROC_ATI::get( case 23: gpu_name="AMD Radeon HD 7400/7500/7600 serie (Trinity)"; break; +////////////////////////////////////////////////////////////////////// +// +// new CAL_TARGET_IDs +// +// AMD released new GPUs (Sun, Venus, Mars, Neptune, ... and Bonaire +// +// they could be even more than the current max of 26! +// +// Kaveri and Kabini will have other new TargetIDs +// +////////////////////////////////////////////////////////////////////// + case 24: + gpu_name="AMD Radeon HD (unknown)"; + break; + case 25: + gpu_name="AMD Radeon HD (unknown)"; + break; + case 26: + gpu_name="AMD Radeon HD 7790 series (Bonaire)"; + break; default: gpu_name="AMD Radeon HD (unknown)"; break; diff --git a/client/hostinfo_win.cpp b/client/hostinfo_win.cpp index cce802a7c5..b98c8dfd2d 100644 --- a/client/hostinfo_win.cpp +++ b/client/hostinfo_win.cpp @@ -437,6 +437,15 @@ int get_os_information( switch (osvi.dwPlatformId) { case VER_PLATFORM_WIN32_NT: + if ( osvi.dwMajorVersion == 6 && osvi.dwMinorVersion == 3 ) { + if( osvi.wProductType == VER_NT_WORKSTATION ) { + strcat(os_name, "Windows Blue"); + } else { + strcat(os_name, "Windows Blue Server"); + } + pGPI( 6, 3, 0, 0, &dwType); + } + if ( osvi.dwMajorVersion == 6 && osvi.dwMinorVersion == 2 ) { if( osvi.wProductType == VER_NT_WORKSTATION ) { strcat(os_name, "Windows 8");