<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Priority</th>
          <td>medium
          </td>
        </tr>

        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - EGL X11 Regression: Maximum swap interval is 0 (worked with 9.0)"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=63078">63078</a>
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>mesa-dev@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>EGL X11 Regression: Maximum swap interval is 0 (worked with 9.0)
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux (All)
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>post+fdo@ralfj.de
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>x86-64 (AMD64)
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>git
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Other
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>Mesa
          </td>
        </tr></table>
      <p>
        <div>
        <pre>In Mesa 9.1 and current git, I cannot use eglSwapInterval with anything but 0:
The value is always clamped to 0. Querying EGL_MAX_SWAP_INTERVAL shows that the
driver indeed does not allow for any other value. As expected, this means
applications are not v-synced. However, with Mesa 9.0 (and an otherwise
unchanged setup), EGL_MAX_SWAP_INTERVAL is 1000 and v-syncing works all right.

I compiled mesa from the current git repository with the following configure
options:
  ./autogen.sh --with-dri-drivers=i965 --with-gallium-drivers=
  nice make -j5
Then I set the environment variables
  LIBGL_DRIVERS_PATH=$HOME/src/mesa/lib
  LD_LIBRARY_PATH=$HOME/src/mesa/lib
I ran a simple GL test application of mine which you can find at
<a href="http://www.ralfj.de/git/gltest.git">http://www.ralfj.de/git/gltest.git</a> . Calling "egltest -i 1" causes the
application to set the swap interval, after checking whether this value is
between MIN_SWAP_INTERVAL and MAX_SWAP_INTERVAL and aborting if this is not the
case.

Using the 9.0 branch (3d80d54b), the swap function behaves as expected and
egltest runs fine. However, with the 9.1 branch (980f84c3) and current master
(4de70bf4), I experience the bug described above and egltest aborts. I did a
git bisect, with the following result:

7e9bd2b2ed35a440a96362417100a7e43715d606 is the first bad commit
commit 7e9bd2b2ed35a440a96362417100a7e43715d606
Author: Eric Anholt <<a href="mailto:eric@anholt.net">eric@anholt.net</a>>
Date:   Tue Sep 25 14:05:30 2012 -0700

    egl: Add support for driconf control of swapinterval.

    This behavior mostly matches glx_dri2.  It's slightly complicated in
    comparison because EGL exposes the implementation limits in the EGL config.

    Note that platform_x11 was the only one setting swap_available, so the move
of
    the MaxSwapInterval into it is appropriate.

    Acked-by: Chad Versace <<a href="mailto:chad.versace@linux.intel.com">chad.versace@linux.intel.com</a>>

:040000 040000 0a3b039e33c0b74c8d5ead726c30315addadef72
0ccd0a22c077d21003853b6f83e67789f9f0ca77 M      src


I am using Debian testing with a self-compiled vanilla 3.8.5 kernel. Other than
that, I use the distribution packages. My GPU is the one built-in my Core
i5-2450M (Sandy Bridge), I believe that's an HD2000.</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>