2 #include "api_loopback.h"
8 static void install_vtxfmt( struct _glapi_table
*tab
, GLvertexformat
*vfmt
)
10 tab
->ArrayElement
= vfmt
->ArrayElement
;
11 tab
->Color3f
= vfmt
->Color3f
;
12 tab
->Color3fv
= vfmt
->Color3fv
;
13 tab
->Color3ub
= vfmt
->Color3ub
;
14 tab
->Color3ubv
= vfmt
->Color3ubv
;
15 tab
->Color4f
= vfmt
->Color4f
;
16 tab
->Color4fv
= vfmt
->Color4fv
;
17 tab
->Color4ub
= vfmt
->Color4ub
;
18 tab
->Color4ubv
= vfmt
->Color4ubv
;
19 tab
->EdgeFlag
= vfmt
->EdgeFlag
;
20 tab
->EdgeFlagv
= vfmt
->EdgeFlagv
;
21 tab
->EvalCoord1f
= vfmt
->EvalCoord1f
;
22 tab
->EvalCoord1fv
= vfmt
->EvalCoord1fv
;
23 tab
->EvalCoord2f
= vfmt
->EvalCoord2f
;
24 tab
->EvalCoord2fv
= vfmt
->EvalCoord2fv
;
25 tab
->EvalPoint1
= vfmt
->EvalPoint1
;
26 tab
->EvalPoint2
= vfmt
->EvalPoint2
;
27 tab
->FogCoordfEXT
= vfmt
->FogCoordfEXT
;
28 tab
->FogCoordfvEXT
= vfmt
->FogCoordfvEXT
;
29 tab
->Indexi
= vfmt
->Indexi
;
30 tab
->Indexiv
= vfmt
->Indexiv
;
31 tab
->Materialfv
= vfmt
->Materialfv
;
32 tab
->MultiTexCoord1fARB
= vfmt
->MultiTexCoord1fARB
;
33 tab
->MultiTexCoord1fvARB
= vfmt
->MultiTexCoord1fvARB
;
34 tab
->MultiTexCoord2fARB
= vfmt
->MultiTexCoord2fARB
;
35 tab
->MultiTexCoord2fvARB
= vfmt
->MultiTexCoord2fvARB
;
36 tab
->MultiTexCoord3fARB
= vfmt
->MultiTexCoord3fARB
;
37 tab
->MultiTexCoord3fvARB
= vfmt
->MultiTexCoord3fvARB
;
38 tab
->MultiTexCoord4fARB
= vfmt
->MultiTexCoord4fARB
;
39 tab
->MultiTexCoord4fvARB
= vfmt
->MultiTexCoord4fvARB
;
40 tab
->Normal3f
= vfmt
->Normal3f
;
41 tab
->Normal3fv
= vfmt
->Normal3fv
;
42 tab
->SecondaryColor3fEXT
= vfmt
->SecondaryColor3fEXT
;
43 tab
->SecondaryColor3fvEXT
= vfmt
->SecondaryColor3fvEXT
;
44 tab
->SecondaryColor3ubEXT
= vfmt
->SecondaryColor3ubEXT
;
45 tab
->SecondaryColor3ubvEXT
= vfmt
->SecondaryColor3ubvEXT
;
46 tab
->TexCoord1f
= vfmt
->TexCoord1f
;
47 tab
->TexCoord1fv
= vfmt
->TexCoord1fv
;
48 tab
->TexCoord2f
= vfmt
->TexCoord2f
;
49 tab
->TexCoord2fv
= vfmt
->TexCoord2fv
;
50 tab
->TexCoord3f
= vfmt
->TexCoord3f
;
51 tab
->TexCoord3fv
= vfmt
->TexCoord3fv
;
52 tab
->TexCoord4f
= vfmt
->TexCoord4f
;
53 tab
->TexCoord4fv
= vfmt
->TexCoord4fv
;
54 tab
->Vertex2f
= vfmt
->Vertex2f
;
55 tab
->Vertex2fv
= vfmt
->Vertex2fv
;
56 tab
->Vertex3f
= vfmt
->Vertex3f
;
57 tab
->Vertex3fv
= vfmt
->Vertex3fv
;
58 tab
->Vertex4f
= vfmt
->Vertex4f
;
59 tab
->Vertex4fv
= vfmt
->Vertex4fv
;
60 tab
->Begin
= vfmt
->Begin
;
63 /* tab->NewList = vfmt->NewList; */
64 tab
->CallList
= vfmt
->CallList
;
66 tab
->Rectf
= vfmt
->Rectf
;
67 tab
->DrawArrays
= vfmt
->DrawArrays
;
68 tab
->DrawElements
= vfmt
->DrawElements
;
69 tab
->DrawRangeElements
= vfmt
->DrawRangeElements
;
70 tab
->EvalMesh1
= vfmt
->EvalMesh1
;
71 tab
->EvalMesh2
= vfmt
->EvalMesh2
;
75 void _mesa_install_exec_vtxfmt( GLcontext
*ctx
, GLvertexformat
*vfmt
)
77 install_vtxfmt( ctx
->Exec
, vfmt
);
78 if (ctx
->ExecPrefersFloat
!= vfmt
->prefer_float_colors
)
79 _mesa_loopback_prefer_float( ctx
->Exec
, vfmt
->prefer_float_colors
);
83 void _mesa_install_save_vtxfmt( GLcontext
*ctx
, GLvertexformat
*vfmt
)
85 install_vtxfmt( ctx
->Save
, vfmt
);
86 if (ctx
->SavePrefersFloat
!= vfmt
->prefer_float_colors
)
87 _mesa_loopback_prefer_float( ctx
->Save
, vfmt
->prefer_float_colors
);