• djkurtz@chromium.org's avatar
    SyncControlVSyncProvider: throttle messages when MSC=0 · e81d4aaa
    djkurtz@chromium.org authored
    Most X DRI2 drivers return TRUE for GetSyncValues with a MSC value of 0
    if they cannot deduce on which CRTC the Drawable is being displayed, or
    that CRTC is currently disabled.
    
    This can happen if the associated CRTC is powered off, or if its
    framebuffer is being rotated, etc.  Once the driver is in this situation,
    all MSC == 0 values will be returned until the CRTC can be found again.
    
    Currently, we spam the log every time we receive msc==0, which fills up
    the disk, makes the GPU log unusable, and causes lots of confusion when
    devs are trying to debug other issues.  Instead, let's just log exactly
    once every time this situation is detected.
    Signed-off-by: default avatarDaniel Kurtz <djkurtz@chromium.org>
    
    BUG=231945
    TEST=Manual on chromeos:
      # Enable some slowly updating page on each monitor, for example:
        http://www.24webclock.com/
      tail -F /var/log/chrome/chrome | grep glXGetSyncValuesOML &
      set_short_timeouts
      # Let the displays turn off (~35 seconds)
      => This message should be printed exactly once per attached display:
     glXGetSyncValuesOML should not return TRUE with a media stream counter of 0.
      # Turn displays back on (tap a key), and let them idle off again.
      => The same message should be printed exactly once per attached display.
    R=marcheu@chromium.org
    R=piman@chromium.org
    R=backer@chromium.org
    
    Review URL: https://codereview.chromium.org/126823006
    
    git-svn-id: svn://svn.chromium.org/chrome/trunk/src@243548 0039d316-1c4b-4281-b951-d872f2087c98
    e81d4aaa
sync_control_vsync_provider.cc 6.07 KB