1Name 2 3 KHR_platform_wayland 4 5Name Strings 6 7 EGL_KHR_platform_wayland 8 9Contributors 10 11 Chad Versace <chad.versace@intel.com> 12 Jon Leech (oddhack 'at' sonic.net) 13 14Contacts 15 16 Chad Versace <chad.versace@intel.com> 17 18Status 19 20 Complete. 21 Approved by the EGL Working Group on January 31, 2014. 22 Ratified by the Khronos Board of Promoters on March 14, 2014. 23 24Version 25 26 Version 2, 2014/02/18 27 28Number 29 30 EGL Extension #70 31 32Extension Type 33 34 EGL client extension 35 36Dependencies 37 38 EGL 1.5 is required. 39 40 This extension is written against the EGL 1.5 Specification (draft 41 20140122). 42 43Overview 44 45 This extension defines how to create EGL resources from native Wayland 46 resources using the EGL 1.5 platform functionality. 47 48New Types 49 50 None 51 52New Procedures and Functions 53 54 None 55 56New Tokens 57 58 Accepted as the <platform> argument of eglGetPlatformDisplay: 59 60 EGL_PLATFORM_WAYLAND_KHR 0x31D8 61 62Additions to the EGL Specification 63 64 None. 65 66New Behavior 67 68 To determine if the EGL implementation supports this extension, clients 69 should query the EGL_EXTENSIONS string of EGL_NO_DISPLAY. 70 71 To obtain an EGLDisplay backed by a Wayland display, call 72 eglGetPlatformDisplay with <platform> set to EGL_PLATFORM_WAYLAND_KHR. The 73 <native_display> parameter specifies the Wayland display to use and must 74 either point to a `struct wl_display` or be EGL_DEFAULT_DISPLAY. If 75 <native_display> is EGL_DEFAULT_DISPLAY, then EGL will create a new 76 wl_display structure by connecting to the default Wayland socket. The 77 manual page wl_display_connect(3) defines the location of the default 78 Wayland socket. 79 80 To obtain an on-screen rendering surface from a Wayland window, call 81 eglCreatePlatformWindowSurface with a <dpy> that belongs to Wayland and 82 a <native_window> that points to a `struct wl_egl_surface`. 83 84 It is not valid to call eglCreatePlatformPixmapSurface with a <dpy> that 85 belongs to Wayland. Any such call fails and generates an 86 EGL_BAD_PARAMETER error. 87 88Issues 89 90 1. Should this extension permit EGL_DEFAULT_DISPLAY as input to 91 eglGetPlatformDisplay()? 92 93 RESOLUTION: Yes. When given EGL_DEFAULT_DISPLAY, eglGetPlatformDisplay 94 returns a display backed by the default Wayland display. 95 96 2. Should this extension support creation of EGLPixmap resources from 97 Wayland pixmaps? 98 99 RESOLVED. No. Wayland has no pixmap type. 100 101Revision History 102 103 Version 2, 2014/02/18 (Chad Versace) 104 - Change resolution of issue #1 from "no" to "yes". Now 105 eglGetPlatformDisplay accepts EGL_DEFAULT_DISPLAY for Wayland. 106 - Explain in more detail how EGL connects to the default Wayland 107 display. 108 109 Version 1, 2014/01/22 (Jon Leech) 110 - Promote EGL_EXT_platform_wayland to KHR to go with EGL 1.5. 111