1 <!ELEMENT apispec (template|api)+>
3 <!ELEMENT api (category*, function*)>
4 <!ELEMENT category EMPTY>
5 <!ELEMENT function EMPTY>
7 <!ELEMENT template (proto, desc*)>
8 <!ELEMENT proto (return, (param|vector)*)>
9 <!ELEMENT return EMPTY>
10 <!ELEMENT param EMPTY>
11 <!ELEMENT vector (param*)>
12 <!ELEMENT desc ((value|range)*, desc*)>
13 <!ELEMENT value EMPTY>
14 <!ELEMENT range EMPTY>
16 <!ATTLIST api name NMTOKEN #REQUIRED
17 implementation (true | false) "false">
18 <!ATTLIST category name NMTOKEN #REQUIRED>
19 <!ATTLIST function name NMTOKEN #REQUIRED
20 default_prefix NMTOKEN "_mesa_"
21 external (true | false) "false"
22 template NMTOKEN #REQUIRED
24 vector_size NMTOKEN #IMPLIED
25 expand_vector (true | false) "false"
26 skip_desc (true | false) "false">
28 <!ATTLIST template name NMTOKEN #REQUIRED
29 direction (set | get) "set">
31 <!ATTLIST return type CDATA #REQUIRED>
32 <!ATTLIST param name NMTOKEN #REQUIRED
34 hide_if_expanded (true | false) "false"
35 category NMTOKEN #IMPLIED>
36 <!ATTLIST vector name NMTOKEN #REQUIRED
38 size NMTOKEN #REQUIRED
39 category NMTOKEN #IMPLIED>
41 <!ATTLIST desc name NMTOKEN #REQUIRED
42 vector_size CDATA #IMPLIED
43 convert (true | false) #IMPLIED
44 error NMTOKEN "GL_INVALID_ENUM"
45 category NMTOKEN #IMPLIED>
47 <!ATTLIST value name CDATA #REQUIRED
48 category NMTOKEN #IMPLIED>
49 <!ATTLIST range from NMTOKEN #REQUIRED
52 category NMTOKEN #IMPLIED>