Index: ui/gl/gpu_timing.cc |
diff --git a/ui/gl/gpu_timing.cc b/ui/gl/gpu_timing.cc |
index a84d3f76497bffe19efabfe78a30ecaab3a2f35c..ee9049093471973237c85fada92bd5f66300fca4 100644 |
--- a/ui/gl/gpu_timing.cc |
+++ b/ui/gl/gpu_timing.cc |
@@ -44,7 +44,16 @@ uint32_t GPUTiming::GetDisjointCount() { |
} |
GPUTimer::~GPUTimer() { |
- glDeleteQueries(2, queries_); |
+ // Destroy() must be called before the destructor. |
+ DCHECK(queries_[0] == 0); |
+ DCHECK(queries_[1] == 0); |
+} |
+ |
+void GPUTimer::Destroy(bool have_context) { |
+ if (have_context) { |
+ glDeleteQueries(2, queries_); |
+ } |
+ memset(queries_, 0, sizeof(queries_)); |
} |
void GPUTimer::Start() { |