Re: X driver: Using offscreen memory manager for Xv
On Mon, 26 Nov 2007, Bankim Bhavsar wrote: I'm implementing Xv extension of linux X driver. I need to use offscreen memory to allocate space for incoming video-frames. Currently, I am using xf86InitFBManager() part of xf86fbman.h to initialize offscreen memory by specifying a BoxPtr. The offscreen memory is initialized such that it starts just after the on-screen memory (using Frame Buffer Size). When there is a ModeSwitch the Frame Buffer Size changes and the offscreen memory previously allocated becomes a part of the on-screen memory and causes X to crash. I was thinking of re-initalizing the Offscreen memory manager on ModeSwitch and modify the previously allocated pointers accordingly but I don't see a way to re-initialize the offscreen memory. One possible solution would be to leave some space before starting the offscreen memory. That would work for common case but still doesn't guarantee the framebuffer extending into the previously initialized offscreen memory. I also looked into EXA but doesn't seem to serve the purpose either. Am I missing out on something? Any other possible solution? Can someone point me to a driver that uses EXA and handles the offscreen memory on ModeSwitch? No, mode switches are irrelevent. xf86InitFBManager() factors out the _virtual_ resolution, not the physical one. If you are seeing crashes, it's because your driver incorrectly uses a virtual resolution that does not include all physical modes the user can switch to. Marc. +--+--+ | Marc Aurele La France | work: 1-780-492-9310 | | Academic Information and| fax:1-780-492-1729 | |Communications Technologies | email: [EMAIL PROTECTED] | | 352 General Services Building +--+ | University of Alberta | | | Edmonton, Alberta |Standard disclaimers apply| | T6G 2H1 | | | CANADA | | +--+--+ ___ Devel mailing list Devel@XFree86.Org http://XFree86.Org/mailman/listinfo/devel
Re: X driver: Using offscreen memory manager for Xv
On Nov 26, 2007 8:08 PM, Bankim Bhavsar <[EMAIL PROTECTED]> wrote: > I'm implementing Xv extension of linux X driver. > > I need to use offscreen memory to allocate space for incoming video-frames. > Currently, I am using xf86InitFBManager() part of xf86fbman.h to > initialize offscreen memory by specifying a BoxPtr. The offscreen > memory is initialized such that it starts just after the on-screen > memory (using Frame Buffer Size). > > > When there is a ModeSwitch the Frame Buffer Size changes and the > offscreen memory previously allocated becomes a part of the on-screen > memory and causes X to crash. I was thinking of re-initalizing the > Offscreen memory manager on ModeSwitch and modify the previously > allocated pointers accordingly but I don't see a way to re-initialize > the offscreen memory. > > > One possible solution would be to leave some space before starting the > offscreen memory. That would work for common case but still doesn't > guarantee the framebuffer extending into the previously initialized > offscreen memory. > > > I also looked into EXA but doesn't seem to serve the purpose either. > > > Am I missing out on something? Any other possible solution? > Can someone point me to a driver that uses EXA and handles the offscreen > memory on ModeSwitch? I believe nv does this. Alex ___ Devel mailing list Devel@XFree86.Org http://XFree86.Org/mailman/listinfo/devel
X driver: Using offscreen memory manager for Xv
I'm implementing Xv extension of linux X driver. I need to use offscreen memory to allocate space for incoming video-frames. Currently, I am using xf86InitFBManager() part of xf86fbman.h to initialize offscreen memory by specifying a BoxPtr. The offscreen memory is initialized such that it starts just after the on-screen memory (using Frame Buffer Size). When there is a ModeSwitch the Frame Buffer Size changes and the offscreen memory previously allocated becomes a part of the on-screen memory and causes X to crash. I was thinking of re-initalizing the Offscreen memory manager on ModeSwitch and modify the previously allocated pointers accordingly but I don't see a way to re-initialize the offscreen memory. One possible solution would be to leave some space before starting the offscreen memory. That would work for common case but still doesn't guarantee the framebuffer extending into the previously initialized offscreen memory. I also looked into EXA but doesn't seem to serve the purpose either. Am I missing out on something? Any other possible solution? Can someone point me to a driver that uses EXA and handles the offscreen memory on ModeSwitch? Thanks, Bankim. ___ Devel mailing list Devel@XFree86.Org http://XFree86.Org/mailman/listinfo/devel