diff options
Diffstat (limited to 'src/3rdparty/angle/src/libANGLE/histogram_macros.h')
-rw-r--r-- | src/3rdparty/angle/src/libANGLE/histogram_macros.h | 67 |
1 files changed, 36 insertions, 31 deletions
diff --git a/src/3rdparty/angle/src/libANGLE/histogram_macros.h b/src/3rdparty/angle/src/libANGLE/histogram_macros.h index d1c952a6bd..fb428b46d2 100644 --- a/src/3rdparty/angle/src/libANGLE/histogram_macros.h +++ b/src/3rdparty/angle/src/libANGLE/histogram_macros.h @@ -41,18 +41,19 @@ #define ANGLE_HISTOGRAM_COUNTS_10000(name, sample) \ ANGLE_HISTOGRAM_CUSTOM_COUNTS(name, sample, 1, 10000, 50) -#define ANGLE_HISTOGRAM_CUSTOM_COUNTS(name, sample, min, max, bucket_count) \ - ANGLEPlatformCurrent()->histogramCustomCounts(\ - name, sample, min, max, bucket_count) +#define ANGLE_HISTOGRAM_CUSTOM_COUNTS(name, sample, min, max, bucket_count) \ + ANGLEPlatformCurrent()->histogramCustomCounts(ANGLEPlatformCurrent(), name, sample, min, max, \ + bucket_count) #define ANGLE_HISTOGRAM_PERCENTAGE(name, under_one_hundred) \ ANGLE_HISTOGRAM_ENUMERATION(name, under_one_hundred, 101) #define ANGLE_HISTOGRAM_BOOLEAN(name, sample) \ - ANGLEPlatformCurrent()->histogramBoolean(name, sample) + ANGLEPlatformCurrent()->histogramBoolean(ANGLEPlatformCurrent(), name, sample) -#define ANGLE_HISTOGRAM_ENUMERATION(name, sample, boundary_value) \ - ANGLEPlatformCurrent()->histogramEnumeration(name, sample, boundary_value) +#define ANGLE_HISTOGRAM_ENUMERATION(name, sample, boundary_value) \ + ANGLEPlatformCurrent()->histogramEnumeration(ANGLEPlatformCurrent(), name, sample, \ + boundary_value) #define ANGLE_HISTOGRAM_MEMORY_KB(name, sample) ANGLE_HISTOGRAM_CUSTOM_COUNTS( \ name, sample, 1000, 500000, 50) @@ -61,7 +62,7 @@ name, sample, 1, 1000, 50) #define ANGLE_HISTOGRAM_SPARSE_SLOWLY(name, sample) \ - ANGLEPlatformCurrent()->histogramSparse(name, sample) + ANGLEPlatformCurrent()->histogramSparse(ANGLEPlatformCurrent(), name, sample) // Scoped class which logs its time on this earth as a UMA statistic. This is // recommended for when you want a histogram which measures the time it takes @@ -79,29 +80,33 @@ #define SCOPED_ANGLE_HISTOGRAM_TIMER_EXPANDER(name, is_long, key) \ SCOPED_ANGLE_HISTOGRAM_TIMER_UNIQUE(name, is_long, key) -#define SCOPED_ANGLE_HISTOGRAM_TIMER_UNIQUE(name, is_long, key) \ - class ScopedHistogramTimer##key \ - { \ - public: \ - ScopedHistogramTimer##key() : constructed_(ANGLEPlatformCurrent()->currentTime()) {} \ - ~ScopedHistogramTimer##key() \ - { \ - if (constructed_ == 0) \ - return; \ - double elapsed = ANGLEPlatformCurrent()->currentTime() - constructed_; \ - int elapsedMS = static_cast<int>(elapsed * 1000.0); \ - if (is_long) \ - { \ - ANGLE_HISTOGRAM_LONG_TIMES_100(name, elapsedMS); \ - } \ - else \ - { \ - ANGLE_HISTOGRAM_TIMES(name, elapsedMS); \ - } \ - } \ - \ - private: \ - double constructed_; \ +#define SCOPED_ANGLE_HISTOGRAM_TIMER_UNIQUE(name, is_long, key) \ + class ScopedHistogramTimer##key \ + { \ + public: \ + ScopedHistogramTimer##key() \ + : constructed_(ANGLEPlatformCurrent()->currentTime(ANGLEPlatformCurrent())) \ + { \ + } \ + ~ScopedHistogramTimer##key() \ + { \ + if (constructed_ == 0) \ + return; \ + auto *platform = ANGLEPlatformCurrent(); \ + double elapsed = platform->currentTime(platform) - constructed_; \ + int elapsedMS = static_cast<int>(elapsed * 1000.0); \ + if (is_long) \ + { \ + ANGLE_HISTOGRAM_LONG_TIMES_100(name, elapsedMS); \ + } \ + else \ + { \ + ANGLE_HISTOGRAM_TIMES(name, elapsedMS); \ + } \ + } \ + \ + private: \ + double constructed_; \ } scoped_histogram_timer_##key -#endif // BASE_METRICS_HISTOGRAM_MACROS_H_ +#endif // LIBANGLE_HISTOGRAM_MACROS_H_ |