X driver: Using offscreen memory manager for Xv

2007-11-26 Thread Bankim Bhavsar
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


Re: X driver: Using offscreen memory manager for Xv

2007-11-26 Thread Alex Deucher
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