PDA

View Full Version : OpenKODE and EGL initialization conflict - extend OpenKODE



McNopper
11-29-2007, 02:51 AM
Hi all,

from my understanding, the first steps creating a (full screen) window with OpenKODE and EGL works like this:
...
EGLDisplay eglDisplay = eglGetDisplay(EGL_DEFAULT_DISPLAY);
KDWindow* kdWindow = kdCreateFullScreenWindow(eglDisplay, KD_NULL, KD_NULL);
...
I see the following problem:
Some EGL implementations do not work with EGL_DEFAULT_DISPLAY and need the EGLNativeDisplayType. Also, if there are multiple displays, it is not possible to determine the amount of displays and retrieve the EGLNativeDisplayType with OpenKODE.

At this point of time, from my experience and understanding, it is still necessary to use native platform libraries to initialize OpenKODE and EGL. From my understanding, this is not the philosophy of OpenKODE and EGL and this should be changed.

My suggestion is to extend OpenKODE at least with functions to retrieve the amount of available displays plus retrieving the EGLNativeDisplayType from the default display and/or by passing a display number.

What do you think?

Regards Norbert Nopper

tpr
11-30-2007, 05:20 AM
Hi

OpenKODE 1.0 effectively mandates that EGL_DEFAULT_DISPLAY must work. An OpenKODE with EGL that cannot do that is not compliant.

We did consider adding some functions to iterate available displays, but
decided to leave it to a future version of OpenKODE. We will consider it
again after OpenKODE 1.0 Final has been released. If you have a specific
proposal for how this might work, especially if it relates to an
existing platform with an EGL implementation, we would welcome the
input.

In the meantime, an application is still free to use whatever
functionality is available on the platform to find the display it wants,
get the EGLDisplay for it, and use that in kdCreateFullScreenWindow.
However that application is then using functionality outside of OpenKODE
so has reduced portability.

McNopper
12-03-2007, 03:44 AM
... in the Bugzilla section:

http://khronos.org/bugzilla/show_bug.cgi?id=55

Regards Norbert