DriveHQ Start Menu
Cloud Drive Mapping
Folder Sync
Cloud Backup
True Drop Box
FTP/SFTP Hosting
Group Account
DriveHQ Start Menu
Online File Server
My Storage
|
Manage Shares
|
Publishes
|
Drop Boxes
|
Group Account
WebDAV Drive Mapping
Cloud Drive Home
|
WebDAV Guide
|
Drive Mapping Tool
|
Drive Mapping URL
Complete Data Backup
Backup Guide
|
Online Backup Tool
|
Cloud-to-Cloud Backup
FTP, Email & Web Service
FTP Home
|
FTP Hosting FAQ
|
Email Hosting
|
EmailManager
|
Web Hosting
Help & Resources
About
|
Enterprise Service
|
Partnership
|
Comparisons
|
Support
Quick Links
Security and Privacy
Download Software
Service Manual
Use Cases
Group Account
Online Help
Blog
Contact
Cloud Surveillance
Sign Up
Login
Features
Business Features
Online File Server
FTP Hosting
Cloud Drive Mapping
Cloud File Backup
Email Backup & Hosting
Cloud File Sharing
Folder Synchronization
Group Management
True Drop Box
Full-text Search
AD Integration/SSO
Mobile Access
IP Camera & DVR Solution
More...
Personal Features
Personal Cloud Drive
Backup All Devices
Mobile APPs
Personal Web Hosting
Sub-Account (for Kids)
Home/PC/Kids Monitoring
More...
Software
DriveHQ Drive Mapping Tool
DriveHQ FileManager
DriveHQ Online Backup
DriveHQ Mobile Apps
Pricing
Business Plans & Pricing
Personal Plans & Pricing
Price Comparison with Others
Feature Comparison with Others
Install Mobile App
Sign up
Creating account...
Invalid character in username! Only 0-9, a-z, A-Z, _, -, . allowed.
Username is required!
Invalid email address!
E-mail is required!
Password is required!
Password is invalid!
Password and confirmation do not match.
Confirm password is required!
I accept
Membership Agreement
Please read the Membership Agreement and check "I accept"!
Free Quick Sign-up
Sign-up Page
Log in
Signing in...
Username or e-mail address is required!
Password is required!
Keep me logged in
Quick Login
Forgot Password
Up
Upload
Download
Share
Publish
New Folder
New File
Copy
Cut
Delete
Paste
Rate
Upgrade
Rotate
Effect
Edit
Slide
History
/* ----------------------------------------------------------------------------- This source file is part of OGRE (Object-oriented Graphics Rendering Engine) For the latest info, see http://www.ogre3d.org/ Copyright (c) 2000-2006 Torus Knot Software Ltd Also see acknowledgements in Readme.html This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA, or go to http://www.gnu.org/copyleft/lesser.txt. You may alternatively use this source under the terms of a specific version of the OGRE Unrestricted License provided you have obtained such a license from Torus Knot Software Ltd. ----------------------------------------------------------------------------- */ #ifndef __PlatformInformation_H__ #define __PlatformInformation_H__ #include "OgrePrerequisites.h" namespace Ogre { // // TODO: Puts following macros into OgrePlatform.h? // /* Initial CPU stuff to set. */ #define OGRE_CPU_UNKNOWN 0 #define OGRE_CPU_X86 1 #define OGRE_CPU_PPC 2 /* Find CPU type */ #if (defined(_MSC_VER) && (defined(_M_IX86) || defined(_M_X64))) || \ (defined(__GNUC__) && (defined(__i386__) /*|| defined(__x86_64__)*/)) # define OGRE_CPU OGRE_CPU_X86 #elif OGRE_PLATFORM == OGRE_PLATFORM_APPLE && defined(__BIG_ENDIAN__) # define OGRE_CPU OGRE_CPU_PPC #elif OGRE_PLATFORM == OGRE_PLATFORM_APPLE # define OGRE_CPU OGRE_CPU_X86 #else # define OGRE_CPU OGRE_CPU_UNKNOWN #endif /* Find how to declare aligned variable. */ #if OGRE_COMPILER == OGRE_COMPILER_MSVC # define OGRE_ALIGNED_DECL(type, var, alignment) __declspec(align(alignment)) type var #elif OGRE_COMPILER == OGRE_COMPILER_GNUC # define OGRE_ALIGNED_DECL(type, var, alignment) type var __attribute__((__aligned__(alignment))) #else # define OGRE_ALIGNED_DECL(type, var, alignment) type var #endif /** Find perfect alignment (should supports SIMD alignment if SIMD available) */ #if OGRE_CPU == OGRE_CPU_X86 # define OGRE_SIMD_ALIGNMENT 16 #else # define OGRE_SIMD_ALIGNMENT 16 #endif /* Declare variable aligned to SIMD alignment. */ #define OGRE_SIMD_ALIGNED_DECL(type, var) OGRE_ALIGNED_DECL(type, var, OGRE_SIMD_ALIGNMENT) /* Define whether or not Ogre compiled with SSE supports. */ #if OGRE_DOUBLE_PRECISION == 0 && OGRE_CPU == OGRE_CPU_X86 && OGRE_COMPILER == OGRE_COMPILER_MSVC # define __OGRE_HAVE_SSE 1 #elif OGRE_DOUBLE_PRECISION == 0 && OGRE_CPU == OGRE_CPU_X86 && OGRE_COMPILER == OGRE_COMPILER_GNUC # define __OGRE_HAVE_SSE 1 #endif #ifndef __OGRE_HAVE_SSE # define __OGRE_HAVE_SSE 0 #endif /** Class which provides the run-time platform information Ogre runs on. @remarks Ogre is designed to be platform-independent, but there some platform and run-time environment specific optimised functions are built-in for maximise performance, and those special optimised routines are need to determine run-time environment for select variant executing path. @par 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. */ class _OgreExport PlatformInformation { public: /// Enum describing the different CPU features we want to check for, platform-dependent enum CpuFeatures { #if OGRE_CPU == OGRE_CPU_X86 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, #endif CPU_FEATURE_NONE = 0 }; /** 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. */ static const String& getCpuIdentifier(void); /** 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. */ static uint getCpuFeatures(void); /** 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. */ static bool hasCpuFeature(CpuFeatures feature); /** Write the CPU information to the passed in Log */ static void log(Log* pLog); }; } #endif // __PlatformInformation_H__
OgrePlatformInformation.h
Page URL
File URL
Prev
130/217
Next
Download
( 5 KB )
Note: The DriveHQ service banners will NOT be displayed if the file owner is a paid member.
Comments
Total ratings:
0
Average rating:
Not Rated
Would you like to comment?
Join DriveHQ
for a free account, or
Logon
if you are already a member.