Mode setting & EGL

Michel Danzer mdanzer at ati.com
Wed Mar 16 07:12:24 PST 2005


On Wed, 2005-03-16 at 14:32 +1100, Benjamin Herrenschmidt wrote:
> 
>  - Mode setting has an impact on data cached in fb memory. It can be
> (and will be) destructive. See the (long) thread going on on x.org &
> fbdev lists for details.

And I still completely disagree. :) If your design requires this, then
I'm afraid it's back to the drawing board. Look at Brian's
EGL_MESA_screen_surface draft for an IMHO saner design for the
interaction between mode setting and memory management.


> Also, it would be a non-sense to design that in a GL-only way. There
> will still be 2D-only setups for a while where things like XGl aren't an
> option, so we want a mode setting library/mecanism that is independant
> enough (though could be part of EGL). Maybe simply having an extension
> to allow a legacy 2D accelerated rendered to work inside a static EGL
> surface would fit that need ? Or maybe i just completely missed
> something and it's all already dealt with :)

I'm not sure, but this is about EGL. Nothing prevents EGL from using a
lower level library that exposes a similar interface to non-EGL clients
I guess.


>  - Mode setting requires arbitration with whoever uses the card, since
> that can be considered as a total reset of the engine. (in addition to
> possible loss of part or all of framebuffer memory content). That is,
> beore a mode change, the fbdev probably need to take the DRM lock,
> cancel pending commands, etc... make sure it's all quiescent, change the
> mode, make the DRM return appropriate errors to all userland clients
> (that is put a "context invalid" or whatever flag on each client so that
> their next ioctl fails). Especially if done by a separate library, EGL
> will "discover" that the mode changes because of that, and can translate
> that into a context loss.

Sounds good.


-- 
Michel Danzer, Linux Software Engineering       \   Tel: +1 905-882-2600
ATI Technologies Inc., Markham, Ontario, Canada  \       Extension: 3550



More information about the dri-egl mailing list