• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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