• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Name
2
3    MESA_query_driver
4
5Name Strings
6
7    EGL_MESA_query_driver
8
9Contact
10
11    Rob Clark      <robdclark 'at' gmail.com>
12    Nicolai Hähnle <Nicolai.Haehnle 'at' amd.com>
13
14Contibutors
15
16    Veluri Mithun <velurimithun38 'at' gmail.com>
17
18Status
19
20    Complete
21
22Version
23
24    Version 3, 2019-01-24
25
26Number
27
28    EGL Extension 131
29
30Dependencies
31
32    EGL 1.0 is required.
33
34Overview
35
36    When an application has to query the name of a driver and for
37    obtaining driver's option list (UTF-8 encoded XML) of a driver
38    the below functions are useful.
39
40    XML file formally describes all available options and also
41    includes verbal descriptions in multiple languages. Its main purpose
42    is to be automatically processed by configuration GUIs.
43    The XML shall respect the following DTD:
44
45    <!ELEMENT driinfo      (section*)>
46    <!ELEMENT section      (description+, option+)>
47    <!ELEMENT description  (enum*)>
48    <!ATTLIST description  lang CDATA #REQUIRED
49                           text CDATA #REQUIRED>
50    <!ELEMENT option       (description+)>
51    <!ATTLIST option       name CDATA #REQUIRED
52                           type (bool|enum|int|float) #REQUIRED
53                           default CDATA #REQUIRED
54                           valid CDATA #IMPLIED>
55    <!ELEMENT enum         EMPTY>
56    <!ATTLIST enum         value CDATA #REQUIRED
57                           text CDATA #REQUIRED>
58
59New Procedures and Functions
60
61    char* eglGetDisplayDriverConfig(EGLDisplay dpy);
62    const char* eglGetDisplayDriverName(EGLDisplay dpy);
63
64Description
65
66    By passing EGLDisplay as parameter to `eglGetDisplayDriverName` one can retrieve
67    driverName. Similarly passing EGLDisplay to `eglGetDisplayDriverConfig` we can retrieve
68    driverConfig options of the driver in XML format.
69
70    The string returned by `eglGetDisplayDriverConfig` is heap-allocated and caller
71    is responsible for freeing it.
72
73    EGL_BAD_DISPLAY is generated if `disp` is not an EGL display connection.
74
75    EGL_NOT_INITIALIZED is generated if `disp` has not been initialized.
76
77    If the implementation does not have enough resources to allocate the XML then an
78    EGL_BAD_ALLOC error is generated.
79
80New Tokens
81
82    No new tokens
83
84Issues
85
86    None
87
88
89Revision History
90
91    Version 1, 2018-11-05 - First draft (Veluri Mithun)
92    Version 2, 2019-01-23 - Final version (Veluri Mithun)
93    Version 3, 2019-01-24 - Mark as complete, add Khronos extension
94                            number, fix parameter name in prototypes,
95                            write revision history (Eric Engestrom)
96