| Index: ui/gl/sync_control_vsync_provider.cc
|
| diff --git a/ui/gl/sync_control_vsync_provider.cc b/ui/gl/sync_control_vsync_provider.cc
|
| index 89b194f8b6eddb87cea9e7a4847f7f9ca9bc4e72..16b1e8af9cdd8d453357ea4d2d35aa9c2e373993 100644
|
| --- a/ui/gl/sync_control_vsync_provider.cc
|
| +++ b/ui/gl/sync_control_vsync_provider.cc
|
| @@ -24,7 +24,7 @@ const double kRelativeIntervalDifferenceThreshold = 0.05;
|
| namespace gfx {
|
|
|
| SyncControlVSyncProvider::SyncControlVSyncProvider()
|
| - : VSyncProvider(), last_media_stream_counter_(0) {
|
| + : VSyncProvider(), last_media_stream_counter_(0), invalid_msc_(false) {
|
| // On platforms where we can't get an accurate reading on the refresh
|
| // rate we fall back to the assumption that we're displaying 60 frames
|
| // per second.
|
| @@ -54,9 +54,11 @@ void SyncControlVSyncProvider::GetVSyncParameters(
|
| // Both Intel and Mali drivers will return TRUE for GetSyncValues
|
| // but a value of 0 for MSC if they cannot access the CRTC data structure
|
| // associated with the surface. crbug.com/231945
|
| - if (media_stream_counter == 0) {
|
| - LOG(ERROR) << "glXGetSyncValuesOML should not return TRUE with a "
|
| - << "media stream counter of 0.";
|
| + bool prev_invalid_msc = invalid_msc_;
|
| + invalid_msc_ = (media_stream_counter == 0);
|
| + if (invalid_msc_) {
|
| + LOG_IF(ERROR, !prev_invalid_msc) << "glXGetSyncValuesOML "
|
| + "should not return TRUE with a media stream counter of 0.";
|
| return;
|
| }
|
|
|
|
|