All of lore.kernel.org
 help / color / mirror / Atom feed
* Requesting feedback on disallowing handle attribute values in EGLint attribute lists
@ 2013-10-09 17:01 Chad Versace
  0 siblings, 0 replies; only message in thread
From: Chad Versace @ 2013-10-09 17:01 UTC (permalink / raw)
  To: mesa-dev, dri-devel, wayland, xorg-devel

Khronos is proposing a change affecting EGL attribute lists, and they
are requesting feedback on this forum thread [1]. They have specifically
requested feedback from the opensource community.

[1] 
http://www.khronos.org/message_boards/showthread.php/9138-Requesting-feedback-on-disallowing-handle-attribute-values-in-EGLint-attribute-lists

The root of the problem is that the EGL headers define EGLint to be
32-bit, but the EGL spec states that EGLint is large enough to hold
pointers and "handles". This, of course, causes a conflict on 64-bit
platforms.

Don't worry. Khronos does not intend to break the EGL ABI by redefining
EGLint as 64-bit.

The EGL spec authors' intention was that EGL attribute lists (whose type
is an array of EGLint) should be able to hold pointer values.  In
reality, there are only two instances where an attribute list needs to
hold a pointer: the EGL_MATCH_NATIVE_PIXMAP attribute to eglChooseConfig
and the EGL_CL_EVENT_HANDLE_KHR attribute to eglCreateSyncKHR for
EGL_KHR_cl_event.

The take-away message is: Don't try to put pointers in EGLint attribute
lists, because it will break on 64-bit platforms. For future EGL
extensions, Khronos is planning to define a new EGLattrib type for
attribute lists, which will properly hold a pointer.

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2013-10-09 17:01 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-10-09 17:01 Requesting feedback on disallowing handle attribute values in EGLint attribute lists Chad Versace

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.