--===============7705343351693510547== Content-Type: multipart/alternative; boundary="===============6006288378504620913==" --===============6006288378504620913== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable > On Feb. 29, 2012, 2:26 p.m., Martin Gr=C3=A4=C3=9Flin wrote: > > Do I understand correctly that it is about this extension: http://www.o= pengl.org/registry/specs/SGI/swap_control.txt > > = > > If yes I must admit that my brain is today in no condition to understan= d what it talks about ;-) > = > Thomas L=C3=BCbking wrote: > Yupp, i controls the buffer flush interval - like eglSwapInterval is = at least supposed to do. "1" one means "once every frame" while "0" means = "whenever you feel like" (values bigger than one would theoretically be pos= sible, so 4 would flush in a 4 frame interval) > = > Got a flu? > = > Martin Gr=C3=A4=C3=9Flin wrote: > ok with 0 meaning whenever the driver things it makes sense. And yes = I got a flu. SwapInterval() is unrelated to WaitVideoSync(). It only controls whether SwapBuffers() waits for vblank or not. The default= is 1 in all KMS drivers that support syncing to vblank, but the swap behav= ior can be overridden in a number of places including xorg.conf, ~/.drirc a= nd by the vblank_mode env var. SwapInterval() also has no affect on CopySubBuffer()/PostSubBuffer(), but t= hose functions usually schedule the copy to occur the next time the scanout= position is below the rect that's about to be copied, even though they ret= urn immediately. - Fredrik ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/104111/#review11018 ----------------------------------------------------------- On Feb. 28, 2012, 10:08 p.m., Thomas L=C3=BCbking wrote: > = > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://git.reviewboard.kde.org/r/104111/ > ----------------------------------------------------------- > = > (Updated Feb. 28, 2012, 10:08 p.m.) > = > = > Review request for kwin and Martin Gr=C3=A4=C3=9Flin. > = > = > Description > ------- > = > Believe it or not, but there's actually a glXSwapInterval function and as= far as i could figure one should use it since i found contradicting claims= about the default (some mesa guy in a mailing list entry from 2006 says it= 's 0, while http://www.opengl.org/registry/specs/SGI/swap_control.txt sugge= sts it's one) > = > However it can't harm -hopefully- and works here on nvidia and GMA/mesa (= nvidia has SGI & ext, mesa has MESA and OML - d'ooohh) and *might* be the c= ause of wonky swapping because if it's not set the color buffer flushes whe= never it feels like what can cause waitSync to block for even a random amou= nt of frames or not at all (causing tearing) - at least says the guy from 2= 006 and is supported by the reply of the guy who originally asked =3DD > = > = > Diffs > ----- > = > kwin/libkwineffects/kwinglutils_funcs.h 97a7a6c = > kwin/libkwineffects/kwinglutils_funcs.cpp 6d79507 = > kwin/scene_opengl_glx.cpp ddebcd0 = > = > Diff: http://git.reviewboard.kde.org/r/104111/diff/ > = > = > Testing > ------- > = > It's detected and applied, not 100% sure about the resulting impact. > = > = > Thanks, > = > Thomas L=C3=BCbking > = > --===============6006288378504620913== Content-Type: text/html; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable
This is an automatically generated e-mail. To reply, visit: http://git.revie= wboard.kde.org/r/104111/

On February 29th, 2012, 2:26 p.m., Martin G= r=C3=A4=C3=9Flin wrote:

Do I unde=
rstand correctly that it is about this extension: http://www.opengl.org/reg=
istry/specs/SGI/swap_control.txt

If yes I must admit that my brain is today in no condition to understand wh=
at it talks about ;-)

On February 29th, 2012, 2:42 p.m., Thomas L=C3=BCbking wrote:

Yupp, i c=
ontrols the buffer flush interval - like eglSwapInterval is at least suppos=
ed to do. "1" one means "once every frame" while "=
0"  means "whenever you feel like" (values bigger than one w=
ould theoretically be possible, so 4 would flush in a 4 frame interval)

Got a flu?

On February 29th, 2012, 2:49 p.m., Martin Gr=C3=A4=C3=9Flin wrot= e:

ok with 0=
 meaning whenever the driver things it makes sense. And yes I got a flu.
 
SwapInterva=
l() is unrelated to WaitVideoSync().

It only controls whether SwapBuffers() waits for vblank or not. The default=
 is 1 in all KMS drivers that support syncing to vblank, but the swap behav=
ior can be overridden in a number of places including xorg.conf, ~/.drirc a=
nd by the vblank_mode env var.

SwapInterval() also has no affect on CopySubBuffer()/PostSubBuffer(), but t=
hose functions usually schedule the copy to occur the next time the scanout=
 position is below the rect that's about to be copied, even though they=
 return immediately.

- Fredrik


On February 28th, 2012, 10:08 p.m., Thomas L=C3=BCbking wrote:

Review request for kwin and Martin Gr=C3=A4=C3=9Flin.
By Thomas L=C3=BCbking.

Updated Feb. 28, 2012, 10:08 p.m.

Descripti= on

Believe it or not, but there's actually a glXSwapInterva=
l function and as far as i could figure one should use it since i found con=
tradicting claims about the default (some mesa guy in a mailing list entry =
from 2006 says it's 0, while http://www.opengl.org/registry/specs/SGI/s=
wap_control.txt suggests it's one)

However it can't harm -hopefully- and works here on nvidia and GMA/mesa=
 (nvidia has SGI & ext, mesa has MESA and OML - d'ooohh) and *might=
* be the cause of wonky swapping because if it's not set the color buff=
er flushes whenever it feels like what can cause waitSync to block for even=
 a random amount of frames or not at all (causing tearing) - at least says =
the guy from 2006 and is supported by the reply of the guy who originally a=
sked =3DD

Testing <= /h1>
It's detected and applied, not 100% sure about the resul=
ting impact.

Diffs=

  • kwin/libkwineffects/kwinglutils_funcs.h (9= 7a7a6c)
  • kwin/libkwineffects/kwinglutils_funcs.cpp = (6d79507)
  • kwin/scene_opengl_glx.cpp (ddebcd0)=

View Diff

--===============6006288378504620913==-- --===============7705343351693510547== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ kwin mailing list kwin@kde.org https://mail.kde.org/mailman/listinfo/kwin --===============7705343351693510547==--