From: Leif D. <lde...@re...> - 2003-04-23 23:09:12
|
On Wed, 23 Apr 2003, Keith Whitwell wrote: > Michel D=E4nzer wrote: > > On Don, 2003-04-24 at 00:33, Leif Delgass wrote: > > = > >>On Wed, 23 Apr 2003, Keith Whitwell wrote: > >> > >> > >>>Andreas Stenglein wrote: > >>> > >>>>Am 2003.04.23 22:15:57 +0200 schrieb(en) Michel D=E4nzer: > >>>> > >>>> > >>>>>I fixed this on the trunk today. The question is whether the probl= em > >>>>>Ben > >>>>>reported is also related to this or maybe even a side effect of my= > >>>>>fix. > >>>> > >>>> > >>>>I manually added your fix and rebuilt the branch, > >>>>now it seems to work fine even with the new kernelmodule. > >>>> > >>>>But what would happen to someone with an old > >>>>Xfree4.3.0 and a new kernelmodule? > >>>>(when the code gets included to the vanilla-kernel?) > >>> > >>>Yes - it wasn't intended to change the behaviour of the kernel modul= e - I'll = > >>>probably have to add some stubs that just return zero - I guess I'd = hoped that = > >>>there was a default behaviour to the file ops that would do that, an= d hadn't = > >>>noticed that it wasn't so. > >> > >>I'm still a bit fuzzy on the black magic of DRI context switching, bu= t it > >>looks to me like the read() message passing is still necessary since = the > >>DDX's =5BChip=5DEnterServer/=5BChip=5DLeaveServer are hooked in throu= gh the > >>callback DRISwapContext, which is called from the SIGIO handler. The= = > >>old/new context tags passed to DRISwapContext are obtained by the rea= d() = > >>of the drm device file. > >> > >>The Enter/LeaveServer functions are essential for proper 2D/3D = > >>synchronization in most drivers, and could cause lockups without them= . > > = > > = > > Ah, so we probably still need the real poll (and write?) as well? > = > Absolutely not, or at least not for that reason. These functions are c= alled = > from the Block/Unblock wrappers in dri.c. > = > Keith Hmm. Ok, so is the SIGIO handler even necessary (except for gamma)? Wha= t = about DRM(fasync) in drm_fops.h? -- = Leif Delgass = http://www.retinalburn.net |