00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef _TEST_H_
00010 #define _TEST_H_
00011 #include "test_globals.h"
00012
00013
00014
00015 enum tests
00016 {
00017
00018 TEXEL_FILLRATE_SINGLE,
00019 TEXEL_FILLRATE_MULTI,
00020 TEXEL_FILLRATE_FLOAT16,
00021 TEXEL_FILLRATE_FLOAT32,
00022
00023 FRAG_LIGHTS,
00024 FRAG_NOISE,
00025 FRAG_PROCEDURAL,
00026 FRAG_PARALLAX,
00027 FRAG_REFRACT,
00028
00029 VERT_LIGHTS,
00030 VERT_WAVES,
00031 VERT_DISPLACE,
00032
00033 COMPLEX_HDR,
00034 COMPLEX_SSAO,
00035 COMPLEX_SHADOW,
00036 COMPLEX_SSAMPLING,
00037
00038 COMPUTE_NBODY,
00039
00040 GEOM_TESSELATE,
00041 GEOM_CUBEMAP,
00042 GEOM_PARTICLES,
00043 GEOM_INSTANCING
00044 };
00045
00050 class Test
00051 {
00052 protected:
00054 TScene *s;
00056 string testname;
00058 float avg_fps;
00060 unsigned duration;
00062 unsigned start_time;
00064 unsigned split_time;
00066 int total_frames;
00068 int type;
00070 float anim;
00072 float fps;
00074 int splits;
00076 int curr_setup;
00078 bool splitbit;
00080 bool stopbit;
00082 bool draw_scene;
00083
00085 string msg;
00086
00088 float part_FPS[5];
00090 float test_score;
00092 float weight;
00093 public:
00094
00095 Test() {}
00096 Test(int _duration, int type, TScene *ps);
00097 virtual ~Test() {}
00098 virtual void SaveResults();
00099 virtual void Run();
00101 virtual void Animate()
00102 { anim += 0.01f; }
00104 bool HasEnded()
00105 { return stopbit; }
00107 void InitTime()
00108 { start_time = split_time = SDL_GetTicks() + SPLASH; anim = 0.0; }
00110 void UpdateFPS(unsigned _fps)
00111 { fps = (float)_fps; }
00113 int GetFrames()
00114 { return total_frames; }
00116 float GetScore()
00117 { return test_score; }
00118 };
00119
00120
00121
00122 void SystemInfo();
00123
00124 #endif