<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body><span class="vcard"><a class="email" href="mailto:frederic.plourde@collabora.co.uk" title="Frederic Plourde <frederic.plourde@collabora.co.uk>"> <span class="fn">Frederic Plourde</span></a>
</span> changed
              <a class="bz_bug_link 
          bz_status_ASSIGNED "
   title="ASSIGNED - Weston needs to detect when DRM pageflip timestamps are not supported"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=79502">bug 79502</a>
          <br>
             <table border="1" cellspacing="0" cellpadding="8">
          <tr>
            <th>What</th>
            <th>Removed</th>
            <th>Added</th>
          </tr>

         <tr>
           <td style="text-align:right;">Status</td>
           <td>NEW
           </td>
           <td>ASSIGNED
           </td>
         </tr></table>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_ASSIGNED "
   title="ASSIGNED - Weston needs to detect when DRM pageflip timestamps are not supported"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=79502#c2">Comment # 2</a>
              on <a class="bz_bug_link 
          bz_status_ASSIGNED "
   title="ASSIGNED - Weston needs to detect when DRM pageflip timestamps are not supported"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=79502">bug 79502</a>
              from <span class="vcard"><a class="email" href="mailto:frederic.plourde@collabora.co.uk" title="Frederic Plourde <frederic.plourde@collabora.co.uk>"> <span class="fn">Frederic Plourde</span></a>
</span></b>
        <pre>This patch :
<a href="http://cgit.freedesktop.org/~fredinfinite23/weston/commit/?h=bad_timestamp_abort&id=507cfb65fba6ed2f4e0b3973f6335ba98aa97894">http://cgit.freedesktop.org/~fredinfinite23/weston/commit/?h=bad_timestamp_abort&id=507cfb65fba6ed2f4e0b3973f6335ba98aa97894</a>
is a fix for this,

but I'd like to discuss it some more, because I feel there is something
missing:

1) False-positive detection:
   What if DRM driver 'sanely' returns a timestamp = 0 either by (mis)chance or
because of some weird DRM initial condition/behavior (first frame ?). We should
be given another chance to repaint.

2) Integer overflows:
   What if we arrived at frame_time's max_range ? Next timestamp would then
break the 'cur > prev' rule and we would wrongly abort Weston.

I think those two considerations above call for some 'counter' on the
detection. Chances that we 'sanely' hit (stamp==0 || cur < prev) are really
low, but chances that we hit that twice in a row are practically 0. I don't see
any need for a customizable counter; I would set it to 1 by default and exit
Weston when it's 0.

opinions on that please :)</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>