mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-08-08 17:59:37 +00:00
1
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//=============================================================================//
|
||||
|
||||
#include "pch_tier0.h"
|
||||
|
||||
#include <stdio.h>
|
||||
#include "tier0/fasttimer.h"
|
||||
|
||||
// g_dwClockSpeed is only exported for backwards compatibility.
|
||||
PLATFORM_INTERFACE unsigned long g_dwClockSpeed;
|
||||
|
||||
uint64 g_ClockSpeed; // Clocks/sec
|
||||
// Storing CPU clock speed in a 32-bit variable is dangerous and can already overflow
|
||||
// on some CPUs. This variable is deprecated.
|
||||
unsigned long g_dwClockSpeed;
|
||||
#if defined( _X360 ) && defined( _CERT )
|
||||
unsigned long g_dwFakeFastCounter;
|
||||
#endif
|
||||
double g_ClockSpeedMicrosecondsMultiplier;
|
||||
double g_ClockSpeedMillisecondsMultiplier;
|
||||
double g_ClockSpeedSecondsMultiplier;
|
||||
|
||||
// Constructor init the clock speed.
|
||||
CClockSpeedInit g_ClockSpeedInit CONSTRUCT_EARLY;
|
||||
|
||||
void CClockSpeedInit::Init()
|
||||
{
|
||||
const CPUInformation& cpuinfo = *GetCPUInformation();
|
||||
|
||||
g_ClockSpeed = cpuinfo.m_Speed;
|
||||
|
||||
// cycle counter runs as doc'd at 1/64 Xbox 3.2GHz clock speed, thus 50 Mhz
|
||||
if ( IsX360() )
|
||||
{
|
||||
g_ClockSpeed /= 64L;
|
||||
}
|
||||
|
||||
// Avoid integer overflow when writing to g_dwClockSpeed
|
||||
if ( g_ClockSpeed <= ULONG_MAX )
|
||||
g_dwClockSpeed = (unsigned long)g_ClockSpeed;
|
||||
else
|
||||
g_dwClockSpeed = ULONG_MAX;
|
||||
|
||||
g_ClockSpeedMicrosecondsMultiplier = 1000000.0 / (double)g_ClockSpeed;
|
||||
g_ClockSpeedMillisecondsMultiplier = 1000.0 / (double)g_ClockSpeed;
|
||||
g_ClockSpeedSecondsMultiplier = 1.0 / (double)g_ClockSpeed;
|
||||
}
|
||||
Reference in New Issue
Block a user