Remove MWERKS stuff

This commit is contained in:
spiral 2011-12-23 00:45:28 +00:00 committed by Daniel Gibson
parent 01b5e365e8
commit 3dc6127529
4 changed files with 1 additions and 122 deletions

View file

@ -134,16 +134,10 @@ static const char* fastEntityList[] = {
GetGameAPI
============
*/
#if __MWERKS__
#pragma export on
#endif
#if __GNUC__ >= 4
#pragma GCC visibility push(default)
#endif
extern "C" gameExport_t *GetGameAPI( gameImport_t *import ) {
#if __MWERKS__
#pragma export off
#endif
if ( import->version == GAME_API_VERSION ) {

View file

@ -98,16 +98,10 @@ const char *idGameLocal::sufaceTypeNames[ MAX_SURFACE_TYPES ] = {
GetGameAPI
============
*/
#if __MWERKS__
#pragma export on
#endif
#if __GNUC__ >= 4
#pragma GCC visibility push(default)
#endif
extern "C" gameExport_t *GetGameAPI( gameImport_t *import ) {
#if __MWERKS__
#pragma export off
#endif
if ( import->version == GAME_API_VERSION ) {

View file

@ -181,116 +181,12 @@ double ticksPerNanosecond;
#define TIME_TYPE uint64_t
#ifdef __MWERKS__ //time_in_millisec is missing
/*
.text
.align 2
.globl _GetTB
_GetTB:
loop:
mftbu r4 ; load from TBU
mftb r5 ; load from TBL
mftbu r6 ; load from TBU
cmpw r6, r4 ; see if old == new
bne loop ; if not, carry occured, therefore loop
stw r4, 0(r3)
stw r5, 4(r3)
done:
blr ; return
*/
typedef struct {
unsigned int hi;
unsigned int lo;
} U64;
asm void GetTB(U64 *in)
{
nofralloc // suppress prolog
machine 603 // allows the use of mftb & mftbu functions
loop:
mftbu r5 // grab the upper time base register (TBU)
mftb r4 // grab the lower time base register (TBL)
mftbu r6 // grab the upper time base register (TBU) again
cmpw r6,r5 // see if old TBU == new TBU
bne- loop // loop if carry occurred (predict branch not taken)
stw r4,4(r3) // store TBL in the low 32 bits of the return value
stw r5,0(r3) // store TBU in the high 32 bits of the return value
blr
}
double TBToDoubleNano( U64 startTime, U64 stopTime, double ticksPerNanosecond );
#if __MWERKS__
asm void GetTB( U64 * );
#else
void GetTB( U64 * );
#endif
double TBToDoubleNano( U64 startTime, U64 stopTime, double ticksPerNanosecond ) {
#define K_2POWER32 4294967296.0
#define TICKS_PER_NANOSECOND 0.025
double nanoTime;
U64 diffTime;
// calc the difference in TB ticks
diffTime.hi = stopTime.hi - startTime.hi;
diffTime.lo = stopTime.lo - startTime.lo;
// convert TB ticks into time
nanoTime = (double)(diffTime.hi)*((double)K_2POWER32) + (double)(diffTime.lo);
nanoTime = nanoTime/ticksPerNanosecond;
return (nanoTime);
}
TIME_TYPE time_in_millisec( void ) {
#define K_2POWER32 4294967296.0
#define TICKS_PER_NANOSECOND 0.025
U64 the_time;
double nanoTime, milliTime;
GetTB( &the_time );
// convert TB ticks into time
nanoTime = (double)(the_time.hi)*((double)K_2POWER32) + (double)(the_time.lo);
nanoTime = nanoTime/ticksPerNanosecond;
// nanoseconds are 1 billionth of a second. I want milliseconds
milliTime = nanoTime * 1000000.0;
printf( "ticks per nanosec -- %lf\n", ticksPerNanosecond );
printf( "nanoTime is %lf -- milliTime is %lf -- as int is %i\n", nanoTime, milliTime, (int)milliTime );
return (int)milliTime;
}
#define StartRecordTime( start ) \
start = time_in_millisec();
#define StopRecordTime( end ) \
end = time_in_millisec();
#else
#define StartRecordTime( start ) \
start = mach_absolute_time();
#define StopRecordTime( end ) \
end = mach_absolute_time();
#endif
#else
#define TIME_TYPE int

View file

@ -84,12 +84,7 @@ If you have questions concerning this license or the applicable additional terms
#define ALIGN16( x ) x __attribute__ ((aligned (16)))
#ifdef __MWERKS__
#define PACKED
#include <alloca.h>
#else
#define PACKED __attribute__((packed))
#endif
#define _alloca alloca
#define _alloca16( x ) ((void *)((((uintptr_t)alloca( (x)+15 )) + 15) & ~15))