Summary: | Unable to sync to vblank (i810/i915). | ||
---|---|---|---|
Product: | Mesa | Reporter: | Agustin <arubio> |
Component: | Drivers/DRI/i915 | Assignee: | haihao <haihao.xiang> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | medium | CC: | ds, elupus, michael.fu |
Version: | 6.5 | Keywords: | NEEDINFO |
Hardware: | All | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: | Testcase for the bug |
Description
Agustin
2007-04-19 00:43:53 UTC
Created attachment 9652 [details]
Testcase for the bug
Make TEXTURE_SIZE greater enough to get less FPS than VertRefresh.
The apps will run at that FPS, no matter waht value vblank_has.
Would it be feasible for you to use glXSwapIntervalSGI()? That seems to work better here for this. Also, as I pointed out earlier, i915 DRM 1.6 or newer might give better results together with Mesa 6.5.2 or newer, but I forgot that also requires xserver git master (1.3 is not enough). would you please test on the latest development tip to see if this bug still exist? thanks. OK I'll test it and post the results. Apparently It syncs whe fps is below vertical refresh. However tearing appears in a 2D sprite animations. Running the testcase, the xserver has crashed many times with the error: intel_bufmgr_ttm.c:757: Error -16 waiting for fence fence buffers. Any idea? (In reply to comment #5) > Apparently It syncs whe fps is below vertical refresh. However tearing appears > in a 2D sprite animations. > > Running the testcase, the xserver has crashed many times with the error: > intel_bufmgr_ttm.c:757: Error -16 waiting for fence fence buffers. > It seems this issue has gone away, could you try again with the latest component(mesa, drm)? Thanks. *** Bug 13938 has been marked as a duplicate of this bug. *** Augstin, Do you still have chance to verify haihao's comment# 6? (In reply to comment #8) > Augstin, Do you still have chance to verify haihao's comment# 6? > I'm plenty of work thies week. I think I'll be able to test it by the end of the week. (In reply to comment #9) > (In reply to comment #8) > > Augstin, Do you still have chance to verify haihao's comment# 6? > > > > I'm plenty of work thies week. I think I'll be able to test it by the end of > the week. > any update? I found this issue when fixing up vsync on XBMC in linux and a solution (for intel anyway). If you force a glFinish() (glFlush() isn't enough) before you swap buffers, the vsync issue goes away. My guess is that the mesa drivers wait for vsync before making sure all rendering in pipeline is complete. If rendering what's in the gl pipeline takes too long, you will always miss the vsync. Regards Joakim Oh and the comment about glXSwapIntervalSGI has no effect on this at all. glXSwapIntervalSGI is only a limit of max fps. If you are late to the swap interval it will still swap immidiatly not considering if that will cause tearing. I think this should have been fixed by Jesse's recent commits. Please reopen if you still see it. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.