summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc2
-rw-r--r--ui/gl/gpu_timing.cc15
-rw-r--r--ui/gl/gpu_timing_unittest.cc1
3 files changed, 9 insertions, 9 deletions
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc b/gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc
index e2ecece..5c1e048 100644
--- a/gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc
+++ b/gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc
@@ -1011,7 +1011,7 @@ TEST_P(GLES2DecoderManualInitTest, BeginInvalidTargetQueryFails) {
TEST_P(GLES2DecoderManualInitTest, QueryCounterEXTTimeStamp) {
InitState init;
init.extensions = "GL_ARB_timer_query";
- init.gl_version = "opengl 2.0";
+ init.gl_version = "opengl es 3.0";
init.has_alpha = true;
init.request_alpha = true;
init.bind_generates_resource = true;
diff --git a/ui/gl/gpu_timing.cc b/ui/gl/gpu_timing.cc
index d8c0127..f5d9ae0 100644
--- a/ui/gl/gpu_timing.cc
+++ b/ui/gl/gpu_timing.cc
@@ -319,14 +319,6 @@ GPUTimingImpl::GPUTimingImpl(GLContextReal* context) {
DCHECK(version_info);
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")) {
@@ -334,6 +326,13 @@ GPUTimingImpl::GPUTimingImpl(GLContextReal* context) {
force_time_elapsed_query_ = true;
timestamp_bit_count_gl_ = 0;
}
+ // The command glGetInteger64v is only supported under ES3 and GL3.2. Since it
+ // is only used for timestamps, we workaround this by emulating timestamps
+ // so WebGL 1.0 will still have access to the extension.
+ if (!version_info->IsAtLeastGLES(3, 0) && !version_info->IsAtLeastGL(3, 2)) {
+ force_time_elapsed_query_ = true;
+ timestamp_bit_count_gl_ = 0;
+ }
}
GPUTimingImpl::~GPUTimingImpl() {
diff --git a/ui/gl/gpu_timing_unittest.cc b/ui/gl/gpu_timing_unittest.cc
index fa5b1f1..22f6562 100644
--- a/ui/gl/gpu_timing_unittest.cc
+++ b/ui/gl/gpu_timing_unittest.cc
@@ -93,6 +93,7 @@ TEST_F(GPUTimingTest, FakeTimerTest) {
TEST_F(GPUTimingTest, ForceTimeElapsedQuery) {
// Test that forcing time elapsed query affects all clients.
+ SetupGLContext("3.2", "GL_ARB_timer_query");
scoped_refptr<GPUTimingClient> client1 = CreateGPUTimingClient();
EXPECT_FALSE(client1->IsForceTimeElapsedQuery());