1 /**************************************************************************
3 * Copyright 2020 Advanced Micro Devices, Inc.
6 * Permission is hereby granted, free of charge, to any person obtaining a
7 * copy of this software and associated documentation files (the
8 * "Software"), to deal in the Software without restriction, including
9 * without limitation the rights to use, copy, modify, merge, publish,
10 * distribute, sub license, and/or sell copies of the Software, and to
11 * permit persons to whom the Software is furnished to do so, subject to
12 * the following conditions:
14 * The above copyright notice and this permission notice (including the
15 * next paragraph) shall be included in all copies or substantial portions
18 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
19 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
21 * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR
22 * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
23 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
24 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
26 **************************************************************************/
28 vfmt
->ArrayElement
= NAME_AE(ArrayElement
);
30 vfmt
->Begin
= NAME(Begin
);
31 vfmt
->End
= NAME(End
);
32 vfmt
->PrimitiveRestartNV
= NAME(PrimitiveRestartNV
);
34 vfmt
->CallList
= NAME_CALLLIST(CallList
);
35 vfmt
->CallLists
= NAME_CALLLIST(CallLists
);
37 vfmt
->EvalCoord1f
= NAME(EvalCoord1f
);
38 vfmt
->EvalCoord1fv
= NAME(EvalCoord1fv
);
39 vfmt
->EvalCoord2f
= NAME(EvalCoord2f
);
40 vfmt
->EvalCoord2fv
= NAME(EvalCoord2fv
);
41 vfmt
->EvalPoint1
= NAME(EvalPoint1
);
42 vfmt
->EvalPoint2
= NAME(EvalPoint2
);
44 vfmt
->Color3f
= NAME(Color3f
);
45 vfmt
->Color3fv
= NAME(Color3fv
);
46 vfmt
->Color4f
= NAME(Color4f
);
47 vfmt
->Color4fv
= NAME(Color4fv
);
48 vfmt
->FogCoordfEXT
= NAME(FogCoordfEXT
);
49 vfmt
->FogCoordfvEXT
= NAME(FogCoordfvEXT
);
50 vfmt
->MultiTexCoord1fARB
= NAME(MultiTexCoord1f
);
51 vfmt
->MultiTexCoord1fvARB
= NAME(MultiTexCoord1fv
);
52 vfmt
->MultiTexCoord2fARB
= NAME(MultiTexCoord2f
);
53 vfmt
->MultiTexCoord2fvARB
= NAME(MultiTexCoord2fv
);
54 vfmt
->MultiTexCoord3fARB
= NAME(MultiTexCoord3f
);
55 vfmt
->MultiTexCoord3fvARB
= NAME(MultiTexCoord3fv
);
56 vfmt
->MultiTexCoord4fARB
= NAME(MultiTexCoord4f
);
57 vfmt
->MultiTexCoord4fvARB
= NAME(MultiTexCoord4fv
);
58 vfmt
->Normal3f
= NAME(Normal3f
);
59 vfmt
->Normal3fv
= NAME(Normal3fv
);
60 vfmt
->SecondaryColor3fEXT
= NAME(SecondaryColor3fEXT
);
61 vfmt
->SecondaryColor3fvEXT
= NAME(SecondaryColor3fvEXT
);
62 vfmt
->TexCoord1f
= NAME(TexCoord1f
);
63 vfmt
->TexCoord1fv
= NAME(TexCoord1fv
);
64 vfmt
->TexCoord2f
= NAME(TexCoord2f
);
65 vfmt
->TexCoord2fv
= NAME(TexCoord2fv
);
66 vfmt
->TexCoord3f
= NAME(TexCoord3f
);
67 vfmt
->TexCoord3fv
= NAME(TexCoord3fv
);
68 vfmt
->TexCoord4f
= NAME(TexCoord4f
);
69 vfmt
->TexCoord4fv
= NAME(TexCoord4fv
);
70 vfmt
->Vertex2f
= NAME(Vertex2f
);
71 vfmt
->Vertex2fv
= NAME(Vertex2fv
);
72 vfmt
->Vertex3f
= NAME(Vertex3f
);
73 vfmt
->Vertex3fv
= NAME(Vertex3fv
);
74 vfmt
->Vertex4f
= NAME(Vertex4f
);
75 vfmt
->Vertex4fv
= NAME(Vertex4fv
);
77 if (ctx
->API
== API_OPENGLES2
) {
78 vfmt
->VertexAttrib1fARB
= NAME_ES(VertexAttrib1f
);
79 vfmt
->VertexAttrib1fvARB
= NAME_ES(VertexAttrib1fv
);
80 vfmt
->VertexAttrib2fARB
= NAME_ES(VertexAttrib2f
);
81 vfmt
->VertexAttrib2fvARB
= NAME_ES(VertexAttrib2fv
);
82 vfmt
->VertexAttrib3fARB
= NAME_ES(VertexAttrib3f
);
83 vfmt
->VertexAttrib3fvARB
= NAME_ES(VertexAttrib3fv
);
84 vfmt
->VertexAttrib4fARB
= NAME_ES(VertexAttrib4f
);
85 vfmt
->VertexAttrib4fvARB
= NAME_ES(VertexAttrib4fv
);
87 vfmt
->VertexAttrib1fARB
= NAME(VertexAttrib1fARB
);
88 vfmt
->VertexAttrib1fvARB
= NAME(VertexAttrib1fvARB
);
89 vfmt
->VertexAttrib2fARB
= NAME(VertexAttrib2fARB
);
90 vfmt
->VertexAttrib2fvARB
= NAME(VertexAttrib2fvARB
);
91 vfmt
->VertexAttrib3fARB
= NAME(VertexAttrib3fARB
);
92 vfmt
->VertexAttrib3fvARB
= NAME(VertexAttrib3fvARB
);
93 vfmt
->VertexAttrib4fARB
= NAME(VertexAttrib4fARB
);
94 vfmt
->VertexAttrib4fvARB
= NAME(VertexAttrib4fvARB
);
98 vfmt
->Vertex2hNV
= NAME(Vertex2hNV
);
99 vfmt
->Vertex2hvNV
= NAME(Vertex2hvNV
);
100 vfmt
->Vertex3hNV
= NAME(Vertex3hNV
);
101 vfmt
->Vertex3hvNV
= NAME(Vertex3hvNV
);
102 vfmt
->Vertex4hNV
= NAME(Vertex4hNV
);
103 vfmt
->Vertex4hvNV
= NAME(Vertex4hvNV
);
104 vfmt
->Normal3hNV
= NAME(Normal3hNV
);
105 vfmt
->Normal3hvNV
= NAME(Normal3hvNV
);
106 vfmt
->Color3hNV
= NAME(Color3hNV
);
107 vfmt
->Color3hvNV
= NAME(Color3hvNV
);
108 vfmt
->Color4hNV
= NAME(Color4hNV
);
109 vfmt
->Color4hvNV
= NAME(Color4hvNV
);
110 vfmt
->TexCoord1hNV
= NAME(TexCoord1hNV
);
111 vfmt
->TexCoord1hvNV
= NAME(TexCoord1hvNV
);
112 vfmt
->TexCoord2hNV
= NAME(TexCoord2hNV
);
113 vfmt
->TexCoord2hvNV
= NAME(TexCoord2hvNV
);
114 vfmt
->TexCoord3hNV
= NAME(TexCoord3hNV
);
115 vfmt
->TexCoord3hvNV
= NAME(TexCoord3hvNV
);
116 vfmt
->TexCoord4hNV
= NAME(TexCoord4hNV
);
117 vfmt
->TexCoord4hvNV
= NAME(TexCoord4hvNV
);
118 vfmt
->MultiTexCoord1hNV
= NAME(MultiTexCoord1hNV
);
119 vfmt
->MultiTexCoord1hvNV
= NAME(MultiTexCoord1hvNV
);
120 vfmt
->MultiTexCoord2hNV
= NAME(MultiTexCoord2hNV
);
121 vfmt
->MultiTexCoord2hvNV
= NAME(MultiTexCoord2hvNV
);
122 vfmt
->MultiTexCoord3hNV
= NAME(MultiTexCoord3hNV
);
123 vfmt
->MultiTexCoord3hvNV
= NAME(MultiTexCoord3hvNV
);
124 vfmt
->MultiTexCoord4hNV
= NAME(MultiTexCoord4hNV
);
125 vfmt
->MultiTexCoord4hvNV
= NAME(MultiTexCoord4hvNV
);
126 vfmt
->FogCoordhNV
= NAME(FogCoordhNV
);
127 vfmt
->FogCoordhvNV
= NAME(FogCoordhvNV
);
128 vfmt
->SecondaryColor3hNV
= NAME(SecondaryColor3hNV
);
129 vfmt
->SecondaryColor3hvNV
= NAME(SecondaryColor3hvNV
);
131 /* Note that VertexAttrib4fNV is used from dlist.c and api_arrayelt.c so
132 * they can have a single entrypoint for updating any of the legacy
135 vfmt
->VertexAttrib1fNV
= NAME(VertexAttrib1fNV
);
136 vfmt
->VertexAttrib1fvNV
= NAME(VertexAttrib1fvNV
);
137 vfmt
->VertexAttrib2fNV
= NAME(VertexAttrib2fNV
);
138 vfmt
->VertexAttrib2fvNV
= NAME(VertexAttrib2fvNV
);
139 vfmt
->VertexAttrib3fNV
= NAME(VertexAttrib3fNV
);
140 vfmt
->VertexAttrib3fvNV
= NAME(VertexAttrib3fvNV
);
141 vfmt
->VertexAttrib4fNV
= NAME(VertexAttrib4fNV
);
142 vfmt
->VertexAttrib4fvNV
= NAME(VertexAttrib4fvNV
);
145 vfmt
->VertexAttribI1i
= NAME(VertexAttribI1i
);
146 vfmt
->VertexAttribI2i
= NAME(VertexAttribI2i
);
147 vfmt
->VertexAttribI3i
= NAME(VertexAttribI3i
);
148 vfmt
->VertexAttribI4i
= NAME(VertexAttribI4i
);
149 vfmt
->VertexAttribI2iv
= NAME(VertexAttribI2iv
);
150 vfmt
->VertexAttribI3iv
= NAME(VertexAttribI3iv
);
151 vfmt
->VertexAttribI4iv
= NAME(VertexAttribI4iv
);
153 /* unsigned integer-valued */
154 vfmt
->VertexAttribI1ui
= NAME(VertexAttribI1ui
);
155 vfmt
->VertexAttribI2ui
= NAME(VertexAttribI2ui
);
156 vfmt
->VertexAttribI3ui
= NAME(VertexAttribI3ui
);
157 vfmt
->VertexAttribI4ui
= NAME(VertexAttribI4ui
);
158 vfmt
->VertexAttribI2uiv
= NAME(VertexAttribI2uiv
);
159 vfmt
->VertexAttribI3uiv
= NAME(VertexAttribI3uiv
);
160 vfmt
->VertexAttribI4uiv
= NAME(VertexAttribI4uiv
);
162 vfmt
->Materialfv
= NAME(Materialfv
);
164 vfmt
->EdgeFlag
= NAME(EdgeFlag
);
165 vfmt
->Indexf
= NAME(Indexf
);
166 vfmt
->Indexfv
= NAME(Indexfv
);
168 /* ARB_vertex_type_2_10_10_10_rev */
169 vfmt
->VertexP2ui
= NAME(VertexP2ui
);
170 vfmt
->VertexP2uiv
= NAME(VertexP2uiv
);
171 vfmt
->VertexP3ui
= NAME(VertexP3ui
);
172 vfmt
->VertexP3uiv
= NAME(VertexP3uiv
);
173 vfmt
->VertexP4ui
= NAME(VertexP4ui
);
174 vfmt
->VertexP4uiv
= NAME(VertexP4uiv
);
176 vfmt
->TexCoordP1ui
= NAME(TexCoordP1ui
);
177 vfmt
->TexCoordP1uiv
= NAME(TexCoordP1uiv
);
178 vfmt
->TexCoordP2ui
= NAME(TexCoordP2ui
);
179 vfmt
->TexCoordP2uiv
= NAME(TexCoordP2uiv
);
180 vfmt
->TexCoordP3ui
= NAME(TexCoordP3ui
);
181 vfmt
->TexCoordP3uiv
= NAME(TexCoordP3uiv
);
182 vfmt
->TexCoordP4ui
= NAME(TexCoordP4ui
);
183 vfmt
->TexCoordP4uiv
= NAME(TexCoordP4uiv
);
185 vfmt
->MultiTexCoordP1ui
= NAME(MultiTexCoordP1ui
);
186 vfmt
->MultiTexCoordP1uiv
= NAME(MultiTexCoordP1uiv
);
187 vfmt
->MultiTexCoordP2ui
= NAME(MultiTexCoordP2ui
);
188 vfmt
->MultiTexCoordP2uiv
= NAME(MultiTexCoordP2uiv
);
189 vfmt
->MultiTexCoordP3ui
= NAME(MultiTexCoordP3ui
);
190 vfmt
->MultiTexCoordP3uiv
= NAME(MultiTexCoordP3uiv
);
191 vfmt
->MultiTexCoordP4ui
= NAME(MultiTexCoordP4ui
);
192 vfmt
->MultiTexCoordP4uiv
= NAME(MultiTexCoordP4uiv
);
194 vfmt
->NormalP3ui
= NAME(NormalP3ui
);
195 vfmt
->NormalP3uiv
= NAME(NormalP3uiv
);
197 vfmt
->ColorP3ui
= NAME(ColorP3ui
);
198 vfmt
->ColorP3uiv
= NAME(ColorP3uiv
);
199 vfmt
->ColorP4ui
= NAME(ColorP4ui
);
200 vfmt
->ColorP4uiv
= NAME(ColorP4uiv
);
202 vfmt
->SecondaryColorP3ui
= NAME(SecondaryColorP3ui
);
203 vfmt
->SecondaryColorP3uiv
= NAME(SecondaryColorP3uiv
);
205 vfmt
->VertexAttribP1ui
= NAME(VertexAttribP1ui
);
206 vfmt
->VertexAttribP1uiv
= NAME(VertexAttribP1uiv
);
207 vfmt
->VertexAttribP2ui
= NAME(VertexAttribP2ui
);
208 vfmt
->VertexAttribP2uiv
= NAME(VertexAttribP2uiv
);
209 vfmt
->VertexAttribP3ui
= NAME(VertexAttribP3ui
);
210 vfmt
->VertexAttribP3uiv
= NAME(VertexAttribP3uiv
);
211 vfmt
->VertexAttribP4ui
= NAME(VertexAttribP4ui
);
212 vfmt
->VertexAttribP4uiv
= NAME(VertexAttribP4uiv
);
214 vfmt
->VertexAttribL1d
= NAME(VertexAttribL1d
);
215 vfmt
->VertexAttribL2d
= NAME(VertexAttribL2d
);
216 vfmt
->VertexAttribL3d
= NAME(VertexAttribL3d
);
217 vfmt
->VertexAttribL4d
= NAME(VertexAttribL4d
);
219 vfmt
->VertexAttribL1dv
= NAME(VertexAttribL1dv
);
220 vfmt
->VertexAttribL2dv
= NAME(VertexAttribL2dv
);
221 vfmt
->VertexAttribL3dv
= NAME(VertexAttribL3dv
);
222 vfmt
->VertexAttribL4dv
= NAME(VertexAttribL4dv
);
224 vfmt
->VertexAttribL1ui64ARB
= NAME(VertexAttribL1ui64ARB
);
225 vfmt
->VertexAttribL1ui64vARB
= NAME(VertexAttribL1ui64vARB
);