mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-30 21:30:04 +00:00 
			
		
		
		
	common/cpu_detect: Remove unused functionality
This commit is contained in:
		
							parent
							
								
									4efb9c6d99
								
							
						
					
					
						commit
						bc5ad137c0
					
				
					 2 changed files with 0 additions and 86 deletions
				
			
		|  | @ -3,8 +3,6 @@ | |||
| // Refer to the license.txt file included.
 | ||||
| 
 | ||||
| #include <cstring> | ||||
| #include <string> | ||||
| #include <thread> | ||||
| #include "common/common_types.h" | ||||
| #include "common/x64/cpu_detect.h" | ||||
| 
 | ||||
|  | @ -51,8 +49,6 @@ namespace Common { | |||
| static CPUCaps Detect() { | ||||
|     CPUCaps caps = {}; | ||||
| 
 | ||||
|     caps.num_cores = std::thread::hardware_concurrency(); | ||||
| 
 | ||||
|     // Assumes the CPU supports the CPUID instruction. Those that don't would likely not support
 | ||||
|     // Citra at all anyway
 | ||||
| 
 | ||||
|  | @ -96,15 +92,9 @@ static CPUCaps Detect() { | |||
|             caps.sse4_1 = true; | ||||
|         if ((cpu_id[2] >> 20) & 1) | ||||
|             caps.sse4_2 = true; | ||||
|         if ((cpu_id[2] >> 22) & 1) | ||||
|             caps.movbe = true; | ||||
|         if ((cpu_id[2] >> 25) & 1) | ||||
|             caps.aes = true; | ||||
| 
 | ||||
|         if ((cpu_id[3] >> 24) & 1) { | ||||
|             caps.fxsave_fxrstor = true; | ||||
|         } | ||||
| 
 | ||||
|         // AVX support requires 3 separate checks:
 | ||||
|         //  - Is the AVX bit set in CPUID?
 | ||||
|         //  - Is the XSAVE bit set in CPUID?
 | ||||
|  | @ -129,8 +119,6 @@ static CPUCaps Detect() { | |||
|         } | ||||
|     } | ||||
| 
 | ||||
|     caps.flush_to_zero = caps.sse; | ||||
| 
 | ||||
|     if (max_ex_fn >= 0x80000004) { | ||||
|         // Extract CPU model string
 | ||||
|         __cpuid(cpu_id, 0x80000002); | ||||
|  | @ -144,14 +132,8 @@ static CPUCaps Detect() { | |||
|     if (max_ex_fn >= 0x80000001) { | ||||
|         // Check for more features
 | ||||
|         __cpuid(cpu_id, 0x80000001); | ||||
|         if (cpu_id[2] & 1) | ||||
|             caps.lahf_sahf_64 = true; | ||||
|         if ((cpu_id[2] >> 5) & 1) | ||||
|             caps.lzcnt = true; | ||||
|         if ((cpu_id[2] >> 16) & 1) | ||||
|             caps.fma4 = true; | ||||
|         if ((cpu_id[3] >> 29) & 1) | ||||
|             caps.long_mode = true; | ||||
|     } | ||||
| 
 | ||||
|     return caps; | ||||
|  | @ -162,48 +144,4 @@ const CPUCaps& GetCPUCaps() { | |||
|     return caps; | ||||
| } | ||||
| 
 | ||||
| std::string GetCPUCapsString() { | ||||
|     auto caps = GetCPUCaps(); | ||||
| 
 | ||||
|     std::string sum(caps.cpu_string); | ||||
|     sum += " ("; | ||||
|     sum += caps.brand_string; | ||||
|     sum += ")"; | ||||
| 
 | ||||
|     if (caps.sse) | ||||
|         sum += ", SSE"; | ||||
|     if (caps.sse2) { | ||||
|         sum += ", SSE2"; | ||||
|         if (!caps.flush_to_zero) | ||||
|             sum += " (without DAZ)"; | ||||
|     } | ||||
| 
 | ||||
|     if (caps.sse3) | ||||
|         sum += ", SSE3"; | ||||
|     if (caps.ssse3) | ||||
|         sum += ", SSSE3"; | ||||
|     if (caps.sse4_1) | ||||
|         sum += ", SSE4.1"; | ||||
|     if (caps.sse4_2) | ||||
|         sum += ", SSE4.2"; | ||||
|     if (caps.avx) | ||||
|         sum += ", AVX"; | ||||
|     if (caps.avx2) | ||||
|         sum += ", AVX2"; | ||||
|     if (caps.bmi1) | ||||
|         sum += ", BMI1"; | ||||
|     if (caps.bmi2) | ||||
|         sum += ", BMI2"; | ||||
|     if (caps.fma) | ||||
|         sum += ", FMA"; | ||||
|     if (caps.aes) | ||||
|         sum += ", AES"; | ||||
|     if (caps.movbe) | ||||
|         sum += ", MOVBE"; | ||||
|     if (caps.long_mode) | ||||
|         sum += ", 64-bit support"; | ||||
| 
 | ||||
|     return sum; | ||||
| } | ||||
| 
 | ||||
| } // namespace Common
 | ||||
|  |  | |||
|  | @ -4,8 +4,6 @@ | |||
| 
 | ||||
| #pragma once | ||||
| 
 | ||||
| #include <string> | ||||
| 
 | ||||
| namespace Common { | ||||
| 
 | ||||
| /// x86/x64 CPU vendors that may be detected by this module
 | ||||
|  | @ -20,14 +18,12 @@ struct CPUCaps { | |||
|     CPUVendor vendor; | ||||
|     char cpu_string[0x21]; | ||||
|     char brand_string[0x41]; | ||||
|     int num_cores; | ||||
|     bool sse; | ||||
|     bool sse2; | ||||
|     bool sse3; | ||||
|     bool ssse3; | ||||
|     bool sse4_1; | ||||
|     bool sse4_2; | ||||
|     bool lzcnt; | ||||
|     bool avx; | ||||
|     bool avx2; | ||||
|     bool bmi1; | ||||
|  | @ -35,20 +31,6 @@ struct CPUCaps { | |||
|     bool fma; | ||||
|     bool fma4; | ||||
|     bool aes; | ||||
| 
 | ||||
|     // Support for the FXSAVE and FXRSTOR instructions
 | ||||
|     bool fxsave_fxrstor; | ||||
| 
 | ||||
|     bool movbe; | ||||
| 
 | ||||
|     // This flag indicates that the hardware supports some mode in which denormal inputs and outputs
 | ||||
|     // are automatically set to (signed) zero.
 | ||||
|     bool flush_to_zero; | ||||
| 
 | ||||
|     // Support for LAHF and SAHF instructions in 64-bit mode
 | ||||
|     bool lahf_sahf_64; | ||||
| 
 | ||||
|     bool long_mode; | ||||
| }; | ||||
| 
 | ||||
| /**
 | ||||
|  | @ -57,10 +39,4 @@ struct CPUCaps { | |||
|  */ | ||||
| const CPUCaps& GetCPUCaps(); | ||||
| 
 | ||||
| /**
 | ||||
|  * Gets a string summary of the name and supported capabilities of the host CPU | ||||
|  * @return String summary | ||||
|  */ | ||||
| std::string GetCPUCapsString(); | ||||
| 
 | ||||
| } // namespace Common
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue