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 }