]> git.cworth.org Git - apitrace/blob - glretrace_wgl.cpp
Indent glretrace_wgl.cpp code.
[apitrace] / glretrace_wgl.cpp
1 /**************************************************************************
2  *
3  * Copyright 2011 Jose Fonseca
4  * All Rights Reserved.
5  *
6  * Permission is hereby granted, free of charge, to any person obtaining a copy
7  * of this software and associated documentation files (the "Software"), to deal
8  * in the Software without restriction, including without limitation the rights
9  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10  * copies of the Software, and to permit persons to whom the Software is
11  * furnished to do so, subject to the following conditions:
12  *
13  * The above copyright notice and this permission notice shall be included in
14  * all copies or substantial portions of the Software.
15  *
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22  * THE SOFTWARE.
23  *
24  **************************************************************************/
25
26
27 #include "glproc.hpp"
28 #include "retrace.hpp"
29 #include "glretrace.hpp"
30
31
32 using namespace glretrace;
33
34
35 static void retrace_wglCreateContext(Trace::Call &call) {
36 }
37
38 static void retrace_wglDeleteContext(Trace::Call &call) {
39 }
40
41 static void retrace_wglMakeCurrent(Trace::Call &call) {
42     glFlush();
43     if (!double_buffer) {
44         frame_complete(call.no);
45     }
46 }
47
48 static void retrace_wglCopyContext(Trace::Call &call) {
49 }
50
51 static void retrace_wglChoosePixelFormat(Trace::Call &call) {
52 }
53
54 static void retrace_wglDescribePixelFormat(Trace::Call &call) {
55 }
56
57 static void retrace_wglSetPixelFormat(Trace::Call &call) {
58 }
59
60 static void retrace_wglSwapBuffers(Trace::Call &call) {
61     frame_complete(call.no);
62     if (double_buffer) {
63         drawable->swapBuffers();
64     } else {
65         glFlush();
66     }
67 }
68
69 static void retrace_wglShareLists(Trace::Call &call) {
70 }
71
72 static void retrace_wglCreateLayerContext(Trace::Call &call) {
73 }
74
75 static void retrace_wglDescribeLayerPlane(Trace::Call &call) {
76 }
77
78 static void retrace_wglSetLayerPaletteEntries(Trace::Call &call) {
79 }
80
81 static void retrace_wglRealizeLayerPalette(Trace::Call &call) {
82 }
83
84 static void retrace_wglSwapLayerBuffers(Trace::Call &call) {
85 }
86
87 static void retrace_wglUseFontBitmapsA(Trace::Call &call) {
88 }
89
90 static void retrace_wglUseFontBitmapsW(Trace::Call &call) {
91 }
92
93 static void retrace_wglSwapMultipleBuffers(Trace::Call &call) {
94 }
95
96 static void retrace_wglUseFontOutlinesA(Trace::Call &call) {
97 }
98
99 static void retrace_wglUseFontOutlinesW(Trace::Call &call) {
100 }
101
102 static void retrace_wglCreateBufferRegionARB(Trace::Call &call) {
103 }
104
105 static void retrace_wglDeleteBufferRegionARB(Trace::Call &call) {
106 }
107
108 static void retrace_wglSaveBufferRegionARB(Trace::Call &call) {
109 }
110
111 static void retrace_wglRestoreBufferRegionARB(Trace::Call &call) {
112 }
113
114 static void retrace_wglChoosePixelFormatARB(Trace::Call &call) {
115 }
116
117 static void retrace_wglMakeContextCurrentARB(Trace::Call &call) {
118 }
119
120 static void retrace_wglCreatePbufferARB(Trace::Call &call) {
121 }
122
123 static void retrace_wglReleasePbufferDCARB(Trace::Call &call) {
124 }
125
126 static void retrace_wglDestroyPbufferARB(Trace::Call &call) {
127 }
128
129 static void retrace_wglQueryPbufferARB(Trace::Call &call) {
130 }
131
132 static void retrace_wglBindTexImageARB(Trace::Call &call) {
133 }
134
135 static void retrace_wglReleaseTexImageARB(Trace::Call &call) {
136 }
137
138 static void retrace_wglSetPbufferAttribARB(Trace::Call &call) {
139 }
140
141 static void retrace_wglCreateContextAttribsARB(Trace::Call &call) {
142 }
143
144 static void retrace_wglMakeContextCurrentEXT(Trace::Call &call) {
145 }
146
147 static void retrace_wglChoosePixelFormatEXT(Trace::Call &call) {
148 }
149
150 static void retrace_wglSwapIntervalEXT(Trace::Call &call) {
151 }
152
153 static void retrace_wglAllocateMemoryNV(Trace::Call &call) {
154 }
155
156 static void retrace_wglFreeMemoryNV(Trace::Call &call) {
157 }
158
159 static void retrace_glAddSwapHintRectWIN(Trace::Call &call) {
160 }
161
162 static void retrace_wglGetProcAddress(Trace::Call &call) {
163 }
164
165 void glretrace::retrace_call_wgl(Trace::Call &call) {
166     const char *name = call.name().c_str();
167
168     switch (name[0]) {
169     case 'g':
170         if (name[1] == 'l' && name[2] == 'A' && name[3] == 'd' && name[4] == 'd' && name[5] == 'S' && name[6] == 'w' && name[7] == 'a' && name[8] == 'p' && name[9] == 'H' && name[10] == 'i' && name[11] == 'n' && name[12] == 't' && name[13] == 'R' && name[14] == 'e' && name[15] == 'c' && name[16] == 't' && name[17] == 'W' && name[18] == 'I' && name[19] == 'N' && name[20] == '\0') {
171             // glAddSwapHintRectWIN
172             retrace_glAddSwapHintRectWIN(call);
173             return;
174         }
175         break;
176     case 'w':
177         switch (name[1]) {
178         case 'g':
179             switch (name[2]) {
180             case 'l':
181                 switch (name[3]) {
182                 case 'A':
183                     if (name[4] == 'l' && name[5] == 'l' && name[6] == 'o' && name[7] == 'c' && name[8] == 'a' && name[9] == 't' && name[10] == 'e' && name[11] == 'M' && name[12] == 'e' && name[13] == 'm' && name[14] == 'o' && name[15] == 'r' && name[16] == 'y' && name[17] == 'N' && name[18] == 'V' && name[19] == '\0') {
184                         // wglAllocateMemoryNV
185                         retrace_wglAllocateMemoryNV(call);
186                         return;
187                     }
188                     break;
189                 case 'B':
190                     if (name[4] == 'i' && name[5] == 'n' && name[6] == 'd' && name[7] == 'T' && name[8] == 'e' && name[9] == 'x' && name[10] == 'I' && name[11] == 'm' && name[12] == 'a' && name[13] == 'g' && name[14] == 'e' && name[15] == 'A' && name[16] == 'R' && name[17] == 'B' && name[18] == '\0') {
191                         // wglBindTexImageARB
192                         retrace_wglBindTexImageARB(call);
193                         return;
194                     }
195                     break;
196                 case 'C':
197                     switch (name[4]) {
198                     case 'h':
199                         switch (name[5]) {
200                         case 'o':
201                             switch (name[6]) {
202                             case 'o':
203                                 switch (name[7]) {
204                                 case 's':
205                                     switch (name[8]) {
206                                     case 'e':
207                                         switch (name[9]) {
208                                         case 'P':
209                                             switch (name[10]) {
210                                             case 'i':
211                                                 switch (name[11]) {
212                                                 case 'x':
213                                                     switch (name[12]) {
214                                                     case 'e':
215                                                         switch (name[13]) {
216                                                         case 'l':
217                                                             switch (name[14]) {
218                                                             case 'F':
219                                                                 switch (name[15]) {
220                                                                 case 'o':
221                                                                     switch (name[16]) {
222                                                                     case 'r':
223                                                                         switch (name[17]) {
224                                                                         case 'm':
225                                                                             switch (name[18]) {
226                                                                             case 'a':
227                                                                                 switch (name[19]) {
228                                                                                 case 't':
229                                                                                     switch (name[20]) {
230                                                                                     case '\0':
231                                                                                         // wglChoosePixelFormat
232                                                                                         retrace_wglChoosePixelFormat(call);
233                                                                                         return;
234                                                                                         break;
235                                                                                     case 'A':
236                                                                                         if (name[21] == 'R' && name[22] == 'B' && name[23] == '\0') {
237                                                                                             // wglChoosePixelFormatARB
238                                                                                             retrace_wglChoosePixelFormatARB(call);
239                                                                                             return;
240                                                                                         }
241                                                                                         break;
242                                                                                     case 'E':
243                                                                                         if (name[21] == 'X' && name[22] == 'T' && name[23] == '\0') {
244                                                                                             // wglChoosePixelFormatEXT
245                                                                                             retrace_wglChoosePixelFormatEXT(call);
246                                                                                             return;
247                                                                                         }
248                                                                                         break;
249                                                                                     }
250                                                                                     break;
251                                                                                 }
252                                                                                 break;
253                                                                             }
254                                                                             break;
255                                                                         }
256                                                                         break;
257                                                                     }
258                                                                     break;
259                                                                 }
260                                                                 break;
261                                                             }
262                                                             break;
263                                                         }
264                                                         break;
265                                                     }
266                                                     break;
267                                                 }
268                                                 break;
269                                             }
270                                             break;
271                                         }
272                                         break;
273                                     }
274                                     break;
275                                 }
276                                 break;
277                             }
278                             break;
279                         }
280                         break;
281                     case 'o':
282                         if (name[5] == 'p' && name[6] == 'y' && name[7] == 'C' && name[8] == 'o' && name[9] == 'n' && name[10] == 't' && name[11] == 'e' && name[12] == 'x' && name[13] == 't' && name[14] == '\0') {
283                             // wglCopyContext
284                             retrace_wglCopyContext(call);
285                             return;
286                         }
287                         break;
288                     case 'r':
289                         switch (name[5]) {
290                         case 'e':
291                             switch (name[6]) {
292                             case 'a':
293                                 switch (name[7]) {
294                                 case 't':
295                                     switch (name[8]) {
296                                     case 'e':
297                                         switch (name[9]) {
298                                         case 'B':
299                                             if (name[10] == 'u' && name[11] == 'f' && name[12] == 'f' && name[13] == 'e' && name[14] == 'r' && name[15] == 'R' && name[16] == 'e' && name[17] == 'g' && name[18] == 'i' && name[19] == 'o' && name[20] == 'n' && name[21] == 'A' && name[22] == 'R' && name[23] == 'B' && name[24] == '\0') {
300                                                 // wglCreateBufferRegionARB
301                                                 retrace_wglCreateBufferRegionARB(call);
302                                                 return;
303                                             }
304                                             break;
305                                         case 'C':
306                                             switch (name[10]) {
307                                             case 'o':
308                                                 switch (name[11]) {
309                                                 case 'n':
310                                                     switch (name[12]) {
311                                                     case 't':
312                                                         switch (name[13]) {
313                                                         case 'e':
314                                                             switch (name[14]) {
315                                                             case 'x':
316                                                                 switch (name[15]) {
317                                                                 case 't':
318                                                                     switch (name[16]) {
319                                                                     case '\0':
320                                                                         // wglCreateContext
321                                                                         retrace_wglCreateContext(call);
322                                                                         return;
323                                                                         break;
324                                                                     case 'A':
325                                                                         if (name[17] == 't' && name[18] == 't' && name[19] == 'r' && name[20] == 'i' && name[21] == 'b' && name[22] == 's' && name[23] == 'A' && name[24] == 'R' && name[25] == 'B' && name[26] == '\0') {
326                                                                             // wglCreateContextAttribsARB
327                                                                             retrace_wglCreateContextAttribsARB(call);
328                                                                             return;
329                                                                         }
330                                                                         break;
331                                                                     }
332                                                                     break;
333                                                                 }
334                                                                 break;
335                                                             }
336                                                             break;
337                                                         }
338                                                         break;
339                                                     }
340                                                     break;
341                                                 }
342                                                 break;
343                                             }
344                                             break;
345                                         case 'L':
346                                             if (name[10] == 'a' && name[11] == 'y' && name[12] == 'e' && name[13] == 'r' && name[14] == 'C' && name[15] == 'o' && name[16] == 'n' && name[17] == 't' && name[18] == 'e' && name[19] == 'x' && name[20] == 't' && name[21] == '\0') {
347                                                 // wglCreateLayerContext
348                                                 retrace_wglCreateLayerContext(call);
349                                                 return;
350                                             }
351                                             break;
352                                         case 'P':
353                                             if (name[10] == 'b' && name[11] == 'u' && name[12] == 'f' && name[13] == 'f' && name[14] == 'e' && name[15] == 'r' && name[16] == 'A' && name[17] == 'R' && name[18] == 'B' && name[19] == '\0') {
354                                                 // wglCreatePbufferARB
355                                                 retrace_wglCreatePbufferARB(call);
356                                                 return;
357                                             }
358                                             break;
359                                         }
360                                         break;
361                                     }
362                                     break;
363                                 }
364                                 break;
365                             }
366                             break;
367                         }
368                         break;
369                     }
370                     break;
371                 case 'D':
372                     switch (name[4]) {
373                     case 'e':
374                         switch (name[5]) {
375                         case 'l':
376                             switch (name[6]) {
377                             case 'e':
378                                 switch (name[7]) {
379                                 case 't':
380                                     switch (name[8]) {
381                                     case 'e':
382                                         switch (name[9]) {
383                                         case 'B':
384                                             if (name[10] == 'u' && name[11] == 'f' && name[12] == 'f' && name[13] == 'e' && name[14] == 'r' && name[15] == 'R' && name[16] == 'e' && name[17] == 'g' && name[18] == 'i' && name[19] == 'o' && name[20] == 'n' && name[21] == 'A' && name[22] == 'R' && name[23] == 'B' && name[24] == '\0') {
385                                                 // wglDeleteBufferRegionARB
386                                                 retrace_wglDeleteBufferRegionARB(call);
387                                                 return;
388                                             }
389                                             break;
390                                         case 'C':
391                                             if (name[10] == 'o' && name[11] == 'n' && name[12] == 't' && name[13] == 'e' && name[14] == 'x' && name[15] == 't' && name[16] == '\0') {
392                                                 // wglDeleteContext
393                                                 retrace_wglDeleteContext(call);
394                                                 return;
395                                             }
396                                             break;
397                                         }
398                                         break;
399                                     }
400                                     break;
401                                 }
402                                 break;
403                             }
404                             break;
405                         case 's':
406                             switch (name[6]) {
407                             case 'c':
408                                 switch (name[7]) {
409                                 case 'r':
410                                     switch (name[8]) {
411                                     case 'i':
412                                         switch (name[9]) {
413                                         case 'b':
414                                             switch (name[10]) {
415                                             case 'e':
416                                                 switch (name[11]) {
417                                                 case 'L':
418                                                     if (name[12] == 'a' && name[13] == 'y' && name[14] == 'e' && name[15] == 'r' && name[16] == 'P' && name[17] == 'l' && name[18] == 'a' && name[19] == 'n' && name[20] == 'e' && name[21] == '\0') {
419                                                         // wglDescribeLayerPlane
420                                                         retrace_wglDescribeLayerPlane(call);
421                                                         return;
422                                                     }
423                                                     break;
424                                                 case 'P':
425                                                     if (name[12] == 'i' && name[13] == 'x' && name[14] == 'e' && name[15] == 'l' && name[16] == 'F' && name[17] == 'o' && name[18] == 'r' && name[19] == 'm' && name[20] == 'a' && name[21] == 't' && name[22] == '\0') {
426                                                         // wglDescribePixelFormat
427                                                         retrace_wglDescribePixelFormat(call);
428                                                         return;
429                                                     }
430                                                     break;
431                                                 }
432                                                 break;
433                                             }
434                                             break;
435                                         }
436                                         break;
437                                     }
438                                     break;
439                                 }
440                                 break;
441                             case 't':
442                                 if (name[7] == 'r' && name[8] == 'o' && name[9] == 'y' && name[10] == 'P' && name[11] == 'b' && name[12] == 'u' && name[13] == 'f' && name[14] == 'f' && name[15] == 'e' && name[16] == 'r' && name[17] == 'A' && name[18] == 'R' && name[19] == 'B' && name[20] == '\0') {
443                                     // wglDestroyPbufferARB
444                                     retrace_wglDestroyPbufferARB(call);
445                                     return;
446                                 }
447                                 break;
448                             }
449                             break;
450                         }
451                         break;
452                     }
453                     break;
454                 case 'F':
455                     if (name[4] == 'r' && name[5] == 'e' && name[6] == 'e' && name[7] == 'M' && name[8] == 'e' && name[9] == 'm' && name[10] == 'o' && name[11] == 'r' && name[12] == 'y' && name[13] == 'N' && name[14] == 'V' && name[15] == '\0') {
456                         // wglFreeMemoryNV
457                         retrace_wglFreeMemoryNV(call);
458                         return;
459                     }
460                     break;
461                 case 'G':
462                     switch (name[4]) {
463                     case 'e':
464                         switch (name[5]) {
465                         case 't':
466                             switch (name[6]) {
467                             case 'C':
468                                 switch (name[7]) {
469                                 case 'u':
470                                     switch (name[8]) {
471                                     case 'r':
472                                         switch (name[9]) {
473                                         case 'r':
474                                             switch (name[10]) {
475                                             case 'e':
476                                                 switch (name[11]) {
477                                                 case 'n':
478                                                     switch (name[12]) {
479                                                     case 't':
480                                                         switch (name[13]) {
481                                                         case 'C':
482                                                             if (name[14] == 'o' && name[15] == 'n' && name[16] == 't' && name[17] == 'e' && name[18] == 'x' && name[19] == 't' && name[20] == '\0') {
483                                                                 // wglGetCurrentContext
484                                                                 return;
485                                                             }
486                                                             break;
487                                                         case 'D':
488                                                             if (name[14] == 'C' && name[15] == '\0') {
489                                                                 // wglGetCurrentDC
490                                                                 return;
491                                                             }
492                                                             break;
493                                                         case 'R':
494                                                             switch (name[14]) {
495                                                             case 'e':
496                                                                 switch (name[15]) {
497                                                                 case 'a':
498                                                                     switch (name[16]) {
499                                                                     case 'd':
500                                                                         switch (name[17]) {
501                                                                         case 'D':
502                                                                             switch (name[18]) {
503                                                                             case 'C':
504                                                                                 switch (name[19]) {
505                                                                                 case 'A':
506                                                                                     if (name[20] == 'R' && name[21] == 'B' && name[22] == '\0') {
507                                                                                         // wglGetCurrentReadDCARB
508                                                                                         return;
509                                                                                     }
510                                                                                     break;
511                                                                                 case 'E':
512                                                                                     if (name[20] == 'X' && name[21] == 'T' && name[22] == '\0') {
513                                                                                         // wglGetCurrentReadDCEXT
514                                                                                         return;
515                                                                                     }
516                                                                                     break;
517                                                                                 }
518                                                                                 break;
519                                                                             }
520                                                                             break;
521                                                                         }
522                                                                         break;
523                                                                     }
524                                                                     break;
525                                                                 }
526                                                                 break;
527                                                             }
528                                                             break;
529                                                         }
530                                                         break;
531                                                     }
532                                                     break;
533                                                 }
534                                                 break;
535                                             }
536                                             break;
537                                         }
538                                         break;
539                                     }
540                                     break;
541                                 }
542                                 break;
543                             case 'D':
544                                 if (name[7] == 'e' && name[8] == 'f' && name[9] == 'a' && name[10] == 'u' && name[11] == 'l' && name[12] == 't' && name[13] == 'P' && name[14] == 'r' && name[15] == 'o' && name[16] == 'c' && name[17] == 'A' && name[18] == 'd' && name[19] == 'd' && name[20] == 'r' && name[21] == 'e' && name[22] == 's' && name[23] == 's' && name[24] == '\0') {
545                                     // wglGetDefaultProcAddress
546                                     return;
547                                 }
548                                 break;
549                             case 'E':
550                                 switch (name[7]) {
551                                 case 'x':
552                                     switch (name[8]) {
553                                     case 't':
554                                         switch (name[9]) {
555                                         case 'e':
556                                             switch (name[10]) {
557                                             case 'n':
558                                                 switch (name[11]) {
559                                                 case 's':
560                                                     switch (name[12]) {
561                                                     case 'i':
562                                                         switch (name[13]) {
563                                                         case 'o':
564                                                             switch (name[14]) {
565                                                             case 'n':
566                                                                 switch (name[15]) {
567                                                                 case 's':
568                                                                     switch (name[16]) {
569                                                                     case 'S':
570                                                                         switch (name[17]) {
571                                                                         case 't':
572                                                                             switch (name[18]) {
573                                                                             case 'r':
574                                                                                 switch (name[19]) {
575                                                                                 case 'i':
576                                                                                     switch (name[20]) {
577                                                                                     case 'n':
578                                                                                         switch (name[21]) {
579                                                                                         case 'g':
580                                                                                             switch (name[22]) {
581                                                                                             case 'A':
582                                                                                                 if (name[23] == 'R' && name[24] == 'B' && name[25] == '\0') {
583                                                                                                     // wglGetExtensionsStringARB
584                                                                                                     return;
585                                                                                                 }
586                                                                                                 break;
587                                                                                             case 'E':
588                                                                                                 if (name[23] == 'X' && name[24] == 'T' && name[25] == '\0') {
589                                                                                                     // wglGetExtensionsStringEXT
590                                                                                                     return;
591                                                                                                 }
592                                                                                                 break;
593                                                                                             }
594                                                                                             break;
595                                                                                         }
596                                                                                         break;
597                                                                                     }
598                                                                                     break;
599                                                                                 }
600                                                                                 break;
601                                                                             }
602                                                                             break;
603                                                                         }
604                                                                         break;
605                                                                     }
606                                                                     break;
607                                                                 }
608                                                                 break;
609                                                             }
610                                                             break;
611                                                         }
612                                                         break;
613                                                     }
614                                                     break;
615                                                 }
616                                                 break;
617                                             }
618                                             break;
619                                         }
620                                         break;
621                                     }
622                                     break;
623                                 }
624                                 break;
625                             case 'L':
626                                 if (name[7] == 'a' && name[8] == 'y' && name[9] == 'e' && name[10] == 'r' && name[11] == 'P' && name[12] == 'a' && name[13] == 'l' && name[14] == 'e' && name[15] == 't' && name[16] == 't' && name[17] == 'e' && name[18] == 'E' && name[19] == 'n' && name[20] == 't' && name[21] == 'r' && name[22] == 'i' && name[23] == 'e' && name[24] == 's' && name[25] == '\0') {
627                                     // wglGetLayerPaletteEntries
628                                     return;
629                                 }
630                                 break;
631                             case 'P':
632                                 switch (name[7]) {
633                                 case 'b':
634                                     if (name[8] == 'u' && name[9] == 'f' && name[10] == 'f' && name[11] == 'e' && name[12] == 'r' && name[13] == 'D' && name[14] == 'C' && name[15] == 'A' && name[16] == 'R' && name[17] == 'B' && name[18] == '\0') {
635                                         // wglGetPbufferDCARB
636                                         return;
637                                     }
638                                     break;
639                                 case 'i':
640                                     switch (name[8]) {
641                                     case 'x':
642                                         switch (name[9]) {
643                                         case 'e':
644                                             switch (name[10]) {
645                                             case 'l':
646                                                 switch (name[11]) {
647                                                 case 'F':
648                                                     switch (name[12]) {
649                                                     case 'o':
650                                                         switch (name[13]) {
651                                                         case 'r':
652                                                             switch (name[14]) {
653                                                             case 'm':
654                                                                 switch (name[15]) {
655                                                                 case 'a':
656                                                                     switch (name[16]) {
657                                                                     case 't':
658                                                                         switch (name[17]) {
659                                                                         case '\0':
660                                                                             // wglGetPixelFormat
661                                                                             return;
662                                                                             break;
663                                                                         case 'A':
664                                                                             switch (name[18]) {
665                                                                             case 't':
666                                                                                 switch (name[19]) {
667                                                                                 case 't':
668                                                                                     switch (name[20]) {
669                                                                                     case 'r':
670                                                                                         switch (name[21]) {
671                                                                                         case 'i':
672                                                                                             switch (name[22]) {
673                                                                                             case 'b':
674                                                                                                 switch (name[23]) {
675                                                                                                 case 'f':
676                                                                                                     switch (name[24]) {
677                                                                                                     case 'v':
678                                                                                                         switch (name[25]) {
679                                                                                                         case 'A':
680                                                                                                             if (name[26] == 'R' && name[27] == 'B' && name[28] == '\0') {
681                                                                                                                 // wglGetPixelFormatAttribfvARB
682                                                                                                                 return;
683                                                                                                             }
684                                                                                                             break;
685                                                                                                         case 'E':
686                                                                                                             if (name[26] == 'X' && name[27] == 'T' && name[28] == '\0') {
687                                                                                                                 // wglGetPixelFormatAttribfvEXT
688                                                                                                                 return;
689                                                                                                             }
690                                                                                                             break;
691                                                                                                         }
692                                                                                                         break;
693                                                                                                     }
694                                                                                                     break;
695                                                                                                 case 'i':
696                                                                                                     switch (name[24]) {
697                                                                                                     case 'v':
698                                                                                                         switch (name[25]) {
699                                                                                                         case 'A':
700                                                                                                             if (name[26] == 'R' && name[27] == 'B' && name[28] == '\0') {
701                                                                                                                 // wglGetPixelFormatAttribivARB
702                                                                                                                 return;
703                                                                                                             }
704                                                                                                             break;
705                                                                                                         case 'E':
706                                                                                                             if (name[26] == 'X' && name[27] == 'T' && name[28] == '\0') {
707                                                                                                                 // wglGetPixelFormatAttribivEXT
708                                                                                                                 return;
709                                                                                                             }
710                                                                                                             break;
711                                                                                                         }
712                                                                                                         break;
713                                                                                                     }
714                                                                                                     break;
715                                                                                                 }
716                                                                                                 break;
717                                                                                             }
718                                                                                             break;
719                                                                                         }
720                                                                                         break;
721                                                                                     }
722                                                                                     break;
723                                                                                 }
724                                                                                 break;
725                                                                             }
726                                                                             break;
727                                                                         }
728                                                                         break;
729                                                                     }
730                                                                     break;
731                                                                 }
732                                                                 break;
733                                                             }
734                                                             break;
735                                                         }
736                                                         break;
737                                                     }
738                                                     break;
739                                                 }
740                                                 break;
741                                             }
742                                             break;
743                                         }
744                                         break;
745                                     }
746                                     break;
747                                 case 'r':
748                                     if (name[8] == 'o' && name[9] == 'c' && name[10] == 'A' && name[11] == 'd' && name[12] == 'd' && name[13] == 'r' && name[14] == 'e' && name[15] == 's' && name[16] == 's' && name[17] == '\0') {
749                                         // wglGetProcAddress
750                                         retrace_wglGetProcAddress(call);
751                                         return;
752                                     }
753                                     break;
754                                 }
755                                 break;
756                             case 'S':
757                                 if (name[7] == 'w' && name[8] == 'a' && name[9] == 'p' && name[10] == 'I' && name[11] == 'n' && name[12] == 't' && name[13] == 'e' && name[14] == 'r' && name[15] == 'v' && name[16] == 'a' && name[17] == 'l' && name[18] == 'E' && name[19] == 'X' && name[20] == 'T' && name[21] == '\0') {
758                                     // wglGetSwapIntervalEXT
759                                     return;
760                                 }
761                                 break;
762                             }
763                             break;
764                         }
765                         break;
766                     }
767                     break;
768                 case 'M':
769                     switch (name[4]) {
770                     case 'a':
771                         switch (name[5]) {
772                         case 'k':
773                             switch (name[6]) {
774                             case 'e':
775                                 switch (name[7]) {
776                                 case 'C':
777                                     switch (name[8]) {
778                                     case 'o':
779                                         switch (name[9]) {
780                                         case 'n':
781                                             switch (name[10]) {
782                                             case 't':
783                                                 switch (name[11]) {
784                                                 case 'e':
785                                                     switch (name[12]) {
786                                                     case 'x':
787                                                         switch (name[13]) {
788                                                         case 't':
789                                                             switch (name[14]) {
790                                                             case 'C':
791                                                                 switch (name[15]) {
792                                                                 case 'u':
793                                                                     switch (name[16]) {
794                                                                     case 'r':
795                                                                         switch (name[17]) {
796                                                                         case 'r':
797                                                                             switch (name[18]) {
798                                                                             case 'e':
799                                                                                 switch (name[19]) {
800                                                                                 case 'n':
801                                                                                     switch (name[20]) {
802                                                                                     case 't':
803                                                                                         switch (name[21]) {
804                                                                                         case 'A':
805                                                                                             if (name[22] == 'R' && name[23] == 'B' && name[24] == '\0') {
806                                                                                                 // wglMakeContextCurrentARB
807                                                                                                 retrace_wglMakeContextCurrentARB(call);
808                                                                                                 return;
809                                                                                             }
810                                                                                             break;
811                                                                                         case 'E':
812                                                                                             if (name[22] == 'X' && name[23] == 'T' && name[24] == '\0') {
813                                                                                                 // wglMakeContextCurrentEXT
814                                                                                                 retrace_wglMakeContextCurrentEXT(call);
815                                                                                                 return;
816                                                                                             }
817                                                                                             break;
818                                                                                         }
819                                                                                         break;
820                                                                                     }
821                                                                                     break;
822                                                                                 }
823                                                                                 break;
824                                                                             }
825                                                                             break;
826                                                                         }
827                                                                         break;
828                                                                     }
829                                                                     break;
830                                                                 }
831                                                                 break;
832                                                             }
833                                                             break;
834                                                         }
835                                                         break;
836                                                     }
837                                                     break;
838                                                 }
839                                                 break;
840                                             }
841                                             break;
842                                         }
843                                         break;
844                                     case 'u':
845                                         if (name[9] == 'r' && name[10] == 'r' && name[11] == 'e' && name[12] == 'n' && name[13] == 't' && name[14] == '\0') {
846                                             // wglMakeCurrent
847                                             retrace_wglMakeCurrent(call);
848                                             return;
849                                         }
850                                         break;
851                                     }
852                                     break;
853                                 }
854                                 break;
855                             }
856                             break;
857                         }
858                         break;
859                     }
860                     break;
861                 case 'Q':
862                     if (name[4] == 'u' && name[5] == 'e' && name[6] == 'r' && name[7] == 'y' && name[8] == 'P' && name[9] == 'b' && name[10] == 'u' && name[11] == 'f' && name[12] == 'f' && name[13] == 'e' && name[14] == 'r' && name[15] == 'A' && name[16] == 'R' && name[17] == 'B' && name[18] == '\0') {
863                         // wglQueryPbufferARB
864                         retrace_wglQueryPbufferARB(call);
865                         return;
866                     }
867                     break;
868                 case 'R':
869                     switch (name[4]) {
870                     case 'e':
871                         switch (name[5]) {
872                         case 'a':
873                             if (name[6] == 'l' && name[7] == 'i' && name[8] == 'z' && name[9] == 'e' && name[10] == 'L' && name[11] == 'a' && name[12] == 'y' && name[13] == 'e' && name[14] == 'r' && name[15] == 'P' && name[16] == 'a' && name[17] == 'l' && name[18] == 'e' && name[19] == 't' && name[20] == 't' && name[21] == 'e' && name[22] == '\0') {
874                                 // wglRealizeLayerPalette
875                                 retrace_wglRealizeLayerPalette(call);
876                                 return;
877                             }
878                             break;
879                         case 'l':
880                             switch (name[6]) {
881                             case 'e':
882                                 switch (name[7]) {
883                                 case 'a':
884                                     switch (name[8]) {
885                                     case 's':
886                                         switch (name[9]) {
887                                         case 'e':
888                                             switch (name[10]) {
889                                             case 'P':
890                                                 if (name[11] == 'b' && name[12] == 'u' && name[13] == 'f' && name[14] == 'f' && name[15] == 'e' && name[16] == 'r' && name[17] == 'D' && name[18] == 'C' && name[19] == 'A' && name[20] == 'R' && name[21] == 'B' && name[22] == '\0') {
891                                                     // wglReleasePbufferDCARB
892                                                     retrace_wglReleasePbufferDCARB(call);
893                                                     return;
894                                                 }
895                                                 break;
896                                             case 'T':
897                                                 if (name[11] == 'e' && name[12] == 'x' && name[13] == 'I' && name[14] == 'm' && name[15] == 'a' && name[16] == 'g' && name[17] == 'e' && name[18] == 'A' && name[19] == 'R' && name[20] == 'B' && name[21] == '\0') {
898                                                     // wglReleaseTexImageARB
899                                                     retrace_wglReleaseTexImageARB(call);
900                                                     return;
901                                                 }
902                                                 break;
903                                             }
904                                             break;
905                                         }
906                                         break;
907                                     }
908                                     break;
909                                 }
910                                 break;
911                             }
912                             break;
913                         case 's':
914                             if (name[6] == 't' && name[7] == 'o' && name[8] == 'r' && name[9] == 'e' && name[10] == 'B' && name[11] == 'u' && name[12] == 'f' && name[13] == 'f' && name[14] == 'e' && name[15] == 'r' && name[16] == 'R' && name[17] == 'e' && name[18] == 'g' && name[19] == 'i' && name[20] == 'o' && name[21] == 'n' && name[22] == 'A' && name[23] == 'R' && name[24] == 'B' && name[25] == '\0') {
915                                 // wglRestoreBufferRegionARB
916                                 retrace_wglRestoreBufferRegionARB(call);
917                                 return;
918                             }
919                             break;
920                         }
921                         break;
922                     }
923                     break;
924                 case 'S':
925                     switch (name[4]) {
926                     case 'a':
927                         if (name[5] == 'v' && name[6] == 'e' && name[7] == 'B' && name[8] == 'u' && name[9] == 'f' && name[10] == 'f' && name[11] == 'e' && name[12] == 'r' && name[13] == 'R' && name[14] == 'e' && name[15] == 'g' && name[16] == 'i' && name[17] == 'o' && name[18] == 'n' && name[19] == 'A' && name[20] == 'R' && name[21] == 'B' && name[22] == '\0') {
928                             // wglSaveBufferRegionARB
929                             retrace_wglSaveBufferRegionARB(call);
930                             return;
931                         }
932                         break;
933                     case 'e':
934                         switch (name[5]) {
935                         case 't':
936                             switch (name[6]) {
937                             case 'L':
938                                 if (name[7] == 'a' && name[8] == 'y' && name[9] == 'e' && name[10] == 'r' && name[11] == 'P' && name[12] == 'a' && name[13] == 'l' && name[14] == 'e' && name[15] == 't' && name[16] == 't' && name[17] == 'e' && name[18] == 'E' && name[19] == 'n' && name[20] == 't' && name[21] == 'r' && name[22] == 'i' && name[23] == 'e' && name[24] == 's' && name[25] == '\0') {
939                                     // wglSetLayerPaletteEntries
940                                     retrace_wglSetLayerPaletteEntries(call);
941                                     return;
942                                 }
943                                 break;
944                             case 'P':
945                                 switch (name[7]) {
946                                 case 'b':
947                                     if (name[8] == 'u' && name[9] == 'f' && name[10] == 'f' && name[11] == 'e' && name[12] == 'r' && name[13] == 'A' && name[14] == 't' && name[15] == 't' && name[16] == 'r' && name[17] == 'i' && name[18] == 'b' && name[19] == 'A' && name[20] == 'R' && name[21] == 'B' && name[22] == '\0') {
948                                         // wglSetPbufferAttribARB
949                                         retrace_wglSetPbufferAttribARB(call);
950                                         return;
951                                     }
952                                     break;
953                                 case 'i':
954                                     if (name[8] == 'x' && name[9] == 'e' && name[10] == 'l' && name[11] == 'F' && name[12] == 'o' && name[13] == 'r' && name[14] == 'm' && name[15] == 'a' && name[16] == 't' && name[17] == '\0') {
955                                         // wglSetPixelFormat
956                                         retrace_wglSetPixelFormat(call);
957                                         return;
958                                     }
959                                     break;
960                                 }
961                                 break;
962                             }
963                             break;
964                         }
965                         break;
966                     case 'h':
967                         if (name[5] == 'a' && name[6] == 'r' && name[7] == 'e' && name[8] == 'L' && name[9] == 'i' && name[10] == 's' && name[11] == 't' && name[12] == 's' && name[13] == '\0') {
968                             // wglShareLists
969                             retrace_wglShareLists(call);
970                             return;
971                         }
972                         break;
973                     case 'w':
974                         switch (name[5]) {
975                         case 'a':
976                             switch (name[6]) {
977                             case 'p':
978                                 switch (name[7]) {
979                                 case 'B':
980                                     if (name[8] == 'u' && name[9] == 'f' && name[10] == 'f' && name[11] == 'e' && name[12] == 'r' && name[13] == 's' && name[14] == '\0') {
981                                         // wglSwapBuffers
982                                         retrace_wglSwapBuffers(call);
983                                         return;
984                                     }
985                                     break;
986                                 case 'I':
987                                     if (name[8] == 'n' && name[9] == 't' && name[10] == 'e' && name[11] == 'r' && name[12] == 'v' && name[13] == 'a' && name[14] == 'l' && name[15] == 'E' && name[16] == 'X' && name[17] == 'T' && name[18] == '\0') {
988                                         // wglSwapIntervalEXT
989                                         retrace_wglSwapIntervalEXT(call);
990                                         return;
991                                     }
992                                     break;
993                                 case 'L':
994                                     if (name[8] == 'a' && name[9] == 'y' && name[10] == 'e' && name[11] == 'r' && name[12] == 'B' && name[13] == 'u' && name[14] == 'f' && name[15] == 'f' && name[16] == 'e' && name[17] == 'r' && name[18] == 's' && name[19] == '\0') {
995                                         // wglSwapLayerBuffers
996                                         retrace_wglSwapLayerBuffers(call);
997                                         return;
998                                     }
999                                     break;
1000                                 case 'M':
1001                                     if (name[8] == 'u' && name[9] == 'l' && name[10] == 't' && name[11] == 'i' && name[12] == 'p' && name[13] == 'l' && name[14] == 'e' && name[15] == 'B' && name[16] == 'u' && name[17] == 'f' && name[18] == 'f' && name[19] == 'e' && name[20] == 'r' && name[21] == 's' && name[22] == '\0') {
1002                                         // wglSwapMultipleBuffers
1003                                         retrace_wglSwapMultipleBuffers(call);
1004                                         return;
1005                                     }
1006                                     break;
1007                                 }
1008                                 break;
1009                             }
1010                             break;
1011                         }
1012                         break;
1013                     }
1014                     break;
1015                 case 'U':
1016                     switch (name[4]) {
1017                     case 's':
1018                         switch (name[5]) {
1019                         case 'e':
1020                             switch (name[6]) {
1021                             case 'F':
1022                                 switch (name[7]) {
1023                                 case 'o':
1024                                     switch (name[8]) {
1025                                     case 'n':
1026                                         switch (name[9]) {
1027                                         case 't':
1028                                             switch (name[10]) {
1029                                             case 'B':
1030                                                 switch (name[11]) {
1031                                                 case 'i':
1032                                                     switch (name[12]) {
1033                                                     case 't':
1034                                                         switch (name[13]) {
1035                                                         case 'm':
1036                                                             switch (name[14]) {
1037                                                             case 'a':
1038                                                                 switch (name[15]) {
1039                                                                 case 'p':
1040                                                                     switch (name[16]) {
1041                                                                     case 's':
1042                                                                         switch (name[17]) {
1043                                                                         case 'A':
1044                                                                             if (name[18] == '\0') {
1045                                                                                 // wglUseFontBitmapsA
1046                                                                                 retrace_wglUseFontBitmapsA(call);
1047                                                                                 return;
1048                                                                             }
1049                                                                             break;
1050                                                                         case 'W':
1051                                                                             if (name[18] == '\0') {
1052                                                                                 // wglUseFontBitmapsW
1053                                                                                 retrace_wglUseFontBitmapsW(call);
1054                                                                                 return;
1055                                                                             }
1056                                                                             break;
1057                                                                         }
1058                                                                         break;
1059                                                                     }
1060                                                                     break;
1061                                                                 }
1062                                                                 break;
1063                                                             }
1064                                                             break;
1065                                                         }
1066                                                         break;
1067                                                     }
1068                                                     break;
1069                                                 }
1070                                                 break;
1071                                             case 'O':
1072                                                 switch (name[11]) {
1073                                                 case 'u':
1074                                                     switch (name[12]) {
1075                                                     case 't':
1076                                                         switch (name[13]) {
1077                                                         case 'l':
1078                                                             switch (name[14]) {
1079                                                             case 'i':
1080                                                                 switch (name[15]) {
1081                                                                 case 'n':
1082                                                                     switch (name[16]) {
1083                                                                     case 'e':
1084                                                                         switch (name[17]) {
1085                                                                         case 's':
1086                                                                             switch (name[18]) {
1087                                                                             case 'A':
1088                                                                                 if (name[19] == '\0') {
1089                                                                                     // wglUseFontOutlinesA
1090                                                                                     retrace_wglUseFontOutlinesA(call);
1091                                                                                     return;
1092                                                                                 }
1093                                                                                 break;
1094                                                                             case 'W':
1095                                                                                 if (name[19] == '\0') {
1096                                                                                     // wglUseFontOutlinesW
1097                                                                                     retrace_wglUseFontOutlinesW(call);
1098                                                                                     return;
1099                                                                                 }
1100                                                                                 break;
1101                                                                             }
1102                                                                             break;
1103                                                                         }
1104                                                                         break;
1105                                                                     }
1106                                                                     break;
1107                                                                 }
1108                                                                 break;
1109                                                             }
1110                                                             break;
1111                                                         }
1112                                                         break;
1113                                                     }
1114                                                     break;
1115                                                 }
1116                                                 break;
1117                                             }
1118                                             break;
1119                                         }
1120                                         break;
1121                                     }
1122                                     break;
1123                                 }
1124                                 break;
1125                             }
1126                             break;
1127                         }
1128                         break;
1129                     }
1130                     break;
1131                 }
1132                 break;
1133             }
1134             break;
1135         }
1136         break;
1137     }
1138     retrace::retrace_unknown(call);
1139 }
1140