EGL_MESA_screen_surface version 2

Michel Danzer mdanzer at ati.com
Thu Mar 17 12:25:16 PST 2005


On Thu, 2005-03-17 at 13:43 +1100, Benjamin Herrenschmidt wrote:
> On Wed, 2005-03-16 at 19:20 -0700, Brian Paul wrote:
> 
> >         Name               Description
> >         -----------------  ---------------------------------------------
> >         EGL_WIDTH          Mode width (resolution)
> >         EGL_HEIGHT         Mode height (resolution)
> >         EGL_REFRESH_RATE   The mode's refresh rate, multiplied by 1000
> >         EGL_INTERLACED     1 indicates an interlaced mode, 0 otherwise
> > 
> >     Any other token will generate the error EGL_BAD_ATTRIBUTE.
> 
> I would add a couple more attributes (see my other message). In fact, I
> think we need at least some read-only per-mode attributes 

My understanding is that attributes are 'read-only' by definition in
that they're properties that can be matched against.

> that are wether the mode is the display "native" mode, and the vertical and
> horizontal DPI.

Beware that the experience with X has shown that DPI is a bad measure
for the apparent size of the display. Think wall projector vs. HUD in
glasses (or even projected on the retina directly :).


> >     EGLBoolean eglScreenAttribsMESA(EGLDisplay dpy, EGLint screen_number,
> >                                     const EGLint *attrib_list)
> > 
> >     Used to set attributes for a screen.  <attrib_list> is an array of
> >     token/value pairs, terminated with EGL_NONE.  Valid tokens include:
> > 
> >         Name                      Description
> >         ------------------------  ------------------------------------------
> >         EGL_SCREEN_X_ORIGIN_MESA  X origin of surface with respect to screen
> >         EGL_SCREEN_Y_ORIGIN_MESA  Y origin of surface with respect to screen
> > 
> >     Any other token will generate the error EGL_BAD_ATTRIBUTE.
> > 
> >     The origin parameters are significant when the screen's width/height
> >     is less than the surface's width/height.
> > 
> >     Valid values for X are in [0, surfaceWidth - screenWidth - 1]
> >     Valid values for Y are in [0, surfaceHeight - screenHeight - 1]
                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This is wrong as it would mean -1 would be valid if surfaceWidth ==
screenWidth or surfaceHeight == screenHeight. Should be surfaceWidth -
screenWidth and surfaceHeight - screenHeight.


-- 
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