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: tsi@xxxxxxxxxxx | | 352 General Services Building +----------------------------------+ | University of Alberta | | | Edmonton, Alberta | Standard disclaimers apply | | T6G 2H1 | | | CANADA | | +----------------------------------+----------------------------------+ _______________________________________________ Devel mailing list Devel@xxxxxxxxxxx http://XFree86.Org/mailman/listinfo/devel