1Name 2 3 NV_native_query 4 5Name Strings 6 7 EGL_NV_native_query 8 9Contributors 10 11 Mathias Heyer, NVIDIA 12 Daniel Kartch, NVIDIA 13 Peter Pipkorn, NVIDIA 14 Acorn Pooley, NVIDIA 15 Greg Roth, NVIDIA 16 17Contacts 18 19 Peter Pipkorn, NVIDIA Corporation (ppipkorn 'at' nvidia.com) 20 21Status 22 23 Complete 24 25Version 26 27 Version 0.4, 25 Sept, 2012 28 29Number 30 31 EGL Extension #45 32 33Dependencies 34 35 Requires EGL 1.0 36 37 This extension is written against the wording of the EGL 1.4 38 Specification. 39 40Overview 41 42 This extension allows an application to query which native display, 43 pixmap and surface corresponds to a EGL object. 44 45New Procedures and Functions 46 47 EGLBoolean eglQueryNativeDisplayNV( 48 EGLDisplay dpy, 49 EGLNativeDisplayType* display_id); 50 51 EGLBoolean eglQueryNativeWindowNV( 52 EGLDisplay dpy, 53 EGLSurface surf, 54 EGLNativeWindowType* window); 55 56 EGLBoolean eglQueryNativePixmapNV( 57 EGLDisplay dpy, 58 EGLSurface surf, 59 EGLNativePixmapType* pixmap); 60 61Changes to Chapter 3 of the EGL 1.4 Specification (EGL Functions and Errors) 62 63 In Chapter 3.2, after the description of eglInitialize and before the 64 description of eglTerminate insert 65 66 "While initialized, the native display that corresponds to an 67 EGLDisplay can retrieved by 68 69 EGLBoolean eglQueryNativeDisplayNV( 70 EGLDisplay dpy, 71 EGLNativeDisplayType* display_id); 72 73 If the <dpy> is a valid and initialized EGLDisplay, EGL_TRUE 74 will be returned and the native display handle will be written 75 to <display_id>. Otherwise EGL_FALSE will be returned and the 76 contents of <display_id> are left untouched. If the <dpy> is 77 not valid, an EGL_BAD_DISPLAY error will be generated. If <dpy> 78 is not initialized, an EGL_NOT_INITIALIZED error will be 79 generated. If <display_id> is NULL, an EGL_BAD_PARAMETER error 80 will be generated. 81 82 In Chapter 3.5 Rendering Surfaces, after section 3.5.1 insert 83 84 "The native window that corresponds to an EGLSurface can be 85 retrieved by 86 87 EGLBoolean eglQueryNativeWindowNV( 88 EGLDisplay dpy, 89 EGLSurface surf, 90 EGLNativeWindowType* win); 91 92 The corresponding native window will be written to <win>, 93 and EGL_TRUE will be returned. If the call fails, EGL_FALSE 94 will be returned, and content of <win> will not be modified. 95 If <dpy> is not a valid EGLDisplay, an EGL_BAD_DISPLAY error 96 will be generated. If <dpy> is not initialized, an EGL_NOT_- 97 INITIALIZED error will be generated. If <surf> is not a valid 98 EGLSurface, or <surf> does not have a corresponding native 99 window, an EGL_BAD_SURFACE error will be generated." If <win> 100 is NULL, an EGL_BAD_PARAMETER error will be generated. 101 102 After section 3.5.4 Creating Native Pixmap Rendering Surfaces insert 103 104 "The native pixmap that corresponds to an EGLSurface can be 105 retrieved by 106 107 EGLBoolean eglQueryNativePixmapNV( 108 EGLDisplay dpy, 109 EGLSurface surf, 110 EGLNativePixmapType* pixmap); 111 112 The corresponding native pixmap will be written to <pixmap>, 113 and EGL_TRUE will be returned. If the call fails, EGL_FALSE 114 will be returned, and the content of <pixmap> will not be 115 modified. If <dpy> is not a valid EGLDisplay, an EGL_BAD_- 116 DISPLAY error will be generated. If <dpy> is not initialized, 117 an EGL_NOT_INITIALIZED error will be generated. If <surf> is 118 not a valid EGLSurface, or <surf> does not have a corresponding 119 native pixmap, an EGL_BAD_SURFACE error will be generated." If 120 <pixmap> is NULL, an EGL_BAD_PARAMETER error will be 121 generated. 122 123Issues 124 125Revision History 126#4 (Greg Roth, Sept 25, 2012) 127 - Further document all potential errors for all functions 128 129#3 (Daniel Kartch, August 30, 2011) 130 - Add restriction that EGLDisplay be initialized 131 132#2 (Peter Pipkorn, December 16, 2009) 133 - Minor cleanup 134 135#1 (Peter Pipkorn, December 15, 2009) 136 - First Draft 137 138