drm-shim: Let the driver choose to overwrite the first render node.
[mesa.git] / docs / specs / EGL_MESA_query_driver.txt
1 Name
2
3 MESA_query_driver
4
5 Name Strings
6
7 EGL_MESA_query_driver
8
9 Contact
10
11 Rob Clark <robdclark 'at' gmail.com>
12 Nicolai Hähnle <Nicolai.Haehnle 'at' amd.com>
13
14 Contibutors
15
16 Veluri Mithun <velurimithun38 'at' gmail.com>
17
18 Status
19
20 Complete
21
22 Version
23
24 Version 3, 2019-01-24
25
26 Number
27
28 EGL Extension 131
29
30 Dependencies
31
32 EGL 1.0 is required.
33
34 Overview
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
59 New Procedures and Functions
60
61 char* eglGetDisplayDriverConfig(EGLDisplay dpy);
62 const char* eglGetDisplayDriverName(EGLDisplay dpy);
63
64 Description
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
80 New Tokens
81
82 No new tokens
83
84 Issues
85
86 None
87
88
89 Revision 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)