<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://jogamp.org/bugzilla/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.2"
          urlbase="https://jogamp.org/bugzilla/"
          
          maintainer="sgothel@jausoft.com"
>

    <bug>
          <bug_id>1202</bug_id>
          
          <creation_ts>2015-08-27 12:35:52 +0200</creation_ts>
          <short_desc>Add support of Adaptive Vsync via [GLX|WGL]_EXT_swap_control_tear</short_desc>
          <delta_ts>2015-09-27 01:11:20 +0200</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>3</classification_id>
          <classification>JogAmp</classification>
          <product>Jogl</product>
          <component>core</component>
          <version>2.3.2</version>
          <rep_platform>All</rep_platform>
          <op_sys>all</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>---</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sven Gothel">sgothel</reporter>
          <assigned_to name="Sven Gothel">sgothel</assigned_to>
          <cc>sgothel</cc>
          
          <cf_type>---</cf_type>
          <cf_scm_refs>deff49c901915e007f43a1df1a0d217a786e9f06
6ab634654f58afcf4549fcd1a796a0f9fd13298c
1d1b3f92a7c8021198e44bc4b2d6494ab789ddd3
aacc8afdca0b1376f91dcc68aa3ae3b39c7aba51</cf_scm_refs>
          <cf_workaround>---</cf_workaround>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>5009</commentid>
    <comment_count>0</comment_count>
    <who name="Sven Gothel">sgothel</who>
    <bug_when>2015-08-27 12:35:52 +0200</bug_when>
    <thetext>[GLX|WGL]_EXT_swap_control_tear extensions support
asynchronous buffer swaps, i.e. adaptive Vsync.

&lt;https://www.opengl.org/wiki/SwapInterval_aka_vsync#Adaptive_Vsync&gt;
&lt;https://www.opengl.org/registry/specs/EXT/wgl_swap_control_tear.txt&gt;
&lt;https://www.opengl.org/registry/specs/EXT/glx_swap_control_tear.txt&gt;

&lt;http://keithp.com/blogs/async_flip/&gt;

The extensions utilizes a negative interval value,
enabling late swaps to occur without synchronization to the video frame.

Hence &apos;-1&apos; has new semantics, previously it was the &apos;default value&apos;
of &apos;untouched vsync interval&apos;.

New default is:
  - 0 for unrealized context
  - 1 for realized context

+++

It requires [GLX|WGL]_EXT_swap_control,
hence we shall ensure to use use this extension 
in the implementation of GLContext.setSwapInterval(..).

+++</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>5017</commentid>
    <comment_count>1</comment_count>
    <who name="Sven Gothel">sgothel</who>
    <bug_when>2015-08-27 20:05:35 +0200</bug_when>
    <thetext>deff49c901915e007f43a1df1a0d217a786e9f06
  - Fixed as described

6ab634654f58afcf4549fcd1a796a0f9fd13298c
  - Move GLContextImpl.*SwapInterval* into its own section</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>5035</commentid>
    <comment_count>2</comment_count>
    <who name="Sven Gothel">sgothel</who>
    <bug_when>2015-08-30 02:46:22 +0200</bug_when>
    <thetext>commit 1d1b3f92a7c8021198e44bc4b2d6494ab789ddd3
    Bug 1202 (related): Fix SEMVER regressions mostly due to Bug 1202 commits (adding dummy methods)

    Commits deff49c901915e007f43a1df1a0d217a786e9f06 and 6ab634654f58afcf4549fcd1a796a0f9fd13298c
    changed/removed a few protected methods of public classes ..

    Re-added dummy methods .. shall be removed for next 2.4.* version</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>5057</commentid>
    <comment_count>3</comment_count>
    <who name="Sven Gothel">sgothel</who>
    <bug_when>2015-09-01 02:07:17 +0200</bug_when>
    <thetext>aacc8afdca0b1376f91dcc68aa3ae3b39c7aba51

    Bug 1202: Fix vsync regression on OSX when using CALayer
    
    On OSX using CALayer for onscreen rendering,
    the drawable is utilizing an offscreen FBO.
    
    Hence we need to move the vsync-skip-operation criteria,
    i.e. skip if offscreen, down to the implementation.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>