This is vary good.
- To accomidate mergedfb the number of FBs should be allowed to be 0.
- Sharing of FBs should be allowed, for heads on the same card.
- There is no way to ?change?(read as specify) the size of a FB.
- Allocating the second/... FB may be difficult,
- Have mem free as well as mem total.
- Returning hardware capabilitys(like in a termcap type way), not just
mem sizes. I.E. zbuffer type(how to know it's size).
--- David Bronaugh <[EMAIL PROTECTED]> wrote:
> Mike Mestnik wrote:
>
> >--- David Bronaugh <[EMAIL PROTECTED]> wrote:
> >
> >
> >> - Format of messages might be something like device identifier,
> >>resx, resy, colour depth, refresh (optional), extra_params (optional)
> >>
> >>
> >Did you talk at all about memory mngmt? For instance when setting a
> mode
> >is it needed to have a frame buffer or at least enuff memory for that
> >mode. The reason I ask is in the VGA days one could have 6 FBs. I
> know
> >for most things 2 will be sufficent but 3 is also good, thought it's
> true
> >you probly rarely need a full-screen FB.
> >
> >
> I didn't talk at all about memory management -- I guess I should,
> because obviously that ground's not covered.
>
> First, you'd have to add a parameter specifying how many framebuffers
> you wanted at that res -- add that after 'depth'.
>
> Next, you'd use a kernel-side ioctl to query whether there is enough
> memory to set a mode -- almost identical to the ioctl to actually set
> the mode. So the sequence would go:
>
> - Userspace program requets mode by feeding string into FIFO of mode
> setter (generated using library)
> - Mode setter makes sure that the mode is possible given the current
> monitor setup and CRTC
> - Mode setter locks device (so that nothing funny can happen)
> - Mode setter asks kernel if mode is possible
> - If mode is not possible, mode setter releases lock and feeds
> "couldn't do this" type response to program requesting mode
> - If mode is possible, continue
> - Mode setter tries to set mode
> - If somehow this fails, mode setter releases lock and feeds
> "couldn't do this" type response to program requesting mode
> - I don't know how this would ever happen; if it can't this code
> can be simplified.
> - If this succeeds, continue
> - Mode setter informs kernel of mode change, new parameters
> - Mode setter releases lock
>
> If the actual act of setting a mode can never fail, then this can be
> simplified -- we don't need an ioctl to ask if a mode is possible (from
> the kernel's perspective; aka, is there enough memory), we simply need a
>
> way to find out if setting that mode in kernel was successful.
>
> Essentially, this would be the set of events then:
>
> - Userspace program requets mode by feeding string into FIFO of mode
> setter (generated using library)
> - Mode setter makes sure that the mode is possible given the current
> monitor setup and CRTC
> - Mode setter locks device (so that nothing funny can happen)
> - Mode setter informs kernel of mode change, new parameters
> - If mode is not possible, mode setter releases lock and feeds
> "couldn't do this" type response to program requesting mode
> - If mode is possible, continue
> - Mode setter sets mode
> - Mode setter releases lock
>
> When the mode setter informs the kernel of a mode change, it can do
> whatever it wants, but the logical action is for it to allocate
> framebuffer memory.
>
> This is one possible route, where the kernel is minimally involved. I
> don't like it all that much, for the following reasons:
> - It's illogical to open a FIFO which ends in some userspace program to
>
> set modes (shouldn't you call an ioctl to the driver to do this?)
>
> The alternative is to have the kernel somehow call this code (can it
> feed a FIFO?). I don't know if this is a better approach -- Egbert Eich
> doesn't seem to think so.
>
> Feedback more than weclome.
>
> David Bronaugh
>
__________________________________
Do you Yahoo!?
Yahoo! Movies - Buy advance tickets for 'Shrek 2'
http://movies.yahoo.com/showtimes/movie?mid=1808405861
-------------------------------------------------------
This SF.Net email is sponsored by: SourceForge.net Broadband
Sign-up now for SourceForge Broadband and get the fastest
6.0/768 connection for only $19.95/mo for the first 3 months!
http://ads.osdn.com/?ad_id=2562&alloc_id=6184&op=click
--
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel