Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

metrics.h

Go to the documentation of this file.
00001 //
00002 // ps2gl Metrics Module definitions
00003 //
00004 //  Original author: Stefan Boberg (boberg@team17.com)
00005 //
00006 
00007 #define PS2GL_METRICS_ENABLE            1
00008 
00009 enum MetricsEnum {
00011     kMetricsTextureUploadCount,
00012 
00014     kMetricsTextureUploadBytes,
00015 
00017     kMetricsClutUploadCount,    
00018 
00020     kMetricsRendererUpload,
00021 
00023     kMetricsBindTexture,
00024 
00026     kMetricsCount,
00027 };
00028 
00029 typedef unsigned long Metric_t;     // 64-bit integer
00030 
00031 extern Metric_t g_Metrics[kMetricsCount];
00032 
00035 extern void pglResetMetrics();
00036 
00039 inline Metric_t pglGetMetric(MetricsEnum eMetric) {
00040     return g_Metrics[eMetric];
00041 }
00042 
00045 inline void pglResetMetric(MetricsEnum eMetric) {
00046     g_Metrics[eMetric] = 0;
00047 }
00048 
00051 inline void pglAddToMetric(MetricsEnum eMetric, Metric_t Value = 1) {
00052 #if PS2GL_METRICS_ENABLE
00053     g_Metrics[eMetric] += Value;
00054 #endif
00055 }

ps2gl version cvs