| Index: ui/gl/gpu_timing.cc
|
| diff --git a/ui/gl/gpu_timing.cc b/ui/gl/gpu_timing.cc
|
| index c6e574ac578efcc96906398f92076d150a3a55ee..d8c0127d7939ec397b45dfca5db00534f34df1c1 100644
|
| --- a/ui/gl/gpu_timing.cc
|
| +++ b/ui/gl/gpu_timing.cc
|
| @@ -317,9 +317,16 @@ GPUTimingImpl::GPUTimingImpl(GLContextReal* context) {
|
| DCHECK(context);
|
| const GLVersionInfo* version_info = context->GetVersionInfo();
|
| DCHECK(version_info);
|
| - if (version_info->is_es3 && // glGetInteger64v is supported under ES3.
|
| - context->HasExtension("GL_EXT_disjoint_timer_query")) {
|
| + if (context->HasExtension("GL_EXT_disjoint_timer_query")) {
|
| timer_type_ = GPUTiming::kTimerTypeDisjoint;
|
| + if (!version_info->is_es3) {
|
| + // Due to a bug in the specification, glGetInteger64v is only supported
|
| + // under ES3. Since it is only used for timestamps, we workaround this by
|
| + // emulating timestamps on ES2 so WebGL 1.0 will still have access to the
|
| + // extension
|
| + force_time_elapsed_query_ = true;
|
| + timestamp_bit_count_gl_ = 0;
|
| + }
|
| } else if (context->HasExtension("GL_ARB_timer_query")) {
|
| timer_type_ = GPUTiming::kTimerTypeARB;
|
| } else if (context->HasExtension("GL_EXT_timer_query")) {
|
|
|