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.
 | // Refer to the license.txt file included.
 | ||||||
| 
 | 
 | ||||||
| #include <cstring> | #include <cstring> | ||||||
| #include <string> |  | ||||||
| #include <thread> |  | ||||||
| #include "common/common_types.h" | #include "common/common_types.h" | ||||||
| #include "common/x64/cpu_detect.h" | #include "common/x64/cpu_detect.h" | ||||||
| 
 | 
 | ||||||
|  | @ -51,8 +49,6 @@ namespace Common { | ||||||
| static CPUCaps Detect() { | static CPUCaps Detect() { | ||||||
|     CPUCaps caps = {}; |     CPUCaps caps = {}; | ||||||
| 
 | 
 | ||||||
|     caps.num_cores = std::thread::hardware_concurrency(); |  | ||||||
| 
 |  | ||||||
|     // Assumes the CPU supports the CPUID instruction. Those that don't would likely not support
 |     // Assumes the CPU supports the CPUID instruction. Those that don't would likely not support
 | ||||||
|     // Citra at all anyway
 |     // Citra at all anyway
 | ||||||
| 
 | 
 | ||||||
|  | @ -96,15 +92,9 @@ static CPUCaps Detect() { | ||||||
|             caps.sse4_1 = true; |             caps.sse4_1 = true; | ||||||
|         if ((cpu_id[2] >> 20) & 1) |         if ((cpu_id[2] >> 20) & 1) | ||||||
|             caps.sse4_2 = true; |             caps.sse4_2 = true; | ||||||
|         if ((cpu_id[2] >> 22) & 1) |  | ||||||
|             caps.movbe = true; |  | ||||||
|         if ((cpu_id[2] >> 25) & 1) |         if ((cpu_id[2] >> 25) & 1) | ||||||
|             caps.aes = true; |             caps.aes = true; | ||||||
| 
 | 
 | ||||||
|         if ((cpu_id[3] >> 24) & 1) { |  | ||||||
|             caps.fxsave_fxrstor = true; |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|         // AVX support requires 3 separate checks:
 |         // AVX support requires 3 separate checks:
 | ||||||
|         //  - Is the AVX bit set in CPUID?
 |         //  - Is the AVX bit set in CPUID?
 | ||||||
|         //  - Is the XSAVE 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) { |     if (max_ex_fn >= 0x80000004) { | ||||||
|         // Extract CPU model string
 |         // Extract CPU model string
 | ||||||
|         __cpuid(cpu_id, 0x80000002); |         __cpuid(cpu_id, 0x80000002); | ||||||
|  | @ -144,14 +132,8 @@ static CPUCaps Detect() { | ||||||
|     if (max_ex_fn >= 0x80000001) { |     if (max_ex_fn >= 0x80000001) { | ||||||
|         // Check for more features
 |         // Check for more features
 | ||||||
|         __cpuid(cpu_id, 0x80000001); |         __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) |         if ((cpu_id[2] >> 16) & 1) | ||||||
|             caps.fma4 = true; |             caps.fma4 = true; | ||||||
|         if ((cpu_id[3] >> 29) & 1) |  | ||||||
|             caps.long_mode = true; |  | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     return caps; |     return caps; | ||||||
|  | @ -162,48 +144,4 @@ const CPUCaps& GetCPUCaps() { | ||||||
|     return caps; |     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
 | } // namespace Common
 | ||||||
|  |  | ||||||
|  | @ -4,8 +4,6 @@ | ||||||
| 
 | 
 | ||||||
| #pragma once | #pragma once | ||||||
| 
 | 
 | ||||||
| #include <string> |  | ||||||
| 
 |  | ||||||
| namespace Common { | namespace Common { | ||||||
| 
 | 
 | ||||||
| /// x86/x64 CPU vendors that may be detected by this module
 | /// x86/x64 CPU vendors that may be detected by this module
 | ||||||
|  | @ -20,14 +18,12 @@ struct CPUCaps { | ||||||
|     CPUVendor vendor; |     CPUVendor vendor; | ||||||
|     char cpu_string[0x21]; |     char cpu_string[0x21]; | ||||||
|     char brand_string[0x41]; |     char brand_string[0x41]; | ||||||
|     int num_cores; |  | ||||||
|     bool sse; |     bool sse; | ||||||
|     bool sse2; |     bool sse2; | ||||||
|     bool sse3; |     bool sse3; | ||||||
|     bool ssse3; |     bool ssse3; | ||||||
|     bool sse4_1; |     bool sse4_1; | ||||||
|     bool sse4_2; |     bool sse4_2; | ||||||
|     bool lzcnt; |  | ||||||
|     bool avx; |     bool avx; | ||||||
|     bool avx2; |     bool avx2; | ||||||
|     bool bmi1; |     bool bmi1; | ||||||
|  | @ -35,20 +31,6 @@ struct CPUCaps { | ||||||
|     bool fma; |     bool fma; | ||||||
|     bool fma4; |     bool fma4; | ||||||
|     bool aes; |     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(); | 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
 | } // namespace Common
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue