From: Jesse B. <jes...@in...> - 2007-06-25 19:46:44
|
On Monday, June 25, 2007 12:44:16 Jesse Barnes wrote: > On Monday, June 25, 2007 11:46:59 Michel D=C3=A4nzer wrote: > > On Mon, 2007-06-25 at 08:43 -0700, Jesse Barnes wrote: > > > On Monday, June 25, 2007 4:00:01 am Michel D=C3=A4nzer wrote: > > > > On Fri, 2007-06-22 at 11:13 -0700, Jesse Barnes wrote: > > > > > diff-tree 97dcd7fd25c18d5148619254229f8d94efb55b44 (from > > > > > 2d24455ed8b12df6d06d135cb70f02473d11f4b0) Author: Jesse > > > > > Barnes <jes...@in...> > > > > > Date: Fri Jun 22 11:06:51 2007 -0700 > > > > > > > > > > more vblank rework > > > > > - use a timer for disabling vblank events to avoid > > > > > enable/disable calls too often > > > > > - make i915 work with pre-965 chips again (would like > > > > > to structure this better, but this hack works on my test > > > > > system) > > > > > > > > Can you elaborate on the latter? The previous code seemed to > > > > work fine on my i915 system... > > > > > > Any app wanting to sync to vblank on 915 hung prior to these > > > mods, since the vblank counter never incremented. Did you see > > > that working [...] > > > > Yes, I consider sync-to-vblank the main feature for vblank-rework. > > :) > > > > How exactly did you test (vblank_mode=3D2 glxgears here), and did the > > app(s) hang indefinitely or just initially for three seconds? > > IIRC my test app hung indefinitely. Main loop was something like: > > while (i++) { > /* Wait for vsync */ > if (waitforsync) > video_sync(2, (count + 1) % 2, &count); > > /* Alternate colors to make tearing obvious */ > if (i & 1) > glClearColor(1.0f, 1.0f, 1.0f, 1.0f); > else > glClearColor(1.0f, 0.0f, 0.0f, 0.0f); > glClear(GL_COLOR_BUFFER_BIT); > glFlush(); > } > > If waitforsync =3D=3D 0, I get obvious tearing (a kind of "rain" effect > of the two colors I painted), while if waitforsync !=3D 0, the app > either hangs ^^^^^ P.S. but I may not have been patient enough to wait for the 3 second=20 timeout... Like I said I'll retest. |