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. _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel