doom3-gpl
Doom 3 GPL source release
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Macros | Functions | Variables
Simd.cpp File Reference
#include "../precompiled.h"
#include "Simd_Generic.h"
#include "Simd_MMX.h"
#include "Simd_3DNow.h"
#include "Simd_SSE.h"
#include "Simd_SSE2.h"
#include "Simd_SSE3.h"
#include "Simd_AltiVec.h"

Go to the source code of this file.

Macros

#define COUNT   1024
 
#define NUMTESTS   2048
 
#define RANDOM_SEED   1013904223L
 
#define TIME_TYPE   int
 
#define StartRecordTime(start)   start = 0;
 
#define StopRecordTime(end)   end = 1;
 
#define GetBest(start, end, best)
 
#define MATX_SIMD_EPSILON   1e-5f
 
#define TEST_VALUE_RANGE   10.0f
 
#define MATX_MATX_SIMD_EPSILON   1e-4f
 
#define MATX_LTS_SIMD_EPSILON   1.0f
 
#define MATX_LTS_SOLVE_SIZE   100
 
#define MATX_LDLT_SIMD_EPSILON   0.1f
 
#define MATX_LDLT_FACTOR_SOLVE_SIZE   64
 
#define NUMJOINTS   64
 
#define NUMVERTS   COUNT/2
 
#define SOUND_UPSAMPLE_EPSILON   1.0f
 
#define SOUND_MIX_EPSILON   2.0f
 

Functions

void PrintClocks (const char *string, int dataCount, int clocks, int otherClocks=0)
 
void GetBaseClocks (void)
 
void TestAdd (void)
 
void TestSub (void)
 
void TestMul (void)
 
void TestDiv (void)
 
void TestMulAdd (void)
 
void TestMulSub (void)
 
void TestDot (void)
 
void TestCompare (void)
 
void TestMinMax (void)
 
void TestClamp (void)
 
void TestMemcpy (void)
 
void TestMemset (void)
 
void TestMatXMultiplyVecX (void)
 
void TestMatXMultiplyAddVecX (void)
 
void TestMatXTransposeMultiplyVecX (void)
 
void TestMatXTransposeMultiplyAddVecX (void)
 
void TestMatXMultiplyMatX (void)
 
void TestMatXTransposeMultiplyMatX (void)
 
void TestMatXLowerTriangularSolve (void)
 
void TestMatXLowerTriangularSolveTranspose (void)
 
void TestMatXLDLTFactor (void)
 
void TestBlendJoints (void)
 
void TestConvertJointQuatsToJointMats (void)
 
void TestConvertJointMatsToJointQuats (void)
 
void TestTransformJoints (void)
 
void TestUntransformJoints (void)
 
void TestTransformVerts (void)
 
void TestTracePointCull (void)
 
void TestDecalPointCull (void)
 
void TestOverlayPointCull (void)
 
void TestDeriveTriPlanes (void)
 
void TestDeriveTangents (void)
 
void TestDeriveUnsmoothedTangents (void)
 
void TestNormalizeTangents (void)
 
void TestGetTextureSpaceLightVectors (void)
 
void TestGetSpecularTextureCoords (void)
 
void TestCreateShadowCache (void)
 
void TestSoundUpSampling (void)
 
void TestSoundMixing (void)
 
void TestMath (void)
 
void TestNegate (void)
 

Variables

idSIMDProcessorprocessor = NULL
 
idSIMDProcessorgeneric = NULL
 
idSIMDProcessorSIMDProcessor = NULL
 
idSIMDProcessorp_simd
 
idSIMDProcessorp_generic
 
long baseClocks = 0
 

Macro Definition Documentation

#define COUNT   1024

Definition at line 135 of file Simd.cpp.

#define GetBest (   start,
  end,
  best 
)
Value:
if ( !best || end - start < best ) { \
best = end - start; \
}
GLuint GLuint end
Definition: glext.h:2845
GLuint start
Definition: glext.h:2845

Definition at line 304 of file Simd.cpp.

#define MATX_LDLT_FACTOR_SOLVE_SIZE   64

Definition at line 2236 of file Simd.cpp.

#define MATX_LDLT_SIMD_EPSILON   0.1f

Definition at line 2235 of file Simd.cpp.

#define MATX_LTS_SIMD_EPSILON   1.0f

Definition at line 2138 of file Simd.cpp.

#define MATX_LTS_SOLVE_SIZE   100

Definition at line 2139 of file Simd.cpp.

#define MATX_MATX_SIMD_EPSILON   1e-4f

Definition at line 1931 of file Simd.cpp.

#define MATX_SIMD_EPSILON   1e-5f

Definition at line 1536 of file Simd.cpp.

#define NUMJOINTS   64

Definition at line 2597 of file Simd.cpp.

#define NUMTESTS   2048

Definition at line 136 of file Simd.cpp.

#define NUMVERTS   COUNT/2

Definition at line 2598 of file Simd.cpp.

#define RANDOM_SEED   1013904223L

Definition at line 138 of file Simd.cpp.

#define SOUND_MIX_EPSILON   2.0f

Definition at line 3444 of file Simd.cpp.

#define SOUND_UPSAMPLE_EPSILON   1.0f

Definition at line 3353 of file Simd.cpp.

#define StartRecordTime (   start)    start = 0;

Definition at line 296 of file Simd.cpp.

#define StopRecordTime (   end)    end = 1;

Definition at line 299 of file Simd.cpp.

#define TEST_VALUE_RANGE   10.0f

Definition at line 1930 of file Simd.cpp.

#define TIME_TYPE   int

Definition at line 294 of file Simd.cpp.

Function Documentation

void GetBaseClocks ( void  )

Definition at line 337 of file Simd.cpp.

void PrintClocks ( const char *  string,
int  dataCount,
int  clocks,
int  otherClocks = 0 
)

Definition at line 315 of file Simd.cpp.

void TestAdd ( void  )

Definition at line 354 of file Simd.cpp.

void TestBlendJoints ( void  )

Definition at line 2290 of file Simd.cpp.

void TestClamp ( void  )

Definition at line 1386 of file Simd.cpp.

void TestCompare ( void  )

Definition at line 1014 of file Simd.cpp.

void TestConvertJointMatsToJointQuats ( void  )

Definition at line 2414 of file Simd.cpp.

void TestConvertJointQuatsToJointMats ( void  )

Definition at line 2362 of file Simd.cpp.

void TestCreateShadowCache ( void  )

Definition at line 3254 of file Simd.cpp.

void TestDecalPointCull ( void  )

Definition at line 2722 of file Simd.cpp.

void TestDeriveTangents ( void  )

Definition at line 2900 of file Simd.cpp.

void TestDeriveTriPlanes ( void  )

Definition at line 2841 of file Simd.cpp.

void TestDeriveUnsmoothedTangents ( void  )

Definition at line 2985 of file Simd.cpp.

void TestDiv ( void  )

Definition at line 577 of file Simd.cpp.

void TestDot ( void  )

Definition at line 767 of file Simd.cpp.

void TestGetSpecularTextureCoords ( void  )

Definition at line 3187 of file Simd.cpp.

void TestGetTextureSpaceLightVectors ( void  )

Definition at line 3123 of file Simd.cpp.

void TestMath ( void  )

Definition at line 3642 of file Simd.cpp.

void TestMatXLDLTFactor ( void  )

Definition at line 2243 of file Simd.cpp.

void TestMatXLowerTriangularSolve ( void  )

Definition at line 2146 of file Simd.cpp.

void TestMatXLowerTriangularSolveTranspose ( void  )

Definition at line 2193 of file Simd.cpp.

void TestMatXMultiplyAddVecX ( void  )

Definition at line 1654 of file Simd.cpp.

void TestMatXMultiplyMatX ( void  )

Definition at line 1933 of file Simd.cpp.

void TestMatXMultiplyVecX ( void  )

Definition at line 1543 of file Simd.cpp.

void TestMatXTransposeMultiplyAddVecX ( void  )

Definition at line 1848 of file Simd.cpp.

void TestMatXTransposeMultiplyMatX ( void  )

Definition at line 2069 of file Simd.cpp.

void TestMatXTransposeMultiplyVecX ( void  )

Definition at line 1766 of file Simd.cpp.

void TestMemcpy ( void  )

Definition at line 1485 of file Simd.cpp.

void TestMemset ( void  )

Definition at line 1514 of file Simd.cpp.

void TestMinMax ( void  )

Definition at line 1250 of file Simd.cpp.

void TestMul ( void  )

Definition at line 502 of file Simd.cpp.

void TestMulAdd ( void  )

Definition at line 655 of file Simd.cpp.

void TestMulSub ( void  )

Definition at line 711 of file Simd.cpp.

void TestNegate ( void  )

Definition at line 4046 of file Simd.cpp.

void TestNormalizeTangents ( void  )

Definition at line 3062 of file Simd.cpp.

void TestOverlayPointCull ( void  )

Definition at line 2783 of file Simd.cpp.

void TestSoundMixing ( void  )

Definition at line 3446 of file Simd.cpp.

void TestSoundUpSampling ( void  )

Definition at line 3355 of file Simd.cpp.

void TestSub ( void  )

Definition at line 428 of file Simd.cpp.

void TestTracePointCull ( void  )

Definition at line 2664 of file Simd.cpp.

void TestTransformJoints ( void  )

Definition at line 2473 of file Simd.cpp.

void TestTransformVerts ( void  )

Definition at line 2599 of file Simd.cpp.

void TestUntransformJoints ( void  )

Definition at line 2535 of file Simd.cpp.

Variable Documentation

long baseClocks = 0

Definition at line 142 of file Simd.cpp.

idSIMDProcessor* generic = NULL

Definition at line 42 of file Simd.cpp.

idSIMDProcessor* p_generic

Definition at line 141 of file Simd.cpp.

idSIMDProcessor* p_simd

Definition at line 140 of file Simd.cpp.

idSIMDProcessor* processor = NULL

Definition at line 41 of file Simd.cpp.

idSIMDProcessor* SIMDProcessor = NULL

Definition at line 43 of file Simd.cpp.