OGRE 2.1
Object-Oriented Graphics Rendering Engine
Loading...
Searching...
No Matches
Ogre::PlatformInformation Class Reference

Class which provides the run-time platform information Ogre runs on. More...

#include <OgrePlatformInformation.h>

Public Types

enum  CpuFeatures {
  CPU_FEATURE_SSE = 1 << 0 , CPU_FEATURE_SSE2 = 1 << 1 , CPU_FEATURE_SSE3 = 1 << 2 , CPU_FEATURE_MMX = 1 << 3 ,
  CPU_FEATURE_MMXEXT = 1 << 4 , CPU_FEATURE_3DNOW = 1 << 5 , CPU_FEATURE_3DNOWEXT = 1 << 6 , CPU_FEATURE_CMOV = 1 << 7 ,
  CPU_FEATURE_TSC = 1 << 8 , CPU_FEATURE_FPU = 1 << 9 , CPU_FEATURE_PRO = 1 << 10 , CPU_FEATURE_HTT = 1 << 11 ,
  CPU_FEATURE_NONE = 0
}
 Enum describing the different CPU features we want to check for, platform-dependent. More...
 

Static Public Member Functions

static uint getCpuFeatures (void)
 Gets a or-masked of enum CpuFeatures that are supported by the CPU.
 
static const StringgetCpuIdentifier (void)
 Gets a string of the CPU identifier.
 
static uint32 getNumLogicalCores (void)
 Returns the number of logical cores, including Hyper Threaded / SMT cores.
 
static bool hasCpuFeature (CpuFeatures feature)
 Gets whether a specific feature is supported by the CPU.
 
static void log (Log *pLog)
 Write the CPU information to the passed in Log.
 

Detailed Description

Class which provides the run-time platform information Ogre runs on.

Remarks
Ogre is designed to be platform-independent, but some platform and run-time environment specific optimised functions are built-in to maximise performance, and those special optimised routines are need to determine run-time environment for select variant executing path.
This class manages that provides a couple of functions to determine platform information of the run-time environment.
Note
This class is supposed to use by advanced user only.

Member Enumeration Documentation

◆ CpuFeatures

Enum describing the different CPU features we want to check for, platform-dependent.

Enumerator
CPU_FEATURE_SSE 
CPU_FEATURE_SSE2 
CPU_FEATURE_SSE3 
CPU_FEATURE_MMX 
CPU_FEATURE_MMXEXT 
CPU_FEATURE_3DNOW 
CPU_FEATURE_3DNOWEXT 
CPU_FEATURE_CMOV 
CPU_FEATURE_TSC 
CPU_FEATURE_FPU 
CPU_FEATURE_PRO 
CPU_FEATURE_HTT 
CPU_FEATURE_NONE 

Member Function Documentation

◆ getCpuFeatures()

static uint Ogre::PlatformInformation::getCpuFeatures ( void  )
static

Gets a or-masked of enum CpuFeatures that are supported by the CPU.

Note
Actual detecting are performs in the first time call to this function, and then all future calls with return internal cached value.

◆ getCpuIdentifier()

static const String & Ogre::PlatformInformation::getCpuIdentifier ( void  )
static

Gets a string of the CPU identifier.

Note
Actual detecting are performs in the first time call to this function, and then all future calls with return internal cached value.

◆ getNumLogicalCores()

static uint32 Ogre::PlatformInformation::getNumLogicalCores ( void  )
static

Returns the number of logical cores, including Hyper Threaded / SMT cores.

Note
Returns 0 if couldn't detect.

◆ hasCpuFeature()

static bool Ogre::PlatformInformation::hasCpuFeature ( CpuFeatures  feature)
static

Gets whether a specific feature is supported by the CPU.

Note
Actual detecting are performs in the first time call to this function, and then all future calls with return internal cached value.

◆ log()

static void Ogre::PlatformInformation::log ( Log pLog)
static

Write the CPU information to the passed in Log.


The documentation for this class was generated from the following file: