1 /************************************************************************** 2 * 3 * Copyright 2020 Advanced Micro Devices, Inc. 4 * All Rights Reserved. 5 * 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: 13 * 14 * The above copyright notice and this permission notice (including the 15 * next paragraph) shall be included in all copies or substantial portions 16 * of the Software. 17 * 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. 25 * 26 **************************************************************************/ 27 28 vfmt->ArrayElement = NAME_AE(ArrayElement); 29 30 vfmt->Begin = NAME(Begin); 31 vfmt->End = NAME(End); 32 vfmt->PrimitiveRestartNV = NAME(PrimitiveRestartNV); 33 34 vfmt->CallList = NAME_CALLLIST(CallList); 35 vfmt->CallLists = NAME_CALLLIST(CallLists); 36 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); 43 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); 76 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); 86 } else { 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); 95 } 96 97 /* Note that VertexAttrib4fNV is used from dlist.c and api_arrayelt.c so 98 * they can have a single entrypoint for updating any of the legacy 99 * attribs. 100 */ 101 vfmt->VertexAttrib1fNV = NAME(VertexAttrib1fNV); 102 vfmt->VertexAttrib1fvNV = NAME(VertexAttrib1fvNV); 103 vfmt->VertexAttrib2fNV = NAME(VertexAttrib2fNV); 104 vfmt->VertexAttrib2fvNV = NAME(VertexAttrib2fvNV); 105 vfmt->VertexAttrib3fNV = NAME(VertexAttrib3fNV); 106 vfmt->VertexAttrib3fvNV = NAME(VertexAttrib3fvNV); 107 vfmt->VertexAttrib4fNV = NAME(VertexAttrib4fNV); 108 vfmt->VertexAttrib4fvNV = NAME(VertexAttrib4fvNV); 109 110 /* integer-valued */ 111 vfmt->VertexAttribI1i = NAME(VertexAttribI1i); 112 vfmt->VertexAttribI2i = NAME(VertexAttribI2i); 113 vfmt->VertexAttribI3i = NAME(VertexAttribI3i); 114 vfmt->VertexAttribI4i = NAME(VertexAttribI4i); 115 vfmt->VertexAttribI2iv = NAME(VertexAttribI2iv); 116 vfmt->VertexAttribI3iv = NAME(VertexAttribI3iv); 117 vfmt->VertexAttribI4iv = NAME(VertexAttribI4iv); 118 119 /* unsigned integer-valued */ 120 vfmt->VertexAttribI1ui = NAME(VertexAttribI1ui); 121 vfmt->VertexAttribI2ui = NAME(VertexAttribI2ui); 122 vfmt->VertexAttribI3ui = NAME(VertexAttribI3ui); 123 vfmt->VertexAttribI4ui = NAME(VertexAttribI4ui); 124 vfmt->VertexAttribI2uiv = NAME(VertexAttribI2uiv); 125 vfmt->VertexAttribI3uiv = NAME(VertexAttribI3uiv); 126 vfmt->VertexAttribI4uiv = NAME(VertexAttribI4uiv); 127 128 vfmt->Materialfv = NAME(Materialfv); 129 130 vfmt->EdgeFlag = NAME(EdgeFlag); 131 vfmt->Indexf = NAME(Indexf); 132 vfmt->Indexfv = NAME(Indexfv); 133 134 /* ARB_vertex_type_2_10_10_10_rev */ 135 vfmt->VertexP2ui = NAME(VertexP2ui); 136 vfmt->VertexP2uiv = NAME(VertexP2uiv); 137 vfmt->VertexP3ui = NAME(VertexP3ui); 138 vfmt->VertexP3uiv = NAME(VertexP3uiv); 139 vfmt->VertexP4ui = NAME(VertexP4ui); 140 vfmt->VertexP4uiv = NAME(VertexP4uiv); 141 142 vfmt->TexCoordP1ui = NAME(TexCoordP1ui); 143 vfmt->TexCoordP1uiv = NAME(TexCoordP1uiv); 144 vfmt->TexCoordP2ui = NAME(TexCoordP2ui); 145 vfmt->TexCoordP2uiv = NAME(TexCoordP2uiv); 146 vfmt->TexCoordP3ui = NAME(TexCoordP3ui); 147 vfmt->TexCoordP3uiv = NAME(TexCoordP3uiv); 148 vfmt->TexCoordP4ui = NAME(TexCoordP4ui); 149 vfmt->TexCoordP4uiv = NAME(TexCoordP4uiv); 150 151 vfmt->MultiTexCoordP1ui = NAME(MultiTexCoordP1ui); 152 vfmt->MultiTexCoordP1uiv = NAME(MultiTexCoordP1uiv); 153 vfmt->MultiTexCoordP2ui = NAME(MultiTexCoordP2ui); 154 vfmt->MultiTexCoordP2uiv = NAME(MultiTexCoordP2uiv); 155 vfmt->MultiTexCoordP3ui = NAME(MultiTexCoordP3ui); 156 vfmt->MultiTexCoordP3uiv = NAME(MultiTexCoordP3uiv); 157 vfmt->MultiTexCoordP4ui = NAME(MultiTexCoordP4ui); 158 vfmt->MultiTexCoordP4uiv = NAME(MultiTexCoordP4uiv); 159 160 vfmt->NormalP3ui = NAME(NormalP3ui); 161 vfmt->NormalP3uiv = NAME(NormalP3uiv); 162 163 vfmt->ColorP3ui = NAME(ColorP3ui); 164 vfmt->ColorP3uiv = NAME(ColorP3uiv); 165 vfmt->ColorP4ui = NAME(ColorP4ui); 166 vfmt->ColorP4uiv = NAME(ColorP4uiv); 167 168 vfmt->SecondaryColorP3ui = NAME(SecondaryColorP3ui); 169 vfmt->SecondaryColorP3uiv = NAME(SecondaryColorP3uiv); 170 171 vfmt->VertexAttribP1ui = NAME(VertexAttribP1ui); 172 vfmt->VertexAttribP1uiv = NAME(VertexAttribP1uiv); 173 vfmt->VertexAttribP2ui = NAME(VertexAttribP2ui); 174 vfmt->VertexAttribP2uiv = NAME(VertexAttribP2uiv); 175 vfmt->VertexAttribP3ui = NAME(VertexAttribP3ui); 176 vfmt->VertexAttribP3uiv = NAME(VertexAttribP3uiv); 177 vfmt->VertexAttribP4ui = NAME(VertexAttribP4ui); 178 vfmt->VertexAttribP4uiv = NAME(VertexAttribP4uiv); 179 180 vfmt->VertexAttribL1d = NAME(VertexAttribL1d); 181 vfmt->VertexAttribL2d = NAME(VertexAttribL2d); 182 vfmt->VertexAttribL3d = NAME(VertexAttribL3d); 183 vfmt->VertexAttribL4d = NAME(VertexAttribL4d); 184 185 vfmt->VertexAttribL1dv = NAME(VertexAttribL1dv); 186 vfmt->VertexAttribL2dv = NAME(VertexAttribL2dv); 187 vfmt->VertexAttribL3dv = NAME(VertexAttribL3dv); 188 vfmt->VertexAttribL4dv = NAME(VertexAttribL4dv); 189 190 vfmt->VertexAttribL1ui64ARB = NAME(VertexAttribL1ui64ARB); 191 vfmt->VertexAttribL1ui64vARB = NAME(VertexAttribL1ui64vARB); 192