From: Florent O. <ou...@us...> - 2005-03-12 15:40:44
|
Update of /cvsroot/jvcl/dev/JVCL3/run In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20154/JVCL3/run Modified Files: JvComputerInfoEx.pas Log Message: New properties for TJvCPUInfo: Is64Bits, ExMMX, 3DNow, Ex3DNow, L1DataCache, L1CodeCache, L2Cache, L3Cache Index: JvComputerInfoEx.pas =================================================================== RCS file: /cvsroot/jvcl/dev/JVCL3/run/JvComputerInfoEx.pas,v retrieving revision 1.36 retrieving revision 1.37 diff -C2 -d -r1.36 -r1.37 *** JvComputerInfoEx.pas 9 Mar 2005 11:40:34 -0000 1.36 --- JvComputerInfoEx.pas 12 Mar 2005 15:40:17 -0000 1.37 *************** *** 279,282 **** --- 279,283 ---- TJvCPUType = (cpuUnknown, cpuIntel, cpuCyrix, cpuAMD, cpuCrusoe); + TJvSSEVersion = (vNoSSE, vSSE1, vSSE2, vSSE3); TJvCPUInfo = class(TJvReadOnlyInfo) *************** *** 296,299 **** --- 297,301 ---- function GetManufacturer: string; function GetMMX: Boolean; + function GetSSE: TJvSSEVersion; function GetModel: Byte; function GetNormFreq: Cardinal; *************** *** 301,304 **** --- 303,315 ---- function GetStepping: Byte; function GetVendorIDString: string; + function GetProcessorCount: Integer; + function Get3DNow: Boolean; + function GetEx3DNow: Boolean; + function GetExMMX: Boolean; + function GetIs64Bits: Boolean; + function GetL1CodeCache: Cardinal; + function GetL1DataCache: Cardinal; + function GetL2Cache: Cardinal; + function GetL3Cache: Cardinal; procedure SetCPUName(const Value: string); procedure SetCPUType(const Value: TJvCPUType); *************** *** 313,316 **** --- 324,328 ---- procedure SetManufacturer(const Value: string); procedure SetMMX(const Value: Boolean); + procedure SetSSE(const Value: TJvSSEVersion); procedure SetModel(const Value: Byte); procedure SetNormFreq(const Value: Cardinal); *************** *** 318,323 **** procedure SetStepping(const Value: Byte); procedure SetVendorIDString(const Value: string); - function GetProcessorCount: Integer; procedure SetProcessorCount(const Value: Integer); public function IntelSpecific: TIntelSpecific; --- 330,342 ---- procedure SetStepping(const Value: Byte); procedure SetVendorIDString(const Value: string); procedure SetProcessorCount(const Value: Integer); + procedure Set3DNow(const Value: Boolean); + procedure SetEx3DNow(const Value: Boolean); + procedure SetExMMX(const Value: Boolean); + procedure SetIs64Bits(const Value: Boolean); + procedure SetL1CodeCache(const Value: Cardinal); + procedure SetL1DataCache(const Value: Cardinal); + procedure SetL2Cache(const Value: Cardinal); + procedure SetL3Cache(const Value: Cardinal); public function IntelSpecific: TIntelSpecific; *************** *** 332,335 **** --- 351,355 ---- property HasInstruction: Boolean read GetHasInstruction write SetHasInstruction stored False; property MMX: Boolean read GetMMX write SetMMX stored False; + property SSE: TJvSSEVersion read GetSSE write SetSSE stored False; property IsFDIVOK: Boolean read GetIsFDIVOK write SetIsFDIVOK stored False; property HasCacheInfo: Boolean read GetHasCacheInfo write SetHasCacheInfo stored False; *************** *** 343,346 **** --- 363,374 ---- property Name: string read GetCPUName write SetCPUName stored False; property ProcessorCount: Integer read GetProcessorCount write SetProcessorCount stored False; + property Is64Bits: Boolean read GetIs64Bits write SetIs64Bits stored False; + property ExMMX: Boolean read GetExMMX write SetExMMX stored False; + property _3DNow: Boolean read Get3DNow write Set3DNow stored False; + property Ex3DNow: Boolean read GetEx3DNow write SetEx3DNow stored False; + property L1DataCache: Cardinal read GetL1DataCache write SetL1DataCache stored False; + property L1CodeCache: Cardinal read GetL1CodeCache write SetL1CodeCache stored False; + property L2Cache: Cardinal read GetL2Cache write SetL2Cache stored False; + property L3Cache: Cardinal read GetL3Cache write SetL3Cache stored False; // FreqInfo property RawFreq: Cardinal read GetRawFreq write SetRawFreq stored False; *************** *** 1777,1780 **** --- 1805,1813 ---- end; + function TJvCPUInfo.Get3DNow: Boolean; + begin + Result := GetCPUInfo._3DNow; + end; + function TJvCPUInfo.GetCPUInfo: TCPUInfo; begin *************** *** 1797,1800 **** --- 1830,1843 ---- end; + function TJvCPUInfo.GetEx3DNow: Boolean; + begin + Result := GetCPUInfo.Ex3DNow; + end; + + function TJvCPUInfo.GetExMMX: Boolean; + begin + Result := GetCPUInfo.ExMMX; + end; + function TJvCPUInfo.GetExTicks: Cardinal; begin *************** *** 1832,1835 **** --- 1875,1883 ---- end; + function TJvCPUInfo.GetIs64Bits: Boolean; + begin + Result := GetCPUInfo.Is64Bits; + end; + function TJvCPUInfo.GetIsFDIVOK: Boolean; begin *************** *** 1837,1840 **** --- 1885,1908 ---- end; + function TJvCPUInfo.GetL1CodeCache: Cardinal; + begin + Result := GetCPUInfo.L1InstructionCacheSize; + end; + + function TJvCPUInfo.GetL1DataCache: Cardinal; + begin + Result := GetCPUInfo.L1DataCacheSize; + end; + + function TJvCPUInfo.GetL2Cache: Cardinal; + begin + Result := GetCPUInfo.L2CacheSize; + end; + + function TJvCPUInfo.GetL3Cache: Cardinal; + begin + Result := GetCPUInfo.L3CacheSize; + end; + function TJvCPUInfo.GetManufacturer: string; begin *************** *** 1867,1870 **** --- 1935,1948 ---- end; + function TJvCPUInfo.GetSSE: TJvSSEVersion; + begin + case GetCPUInfo.SSE of + 1 : Result := vSSE1; + 2 : Result := vSSE2; + 3 : Result := vSSE3; + else Result := vNoSSE; + end; + end; + function TJvCPUInfo.GetStepping: Byte; begin *************** *** 1882,1885 **** --- 1960,1968 ---- end; + procedure TJvCPUInfo.Set3DNow(const Value: Boolean); + begin + RaiseReadOnly; + end; + procedure TJvCPUInfo.SetCPUName(const Value: string); begin *************** *** 1892,1895 **** --- 1975,1988 ---- end; + procedure TJvCPUInfo.SetEx3DNow(const Value: Boolean); + begin + RaiseReadOnly; + end; + + procedure TJvCPUInfo.SetExMMX(const Value: Boolean); + begin + RaiseReadOnly; + end; + procedure TJvCPUInfo.SetExTicks(const Value: Cardinal); begin *************** *** 1927,1930 **** --- 2020,2028 ---- end; + procedure TJvCPUInfo.SetIs64Bits(const Value: Boolean); + begin + RaiseReadOnly; + end; + procedure TJvCPUInfo.SetIsFDIVOK(const Value: Boolean); begin *************** *** 1932,1935 **** --- 2030,2053 ---- end; + procedure TJvCPUInfo.SetL1CodeCache(const Value: Cardinal); + begin + RaiseReadOnly; + end; + + procedure TJvCPUInfo.SetL1DataCache(const Value: Cardinal); + begin + RaiseReadOnly; + end; + + procedure TJvCPUInfo.SetL2Cache(const Value: Cardinal); + begin + RaiseReadOnly; + end; + + procedure TJvCPUInfo.SetL3Cache(const Value: Cardinal); + begin + RaiseReadOnly; + end; + procedure TJvCPUInfo.SetManufacturer(const Value: string); begin *************** *** 1962,1965 **** --- 2080,2088 ---- end; + procedure TJvCPUInfo.SetSSE(const Value: TJvSSEVersion); + begin + RaiseReadOnly; + end; + procedure TJvCPUInfo.SetStepping(const Value: Byte); begin |