Fix build error for 64-bit/32-bit
[platform/core/uifw/coregl.git] / src / modules / coregl_tracepath_gl.c
1 #include "coregl_tracepath.h"
2
3
4 #include <stdlib.h>
5 #include <stdio.h>
6 #include <inttypes.h>
7
8 struct _Glbuf_Data {
9         int obj_idx;
10         int width;
11         int height;
12         int bpp;
13         char format[80];
14
15         struct _Glbuf_Data *next;
16 };
17
18 static char *_get_value(EGLint key)
19 {
20         switch(key) {
21                 case 0x0000: return "GL_POINTS";
22                 case 0x0001: return "GL_LINES";
23                 case 0x0002: return "GL_LINE_LOOP";
24                 case 0x0003: return "GL_LINE_STRIP";
25                 case 0x0004: return "GL_TRIANGLES";
26                 case 0x0005: return "GL_TRIANGLE_STRIP";
27                 case 0x0006: return "GL_TRIANGLE_FAN";
28                 case 0x0007: return "GL_QUADS";
29                 case 0x0008: return "GL_QUAD_STRIP";
30                 case 0x0009: return "GL_POLYGON";
31                 case 0x000a: return "GL_LINES_ADJACENCY";
32                 case 0x000b: return "GL_LINE_STRIP_ADJACENCY";
33                 case 0x000c: return "GL_TRIANGLES_ADJACENCY";
34                 case 0x000d: return "GL_TRIANGLE_STRIP_ADJACENCY";
35                 case 0x000e: return "GL_PATCHES";
36                 case 0x0100: return "GL_ACCUM";
37                 case 0x0101: return "GL_LOAD";
38                 case 0x0102: return "GL_RETURN";
39                 case 0x0103: return "GL_MULT";
40                 case 0x0104: return "GL_ADD";
41                 case 0x0200: return "GL_NEVER";
42                 case 0x0201: return "GL_LESS";
43                 case 0x0202: return "GL_EQUAL";
44                 case 0x0203: return "GL_LEQUAL";
45                 case 0x0204: return "GL_GREATER";
46                 case 0x0205: return "GL_NOTEQUAL";
47                 case 0x0206: return "GL_GEQUAL";
48                 case 0x0207: return "GL_ALWAYS";
49                 case 0x0300: return "GL_SRC_COLOR";
50                 case 0x0301: return "GL_ONE_MINUS_SRC_COLOR";
51                 case 0x0302: return "GL_SRC_ALPHA";
52                 case 0x0303: return "GL_ONE_MINUS_SRC_ALPHA";
53                 case 0x0304: return "GL_DST_ALPHA";
54                 case 0x0305: return "GL_ONE_MINUS_DST_ALPHA";
55                 case 0x0306: return "GL_DST_COLOR";
56                 case 0x0307: return "GL_ONE_MINUS_DST_COLOR";
57                 case 0x0308: return "GL_SRC_ALPHA_SATURATE";
58                 case 0x0400: return "GL_FRONT_LEFT";
59                 case 0x0401: return "GL_FRONT_RIGHT";
60                 case 0x0402: return "GL_BACK_LEFT";
61                 case 0x0403: return "GL_BACK_RIGHT";
62                 case 0x0404: return "GL_FRONT";
63                 case 0x0405: return "GL_BACK";
64                 case 0x0406: return "GL_LEFT";
65                 case 0x0407: return "GL_RIGHT";
66                 case 0x0408: return "GL_FRONT_AND_BACK";
67                 case 0x0409: return "GL_AUX0";
68                 case 0x040a: return "GL_AUX1";
69                 case 0x040b: return "GL_AUX2";
70                 case 0x040c: return "GL_AUX3";
71                 case 0x0500: return "GL_INVALID_ENUM";
72                 case 0x0501: return "GL_INVALID_VALUE";
73                 case 0x0502: return "GL_INVALID_OPERATION";
74                 case 0x0503: return "GL_STACK_OVERFLOW";
75                 case 0x0504: return "GL_STACK_UNDERFLOW";
76                 case 0x0505: return "GL_OUT_OF_MEMORY";
77                 case 0x0506: return "GL_INVALID_FRAMEBUFFER_OPERATION";
78                 case 0x0507: return "GL_CONTEXT_LOST";
79                 case 0x0600: return "GL_2D";
80                 case 0x0601: return "GL_3D";
81                 case 0x0602: return "GL_3D_COLOR";
82                 case 0x0603: return "GL_3D_COLOR_TEXTURE";
83                 case 0x0604: return "GL_4D_COLOR_TEXTURE";
84                 case 0x0700: return "GL_PASS_THROUGH_TOKEN";
85                 case 0x0701: return "GL_POINT_TOKEN";
86                 case 0x0702: return "GL_LINE_TOKEN";
87                 case 0x0703: return "GL_POLYGON_TOKEN";
88                 case 0x0704: return "GL_BITMAP_TOKEN";
89                 case 0x0705: return "GL_DRAW_PIXEL_TOKEN";
90                 case 0x0706: return "GL_COPY_PIXEL_TOKEN";
91                 case 0x0707: return "GL_LINE_RESET_TOKEN";
92                 case 0x0800: return "GL_EXP";
93                 case 0x0801: return "GL_EXP2";
94                 case 0x0900: return "GL_CW";
95                 case 0x0901: return "GL_CCW";
96                 case 0x0a00: return "GL_COEFF";
97                 case 0x0a01: return "GL_ORDER";
98                 case 0x0a02: return "GL_DOMAIN";
99                 case 0x0b00: return "GL_CURRENT_COLOR";
100                 case 0x0b01: return "GL_CURRENT_INDEX";
101                 case 0x0b02: return "GL_CURRENT_NORMAL";
102                 case 0x0b03: return "GL_CURRENT_TEXTURE_COORDS";
103                 case 0x0b04: return "GL_CURRENT_RASTER_COLOR";
104                 case 0x0b05: return "GL_CURRENT_RASTER_INDEX";
105                 case 0x0b06: return "GL_CURRENT_RASTER_TEXTURE_COORDS";
106                 case 0x0b07: return "GL_CURRENT_RASTER_POSITION";
107                 case 0x0b08: return "GL_CURRENT_RASTER_POSITION_VALID";
108                 case 0x0b09: return "GL_CURRENT_RASTER_DISTANCE";
109                 case 0x0b10: return "GL_POINT_SMOOTH";
110                 case 0x0b11: return "GL_POINT_SIZE";
111                 case 0x0b12: return "GL_POINT_SIZE_RANGE";
112                 case 0x0b13: return "GL_POINT_SIZE_GRANULARITY";
113                 case 0x0b20: return "GL_LINE_SMOOTH";
114                 case 0x0b21: return "GL_LINE_WIDTH";
115                 case 0x0b22: return "GL_LINE_WIDTH_RANGE";
116                 case 0x0b23: return "GL_LINE_WIDTH_GRANULARITY";
117                 case 0x0b24: return "GL_LINE_STIPPLE";
118                 case 0x0b25: return "GL_LINE_STIPPLE_PATTERN";
119                 case 0x0b26: return "GL_LINE_STIPPLE_REPEAT";
120                 case 0x0b30: return "GL_LIST_MODE";
121                 case 0x0b31: return "GL_MAX_LIST_NESTING";
122                 case 0x0b32: return "GL_LIST_BASE";
123                 case 0x0b33: return "GL_LIST_INDEX";
124                 case 0x0b40: return "GL_POLYGON_MODE";
125                 case 0x0b41: return "GL_POLYGON_SMOOTH";
126                 case 0x0b42: return "GL_POLYGON_STIPPLE";
127                 case 0x0b43: return "GL_EDGE_FLAG";
128                 case 0x0b44: return "GL_CULL_FACE";
129                 case 0x0b45: return "GL_CULL_FACE_MODE";
130                 case 0x0b46: return "GL_FRONT_FACE";
131                 case 0x0b50: return "GL_LIGHTING";
132                 case 0x0b51: return "GL_LIGHT_MODEL_LOCAL_VIEWER";
133                 case 0x0b52: return "GL_LIGHT_MODEL_TWO_SIDE";
134                 case 0x0b53: return "GL_LIGHT_MODEL_AMBIENT";
135                 case 0x0b54: return "GL_SHADE_MODEL";
136                 case 0x0b55: return "GL_COLOR_MATERIAL_FACE";
137                 case 0x0b56: return "GL_COLOR_MATERIAL_PARAMETER";
138                 case 0x0b57: return "GL_COLOR_MATERIAL";
139                 case 0x0b60: return "GL_FOG";
140                 case 0x0b61: return "GL_FOG_INDEX";
141                 case 0x0b62: return "GL_FOG_DENSITY";
142                 case 0x0b63: return "GL_FOG_START";
143                 case 0x0b64: return "GL_FOG_END";
144                 case 0x0b65: return "GL_FOG_MODE";
145                 case 0x0b66: return "GL_FOG_COLOR";
146                 case 0x0b70: return "GL_DEPTH_RANGE";
147                 case 0x0b71: return "GL_DEPTH_TEST";
148                 case 0x0b72: return "GL_DEPTH_WRITEMASK";
149                 case 0x0b73: return "GL_DEPTH_CLEAR_VALUE";
150                 case 0x0b74: return "GL_DEPTH_FUNC";
151                 case 0x0b80: return "GL_ACCUM_CLEAR_VALUE";
152                 case 0x0b90: return "GL_STENCIL_TEST";
153                 case 0x0b91: return "GL_STENCIL_CLEAR_VALUE";
154                 case 0x0b92: return "GL_STENCIL_FUNC";
155                 case 0x0b93: return "GL_STENCIL_VALUE_MASK";
156                 case 0x0b94: return "GL_STENCIL_FAIL";
157                 case 0x0b95: return "GL_STENCIL_PASS_DEPTH_FAIL";
158                 case 0x0b96: return "GL_STENCIL_PASS_DEPTH_PASS";
159                 case 0x0b97: return "GL_STENCIL_REF";
160                 case 0x0b98: return "GL_STENCIL_WRITEMASK";
161                 case 0x0ba0: return "GL_MATRIX_MODE";
162                 case 0x0ba1: return "GL_NORMALIZE";
163                 case 0x0ba2: return "GL_VIEWPORT";
164                 case 0x0ba3: return "GL_MODELVIEW_STACK_DEPTH";
165                 case 0x0ba4: return "GL_PROJECTION_STACK_DEPTH";
166                 case 0x0ba5: return "GL_TEXTURE_STACK_DEPTH";
167                 case 0x0ba6: return "GL_MODELVIEW_MATRIX";
168                 case 0x0ba7: return "GL_PROJECTION_MATRIX";
169                 case 0x0ba8: return "GL_TEXTURE_MATRIX";
170                 case 0x0bb0: return "GL_ATTRIB_STACK_DEPTH";
171                 case 0x0bb1: return "GL_CLIENT_ATTRIB_STACK_DEPTH";
172                 case 0x0bc0: return "GL_ALPHA_TEST";
173                 case 0x0bc1: return "GL_ALPHA_TEST_FUNC";
174                 case 0x0bc2: return "GL_ALPHA_TEST_REF";
175                 case 0x0bd0: return "GL_DITHER";
176                 case 0x0be0: return "GL_BLEND_DST";
177                 case 0x0be1: return "GL_BLEND_SRC";
178                 case 0x0be2: return "GL_BLEND";
179                 case 0x0bf0: return "GL_LOGIC_OP_MODE";
180                 case 0x0bf1: return "GL_INDEX_LOGIC_OP";
181                 case 0x0bf2: return "GL_COLOR_LOGIC_OP";
182                 case 0x0c00: return "GL_AUX_BUFFERS";
183                 case 0x0c01: return "GL_DRAW_BUFFER";
184                 case 0x0c02: return "GL_READ_BUFFER";
185                 case 0x0c10: return "GL_SCISSOR_BOX";
186                 case 0x0c11: return "GL_SCISSOR_TEST";
187                 case 0x0c20: return "GL_INDEX_CLEAR_VALUE";
188                 case 0x0c21: return "GL_INDEX_WRITEMASK";
189                 case 0x0c22: return "GL_COLOR_CLEAR_VALUE";
190                 case 0x0c23: return "GL_COLOR_WRITEMASK";
191                 case 0x0c30: return "GL_INDEX_MODE";
192                 case 0x0c31: return "GL_RGBA_MODE";
193                 case 0x0c32: return "GL_DOUBLEBUFFER";
194                 case 0x0c33: return "GL_STEREO";
195                 case 0x0c40: return "GL_RENDER_MODE";
196                 case 0x0c50: return "GL_PERSPECTIVE_CORRECTION_HINT";
197                 case 0x0c51: return "GL_POINT_SMOOTH_HINT";
198                 case 0x0c52: return "GL_LINE_SMOOTH_HINT";
199                 case 0x0c53: return "GL_POLYGON_SMOOTH_HINT";
200                 case 0x0c54: return "GL_FOG_HINT";
201                 case 0x0c60: return "GL_TEXTURE_GEN_S";
202                 case 0x0c61: return "GL_TEXTURE_GEN_T";
203                 case 0x0c62: return "GL_TEXTURE_GEN_R";
204                 case 0x0c63: return "GL_TEXTURE_GEN_Q";
205                 case 0x0c70: return "GL_PIXEL_MAP_I_TO_I";
206                 case 0x0c71: return "GL_PIXEL_MAP_S_TO_S";
207                 case 0x0c72: return "GL_PIXEL_MAP_I_TO_R";
208                 case 0x0c73: return "GL_PIXEL_MAP_I_TO_G";
209                 case 0x0c74: return "GL_PIXEL_MAP_I_TO_B";
210                 case 0x0c75: return "GL_PIXEL_MAP_I_TO_A";
211                 case 0x0c76: return "GL_PIXEL_MAP_R_TO_R";
212                 case 0x0c77: return "GL_PIXEL_MAP_G_TO_G";
213                 case 0x0c78: return "GL_PIXEL_MAP_B_TO_B";
214                 case 0x0c79: return "GL_PIXEL_MAP_A_TO_A";
215                 case 0x0cb0: return "GL_PIXEL_MAP_I_TO_I_SIZE";
216                 case 0x0cb1: return "GL_PIXEL_MAP_S_TO_S_SIZE";
217                 case 0x0cb2: return "GL_PIXEL_MAP_I_TO_R_SIZE";
218                 case 0x0cb3: return "GL_PIXEL_MAP_I_TO_G_SIZE";
219                 case 0x0cb4: return "GL_PIXEL_MAP_I_TO_B_SIZE";
220                 case 0x0cb5: return "GL_PIXEL_MAP_I_TO_A_SIZE";
221                 case 0x0cb6: return "GL_PIXEL_MAP_R_TO_R_SIZE";
222                 case 0x0cb7: return "GL_PIXEL_MAP_G_TO_G_SIZE";
223                 case 0x0cb8: return "GL_PIXEL_MAP_B_TO_B_SIZE";
224                 case 0x0cb9: return "GL_PIXEL_MAP_A_TO_A_SIZE";
225                 case 0x0cf0: return "GL_UNPACK_SWAP_BYTES";
226                 case 0x0cf1: return "GL_UNPACK_LSB_FIRST";
227                 case 0x0cf2: return "GL_UNPACK_ROW_LENGTH";
228                 case 0x0cf3: return "GL_UNPACK_SKIP_ROWS";
229                 case 0x0cf4: return "GL_UNPACK_SKIP_PIXELS";
230                 case 0x0cf5: return "GL_UNPACK_ALIGNMENT";
231                 case 0x0d00: return "GL_PACK_SWAP_BYTES";
232                 case 0x0d01: return "GL_PACK_LSB_FIRST";
233                 case 0x0d02: return "GL_PACK_ROW_LENGTH";
234                 case 0x0d03: return "GL_PACK_SKIP_ROWS";
235                 case 0x0d04: return "GL_PACK_SKIP_PIXELS";
236                 case 0x0d05: return "GL_PACK_ALIGNMENT";
237                 case 0x0d10: return "GL_MAP_COLOR";
238                 case 0x0d11: return "GL_MAP_STENCIL";
239                 case 0x0d12: return "GL_INDEX_SHIFT";
240                 case 0x0d13: return "GL_INDEX_OFFSET";
241                 case 0x0d14: return "GL_RED_SCALE";
242                 case 0x0d15: return "GL_RED_BIAS";
243                 case 0x0d16: return "GL_ZOOM_X";
244                 case 0x0d17: return "GL_ZOOM_Y";
245                 case 0x0d18: return "GL_GREEN_SCALE";
246                 case 0x0d19: return "GL_GREEN_BIAS";
247                 case 0x0d1a: return "GL_BLUE_SCALE";
248                 case 0x0d1b: return "GL_BLUE_BIAS";
249                 case 0x0d1c: return "GL_ALPHA_SCALE";
250                 case 0x0d1d: return "GL_ALPHA_BIAS";
251                 case 0x0d1e: return "GL_DEPTH_SCALE";
252                 case 0x0d1f: return "GL_DEPTH_BIAS";
253                 case 0x0d30: return "GL_MAX_EVAL_ORDER";
254                 case 0x0d31: return "GL_MAX_LIGHTS";
255                 case 0x0d32: return "GL_MAX_CLIP_PLANES";
256                 case 0x0d33: return "GL_MAX_TEXTURE_SIZE";
257                 case 0x0d34: return "GL_MAX_PIXEL_MAP_TABLE";
258                 case 0x0d35: return "GL_MAX_ATTRIB_STACK_DEPTH";
259                 case 0x0d36: return "GL_MAX_MODELVIEW_STACK_DEPTH";
260                 case 0x0d37: return "GL_MAX_NAME_STACK_DEPTH";
261                 case 0x0d38: return "GL_MAX_PROJECTION_STACK_DEPTH";
262                 case 0x0d39: return "GL_MAX_TEXTURE_STACK_DEPTH";
263                 case 0x0d3a: return "GL_MAX_VIEWPORT_DIMS";
264                 case 0x0d3b: return "GL_MAX_CLIENT_ATTRIB_STACK_DEPTH";
265                 case 0x0d50: return "GL_SUBPIXEL_BITS";
266                 case 0x0d51: return "GL_INDEX_BITS";
267                 case 0x0d52: return "GL_RED_BITS";
268                 case 0x0d53: return "GL_GREEN_BITS";
269                 case 0x0d54: return "GL_BLUE_BITS";
270                 case 0x0d55: return "GL_ALPHA_BITS";
271                 case 0x0d56: return "GL_DEPTH_BITS";
272                 case 0x0d57: return "GL_STENCIL_BITS";
273                 case 0x0d58: return "GL_ACCUM_RED_BITS";
274                 case 0x0d59: return "GL_ACCUM_GREEN_BITS";
275                 case 0x0d5a: return "GL_ACCUM_BLUE_BITS";
276                 case 0x0d5b: return "GL_ACCUM_ALPHA_BITS";
277                 case 0x0d70: return "GL_NAME_STACK_DEPTH";
278                 case 0x0d80: return "GL_AUTO_NORMAL";
279                 case 0x0d90: return "GL_MAP1_COLOR_4";
280                 case 0x0d91: return "GL_MAP1_INDEX";
281                 case 0x0d92: return "GL_MAP1_NORMAL";
282                 case 0x0d93: return "GL_MAP1_TEXTURE_COORD_1";
283                 case 0x0d94: return "GL_MAP1_TEXTURE_COORD_2";
284                 case 0x0d95: return "GL_MAP1_TEXTURE_COORD_3";
285                 case 0x0d96: return "GL_MAP1_TEXTURE_COORD_4";
286                 case 0x0d97: return "GL_MAP1_VERTEX_3";
287                 case 0x0d98: return "GL_MAP1_VERTEX_4";
288                 case 0x0db0: return "GL_MAP2_COLOR_4";
289                 case 0x0db1: return "GL_MAP2_INDEX";
290                 case 0x0db2: return "GL_MAP2_NORMAL";
291                 case 0x0db3: return "GL_MAP2_TEXTURE_COORD_1";
292                 case 0x0db4: return "GL_MAP2_TEXTURE_COORD_2";
293                 case 0x0db5: return "GL_MAP2_TEXTURE_COORD_3";
294                 case 0x0db6: return "GL_MAP2_TEXTURE_COORD_4";
295                 case 0x0db7: return "GL_MAP2_VERTEX_3";
296                 case 0x0db8: return "GL_MAP2_VERTEX_4";
297                 case 0x0dd0: return "GL_MAP1_GRID_DOMAIN";
298                 case 0x0dd1: return "GL_MAP1_GRID_SEGMENTS";
299                 case 0x0dd2: return "GL_MAP2_GRID_DOMAIN";
300                 case 0x0dd3: return "GL_MAP2_GRID_SEGMENTS";
301                 case 0x0de0: return "GL_TEXTURE_1D";
302                 case 0x0de1: return "GL_TEXTURE_2D";
303                 case 0x0df0: return "GL_FEEDBACK_BUFFER_POINTER";
304                 case 0x0df1: return "GL_FEEDBACK_BUFFER_SIZE";
305                 case 0x0df2: return "GL_FEEDBACK_BUFFER_TYPE";
306                 case 0x0df3: return "GL_SELECTION_BUFFER_POINTER";
307                 case 0x0df4: return "GL_SELECTION_BUFFER_SIZE";
308                 case 0x1000: return "GL_TEXTURE_WIDTH";
309                 case 0x1001: return "GL_TEXTURE_HEIGHT";
310                 case 0x1003: return "GL_TEXTURE_INTERNAL_FORMAT";
311                 case 0x1004: return "GL_TEXTURE_BORDER_COLOR";
312                 case 0x1005: return "GL_TEXTURE_BORDER";
313                 case 0x1006: return "GL_TEXTURE_TARGET";
314                 case 0x1100: return "GL_DONT_CARE";
315                 case 0x1101: return "GL_FASTEST";
316                 case 0x1102: return "GL_NICEST";
317                 case 0x1200: return "GL_AMBIENT";
318                 case 0x1201: return "GL_DIFFUSE";
319                 case 0x1202: return "GL_SPECULAR";
320                 case 0x1203: return "GL_POSITION";
321                 case 0x1204: return "GL_SPOT_DIRECTION";
322                 case 0x1205: return "GL_SPOT_EXPONENT";
323                 case 0x1206: return "GL_SPOT_CUTOFF";
324                 case 0x1207: return "GL_CONSTANT_ATTENUATION";
325                 case 0x1208: return "GL_LINEAR_ATTENUATION";
326                 case 0x1209: return "GL_QUADRATIC_ATTENUATION";
327                 case 0x1300: return "GL_COMPILE";
328                 case 0x1301: return "GL_COMPILE_AND_EXECUTE";
329                 case 0x1400: return "GL_BYTE";
330                 case 0x1401: return "GL_UNSIGNED_BYTE";
331                 case 0x1402: return "GL_SHORT";
332                 case 0x1403: return "GL_UNSIGNED_SHORT";
333                 case 0x1404: return "GL_INT";
334                 case 0x1405: return "GL_UNSIGNED_INT";
335                 case 0x1406: return "GL_FLOAT";
336                 case 0x1407: return "GL_2_BYTES";
337                 case 0x1408: return "GL_3_BYTES";
338                 case 0x1409: return "GL_4_BYTES";
339                 case 0x140a: return "GL_DOUBLE";
340                 case 0x140b: return "GL_HALF_FLOAT";
341                 case 0x140c: return "GL_FIXED";
342                 case 0x140e: return "GL_INT64_ARB";
343                 case 0x140f: return "GL_UNSIGNED_INT64_ARB";
344                 case 0x1500: return "GL_CLEAR";
345                 case 0x1501: return "GL_AND";
346                 case 0x1502: return "GL_AND_REVERSE";
347                 case 0x1503: return "GL_COPY";
348                 case 0x1504: return "GL_AND_INVERTED";
349                 case 0x1505: return "GL_NOOP";
350                 case 0x1506: return "GL_XOR";
351                 case 0x1507: return "GL_OR";
352                 case 0x1508: return "GL_NOR";
353                 case 0x1509: return "GL_EQUIV";
354                 case 0x150a: return "GL_INVERT";
355                 case 0x150b: return "GL_OR_REVERSE";
356                 case 0x150c: return "GL_COPY_INVERTED";
357                 case 0x150d: return "GL_OR_INVERTED";
358                 case 0x150e: return "GL_NAND";
359                 case 0x150f: return "GL_SET";
360                 case 0x1600: return "GL_EMISSION";
361                 case 0x1601: return "GL_SHININESS";
362                 case 0x1602: return "GL_AMBIENT_AND_DIFFUSE";
363                 case 0x1603: return "GL_COLOR_INDEXES";
364                 case 0x1700: return "GL_MODELVIEW";
365                 case 0x1701: return "GL_PROJECTION";
366                 case 0x1702: return "GL_TEXTURE";
367                 case 0x1800: return "GL_COLOR";
368                 case 0x1801: return "GL_DEPTH";
369                 case 0x1802: return "GL_STENCIL";
370                 case 0x1900: return "GL_COLOR_INDEX";
371                 case 0x1901: return "GL_STENCIL_INDEX";
372                 case 0x1902: return "GL_DEPTH_COMPONENT";
373                 case 0x1903: return "GL_RED";
374                 case 0x1904: return "GL_GREEN";
375                 case 0x1905: return "GL_BLUE";
376                 case 0x1906: return "GL_ALPHA";
377                 case 0x1907: return "GL_RGB";
378                 case 0x1908: return "GL_RGBA";
379                 case 0x1909: return "GL_LUMINANCE";
380                 case 0x190a: return "GL_LUMINANCE_ALPHA";
381                 case 0x1a00: return "GL_BITMAP";
382                 case 0x1b00: return "GL_POINT";
383                 case 0x1b01: return "GL_LINE";
384                 case 0x1b02: return "GL_FILL";
385                 case 0x1c00: return "GL_RENDER";
386                 case 0x1c01: return "GL_FEEDBACK";
387                 case 0x1c02: return "GL_SELECT";
388                 case 0x1d00: return "GL_FLAT";
389                 case 0x1d01: return "GL_SMOOTH";
390                 case 0x1e00: return "GL_KEEP";
391                 case 0x1e01: return "GL_REPLACE";
392                 case 0x1e02: return "GL_INCR";
393                 case 0x1e03: return "GL_DECR";
394                 case 0x1f00: return "GL_VENDOR";
395                 case 0x1f01: return "GL_RENDERER";
396                 case 0x1f02: return "GL_VERSION";
397                 case 0x1f03: return "GL_EXTENSIONS";
398                 case 0x2000: return "GL_S";
399                 case 0x2001: return "GL_T";
400                 case 0x2002: return "GL_R";
401                 case 0x2003: return "GL_Q";
402                 case 0x2100: return "GL_MODULATE";
403                 case 0x2101: return "GL_DECAL";
404                 case 0x2200: return "GL_TEXTURE_ENV_MODE";
405                 case 0x2201: return "GL_TEXTURE_ENV_COLOR";
406                 case 0x2300: return "GL_TEXTURE_ENV";
407                 case 0x2400: return "GL_EYE_LINEAR";
408                 case 0x2401: return "GL_OBJECT_LINEAR";
409                 case 0x2402: return "GL_SPHERE_MAP";
410                 case 0x2500: return "GL_TEXTURE_GEN_MODE";
411                 case 0x2501: return "GL_OBJECT_PLANE";
412                 case 0x2502: return "GL_EYE_PLANE";
413                 case 0x2600: return "GL_NEAREST";
414                 case 0x2601: return "GL_LINEAR";
415                 case 0x2700: return "GL_NEAREST_MIPMAP_NEAREST";
416                 case 0x2701: return "GL_LINEAR_MIPMAP_NEAREST";
417                 case 0x2702: return "GL_NEAREST_MIPMAP_LINEAR";
418                 case 0x2703: return "GL_LINEAR_MIPMAP_LINEAR";
419                 case 0x2800: return "GL_TEXTURE_MAG_FILTER";
420                 case 0x2801: return "GL_TEXTURE_MIN_FILTER";
421                 case 0x2802: return "GL_TEXTURE_WRAP_S";
422                 case 0x2803: return "GL_TEXTURE_WRAP_T";
423                 case 0x2900: return "GL_CLAMP";
424                 case 0x2901: return "GL_REPEAT";
425                 case 0x2a00: return "GL_POLYGON_OFFSET_UNITS";
426                 case 0x2a01: return "GL_POLYGON_OFFSET_POINT";
427                 case 0x2a02: return "GL_POLYGON_OFFSET_LINE";
428                 case 0x2a10: return "GL_R3_G3_B2";
429                 case 0x2a20: return "GL_V2F";
430                 case 0x2a21: return "GL_V3F";
431                 case 0x2a22: return "GL_C4UB_V2F";
432                 case 0x2a23: return "GL_C4UB_V3F";
433                 case 0x2a24: return "GL_C3F_V3F";
434                 case 0x2a25: return "GL_N3F_V3F";
435                 case 0x2a26: return "GL_C4F_N3F_V3F";
436                 case 0x2a27: return "GL_T2F_V3F";
437                 case 0x2a28: return "GL_T4F_V4F";
438                 case 0x2a29: return "GL_T2F_C4UB_V3F";
439                 case 0x2a2a: return "GL_T2F_C3F_V3F";
440                 case 0x2a2b: return "GL_T2F_N3F_V3F";
441                 case 0x2a2c: return "GL_T2F_C4F_N3F_V3F";
442                 case 0x2a2d: return "GL_T4F_C4F_N3F_V4F";
443                 case 0x3000: return "GL_CLIP_PLANE0";
444                 case 0x3001: return "GL_CLIP_PLANE1";
445                 case 0x3002: return "GL_CLIP_PLANE2";
446                 case 0x3003: return "GL_CLIP_PLANE3";
447                 case 0x3004: return "GL_CLIP_PLANE4";
448                 case 0x3005: return "GL_CLIP_PLANE5";
449                 case 0x3006: return "GL_CLIP_DISTANCE6";
450                 case 0x3007: return "GL_CLIP_DISTANCE7";
451                 case 0x4000: return "GL_LIGHT0";
452                 case 0x4001: return "GL_LIGHT1";
453                 case 0x4002: return "GL_LIGHT2";
454                 case 0x4003: return "GL_LIGHT3";
455                 case 0x4004: return "GL_LIGHT4";
456                 case 0x4005: return "GL_LIGHT5";
457                 case 0x4006: return "GL_LIGHT6";
458                 case 0x4007: return "GL_LIGHT7";
459                 case 0x8000: return "GL_ABGR_EXT";
460                 case 0x8001: return "GL_CONSTANT_COLOR";
461                 case 0x8002: return "GL_ONE_MINUS_CONSTANT_COLOR";
462                 case 0x8003: return "GL_CONSTANT_ALPHA";
463                 case 0x8004: return "GL_ONE_MINUS_CONSTANT_ALPHA";
464                 case 0x8005: return "GL_BLEND_COLOR";
465                 case 0x8006: return "GL_FUNC_ADD";
466                 case 0x8007: return "GL_MIN";
467                 case 0x8008: return "GL_MAX";
468                 case 0x8009: return "GL_BLEND_EQUATION";
469                 case 0x800a: return "GL_FUNC_SUBTRACT";
470                 case 0x800b: return "GL_FUNC_REVERSE_SUBTRACT";
471                 case 0x800c: return "GL_CMYK_EXT";
472                 case 0x800d: return "GL_CMYKA_EXT";
473                 case 0x800e: return "GL_PACK_CMYK_HINT_EXT";
474                 case 0x800f: return "GL_UNPACK_CMYK_HINT_EXT";
475                 case 0x8010: return "GL_CONVOLUTION_1D";
476                 case 0x8011: return "GL_CONVOLUTION_2D";
477                 case 0x8012: return "GL_SEPARABLE_2D";
478                 case 0x8013: return "GL_CONVOLUTION_BORDER_MODE";
479                 case 0x8014: return "GL_CONVOLUTION_FILTER_SCALE";
480                 case 0x8015: return "GL_CONVOLUTION_FILTER_BIAS";
481                 case 0x8016: return "GL_REDUCE";
482                 case 0x8017: return "GL_CONVOLUTION_FORMAT";
483                 case 0x8018: return "GL_CONVOLUTION_WIDTH";
484                 case 0x8019: return "GL_CONVOLUTION_HEIGHT";
485                 case 0x801a: return "GL_MAX_CONVOLUTION_WIDTH";
486                 case 0x801b: return "GL_MAX_CONVOLUTION_HEIGHT";
487                 case 0x801c: return "GL_POST_CONVOLUTION_RED_SCALE";
488                 case 0x801d: return "GL_POST_CONVOLUTION_GREEN_SCALE";
489                 case 0x801e: return "GL_POST_CONVOLUTION_BLUE_SCALE";
490                 case 0x801f: return "GL_POST_CONVOLUTION_ALPHA_SCALE";
491                 case 0x8020: return "GL_POST_CONVOLUTION_RED_BIAS";
492                 case 0x8021: return "GL_POST_CONVOLUTION_GREEN_BIAS";
493                 case 0x8022: return "GL_POST_CONVOLUTION_BLUE_BIAS";
494                 case 0x8023: return "GL_POST_CONVOLUTION_ALPHA_BIAS";
495                 case 0x8024: return "GL_HISTOGRAM";
496                 case 0x8025: return "GL_PROXY_HISTOGRAM";
497                 case 0x8026: return "GL_HISTOGRAM_WIDTH";
498                 case 0x8027: return "GL_HISTOGRAM_FORMAT";
499                 case 0x8028: return "GL_HISTOGRAM_RED_SIZE";
500                 case 0x8029: return "GL_HISTOGRAM_GREEN_SIZE";
501                 case 0x802a: return "GL_HISTOGRAM_BLUE_SIZE";
502                 case 0x802b: return "GL_HISTOGRAM_ALPHA_SIZE";
503                 case 0x802c: return "GL_HISTOGRAM_LUMINANCE_SIZE";
504                 case 0x802d: return "GL_HISTOGRAM_SINK";
505                 case 0x802e: return "GL_MINMAX";
506                 case 0x802f: return "GL_MINMAX_FORMAT";
507                 case 0x8030: return "GL_MINMAX_SINK";
508                 case 0x8031: return "GL_TABLE_TOO_LARGE_EXT";
509                 case 0x8032: return "GL_UNSIGNED_BYTE_3_3_2";
510                 case 0x8033: return "GL_UNSIGNED_SHORT_4_4_4_4";
511                 case 0x8034: return "GL_UNSIGNED_SHORT_5_5_5_1";
512                 case 0x8035: return "GL_UNSIGNED_INT_8_8_8_8";
513                 case 0x8036: return "GL_UNSIGNED_INT_10_10_10_2";
514                 case 0x8037: return "GL_POLYGON_OFFSET_EXT";
515                 case 0x8038: return "GL_POLYGON_OFFSET_FACTOR";
516                 case 0x8039: return "GL_POLYGON_OFFSET_BIAS_EXT";
517                 case 0x803a: return "GL_RESCALE_NORMAL";
518                 case 0x803b: return "GL_ALPHA4";
519                 case 0x803c: return "GL_ALPHA8";
520                 case 0x803d: return "GL_ALPHA12";
521                 case 0x803e: return "GL_ALPHA16";
522                 case 0x803f: return "GL_LUMINANCE4";
523                 case 0x8040: return "GL_LUMINANCE8";
524                 case 0x8041: return "GL_LUMINANCE12";
525                 case 0x8042: return "GL_LUMINANCE16";
526                 case 0x8043: return "GL_LUMINANCE4_ALPHA4";
527                 case 0x8044: return "GL_LUMINANCE6_ALPHA2";
528                 case 0x8045: return "GL_LUMINANCE8_ALPHA8";
529                 case 0x8046: return "GL_LUMINANCE12_ALPHA4";
530                 case 0x8047: return "GL_LUMINANCE12_ALPHA12";
531                 case 0x8048: return "GL_LUMINANCE16_ALPHA16";
532                 case 0x8049: return "GL_INTENSITY";
533                 case 0x804a: return "GL_INTENSITY4";
534                 case 0x804b: return "GL_INTENSITY8";
535                 case 0x804c: return "GL_INTENSITY12";
536                 case 0x804d: return "GL_INTENSITY16";
537                 case 0x804e: return "GL_RGB2_EXT";
538                 case 0x804f: return "GL_RGB4";
539                 case 0x8050: return "GL_RGB5";
540                 case 0x8051: return "GL_RGB8";
541                 case 0x8052: return "GL_RGB10";
542                 case 0x8053: return "GL_RGB12";
543                 case 0x8054: return "GL_RGB16";
544                 case 0x8055: return "GL_RGBA2";
545                 case 0x8056: return "GL_RGBA4";
546                 case 0x8057: return "GL_RGB5_A1";
547                 case 0x8058: return "GL_RGBA8";
548                 case 0x8059: return "GL_RGB10_A2";
549                 case 0x805a: return "GL_RGBA12";
550                 case 0x805b: return "GL_RGBA16";
551                 case 0x805c: return "GL_TEXTURE_RED_SIZE";
552                 case 0x805d: return "GL_TEXTURE_GREEN_SIZE";
553                 case 0x805e: return "GL_TEXTURE_BLUE_SIZE";
554                 case 0x805f: return "GL_TEXTURE_ALPHA_SIZE";
555                 case 0x8060: return "GL_TEXTURE_LUMINANCE_SIZE";
556                 case 0x8061: return "GL_TEXTURE_INTENSITY_SIZE";
557                 case 0x8062: return "GL_REPLACE_EXT";
558                 case 0x8063: return "GL_PROXY_TEXTURE_1D";
559                 case 0x8064: return "GL_PROXY_TEXTURE_2D";
560                 case 0x8065: return "GL_TEXTURE_TOO_LARGE_EXT";
561                 case 0x8066: return "GL_TEXTURE_PRIORITY";
562                 case 0x8067: return "GL_TEXTURE_RESIDENT";
563                 case 0x8068: return "GL_TEXTURE_1D_BINDING_EXT";
564                 case 0x8069: return "GL_TEXTURE_2D_BINDING_EXT";
565                 case 0x806a: return "GL_TEXTURE_3D_BINDING_EXT";
566                 case 0x806b: return "GL_PACK_SKIP_IMAGES";
567                 case 0x806c: return "GL_PACK_IMAGE_HEIGHT";
568                 case 0x806d: return "GL_UNPACK_SKIP_IMAGES";
569                 case 0x806e: return "GL_UNPACK_IMAGE_HEIGHT";
570                 case 0x806f: return "GL_TEXTURE_3D";
571                 case 0x8070: return "GL_PROXY_TEXTURE_3D";
572                 case 0x8071: return "GL_TEXTURE_DEPTH";
573                 case 0x8072: return "GL_TEXTURE_WRAP_R";
574                 case 0x8073: return "GL_MAX_3D_TEXTURE_SIZE";
575                 case 0x8074: return "GL_VERTEX_ARRAY";
576                 case 0x8075: return "GL_NORMAL_ARRAY";
577                 case 0x8076: return "GL_COLOR_ARRAY";
578                 case 0x8077: return "GL_INDEX_ARRAY";
579                 case 0x8078: return "GL_TEXTURE_COORD_ARRAY";
580                 case 0x8079: return "GL_EDGE_FLAG_ARRAY";
581                 case 0x807a: return "GL_VERTEX_ARRAY_SIZE";
582                 case 0x807b: return "GL_VERTEX_ARRAY_TYPE";
583                 case 0x807c: return "GL_VERTEX_ARRAY_STRIDE";
584                 case 0x807d: return "GL_VERTEX_ARRAY_COUNT_EXT";
585                 case 0x807e: return "GL_NORMAL_ARRAY_TYPE";
586                 case 0x807f: return "GL_NORMAL_ARRAY_STRIDE";
587                 case 0x8080: return "GL_NORMAL_ARRAY_COUNT_EXT";
588                 case 0x8081: return "GL_COLOR_ARRAY_SIZE";
589                 case 0x8082: return "GL_COLOR_ARRAY_TYPE";
590                 case 0x8083: return "GL_COLOR_ARRAY_STRIDE";
591                 case 0x8084: return "GL_COLOR_ARRAY_COUNT_EXT";
592                 case 0x8085: return "GL_INDEX_ARRAY_TYPE";
593                 case 0x8086: return "GL_INDEX_ARRAY_STRIDE";
594                 case 0x8087: return "GL_INDEX_ARRAY_COUNT_EXT";
595                 case 0x8088: return "GL_TEXTURE_COORD_ARRAY_SIZE";
596                 case 0x8089: return "GL_TEXTURE_COORD_ARRAY_TYPE";
597                 case 0x808a: return "GL_TEXTURE_COORD_ARRAY_STRIDE";
598                 case 0x808b: return "GL_TEXTURE_COORD_ARRAY_COUNT_EXT";
599                 case 0x808c: return "GL_EDGE_FLAG_ARRAY_STRIDE";
600                 case 0x808d: return "GL_EDGE_FLAG_ARRAY_COUNT_EXT";
601                 case 0x808e: return "GL_VERTEX_ARRAY_POINTER";
602                 case 0x808f: return "GL_NORMAL_ARRAY_POINTER";
603                 case 0x8090: return "GL_COLOR_ARRAY_POINTER";
604                 case 0x8091: return "GL_INDEX_ARRAY_POINTER";
605                 case 0x8092: return "GL_TEXTURE_COORD_ARRAY_POINTER";
606                 case 0x8093: return "GL_EDGE_FLAG_ARRAY_POINTER";
607                 case 0x8094: return "GL_INTERLACE_SGIX";
608                 case 0x8095: return "GL_DETAIL_TEXTURE_2D_SGIS";
609                 case 0x8096: return "GL_DETAIL_TEXTURE_2D_BINDING_SGIS";
610                 case 0x8097: return "GL_LINEAR_DETAIL_SGIS";
611                 case 0x8098: return "GL_LINEAR_DETAIL_ALPHA_SGIS";
612                 case 0x8099: return "GL_LINEAR_DETAIL_COLOR_SGIS";
613                 case 0x809a: return "GL_DETAIL_TEXTURE_LEVEL_SGIS";
614                 case 0x809b: return "GL_DETAIL_TEXTURE_MODE_SGIS";
615                 case 0x809c: return "GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS";
616                 case 0x809d: return "GL_MULTISAMPLE";
617                 case 0x809e: return "GL_SAMPLE_ALPHA_TO_COVERAGE";
618                 case 0x809f: return "GL_SAMPLE_ALPHA_TO_ONE";
619                 case 0x80a0: return "GL_SAMPLE_COVERAGE";
620                 case 0x80a1: return "GL_1PASS_EXT";
621                 case 0x80a2: return "GL_2PASS_0_EXT";
622                 case 0x80a3: return "GL_2PASS_1_EXT";
623                 case 0x80a4: return "GL_4PASS_0_EXT";
624                 case 0x80a5: return "GL_4PASS_1_EXT";
625                 case 0x80a6: return "GL_4PASS_2_EXT";
626                 case 0x80a7: return "GL_4PASS_3_EXT";
627                 case 0x80a8: return "GL_SAMPLE_BUFFERS";
628                 case 0x80a9: return "GL_SAMPLES";
629                 case 0x80aa: return "GL_SAMPLE_COVERAGE_VALUE";
630                 case 0x80ab: return "GL_SAMPLE_COVERAGE_INVERT";
631                 case 0x80ac: return "GL_SAMPLE_PATTERN_EXT";
632                 case 0x80ad: return "GL_LINEAR_SHARPEN_SGIS";
633                 case 0x80ae: return "GL_LINEAR_SHARPEN_ALPHA_SGIS";
634                 case 0x80af: return "GL_LINEAR_SHARPEN_COLOR_SGIS";
635                 case 0x80b0: return "GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS";
636                 case 0x80b1: return "GL_COLOR_MATRIX";
637                 case 0x80b2: return "GL_COLOR_MATRIX_STACK_DEPTH";
638                 case 0x80b3: return "GL_MAX_COLOR_MATRIX_STACK_DEPTH";
639                 case 0x80b4: return "GL_POST_COLOR_MATRIX_RED_SCALE";
640                 case 0x80b5: return "GL_POST_COLOR_MATRIX_GREEN_SCALE";
641                 case 0x80b6: return "GL_POST_COLOR_MATRIX_BLUE_SCALE";
642                 case 0x80b7: return "GL_POST_COLOR_MATRIX_ALPHA_SCALE";
643                 case 0x80b8: return "GL_POST_COLOR_MATRIX_RED_BIAS";
644                 case 0x80b9: return "GL_POST_COLOR_MATRIX_GREEN_BIAS";
645                 case 0x80ba: return "GL_POST_COLOR_MATRIX_BLUE_BIAS";
646                 case 0x80bb: return "GL_POST_COLOR_MATRIX_ALPHA_BIAS";
647                 case 0x80bc: return "GL_TEXTURE_COLOR_TABLE_SGI";
648                 case 0x80bd: return "GL_PROXY_TEXTURE_COLOR_TABLE_SGI";
649                 case 0x80be: return "GL_TEXTURE_ENV_BIAS_SGIX";
650                 case 0x80bf: return "GL_SHADOW_AMBIENT_SGIX";
651                 case 0x8210: return "GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING";
652                 case 0x8211: return "GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE";
653                 case 0x8212: return "GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE";
654                 case 0x8213: return "GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE";
655                 case 0x8214: return "GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE";
656                 case 0x8215: return "GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE";
657                 case 0x8216: return "GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE";
658                 case 0x8217: return "GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE";
659                 case 0x8218: return "GL_FRAMEBUFFER_DEFAULT";
660                 case 0x8219: return "GL_FRAMEBUFFER_UNDEFINED";
661                 case 0x821a: return "GL_DEPTH_STENCIL_ATTACHMENT";
662                 case 0x821b: return "GL_MAJOR_VERSION";
663                 case 0x821c: return "GL_MINOR_VERSION";
664                 case 0x821d: return "GL_NUM_EXTENSIONS";
665                 case 0x821e: return "GL_CONTEXT_FLAGS";
666                 case 0x821f: return "GL_BUFFER_IMMUTABLE_STORAGE";
667                 case 0x8220: return "GL_BUFFER_STORAGE_FLAGS";
668                 case 0x8221: return "GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED";
669                 case 0x8222: return "GL_INDEX";
670                 case 0x8225: return "GL_COMPRESSED_RED";
671                 case 0x8226: return "GL_COMPRESSED_RG";
672                 case 0x8227: return "GL_RG";
673                 case 0x8228: return "GL_RG_INTEGER";
674                 case 0x8229: return "GL_R8";
675                 case 0x822a: return "GL_R16";
676                 case 0x822b: return "GL_RG8";
677                 case 0x822c: return "GL_RG16";
678                 case 0x822d: return "GL_R16F";
679                 case 0x822e: return "GL_R32F";
680                 case 0x822f: return "GL_RG16F";
681                 case 0x8230: return "GL_RG32F";
682                 case 0x8231: return "GL_R8I";
683                 case 0x8232: return "GL_R8UI";
684                 case 0x8233: return "GL_R16I";
685                 case 0x8234: return "GL_R16UI";
686                 case 0x8235: return "GL_R32I";
687                 case 0x8236: return "GL_R32UI";
688                 case 0x8237: return "GL_RG8I";
689                 case 0x8238: return "GL_RG8UI";
690                 case 0x8239: return "GL_RG16I";
691                 case 0x823a: return "GL_RG16UI";
692                 case 0x823b: return "GL_RG32I";
693                 case 0x823c: return "GL_RG32UI";
694                 case 0x8240: return "GL_SYNC_CL_EVENT_ARB";
695                 case 0x8241: return "GL_SYNC_CL_EVENT_COMPLETE_ARB";
696                 case 0x8242: return "GL_DEBUG_OUTPUT_SYNCHRONOUS";
697                 case 0x8243: return "GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH";
698                 case 0x8244: return "GL_DEBUG_CALLBACK_FUNCTION";
699                 case 0x8245: return "GL_DEBUG_CALLBACK_USER_PARAM";
700                 case 0x8246: return "GL_DEBUG_SOURCE_API";
701                 case 0x8247: return "GL_DEBUG_SOURCE_WINDOW_SYSTEM";
702                 case 0x8248: return "GL_DEBUG_SOURCE_SHADER_COMPILER";
703                 case 0x8249: return "GL_DEBUG_SOURCE_THIRD_PARTY";
704                 case 0x824a: return "GL_DEBUG_SOURCE_APPLICATION";
705                 case 0x824b: return "GL_DEBUG_SOURCE_OTHER";
706                 case 0x824c: return "GL_DEBUG_TYPE_ERROR";
707                 case 0x824d: return "GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR";
708                 case 0x824e: return "GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR";
709                 case 0x824f: return "GL_DEBUG_TYPE_PORTABILITY";
710                 case 0x8250: return "GL_DEBUG_TYPE_PERFORMANCE";
711                 case 0x8251: return "GL_DEBUG_TYPE_OTHER";
712                 case 0x8252: return "GL_LOSE_CONTEXT_ON_RESET";
713                 case 0x8253: return "GL_GUILTY_CONTEXT_RESET";
714                 case 0x8254: return "GL_INNOCENT_CONTEXT_RESET";
715                 case 0x8255: return "GL_UNKNOWN_CONTEXT_RESET";
716                 case 0x8256: return "GL_RESET_NOTIFICATION_STRATEGY";
717                 case 0x8257: return "GL_PROGRAM_BINARY_RETRIEVABLE_HINT";
718                 case 0x8258: return "GL_PROGRAM_SEPARABLE";
719                 case 0x8259: return "GL_ACTIVE_PROGRAM";
720                 case 0x825a: return "GL_PROGRAM_PIPELINE_BINDING";
721                 case 0x825b: return "GL_MAX_VIEWPORTS";
722                 case 0x825c: return "GL_VIEWPORT_SUBPIXEL_BITS";
723                 case 0x825d: return "GL_VIEWPORT_BOUNDS_RANGE";
724                 case 0x825e: return "GL_LAYER_PROVOKING_VERTEX";
725                 case 0x825f: return "GL_VIEWPORT_INDEX_PROVOKING_VERTEX";
726                 case 0x8260: return "GL_UNDEFINED_VERTEX";
727                 case 0x8261: return "GL_NO_RESET_NOTIFICATION";
728                 case 0x8262: return "GL_MAX_COMPUTE_SHARED_MEMORY_SIZE";
729                 case 0x8263: return "GL_MAX_COMPUTE_UNIFORM_COMPONENTS";
730                 case 0x8264: return "GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS";
731                 case 0x8265: return "GL_MAX_COMPUTE_ATOMIC_COUNTERS";
732                 case 0x8266: return "GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS";
733                 case 0x8267: return "GL_COMPUTE_WORK_GROUP_SIZE";
734                 case 0x8268: return "GL_DEBUG_TYPE_MARKER";
735                 case 0x8269: return "GL_DEBUG_TYPE_PUSH_GROUP";
736                 case 0x826a: return "GL_DEBUG_TYPE_POP_GROUP";
737                 case 0x826b: return "GL_DEBUG_SEVERITY_NOTIFICATION";
738                 case 0x826c: return "GL_MAX_DEBUG_GROUP_STACK_DEPTH";
739                 case 0x826d: return "GL_DEBUG_GROUP_STACK_DEPTH";
740                 case 0x826e: return "GL_MAX_UNIFORM_LOCATIONS";
741                 case 0x826f: return "GL_INTERNALFORMAT_SUPPORTED";
742                 case 0x8270: return "GL_INTERNALFORMAT_PREFERRED";
743                 case 0x8271: return "GL_INTERNALFORMAT_RED_SIZE";
744                 case 0x8272: return "GL_INTERNALFORMAT_GREEN_SIZE";
745                 case 0x8273: return "GL_INTERNALFORMAT_BLUE_SIZE";
746                 case 0x8274: return "GL_INTERNALFORMAT_ALPHA_SIZE";
747                 case 0x8275: return "GL_INTERNALFORMAT_DEPTH_SIZE";
748                 case 0x8276: return "GL_INTERNALFORMAT_STENCIL_SIZE";
749                 case 0x8277: return "GL_INTERNALFORMAT_SHARED_SIZE";
750                 case 0x8278: return "GL_INTERNALFORMAT_RED_TYPE";
751                 case 0x8279: return "GL_INTERNALFORMAT_GREEN_TYPE";
752                 case 0x827a: return "GL_INTERNALFORMAT_BLUE_TYPE";
753                 case 0x827b: return "GL_INTERNALFORMAT_ALPHA_TYPE";
754                 case 0x827c: return "GL_INTERNALFORMAT_DEPTH_TYPE";
755                 case 0x827d: return "GL_INTERNALFORMAT_STENCIL_TYPE";
756                 case 0x827e: return "GL_MAX_WIDTH";
757                 case 0x827f: return "GL_MAX_HEIGHT";
758                 case 0x8280: return "GL_MAX_DEPTH";
759                 case 0x8281: return "GL_MAX_LAYERS";
760                 case 0x8282: return "GL_MAX_COMBINED_DIMENSIONS";
761                 case 0x8283: return "GL_COLOR_COMPONENTS";
762                 case 0x8284: return "GL_DEPTH_COMPONENTS";
763                 case 0x8285: return "GL_STENCIL_COMPONENTS";
764                 case 0x8286: return "GL_COLOR_RENDERABLE";
765                 case 0x8287: return "GL_DEPTH_RENDERABLE";
766                 case 0x8288: return "GL_STENCIL_RENDERABLE";
767                 case 0x8289: return "GL_FRAMEBUFFER_RENDERABLE";
768                 case 0x828a: return "GL_FRAMEBUFFER_RENDERABLE_LAYERED";
769                 case 0x828b: return "GL_FRAMEBUFFER_BLEND";
770                 case 0x828c: return "GL_READ_PIXELS";
771                 case 0x828d: return "GL_READ_PIXELS_FORMAT";
772                 case 0x828e: return "GL_READ_PIXELS_TYPE";
773                 case 0x828f: return "GL_TEXTURE_IMAGE_FORMAT";
774                 case 0x8290: return "GL_TEXTURE_IMAGE_TYPE";
775                 case 0x8291: return "GL_GET_TEXTURE_IMAGE_FORMAT";
776                 case 0x8292: return "GL_GET_TEXTURE_IMAGE_TYPE";
777                 case 0x8293: return "GL_MIPMAP";
778                 case 0x8294: return "GL_MANUAL_GENERATE_MIPMAP";
779                 case 0x8295: return "GL_AUTO_GENERATE_MIPMAP";
780                 case 0x8296: return "GL_COLOR_ENCODING";
781                 case 0x8297: return "GL_SRGB_READ";
782                 case 0x8298: return "GL_SRGB_WRITE";
783                 case 0x8299: return "GL_SRGB_DECODE_ARB";
784                 case 0x829a: return "GL_FILTER";
785                 case 0x829b: return "GL_VERTEX_TEXTURE";
786                 case 0x829c: return "GL_TESS_CONTROL_TEXTURE";
787                 case 0x829d: return "GL_TESS_EVALUATION_TEXTURE";
788                 case 0x829e: return "GL_GEOMETRY_TEXTURE";
789                 case 0x829f: return "GL_FRAGMENT_TEXTURE";
790                 case 0x82a0: return "GL_COMPUTE_TEXTURE";
791                 case 0x82a1: return "GL_TEXTURE_SHADOW";
792                 case 0x82a2: return "GL_TEXTURE_GATHER";
793                 case 0x82a3: return "GL_TEXTURE_GATHER_SHADOW";
794                 case 0x82a4: return "GL_SHADER_IMAGE_LOAD";
795                 case 0x82a5: return "GL_SHADER_IMAGE_STORE";
796                 case 0x82a6: return "GL_SHADER_IMAGE_ATOMIC";
797                 case 0x82a7: return "GL_IMAGE_TEXEL_SIZE";
798                 case 0x82a8: return "GL_IMAGE_COMPATIBILITY_CLASS";
799                 case 0x82a9: return "GL_IMAGE_PIXEL_FORMAT";
800                 case 0x82aa: return "GL_IMAGE_PIXEL_TYPE";
801                 case 0x82ac: return "GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST";
802                 case 0x82ad: return "GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST";
803                 case 0x82ae: return "GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE";
804                 case 0x82af: return "GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE";
805                 case 0x82b1: return "GL_TEXTURE_COMPRESSED_BLOCK_WIDTH";
806                 case 0x82b2: return "GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT";
807                 case 0x82b3: return "GL_TEXTURE_COMPRESSED_BLOCK_SIZE";
808                 case 0x82b4: return "GL_CLEAR_BUFFER";
809                 case 0x82b5: return "GL_TEXTURE_VIEW";
810                 case 0x82b6: return "GL_VIEW_COMPATIBILITY_CLASS";
811                 case 0x82b7: return "GL_FULL_SUPPORT";
812                 case 0x82b8: return "GL_CAVEAT_SUPPORT";
813                 case 0x82b9: return "GL_IMAGE_CLASS_4_X_32";
814                 case 0x82ba: return "GL_IMAGE_CLASS_2_X_32";
815                 case 0x82bb: return "GL_IMAGE_CLASS_1_X_32";
816                 case 0x82bc: return "GL_IMAGE_CLASS_4_X_16";
817                 case 0x82bd: return "GL_IMAGE_CLASS_2_X_16";
818                 case 0x82be: return "GL_IMAGE_CLASS_1_X_16";
819                 case 0x82bf: return "GL_IMAGE_CLASS_4_X_8";
820                 case 0x82c0: return "GL_IMAGE_CLASS_2_X_8";
821                 case 0x82c1: return "GL_IMAGE_CLASS_1_X_8";
822                 case 0x82c2: return "GL_IMAGE_CLASS_11_11_10";
823                 case 0x82c3: return "GL_IMAGE_CLASS_10_10_10_2";
824                 case 0x82c4: return "GL_VIEW_CLASS_128_BITS";
825                 case 0x82c5: return "GL_VIEW_CLASS_96_BITS";
826                 case 0x82c6: return "GL_VIEW_CLASS_64_BITS";
827                 case 0x82c7: return "GL_VIEW_CLASS_48_BITS";
828                 case 0x82c8: return "GL_VIEW_CLASS_32_BITS";
829                 case 0x82c9: return "GL_VIEW_CLASS_24_BITS";
830                 case 0x82ca: return "GL_VIEW_CLASS_16_BITS";
831                 case 0x82cb: return "GL_VIEW_CLASS_8_BITS";
832                 case 0x82cc: return "GL_VIEW_CLASS_S3TC_DXT1_RGB";
833                 case 0x82cd: return "GL_VIEW_CLASS_S3TC_DXT1_RGBA";
834                 case 0x82ce: return "GL_VIEW_CLASS_S3TC_DXT3_RGBA";
835                 case 0x82cf: return "GL_VIEW_CLASS_S3TC_DXT5_RGBA";
836                 case 0x82d0: return "GL_VIEW_CLASS_RGTC1_RED";
837                 case 0x82d1: return "GL_VIEW_CLASS_RGTC2_RG";
838                 case 0x82d2: return "GL_VIEW_CLASS_BPTC_UNORM";
839                 case 0x82d3: return "GL_VIEW_CLASS_BPTC_FLOAT";
840                 case 0x82d4: return "GL_VERTEX_ATTRIB_BINDING";
841                 case 0x82d5: return "GL_VERTEX_ATTRIB_RELATIVE_OFFSET";
842                 case 0x82d6: return "GL_VERTEX_BINDING_DIVISOR";
843                 case 0x82d7: return "GL_VERTEX_BINDING_OFFSET";
844                 case 0x82d8: return "GL_VERTEX_BINDING_STRIDE";
845                 case 0x82d9: return "GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET";
846                 case 0x82da: return "GL_MAX_VERTEX_ATTRIB_BINDINGS";
847                 case 0x82db: return "GL_TEXTURE_VIEW_MIN_LEVEL";
848                 case 0x82dc: return "GL_TEXTURE_VIEW_NUM_LEVELS";
849                 case 0x82dd: return "GL_TEXTURE_VIEW_MIN_LAYER";
850                 case 0x82de: return "GL_TEXTURE_VIEW_NUM_LAYERS";
851                 case 0x82df: return "GL_TEXTURE_IMMUTABLE_LEVELS";
852                 case 0x82e0: return "GL_BUFFER";
853                 case 0x82e1: return "GL_SHADER";
854                 case 0x82e2: return "GL_PROGRAM";
855                 case 0x82e3: return "GL_QUERY";
856                 case 0x82e4: return "GL_PROGRAM_PIPELINE";
857                 case 0x82e5: return "GL_MAX_VERTEX_ATTRIB_STRIDE";
858                 case 0x82e6: return "GL_SAMPLER";
859                 case 0x82e7: return "GL_DISPLAY_LIST";
860                 case 0x82e8: return "GL_MAX_LABEL_LENGTH";
861                 case 0x82e9: return "GL_NUM_SHADING_LANGUAGE_VERSIONS";
862                 case 0x82ea: return "GL_QUERY_TARGET";
863                 case 0x82ec: return "GL_TRANSFORM_FEEDBACK_OVERFLOW";
864                 case 0x82ed: return "GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW";
865                 case 0x82ee: return "GL_VERTICES_SUBMITTED";
866                 case 0x82ef: return "GL_PRIMITIVES_SUBMITTED";
867                 case 0x82f0: return "GL_VERTEX_SHADER_INVOCATIONS";
868                 case 0x82f1: return "GL_TESS_CONTROL_SHADER_PATCHES";
869                 case 0x82f2: return "GL_TESS_EVALUATION_SHADER_INVOCATIONS";
870                 case 0x82f3: return "GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED";
871                 case 0x82f4: return "GL_FRAGMENT_SHADER_INVOCATIONS";
872                 case 0x82f5: return "GL_COMPUTE_SHADER_INVOCATIONS";
873                 case 0x82f6: return "GL_CLIPPING_INPUT_PRIMITIVES";
874                 case 0x82f7: return "GL_CLIPPING_OUTPUT_PRIMITIVES";
875                 case 0x82f8: return "GL_SPARSE_BUFFER_PAGE_SIZE_ARB";
876                 case 0x82f9: return "GL_MAX_CULL_DISTANCES";
877                 case 0x82fa: return "GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES";
878                 case 0x82fb: return "GL_CONTEXT_RELEASE_BEHAVIOR";
879                 case 0x82fc: return "GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH";
880                 case 0x82fd: return "GL_ROBUST_GPU_TIMEOUT_MS_KHR";
881                 case 0x84c0: return "GL_TEXTURE0";
882                 case 0x84c1: return "GL_TEXTURE1";
883                 case 0x84c2: return "GL_TEXTURE2";
884                 case 0x84c3: return "GL_TEXTURE3";
885                 case 0x84c4: return "GL_TEXTURE4";
886                 case 0x84c5: return "GL_TEXTURE5";
887                 case 0x84c6: return "GL_TEXTURE6";
888                 case 0x84c7: return "GL_TEXTURE7";
889                 case 0x84c8: return "GL_TEXTURE8";
890                 case 0x84c9: return "GL_TEXTURE9";
891                 case 0x84ca: return "GL_TEXTURE10";
892                 case 0x84cb: return "GL_TEXTURE11";
893                 case 0x84cc: return "GL_TEXTURE12";
894                 case 0x84cd: return "GL_TEXTURE13";
895                 case 0x84ce: return "GL_TEXTURE14";
896                 case 0x84cf: return "GL_TEXTURE15";
897                 case 0x84d0: return "GL_TEXTURE16";
898                 case 0x84d1: return "GL_TEXTURE17";
899                 case 0x84d2: return "GL_TEXTURE18";
900                 case 0x84d3: return "GL_TEXTURE19";
901                 case 0x84d4: return "GL_TEXTURE20";
902                 case 0x84d5: return "GL_TEXTURE21";
903                 case 0x84d6: return "GL_TEXTURE22";
904                 case 0x84d7: return "GL_TEXTURE23";
905                 case 0x84d8: return "GL_TEXTURE24";
906                 case 0x84d9: return "GL_TEXTURE25";
907                 case 0x84da: return "GL_TEXTURE26";
908                 case 0x84db: return "GL_TEXTURE27";
909                 case 0x84dc: return "GL_TEXTURE28";
910                 case 0x84dd: return "GL_TEXTURE29";
911                 case 0x84de: return "GL_TEXTURE30";
912                 case 0x84df: return "GL_TEXTURE31";
913                 case 0x84e0: return "GL_ACTIVE_TEXTURE";
914                 case 0x84e1: return "GL_CLIENT_ACTIVE_TEXTURE";
915                 case 0x84e2: return "GL_MAX_TEXTURE_UNITS";
916                 case 0x84e3: return "GL_TRANSPOSE_MODELVIEW_MATRIX";
917                 case 0x84e4: return "GL_TRANSPOSE_PROJECTION_MATRIX";
918                 case 0x84e5: return "GL_TRANSPOSE_TEXTURE_MATRIX";
919                 case 0x84e6: return "GL_TRANSPOSE_COLOR_MATRIX";
920                 case 0x84e7: return "GL_SUBTRACT";
921                 case 0x84e8: return "GL_MAX_RENDERBUFFER_SIZE";
922                 case 0x84e9: return "GL_COMPRESSED_ALPHA";
923                 case 0x84ea: return "GL_COMPRESSED_LUMINANCE";
924                 case 0x84eb: return "GL_COMPRESSED_LUMINANCE_ALPHA";
925                 case 0x84ec: return "GL_COMPRESSED_INTENSITY";
926                 case 0x84ed: return "GL_COMPRESSED_RGB";
927                 case 0x84ee: return "GL_COMPRESSED_RGBA";
928                 case 0x84ef: return "GL_TEXTURE_COMPRESSION_HINT";
929                 case 0x86a0: return "GL_TEXTURE_COMPRESSED_IMAGE_SIZE";
930                 case 0x86a1: return "GL_TEXTURE_COMPRESSED";
931                 case 0x86a2: return "GL_NUM_COMPRESSED_TEXTURE_FORMATS";
932                 case 0x86a3: return "GL_COMPRESSED_TEXTURE_FORMATS";
933                 case 0x86a4: return "GL_MAX_VERTEX_UNITS_ARB";
934                 case 0x86a5: return "GL_ACTIVE_VERTEX_UNITS_ARB";
935                 case 0x86a6: return "GL_WEIGHT_SUM_UNITY_ARB";
936                 case 0x86a7: return "GL_VERTEX_BLEND_ARB";
937                 case 0x86a8: return "GL_CURRENT_WEIGHT_ARB";
938                 case 0x86a9: return "GL_WEIGHT_ARRAY_TYPE_ARB";
939                 case 0x86aa: return "GL_WEIGHT_ARRAY_STRIDE_ARB";
940                 case 0x86ab: return "GL_WEIGHT_ARRAY_SIZE_ARB";
941                 case 0x86ac: return "GL_WEIGHT_ARRAY_POINTER_ARB";
942                 case 0x86ad: return "GL_WEIGHT_ARRAY_ARB";
943                 case 0x86ae: return "GL_DOT3_RGB";
944                 case 0x86af: return "GL_DOT3_RGBA";
945                 case 0x8722: return "GL_MODELVIEW2_ARB";
946                 case 0x8723: return "GL_MODELVIEW3_ARB";
947                 case 0x8724: return "GL_MODELVIEW4_ARB";
948                 case 0x8725: return "GL_MODELVIEW5_ARB";
949                 case 0x8726: return "GL_MODELVIEW6_ARB";
950                 case 0x8727: return "GL_MODELVIEW7_ARB";
951                 case 0x8728: return "GL_MODELVIEW8_ARB";
952                 case 0x8729: return "GL_MODELVIEW9_ARB";
953                 case 0x872a: return "GL_MODELVIEW10_ARB";
954                 case 0x872b: return "GL_MODELVIEW11_ARB";
955                 case 0x872c: return "GL_MODELVIEW12_ARB";
956                 case 0x872d: return "GL_MODELVIEW13_ARB";
957                 case 0x872e: return "GL_MODELVIEW14_ARB";
958                 case 0x872f: return "GL_MODELVIEW15_ARB";
959                 case 0x8730: return "GL_MODELVIEW16_ARB";
960                 case 0x8731: return "GL_MODELVIEW17_ARB";
961                 case 0x8732: return "GL_MODELVIEW18_ARB";
962                 case 0x8733: return "GL_MODELVIEW19_ARB";
963                 case 0x8734: return "GL_MODELVIEW20_ARB";
964                 case 0x8735: return "GL_MODELVIEW21_ARB";
965                 case 0x8736: return "GL_MODELVIEW22_ARB";
966                 case 0x8737: return "GL_MODELVIEW23_ARB";
967                 case 0x8738: return "GL_MODELVIEW24_ARB";
968                 case 0x8739: return "GL_MODELVIEW25_ARB";
969                 case 0x873a: return "GL_MODELVIEW26_ARB";
970                 case 0x873b: return "GL_MODELVIEW27_ARB";
971                 case 0x873c: return "GL_MODELVIEW28_ARB";
972                 case 0x873d: return "GL_MODELVIEW29_ARB";
973                 case 0x873e: return "GL_MODELVIEW30_ARB";
974                 case 0x873f: return "GL_MODELVIEW31_ARB";
975                 case 0x8840: return "GL_MATRIX_PALETTE_ARB";
976                 case 0x8841: return "GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB";
977                 case 0x8842: return "GL_MAX_PALETTE_MATRICES_ARB";
978                 case 0x8843: return "GL_CURRENT_PALETTE_MATRIX_ARB";
979                 case 0x8844: return "GL_MATRIX_INDEX_ARRAY_ARB";
980                 case 0x8845: return "GL_CURRENT_MATRIX_INDEX_ARB";
981                 case 0x8846: return "GL_MATRIX_INDEX_ARRAY_SIZE_ARB";
982                 case 0x8847: return "GL_MATRIX_INDEX_ARRAY_TYPE_ARB";
983                 case 0x8848: return "GL_MATRIX_INDEX_ARRAY_STRIDE_ARB";
984                 case 0x8849: return "GL_MATRIX_INDEX_ARRAY_POINTER_ARB";
985                 case 0x884a: return "GL_TEXTURE_DEPTH_SIZE";
986                 case 0x884b: return "GL_DEPTH_TEXTURE_MODE";
987                 case 0x884c: return "GL_TEXTURE_COMPARE_MODE";
988                 case 0x884d: return "GL_TEXTURE_COMPARE_FUNC";
989                 case 0x884e: return "GL_COMPARE_R_TO_TEXTURE";
990                 case 0x884f: return "GL_TEXTURE_CUBE_MAP_SEAMLESS";
991                 case 0x8b30: return "GL_FRAGMENT_SHADER";
992                 case 0x8b31: return "GL_VERTEX_SHADER";
993                 case 0x8b40: return "GL_PROGRAM_OBJECT_ARB";
994                 case 0x8b48: return "GL_SHADER_OBJECT_ARB";
995                 case 0x8b49: return "GL_MAX_FRAGMENT_UNIFORM_COMPONENTS";
996                 case 0x8b4a: return "GL_MAX_VERTEX_UNIFORM_COMPONENTS";
997                 case 0x8b4b: return "GL_MAX_VARYING_FLOATS";
998                 case 0x8b4c: return "GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS";
999                 case 0x8b4d: return "GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS";
1000                 case 0x8b4e: return "GL_OBJECT_TYPE_ARB";
1001                 case 0x8b4f: return "GL_SHADER_TYPE";
1002                 case 0x8b50: return "GL_FLOAT_VEC2";
1003                 case 0x8b51: return "GL_FLOAT_VEC3";
1004                 case 0x8b52: return "GL_FLOAT_VEC4";
1005                 case 0x8b53: return "GL_INT_VEC2";
1006                 case 0x8b54: return "GL_INT_VEC3";
1007                 case 0x8b55: return "GL_INT_VEC4";
1008                 case 0x8b56: return "GL_BOOL";
1009                 case 0x8b57: return "GL_BOOL_VEC2";
1010                 case 0x8b58: return "GL_BOOL_VEC3";
1011                 case 0x8b59: return "GL_BOOL_VEC4";
1012                 case 0x8b5a: return "GL_FLOAT_MAT2";
1013                 case 0x8b5b: return "GL_FLOAT_MAT3";
1014                 case 0x8b5c: return "GL_FLOAT_MAT4";
1015                 case 0x8b5d: return "GL_SAMPLER_1D";
1016                 case 0x8b5e: return "GL_SAMPLER_2D";
1017                 case 0x8b5f: return "GL_SAMPLER_3D";
1018                 case 0x8b60: return "GL_SAMPLER_CUBE";
1019                 case 0x8b61: return "GL_SAMPLER_1D_SHADOW";
1020                 case 0x8b62: return "GL_SAMPLER_2D_SHADOW";
1021                 case 0x8b63: return "GL_SAMPLER_2D_RECT";
1022                 case 0x8b64: return "GL_SAMPLER_2D_RECT_SHADOW";
1023                 case 0x8b65: return "GL_FLOAT_MAT2x3";
1024                 case 0x8b66: return "GL_FLOAT_MAT2x4";
1025                 case 0x8b67: return "GL_FLOAT_MAT3x2";
1026                 case 0x8b68: return "GL_FLOAT_MAT3x4";
1027                 case 0x8b69: return "GL_FLOAT_MAT4x2";
1028                 case 0x8b6a: return "GL_FLOAT_MAT4x3";
1029                 case 0x8b80: return "GL_DELETE_STATUS";
1030                 case 0x8b81: return "GL_COMPILE_STATUS";
1031                 case 0x8b82: return "GL_LINK_STATUS";
1032                 case 0x8b83: return "GL_VALIDATE_STATUS";
1033                 case 0x8b84: return "GL_INFO_LOG_LENGTH";
1034                 case 0x8b85: return "GL_ATTACHED_SHADERS";
1035                 case 0x8b86: return "GL_ACTIVE_UNIFORMS";
1036                 case 0x8b87: return "GL_ACTIVE_UNIFORM_MAX_LENGTH";
1037                 case 0x8b88: return "GL_SHADER_SOURCE_LENGTH";
1038                 case 0x8b89: return "GL_ACTIVE_ATTRIBUTES";
1039                 case 0x8b8a: return "GL_ACTIVE_ATTRIBUTE_MAX_LENGTH";
1040                 case 0x8b8b: return "GL_FRAGMENT_SHADER_DERIVATIVE_HINT";
1041                 case 0x8b8c: return "GL_SHADING_LANGUAGE_VERSION";
1042                 case 0x8b8d: return "GL_CURRENT_PROGRAM";
1043                 case 0x8b90: return "GL_PALETTE4_RGB8_OES";
1044                 case 0x8b91: return "GL_PALETTE4_RGBA8_OES";
1045                 case 0x8b92: return "GL_PALETTE4_R5_G6_B5_OES";
1046                 case 0x8b93: return "GL_PALETTE4_RGBA4_OES";
1047                 case 0x8b94: return "GL_PALETTE4_RGB5_A1_OES";
1048                 case 0x8b95: return "GL_PALETTE8_RGB8_OES";
1049                 case 0x8b96: return "GL_PALETTE8_RGBA8_OES";
1050                 case 0x8b97: return "GL_PALETTE8_R5_G6_B5_OES";
1051                 case 0x8b98: return "GL_PALETTE8_RGBA4_OES";
1052                 case 0x8b99: return "GL_PALETTE8_RGB5_A1_OES";
1053                 case 0x8b9a: return "GL_IMPLEMENTATION_COLOR_READ_TYPE";
1054                 case 0x8b9b: return "GL_IMPLEMENTATION_COLOR_READ_FORMAT";
1055                 case 0x8b9c: return "GL_POINT_SIZE_ARRAY_OES";
1056                 case 0x8b9d: return "GL_TEXTURE_CROP_RECT_OES";
1057                 case 0x8b9e: return "GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES";
1058                 case 0x8b9f: return "GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES";
1059                 case 0x8ca0: return "GL_POINT_SPRITE_COORD_ORIGIN";
1060                 case 0x8ca1: return "GL_LOWER_LEFT";
1061                 case 0x8ca2: return "GL_UPPER_LEFT";
1062                 case 0x8ca3: return "GL_STENCIL_BACK_REF";
1063                 case 0x8ca4: return "GL_STENCIL_BACK_VALUE_MASK";
1064                 case 0x8ca5: return "GL_STENCIL_BACK_WRITEMASK";
1065                 case 0x8ca6: return "GL_DRAW_FRAMEBUFFER_BINDING";
1066                 case 0x8ca7: return "GL_RENDERBUFFER_BINDING";
1067                 case 0x8ca8: return "GL_READ_FRAMEBUFFER";
1068                 case 0x8ca9: return "GL_DRAW_FRAMEBUFFER";
1069                 case 0x8caa: return "GL_READ_FRAMEBUFFER_BINDING";
1070                 case 0x8cab: return "GL_RENDERBUFFER_COVERAGE_SAMPLES_NV";
1071                 case 0x8cac: return "GL_DEPTH_COMPONENT32F";
1072                 case 0x8cad: return "GL_DEPTH32F_STENCIL8";
1073                 case 0x8cd0: return "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE";
1074                 case 0x8cd1: return "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME";
1075                 case 0x8cd2: return "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL";
1076                 case 0x8cd3: return "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE";
1077                 case 0x8cd4: return "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT";
1078                 case 0x8cd5: return "GL_FRAMEBUFFER_COMPLETE";
1079                 case 0x8cd6: return "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT";
1080                 case 0x8cd7: return "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT";
1081                 case 0x8cd9: return "GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS";
1082                 case 0x8cda: return "GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT";
1083                 case 0x8cdb: return "GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER";
1084                 case 0x8cdc: return "GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER";
1085                 case 0x8cdd: return "GL_FRAMEBUFFER_UNSUPPORTED";
1086                 case 0x8cdf: return "GL_MAX_COLOR_ATTACHMENTS";
1087                 case 0x8ce0: return "GL_COLOR_ATTACHMENT0";
1088                 case 0x8ce1: return "GL_COLOR_ATTACHMENT1";
1089                 case 0x8ce2: return "GL_COLOR_ATTACHMENT2";
1090                 case 0x8ce3: return "GL_COLOR_ATTACHMENT3";
1091                 case 0x8ce4: return "GL_COLOR_ATTACHMENT4";
1092                 case 0x8ce5: return "GL_COLOR_ATTACHMENT5";
1093                 case 0x8ce6: return "GL_COLOR_ATTACHMENT6";
1094                 case 0x8ce7: return "GL_COLOR_ATTACHMENT7";
1095                 case 0x8ce8: return "GL_COLOR_ATTACHMENT8";
1096                 case 0x8ce9: return "GL_COLOR_ATTACHMENT9";
1097                 case 0x8cea: return "GL_COLOR_ATTACHMENT10";
1098                 case 0x8ceb: return "GL_COLOR_ATTACHMENT11";
1099                 case 0x8cec: return "GL_COLOR_ATTACHMENT12";
1100                 case 0x8ced: return "GL_COLOR_ATTACHMENT13";
1101                 case 0x8cee: return "GL_COLOR_ATTACHMENT14";
1102                 case 0x8cef: return "GL_COLOR_ATTACHMENT15";
1103                 case 0x8cf0: return "GL_COLOR_ATTACHMENT16";
1104                 case 0x8cf1: return "GL_COLOR_ATTACHMENT17";
1105                 case 0x8cf2: return "GL_COLOR_ATTACHMENT18";
1106                 case 0x8cf3: return "GL_COLOR_ATTACHMENT19";
1107                 case 0x8cf4: return "GL_COLOR_ATTACHMENT20";
1108                 case 0x8cf5: return "GL_COLOR_ATTACHMENT21";
1109                 case 0x8cf6: return "GL_COLOR_ATTACHMENT22";
1110                 case 0x8cf7: return "GL_COLOR_ATTACHMENT23";
1111                 case 0x8cf8: return "GL_COLOR_ATTACHMENT24";
1112                 case 0x8cf9: return "GL_COLOR_ATTACHMENT25";
1113                 case 0x8cfa: return "GL_COLOR_ATTACHMENT26";
1114                 case 0x8cfb: return "GL_COLOR_ATTACHMENT27";
1115                 case 0x8cfc: return "GL_COLOR_ATTACHMENT28";
1116                 case 0x8cfd: return "GL_COLOR_ATTACHMENT29";
1117                 case 0x8cfe: return "GL_COLOR_ATTACHMENT30";
1118                 case 0x8cff: return "GL_COLOR_ATTACHMENT31";
1119                 case 0x8d00: return "GL_DEPTH_ATTACHMENT";
1120                 case 0x8d20: return "GL_STENCIL_ATTACHMENT";
1121                 case 0x8d40: return "GL_FRAMEBUFFER";
1122                 case 0x8d41: return "GL_RENDERBUFFER";
1123                 case 0x8d42: return "GL_RENDERBUFFER_WIDTH";
1124                 case 0x8d43: return "GL_RENDERBUFFER_HEIGHT";
1125                 case 0x8d44: return "GL_RENDERBUFFER_INTERNAL_FORMAT";
1126                 case 0x8d46: return "GL_STENCIL_INDEX1";
1127                 case 0x8d47: return "GL_STENCIL_INDEX4";
1128                 case 0x8d48: return "GL_STENCIL_INDEX8";
1129                 case 0x8d49: return "GL_STENCIL_INDEX16";
1130                 case 0x8d50: return "GL_RENDERBUFFER_RED_SIZE";
1131                 case 0x8d51: return "GL_RENDERBUFFER_GREEN_SIZE";
1132                 case 0x8d52: return "GL_RENDERBUFFER_BLUE_SIZE";
1133                 case 0x8d53: return "GL_RENDERBUFFER_ALPHA_SIZE";
1134                 case 0x8d54: return "GL_RENDERBUFFER_DEPTH_SIZE";
1135                 case 0x8d55: return "GL_RENDERBUFFER_STENCIL_SIZE";
1136                 case 0x8d56: return "GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE";
1137                 case 0x8d57: return "GL_MAX_SAMPLES";
1138                 case 0x8d60: return "GL_TEXTURE_GEN_STR_OES";
1139                 case 0x8d61: return "GL_HALF_FLOAT_OES";
1140                 case 0x8d62: return "GL_RGB565_OES";
1141                 case 0x8d64: return "GL_ETC1_RGB8_OES";
1142                 case 0x8d65: return "GL_TEXTURE_EXTERNAL_OES";
1143                 case 0x8d66: return "GL_SAMPLER_EXTERNAL_OES";
1144                 case 0x8d67: return "GL_TEXTURE_BINDING_EXTERNAL_OES";
1145                 case 0x8d68: return "GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES";
1146                 case 0x8d69: return "GL_PRIMITIVE_RESTART_FIXED_INDEX";
1147                 case 0x8d6a: return "GL_ANY_SAMPLES_PASSED_CONSERVATIVE";
1148                 case 0x8d6b: return "GL_MAX_ELEMENT_INDEX";
1149                 case 0x8d6c: return "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT";
1150                 case 0x8df0: return "GL_LOW_FLOAT";
1151                 case 0x8df1: return "GL_MEDIUM_FLOAT";
1152                 case 0x8df2: return "GL_HIGH_FLOAT";
1153                 case 0x8df3: return "GL_LOW_INT";
1154                 case 0x8df4: return "GL_MEDIUM_INT";
1155                 case 0x8df5: return "GL_HIGH_INT";
1156                 case 0x8df6: return "GL_UNSIGNED_INT_10_10_10_2_OES";
1157                 case 0x8df7: return "GL_INT_10_10_10_2_OES";
1158                 case 0x8df8: return "GL_SHADER_BINARY_FORMATS";
1159                 case 0x8df9: return "GL_NUM_SHADER_BINARY_FORMATS";
1160                 case 0x8dfa: return "GL_SHADER_COMPILER";
1161                 case 0x8dfb: return "GL_MAX_VERTEX_UNIFORM_VECTORS";
1162                 case 0x8dfc: return "GL_MAX_VARYING_VECTORS";
1163                 case 0x8dfd: return "GL_MAX_FRAGMENT_UNIFORM_VECTORS";
1164                 case 0x8f90: return "GL_RED_SNORM";
1165                 case 0x8f91: return "GL_RG_SNORM";
1166                 case 0x8f92: return "GL_RGB_SNORM";
1167                 case 0x8f93: return "GL_RGBA_SNORM";
1168                 case 0x8f94: return "GL_R8_SNORM";
1169                 case 0x8f95: return "GL_RG8_SNORM";
1170                 case 0x8f96: return "GL_RGB8_SNORM";
1171                 case 0x8f97: return "GL_RGBA8_SNORM";
1172                 case 0x8f98: return "GL_R16_SNORM";
1173                 case 0x8f99: return "GL_RG16_SNORM";
1174                 case 0x8f9a: return "GL_RGB16_SNORM";
1175                 case 0x8f9b: return "GL_RGBA16_SNORM";
1176                 case 0x8f9c: return "GL_SIGNED_NORMALIZED";
1177                 case 0x8f9d: return "GL_PRIMITIVE_RESTART";
1178                 case 0x8f9e: return "GL_PRIMITIVE_RESTART_INDEX";
1179                 case 0x8f9f: return "GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB";
1180                 case 0x9100: return "GL_TEXTURE_2D_MULTISAMPLE";
1181                 case 0x9101: return "GL_PROXY_TEXTURE_2D_MULTISAMPLE";
1182                 case 0x9102: return "GL_TEXTURE_2D_MULTISAMPLE_ARRAY";
1183                 case 0x9103: return "GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY";
1184                 case 0x9104: return "GL_TEXTURE_BINDING_2D_MULTISAMPLE";
1185                 case 0x9105: return "GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY";
1186                 case 0x9106: return "GL_TEXTURE_SAMPLES";
1187                 case 0x9107: return "GL_TEXTURE_FIXED_SAMPLE_LOCATIONS";
1188                 case 0x9108: return "GL_SAMPLER_2D_MULTISAMPLE";
1189                 case 0x9109: return "GL_INT_SAMPLER_2D_MULTISAMPLE";
1190                 case 0x910a: return "GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE";
1191                 case 0x910b: return "GL_SAMPLER_2D_MULTISAMPLE_ARRAY";
1192                 case 0x910c: return "GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY";
1193                 case 0x910d: return "GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY";
1194                 case 0x910e: return "GL_MAX_COLOR_TEXTURE_SAMPLES";
1195                 case 0x910f: return "GL_MAX_DEPTH_TEXTURE_SAMPLES";
1196                 case 0x9110: return "GL_MAX_INTEGER_SAMPLES";
1197                 case 0x9111: return "GL_MAX_SERVER_WAIT_TIMEOUT";
1198                 case 0x9112: return "GL_OBJECT_TYPE";
1199                 case 0x9113: return "GL_SYNC_CONDITION";
1200                 case 0x9114: return "GL_SYNC_STATUS";
1201                 case 0x9115: return "GL_SYNC_FLAGS";
1202                 case 0x9116: return "GL_SYNC_FENCE";
1203                 case 0x9117: return "GL_SYNC_GPU_COMMANDS_COMPLETE";
1204                 case 0x9118: return "GL_UNSIGNALED";
1205                 case 0x9119: return "GL_SIGNALED";
1206                 case 0x911a: return "GL_ALREADY_SIGNALED";
1207                 case 0x911b: return "GL_TIMEOUT_EXPIRED";
1208                 case 0x911c: return "GL_CONDITION_SATISFIED";
1209                 case 0x911d: return "GL_WAIT_FAILED";
1210                 case 0x911f: return "GL_BUFFER_ACCESS_FLAGS";
1211                 case 0x9120: return "GL_BUFFER_MAP_LENGTH";
1212                 case 0x9121: return "GL_BUFFER_MAP_OFFSET";
1213                 case 0x9122: return "GL_MAX_VERTEX_OUTPUT_COMPONENTS";
1214                 case 0x9123: return "GL_MAX_GEOMETRY_INPUT_COMPONENTS";
1215                 case 0x9124: return "GL_MAX_GEOMETRY_OUTPUT_COMPONENTS";
1216                 case 0x9125: return "GL_MAX_FRAGMENT_INPUT_COMPONENTS";
1217                 case 0x9126: return "GL_CONTEXT_PROFILE_MASK";
1218                 case 0x9127: return "GL_UNPACK_COMPRESSED_BLOCK_WIDTH";
1219                 case 0x9128: return "GL_UNPACK_COMPRESSED_BLOCK_HEIGHT";
1220                 case 0x9129: return "GL_UNPACK_COMPRESSED_BLOCK_DEPTH";
1221                 case 0x912a: return "GL_UNPACK_COMPRESSED_BLOCK_SIZE";
1222                 case 0x912b: return "GL_PACK_COMPRESSED_BLOCK_WIDTH";
1223                 case 0x912c: return "GL_PACK_COMPRESSED_BLOCK_HEIGHT";
1224                 case 0x912d: return "GL_PACK_COMPRESSED_BLOCK_DEPTH";
1225                 case 0x912e: return "GL_PACK_COMPRESSED_BLOCK_SIZE";
1226                 case 0x912f: return "GL_TEXTURE_IMMUTABLE_FORMAT";
1227                 case 0x9270: return "GL_COMPRESSED_R11_EAC";
1228                 case 0x9271: return "GL_COMPRESSED_SIGNED_R11_EAC";
1229                 case 0x9272: return "GL_COMPRESSED_RG11_EAC";
1230                 case 0x9273: return "GL_COMPRESSED_SIGNED_RG11_EAC";
1231                 case 0x9274: return "GL_COMPRESSED_RGB8_ETC2";
1232                 case 0x9275: return "GL_COMPRESSED_SRGB8_ETC2";
1233                 case 0x9276: return "GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2";
1234                 case 0x9277: return "GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2";
1235                 case 0x9278: return "GL_COMPRESSED_RGBA8_ETC2_EAC";
1236                 case 0x9279: return "GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC";
1237                 case 0x9380: return "GL_NUM_SAMPLE_COUNTS";
1238                 case 0x9381: return "GL_MULTISAMPLE_LINE_WIDTH_RANGE_ARB";
1239                 case 0x9382: return "GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB";
1240                 case 0x9383: return "GL_VIEW_CLASS_EAC_R11";
1241                 case 0x9384: return "GL_VIEW_CLASS_EAC_RG11";
1242                 case 0x9385: return "GL_VIEW_CLASS_ETC2_RGB";
1243                 case 0x9386: return "GL_VIEW_CLASS_ETC2_RGBA";
1244                 case 0x9387: return "GL_VIEW_CLASS_ETC2_EAC_RGBA";
1245                 case 0x9388: return "GL_VIEW_CLASS_ASTC_4x4_RGBA";
1246                 case 0x9389: return "GL_VIEW_CLASS_ASTC_5x4_RGBA";
1247                 case 0x938a: return "GL_VIEW_CLASS_ASTC_5x5_RGBA";
1248                 case 0x938b: return "GL_VIEW_CLASS_ASTC_6x5_RGBA";
1249                 case 0x938c: return "GL_VIEW_CLASS_ASTC_6x6_RGBA";
1250                 case 0x938d: return "GL_VIEW_CLASS_ASTC_8x5_RGBA";
1251                 case 0x938e: return "GL_VIEW_CLASS_ASTC_8x6_RGBA";
1252                 case 0x938f: return "GL_VIEW_CLASS_ASTC_8x8_RGBA";
1253                 case 0x9390: return "GL_VIEW_CLASS_ASTC_10x5_RGBA";
1254                 case 0x9391: return "GL_VIEW_CLASS_ASTC_10x6_RGBA";
1255                 case 0x9392: return "GL_VIEW_CLASS_ASTC_10x8_RGBA";
1256                 case 0x9393: return "GL_VIEW_CLASS_ASTC_10x10_RGBA";
1257                 case 0x9394: return "GL_VIEW_CLASS_ASTC_12x10_RGBA";
1258                 case 0x9395: return "GL_VIEW_CLASS_ASTC_12x12_RGBA";
1259                 case 0x93b0: return "GL_COMPRESSED_RGBA_ASTC_4x4";
1260                 case 0x93b1: return "GL_COMPRESSED_RGBA_ASTC_5x4";
1261                 case 0x93b2: return "GL_COMPRESSED_RGBA_ASTC_5x5";
1262                 case 0x93b3: return "GL_COMPRESSED_RGBA_ASTC_6x5";
1263                 case 0x93b4: return "GL_COMPRESSED_RGBA_ASTC_6x6";
1264                 case 0x93b5: return "GL_COMPRESSED_RGBA_ASTC_8x5";
1265                 case 0x93b6: return "GL_COMPRESSED_RGBA_ASTC_8x6";
1266                 case 0x93b7: return "GL_COMPRESSED_RGBA_ASTC_8x8";
1267                 case 0x93b8: return "GL_COMPRESSED_RGBA_ASTC_10x5";
1268                 case 0x93b9: return "GL_COMPRESSED_RGBA_ASTC_10x6";
1269                 case 0x93ba: return "GL_COMPRESSED_RGBA_ASTC_10x8";
1270                 case 0x93bb: return "GL_COMPRESSED_RGBA_ASTC_10x10";
1271                 case 0x93bc: return "GL_COMPRESSED_RGBA_ASTC_12x10";
1272                 case 0x93bd: return "GL_COMPRESSED_RGBA_ASTC_12x12";
1273                 case 0x93c0: return "GL_COMPRESSED_RGBA_ASTC_3x3x3_OES";
1274                 case 0x93c1: return "GL_COMPRESSED_RGBA_ASTC_4x3x3_OES";
1275                 case 0x93c2: return "GL_COMPRESSED_RGBA_ASTC_4x4x3_OES";
1276                 case 0x93c3: return "GL_COMPRESSED_RGBA_ASTC_4x4x4_OES";
1277                 case 0x93c4: return "GL_COMPRESSED_RGBA_ASTC_5x4x4_OES";
1278                 case 0x93c5: return "GL_COMPRESSED_RGBA_ASTC_5x5x4_OES";
1279                 case 0x93c6: return "GL_COMPRESSED_RGBA_ASTC_5x5x5_OES";
1280                 case 0x93c7: return "GL_COMPRESSED_RGBA_ASTC_6x5x5_OES";
1281                 case 0x93c8: return "GL_COMPRESSED_RGBA_ASTC_6x6x5_OES";
1282                 case 0x93c9: return "GL_COMPRESSED_RGBA_ASTC_6x6x6_OES";
1283                 case 0x93d0: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4";
1284                 case 0x93d1: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4";
1285                 case 0x93d2: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5";
1286                 case 0x93d3: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5";
1287                 case 0x93d4: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6";
1288                 case 0x93d5: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5";
1289                 case 0x93d6: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6";
1290                 case 0x93d7: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8";
1291                 case 0x93d8: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5";
1292                 case 0x93d9: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6";
1293                 case 0x93da: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8";
1294                 case 0x93db: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10";
1295                 case 0x93dc: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10";
1296                 case 0x93dd: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12";
1297                 case 0x93e0: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES";
1298                 case 0x93e1: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OES";
1299                 case 0x93e2: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OES";
1300                 case 0x93e3: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OES";
1301                 case 0x93e4: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES";
1302                 case 0x93e5: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OES";
1303                 case 0x93e6: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OES";
1304                 case 0x93e7: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES";
1305                 case 0x93e8: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES";
1306                 case 0x93e9: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES";
1307                 default:
1308                         {
1309                                 static char str[64];
1310                                 sprintf(str, "%d", key);
1311                                 return str;
1312                         } 
1313         }
1314 }
1315
1316
1317
1318 static struct _Glbuf_Data
1319 _get_glbuf_data(GLenum pname, GLenum internalformat)
1320 {
1321         struct _Glbuf_Data data;
1322
1323         data.obj_idx = _COREGL_INT_INIT_VALUE;
1324         _orig_tracepath_glGetIntegerv(pname, &(data.obj_idx));
1325         AST(data.obj_idx != _COREGL_INT_INIT_VALUE);
1326
1327         switch (internalformat) {
1328         case GL_ALPHA:
1329                 snprintf(data.format, sizeof(data.format), "ALPHA");
1330                 data.bpp = 1;
1331                 break;
1332         case GL_LUMINANCE:
1333                 snprintf(data.format, sizeof(data.format), "LUMINANCE");
1334                 data.bpp = 1;
1335                 break;
1336         case GL_LUMINANCE_ALPHA:
1337                 snprintf(data.format, sizeof(data.format), "LUMINANCE_ALPHA");
1338                 data.bpp = 1;
1339                 break;
1340         case GL_RGB:
1341                 snprintf(data.format, sizeof(data.format), "RGB");
1342                 data.bpp = 2;
1343                 break;
1344         case GL_RGBA:
1345                 snprintf(data.format, sizeof(data.format), "RGBA");
1346                 data.bpp = 4;
1347                 break;
1348         case 0x80E1:
1349                 snprintf(data.format, sizeof(data.format), "BGRA_EXT");
1350                 data.bpp = 4;
1351                 break;
1352         case 0x84F9:
1353                 snprintf(data.format, sizeof(data.format), "DEPTH_STENCIL_OES");
1354                 data.bpp = 4;
1355                 break;
1356         case GL_DEPTH_COMPONENT:
1357                 snprintf(data.format, sizeof(data.format), "DEPTH_COMPONENT");
1358                 data.bpp = 1;
1359                 break;
1360         case 0x81A5:
1361                 snprintf(data.format, sizeof(data.format), "DEPTH_COMPONENT16_ARB");
1362                 data.bpp = 2;
1363                 break;
1364         case 0x81A6:
1365                 snprintf(data.format, sizeof(data.format), "DEPTH_COMPONENT24_ARB");
1366                 data.bpp = 3;
1367                 break;
1368         case 0x81A7:
1369                 snprintf(data.format, sizeof(data.format), "DEPTH_COMPONENT32_ARB");
1370                 data.bpp = 4;
1371                 break;
1372         case 0x8D46:
1373                 snprintf(data.format, sizeof(data.format), "STENCIL_INDEX1_OES");
1374                 data.bpp = 1;
1375                 break;
1376         case 0x8D47:
1377                 snprintf(data.format, sizeof(data.format), "STENCIL_INDEX4_OES");
1378                 data.bpp = 1;
1379                 break;
1380         case 0x8D48:
1381                 snprintf(data.format, sizeof(data.format), "STENCIL_INDEX8_OES");
1382                 data.bpp = 1;
1383                 break;
1384         default:
1385                 snprintf(data.format, sizeof(data.format), "0x%X", internalformat);
1386                 data.bpp = 0;
1387                 break;
1388         }
1389
1390         return data;
1391 }
1392
1393 static int
1394 _get_channel_by_format(GLenum internalformat)
1395 {
1396         int channel = 0;
1397         switch (internalformat) {
1398         case GL_ALPHA:
1399         case GL_LUMINANCE:
1400         case GL_DEPTH_COMPONENT:
1401         case 0x81A5:
1402         case 0x81A6:
1403         case 0x81A7:
1404         case 0x8D46:
1405         case 0x8D47:
1406         case 0x8D48:
1407                 channel = 1;
1408                 break;
1409         case GL_LUMINANCE_ALPHA:
1410         case 0x84F9:
1411                 channel = 2;
1412                 break;
1413         case GL_RGB:
1414                 channel = 3;
1415                 break;
1416         case GL_RGBA:
1417         case 0x80E1:
1418                 channel = 4;
1419                 break;
1420         }
1421         return channel;
1422 }
1423
1424 static MY_MODULE_TSTATE*
1425 _get_my_state()
1426 {
1427         MY_MODULE_TSTATE* tstate = NULL;
1428
1429         GET_MY_TSTATE(tstate, get_current_thread_state());
1430         AST(tstate != NULL);
1431
1432         return tstate;
1433 }
1434
1435 static void
1436 __addhash_glbuf_object(Glbuf_Data **glbuf, Glbuf_Data *target)
1437 {
1438         Glbuf_Data *data = glbuf[target->obj_idx % MTD_GLBUF_HASH_ARRAY];
1439         if (data == NULL) {
1440                 glbuf[target->obj_idx % MTD_GLBUF_HASH_ARRAY] = target;
1441         } else {
1442                 while (data->next != NULL) {
1443                         AST(data->obj_idx != target->obj_idx);
1444                         data = data->next;
1445                 }
1446                 AST(data->obj_idx != target->obj_idx);
1447                 data->next = target;
1448         }
1449         goto finish;
1450
1451 finish:
1452         return;
1453 }
1454
1455 static void
1456 __removehash_glbuf_object(Glbuf_Data **glbuf, Glbuf_Data **target)
1457 {
1458         Glbuf_Data *data = glbuf[(*target)->obj_idx % MTD_GLBUF_HASH_ARRAY];
1459         Glbuf_Data *prev = NULL;
1460         while (data != NULL) {
1461                 if (data->obj_idx == (*target)->obj_idx) {
1462                         if (prev != NULL)
1463                                 prev->next = data->next;
1464                         else
1465                                 glbuf[(*target)->obj_idx % MTD_GLBUF_HASH_ARRAY] = data->next;
1466
1467                         free(*target);
1468                         *target = NULL;
1469                         break;
1470                 }
1471                 prev = data;
1472                 data = data->next;
1473         }
1474         goto finish;
1475
1476 finish:
1477         return;
1478 }
1479
1480 static Glbuf_Data *
1481 __findhash_glbuf_object(Glbuf_Data **glbuf, int obj_idx)
1482 {
1483         Glbuf_Data *data = glbuf[obj_idx % MTD_GLBUF_HASH_ARRAY];
1484         while (data != NULL) {
1485                 if (data->obj_idx == obj_idx)
1486                         break;
1487                 data = data->next;
1488         }
1489         goto finish;
1490
1491 finish:
1492         return data;
1493 }
1494
1495 void
1496 tracepath_glbuf_clear(Glbuf_Data **glbuf)
1497 {
1498         int i;
1499
1500         for (i = 0; i < MTD_GLBUF_HASH_ARRAY; i++) {
1501                 Glbuf_Data *data = glbuf[i];
1502
1503                 while (data) {
1504                         Glbuf_Data *delitm = data;
1505                         data = data->next;
1506                         free(delitm);
1507                         delitm = NULL;
1508                 }
1509         }
1510 }
1511
1512 static void
1513 _add_glbuf_object(Glbuf_Data **glbuf, int obj_idx, const char *obj_type,
1514                                   int width, int height, int bpp, const char *format)
1515 {
1516         Glbuf_Data *data = __findhash_glbuf_object(glbuf, obj_idx);
1517         if (data == NULL) {
1518                 data = (Glbuf_Data *)calloc(1, sizeof(Glbuf_Data));
1519                 if (data == NULL) goto finish;
1520
1521                 data->obj_idx = obj_idx;
1522                 __addhash_glbuf_object(glbuf, data);
1523         } else {
1524                 // Update
1525                 char ment[MAX_TRACE_NAME_LENGTH];
1526                 snprintf(ment, MAX_TRACE_NAME_LENGTH, "%s(%4dx%4d %s)", obj_type, data->width,
1527                                  data->height,
1528                                  data->format);
1529                 _COREGL_TRACE_MEM_REMOVE(ment, data->width * data->height * data->bpp);
1530         }
1531
1532         data->width = width;
1533         data->height = height;
1534         data->bpp = bpp;
1535         snprintf(data->format, 80, "%s", format);
1536         {
1537                 char ment[MAX_TRACE_NAME_LENGTH];
1538                 snprintf(ment, MAX_TRACE_NAME_LENGTH, "%s(%4dx%4d %s)", obj_type, data->width,
1539                                  data->height,
1540                                  data->format);
1541                 _COREGL_TRACE_MEM_ADD(ment, data->width * data->height * data->bpp);
1542         }
1543         goto finish;
1544
1545 finish:
1546         return;
1547 }
1548
1549 static void
1550 _remove_glbuf_object(Glbuf_Data **glbuf, int obj_idx, const char *obj_type)
1551 {
1552         Glbuf_Data *data = __findhash_glbuf_object(glbuf, obj_idx);
1553         if (data == NULL) {
1554                 COREGL_WARN("Error deleting %s object %d. (is not created)",
1555                                         obj_type, obj_idx);
1556                 return;
1557         }
1558
1559         {
1560                 char ment[MAX_TRACE_NAME_LENGTH];
1561                 snprintf(ment, MAX_TRACE_NAME_LENGTH, "%s(%4dx%4d %s)", obj_type, data->width,
1562                                  data->height,
1563                                  data->format);
1564                 _COREGL_TRACE_MEM_REMOVE(ment, data->width * data->height * data->bpp);
1565         }
1566
1567         __removehash_glbuf_object(glbuf, &data);
1568         goto finish;
1569
1570 finish:
1571         return;
1572 }
1573
1574
1575 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
1576 void
1577 _surface_trace_set(int set, GLint fbname, GLenum attachment,
1578                                    MY_MODULE_TSTATE *tstate)
1579 {
1580         int atttype = _COREGL_INT_INIT_VALUE;
1581         _orig_tracepath_glGetFramebufferAttachmentParameteriv(GL_FRAMEBUFFER,
1582                         attachment, GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE, &atttype);
1583         AST(atttype != _COREGL_INT_INIT_VALUE);
1584         int attname = _COREGL_INT_INIT_VALUE;
1585         _orig_tracepath_glGetFramebufferAttachmentParameteriv(GL_FRAMEBUFFER,
1586                         attachment, GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME, &attname);
1587         AST(attname != _COREGL_INT_INIT_VALUE);
1588         if (set == 1) {
1589                 switch (atttype) {
1590                 case GL_TEXTURE:
1591                 {
1592                         char name[256];
1593                         snprintf(name, sizeof(name), "FBOTEX_0x%X", attname);
1594                         tracepath_surface_trace_add(name, tstate->ctx->dpy, tstate->ctx->handle,
1595                                                                                 tstate->surf_draw, fbname, attname, 0, -1, -1, -1, NULL);
1596                 }
1597                 break;
1598                 case GL_RENDERBUFFER:
1599                 {
1600                         char name[256];
1601                         snprintf(name, sizeof(name), "FBORB_0x%X", attname);
1602                         tracepath_surface_trace_add(name, tstate->ctx->dpy, tstate->ctx->handle,
1603                                                                                 tstate->surf_draw, fbname, 0, attname, -1, -1, -1, NULL);
1604                 }
1605                 break;
1606                 }
1607         } else {
1608                 switch (atttype) {
1609                 case GL_TEXTURE:
1610                 {
1611                         char name[256];
1612                         snprintf(name, sizeof(name), "FBOTEX_0x%X", attname);
1613                         tracepath_surface_trace_add(name, tstate->ctx->dpy, tstate->ctx->handle,
1614                                                                                 tstate->surf_draw, 0, attname, 0, -1, -1, -1, NULL);
1615                 }
1616                 break;
1617                 case GL_RENDERBUFFER:
1618                 {
1619                         char name[256];
1620                         snprintf(name, sizeof(name), "FBORB_0x%X", attname);
1621                         tracepath_surface_trace_add(name, tstate->ctx->dpy, tstate->ctx->handle,
1622                                                                                 tstate->surf_draw, 0, 0, attname, -1, -1, -1, NULL);
1623                 }
1624                 break;
1625                 }
1626         }
1627 }
1628
1629 void
1630 tracepath_fbdump_update(GLint set)
1631 {
1632         if (get_trace_surface_flag() == 1) {
1633                 GLint fbname = _COREGL_INT_INIT_VALUE;
1634                 _orig_tracepath_glGetIntegerv(GL_FRAMEBUFFER_BINDING, &fbname);
1635                 AST(fbname != _COREGL_INT_INIT_VALUE);
1636                 if (fbname != 0) {
1637                         MY_MODULE_TSTATE* tstate = _get_my_state();
1638                         if (tstate && tstate->ctx != NULL) {
1639                                 _surface_trace_set(set, fbname, GL_COLOR_ATTACHMENT0, tstate);
1640 //                              _surface_trace_set(set, fbname, GL_DEPTH_ATTACHMENT, tstate);
1641 //                              _surface_trace_set(set, fbname, GL_STENCIL_ATTACHMENT, tstate);
1642                         }
1643                 }
1644         }
1645 }
1646 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
1647
1648 /* GLES 1.1 */
1649 void
1650 tracepath_glAlphaFunc(GLenum func, GLclampf ref)
1651 {
1652         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %f)", _get_value(func), ref);
1653         _orig_tracepath_glAlphaFunc(func, ref);
1654         goto finish;
1655
1656 finish:
1657         _COREGL_TRACEPATH_FUNC_END("end");
1658 }
1659
1660 void
1661 tracepath_glClipPlanef(GLenum plane, const GLfloat *equation)
1662 {
1663         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %p)", _get_value(plane), equation);
1664         _orig_tracepath_glClipPlanef(plane, equation);
1665         goto finish;
1666
1667 finish:
1668         _COREGL_TRACEPATH_FUNC_END("end");
1669 }
1670
1671 void
1672 tracepath_glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
1673 {
1674         _COREGL_TRACEPATH_FUNC_BEGIN("(%f, %f, %f, %f)", red, green, blue, alpha);
1675         _orig_tracepath_glColor4f(red, green, blue, alpha);
1676         goto finish;
1677
1678 finish:
1679         _COREGL_TRACEPATH_FUNC_END("end");
1680 }
1681
1682 void
1683 tracepath_glFogf(GLenum pname, GLfloat param)
1684 {
1685         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %f)", _get_value(pname), param);
1686         _orig_tracepath_glFogf(pname, param);
1687         goto finish;
1688
1689 finish:
1690         _COREGL_TRACEPATH_FUNC_END("end");
1691 }
1692
1693 void
1694 tracepath_glFogfv(GLenum pname, const GLfloat *params)
1695 {
1696         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %p)", _get_value(pname), params);
1697         _orig_tracepath_glFogfv(pname, params);
1698         goto finish;
1699
1700 finish:
1701         _COREGL_TRACEPATH_FUNC_END("end");
1702 }
1703
1704 void
1705 tracepath_glFrustumf(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top,
1706                                          GLfloat zNear, GLfloat zFar)
1707 {
1708         _COREGL_TRACEPATH_FUNC_BEGIN("(%f, %f, %f, %f, %f, %f)",left, right, bottom, top, zNear, zFar);
1709         _orig_tracepath_glFrustumf(left, right, bottom, top, zNear, zFar);
1710         goto finish;
1711
1712 finish:
1713         _COREGL_TRACEPATH_FUNC_END("end");
1714 }
1715
1716 void
1717 tracepath_glGetClipPlanef(GLenum pname, GLfloat eqn[4])
1718 {
1719         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, [%f, %f, %f, %f])", _get_value(pname), eqn[0], eqn[1], eqn[2], eqn[3]);
1720         _orig_tracepath_glGetClipPlanef(pname, eqn);
1721         goto finish;
1722
1723 finish:
1724         _COREGL_TRACEPATH_FUNC_END("end");
1725 }
1726
1727 void
1728 tracepath_glGetLightfv(GLenum light, GLenum pname, GLfloat *params)
1729 {
1730         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(light), _get_value(pname), params);
1731         _orig_tracepath_glGetLightfv(light, pname, params);
1732         goto finish;
1733
1734 finish:
1735         _COREGL_TRACEPATH_FUNC_END("end");
1736 }
1737
1738 void
1739 tracepath_glGetMaterialfv(GLenum face, GLenum pname, GLfloat *params)
1740 {
1741         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(face), _get_value(pname), params);
1742         _orig_tracepath_glGetMaterialfv(face, pname, params);
1743         goto finish;
1744
1745 finish:
1746         _COREGL_TRACEPATH_FUNC_END("end");
1747 }
1748
1749 void
1750 tracepath_glGetTexEnvfv(GLenum env, GLenum pname, GLfloat *params)
1751 {
1752         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(env), _get_value(pname), params);
1753         _orig_tracepath_glGetTexEnvfv(env, pname, params);
1754         goto finish;
1755
1756 finish:
1757         _COREGL_TRACEPATH_FUNC_END("end");
1758 }
1759
1760 void
1761 tracepath_glLightModelf(GLenum pname, GLfloat param)
1762 {
1763         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %f)", _get_value(pname), param);
1764         _orig_tracepath_glLightModelf(pname, param);
1765         goto finish;
1766
1767 finish:
1768         _COREGL_TRACEPATH_FUNC_END("end");
1769 }
1770
1771 void
1772 tracepath_glLightModelfv(GLenum pname, const GLfloat *params)
1773 {
1774         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %p)", _get_value(pname), params);
1775         _orig_tracepath_glLightModelfv(pname, params);
1776         goto finish;
1777
1778 finish:
1779         _COREGL_TRACEPATH_FUNC_END("end");
1780 }
1781
1782 void
1783 tracepath_glLightf(GLenum light, GLenum pname, GLfloat param)
1784 {
1785         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %f)", _get_value(light), _get_value(pname), param);
1786         _orig_tracepath_glLightf(light, pname, param);
1787         goto finish;
1788
1789 finish:
1790         _COREGL_TRACEPATH_FUNC_END("end");
1791 }
1792
1793 void
1794 tracepath_glLightfv(GLenum light, GLenum pname, const GLfloat *params)
1795 {
1796         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(light), _get_value(pname), params);
1797         _orig_tracepath_glLightfv(light, pname, params);
1798         goto finish;
1799
1800 finish:
1801         _COREGL_TRACEPATH_FUNC_END("end");
1802 }
1803
1804 void
1805 tracepath_glLoadMatrixf(const GLfloat *m)
1806 {
1807         _COREGL_TRACEPATH_FUNC_BEGIN("(%p)", m);
1808         _orig_tracepath_glLoadMatrixf(m);
1809         goto finish;
1810
1811 finish:
1812         _COREGL_TRACEPATH_FUNC_END("end");
1813 }
1814
1815 void
1816 tracepath_glMaterialf(GLenum face, GLenum pname, GLfloat param)
1817 {
1818         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %f)", _get_value(face), _get_value(pname), param);
1819         _orig_tracepath_glMaterialf(face, pname, param);
1820         goto finish;
1821
1822 finish:
1823         _COREGL_TRACEPATH_FUNC_END("end");
1824 }
1825
1826 void
1827 tracepath_glMaterialfv(GLenum face, GLenum pname, const GLfloat *params)
1828 {
1829         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(face), _get_value(pname), params);
1830         _orig_tracepath_glMaterialfv(face, pname, params);
1831         goto finish;
1832
1833 finish:
1834         _COREGL_TRACEPATH_FUNC_END("end");
1835 }
1836
1837 void
1838 tracepath_glMultMatrixf(const GLfloat *m)
1839 {
1840         _COREGL_TRACEPATH_FUNC_BEGIN("(%p)", m);
1841         _orig_tracepath_glMultMatrixf(m);
1842         goto finish;
1843
1844 finish:
1845         _COREGL_TRACEPATH_FUNC_END("end");
1846 }
1847
1848 void
1849 tracepath_glMultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r,
1850                                                         GLfloat q)
1851 {
1852         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, s[%f], t[%f], r[%f], q[%f])", _get_value(target), s, t, r, q);
1853         _orig_tracepath_glMultiTexCoord4f(target, s, t, r, q);
1854         goto finish;
1855
1856 finish:
1857         _COREGL_TRACEPATH_FUNC_END("end");
1858 }
1859
1860 void
1861 tracepath_glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz)
1862 {
1863         _COREGL_TRACEPATH_FUNC_BEGIN("(nx[%f], ny[%f], nz[%f])", nx, ny, nz);
1864         _orig_tracepath_glNormal3f(nx, ny, nz);
1865         goto finish;
1866
1867 finish:
1868         _COREGL_TRACEPATH_FUNC_END("end");
1869 }
1870
1871 void
1872 tracepath_glOrthof(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top,
1873                                    GLfloat zNear, GLfloat zFar)
1874 {
1875         _COREGL_TRACEPATH_FUNC_BEGIN("(left[%f], right[%f], bottom[%f], top[%f],\
1876                                                                 zNear[%f], zFar[%f])", left, right, bottom, top, zNear, zFar);
1877         _orig_tracepath_glOrthof(left, right, bottom, top, zNear, zFar);
1878         goto finish;
1879
1880 finish:
1881         _COREGL_TRACEPATH_FUNC_END("end");
1882 }
1883
1884 void
1885 tracepath_glPointParameterf(GLenum pname, GLfloat param)
1886 {
1887         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %f)", _get_value(pname), param);
1888         _orig_tracepath_glPointParameterf(pname, param);
1889         goto finish;
1890
1891 finish:
1892         _COREGL_TRACEPATH_FUNC_END("end");
1893 }
1894
1895 void
1896 tracepath_glPointParameterfv(GLenum pname, const GLfloat *params)
1897 {
1898         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %p)", _get_value(pname), params);
1899         _orig_tracepath_glPointParameterfv(pname, params);
1900         goto finish;
1901
1902 finish:
1903         _COREGL_TRACEPATH_FUNC_END("end");
1904 }
1905
1906 void
1907 tracepath_glPointSize(GLfloat size)
1908 {
1909         _COREGL_TRACEPATH_FUNC_BEGIN("(%f)", size);
1910         _orig_tracepath_glPointSize(size);
1911         goto finish;
1912
1913 finish:
1914         _COREGL_TRACEPATH_FUNC_END("end");
1915 }
1916
1917 void
1918 tracepath_glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z)
1919 {
1920         _COREGL_TRACEPATH_FUNC_BEGIN("(angle[%f], x[%f], y[%f], z[%f])", angle, x, y, z);
1921         _orig_tracepath_glRotatef(angle, x, y, z);
1922         goto finish;
1923
1924 finish:
1925         _COREGL_TRACEPATH_FUNC_END("end");
1926 }
1927
1928 void
1929 tracepath_glScalef(GLfloat x, GLfloat y, GLfloat z)
1930 {
1931         _COREGL_TRACEPATH_FUNC_BEGIN("(x[%f], y[%f], z[%f])", x, y, z);
1932         _orig_tracepath_glScalef(x, y, z);
1933         goto finish;
1934
1935 finish:
1936         _COREGL_TRACEPATH_FUNC_END("end");
1937 }
1938
1939 void
1940 tracepath_glTexEnvf(GLenum target, GLenum pname, GLfloat param)
1941 {
1942         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %f)", _get_value(target), _get_value(pname), param);
1943         _orig_tracepath_glTexEnvf(target, pname, param);
1944         goto finish;
1945
1946 finish:
1947         _COREGL_TRACEPATH_FUNC_END("end");
1948 }
1949
1950 void
1951 tracepath_glTexEnvfv(GLenum target, GLenum pname, const GLfloat *params)
1952 {
1953         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(target), _get_value(pname), params);
1954         _orig_tracepath_glTexEnvfv(target, pname, params);
1955         goto finish;
1956
1957 finish:
1958         _COREGL_TRACEPATH_FUNC_END("end");
1959 }
1960
1961 void
1962 tracepath_glTranslatef(GLfloat x, GLfloat y, GLfloat z)
1963 {
1964         _COREGL_TRACEPATH_FUNC_BEGIN("(x[%f], y[%f], z[%f])", x, y, z);
1965         _orig_tracepath_glTranslatef(x, y, z);
1966         goto finish;
1967
1968 finish:
1969         _COREGL_TRACEPATH_FUNC_END("end");
1970 }
1971
1972 void
1973 tracepath_glAlphaFuncx(GLenum func, GLclampx ref)
1974 {
1975         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d)", _get_value(func), ref);
1976         _orig_tracepath_glAlphaFuncx(func, ref);
1977         goto finish;
1978
1979 finish:
1980         _COREGL_TRACEPATH_FUNC_END("end");
1981 }
1982
1983 void
1984 tracepath_glClearColorx(GLclampx red, GLclampx green, GLclampx blue,
1985                                                 GLclampx alpha)
1986 {
1987         _COREGL_TRACEPATH_FUNC_BEGIN("(R[%d], G[%d], B[%d], A[%d])", red, green, blue, alpha);
1988         _orig_tracepath_glClearColorx(red, green, blue, alpha);
1989         goto finish;
1990
1991 finish:
1992         _COREGL_TRACEPATH_FUNC_END("end");
1993 }
1994
1995 void
1996 tracepath_glClearDepthx(GLclampx depth)
1997 {
1998         _COREGL_TRACEPATH_FUNC_BEGIN("(%d)", depth);
1999         _orig_tracepath_glClearDepthx(depth);
2000         goto finish;
2001
2002 finish:
2003         _COREGL_TRACEPATH_FUNC_END("end");
2004 }
2005
2006 void
2007 tracepath_glClientActiveTexture(GLenum texture)
2008 {
2009         _COREGL_TRACEPATH_FUNC_BEGIN("(%s)", _get_value(texture));
2010         _orig_tracepath_glClientActiveTexture(texture);
2011         goto finish;
2012
2013 finish:
2014         _COREGL_TRACEPATH_FUNC_END("end");
2015 }
2016
2017 void
2018 tracepath_glClipPlanex(GLenum plane, const GLfixed *equation)
2019 {
2020         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %p)", _get_value(plane), equation);
2021         _orig_tracepath_glClipPlanex(plane, equation);
2022         goto finish;
2023
2024 finish:
2025         _COREGL_TRACEPATH_FUNC_END("end");
2026 }
2027
2028 void
2029 tracepath_glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha)
2030 {
2031         _COREGL_TRACEPATH_FUNC_BEGIN("(R[%d], G[%d], B[%d], A[%d])", red, green, blue, alpha);
2032         _orig_tracepath_glColor4ub(red, green, blue, alpha);
2033         goto finish;
2034
2035 finish:
2036         _COREGL_TRACEPATH_FUNC_END("end");
2037 }
2038
2039 void
2040 tracepath_glColor4x(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha)
2041 {
2042         _COREGL_TRACEPATH_FUNC_BEGIN("(R[%d], G[%d], B[%d], A[%d])", red, green, blue, alpha);
2043         _orig_tracepath_glColor4x(red, green, blue, alpha);
2044         goto finish;
2045
2046 finish:
2047         _COREGL_TRACEPATH_FUNC_END("end");
2048 }
2049
2050 void
2051 tracepath_glColorPointer(GLint size, GLenum type, GLsizei stride,
2052                                                  const GLvoid *pointer)
2053 {
2054         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %d, %p)", size, _get_value(type), stride, pointer);
2055         _orig_tracepath_glColorPointer(size, type, stride, pointer);
2056         goto finish;
2057
2058 finish:
2059         _COREGL_TRACEPATH_FUNC_END("end");
2060 }
2061
2062 void
2063 tracepath_glDepthRangex(GLclampx zNear, GLclampx zFar)
2064 {
2065         _COREGL_TRACEPATH_FUNC_BEGIN("(zNear[%d], zFar[%d])", zNear, zFar);
2066         _orig_tracepath_glDepthRangex(zNear, zFar);
2067         goto finish;
2068
2069 finish:
2070         _COREGL_TRACEPATH_FUNC_END("end");
2071 }
2072
2073 void
2074 tracepath_glDisableClientState(GLenum array)
2075 {
2076         _COREGL_TRACEPATH_FUNC_BEGIN("(%s)", _get_value(array));
2077         _orig_tracepath_glDisableClientState(array);
2078         goto finish;
2079
2080 finish:
2081         _COREGL_TRACEPATH_FUNC_END("end");
2082 }
2083
2084 void
2085 tracepath_glEnableClientState(GLenum array)
2086 {
2087         _COREGL_TRACEPATH_FUNC_BEGIN("(%s)", _get_value(array));
2088         _orig_tracepath_glEnableClientState(array);
2089         goto finish;
2090
2091 finish:
2092         _COREGL_TRACEPATH_FUNC_END("end");
2093 }
2094
2095 void
2096 tracepath_glFogx(GLenum pname, GLfixed param)
2097 {
2098         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d)", _get_value(pname), param);
2099         _orig_tracepath_glFogx(pname, param);
2100         goto finish;
2101
2102 finish:
2103         _COREGL_TRACEPATH_FUNC_END("end");
2104 }
2105
2106 void
2107 tracepath_glFogxv(GLenum pname, const GLfixed *params)
2108 {
2109         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %p)", _get_value(pname), params);
2110         _orig_tracepath_glFogxv(pname, params);
2111         goto finish;
2112
2113 finish:
2114         _COREGL_TRACEPATH_FUNC_END("end");
2115 }
2116
2117 void
2118 tracepath_glFrustumx(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top,
2119                                          GLfixed zNear, GLfixed zFar)
2120 {
2121         _COREGL_TRACEPATH_FUNC_BEGIN("(left[%d], right[%d], bottom[%d], top[%d], zNear[%d], zFar[%d])",
2122                                                                         left, right, bottom, top, zNear, zFar);
2123         _orig_tracepath_glFrustumx(left, right, bottom, top, zNear, zFar);
2124         goto finish;
2125
2126 finish:
2127         _COREGL_TRACEPATH_FUNC_END("end");
2128 }
2129
2130 void
2131 tracepath_glGetClipPlanex(GLenum pname, GLfixed eqn[4])
2132 {
2133         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d, %d, %d, %d)", _get_value(pname), eqn[0], eqn[1], eqn[2], eqn[3]);
2134         _orig_tracepath_glGetClipPlanex(pname, eqn);
2135         goto finish;
2136
2137 finish:
2138         _COREGL_TRACEPATH_FUNC_END("end");
2139 }
2140
2141 void
2142 tracepath_glGetFixedv(GLenum pname, GLfixed *params)
2143 {
2144         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %p)", _get_value(pname), params);
2145         _orig_tracepath_glGetFixedv(pname, params);
2146         goto finish;
2147
2148 finish:
2149         _COREGL_TRACEPATH_FUNC_END("end");
2150 }
2151
2152 void
2153 tracepath_glGetLightxv(GLenum light, GLenum pname, GLfixed *params)
2154 {
2155         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(light), _get_value(pname), params);
2156         _orig_tracepath_glGetLightxv(light, pname, params);
2157         goto finish;
2158
2159 finish:
2160         _COREGL_TRACEPATH_FUNC_END("end");
2161 }
2162
2163 void
2164 tracepath_glGetMaterialxv(GLenum face, GLenum pname, GLfixed *params)
2165 {
2166         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(face), _get_value(pname), params);
2167         _orig_tracepath_glGetMaterialxv(face, pname, params);
2168         goto finish;
2169
2170 finish:
2171         _COREGL_TRACEPATH_FUNC_END("end");
2172 }
2173
2174 void
2175 tracepath_glGetTexEnviv(GLenum env, GLenum pname, GLint *params)
2176 {
2177         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(env), _get_value(pname), params);
2178         _orig_tracepath_glGetTexEnviv(env, pname, params);
2179         goto finish;
2180
2181 finish:
2182         _COREGL_TRACEPATH_FUNC_END("end");
2183 }
2184
2185 void
2186 tracepath_glGetTexEnvxv(GLenum env, GLenum pname, GLfixed *params)
2187 {
2188         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(env), _get_value(pname), params);
2189         _orig_tracepath_glGetTexEnvxv(env, pname, params);
2190         goto finish;
2191
2192 finish:
2193         _COREGL_TRACEPATH_FUNC_END("end");
2194 }
2195
2196 void
2197 tracepath_glGetTexParameterxv(GLenum target, GLenum pname, GLfixed *params)
2198 {
2199         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(target), _get_value(pname), params);
2200         _orig_tracepath_glGetTexParameterxv(target, pname, params);
2201         goto finish;
2202
2203 finish:
2204         _COREGL_TRACEPATH_FUNC_END("end");
2205 }
2206
2207 void
2208 tracepath_glLightModelx(GLenum pname, GLfixed param)
2209 {
2210         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d)", _get_value(pname), param);
2211         _orig_tracepath_glLightModelx(pname, param);
2212         goto finish;
2213
2214 finish:
2215         _COREGL_TRACEPATH_FUNC_END("end");
2216 }
2217
2218 void
2219 tracepath_glLightModelxv(GLenum pname, const GLfixed *params)
2220 {
2221         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %p)", _get_value(pname), params);
2222         _orig_tracepath_glLightModelxv(pname, params);
2223         goto finish;
2224
2225 finish:
2226         _COREGL_TRACEPATH_FUNC_END("end");
2227 }
2228
2229 void
2230 tracepath_glLightx(GLenum light, GLenum pname, GLfixed param)
2231 {
2232         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %d)", _get_value(light), _get_value(pname), param);
2233         _orig_tracepath_glLightx(light, pname, param);
2234         goto finish;
2235
2236 finish:
2237         _COREGL_TRACEPATH_FUNC_END("end");
2238 }
2239
2240 void
2241 tracepath_glLightxv(GLenum light, GLenum pname, const GLfixed *params)
2242 {
2243         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(light), _get_value(pname), params);
2244         _orig_tracepath_glLightxv(light, pname, params);
2245         goto finish;
2246
2247 finish:
2248         _COREGL_TRACEPATH_FUNC_END("end");
2249 }
2250
2251 void
2252 tracepath_glLineWidthx(GLfixed width)
2253 {
2254         _COREGL_TRACEPATH_FUNC_BEGIN("(%d)", width);
2255         _orig_tracepath_glLineWidthx(width);
2256         goto finish;
2257
2258 finish:
2259         _COREGL_TRACEPATH_FUNC_END("end");
2260 }
2261
2262 void
2263 tracepath_glLoadIdentity(void)
2264 {
2265         _COREGL_TRACEPATH_FUNC_BEGIN("start");
2266         _orig_tracepath_glLoadIdentity();
2267         goto finish;
2268
2269 finish:
2270         _COREGL_TRACEPATH_FUNC_END("end");
2271 }
2272
2273 void
2274 tracepath_glLoadMatrixx(const GLfixed *m)
2275 {
2276         _COREGL_TRACEPATH_FUNC_BEGIN("(%p)", m);
2277         _orig_tracepath_glLoadMatrixx(m);
2278         goto finish;
2279
2280 finish:
2281         _COREGL_TRACEPATH_FUNC_END("end");
2282 }
2283
2284 void
2285 tracepath_glLogicOp(GLenum opcode)
2286 {
2287         _COREGL_TRACEPATH_FUNC_BEGIN("(%s)", _get_value(opcode));
2288         _orig_tracepath_glLogicOp(opcode);
2289         goto finish;
2290
2291 finish:
2292         _COREGL_TRACEPATH_FUNC_END("end");
2293 }
2294
2295 void
2296 tracepath_glMaterialx(GLenum face, GLenum pname, GLfixed param)
2297 {
2298         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %d)", _get_value(face), _get_value(pname), param);
2299         _orig_tracepath_glMaterialx(face, pname, param);
2300         goto finish;
2301
2302 finish:
2303         _COREGL_TRACEPATH_FUNC_END("end");
2304 }
2305
2306 void
2307 tracepath_glMaterialxv(GLenum face, GLenum pname, const GLfixed *params)
2308 {
2309         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(face), _get_value(pname), params);
2310         _orig_tracepath_glMaterialxv(face, pname, params);
2311         goto finish;
2312
2313 finish:
2314         _COREGL_TRACEPATH_FUNC_END("end");
2315 }
2316
2317 void
2318 tracepath_glMatrixMode(GLenum mode)
2319 {
2320         _COREGL_TRACEPATH_FUNC_BEGIN("(%s)", _get_value(mode));
2321         _orig_tracepath_glMatrixMode(mode);
2322         goto finish;
2323
2324 finish:
2325         _COREGL_TRACEPATH_FUNC_END("end");
2326 }
2327
2328 void
2329 tracepath_glMultMatrixx(const GLfixed *m)
2330 {
2331         _COREGL_TRACEPATH_FUNC_BEGIN("(%p)", m);
2332         _orig_tracepath_glMultMatrixx(m);
2333         goto finish;
2334
2335 finish:
2336         _COREGL_TRACEPATH_FUNC_END("end");
2337 }
2338
2339 void
2340 tracepath_glMultiTexCoord4x(GLenum target, GLfixed s, GLfixed t, GLfixed r,
2341                                                         GLfixed q)
2342 {
2343         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, s[%d], t[%d], r[%d], q[%d])", _get_value(target), s, t, r, q);
2344         _orig_tracepath_glMultiTexCoord4x(target, s, t, r, q);
2345         goto finish;
2346
2347 finish:
2348         _COREGL_TRACEPATH_FUNC_END("end");
2349 }
2350
2351 void
2352 tracepath_glNormal3x(GLfixed nx, GLfixed ny, GLfixed nz)
2353 {
2354         _COREGL_TRACEPATH_FUNC_BEGIN("(nx[%d], ny[%d], nz[%d])", nx, ny, nz);
2355         _orig_tracepath_glNormal3x(nx, ny, nz);
2356         goto finish;
2357
2358 finish:
2359         _COREGL_TRACEPATH_FUNC_END("end");
2360 }
2361
2362 void
2363 tracepath_glNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer)
2364 {
2365         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d, %p)", _get_value(type), stride, pointer);
2366         _orig_tracepath_glNormalPointer(type, stride, pointer);
2367         goto finish;
2368
2369 finish:
2370         _COREGL_TRACEPATH_FUNC_END("end");
2371 }
2372
2373 void
2374 tracepath_glOrthox(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top,
2375                                    GLfixed zNear, GLfixed zFar)
2376 {
2377         _COREGL_TRACEPATH_FUNC_BEGIN("(left[%d], right[%d], bottom[%d], top[%d], zNear[%d], zFar[%d])",
2378                                                                         left, right, bottom, top, zNear, zFar);
2379         _orig_tracepath_glOrthox(left, right, bottom, top, zNear, zFar);
2380         goto finish;
2381
2382 finish:
2383         _COREGL_TRACEPATH_FUNC_END("end");
2384 }
2385
2386 void
2387 tracepath_glPointParameterx(GLenum pname, GLfixed param)
2388 {
2389         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d)", _get_value(pname), param);
2390         _orig_tracepath_glPointParameterx(pname, param);
2391         goto finish;
2392
2393 finish:
2394         _COREGL_TRACEPATH_FUNC_END("end");
2395 }
2396
2397 void
2398 tracepath_glPointParameterxv(GLenum pname, const GLfixed *params)
2399 {
2400         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %p)", _get_value(pname), params);
2401         _orig_tracepath_glPointParameterxv(pname, params);
2402         goto finish;
2403
2404 finish:
2405         _COREGL_TRACEPATH_FUNC_END("end");
2406 }
2407
2408 void
2409 tracepath_glPointSizex(GLfixed size)
2410 {
2411         _COREGL_TRACEPATH_FUNC_BEGIN("(%d)", size);
2412         _orig_tracepath_glPointSizex(size);
2413         goto finish;
2414
2415 finish:
2416         _COREGL_TRACEPATH_FUNC_END("end");
2417 }
2418
2419 void
2420 tracepath_glPolygonOffsetx(GLfixed factor, GLfixed units)
2421 {
2422         _COREGL_TRACEPATH_FUNC_BEGIN("(factor[%d], units[%d])", factor, units);
2423         _orig_tracepath_glPolygonOffsetx(factor, units);
2424         goto finish;
2425
2426 finish:
2427         _COREGL_TRACEPATH_FUNC_END("end");
2428 }
2429
2430 void
2431 tracepath_glPopMatrix(void)
2432 {
2433         _COREGL_TRACEPATH_FUNC_BEGIN("start");
2434         _orig_tracepath_glPopMatrix();
2435         goto finish;
2436
2437 finish:
2438         _COREGL_TRACEPATH_FUNC_END("end");
2439 }
2440
2441 void
2442 tracepath_glPushMatrix(void)
2443 {
2444         _COREGL_TRACEPATH_FUNC_BEGIN("start");
2445         _orig_tracepath_glPushMatrix();
2446         goto finish;
2447
2448 finish:
2449         _COREGL_TRACEPATH_FUNC_END("end");
2450 }
2451
2452 void
2453 tracepath_glRotatex(GLfixed angle, GLfixed x, GLfixed y, GLfixed z)
2454 {
2455         _COREGL_TRACEPATH_FUNC_BEGIN("(angle[%d], x[%d], y[%d], z[%d])", angle, x, y, z);
2456         _orig_tracepath_glRotatex (angle, x, y, z);
2457         goto finish;
2458
2459 finish:
2460         _COREGL_TRACEPATH_FUNC_END("end");
2461 }
2462
2463 void
2464 tracepath_glSampleCoveragex(GLclampx value, GLboolean invert)
2465 {
2466         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d)", value, invert);
2467         _orig_tracepath_glSampleCoveragex(value, invert);
2468         goto finish;
2469
2470 finish:
2471         _COREGL_TRACEPATH_FUNC_END("end");
2472 }
2473
2474 void
2475 tracepath_glScalex(GLfixed x, GLfixed y, GLfixed z)
2476 {
2477         _COREGL_TRACEPATH_FUNC_BEGIN("(x[%d], y[%d], z[%d])", x, y, z);
2478         _orig_tracepath_glScalex (x, y, z);
2479         goto finish;
2480
2481 finish:
2482         _COREGL_TRACEPATH_FUNC_END("end");
2483 }
2484
2485 void
2486 tracepath_glShadeModel(GLenum mode)
2487 {
2488         _COREGL_TRACEPATH_FUNC_BEGIN("(%s)", _get_value(mode));
2489         _orig_tracepath_glShadeModel(mode);
2490         goto finish;
2491
2492 finish:
2493         _COREGL_TRACEPATH_FUNC_END("end");
2494 }
2495
2496 void
2497 tracepath_glTexCoordPointer(GLint size, GLenum type, GLsizei stride,
2498                                                         const GLvoid *pointer)
2499 {
2500         _COREGL_TRACEPATH_FUNC_BEGIN("(size[%d], type[%s], stride[%d], pointer[%p])",
2501                                                                 size, _get_value(type), stride, pointer);
2502         _orig_tracepath_glTexCoordPointer(size, type, stride, pointer);
2503         goto finish;
2504
2505 finish:
2506         _COREGL_TRACEPATH_FUNC_END("end");
2507 }
2508
2509 void
2510 tracepath_glTexEnvi(GLenum target, GLenum pname, GLint param)
2511 {
2512         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %d)", _get_value(target), _get_value(pname), param);
2513         _orig_tracepath_glTexEnvi(target, pname, param);
2514         goto finish;
2515
2516 finish:
2517         _COREGL_TRACEPATH_FUNC_END("end");
2518 }
2519
2520 void
2521 tracepath_glTexEnvx(GLenum target, GLenum pname, GLfixed param)
2522 {
2523         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %d)", _get_value(target), _get_value(pname), param);
2524         _orig_tracepath_glTexEnvx(target, pname, param);
2525         goto finish;
2526
2527 finish:
2528         _COREGL_TRACEPATH_FUNC_END("end");
2529 }
2530
2531 void
2532 tracepath_glTexEnviv(GLenum target, GLenum pname, const GLint *params)
2533 {
2534         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(target), _get_value(pname), params);
2535         _orig_tracepath_glTexEnviv(target, pname, params);
2536         goto finish;
2537
2538 finish:
2539         _COREGL_TRACEPATH_FUNC_END("end");
2540 }
2541
2542 void
2543 tracepath_glTexEnvxv(GLenum target, GLenum pname, const GLfixed *params)
2544 {
2545         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(target), _get_value(pname), params);
2546         _orig_tracepath_glTexEnvxv(target, pname, params);
2547         goto finish;
2548
2549 finish:
2550         _COREGL_TRACEPATH_FUNC_END("end");
2551 }
2552
2553 void
2554 tracepath_glTexParameterx(GLenum target, GLenum pname, GLfixed param)
2555 {
2556         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %d)", _get_value(target), _get_value(pname), param);
2557         _orig_tracepath_glTexParameterx(target, pname, param);
2558         goto finish;
2559
2560 finish:
2561         _COREGL_TRACEPATH_FUNC_END("end");
2562 }
2563
2564 void
2565 tracepath_glTexParameterxv(GLenum target, GLenum pname, const GLfixed *params)
2566 {
2567         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(target), _get_value(pname), params);
2568         _orig_tracepath_glTexParameterxv(target, pname, params);
2569         goto finish;
2570
2571 finish:
2572         _COREGL_TRACEPATH_FUNC_END("end");
2573 }
2574
2575 void
2576 tracepath_glTranslatex(GLfixed x, GLfixed y, GLfixed z)
2577 {
2578         _COREGL_TRACEPATH_FUNC_BEGIN("(x[%d], y[%d], z[%d])", x, y, z);
2579         _orig_tracepath_glTranslatex(x, y, z);
2580         goto finish;
2581
2582 finish:
2583         _COREGL_TRACEPATH_FUNC_END("end");
2584 }
2585
2586 void
2587 tracepath_glVertexPointer(GLint size, GLenum type, GLsizei stride,
2588                                                   const GLvoid *pointer)
2589 {
2590         _COREGL_TRACEPATH_FUNC_BEGIN("(size[%d], type[%s], stride[%d], pointer[%p])",
2591                                                                 size, _get_value(type), stride, pointer);
2592         _orig_tracepath_glVertexPointer(size, type, stride, pointer);
2593         goto finish;
2594
2595 finish:
2596         _COREGL_TRACEPATH_FUNC_END("end");
2597 }
2598
2599 /* Khronos GLES 1.1 CTS requires glPointSizePointerOES as shared library symbol.*/
2600 void
2601 tracepath_glPointSizePointerOES(GLenum type, GLsizei stride,
2602                                                                 const GLvoid *pointer)
2603 {
2604         _COREGL_TRACEPATH_FUNC_BEGIN("(type[%s], stride[%d], pointer[%p])",
2605                                                                 _get_value(type), stride, pointer);
2606         _orig_tracepath_glPointSizePointerOES(type, stride, pointer);
2607         goto finish;
2608
2609 finish:
2610         _COREGL_TRACEPATH_FUNC_END("end");
2611 }
2612
2613 /* end of GLES 1.1*/
2614
2615 /* GLES 1.1 extensions */
2616 void
2617 tracepath_glDrawTexsOES(GLshort x, GLshort y, GLshort z, GLshort width,
2618                                                 GLshort height)
2619 {
2620         _COREGL_TRACEPATH_FUNC_BEGIN("(x[%d], y[%d], z[%d], width[%d], height[%d])",
2621                                                                         x, y, z, width, height);
2622         _orig_tracepath_glDrawTexsOES(x, y, z, width, height);
2623
2624         goto finish;
2625
2626 finish:
2627         _COREGL_TRACEPATH_FUNC_END("end");
2628 }
2629
2630 void
2631 tracepath_glDrawTexiOES(GLint x, GLint y, GLint z, GLint width, GLint height)
2632 {
2633         _COREGL_TRACEPATH_FUNC_BEGIN("(x[%d], y[%d], z[%d], width[%d], height[%d])",
2634                                                                 x, y, z, width, height);
2635         _orig_tracepath_glDrawTexiOES(x, y, z, width, height);
2636
2637         goto finish;
2638
2639 finish:
2640         _COREGL_TRACEPATH_FUNC_END("end");
2641 }
2642
2643 void
2644 tracepath_glDrawTexxOES(GLfixed x, GLfixed y, GLfixed z, GLfixed width,
2645                                                 GLfixed height)
2646 {
2647         _COREGL_TRACEPATH_FUNC_BEGIN("(x[%d], y[%d], z[%d], width[%d], height[%d])",
2648                                                                 x, y, z, width, height);
2649         _orig_tracepath_glDrawTexxOES(x, y, z, width, height);
2650
2651         goto finish;
2652
2653 finish:
2654         _COREGL_TRACEPATH_FUNC_END("end");
2655 }
2656
2657 void
2658 tracepath_glDrawTexsvOES(const GLshort *coords)
2659 {
2660         _COREGL_TRACEPATH_FUNC_BEGIN("(%p)", coords);
2661         _orig_tracepath_glDrawTexsvOES(coords);
2662
2663         goto finish;
2664
2665 finish:
2666         _COREGL_TRACEPATH_FUNC_END("end");
2667 }
2668
2669 void
2670 tracepath_glDrawTexivOES(const GLint *coords)
2671 {
2672         _COREGL_TRACEPATH_FUNC_BEGIN("(%p)", coords);
2673         _orig_tracepath_glDrawTexivOES(coords);
2674
2675         goto finish;
2676
2677 finish:
2678         _COREGL_TRACEPATH_FUNC_END("end");
2679 }
2680
2681 void
2682 tracepath_glDrawTexxvOES(const GLfixed *coords)
2683 {
2684         _COREGL_TRACEPATH_FUNC_BEGIN("(%p)", coords);
2685         _orig_tracepath_glDrawTexxvOES(coords);
2686
2687         goto finish;
2688
2689 finish:
2690         _COREGL_TRACEPATH_FUNC_END("end");
2691 }
2692
2693 void
2694 tracepath_glDrawTexfOES(GLfloat x, GLfloat y, GLfloat z, GLfloat width,
2695                                                 GLfloat height)
2696 {
2697         _COREGL_TRACEPATH_FUNC_BEGIN("(x[%f], y[%f], z[%f], width[%f], height[%f])",
2698                                                                 x, y, z, width, height);
2699         _orig_tracepath_glDrawTexfOES(x, y, z, width, height);
2700
2701         goto finish;
2702
2703 finish:
2704         _COREGL_TRACEPATH_FUNC_END("end");
2705 }
2706
2707 void
2708 tracepath_glDrawTexfvOES(const GLfloat *coords)
2709 {
2710         _COREGL_TRACEPATH_FUNC_BEGIN("(%p)", coords);
2711         _orig_tracepath_glDrawTexfvOES(coords);
2712
2713         goto finish;
2714
2715 finish:
2716         _COREGL_TRACEPATH_FUNC_END("end");
2717 }
2718
2719 void
2720 tracepath_glCurrentPaletteMatrixOES(GLuint matrixpaletteindex)
2721 {
2722         _COREGL_TRACEPATH_FUNC_BEGIN("(%d)", matrixpaletteindex);
2723         _orig_tracepath_glCurrentPaletteMatrixOES(matrixpaletteindex);
2724
2725         goto finish;
2726
2727 finish:
2728         _COREGL_TRACEPATH_FUNC_END("end");
2729 }
2730
2731 void
2732 tracepath_glLoadPaletteFromModelViewMatrixOES(void)
2733 {
2734         _COREGL_TRACEPATH_FUNC_BEGIN("start");
2735         _orig_tracepath_glLoadPaletteFromModelViewMatrixOES();
2736
2737         goto finish;
2738
2739 finish:
2740         _COREGL_TRACEPATH_FUNC_END("end");
2741 }
2742
2743 void
2744 tracepath_glMatrixIndexPointerOES(GLint size, GLenum type, GLsizei stride,
2745                                                                   const GLvoid *pointer)
2746 {
2747         _COREGL_TRACEPATH_FUNC_BEGIN("(size[%d], type[%s], stride[%d], pointer[%p])",
2748                                                                 size, _get_value(type), stride, pointer);
2749         _orig_tracepath_glMatrixIndexPointerOES(size, type, stride, pointer);
2750
2751         goto finish;
2752
2753 finish:
2754         _COREGL_TRACEPATH_FUNC_END("end");
2755 }
2756
2757 void
2758 tracepath_glWeightPointerOES(GLint size, GLenum type, GLsizei stride,
2759                                                          const GLvoid *pointer)
2760 {
2761         _COREGL_TRACEPATH_FUNC_BEGIN("(size[%d], type[%s], stride[%d], pointer[%p])",
2762                                                                 size, _get_value(type), stride, pointer);
2763         _orig_tracepath_glWeightPointerOES(size, type, stride, pointer);
2764
2765         goto finish;
2766
2767 finish:
2768         _COREGL_TRACEPATH_FUNC_END("end");
2769 }
2770
2771 GLbitfield
2772 tracepath_glQueryMatrixxOES(GLfixed mantissa[16], GLint exponent[16])
2773 {
2774         GLuint ret = _COREGL_INT_INIT_VALUE;
2775
2776         _COREGL_TRACEPATH_FUNC_BEGIN("(%p, %p)", mantissa, exponent);
2777         ret = _orig_tracepath_glQueryMatrixxOES(mantissa, exponent);
2778
2779         goto finish;
2780
2781 finish:
2782         _COREGL_TRACEPATH_FUNC_END("ret[%d]", ret);
2783         return ret;
2784 }
2785
2786 void
2787 tracepath_glTexGenfOES(GLenum coord, GLenum pname, GLfloat param)
2788 {
2789         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %f)", _get_value(coord), _get_value(pname),
2790                                                                 param);
2791         _orig_tracepath_glTexGenfOES(coord, pname, param);
2792
2793         goto finish;
2794
2795 finish:
2796         _COREGL_TRACEPATH_FUNC_END("end");
2797 }
2798
2799 void
2800 tracepath_glTexGenfvOES(GLenum coord, GLenum pname, const GLfloat *params)
2801 {
2802         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(coord), _get_value(pname),
2803                                                                 params);
2804         _orig_tracepath_glTexGenfvOES(coord, pname, params);
2805
2806         goto finish;
2807
2808 finish:
2809         _COREGL_TRACEPATH_FUNC_END("end");
2810 }
2811
2812 void
2813 tracepath_glTexGeniOES(GLenum coord, GLenum pname, GLint param)
2814 {
2815         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %d)", _get_value(coord), _get_value(pname),
2816                                                                 param);
2817         _orig_tracepath_glTexGeniOES(coord, pname, param);
2818
2819         goto finish;
2820
2821 finish:
2822         _COREGL_TRACEPATH_FUNC_END("end");
2823 }
2824
2825 void
2826 tracepath_glTexGenivOES(GLenum coord, GLenum pname, const GLint *params)
2827 {
2828         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(coord), _get_value(pname),
2829                                                                 params);
2830         _orig_tracepath_glTexGenivOES(coord, pname, params);
2831
2832         goto finish;
2833
2834 finish:
2835         _COREGL_TRACEPATH_FUNC_END("end");
2836 }
2837
2838 void
2839 tracepath_glTexGenxOES(GLenum coord, GLenum pname, GLfixed param)
2840 {
2841         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %d)", _get_value(coord), _get_value(pname),
2842                                                                 param);
2843         _orig_tracepath_glTexGenxOES(coord, pname, param);
2844
2845         goto finish;
2846
2847 finish:
2848         _COREGL_TRACEPATH_FUNC_END("end");
2849 }
2850
2851 void
2852 tracepath_glTexGenxvOES(GLenum coord, GLenum pname, const GLfixed *params)
2853 {
2854         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(coord), _get_value(pname),
2855                                                                 params);
2856         _orig_tracepath_glTexGenxvOES(coord, pname, params);
2857
2858         goto finish;
2859
2860 finish:
2861         _COREGL_TRACEPATH_FUNC_END("end");
2862 }
2863
2864 void
2865 tracepath_glGetTexGenfvOES(GLenum coord, GLenum pname, GLfloat *params)
2866 {
2867         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(coord), _get_value(pname),
2868                                                                 params);
2869         _orig_tracepath_glGetTexGenfvOES(coord, pname, params);
2870
2871         goto finish;
2872
2873 finish:
2874         _COREGL_TRACEPATH_FUNC_END("end");
2875 }
2876
2877 void
2878 tracepath_glGetTexGenivOES(GLenum coord, GLenum pname, GLint *params)
2879 {
2880         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(coord), _get_value(pname),
2881                                                                 params);
2882         _orig_tracepath_glGetTexGenivOES(coord, pname, params);
2883
2884         goto finish;
2885
2886 finish:
2887         _COREGL_TRACEPATH_FUNC_END("end");
2888 }
2889
2890 void
2891 tracepath_glGetTexGenxvOES(GLenum coord, GLenum pname, GLfixed *params)
2892 {
2893         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(coord), _get_value(pname),
2894                                                                 params);
2895         _orig_tracepath_glGetTexGenxvOES(coord, pname, params);
2896
2897         goto finish;
2898
2899 finish:
2900         _COREGL_TRACEPATH_FUNC_END("end");
2901 }
2902
2903 void
2904 tracepath_glClipPlanefIMG(GLenum plane, const GLfloat *equation)
2905 {
2906         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %p)", _get_value(plane), equation);
2907         _orig_tracepath_glClipPlanefIMG(plane, equation);
2908
2909         goto finish;
2910
2911 finish:
2912         _COREGL_TRACEPATH_FUNC_END("end");
2913 }
2914
2915 void
2916 tracepath_glClipPlanexIMG(GLenum plane, const GLfixed *equation)
2917 {
2918         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %p)", _get_value(plane), equation);
2919         _orig_tracepath_glClipPlanexIMG(plane, equation);
2920
2921         goto finish;
2922
2923 finish:
2924         _COREGL_TRACEPATH_FUNC_END("end");
2925 }
2926
2927 /* end of GLES 1.1 extensions */
2928
2929 /* common extensions in GLES1.1 and GLES2.0 */
2930 void
2931 tracepath_glRenderbufferStorageMultisampleAPPLE(GLenum target, GLsizei samples,
2932                 GLenum internalformat, GLsizei width, GLsizei height)
2933 {
2934         _COREGL_TRACEPATH_FUNC_BEGIN("(target[%s], samples[%d], internalformat[%s], w[%d], h[%d])",
2935                                                                 _get_value(target), samples, _get_value(internalformat), width, height);
2936         _orig_tracepath_glRenderbufferStorageMultisampleAPPLE(target, samples,
2937                         internalformat, width, height);
2938
2939         goto finish;
2940
2941 finish:
2942         _COREGL_TRACEPATH_FUNC_END("end");
2943 }
2944
2945 void
2946 tracepath_glResolveMultisampleFramebufferAPPLE(void)
2947 {
2948         _COREGL_TRACEPATH_FUNC_BEGIN("start");
2949         _orig_tracepath_glResolveMultisampleFramebufferAPPLE();
2950
2951         goto finish;
2952
2953 finish:
2954         _COREGL_TRACEPATH_FUNC_END("end");
2955 }
2956
2957 void
2958 tracepath_glMultiDrawArraysEXT(GLenum mode, const GLint *first,
2959                                                            const GLsizei *count, GLsizei primcount)
2960 {
2961         _COREGL_TRACEPATH_FUNC_BEGIN("(mode[%s], first[%p], count[%p], primcount[%d])",
2962                                                                 _get_value(mode), first, count, primcount);
2963         _orig_tracepath_glMultiDrawArraysEXT(mode, first, count, primcount);
2964
2965         goto finish;
2966
2967 finish:
2968         _COREGL_TRACEPATH_FUNC_END("end");
2969 }
2970
2971 void
2972 tracepath_glMultiDrawElementsEXT(GLenum mode, const GLsizei *count, GLenum type,
2973                                                                  const void *const *indices, GLsizei primcount)
2974 {
2975         _COREGL_TRACEPATH_FUNC_BEGIN("(mode[%s], count[%p], type[%s], indices[%p], primcount[%d])",
2976                                                                 _get_value(mode), count, _get_value(type), indices, primcount);
2977         _orig_tracepath_glMultiDrawElementsEXT(mode, count, type, indices, primcount);
2978
2979         goto finish;
2980
2981 finish:
2982         _COREGL_TRACEPATH_FUNC_END("end");
2983 }
2984
2985 void
2986 tracepath_glRenderbufferStorageMultisampleIMG(GLenum target, GLsizei samples,
2987                 GLenum internalformat, GLsizei width, GLsizei height)
2988 {
2989         _COREGL_TRACEPATH_FUNC_BEGIN("(target[%s], samples[%d], internalformat[%s], w[%d], h[%d])",
2990                                                         _get_value(target), samples, _get_value(internalformat), width, height);
2991         _orig_tracepath_glRenderbufferStorageMultisampleIMG(target, samples,
2992                         internalformat, width, height);
2993
2994         goto finish;
2995
2996 finish:
2997         _COREGL_TRACEPATH_FUNC_END("end");
2998 }
2999
3000 void
3001 tracepath_glFramebufferTexture2DMultisampleIMG(GLenum target, GLenum attachment,
3002                 GLenum textarget, GLuint texture, GLint level, GLsizei samples)
3003 {
3004         _COREGL_TRACEPATH_FUNC_BEGIN("(target[%s], attachment[%s], textarget[%s], texture[%d], level[%d], samples[%d])",
3005                                                         _get_value(target), _get_value(attachment), _get_value(textarget),
3006                                                         texture, level, samples);
3007         _orig_tracepath_glFramebufferTexture2DMultisampleIMG(target, attachment,
3008                         textarget, texture, level, samples);
3009
3010         goto finish;
3011
3012 finish:
3013         _COREGL_TRACEPATH_FUNC_END("end");
3014 }
3015 /* end of common extensions in GLES1.1 and GLES2.0 */
3016
3017 void
3018 tracepath_glActiveTexture(GLenum texture)
3019 {
3020         _COREGL_TRACEPATH_FUNC_BEGIN("(%s)", _get_value(texture));
3021         _orig_tracepath_glActiveTexture(texture);
3022
3023         goto finish;
3024
3025 finish:
3026         _COREGL_TRACEPATH_FUNC_END("end");
3027 }
3028
3029 void
3030 tracepath_glAttachShader(GLuint program, GLuint shader)
3031 {
3032         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d)", program, shader);
3033         _orig_tracepath_glAttachShader(program, shader);
3034
3035         goto finish;
3036
3037 finish:
3038         _COREGL_TRACEPATH_FUNC_END("end");
3039 }
3040
3041 void
3042 tracepath_glBindAttribLocation(GLuint program, GLuint index, const char *name)
3043 {
3044         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %s)", program, index, name);
3045         _orig_tracepath_glBindAttribLocation(program, index, name);
3046
3047         goto finish;
3048
3049 finish:
3050         _COREGL_TRACEPATH_FUNC_END("end");
3051 }
3052
3053 void
3054 tracepath_glBindBuffer(GLenum target, GLuint buffer)
3055 {
3056         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d)", _get_value(target), buffer);
3057         _orig_tracepath_glBindBuffer(target, buffer);
3058
3059         goto finish;
3060
3061 finish:
3062         _COREGL_TRACEPATH_FUNC_END("end");
3063 }
3064
3065 static void
3066 _tp_glBindFramebuffer(GLenum target, GLuint framebuffer, TRACEPATH_FUNC_TYPE ftype)
3067 {
3068 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
3069         if (unlikely(get_trace_surface_flag() == 1)) {
3070                 GLint oldfb;
3071                 _orig_tracepath_glGetIntegerv(GL_FRAMEBUFFER_BINDING, &oldfb);
3072                 if (oldfb != 0) {
3073                         _COREGL_TRACE_SURFACE(0, 2, "GLBINDFBO");
3074                 }
3075
3076                 tracepath_fbdump_update(0);
3077         }
3078 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
3079
3080         switch (ftype) {
3081         case TRACEPATH_FUNC_TYPE_STANDARD:
3082                 _orig_tracepath_glBindFramebuffer(target, framebuffer);
3083                 break;
3084         case TRACEPATH_FUNC_TYPE_OES:
3085                 _orig_tracepath_glBindFramebufferOES(target, framebuffer);
3086                 break;
3087         default:
3088                 goto finish;
3089         }
3090
3091 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
3092         if (unlikely(get_trace_surface_flag() == 1)) {
3093                 tracepath_fbdump_update(1);
3094         }
3095 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
3096
3097         goto finish;
3098
3099 finish:
3100         return;
3101 }
3102
3103 void
3104 tracepath_glBindFramebuffer(GLenum target, GLuint framebuffer)
3105 {
3106         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d)", _get_value(target), framebuffer);
3107
3108         _tp_glBindFramebuffer(target, framebuffer, TRACEPATH_FUNC_TYPE_STANDARD);
3109
3110         _COREGL_TRACEPATH_FUNC_END("end");
3111 }
3112
3113 void
3114 tracepath_glBindRenderbuffer(GLenum target, GLuint renderbuffer)
3115 {
3116         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d)", _get_value(target), renderbuffer);
3117         _orig_tracepath_glBindRenderbuffer(target, renderbuffer);
3118
3119         goto finish;
3120
3121 finish:
3122         _COREGL_TRACEPATH_FUNC_END("end");
3123 }
3124
3125 void
3126 tracepath_glBindTexture(GLenum target, GLuint texture)
3127 {
3128         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d)", _get_value(target), texture);
3129
3130         _COREGL_TRACE_SURFACE(0, 1, "GLBINDTEXTURE");
3131         _orig_tracepath_glBindTexture(target, texture);
3132
3133         goto finish;
3134
3135 finish:
3136         _COREGL_TRACEPATH_FUNC_END("end");
3137 }
3138
3139 void
3140 tracepath_glBlendColor(GLclampf red, GLclampf green, GLclampf blue,
3141                                            GLclampf alpha)
3142 {
3143         _COREGL_TRACEPATH_FUNC_BEGIN("(R[%f], G[%f], B[%f], A[%f])", red, green, blue, alpha);
3144         _orig_tracepath_glBlendColor(red, green, blue, alpha);
3145
3146         goto finish;
3147
3148 finish:
3149         _COREGL_TRACEPATH_FUNC_END("end");
3150 }
3151
3152 void
3153 tracepath_glBlendEquation(GLenum mode)
3154 {
3155         _COREGL_TRACEPATH_FUNC_BEGIN("(%s)", _get_value(mode));
3156         _orig_tracepath_glBlendEquation(mode);
3157
3158         goto finish;
3159
3160 finish:
3161         _COREGL_TRACEPATH_FUNC_END("end");
3162 }
3163
3164 void
3165 tracepath_glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha)
3166 {
3167         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s)", _get_value(modeRGB), _get_value(modeAlpha));
3168         _orig_tracepath_glBlendEquationSeparate(modeRGB, modeAlpha);
3169
3170         goto finish;
3171
3172 finish:
3173         _COREGL_TRACEPATH_FUNC_END("end");
3174 }
3175
3176 void
3177 tracepath_glBlendFunc(GLenum sfactor, GLenum dfactor)
3178 {
3179         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s)", _get_value(sfactor), _get_value(dfactor));
3180         _orig_tracepath_glBlendFunc(sfactor, dfactor);
3181
3182         goto finish;
3183
3184 finish:
3185         _COREGL_TRACEPATH_FUNC_END("end");
3186 }
3187
3188 void
3189 tracepath_glBlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha,
3190                                                           GLenum dstAlpha)
3191 {
3192         _COREGL_TRACEPATH_FUNC_BEGIN("(sRGB[%s], dRGB[%s], sAlpha[%s], dAlpha[%s])", _get_value(srcRGB),
3193                                         _get_value(dstRGB), _get_value(srcAlpha), _get_value(dstAlpha));
3194         _orig_tracepath_glBlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha);
3195
3196         goto finish;
3197
3198 finish:
3199         _COREGL_TRACEPATH_FUNC_END("end");
3200 }
3201
3202 void
3203 tracepath_glBufferData(GLenum target, GLsizeiptr size, const void *data,
3204                                            GLenum usage)
3205 {
3206         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %ld, %p, %s)", _get_value(target), size, data,
3207                                                                 _get_value(usage));
3208         _orig_tracepath_glBufferData(target, size, data, usage);
3209
3210         goto finish;
3211
3212 finish:
3213         _COREGL_TRACEPATH_FUNC_END("end");
3214 }
3215
3216 void
3217 tracepath_glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size,
3218                                                   const void *data)
3219 {
3220         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %ld, %ld, %p)", _get_value(target), offset, size, data);
3221         _orig_tracepath_glBufferSubData(target, offset, size, data);
3222
3223         goto finish;
3224
3225 finish:
3226         _COREGL_TRACEPATH_FUNC_END("end");
3227 }
3228
3229 GLenum
3230 tracepath_glCheckFramebufferStatus(GLenum target)
3231 {
3232         GLenum ret = GL_NONE;
3233
3234         _COREGL_TRACEPATH_FUNC_BEGIN("(%s)", _get_value(target));
3235         ret = _orig_tracepath_glCheckFramebufferStatus(target);
3236
3237         goto finish;
3238
3239 finish:
3240         _COREGL_TRACEPATH_FUNC_END("end");
3241         return ret;
3242 }
3243
3244 void
3245 tracepath_glClear(GLbitfield mask)
3246 {
3247         _COREGL_TRACEPATH_FUNC_BEGIN("(0x%x)", mask);
3248         _orig_tracepath_glClear(mask);
3249
3250         goto finish;
3251
3252 finish:
3253         _COREGL_TRACEPATH_FUNC_END("end");
3254 }
3255
3256 void
3257 tracepath_glClearColor(GLclampf red, GLclampf green, GLclampf blue,
3258                                            GLclampf alpha)
3259 {
3260         _COREGL_TRACEPATH_FUNC_BEGIN("(%f, %f, %f, %f)", red, green,
3261                                         blue, alpha);
3262         _orig_tracepath_glClearColor(red, green, blue, alpha);
3263
3264         goto finish;
3265
3266 finish:
3267         _COREGL_TRACEPATH_FUNC_END("end");
3268 }
3269
3270 void
3271 tracepath_glClearDepthf(GLclampf depth)
3272 {
3273         _COREGL_TRACEPATH_FUNC_BEGIN("(%f)", depth);
3274         _orig_tracepath_glClearDepthf(depth);
3275
3276         goto finish;
3277
3278 finish:
3279         _COREGL_TRACEPATH_FUNC_END("end");
3280 }
3281
3282 void
3283 tracepath_glClearStencil(GLint s)
3284 {
3285         _COREGL_TRACEPATH_FUNC_BEGIN("(%d)", s);
3286         _orig_tracepath_glClearStencil(s);
3287
3288         goto finish;
3289
3290 finish:
3291         _COREGL_TRACEPATH_FUNC_END("end");
3292 }
3293
3294 void
3295 tracepath_glColorMask(GLboolean red, GLboolean green, GLboolean blue,
3296                                           GLboolean alpha)
3297 {
3298         _COREGL_TRACEPATH_FUNC_BEGIN("(R[%d], G[%d], B[%d], A[%d])",
3299                                                                         red, green, blue, alpha);
3300         _orig_tracepath_glColorMask(red, green, blue, alpha);
3301
3302         goto finish;
3303
3304 finish:
3305         _COREGL_TRACEPATH_FUNC_END("end");
3306 }
3307
3308 void
3309 tracepath_glCompileShader(GLuint shader)
3310 {
3311         _COREGL_TRACEPATH_FUNC_BEGIN("(%d)", shader);
3312         _orig_tracepath_glCompileShader(shader);
3313
3314         goto finish;
3315
3316 finish:
3317         _COREGL_TRACEPATH_FUNC_END("end");
3318 }
3319
3320 void
3321 tracepath_glCompressedTexImage2D(GLenum target, GLint level,
3322                                                                  GLenum internalformat, GLsizei width, GLsizei height, GLint border,
3323                                                                  GLsizei imageSize, const void *data)
3324 {
3325         _COREGL_TRACEPATH_FUNC_BEGIN("(target[%s], level[%d], internalformat[%s], width[%d], height[%d], border[%d]\
3326                                                                 imageSize[%d], data[%p])", _get_value(target), level, _get_value(internalformat),
3327                                                                 width, height, border, imageSize, data);
3328         _orig_tracepath_glCompressedTexImage2D(target, level, internalformat, width,
3329                                                                                    height, border, imageSize, data);
3330
3331         goto finish;
3332
3333 finish:
3334         _COREGL_TRACEPATH_FUNC_END("end");
3335 }
3336
3337 void
3338 tracepath_glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset,
3339                                                                         GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize,
3340                                                                         const void *data)
3341 {
3342         _COREGL_TRACEPATH_FUNC_BEGIN("(target[%s], level[%d], xoffset[%d], yoffset[%d], width[%d], height[%d],\
3343                                                                 format[%s], imageSize[%d], data[%p])", _get_value(target), level, xoffset, yoffset,
3344                                                                 width, height, _get_value(format), imageSize, data);
3345         _orig_tracepath_glCompressedTexSubImage2D(target, level, xoffset, yoffset,
3346                         width, height, format, imageSize, data);
3347
3348         goto finish;
3349
3350 finish:
3351         _COREGL_TRACEPATH_FUNC_END("end");
3352 }
3353
3354 void
3355 tracepath_glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat,
3356                                                    GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
3357 {
3358         _COREGL_TRACEPATH_FUNC_BEGIN("(target[%s], level[%d], internalformat[%s], x[%d], y[%d], width[%d],\
3359                                                                          height[%d], border[%d])", _get_value(target), level, _get_value(internalformat),
3360                                                                          x, y, width, height, border);
3361         _orig_tracepath_glCopyTexImage2D(target, level, internalformat, x, y, width,
3362                                                                          height, border);
3363
3364         goto finish;
3365
3366 finish:
3367         _COREGL_TRACEPATH_FUNC_END("end");
3368 }
3369
3370 void
3371 tracepath_glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset,
3372                                                           GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
3373 {
3374         _COREGL_TRACEPATH_FUNC_BEGIN("(target[%s], level[%d], xoffset[%d], yoffset[%d], x[%d], y[%d], width[%d], height[%d])",
3375                                                                 _get_value(target), level, xoffset, yoffset, x, y, width, height);
3376         _orig_tracepath_glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y,
3377                                                                                 width, height);
3378
3379         goto finish;
3380
3381 finish:
3382         _COREGL_TRACEPATH_FUNC_END("end");
3383 }
3384
3385 GLuint
3386 tracepath_glCreateProgram(void)
3387 {
3388         GLuint ret = _COREGL_INT_INIT_VALUE;
3389
3390         _COREGL_TRACEPATH_FUNC_BEGIN("start");
3391         ret = _orig_tracepath_glCreateProgram();
3392
3393         goto finish;
3394
3395 finish:
3396         _COREGL_TRACEPATH_FUNC_END("end");
3397         return ret;
3398 }
3399
3400 GLuint
3401 tracepath_glCreateShader(GLenum type)
3402 {
3403         GLuint ret = _COREGL_INT_INIT_VALUE;
3404         _COREGL_TRACEPATH_FUNC_BEGIN("(%s)", _get_value(type));
3405         ret = _orig_tracepath_glCreateShader(type);
3406
3407         goto finish;
3408
3409 finish:
3410         _COREGL_TRACEPATH_FUNC_END("end");
3411         return ret;
3412 }
3413
3414 void
3415 tracepath_glCullFace(GLenum mode)
3416 {
3417         _COREGL_TRACEPATH_FUNC_BEGIN("(%s)", _get_value(mode));
3418         _orig_tracepath_glCullFace(mode);
3419
3420         goto finish;
3421
3422 finish:
3423         _COREGL_TRACEPATH_FUNC_END("end");
3424 }
3425
3426 void
3427 tracepath_glDeleteBuffers(GLsizei n, const GLuint *buffers)
3428 {
3429         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %p)", n, buffers);
3430         _orig_tracepath_glDeleteBuffers(n, buffers);
3431
3432         goto finish;
3433
3434 finish:
3435         _COREGL_TRACEPATH_FUNC_END("end");
3436 }
3437
3438 void
3439 tracepath_glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers)
3440 {
3441         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %p)", n, framebuffers);
3442
3443 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
3444         tracepath_fbdump_update(0);
3445 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
3446
3447         _orig_tracepath_glDeleteFramebuffers(n, framebuffers);
3448
3449 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
3450         tracepath_fbdump_update(1);
3451 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
3452
3453         goto finish;
3454
3455 finish:
3456         _COREGL_TRACEPATH_FUNC_END("end");
3457 }
3458
3459 void
3460 tracepath_glDeleteProgram(GLuint program)
3461 {
3462         _COREGL_TRACEPATH_FUNC_BEGIN("(%d)", program);
3463         _orig_tracepath_glDeleteProgram(program);
3464
3465         goto finish;
3466
3467 finish:
3468         _COREGL_TRACEPATH_FUNC_END("end");
3469 }
3470
3471 static void
3472 _tp_glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers, TRACEPATH_FUNC_TYPE ftype)
3473 {
3474 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
3475         tracepath_fbdump_update(0);
3476 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
3477
3478         switch (ftype) {
3479         case TRACEPATH_FUNC_TYPE_STANDARD:
3480                 _orig_tracepath_glDeleteRenderbuffers(n, renderbuffers);
3481                 break;
3482         case TRACEPATH_FUNC_TYPE_OES:
3483                 _orig_tracepath_glDeleteRenderbuffersOES(n, renderbuffers);
3484                 break;
3485         default:
3486                 goto finish;
3487         }
3488
3489 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
3490         tracepath_fbdump_update(1);
3491 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
3492
3493         goto finish;
3494
3495 finish:
3496 #ifdef COREGL_TRACEPATH_TRACE_MEMUSE_INFO
3497         if (get_trace_mem_flag() == 1) {
3498                 MY_MODULE_TSTATE* tstate = _get_my_state();
3499                 if (tstate && tstate->ctx != NULL) {
3500                         for (int i = 0; i < n; i++) {
3501                                 if (renderbuffers[i] == 0) continue;
3502                                 _remove_glbuf_object(tstate->ctx->sostate->glbuf_rb, renderbuffers[i],
3503                                                                          "Renderbuffer");
3504                         }
3505                 }
3506         }
3507 #endif // COREGL_TRACEPATH_TRACE_MEMUSE_INFO
3508 }
3509
3510 void
3511 tracepath_glDeleteRenderbuffers(GLsizei n, const GLuint* renderbuffers)
3512 {
3513         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %p)", n, renderbuffers);
3514
3515         _tp_glDeleteRenderbuffers(n, renderbuffers, TRACEPATH_FUNC_TYPE_STANDARD);
3516
3517         _COREGL_TRACEPATH_FUNC_END("end");
3518 }
3519
3520 void
3521 tracepath_glDeleteShader(GLuint shader)
3522 {
3523         _COREGL_TRACEPATH_FUNC_BEGIN("(%d)", shader);
3524         _orig_tracepath_glDeleteShader(shader);
3525
3526         goto finish;
3527
3528 finish:
3529         _COREGL_TRACEPATH_FUNC_END("end");
3530 }
3531
3532 void
3533 tracepath_glDeleteTextures(GLsizei n, const GLuint *textures)
3534 {
3535         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %p)", n, textures);
3536
3537 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
3538         tracepath_fbdump_update(0);
3539 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
3540
3541         _orig_tracepath_glDeleteTextures(n, textures);
3542
3543 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
3544         tracepath_fbdump_update(1);
3545 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
3546
3547         goto finish;
3548
3549 finish:
3550         _COREGL_TRACEPATH_FUNC_END("end");
3551 #ifdef COREGL_TRACEPATH_TRACE_MEMUSE_INFO
3552         if (get_trace_mem_flag() == 1) {
3553                 MY_MODULE_TSTATE* tstate = _get_my_state();
3554                 if (tstate && tstate->ctx != NULL) {
3555                         for (int i = 0; i < n; i++) {
3556                                 if (textures[i] == 0) continue;
3557                                 _remove_glbuf_object(tstate->ctx->sostate->glbuf_tex, textures[i], "Texture");
3558                         }
3559                 }
3560         }
3561 #endif // COREGL_TRACEPATH_TRACE_MEMUSE_INFO
3562 }
3563
3564 void
3565 tracepath_glDepthFunc(GLenum func)
3566 {
3567         _COREGL_TRACEPATH_FUNC_BEGIN("(%s)", _get_value(func));
3568         _orig_tracepath_glDepthFunc(func);
3569
3570         goto finish;
3571
3572 finish:
3573         _COREGL_TRACEPATH_FUNC_END("end");
3574 }
3575
3576 void
3577 tracepath_glDepthMask(GLboolean flag)
3578 {
3579         _COREGL_TRACEPATH_FUNC_BEGIN("(%d)", flag);
3580         _orig_tracepath_glDepthMask(flag);
3581
3582         goto finish;
3583
3584 finish:
3585         _COREGL_TRACEPATH_FUNC_END("end");
3586 }
3587
3588 void
3589 tracepath_glDepthRangef(GLclampf zNear, GLclampf zFar)
3590 {
3591         _COREGL_TRACEPATH_FUNC_BEGIN("(%f, %f)", zNear, zFar);
3592         _orig_tracepath_glDepthRangef(zNear, zFar);
3593
3594         goto finish;
3595
3596 finish:
3597         _COREGL_TRACEPATH_FUNC_END("end");
3598 }
3599
3600 void
3601 tracepath_glDetachShader(GLuint program, GLuint shader)
3602 {
3603         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d)", program, shader);
3604         _orig_tracepath_glDetachShader(program, shader);
3605
3606         goto finish;
3607
3608 finish:
3609         _COREGL_TRACEPATH_FUNC_END("end");
3610 }
3611
3612 void
3613 tracepath_glDisable(GLenum cap)
3614 {
3615         _COREGL_TRACEPATH_FUNC_BEGIN("(%s)", _get_value(cap));
3616         _orig_tracepath_glDisable(cap);
3617
3618         goto finish;
3619
3620 finish:
3621         _COREGL_TRACEPATH_FUNC_END("end");
3622 }
3623
3624 void
3625 tracepath_glDisableVertexAttribArray(GLuint index)
3626 {
3627         _COREGL_TRACEPATH_FUNC_BEGIN("(%d)", index);
3628         _orig_tracepath_glDisableVertexAttribArray(index);
3629
3630         goto finish;
3631
3632 finish:
3633         _COREGL_TRACEPATH_FUNC_END("end");
3634 }
3635
3636 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
3637 static void
3638 _trace_surface_draw()
3639 {
3640         if (get_trace_surface_flag() == 1) {
3641                 GLint fbname = _COREGL_INT_INIT_VALUE;
3642                 _orig_tracepath_glGetIntegerv(GL_FRAMEBUFFER_BINDING, &fbname);
3643                 AST(fbname != _COREGL_INT_INIT_VALUE);
3644                 if (fbname == 0) {
3645                         char name[256];
3646                         EGLint btype;
3647                         _orig_tracepath_eglQuerySurface(_orig_tracepath_eglGetCurrentDisplay(),
3648                                                                                         _orig_tracepath_eglGetCurrentSurface(EGL_DRAW), EGL_RENDER_BUFFER, &btype);
3649                         if (btype == EGL_SINGLE_BUFFER)
3650                                 snprintf(name, sizeof(name), "EGLPIXMAP_%p",
3651                                                  _orig_tracepath_eglGetCurrentSurface(EGL_DRAW));
3652                         else
3653                                 snprintf(name, sizeof(name), "EGLWINDOW_%p",
3654                                                  _orig_tracepath_eglGetCurrentSurface(EGL_DRAW));
3655                         tracepath_surface_trace_add(name, _orig_tracepath_eglGetCurrentDisplay(),
3656                                                                                 _orig_tracepath_eglGetCurrentContext(),
3657                                                                                 _orig_tracepath_eglGetCurrentSurface(EGL_DRAW), 0, 0, 0, 0, 0, 0, NULL);
3658                 }
3659         }
3660 }
3661 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
3662
3663 void
3664 tracepath_glDrawArrays(GLenum mode, GLint first, GLsizei count)
3665 {
3666         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d, %d)", _get_value(mode), first, count);
3667         _orig_tracepath_glDrawArrays(mode, first, count);
3668
3669         goto finish;
3670
3671 finish:
3672         _COREGL_TRACEPATH_FUNC_END("end");
3673 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
3674         _trace_surface_draw();
3675 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
3676 }
3677
3678 void
3679 tracepath_glDrawElements(GLenum mode, GLsizei count, GLenum type,
3680                                                  const void *indices)
3681 {
3682         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d, 0x%x, %p)", _get_value(mode), count, type, indices);
3683         _orig_tracepath_glDrawElements(mode, count, type, indices);
3684
3685         goto finish;
3686
3687 finish:
3688         _COREGL_TRACEPATH_FUNC_END("end");
3689 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
3690                 _trace_surface_draw();
3691 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
3692 }
3693
3694 void
3695 tracepath_glEnable(GLenum cap)
3696 {
3697         _COREGL_TRACEPATH_FUNC_BEGIN("(%s)", _get_value(cap));
3698         _orig_tracepath_glEnable(cap);
3699
3700         goto finish;
3701
3702 finish:
3703         _COREGL_TRACEPATH_FUNC_END("end");
3704 }
3705
3706 void
3707 tracepath_glEnableVertexAttribArray(GLuint index)
3708 {
3709         _COREGL_TRACEPATH_FUNC_BEGIN("(%d)", index);
3710         _orig_tracepath_glEnableVertexAttribArray(index);
3711
3712         goto finish;
3713
3714 finish:
3715         _COREGL_TRACEPATH_FUNC_END("end");
3716 }
3717
3718 void
3719 tracepath_glFinish(void)
3720 {
3721         _COREGL_TRACEPATH_FUNC_BEGIN("start");
3722         _orig_tracepath_glFinish();
3723
3724         _COREGL_TRACE_SURFACE(0, 0, "GLFINISH");
3725
3726         goto finish;
3727
3728 finish:
3729         _COREGL_TRACEPATH_FUNC_END("end");
3730         _COREGL_TRACE_API_OUTPUT(0);
3731         _COREGL_TRACE_MEM_OUTPUT(0);
3732 }
3733
3734 void
3735 tracepath_glFlush(void)
3736 {
3737         _COREGL_TRACEPATH_FUNC_BEGIN("start");
3738         _orig_tracepath_glFlush();
3739
3740         _COREGL_TRACE_SURFACE(0, 0, "GLFLUSH");
3741
3742         goto finish;
3743
3744 finish:
3745         _COREGL_TRACEPATH_FUNC_END("end");
3746         _COREGL_TRACE_API_OUTPUT(0);
3747         _COREGL_TRACE_MEM_OUTPUT(0);
3748 }
3749
3750 void
3751 tracepath_glFramebufferRenderbuffer(GLenum target, GLenum attachment,
3752                                                                         GLenum renderbuffertarget, GLuint renderbuffer)
3753 {
3754         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %s, %d)", _get_value(target), _get_value(attachment),
3755                                                                 _get_value(renderbuffertarget), renderbuffer);
3756
3757 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
3758         tracepath_fbdump_update(0);
3759 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
3760
3761         _orig_tracepath_glFramebufferRenderbuffer(target, attachment,
3762                         renderbuffertarget, renderbuffer);
3763
3764 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
3765         tracepath_fbdump_update(1);
3766 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
3767
3768         goto finish;
3769
3770 finish:
3771         _COREGL_TRACEPATH_FUNC_END("end");
3772 }
3773
3774 void
3775 tracepath_glFramebufferTexture2D(GLenum target, GLenum attachment,
3776                                                                  GLenum textarget, GLuint texture, GLint level)
3777 {
3778         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %s, %d, %d)", _get_value(target), _get_value(attachment),
3779                                                                 _get_value(textarget), texture, level);
3780
3781 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
3782         tracepath_fbdump_update(0);
3783 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
3784
3785         _orig_tracepath_glFramebufferTexture2D(target, attachment, textarget, texture,
3786                                                                                    level);
3787
3788 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
3789         tracepath_fbdump_update(1);
3790 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
3791
3792         goto finish;
3793
3794 finish:
3795         _COREGL_TRACEPATH_FUNC_END("end");
3796 }
3797
3798 void
3799 tracepath_glFrontFace(GLenum mode)
3800 {
3801         _COREGL_TRACEPATH_FUNC_BEGIN("%s", _get_value(mode));
3802         _orig_tracepath_glFrontFace(mode);
3803
3804         goto finish;
3805
3806 finish:
3807         _COREGL_TRACEPATH_FUNC_END("end");
3808 }
3809
3810 void
3811 tracepath_glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params)
3812 {
3813         _COREGL_TRACEPATH_FUNC_BEGIN("(index[%d], pname[%s], params[%p])", index, _get_value(pname), params);
3814         _orig_tracepath_glGetVertexAttribfv(index, pname, params);
3815
3816
3817         goto finish;
3818
3819 finish:
3820         _COREGL_TRACEPATH_FUNC_END("end");
3821 }
3822
3823 void
3824 tracepath_glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params)
3825 {
3826         _COREGL_TRACEPATH_FUNC_BEGIN("(index[%d], pname[%s], params[%p])", index, _get_value(pname), params);
3827         _orig_tracepath_glGetVertexAttribiv(index, pname, params);
3828
3829
3830         goto finish;
3831
3832 finish:
3833         _COREGL_TRACEPATH_FUNC_END("end");
3834 }
3835
3836 void
3837 tracepath_glTexBufferOES(GLenum target, GLenum internalformat, GLuint buffer)
3838 {
3839         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %d)", _get_value(target), _get_value(internalformat), buffer);
3840         _orig_tracepath_glTexBufferOES(target, internalformat, buffer);
3841
3842         goto finish;
3843
3844 finish:
3845         _COREGL_TRACEPATH_FUNC_END("end");
3846 }
3847
3848 void
3849 tracepath_glGetVertexAttribPointerv(GLuint index, GLenum pname, void **pointer)
3850 {
3851         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %p)", index, _get_value(pname), pointer);
3852         _orig_tracepath_glGetVertexAttribPointerv(index, pname, pointer);
3853
3854
3855
3856         goto finish;
3857
3858 finish:
3859         _COREGL_TRACEPATH_FUNC_END("end");
3860 }
3861
3862 void
3863 tracepath_glHint(GLenum target, GLenum mode)
3864 {
3865         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s)", _get_value(target), _get_value(mode));
3866         _orig_tracepath_glHint(target, mode);
3867
3868         goto finish;
3869
3870 finish:
3871         _COREGL_TRACEPATH_FUNC_END("end");
3872 }
3873
3874 void
3875 tracepath_glGenBuffers(GLsizei n, GLuint *buffers)
3876 {
3877         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %p)", n, buffers);
3878         _orig_tracepath_glGenBuffers(n, buffers);
3879
3880         goto finish;
3881
3882 finish:
3883         _COREGL_TRACEPATH_FUNC_END("end");
3884 }
3885
3886 void
3887 tracepath_glGenerateMipmap(GLenum target)
3888 {
3889         _COREGL_TRACEPATH_FUNC_BEGIN("(%s)", _get_value(target));
3890         _orig_tracepath_glGenerateMipmap(target);
3891
3892         goto finish;
3893
3894 finish:
3895         _COREGL_TRACEPATH_FUNC_END("end");
3896 }
3897
3898 void
3899 tracepath_glGenFramebuffers(GLsizei n, GLuint *framebuffers)
3900 {
3901         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %p)", n, framebuffers);
3902         _orig_tracepath_glGenFramebuffers(n, framebuffers);
3903
3904         goto finish;
3905
3906 finish:
3907         _COREGL_TRACEPATH_FUNC_END("end");
3908 }
3909
3910 static void
3911 _tp_glGenRenderbuffers(GLsizei n, GLuint *renderbuffers, TRACEPATH_FUNC_TYPE ftype)
3912 {
3913         switch (ftype) {
3914         case TRACEPATH_FUNC_TYPE_STANDARD:
3915                 _orig_tracepath_glGenRenderbuffers(n, renderbuffers);
3916                 break;
3917         case TRACEPATH_FUNC_TYPE_OES:
3918                 _orig_tracepath_glGenRenderbuffersOES(n, renderbuffers);
3919                 break;
3920         }
3921
3922         goto finish;
3923
3924 finish:
3925 #ifdef COREGL_TRACEPATH_TRACE_MEMUSE_INFO
3926         if (get_trace_mem_flag() == 1) {
3927                 MY_MODULE_TSTATE* tstate = _get_my_state();
3928                 if (tstate && tstate->ctx != NULL) {
3929                         for (int i = 0; i < n; i++) {
3930                                 if (renderbuffers[i] == 0) continue;
3931                                 _add_glbuf_object(tstate->ctx->sostate->glbuf_rb, renderbuffers[i],
3932                                                                   "Renderbuffer", 0, 0, 0, "Unknown");
3933                         }
3934                 }
3935         }
3936 #endif // COREGL_TRACEPATH_TRACE_MEMUSE_INFO
3937 }
3938
3939 void
3940 tracepath_glGenRenderbuffers(GLsizei n, GLuint* renderbuffers)
3941 {
3942         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %p)", n, renderbuffers);
3943
3944         _tp_glGenRenderbuffers(n, renderbuffers, TRACEPATH_FUNC_TYPE_STANDARD);
3945
3946         _COREGL_TRACEPATH_FUNC_END("end");
3947 }
3948
3949 void
3950 tracepath_glGenTextures(GLsizei n, GLuint *textures)
3951 {
3952         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %p)", n, textures);
3953         _orig_tracepath_glGenTextures(n, textures);
3954
3955         goto finish;
3956
3957 finish:
3958         _COREGL_TRACEPATH_FUNC_END("end");
3959 #ifdef COREGL_TRACEPATH_TRACE_MEMUSE_INFO
3960         if (get_trace_mem_flag() == 1) {
3961                 MY_MODULE_TSTATE* tstate = _get_my_state();
3962                 if (tstate && tstate->ctx != NULL) {
3963                         for (int i = 0; i < n; i++) {
3964                                 if (textures[i] == 0) continue;
3965                                 _add_glbuf_object(tstate->ctx->sostate->glbuf_tex, textures[i], "Texture", 0, 0,
3966                                                                   0, "Unknown");
3967                         }
3968                 }
3969         }
3970 #endif // COREGL_TRACEPATH_TRACE_MEMUSE_INFO
3971 }
3972
3973 void
3974 tracepath_glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufsize,
3975                                                         GLsizei *length, GLint *size, GLenum *type, char *name)
3976 {
3977         _COREGL_TRACEPATH_FUNC_BEGIN("(program[%d], index[%d], bufsize[%d], length[%p], size[%p], type[%p],\
3978                                                                           name[%p])", program, index, bufsize, length, size, type, name);
3979         _orig_tracepath_glGetActiveAttrib(program, index, bufsize, length, size, type,
3980                                                                           name);
3981
3982         goto finish;
3983
3984 finish:
3985         _COREGL_TRACEPATH_FUNC_END("ret length[%d], size[%d], type[%s], name[%s])", length ? (*length):0,
3986                                                 size ? (*size):0, type ? (_get_value(*type)):0, name);
3987 }
3988
3989 void
3990 tracepath_glGetActiveUniform(GLuint program, GLuint index, GLsizei bufsize,
3991                                                          GLsizei *length, GLint *size, GLenum *type, char *name)
3992 {
3993         _COREGL_TRACEPATH_FUNC_BEGIN("(program[%d], index[%d], bufsize[%d], length[%p], size[%p], type[%p],\
3994                                                                           name[%p])", program, index, bufsize, length, size, type, name);
3995         _orig_tracepath_glGetActiveUniform(program, index, bufsize, length, size, type,
3996                                                                            name);
3997
3998         goto finish;
3999
4000 finish:
4001         _COREGL_TRACEPATH_FUNC_END("ret length[%d], size[%d], type[%s], name[%s])", length ? (*length):0,
4002                                                                 size ? (*size):0, type ? (_get_value(*type)):0, name);
4003 }
4004
4005 void
4006 tracepath_glGetAttachedShaders(GLuint program, GLsizei maxcount, GLsizei *count,
4007                                                            GLuint *shaders)
4008 {
4009         _COREGL_TRACEPATH_FUNC_BEGIN("prog[%d], maxcnt[%d], cnt[%p], shaders[%p]", program, maxcount, count, shaders);
4010         _orig_tracepath_glGetAttachedShaders(program, maxcount, count, shaders);
4011
4012         goto finish;
4013
4014 finish:
4015         _COREGL_TRACEPATH_FUNC_END("ret [%d]", count ? (*count):0);
4016 }
4017
4018 int
4019 tracepath_glGetAttribLocation(GLuint program, const char *name)
4020 {
4021         int ret = _COREGL_INT_INIT_VALUE;
4022         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %p)", program, name);
4023         ret = _orig_tracepath_glGetAttribLocation(program, name);
4024
4025         goto finish;
4026
4027 finish:
4028         _COREGL_TRACEPATH_FUNC_END("ret[%d], name[%s]", ret, name);
4029         return ret;
4030 }
4031
4032 void
4033 tracepath_glGetBooleanv(GLenum pname, GLboolean *params)
4034 {
4035         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %p)", _get_value(pname), params);
4036         _orig_tracepath_glGetBooleanv(pname, params);
4037
4038         goto finish;
4039
4040 finish:
4041         _COREGL_TRACEPATH_FUNC_END("ret[%d]", params ? *params: 0);
4042 }
4043
4044 void
4045 tracepath_glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params)
4046 {
4047         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(target), _get_value(pname), params);
4048         _orig_tracepath_glGetBufferParameteriv(target, pname, params);
4049
4050         goto finish;
4051
4052 finish:
4053         _COREGL_TRACEPATH_FUNC_END("end");
4054 }
4055
4056 GLenum
4057 tracepath_glGetError(void)
4058 {
4059         GLenum ret = GL_NONE;
4060
4061         _COREGL_TRACEPATH_FUNC_BEGIN("start");
4062         ret = _orig_tracepath_glGetError();
4063         goto finish;
4064
4065 finish:
4066         _COREGL_TRACEPATH_FUNC_END("ret[%s]", (ret == GL_NO_ERROR) ? "GL_NO_ERROR" : _get_value(ret));
4067         return ret;
4068 }
4069
4070 void
4071 tracepath_glGetFloatv(GLenum pname, GLfloat *params)
4072 {
4073         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %p)", _get_value(pname), params);
4074         _orig_tracepath_glGetFloatv(pname, params);
4075
4076         goto finish;
4077
4078 finish:
4079         _COREGL_TRACEPATH_FUNC_END("ret[%f]", params ? (*params):0.0);
4080 }
4081
4082 void
4083 tracepath_glGetFramebufferAttachmentParameteriv(GLenum target,
4084                 GLenum attachment, GLenum pname, GLint *params)
4085 {
4086         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %s, %p)", _get_value(target), _get_value(attachment),
4087                                                                 _get_value(pname), params);
4088         _orig_tracepath_glGetFramebufferAttachmentParameteriv(target, attachment, pname,
4089                         params);
4090
4091         goto finish;
4092
4093 finish:
4094         _COREGL_TRACEPATH_FUNC_END("ret param[%d]", params ? (*params):0);
4095 }
4096
4097 void
4098 tracepath_glGetIntegerv(GLenum pname, GLint *params)
4099 {
4100         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %p)", _get_value(pname), params);
4101         _orig_tracepath_glGetIntegerv(pname, params);
4102
4103         goto finish;
4104
4105 finish:
4106         _COREGL_TRACEPATH_FUNC_END("ret param[%d]", params ? (*params):0);
4107 }
4108
4109 void
4110 tracepath_glGetProgramiv(GLuint program, GLenum pname, GLint *params)
4111 {
4112         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %p)", program, _get_value(pname), params);
4113         _orig_tracepath_glGetProgramiv(program, pname, params);
4114
4115         goto finish;
4116
4117 finish:
4118         _COREGL_TRACEPATH_FUNC_END("end");
4119 }
4120
4121 void
4122 tracepath_glGetProgramInfoLog(GLuint program, GLsizei bufsize, GLsizei *length,
4123                                                           char *infolog)
4124 {
4125         _COREGL_TRACEPATH_FUNC_BEGIN("(prog[%d], bufsize[%d], len[%p], infolog[%p])",
4126                                                                 program, bufsize, length, infolog);
4127         _orig_tracepath_glGetProgramInfoLog(program, bufsize, length, infolog);
4128
4129         goto finish;
4130
4131 finish:
4132         _COREGL_TRACEPATH_FUNC_END("ret len[%d], infolog[%s]", length ? (*length) : 0, infolog);
4133 }
4134
4135 void
4136 tracepath_glGetRenderbufferParameteriv(GLenum target, GLenum pname,
4137                                                                            GLint *params)
4138 {
4139         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(target), _get_value(pname), params);
4140         _orig_tracepath_glGetRenderbufferParameteriv(target, pname, params);
4141
4142         goto finish;
4143
4144 finish:
4145         _COREGL_TRACEPATH_FUNC_END("ret param[%d]", params ? (*params):0);
4146 }
4147
4148 void
4149 tracepath_glGetShaderiv(GLuint shader, GLenum pname, GLint *params)
4150 {
4151         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %p)", shader, _get_value(pname), params);
4152         _orig_tracepath_glGetShaderiv(shader, pname, params);
4153
4154         goto finish;
4155
4156 finish:
4157         _COREGL_TRACEPATH_FUNC_END("ret param[%d]", params ? (*params):0);
4158 }
4159
4160 void
4161 tracepath_glGetShaderInfoLog(GLuint shader, GLsizei bufsize, GLsizei *length,
4162                                                          char *infolog)
4163 {
4164         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %p, %p)", shader, bufsize, length, infolog);
4165         _orig_tracepath_glGetShaderInfoLog(shader, bufsize, length, infolog);
4166
4167         goto finish;
4168
4169 finish:
4170         _COREGL_TRACEPATH_FUNC_END("ret len[%d], infolog[%s]", length ? (*length) : 0, infolog);
4171 }
4172
4173 void
4174 tracepath_glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype,
4175                                                                          GLint *range, GLint *precision)
4176 {
4177         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p, %p)", _get_value(shadertype), _get_value(precisiontype),
4178                                                                 range, precision);
4179         _orig_tracepath_glGetShaderPrecisionFormat(shadertype, precisiontype, range,
4180                         precision);
4181
4182         goto finish;
4183
4184 finish:
4185         _COREGL_TRACEPATH_FUNC_END("ret range[%d, %d], precision[%d]", range ? range[0]:0,
4186                                                                 (range+1) ? range[1]:0, precision ? precision[0]:0);
4187 }
4188
4189 void
4190 tracepath_glGetShaderSource(GLuint shader, GLsizei bufsize, GLsizei *length,
4191                                                         char *source)
4192 {
4193         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %p, %p)", shader, bufsize, length, source);
4194         _orig_tracepath_glGetShaderSource(shader, bufsize, length, source);
4195
4196         goto finish;
4197
4198 finish:
4199         _COREGL_TRACEPATH_FUNC_END("ret len[%d], source[%s]", length ? (*length):0, source);
4200 }
4201
4202 const GLubyte *
4203 tracepath_glGetString(GLenum name)
4204 {
4205         const GLubyte *ret = NULL;
4206
4207         _COREGL_TRACEPATH_FUNC_BEGIN("(%s)", _get_value(name));
4208         ret = _orig_tracepath_glGetString(name);
4209
4210         goto finish;
4211
4212 finish:
4213         _COREGL_TRACEPATH_FUNC_END("ret[%s]", ret);
4214         return ret;
4215 }
4216
4217 void
4218 tracepath_glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params)
4219 {
4220         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(target), _get_value(pname), params);
4221         _orig_tracepath_glGetTexParameterfv(target, pname, params);
4222
4223         goto finish;
4224
4225 finish:
4226         _COREGL_TRACEPATH_FUNC_END("ret param[0]=%f", params ? (*params) : 0.0);
4227 }
4228
4229 void
4230 tracepath_glGetTexParameteriv(GLenum target, GLenum pname, GLint *params)
4231 {
4232         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(target), _get_value(pname), params);
4233         _orig_tracepath_glGetTexParameteriv(target, pname, params);
4234
4235         goto finish;
4236
4237 finish:
4238         _COREGL_TRACEPATH_FUNC_END("ret param[0]=%f", params ? (*params) : 0.0);
4239 }
4240
4241 void
4242 tracepath_glGetUniformfv(GLuint program, GLint location, GLfloat *params)
4243 {
4244         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %p)", program, location, params);
4245         _orig_tracepath_glGetUniformfv(program, location, params);
4246
4247         goto finish;
4248
4249 finish:
4250         _COREGL_TRACEPATH_FUNC_END("ret param[0]=%f", params ? (*params) : 0.0);
4251 }
4252
4253 void
4254 tracepath_glGetUniformiv(GLuint program, GLint location, GLint *params)
4255 {
4256         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %p)", program, location, params);
4257         _orig_tracepath_glGetUniformiv(program, location, params);
4258
4259         goto finish;
4260
4261 finish:
4262         _COREGL_TRACEPATH_FUNC_END("ret param[0]=%f", params ? (*params) : 0.0);
4263 }
4264 int
4265 tracepath_glGetUniformLocation(GLuint program, const char *name)
4266 {
4267         int ret = _COREGL_INT_INIT_VALUE;
4268
4269         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %p)", program, name);
4270         ret = _orig_tracepath_glGetUniformLocation(program, name);
4271
4272         goto finish;
4273
4274 finish:
4275         _COREGL_TRACEPATH_FUNC_END("ret name[%s]", name);
4276         return ret;
4277 }
4278
4279 GLboolean
4280 tracepath_glIsBuffer(GLuint buffer)
4281 {
4282         GLboolean ret = GL_FALSE;
4283
4284         _COREGL_TRACEPATH_FUNC_BEGIN("(%d)", buffer);
4285         ret = _orig_tracepath_glIsBuffer(buffer);
4286
4287         goto finish;
4288
4289 finish:
4290         _COREGL_TRACEPATH_FUNC_END("ret[%d]", ret);
4291         return ret;
4292 }
4293
4294 GLboolean
4295 tracepath_glIsEnabled(GLenum cap)
4296 {
4297         GLboolean ret = GL_FALSE;
4298
4299         _COREGL_TRACEPATH_FUNC_BEGIN("(%s)", _get_value(cap));
4300         ret = _orig_tracepath_glIsEnabled(cap);
4301
4302         goto finish;
4303
4304 finish:
4305         _COREGL_TRACEPATH_FUNC_END("ret[%d]", ret);
4306         return ret;
4307 }
4308
4309 GLboolean
4310 tracepath_glIsFramebuffer(GLuint framebuffer)
4311 {
4312         GLboolean ret = GL_FALSE;
4313
4314         _COREGL_TRACEPATH_FUNC_BEGIN("(%d)", framebuffer);
4315         ret = _orig_tracepath_glIsFramebuffer(framebuffer);
4316
4317         goto finish;
4318
4319 finish:
4320         _COREGL_TRACEPATH_FUNC_END("ret[%d]", ret);
4321         return ret;
4322 }
4323
4324 GLboolean
4325 tracepath_glIsProgram(GLuint program)
4326 {
4327         GLboolean ret;
4328         _COREGL_TRACEPATH_FUNC_BEGIN("(%d)", program);
4329         ret = _orig_tracepath_glIsProgram(program);
4330
4331         goto finish;
4332
4333 finish:
4334         _COREGL_TRACEPATH_FUNC_END("ret[%d]", ret);
4335         return ret;
4336 }
4337
4338 GLboolean
4339 tracepath_glIsRenderbuffer(GLuint renderbuffer)
4340 {
4341         GLboolean ret;
4342         _COREGL_TRACEPATH_FUNC_BEGIN("(%d)", renderbuffer);
4343         ret = _orig_tracepath_glIsRenderbuffer(renderbuffer);
4344
4345         goto finish;
4346
4347 finish:
4348         _COREGL_TRACEPATH_FUNC_END("ret[%d]", ret);
4349         return ret;
4350 }
4351
4352 GLboolean
4353 tracepath_glIsShader(GLuint shader)
4354 {
4355         GLboolean ret;
4356         _COREGL_TRACEPATH_FUNC_BEGIN("(%d)", shader);
4357         ret = _orig_tracepath_glIsShader(shader);
4358
4359         goto finish;
4360
4361 finish:
4362         _COREGL_TRACEPATH_FUNC_END("ret[%d]", ret);
4363         return ret;
4364 }
4365
4366 GLboolean
4367 tracepath_glIsTexture(GLuint texture)
4368 {
4369         GLboolean ret;
4370         _COREGL_TRACEPATH_FUNC_BEGIN("(%d)", texture);
4371         ret = _orig_tracepath_glIsTexture(texture);
4372
4373         goto finish;
4374
4375 finish:
4376         _COREGL_TRACEPATH_FUNC_END("ret[%d]", ret);
4377         return ret;
4378 }
4379
4380 void
4381 tracepath_glLineWidth(GLfloat width)
4382 {
4383         _COREGL_TRACEPATH_FUNC_BEGIN("(%f)", width);
4384         _orig_tracepath_glLineWidth(width);
4385
4386         goto finish;
4387
4388 finish:
4389         _COREGL_TRACEPATH_FUNC_END("end");
4390 }
4391
4392 void
4393 tracepath_glLinkProgram(GLuint program)
4394 {
4395         _COREGL_TRACEPATH_FUNC_BEGIN("(%d)", program);
4396         _orig_tracepath_glLinkProgram(program);
4397
4398         goto finish;
4399
4400 finish:
4401         _COREGL_TRACEPATH_FUNC_END("end");
4402 }
4403
4404 void
4405 tracepath_glPixelStorei(GLenum pname, GLint param)
4406 {
4407         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d)", _get_value(pname), param);
4408         _orig_tracepath_glPixelStorei(pname, param);
4409
4410         goto finish;
4411
4412 finish:
4413         _COREGL_TRACEPATH_FUNC_END("end");
4414 }
4415
4416 void
4417 tracepath_glPolygonOffset(GLfloat factor, GLfloat units)
4418 {
4419         _COREGL_TRACEPATH_FUNC_BEGIN("(%f, %f)", factor, units);
4420         _orig_tracepath_glPolygonOffset(factor, units);
4421
4422         goto finish;
4423
4424 finish:
4425         _COREGL_TRACEPATH_FUNC_END("end");
4426 }
4427
4428 void
4429 tracepath_glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height,
4430                                            GLenum format, GLenum type, void *pixels)
4431 {
4432         _COREGL_TRACEPATH_FUNC_BEGIN("(x[%d], y[%d], w[%d], h[%d], format[%s], type[%s], pixels[%p])",
4433                                                                 x, y, width, height, _get_value(format), _get_value(type), pixels);
4434         _orig_tracepath_glReadPixels(x, y, width, height, format, type, pixels);
4435
4436         goto finish;
4437
4438 finish:
4439         _COREGL_TRACEPATH_FUNC_END("end");
4440 }
4441
4442 void
4443 tracepath_glReleaseShaderCompiler(void)
4444 {
4445         _COREGL_TRACEPATH_FUNC_BEGIN("start");
4446         _orig_tracepath_glReleaseShaderCompiler();
4447
4448         goto finish;
4449
4450 finish:
4451         _COREGL_TRACEPATH_FUNC_END("end""end");
4452 }
4453
4454 static void
4455 _trace_renderbuffer(GLenum internalformat, GLsizei width, GLsizei height)
4456 {
4457 #ifdef COREGL_TRACEPATH_TRACE_MEMUSE_INFO
4458                 if (get_trace_mem_flag() == 1) {
4459                         MY_MODULE_TSTATE* tstate = _get_my_state();
4460                         if (tstate && tstate->ctx != NULL) {
4461                                 struct _Glbuf_Data data = _get_glbuf_data(GL_RENDERBUFFER_BINDING, internalformat);
4462                                 _add_glbuf_object(tstate->ctx->sostate->glbuf_rb, data.obj_idx, "Renderbuffer", width,
4463                                                                   height, data.bpp, data.format);
4464                         }
4465                 }
4466 #endif // COREGL_TRACEPATH_TRACE_MEMUSE_INFO
4467 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
4468                 if (get_trace_surface_flag() == 1) {
4469                         MY_MODULE_TSTATE* tstate = _get_my_state();
4470                         if (tstate && tstate->ctx != NULL) {
4471                                 int objidx = _COREGL_INT_INIT_VALUE;
4472                                 _orig_tracepath_glGetIntegerv(GL_RENDERBUFFER_BINDING, &objidx);
4473                                 AST(objidx != _COREGL_INT_INIT_VALUE);
4474
4475                                 {
4476                                         int channel = _get_channel_by_format(internalformat);
4477                                         char name[256];
4478                                         snprintf(name, sizeof(name), "FBORB_%d", objidx);
4479                                         tracepath_surface_trace_add(name, tstate->ctx->dpy, tstate->ctx->handle,
4480                                                                                                 tstate->surf_draw, -1, 0, objidx, width, height, channel, NULL);
4481                                 }
4482                         }
4483                 }
4484 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
4485 }
4486
4487 void
4488 tracepath_glRenderbufferStorage(GLenum target, GLenum internalformat,
4489                                                                 GLsizei width, GLsizei height)
4490 {
4491         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %d, %d)", _get_value(target), _get_value(internalformat),
4492                                                                         width, height);
4493
4494         _orig_tracepath_glRenderbufferStorage(target, internalformat, width, height);
4495
4496         goto finish;
4497
4498 finish:
4499         _COREGL_TRACEPATH_FUNC_END("end");
4500         _trace_renderbuffer(internalformat, width, height);
4501 }
4502
4503 void
4504 tracepath_glSampleCoverage(GLclampf value, GLboolean invert)
4505 {
4506         _COREGL_TRACEPATH_FUNC_BEGIN("(%f, %d)", value, invert);
4507         _orig_tracepath_glSampleCoverage(value, invert);
4508
4509         goto finish;
4510
4511 finish:
4512         _COREGL_TRACEPATH_FUNC_END("end");
4513 }
4514
4515 void
4516 tracepath_glScissor(GLint x, GLint y, GLsizei width, GLsizei height)
4517 {
4518         _COREGL_TRACEPATH_FUNC_BEGIN("(x[%d],y[%d],w[%d],h[%d])", x, y, width, height);
4519         _orig_tracepath_glScissor(x, y, width, height);
4520
4521         goto finish;
4522
4523 finish:
4524         _COREGL_TRACEPATH_FUNC_END("end");
4525 }
4526
4527 void
4528 tracepath_glShaderBinary(GLsizei n, const GLuint *shaders, GLenum binaryformat,
4529                                                  const void *binary, GLsizei length)
4530 {
4531         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %p, %s, %p, %d)", n, shaders, _get_value(binaryformat), binary, length);
4532         _orig_tracepath_glShaderBinary(n, shaders, binaryformat, binary, length);
4533
4534         goto finish;
4535
4536 finish:
4537         _COREGL_TRACEPATH_FUNC_END("end");
4538 }
4539
4540 void
4541 tracepath_glShaderSource(GLuint shader, GLsizei count, const char **string,
4542                                                  const GLint *length)
4543 {
4544         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %p, %p)", shader, count, string, length);
4545         _orig_tracepath_glShaderSource(shader, count, string, length);
4546
4547         goto finish;
4548
4549 finish:
4550         _COREGL_TRACEPATH_FUNC_END("end");
4551 }
4552
4553 void
4554 tracepath_glStencilFunc(GLenum func, GLint ref, GLuint mask)
4555 {
4556         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d, 0x%x)", _get_value(func), ref, mask);
4557         _orig_tracepath_glStencilFunc(func, ref, mask);
4558
4559         goto finish;
4560
4561 finish:
4562         _COREGL_TRACEPATH_FUNC_END("end");
4563 }
4564
4565 void
4566 tracepath_glStencilFuncSeparate(GLenum face, GLenum func, GLint ref,
4567                                                                 GLuint mask)
4568 {
4569         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %d, 0x%x)", _get_value(face), _get_value(func), ref, mask);
4570         _orig_tracepath_glStencilFuncSeparate(face, func, ref, mask);
4571
4572         goto finish;
4573
4574 finish:
4575         _COREGL_TRACEPATH_FUNC_END("end");
4576 }
4577
4578 void
4579 tracepath_glStencilMask(GLuint mask)
4580 {
4581         _COREGL_TRACEPATH_FUNC_BEGIN("(0x%x)", mask);
4582         _orig_tracepath_glStencilMask(mask);
4583
4584         goto finish;
4585
4586 finish:
4587         _COREGL_TRACEPATH_FUNC_END("end");
4588 }
4589
4590 void
4591 tracepath_glStencilMaskSeparate(GLenum face, GLuint mask)
4592 {
4593         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, 0x%x)", _get_value(face), mask);
4594         _orig_tracepath_glStencilMaskSeparate(face, mask);
4595
4596         goto finish;
4597
4598 finish:
4599         _COREGL_TRACEPATH_FUNC_END("end");
4600 }
4601
4602 void
4603 tracepath_glStencilOp(GLenum fail, GLenum zfail, GLenum zpass)
4604 {
4605         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %s)", _get_value(fail), _get_value(zfail), _get_value(zpass));
4606         _orig_tracepath_glStencilOp(fail, zfail, zpass);
4607
4608         goto finish;
4609
4610 finish:
4611         _COREGL_TRACEPATH_FUNC_END("end");
4612 }
4613
4614 void
4615 tracepath_glStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail,
4616                                                           GLenum zpass)
4617 {
4618         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %s, %s)", _get_value(face), _get_value(fail),
4619                                                                 _get_value(zfail), _get_value(zpass));
4620         _orig_tracepath_glStencilOpSeparate(face, fail, zfail, zpass);
4621
4622         goto finish;
4623
4624 finish:
4625         _COREGL_TRACEPATH_FUNC_END("end");
4626 }
4627
4628 void
4629 tracepath_glTexImage2D(GLenum target, GLint level, GLint internalformat,
4630                                            GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type,
4631                                            const void *pixels)
4632 {
4633         _COREGL_TRACEPATH_FUNC_BEGIN("(target[%s], level[%d], internalformat[0x%x], w[%d], h[%d],\
4634                                                                  border[%d], format[%s], type[%s], pixels[%p])", _get_value(target),
4635                                                                  level, internalformat, width, height, border, _get_value(format),
4636                                                                  _get_value(type), pixels);
4637         _orig_tracepath_glTexImage2D(target, level, internalformat, width, height,
4638                                                                  border, format, type, pixels);
4639
4640         goto finish;
4641
4642 finish:
4643         _COREGL_TRACEPATH_FUNC_END("end");
4644 #ifdef COREGL_TRACEPATH_TRACE_MEMUSE_INFO
4645         if (get_trace_mem_flag() == 1) {
4646                 MY_MODULE_TSTATE* tstate = _get_my_state();
4647                 if (tstate && tstate->ctx != NULL) {
4648                         struct _Glbuf_Data data = _get_glbuf_data(GL_TEXTURE_BINDING_2D, internalformat);
4649                         _add_glbuf_object(tstate->ctx->sostate->glbuf_tex, data.obj_idx, "Texture", width,
4650                                                           height, data.bpp, data.format);
4651                 }
4652         }
4653 #endif // COREGL_TRACEPATH_TRACE_MEMUSE_INFO
4654 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
4655         if (get_trace_surface_flag() == 1) {
4656                 MY_MODULE_TSTATE* tstate = _get_my_state();
4657                 if (tstate && tstate->ctx != NULL) {
4658                         int objidx = _COREGL_INT_INIT_VALUE;
4659                         _orig_tracepath_glGetIntegerv(GL_TEXTURE_BINDING_2D, &objidx);
4660                         AST(objidx != _COREGL_INT_INIT_VALUE);
4661
4662                         {
4663                                 int channel = _get_channel_by_format(internalformat);
4664                                 char name[256];
4665                                 snprintf(name, sizeof(name), "FBOTEX_0x%X", objidx);
4666                                 tracepath_surface_trace_add(name, tstate->ctx->dpy, tstate->ctx->handle,
4667                                                                                         tstate->surf_draw, -1, objidx, 0, width, height, channel, NULL);
4668                         }
4669                 }
4670         }
4671 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
4672 }
4673
4674 void
4675 tracepath_glTexParameterf(GLenum target, GLenum pname, GLfloat param)
4676 {
4677         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %f)", _get_value(target), _get_value(pname), param);
4678         _orig_tracepath_glTexParameterf(target, pname, param);
4679
4680         goto finish;
4681
4682 finish:
4683         _COREGL_TRACEPATH_FUNC_END("end");
4684 }
4685
4686 void
4687 tracepath_glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params)
4688 {
4689         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(target), _get_value(pname), params);
4690         _orig_tracepath_glTexParameterfv(target, pname, params);
4691
4692         goto finish;
4693
4694 finish:
4695         _COREGL_TRACEPATH_FUNC_END("end");
4696 }
4697
4698 void
4699 tracepath_glTexParameteri(GLenum target, GLenum pname, GLint param)
4700 {
4701         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %d)", _get_value(target), _get_value(pname), param);
4702         _orig_tracepath_glTexParameteri(target, pname, param);
4703
4704         goto finish;
4705
4706 finish:
4707         _COREGL_TRACEPATH_FUNC_END("end");
4708 }
4709
4710 void
4711 tracepath_glTexParameteriv(GLenum target, GLenum pname, const GLint *params)
4712 {
4713         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(target), _get_value(pname), params);
4714         _orig_tracepath_glTexParameteriv(target, pname, params);
4715
4716         goto finish;
4717
4718 finish:
4719         _COREGL_TRACEPATH_FUNC_END("end");
4720 }
4721
4722 void
4723 tracepath_glTexSubImage2D(GLenum target, GLint level, GLint xoffset,
4724                                                   GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type,
4725                                                   const void *pixels)
4726 {
4727         _COREGL_TRACEPATH_FUNC_BEGIN("(target[%s], level[%d], xoffset[%d], yoffset[%d], w[%d], h[%d],\
4728                                                                         format[%s], type[%s], pixels[%p])", _get_value(target), level,
4729                                                                         xoffset, yoffset, width, height, _get_value(format),
4730                                                                         _get_value(type), pixels);
4731         _orig_tracepath_glTexSubImage2D(target, level, xoffset, yoffset, width, height,
4732                                                                         format, type, pixels);
4733
4734         goto finish;
4735
4736 finish:
4737         _COREGL_TRACEPATH_FUNC_END("end");
4738 }
4739
4740 void
4741 tracepath_glUniform1f(GLint location, GLfloat x)
4742 {
4743         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %f)", location, x);
4744         _orig_tracepath_glUniform1f(location, x);
4745
4746         goto finish;
4747
4748 finish:
4749         _COREGL_TRACEPATH_FUNC_END("end");
4750 }
4751
4752 void
4753 tracepath_glUniform1fv(GLint location, GLsizei count, const GLfloat *v)
4754 {
4755         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %p)", location, count, v);
4756         _orig_tracepath_glUniform1fv(location, count, v);
4757
4758         goto finish;
4759
4760 finish:
4761         _COREGL_TRACEPATH_FUNC_END("end");
4762 }
4763
4764 void
4765 tracepath_glUniform1i(GLint location, GLint x)
4766 {
4767         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d)", location, x);
4768         _orig_tracepath_glUniform1i(location, x);
4769
4770         goto finish;
4771
4772 finish:
4773         _COREGL_TRACEPATH_FUNC_END("end");
4774 }
4775
4776 void
4777 tracepath_glUniform1iv(GLint location, GLsizei count, const GLint *v)
4778 {
4779         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %p)", location, count, v);
4780         _orig_tracepath_glUniform1iv(location, count, v);
4781
4782         goto finish;
4783
4784 finish:
4785         _COREGL_TRACEPATH_FUNC_END("end");
4786 }
4787
4788 void
4789 tracepath_glUniform2f(GLint location, GLfloat x, GLfloat y)
4790 {
4791         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %f, %f)", location, x, y);
4792         _orig_tracepath_glUniform2f(location, x, y);
4793
4794         goto finish;
4795
4796 finish:
4797         _COREGL_TRACEPATH_FUNC_END("end");
4798 }
4799
4800 void
4801 tracepath_glUniform2fv(GLint location, GLsizei count, const GLfloat *v)
4802 {
4803         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %p)", location, count, v);
4804         _orig_tracepath_glUniform2fv(location, count, v);
4805
4806         goto finish;
4807
4808 finish:
4809         _COREGL_TRACEPATH_FUNC_END("end");
4810 }
4811
4812 void
4813 tracepath_glUniform2i(GLint location, GLint x, GLint y)
4814 {
4815         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d)", location, x, y);
4816         _orig_tracepath_glUniform2i(location, x, y);
4817
4818         goto finish;
4819
4820 finish:
4821         _COREGL_TRACEPATH_FUNC_END("end");
4822 }
4823
4824 void
4825 tracepath_glUniform2iv(GLint location, GLsizei count, const GLint *v)
4826 {
4827         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %p)", location, count, v);
4828         _orig_tracepath_glUniform2iv(location, count, v);
4829
4830         goto finish;
4831
4832 finish:
4833         _COREGL_TRACEPATH_FUNC_END("end");
4834 }
4835
4836 void
4837 tracepath_glUniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z)
4838 {
4839         _COREGL_TRACEPATH_FUNC_BEGIN("(location[%d], x[%f], y[%f], z[%f])", location, x, y, z);
4840         _orig_tracepath_glUniform3f(location, x, y, z);
4841
4842         goto finish;
4843
4844 finish:
4845         _COREGL_TRACEPATH_FUNC_END("end");
4846 }
4847
4848 void
4849 tracepath_glUniform3fv(GLint location, GLsizei count, const GLfloat *v)
4850 {
4851         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %p)", location, count, v);
4852         _orig_tracepath_glUniform3fv(location, count, v);
4853
4854         goto finish;
4855
4856 finish:
4857         _COREGL_TRACEPATH_FUNC_END("end");
4858 }
4859
4860 void
4861 tracepath_glUniform3i(GLint location, GLint x, GLint y, GLint z)
4862 {
4863         _COREGL_TRACEPATH_FUNC_BEGIN("(location[%d], x[%d], y[%d], z[%d])", location, x, y, z);
4864         _orig_tracepath_glUniform3i(location, x, y, z);
4865
4866         goto finish;
4867
4868 finish:
4869         _COREGL_TRACEPATH_FUNC_END("end");
4870 }
4871
4872 void
4873 tracepath_glUniform3iv(GLint location, GLsizei count, const GLint *v)
4874 {
4875         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %p)", location, count, v);
4876         _orig_tracepath_glUniform3iv(location, count, v);
4877
4878         goto finish;
4879
4880 finish:
4881         _COREGL_TRACEPATH_FUNC_END("end");
4882 }
4883
4884 void
4885 tracepath_glUniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z,
4886                                           GLfloat w)
4887 {
4888         _COREGL_TRACEPATH_FUNC_BEGIN("(location[%d], x[%f], y[%f], z[%f], w[%f])", location, x, y, z, w);
4889         _orig_tracepath_glUniform4f(location, x, y, z, w);
4890
4891         goto finish;
4892
4893 finish:
4894         _COREGL_TRACEPATH_FUNC_END("end");
4895 }
4896
4897 void
4898 tracepath_glUniform4fv(GLint location, GLsizei count, const GLfloat *v)
4899 {
4900         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %p)", location, count, v);
4901         _orig_tracepath_glUniform4fv(location, count, v);
4902
4903         goto finish;
4904
4905 finish:
4906         _COREGL_TRACEPATH_FUNC_END("end");
4907 }
4908
4909 void
4910 tracepath_glUniform4i(GLint location, GLint x, GLint y, GLint z, GLint w)
4911 {
4912         _COREGL_TRACEPATH_FUNC_BEGIN("(location[%d], x[%d], y[%d], z[%d], w[%d])", location, x, y, z, w);
4913         _orig_tracepath_glUniform4i(location, x, y, z, w);
4914
4915         goto finish;
4916
4917 finish:
4918         _COREGL_TRACEPATH_FUNC_END("end");
4919 }
4920
4921 void
4922 tracepath_glUniform4iv(GLint location, GLsizei count, const GLint *v)
4923 {
4924         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %p)", location, count, v);
4925         _orig_tracepath_glUniform4iv(location, count, v);
4926
4927         goto finish;
4928
4929 finish:
4930         _COREGL_TRACEPATH_FUNC_END("end");
4931 }
4932
4933 void
4934 tracepath_glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose,
4935                                                          const GLfloat *value)
4936 {
4937         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %p)", location, count, transpose, value);
4938         _orig_tracepath_glUniformMatrix2fv(location, count, transpose, value);
4939
4940         goto finish;
4941
4942 finish:
4943         _COREGL_TRACEPATH_FUNC_END("end");
4944 }
4945
4946 void
4947 tracepath_glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose,
4948                                                          const GLfloat *value)
4949 {
4950         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %p)", location, count, transpose, value);
4951         _orig_tracepath_glUniformMatrix3fv(location, count, transpose, value);
4952
4953         goto finish;
4954
4955 finish:
4956         _COREGL_TRACEPATH_FUNC_END("end");
4957 }
4958
4959 void
4960 tracepath_glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose,
4961                                                          const GLfloat *value)
4962 {
4963         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %p)", location, count, transpose, value);
4964         _orig_tracepath_glUniformMatrix4fv(location, count, transpose, value);
4965
4966         goto finish;
4967
4968 finish:
4969         _COREGL_TRACEPATH_FUNC_END("end");
4970 }
4971
4972 void
4973 tracepath_glUseProgram(GLuint program)
4974 {
4975         _COREGL_TRACEPATH_FUNC_BEGIN("(0x%x)", program);
4976         _orig_tracepath_glUseProgram(program);
4977
4978         goto finish;
4979
4980 finish:
4981         _COREGL_TRACEPATH_FUNC_END("end");
4982 }
4983
4984 void
4985 tracepath_glValidateProgram(GLuint program)
4986 {
4987         _COREGL_TRACEPATH_FUNC_BEGIN("(0x%x)", program);
4988         _orig_tracepath_glValidateProgram(program);
4989
4990         goto finish;
4991
4992 finish:
4993         _COREGL_TRACEPATH_FUNC_END("end");
4994 }
4995
4996 void
4997 tracepath_glVertexAttrib1f(GLuint index, GLfloat x)
4998 {
4999         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %f)", index, x);
5000         _orig_tracepath_glVertexAttrib1f(index, x);
5001
5002         goto finish;
5003
5004 finish:
5005         _COREGL_TRACEPATH_FUNC_END("end");
5006 }
5007
5008 void
5009 tracepath_glVertexAttrib1fv(GLuint index, const GLfloat *values)
5010 {
5011         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %p)", index, values);
5012         _orig_tracepath_glVertexAttrib1fv(index, values);
5013
5014         goto finish;
5015
5016 finish:
5017         _COREGL_TRACEPATH_FUNC_END("end");
5018 }
5019
5020 void
5021 tracepath_glVertexAttrib2f(GLuint index, GLfloat x, GLfloat y)
5022 {
5023         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %f, %f)", index, x, y);
5024         _orig_tracepath_glVertexAttrib2f(index, x, y);
5025
5026         goto finish;
5027
5028 finish:
5029         _COREGL_TRACEPATH_FUNC_END("end");
5030 }
5031
5032 void
5033 tracepath_glVertexAttrib2fv(GLuint index, const GLfloat *values)
5034 {
5035         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %p)", index, values);
5036         _orig_tracepath_glVertexAttrib2fv(index, values);
5037
5038         goto finish;
5039
5040 finish:
5041         _COREGL_TRACEPATH_FUNC_END("end");
5042 }
5043
5044 void
5045 tracepath_glVertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z)
5046 {
5047         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %f, %f, %f)", index, x, y, z);
5048         _orig_tracepath_glVertexAttrib3f(index, x, y, z);
5049
5050         goto finish;
5051
5052 finish:
5053         _COREGL_TRACEPATH_FUNC_END("end");
5054 }
5055
5056 void
5057 tracepath_glVertexAttrib3fv(GLuint index, const GLfloat *values)
5058 {
5059         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %p)", index, values);
5060         _orig_tracepath_glVertexAttrib3fv(index, values);
5061
5062         goto finish;
5063
5064 finish:
5065         _COREGL_TRACEPATH_FUNC_END("end");
5066 }
5067
5068 void
5069 tracepath_glVertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z,
5070                                                    GLfloat w)
5071 {
5072         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %f, %f, %f, %f)", index, x, y, z, w);
5073         _orig_tracepath_glVertexAttrib4f(index, x, y, z, w);
5074
5075         goto finish;
5076
5077 finish:
5078         _COREGL_TRACEPATH_FUNC_END("end");
5079 }
5080
5081 void
5082 tracepath_glVertexAttrib4fv(GLuint index, const GLfloat *values)
5083 {
5084         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %p)", index, values);
5085         _orig_tracepath_glVertexAttrib4fv(index, values);
5086
5087         goto finish;
5088
5089 finish:
5090         _COREGL_TRACEPATH_FUNC_END("end");
5091 }
5092
5093 void
5094 tracepath_glVertexAttribPointer(GLuint index, GLint size, GLenum type,
5095                                                                 GLboolean normalized, GLsizei stride, const void *pointer)
5096 {
5097         _COREGL_TRACEPATH_FUNC_BEGIN("(index[%d], size[%d], type[%s], normalized[%d], stride[%d],"\
5098                                         "pointer[%p])", index, size, _get_value(type), normalized, stride,
5099                                                                                   pointer);
5100         _orig_tracepath_glVertexAttribPointer(index, size, type, normalized, stride,
5101                                                                                   pointer);
5102
5103         goto finish;
5104
5105 finish:
5106         _COREGL_TRACEPATH_FUNC_END("end");
5107 }
5108
5109 void
5110 tracepath_glViewport(GLint x, GLint y, GLsizei width, GLsizei height)
5111 {
5112         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %d)", x, y, width, height);
5113         _orig_tracepath_glViewport(x, y, width, height);
5114
5115         goto finish;
5116
5117 finish:
5118         _COREGL_TRACEPATH_FUNC_END("end");
5119 }
5120
5121
5122 /* OpenGL ES 3.0 */
5123 void
5124 tracepath_glReadBuffer(GLenum mode)
5125 {
5126         _COREGL_TRACEPATH_FUNC_BEGIN("(%s)", _get_value(mode));
5127         _orig_tracepath_glReadBuffer(mode);
5128
5129         goto finish;
5130
5131 finish:
5132         _COREGL_TRACEPATH_FUNC_END("end");
5133 }
5134
5135 void
5136 tracepath_glDrawRangeElements(GLenum mode, GLuint start, GLuint end,
5137                                                           GLsizei count, GLenum type, const GLvoid *indices)
5138 {
5139         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d, %d, %d, %s, %p)", _get_value(mode), start, end,
5140                                                                 count, _get_value(type), indices);
5141         _orig_tracepath_glDrawRangeElements(mode, start, end, count, type, indices);
5142
5143         goto finish;
5144
5145 finish:
5146         _COREGL_TRACEPATH_FUNC_END("end");
5147 }
5148
5149 void
5150 tracepath_glTexImage3D(GLenum target, GLint level, GLint GLinternalFormat,
5151                                            GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format,
5152                                            GLenum type, const GLvoid *pixels)
5153 {
5154         _COREGL_TRACEPATH_FUNC_BEGIN("(target[%s], level[%d], GLinternalFormat[%d], w[%d], h[%d],\
5155                                                                  depth[%d], border[%d], format[%s], type[%s], pixels[%p])",
5156                                                                  _get_value(target), level, GLinternalFormat, width, height,
5157                                                                  depth, border, _get_value(format), _get_value(type), pixels);
5158         _orig_tracepath_glTexImage3D(target, level, GLinternalFormat, width, height,
5159                                                                  depth, border, format, type, pixels);
5160
5161         goto finish;
5162
5163 finish:
5164         _COREGL_TRACEPATH_FUNC_END("end");
5165 }
5166
5167 void
5168 tracepath_glTexImage3DOES(GLenum target, GLint level, GLenum GLinternalFormat,
5169                                                   GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format,
5170                                                   GLenum type, const void *pixels)
5171 {
5172         _COREGL_TRACEPATH_FUNC_BEGIN("(target[%s], level[%d], GLinternalFormat[%s], w[%d], h[%d],\
5173                                                                         depth[%d], border[%d], format[%s], type[%s], pixels[%p])",
5174                                                                         _get_value(target), level, _get_value(GLinternalFormat), width,
5175                                                                         height, depth, border, _get_value(format), _get_value(type), pixels);
5176         _orig_tracepath_glTexImage3DOES(target, level, GLinternalFormat, width, height,
5177                                                                         depth, border, format, type, pixels);
5178
5179         goto finish;
5180
5181 finish:
5182         _COREGL_TRACEPATH_FUNC_END("end");
5183 }
5184
5185 void
5186 tracepath_glTexSubImage3D(GLenum target, GLint level, GLint xoffset,
5187                                                   GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth,
5188                                                   GLenum format, GLenum type, const GLvoid *pixels)
5189 {
5190         _COREGL_TRACEPATH_FUNC_BEGIN("(target[%s], level[%d], xo[%d], yo[%d], zo[%d], w[%d], h[%d], d[%d],\
5191                                                                 format[%s], type[%s], pixels[%p])", _get_value(target), level, xoffset,
5192                                                                 yoffset, zoffset, width, height, depth, _get_value(format), _get_value(type), pixels);
5193         _orig_tracepath_glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width,
5194                                                                         height, depth, format, type, pixels);
5195
5196         goto finish;
5197
5198 finish:
5199         _COREGL_TRACEPATH_FUNC_END("end");
5200 }
5201
5202 void
5203 tracepath_glTexSubImage3DOES(GLenum target, GLint level, GLint xoffset,
5204                                                          GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth,
5205                                                          GLenum format, GLenum type, const GLvoid *pixels)
5206 {
5207         _COREGL_TRACEPATH_FUNC_BEGIN("(target[%s], level[%d], xo[%d], yo[%d], zo[%d], w[%d], h[%d], d[%d],\
5208                                                                 format[%s], type[%s], pixels[%p])", _get_value(target), level, xoffset,
5209                                                                 yoffset, zoffset, width, height, depth, _get_value(format), _get_value(type), pixels);
5210         _orig_tracepath_glTexSubImage3DOES(target, level, xoffset, yoffset, zoffset,
5211                                                                            width, height, depth, format, type, pixels);
5212
5213         goto finish;
5214
5215 finish:
5216         _COREGL_TRACEPATH_FUNC_END("end");
5217 }
5218
5219 void
5220 tracepath_glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset,
5221                                                           GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
5222 {
5223         _COREGL_TRACEPATH_FUNC_BEGIN("(target[%s], level[%d], xo[%d], yo[%d], zo[%d], x[%d], y[%d], w[%d],\
5224                                                                 h[%d])", _get_value(target), level, xoffset, yoffset, zoffset, x, y, width, height);
5225         _orig_tracepath_glCopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x,
5226                                                                                 y, width, height);
5227
5228         goto finish;
5229
5230 finish:
5231         _COREGL_TRACEPATH_FUNC_END("end");
5232 }
5233
5234 void
5235 tracepath_glCopyTexSubImage3DOES(GLenum target, GLint level, GLint xoffset,
5236                                                                  GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
5237 {
5238         _COREGL_TRACEPATH_FUNC_BEGIN("(target[%s], level[%d], xo[%d], yo[%d], zo[%d], x[%d], y[%d], w[%d],\
5239                                                                 h[%d])", _get_value(target), level, xoffset, yoffset, zoffset, x, y, width, height);
5240         _orig_tracepath_glCopyTexSubImage3DOES(target, level, xoffset, yoffset, zoffset,
5241                                                                                    x, y, width, height);
5242
5243         goto finish;
5244
5245 finish:
5246         _COREGL_TRACEPATH_FUNC_END("end");
5247 }
5248
5249 void
5250 tracepath_glCompressedTexImage3D(GLenum target, GLint level,
5251                                                                  GLenum GLinternalformat, GLsizei width, GLsizei height, GLsizei depth,
5252                                                                  GLint border, GLsizei imageSize, const GLvoid *data)
5253 {
5254         _COREGL_TRACEPATH_FUNC_BEGIN("(target[%s], level[%d], GLinternalformat[%s], w[%d], h[%d], d[%d], border[%d],\
5255                                                                 imageSize[%d], data[%p])", _get_value(target), level, _get_value(GLinternalformat),
5256                                                                 width, height, depth, border, imageSize, data);
5257         _orig_tracepath_glCompressedTexImage3D(target, level, GLinternalformat, width,
5258                                                                                    height, depth, border, imageSize, data);
5259
5260         goto finish;
5261
5262 finish:
5263         _COREGL_TRACEPATH_FUNC_END("end");
5264 }
5265
5266 void
5267 tracepath_glCompressedTexImage3DOES(GLenum target, GLint level,
5268                                                                         GLenum GLinternalformat, GLsizei width, GLsizei height, GLsizei depth,
5269                                                                         GLint border, GLsizei imageSize, const GLvoid *data)
5270 {
5271         _COREGL_TRACEPATH_FUNC_BEGIN("(target[%s], level[%d], GLinternalformat[%s], w[%d], h[%d], d[%d], border[%d],\
5272                                                                 imageSize[%d], data[%p])", _get_value(target), level, _get_value(GLinternalformat),
5273                                                                 width, height, depth, border, imageSize, data);
5274         _orig_tracepath_glCompressedTexImage3DOES(target, level, GLinternalformat,
5275                         width, height, depth, border, imageSize, data);
5276
5277         goto finish;
5278
5279 finish:
5280         _COREGL_TRACEPATH_FUNC_END("end");
5281 }
5282
5283 void
5284 tracepath_glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset,
5285                                                                         GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth,
5286                                                                         GLenum format, GLsizei imageSize, const GLvoid *data)
5287 {
5288         _COREGL_TRACEPATH_FUNC_BEGIN("target[%s], level[%d], xo[%d], yo[%d], zo[%d], w[%d], h[%d], depth[%d],\
5289                                                                 format[%s], imageSize[%d], data[%p]", _get_value(target), level, xoffset,
5290                                                                 yoffset, zoffset, width, height, depth, _get_value(format), imageSize, data);
5291         _orig_tracepath_glCompressedTexSubImage3D(target, level, xoffset, yoffset,
5292                         zoffset, width, height, depth, format, imageSize, data);
5293
5294         goto finish;
5295
5296 finish:
5297         _COREGL_TRACEPATH_FUNC_END("end");
5298 }
5299
5300 void
5301 tracepath_glCompressedTexSubImage3DOES(GLenum target, GLint level,
5302                                                                            GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height,
5303                                                                            GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data)
5304 {
5305         _COREGL_TRACEPATH_FUNC_BEGIN("target[%s], level[%d], xo[%d], yo[%d], zo[%d], w[%d], h[%d], depth[%d],\
5306                                                                 format[%s], imageSize[%d], data[%p]", _get_value(target), level, xoffset,
5307                                                                 yoffset, zoffset, width, height, depth, _get_value(format), imageSize, data);
5308         _orig_tracepath_glCompressedTexSubImage3DOES(target, level, xoffset, yoffset,
5309                         zoffset, width, height, depth, format, imageSize, data);
5310
5311         goto finish;
5312
5313 finish:
5314         _COREGL_TRACEPATH_FUNC_END("end");
5315 }
5316
5317 void
5318 tracepath_glGenQueries(GLsizei n, GLuint *ids)
5319 {
5320         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %p)", n, ids);
5321         _orig_tracepath_glGenQueries(n, ids);
5322
5323         goto finish;
5324
5325 finish:
5326         _COREGL_TRACEPATH_FUNC_END("end");
5327 }
5328
5329 void
5330 tracepath_glDeleteQueries(GLsizei n, const GLuint *ids)
5331 {
5332         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %p)", n, ids);
5333         _orig_tracepath_glDeleteQueries(n, ids);
5334
5335         goto finish;
5336
5337 finish:
5338         _COREGL_TRACEPATH_FUNC_END("end");
5339 }
5340
5341 GLboolean
5342 tracepath_glIsQuery(GLuint id)
5343 {
5344         GLboolean ret = GL_FALSE;
5345
5346         _COREGL_TRACEPATH_FUNC_BEGIN("(%d)", id);
5347         ret = _orig_tracepath_glIsQuery(id);
5348
5349         goto finish;
5350
5351 finish:
5352         _COREGL_TRACEPATH_FUNC_END("end");
5353         return ret;
5354 }
5355
5356 void
5357 tracepath_glBeginQuery(GLenum target, GLuint id)
5358 {
5359         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d)", _get_value(target), id);
5360         _orig_tracepath_glBeginQuery(target, id);
5361
5362         goto finish;
5363
5364 finish:
5365         _COREGL_TRACEPATH_FUNC_END("end");
5366 }
5367
5368 void
5369 tracepath_glEndQuery(GLenum target)
5370 {
5371         _COREGL_TRACEPATH_FUNC_BEGIN("(%s)", _get_value(target));
5372         _orig_tracepath_glEndQuery(target);
5373
5374         goto finish;
5375
5376 finish:
5377         _COREGL_TRACEPATH_FUNC_END("end");
5378 }
5379
5380 void
5381 tracepath_glGetQueryiv(GLenum target, GLenum pname, GLint *params)
5382 {
5383         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(target), _get_value(pname),
5384                                                                 params);
5385         _orig_tracepath_glGetQueryiv(target, pname, params);
5386
5387         goto finish;
5388
5389 finish:
5390         _COREGL_TRACEPATH_FUNC_END("end");
5391 }
5392
5393 void
5394 tracepath_glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params)
5395 {
5396         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %p)", id, _get_value(pname), params);
5397         _orig_tracepath_glGetQueryObjectuiv(id, pname, params);
5398
5399         goto finish;
5400
5401 finish:
5402         _COREGL_TRACEPATH_FUNC_END("end");
5403 }
5404
5405 GLboolean
5406 tracepath_glUnmapBuffer(GLenum target)
5407 {
5408         GLboolean ret = GL_FALSE;
5409
5410         _COREGL_TRACEPATH_FUNC_BEGIN("(%s)", _get_value(target));
5411         ret = _orig_tracepath_glUnmapBuffer(target);
5412
5413         goto finish;
5414
5415 finish:
5416         _COREGL_TRACEPATH_FUNC_END("end");
5417         return ret;
5418 }
5419
5420 void
5421 tracepath_glGetBufferPointerv(GLenum target, GLenum pname, GLvoid **params)
5422 {
5423         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(target), _get_value(pname), params);
5424         _orig_tracepath_glGetBufferPointerv(target, pname, params);
5425
5426         goto finish;
5427
5428 finish:
5429         _COREGL_TRACEPATH_FUNC_END("end");
5430 }
5431
5432 void
5433 tracepath_glDrawBuffers(GLsizei n, const GLenum *bufs)
5434 {
5435         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %p)", n, bufs);
5436         _orig_tracepath_glDrawBuffers(n, bufs);
5437
5438         goto finish;
5439
5440 finish:
5441         _COREGL_TRACEPATH_FUNC_END("end");
5442 }
5443
5444 void
5445 tracepath_glUniformMatrix2x3fv(GLint location, GLsizei count,
5446                                                            GLboolean transpose, const GLfloat *value)
5447 {
5448         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %p)", location, count, transpose, value);
5449         _orig_tracepath_glUniformMatrix2x3fv(location, count, transpose, value);
5450
5451         goto finish;
5452
5453 finish:
5454         _COREGL_TRACEPATH_FUNC_END("end");
5455 }
5456
5457 void
5458 tracepath_glUniformMatrix3x2fv(GLint location, GLsizei count,
5459                                                            GLboolean transpose, const GLfloat *value)
5460 {
5461         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %p)", location, count, transpose, value);
5462         _orig_tracepath_glUniformMatrix3x2fv(location, count, transpose, value);
5463
5464         goto finish;
5465
5466 finish:
5467         _COREGL_TRACEPATH_FUNC_END("end");
5468 }
5469
5470 void
5471 tracepath_glUniformMatrix2x4fv(GLint location, GLsizei count,
5472                                                            GLboolean transpose, const GLfloat *value)
5473 {
5474         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %p)", location, count, transpose, value);
5475         _orig_tracepath_glUniformMatrix2x4fv(location, count, transpose, value);
5476
5477         goto finish;
5478
5479 finish:
5480         _COREGL_TRACEPATH_FUNC_END("end");
5481 }
5482
5483 void
5484 tracepath_glUniformMatrix4x2fv(GLint location, GLsizei count,
5485                                                            GLboolean transpose, const GLfloat *value)
5486 {
5487         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %p)", location, count, transpose, value);
5488         _orig_tracepath_glUniformMatrix4x2fv(location, count, transpose, value);
5489
5490         goto finish;
5491
5492 finish:
5493         _COREGL_TRACEPATH_FUNC_END("end");
5494 }
5495
5496 void
5497 tracepath_glUniformMatrix3x4fv(GLint location, GLsizei count,
5498                                                            GLboolean transpose, const GLfloat *value)
5499 {
5500         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %p)", location, count, transpose, value);
5501         _orig_tracepath_glUniformMatrix3x4fv(location, count, transpose, value);
5502
5503         goto finish;
5504
5505 finish:
5506         _COREGL_TRACEPATH_FUNC_END("end");
5507 }
5508
5509 void
5510 tracepath_glUniformMatrix4x3fv(GLint location, GLsizei count,
5511                                                            GLboolean transpose, const GLfloat *value)
5512 {
5513         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %p)", location, count, transpose, value);
5514         _orig_tracepath_glUniformMatrix4x3fv(location, count, transpose, value);
5515
5516         goto finish;
5517
5518 finish:
5519         _COREGL_TRACEPATH_FUNC_END("end");
5520 }
5521
5522 void
5523 tracepath_glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1,
5524                                                         GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask,
5525                                                         GLenum filter)
5526 {
5527         _COREGL_TRACEPATH_FUNC_BEGIN("(srcX0[%d], srcY0[%d], srcX1[%d], srcY1[%d], dstX0[%d], dstY0[%d],\
5528                                                                           dstX1[%d], dstY1[%d], mask[0x%x], filter[%s])", srcX0, srcY0,
5529                                                                           srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, _get_value(filter));
5530         _orig_tracepath_glBlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0,
5531                                                                           dstX1, dstY1, mask, filter);
5532
5533         goto finish;
5534
5535 finish:
5536         _COREGL_TRACEPATH_FUNC_END("end");
5537 }
5538
5539 static void
5540 _tp_glRenderbufferStorageMultisample(GLenum target, GLsizei samples,
5541                 GLenum internalformat, GLsizei width, GLsizei height, TRACEPATH_FUNC_TYPE ftype)
5542 {
5543         switch (ftype) {
5544         case TRACEPATH_FUNC_TYPE_STANDARD:
5545                 _orig_tracepath_glRenderbufferStorageMultisample(target, samples,
5546                         internalformat, width, height);
5547                 break;
5548         case TRACEPATH_FUNC_TYPE_EXT:
5549                 _orig_tracepath_glRenderbufferStorageMultisampleEXT(target, samples,
5550                         internalformat, width, height);
5551                 break;
5552         default:
5553                 goto finish;
5554         }
5555
5556         goto finish;
5557
5558 finish:
5559         _trace_renderbuffer(internalformat, width, height);
5560
5561 }
5562
5563 void
5564 tracepath_glRenderbufferStorageMultisample(GLenum target, GLsizei samples,
5565         GLenum internalformat, GLsizei width, GLsizei height)
5566 {
5567         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d, %s, %d, %d)", _get_value(target), samples,
5568                                                                 _get_value(internalformat), width, height);
5569
5570         _tp_glRenderbufferStorageMultisample(target, samples, internalformat,
5571                 width, height, TRACEPATH_FUNC_TYPE_STANDARD);
5572
5573         _COREGL_TRACEPATH_FUNC_END("end");
5574 }
5575
5576 void
5577 tracepath_glRenderbufferStorageMultisampleEXT(GLenum target, GLsizei samples,
5578                 GLenum internalformat, GLsizei width, GLsizei height)
5579 {
5580         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d, %s, %d, %d)", _get_value(target), samples,
5581                                                                 _get_value(internalformat), width, height);
5582
5583         _tp_glRenderbufferStorageMultisample(target, samples, internalformat,
5584                 width, height, TRACEPATH_FUNC_TYPE_EXT);
5585
5586         _COREGL_TRACEPATH_FUNC_END("end");
5587 }
5588
5589 void
5590 tracepath_glFramebufferTextureLayer(GLenum target, GLenum attachment,
5591                                                                         GLuint texture, GLint level, GLint layer)
5592 {
5593         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %d, %d, %d)", _get_value(target), _get_value(attachment),
5594                                                                 texture, level, layer);
5595
5596 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
5597         tracepath_fbdump_update(0);
5598 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
5599
5600         _orig_tracepath_glFramebufferTextureLayer(target, attachment, texture, level,
5601                         layer);
5602
5603 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
5604         tracepath_fbdump_update(1);
5605 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
5606
5607         goto finish;
5608
5609 finish:
5610         _COREGL_TRACEPATH_FUNC_END("end");
5611 }
5612
5613 GLvoid *
5614 tracepath_glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length,
5615                                                    GLbitfield access)
5616 {
5617         GLvoid *ret = NULL;
5618
5619         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %ld, %ld, 0x%x)", _get_value(target), offset,
5620                                                                 length, access);
5621         ret = _orig_tracepath_glMapBufferRange(target, offset, length, access);
5622
5623         goto finish;
5624
5625 finish:
5626         _COREGL_TRACEPATH_FUNC_END("end");
5627         return ret;
5628 }
5629
5630 void
5631 tracepath_glFlushMappedBufferRange(GLenum target, GLintptr offset,
5632                                                                    GLsizeiptr length)
5633 {
5634         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %ld, %ld)", _get_value(target), offset, length);
5635         _orig_tracepath_glFlushMappedBufferRange(target, offset, length);
5636
5637         goto finish;
5638
5639 finish:
5640         _COREGL_TRACEPATH_FUNC_END("end");
5641 }
5642
5643 void
5644 tracepath_glBindVertexArray(GLuint array)
5645 {
5646         _COREGL_TRACEPATH_FUNC_BEGIN("(%d)", array);
5647         _orig_tracepath_glBindVertexArray(array);
5648
5649         goto finish;
5650
5651 finish:
5652         _COREGL_TRACEPATH_FUNC_END("end");
5653 }
5654
5655 void
5656 tracepath_glDeleteVertexArrays(GLsizei n, const GLuint *arrays)
5657 {
5658         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %p)", n, arrays);
5659         _orig_tracepath_glDeleteVertexArrays(n, arrays);
5660
5661         goto finish;
5662
5663 finish:
5664         _COREGL_TRACEPATH_FUNC_END("end");
5665 }
5666
5667 void
5668 tracepath_glGenVertexArrays(GLsizei n, GLuint *arrays)
5669 {
5670         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %p)", n, arrays);
5671         _orig_tracepath_glGenVertexArrays(n, arrays);
5672
5673         goto finish;
5674
5675 finish:
5676         _COREGL_TRACEPATH_FUNC_END("end");
5677 }
5678
5679 GLboolean
5680 tracepath_glIsVertexArray(GLuint array)
5681 {
5682         GLboolean ret = GL_FALSE;
5683
5684         _COREGL_TRACEPATH_FUNC_BEGIN("(%d)", array);
5685         ret = _orig_tracepath_glIsVertexArray(array);
5686
5687         goto finish;
5688
5689 finish:
5690         _COREGL_TRACEPATH_FUNC_END("end");
5691         return ret;
5692 }
5693
5694 void
5695 tracepath_glGetIntegeri_v(GLenum target, GLuint index, GLint *data)
5696 {
5697         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d, %p)", _get_value(target), index, data);
5698         _orig_tracepath_glGetIntegeri_v(target, index, data);
5699
5700         goto finish;
5701
5702 finish:
5703         _COREGL_TRACEPATH_FUNC_END("end");
5704 }
5705
5706 void
5707 tracepath_glBeginTransformFeedback(GLenum primitiveMode)
5708 {
5709         _COREGL_TRACEPATH_FUNC_BEGIN("(%s)", _get_value(primitiveMode));
5710         _orig_tracepath_glBeginTransformFeedback(primitiveMode);
5711
5712         goto finish;
5713
5714 finish:
5715         _COREGL_TRACEPATH_FUNC_END("end");
5716 }
5717
5718 void
5719 tracepath_glEndTransformFeedback()
5720 {
5721         _COREGL_TRACEPATH_FUNC_BEGIN("start");
5722         _orig_tracepath_glEndTransformFeedback();
5723
5724         goto finish;
5725
5726 finish:
5727         _COREGL_TRACEPATH_FUNC_END("end");
5728 }
5729
5730 void
5731 tracepath_glBindBufferRange(GLenum target, GLuint index, GLuint buffer,
5732                                                         GLintptr offset, GLsizeiptr size)
5733 {
5734         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d, %d, %ld, %ld)", _get_value(target), index,
5735                                                                 buffer, offset, size);
5736         _orig_tracepath_glBindBufferRange(target, index, buffer, offset, size);
5737
5738         goto finish;
5739
5740 finish:
5741         _COREGL_TRACEPATH_FUNC_END("end");
5742 }
5743
5744 void
5745 tracepath_glBindBufferBase(GLenum target, GLuint index, GLuint buffer)
5746 {
5747         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d, %d)", _get_value(target), index, buffer);
5748         _orig_tracepath_glBindBufferBase(target, index, buffer);
5749
5750         goto finish;
5751
5752 finish:
5753         _COREGL_TRACEPATH_FUNC_END("end");
5754 }
5755
5756 void
5757 tracepath_glTransformFeedbackVaryings(GLuint program, GLsizei count,
5758                                                                           const GLchar *const *varyings, GLenum bufferMode)
5759 {
5760         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %p, %s)", program, count, varyings,
5761                                                                 _get_value(bufferMode));
5762         _orig_tracepath_glTransformFeedbackVaryings(program, count, varyings,
5763                         bufferMode);
5764
5765         goto finish;
5766
5767 finish:
5768         _COREGL_TRACEPATH_FUNC_END("end");
5769 }
5770
5771 void
5772 tracepath_glGetTransformFeedbackVarying(GLuint program, GLuint index,
5773                                                                                 GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name)
5774 {
5775         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %p, %p, %p, %p)", program, index, bufSize, length,
5776                                                                 size, type, name);
5777         _orig_tracepath_glGetTransformFeedbackVarying(program, index, bufSize, length,
5778                         size, type, name);
5779
5780         goto finish;
5781
5782 finish:
5783         _COREGL_TRACEPATH_FUNC_END("end");
5784 }
5785
5786 void
5787 tracepath_glVertexAttribIPointer(GLuint index, GLint size, GLenum type,
5788                                                                  GLsizei stride, const GLvoid *pointer)
5789 {
5790         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %s %d, %p)", index, size, _get_value(type),
5791                                                                 stride, pointer);
5792         _orig_tracepath_glVertexAttribIPointer(index, size, type, stride, pointer);
5793
5794         goto finish;
5795
5796 finish:
5797         _COREGL_TRACEPATH_FUNC_END("end");
5798 }
5799
5800 void
5801 tracepath_glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params)
5802 {
5803         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %p)", index, _get_value(pname), params);
5804         _orig_tracepath_glGetVertexAttribIiv(index, pname, params);
5805
5806         goto finish;
5807
5808 finish:
5809         _COREGL_TRACEPATH_FUNC_END("end");
5810 }
5811
5812 void
5813 tracepath_glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params)
5814 {
5815         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %p)", index, _get_value(pname), params);
5816         _orig_tracepath_glGetVertexAttribIuiv(index, pname, params);
5817
5818         goto finish;
5819
5820 finish:
5821         _COREGL_TRACEPATH_FUNC_END("end");
5822 }
5823
5824 void
5825 tracepath_glVertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w)
5826 {
5827         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, [%d, %d, %d, %d])", index, x, y, z, w);
5828         _orig_tracepath_glVertexAttribI4i(index, x, y, z, w);
5829
5830         goto finish;
5831
5832 finish:
5833         _COREGL_TRACEPATH_FUNC_END("end");
5834 }
5835
5836 void
5837 tracepath_glVertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z,
5838                                                          GLuint w)
5839 {
5840         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, [%d, %d, %d, %d])", index, x, y, z, w);
5841         _orig_tracepath_glVertexAttribI4ui(index, x, y, z, w);
5842
5843         goto finish;
5844
5845 finish:
5846         _COREGL_TRACEPATH_FUNC_END("end");
5847 }
5848
5849 void
5850 tracepath_glVertexAttribI4iv(GLuint index, const GLint *v)
5851 {
5852         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %p)", index, v);
5853         _orig_tracepath_glVertexAttribI4iv(index, v);
5854
5855         goto finish;
5856
5857 finish:
5858         _COREGL_TRACEPATH_FUNC_END("end");
5859 }
5860
5861 void
5862 tracepath_glVertexAttribI4uiv(GLuint index, const GLuint *v)
5863 {
5864         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %p)", index, v);
5865         _orig_tracepath_glVertexAttribI4uiv(index, v);
5866
5867         goto finish;
5868
5869 finish:
5870         _COREGL_TRACEPATH_FUNC_END("end");
5871 }
5872
5873 void
5874 tracepath_glGetUniformuiv(GLuint program, GLint location, GLuint *params)
5875 {
5876         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %p)", program, location, params);
5877         _orig_tracepath_glGetUniformuiv(program, location, params);
5878
5879         goto finish;
5880
5881 finish:
5882         _COREGL_TRACEPATH_FUNC_END("end");
5883 }
5884
5885 GLint
5886 tracepath_glGetFragDataLocation(GLuint program, const GLchar *name)
5887 {
5888         GLint ret = _COREGL_INT_INIT_VALUE;
5889
5890         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s)", program, name);
5891         ret = _orig_tracepath_glGetFragDataLocation(program, name);
5892
5893         goto finish;
5894
5895 finish:
5896         _COREGL_TRACEPATH_FUNC_END("end");
5897         return ret;
5898 }
5899
5900 void
5901 tracepath_glUniform1ui(GLint location, GLuint v0)
5902 {
5903         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, [%d])", location, v0);
5904         _orig_tracepath_glUniform1ui(location, v0);
5905
5906         goto finish;
5907
5908 finish:
5909         _COREGL_TRACEPATH_FUNC_END("end");
5910 }
5911
5912 void
5913 tracepath_glUniform2ui(GLint location, GLuint v0, GLuint v1)
5914 {
5915         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, [%d, %d])", location, v0, v1);
5916         _orig_tracepath_glUniform2ui(location, v0, v1);
5917
5918         goto finish;
5919
5920 finish:
5921         _COREGL_TRACEPATH_FUNC_END("end");
5922 }
5923
5924 void
5925 tracepath_glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2)
5926 {
5927         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, [%d, %d, %d])", location, v0, v1, v2);
5928         _orig_tracepath_glUniform3ui(location, v0, v1, v2);
5929
5930         goto finish;
5931
5932 finish:
5933         _COREGL_TRACEPATH_FUNC_END("end");
5934 }
5935
5936 void
5937 tracepath_glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2,
5938                                            GLuint v3)
5939 {
5940         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, [%d, %d, %d, %d])", location, v0, v1, v2, v3);
5941         _orig_tracepath_glUniform4ui(location, v0, v1, v2, v3);
5942
5943         goto finish;
5944
5945 finish:
5946         _COREGL_TRACEPATH_FUNC_END("end");
5947 }
5948
5949 void
5950 tracepath_glUniform1uiv(GLint location, GLsizei count, const GLuint *value)
5951 {
5952         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %p)", location, count, value);
5953         _orig_tracepath_glUniform1uiv(location, count, value);
5954
5955         goto finish;
5956
5957 finish:
5958         _COREGL_TRACEPATH_FUNC_END("end");
5959 }
5960
5961 void
5962 tracepath_glUniform2uiv(GLint location, GLsizei count, const GLuint *value)
5963 {
5964         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %p)", location, count, value);
5965         _orig_tracepath_glUniform2uiv(location, count, value);
5966
5967         goto finish;
5968
5969 finish:
5970         _COREGL_TRACEPATH_FUNC_END("end");
5971 }
5972
5973 void
5974 tracepath_glUniform3uiv(GLint location, GLsizei count, const GLuint *value)
5975 {
5976         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %p)", location, count, value);
5977         _orig_tracepath_glUniform3uiv(location, count, value);
5978
5979         goto finish;
5980
5981 finish:
5982         _COREGL_TRACEPATH_FUNC_END("end");
5983 }
5984
5985 void
5986 tracepath_glUniform4uiv(GLint location, GLsizei count, const GLuint *value)
5987 {
5988         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %p)", location, count, value);
5989         _orig_tracepath_glUniform4uiv(location, count, value);
5990
5991         goto finish;
5992
5993 finish:
5994         _COREGL_TRACEPATH_FUNC_END("end");
5995 }
5996
5997 void
5998 tracepath_glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value)
5999 {
6000         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d, %p)", _get_value(buffer), drawbuffer, value);
6001         _orig_tracepath_glClearBufferiv(buffer, drawbuffer, value);
6002
6003         goto finish;
6004
6005 finish:
6006         _COREGL_TRACEPATH_FUNC_END("end");
6007 }
6008
6009 void
6010 tracepath_glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value)
6011 {
6012         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d, %p)", _get_value(buffer), drawbuffer, value);
6013         _orig_tracepath_glClearBufferuiv(buffer, drawbuffer, value);
6014
6015         goto finish;
6016
6017 finish:
6018         _COREGL_TRACEPATH_FUNC_END("end");
6019 }
6020
6021 void
6022 tracepath_glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value)
6023 {
6024         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d, %p)", _get_value(buffer),
6025                                                                 drawbuffer, value);
6026         _orig_tracepath_glClearBufferfv(buffer, drawbuffer, value);
6027
6028         goto finish;
6029
6030 finish:
6031         _COREGL_TRACEPATH_FUNC_END("end");
6032 }
6033
6034 void
6035 tracepath_glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth,
6036                                                   GLint stencil)
6037 {
6038         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d, %f, %d)", _get_value(buffer),
6039                                                                 drawbuffer, depth, stencil);
6040         _orig_tracepath_glClearBufferfi(buffer, drawbuffer, depth, stencil);
6041
6042         goto finish;
6043
6044 finish:
6045         _COREGL_TRACEPATH_FUNC_END("end");
6046 }
6047
6048 const GLubyte *
6049 tracepath_glGetStringi(GLenum name, GLuint index)
6050 {
6051         const GLubyte *ret = NULL;
6052
6053         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d)", _get_value(name), index);
6054         ret = _orig_tracepath_glGetStringi(name, index);
6055
6056         goto finish;
6057
6058 finish:
6059         _COREGL_TRACEPATH_FUNC_END("ret [%s]", ret);
6060         return ret;
6061 }
6062
6063 void
6064 tracepath_glCopyBufferSubData(GLenum readTarget, GLenum writeTarget,
6065                                                           GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size)
6066 {
6067         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %ld, %ld, %ld)", _get_value(readTarget),
6068                                                                 _get_value(writeTarget), readOffset, writeOffset, size);
6069         _orig_tracepath_glCopyBufferSubData(readTarget, writeTarget, readOffset,
6070                                                                                 writeOffset, size);
6071
6072         goto finish;
6073
6074 finish:
6075         _COREGL_TRACEPATH_FUNC_END("end");
6076 }
6077
6078 void
6079 tracepath_glGetUniformIndices(GLuint program, GLsizei uniformCount,
6080                                                           const GLchar *const *uniformNames, GLuint *uniformIndices)
6081 {
6082         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %p, %p)", program, uniformCount, uniformNames,
6083                                                                                 uniformIndices);
6084         _orig_tracepath_glGetUniformIndices(program, uniformCount, uniformNames,
6085                                                                                 uniformIndices);
6086
6087         goto finish;
6088
6089 finish:
6090         _COREGL_TRACEPATH_FUNC_END("end");
6091 }
6092
6093 void
6094 tracepath_glGetActiveUniformsiv(GLuint program, GLsizei uniformCount,
6095                                                                 const GLuint *uniformIndices, GLenum pname, GLint *params)
6096 {
6097         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %p, %s, %p)", program, uniformCount, uniformIndices,
6098                                                                 _get_value(pname), params);
6099         _orig_tracepath_glGetActiveUniformsiv(program, uniformCount, uniformIndices,
6100                                                                                   pname, params);
6101
6102         goto finish;
6103
6104 finish:
6105         _COREGL_TRACEPATH_FUNC_END("end");
6106 }
6107
6108 GLuint
6109 tracepath_glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName)
6110 {
6111         GLuint ret = _COREGL_INT_INIT_VALUE;
6112
6113         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s)", program, uniformBlockName);
6114         ret = _orig_tracepath_glGetUniformBlockIndex(program, uniformBlockName);
6115
6116         goto finish;
6117
6118 finish:
6119         _COREGL_TRACEPATH_FUNC_END("ret[%d]", ret);
6120         return ret;
6121 }
6122
6123 void
6124 tracepath_glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex,
6125                                                                         GLenum pname, GLint *params)
6126 {
6127         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %s, %p)", program, uniformBlockIndex,
6128                                                                 _get_value(pname), params);
6129         _orig_tracepath_glGetActiveUniformBlockiv(program, uniformBlockIndex, pname,
6130                         params);
6131
6132         goto finish;
6133
6134 finish:
6135         _COREGL_TRACEPATH_FUNC_END("end");
6136 }
6137
6138 void
6139 tracepath_glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex,
6140                                                                           GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName)
6141 {
6142         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %p, %p)", program, uniformBlockIndex, bufSize,
6143                                                                 length, uniformBlockName);
6144         _orig_tracepath_glGetActiveUniformBlockName(program, uniformBlockIndex, bufSize,
6145                         length, uniformBlockName);
6146
6147         goto finish;
6148
6149 finish:
6150         _COREGL_TRACEPATH_FUNC_END("end");
6151 }
6152
6153 void
6154 tracepath_glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex,
6155                                                                 GLuint uniformBlockBinding)
6156 {
6157         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d)", program, uniformBlockIndex,
6158                                                                 uniformBlockBinding);
6159         _orig_tracepath_glUniformBlockBinding(program, uniformBlockIndex,
6160                                                                                   uniformBlockBinding);
6161
6162         goto finish;
6163
6164 finish:
6165         _COREGL_TRACEPATH_FUNC_END("end");
6166 }
6167
6168 void
6169 tracepath_glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count,
6170                                                                 GLsizei instanceCount)
6171 {
6172         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d, %d, %d)", _get_value(mode), first,
6173                                                                 count, instanceCount);
6174         _orig_tracepath_glDrawArraysInstanced(mode, first, count, instanceCount);
6175
6176         goto finish;
6177
6178 finish:
6179         _COREGL_TRACEPATH_FUNC_END("end");
6180 }
6181
6182 void
6183 tracepath_glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type,
6184                                                                   const GLvoid *indices, GLsizei instanceCount)
6185 {
6186         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d, %s, %p, %d)", _get_value(mode), count,
6187                                                                 _get_value(type), indices, instanceCount);
6188         _orig_tracepath_glDrawElementsInstanced(mode, count, type, indices,
6189                                                                                         instanceCount);
6190
6191         goto finish;
6192
6193 finish:
6194         _COREGL_TRACEPATH_FUNC_END("end");
6195 }
6196
6197 GLsync
6198 tracepath_glFenceSync(GLenum condition, GLbitfield flags)
6199 {
6200         GLsync ret = NULL;
6201
6202         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, 0x%x)", _get_value(condition), flags);
6203         ret = _orig_tracepath_glFenceSync(condition, flags);
6204
6205         goto finish;
6206
6207 finish:
6208         _COREGL_TRACEPATH_FUNC_END("end");
6209         return ret;
6210 }
6211
6212 GLboolean
6213 tracepath_glIsSync(GLsync sync)
6214 {
6215         GLboolean ret = GL_FALSE;
6216
6217         _COREGL_TRACEPATH_FUNC_BEGIN("(%p)", sync);
6218         ret = _orig_tracepath_glIsSync(sync);
6219
6220         goto finish;
6221
6222 finish:
6223         _COREGL_TRACEPATH_FUNC_END("end");
6224         return ret;
6225 }
6226
6227 void
6228 tracepath_glDeleteSync(GLsync sync)
6229 {
6230         _COREGL_TRACEPATH_FUNC_BEGIN("(%p)", sync);
6231         _orig_tracepath_glDeleteSync(sync);
6232
6233         goto finish;
6234
6235 finish:
6236         _COREGL_TRACEPATH_FUNC_END("end");
6237 }
6238 GLenum
6239 tracepath_glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout)
6240 {
6241         GLenum ret = _COREGL_INT_INIT_VALUE;
6242
6243         _COREGL_TRACEPATH_FUNC_BEGIN("(%p, 0x%x, %" PRId64, sync, flags, timeout);
6244         ret = _orig_tracepath_glClientWaitSync(sync, flags, timeout);
6245
6246         goto finish;
6247
6248 finish:
6249         _COREGL_TRACEPATH_FUNC_END("end");
6250         return ret;
6251 }
6252
6253 void
6254 tracepath_glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout)
6255 {
6256         _COREGL_TRACEPATH_FUNC_BEGIN("(%p, 0x%x, %" PRId64, sync, flags, timeout);
6257         _orig_tracepath_glWaitSync(sync, flags, timeout);
6258
6259         goto finish;
6260
6261 finish:
6262         _COREGL_TRACEPATH_FUNC_END("end");
6263 }
6264
6265 void
6266 tracepath_glGetInteger64v(GLenum pname, GLint64 *params)
6267 {
6268         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %p)", _get_value(pname), params);
6269         _orig_tracepath_glGetInteger64v(pname, params);
6270
6271         goto finish;
6272
6273 finish:
6274         _COREGL_TRACEPATH_FUNC_END("end");
6275 }
6276
6277 void
6278 tracepath_glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize,
6279                                           GLsizei *length, GLint *values)
6280 {
6281         _COREGL_TRACEPATH_FUNC_BEGIN("(%p, %s, %d, %p, %p)", sync, _get_value(pname),
6282                                                                 bufSize, length, values);
6283         _orig_tracepath_glGetSynciv(sync, pname, bufSize, length, values);
6284
6285         goto finish;
6286
6287 finish:
6288         _COREGL_TRACEPATH_FUNC_END("end");
6289 }
6290
6291 void
6292 tracepath_glGetInteger64i_v(GLenum target, GLuint index, GLint64 *data)
6293 {
6294         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d, %p)", _get_value(target), index, data);
6295         _orig_tracepath_glGetInteger64i_v(target, index, data);
6296
6297         goto finish;
6298
6299 finish:
6300         _COREGL_TRACEPATH_FUNC_END("end");
6301 }
6302
6303 void
6304 tracepath_glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params)
6305 {
6306         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(target),
6307                                                                 _get_value(pname), params);
6308         _orig_tracepath_glGetBufferParameteri64v(target, pname, params);
6309
6310         goto finish;
6311
6312 finish:
6313         _COREGL_TRACEPATH_FUNC_END("end");
6314 }
6315
6316 void
6317 tracepath_glGenSamplers(GLsizei n, GLuint *samplers)
6318 {
6319         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %p)", n, samplers);
6320         _orig_tracepath_glGenSamplers(n, samplers);
6321
6322         goto finish;
6323
6324 finish:
6325         _COREGL_TRACEPATH_FUNC_END("end");
6326 }
6327
6328 void
6329 tracepath_glDeleteSamplers(GLsizei n, const GLuint *samplers)
6330 {
6331         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %p)", n, samplers);
6332         _orig_tracepath_glDeleteSamplers(n, samplers);
6333
6334         goto finish;
6335
6336 finish:
6337         _COREGL_TRACEPATH_FUNC_END("end");
6338 }
6339
6340 GLboolean
6341 tracepath_glIsSampler(GLuint sampler)
6342 {
6343         GLboolean ret = GL_FALSE;
6344
6345         _COREGL_TRACEPATH_FUNC_BEGIN("(%d)", sampler);
6346         ret = _orig_tracepath_glIsSampler(sampler);
6347
6348         goto finish;
6349
6350 finish:
6351         _COREGL_TRACEPATH_FUNC_END("end");
6352         return ret;
6353 }
6354
6355 void
6356 tracepath_glBindSampler(GLuint unit, GLuint sampler)
6357 {
6358         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d)", unit, sampler);
6359         _orig_tracepath_glBindSampler(unit, sampler);
6360
6361         goto finish;
6362
6363 finish:
6364         _COREGL_TRACEPATH_FUNC_END("end");
6365 }
6366
6367 void
6368 tracepath_glSamplerParameteri(GLuint sampler, GLenum pname, GLint param)
6369 {
6370         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %d)", sampler, _get_value(pname), param);
6371         _orig_tracepath_glSamplerParameteri(sampler, pname, param);
6372
6373         goto finish;
6374
6375 finish:
6376         _COREGL_TRACEPATH_FUNC_END("end");
6377 }
6378
6379 void
6380 tracepath_glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint *param)
6381 {
6382         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %p)", sampler, _get_value(pname), param);
6383         _orig_tracepath_glSamplerParameteriv(sampler, pname, param);
6384
6385         goto finish;
6386
6387 finish:
6388         _COREGL_TRACEPATH_FUNC_END("end");
6389 }
6390
6391 void
6392 tracepath_glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param)
6393 {
6394         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %f)", sampler, _get_value(pname), param);
6395         _orig_tracepath_glSamplerParameterf(sampler, pname, param);
6396
6397         goto finish;
6398
6399 finish:
6400         _COREGL_TRACEPATH_FUNC_END("end");
6401 }
6402
6403 void
6404 tracepath_glSamplerParameterfv(GLuint sampler, GLenum pname,
6405                                                            const GLfloat *param)
6406 {
6407         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %p)", sampler, _get_value(pname), param);
6408         _orig_tracepath_glSamplerParameterfv(sampler, pname, param);
6409
6410         goto finish;
6411
6412 finish:
6413         _COREGL_TRACEPATH_FUNC_END("end");
6414 }
6415
6416 void
6417 tracepath_glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params)
6418 {
6419         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %p)", sampler, _get_value(pname), params);
6420         _orig_tracepath_glGetSamplerParameteriv(sampler, pname, params);
6421
6422         goto finish;
6423
6424 finish:
6425         _COREGL_TRACEPATH_FUNC_END("end");
6426 }
6427
6428 void
6429 tracepath_glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params)
6430 {
6431         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %p)", sampler, _get_value(pname), params);
6432         _orig_tracepath_glGetSamplerParameterfv(sampler, pname, params);
6433
6434         goto finish;
6435
6436 finish:
6437         _COREGL_TRACEPATH_FUNC_END("end");
6438 }
6439
6440 void
6441 tracepath_glVertexAttribDivisor(GLuint index, GLuint divisor)
6442 {
6443         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d)", index, divisor);
6444         _orig_tracepath_glVertexAttribDivisor(index, divisor);
6445
6446         goto finish;
6447
6448 finish:
6449         _COREGL_TRACEPATH_FUNC_END("end");
6450 }
6451
6452 void
6453 tracepath_glBindTransformFeedback(GLenum target, GLuint id)
6454 {
6455         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d)", _get_value(target), id);
6456         _orig_tracepath_glBindTransformFeedback(target, id);
6457
6458         goto finish;
6459
6460 finish:
6461         _COREGL_TRACEPATH_FUNC_END("end");
6462 }
6463
6464 void
6465 tracepath_glDeleteTransformFeedbacks(GLsizei n, const GLuint *ids)
6466 {
6467         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %p)", n, ids);
6468         _orig_tracepath_glDeleteTransformFeedbacks(n, ids);
6469
6470         goto finish;
6471
6472 finish:
6473         _COREGL_TRACEPATH_FUNC_END("end");
6474 }
6475
6476 void
6477 tracepath_glGenTransformFeedbacks(GLsizei n, GLuint *ids)
6478 {
6479         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %p)", n, ids);
6480         _orig_tracepath_glGenTransformFeedbacks(n, ids);
6481
6482         goto finish;
6483
6484 finish:
6485         _COREGL_TRACEPATH_FUNC_END("end");
6486 }
6487
6488 GLboolean
6489 tracepath_glIsTransformFeedback(GLuint id)
6490 {
6491         GLboolean ret = GL_FALSE;
6492
6493         _COREGL_TRACEPATH_FUNC_BEGIN("(%d)", id);
6494         ret = _orig_tracepath_glIsTransformFeedback(id);
6495
6496         goto finish;
6497
6498 finish:
6499         _COREGL_TRACEPATH_FUNC_END("end");
6500         return ret;
6501 }
6502
6503 void
6504 tracepath_glPauseTransformFeedback()
6505 {
6506         _COREGL_TRACEPATH_FUNC_BEGIN("start");
6507         _orig_tracepath_glPauseTransformFeedback();
6508
6509         goto finish;
6510
6511 finish:
6512         _COREGL_TRACEPATH_FUNC_END("end");
6513 }
6514
6515 void
6516 tracepath_glResumeTransformFeedback()
6517 {
6518         _COREGL_TRACEPATH_FUNC_BEGIN("start");
6519         _orig_tracepath_glResumeTransformFeedback();
6520
6521         goto finish;
6522
6523 finish:
6524         _COREGL_TRACEPATH_FUNC_END("end");
6525 }
6526
6527 void
6528 tracepath_glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei *length,
6529                                                          GLenum *binaryFormat, GLvoid *binary)
6530 {
6531         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %p, %p, %p)", program, bufSize, length,
6532                                                                 binaryFormat, binary);
6533         _orig_tracepath_glGetProgramBinary(program, bufSize, length, binaryFormat,
6534                                                                            binary);
6535
6536         goto finish;
6537
6538 finish:
6539         _COREGL_TRACEPATH_FUNC_END("end");
6540 }
6541
6542 void
6543 tracepath_glGetProgramBinaryOES(GLuint program, GLsizei bufSize,
6544                                                                 GLsizei *length, GLenum *binaryFormat, GLvoid *binary)
6545 {
6546         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %p, %p, %p)", program, bufSize, length,
6547                                                                 binaryFormat, binary);
6548         _orig_tracepath_glGetProgramBinaryOES(program, bufSize, length, binaryFormat,
6549                                                                                   binary);
6550
6551         goto finish;
6552
6553 finish:
6554         _COREGL_TRACEPATH_FUNC_END("end");
6555 }
6556
6557 void
6558 tracepath_glProgramBinary(GLuint program, GLenum binaryFormat,
6559                                                   const GLvoid *binary, GLsizei length)
6560 {
6561         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %p, %d)", program,
6562                                                                 _get_value(binaryFormat), binary, length);
6563         _orig_tracepath_glProgramBinary(program, binaryFormat, binary, length);
6564
6565         goto finish;
6566
6567 finish:
6568         _COREGL_TRACEPATH_FUNC_END("end");
6569 }
6570
6571 void
6572 tracepath_glProgramBinaryOES(GLuint program, GLenum binaryFormat,
6573                                                          const GLvoid *binary, GLsizei length)
6574 {
6575         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %p, %d)", program,
6576                                                                 _get_value(binaryFormat), binary, length);
6577         _orig_tracepath_glProgramBinaryOES(program, binaryFormat, binary, length);
6578
6579         goto finish;
6580
6581 finish:
6582         _COREGL_TRACEPATH_FUNC_END("end");
6583 }
6584
6585 void
6586 tracepath_glProgramParameteri(GLuint program, GLenum pname, GLint value)
6587 {
6588         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %d)", program, _get_value(pname), value);
6589         _orig_tracepath_glProgramParameteri(program, pname, value);
6590
6591         goto finish;
6592
6593 finish:
6594         _COREGL_TRACEPATH_FUNC_END("end");
6595 }
6596
6597 void
6598 tracepath_glInvalidateFramebuffer(GLenum target, GLsizei numAttachments,
6599                                                                   const GLenum *attachments)
6600 {
6601         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d, %p)", _get_value(target), numAttachments,
6602                                                                 attachments);
6603         _orig_tracepath_glInvalidateFramebuffer(target, numAttachments, attachments);
6604
6605         goto finish;
6606
6607 finish:
6608         _COREGL_TRACEPATH_FUNC_END("end");
6609 }
6610
6611 void
6612 tracepath_glDiscardFramebufferEXT(GLenum target, GLsizei numAttachments,
6613                                                                   const GLenum *attachments)
6614 {
6615         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d, %p)", _get_value(target), numAttachments,
6616                                                                 attachments);
6617         _orig_tracepath_glDiscardFramebufferEXT(target, numAttachments, attachments);
6618
6619         goto finish;
6620
6621 finish:
6622         _COREGL_TRACEPATH_FUNC_END("end");
6623 }
6624
6625 void
6626 tracepath_glInvalidateSubFramebuffer(GLenum target, GLsizei numAttachments,
6627                                                                          const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height)
6628 {
6629         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d, %p, [%d, %d], [%d, %d])", _get_value(target),
6630                                                                 numAttachments, attachments, x, y, width, height);
6631         _orig_tracepath_glInvalidateSubFramebuffer(target, numAttachments, attachments,
6632                         x, y, width, height);
6633
6634         goto finish;
6635
6636 finish:
6637         _COREGL_TRACEPATH_FUNC_END("end");
6638 }
6639
6640 void
6641 tracepath_glTexStorage2D(GLenum target, GLsizei levels, GLenum internalformat,
6642                                                  GLsizei width, GLsizei height)
6643 {
6644         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d, %s, [%d, %d])", _get_value(target), levels,
6645                                                                 _get_value(internalformat), width, height);
6646         _orig_tracepath_glTexStorage2D(target, levels, internalformat, width, height);
6647
6648         goto finish;
6649
6650 finish:
6651         _COREGL_TRACEPATH_FUNC_END("end");
6652 }
6653
6654 void
6655 tracepath_glTexStorage3D(GLenum target, GLsizei levels, GLenum internalformat,
6656                                                  GLsizei width, GLsizei height, GLsizei depth)
6657 {
6658         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d, %s, [%d, %d, %d])", _get_value(target), levels,
6659                                                                 _get_value(internalformat), width, height, depth);
6660         _orig_tracepath_glTexStorage3D(target, levels, internalformat, width, height,
6661                                                                    depth);
6662
6663         goto finish;
6664
6665 finish:
6666         _COREGL_TRACEPATH_FUNC_END("end");
6667 }
6668
6669 void
6670 tracepath_glGetInternalformativ(GLenum target, GLenum internalformat,
6671                                                                 GLenum pname, GLsizei bufSize, GLint *params)
6672 {
6673         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %s, %d, %p)", _get_value(target),
6674                                                                 _get_value(internalformat), _get_value(pname), bufSize,
6675                                                                 params);
6676         _orig_tracepath_glGetInternalformativ(target, internalformat, pname, bufSize,
6677                                                                                   params);
6678
6679         goto finish;
6680
6681 finish:
6682         _COREGL_TRACEPATH_FUNC_END("end");
6683 }
6684
6685
6686 /* GLES Extensions */
6687 void
6688 tracepath_glEGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image)
6689 {
6690         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %p)", _get_value(target), image);
6691         _COREGL_TRACE_SURFACE(0, 1, "TEXTURE2DOES");
6692         _orig_tracepath_glEGLImageTargetTexture2DOES(target, image);
6693         goto finish;
6694
6695 finish:
6696         _COREGL_TRACEPATH_FUNC_END("end");
6697 #ifdef COREGL_TRACEPATH_TRACE_MEMUSE_INFO
6698         if (get_trace_mem_flag() == 1) {
6699                 MY_MODULE_TSTATE* tstate = _get_my_state();
6700                 if (tstate && tstate->ctx != NULL) {
6701                         int objidx = _COREGL_INT_INIT_VALUE;
6702                         _orig_tracepath_glGetIntegerv(GL_TEXTURE_BINDING_2D, &objidx);
6703                         AST(objidx != _COREGL_INT_INIT_VALUE);
6704
6705                         _add_glbuf_object(tstate->ctx->sostate->glbuf_tex, objidx, "Texture", 0, 0, 0,
6706                                                           "Unknown");
6707                 }
6708         }
6709 #endif // COREGL_TRACEPATH_TRACE_MEMUSE_INFO
6710 }
6711
6712 void
6713 tracepath_glEGLImageTargetRenderbufferStorageOES(GLenum target,
6714                 GLeglImageOES image)
6715 {
6716         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %p)", _get_value(target), image);
6717         _orig_tracepath_glEGLImageTargetRenderbufferStorageOES(target, image);
6718         goto finish;
6719
6720 finish:
6721         _COREGL_TRACEPATH_FUNC_END("end");
6722 #ifdef COREGL_TRACEPATH_TRACE_MEMUSE_INFO
6723         if (get_trace_mem_flag() == 1) {
6724                 MY_MODULE_TSTATE* tstate = _get_my_state();
6725                 if (tstate && tstate->ctx != NULL) {
6726                         int objidx = _COREGL_INT_INIT_VALUE;
6727                         _orig_tracepath_glGetIntegerv(GL_RENDERBUFFER_BINDING, &objidx);
6728                         AST(objidx != _COREGL_INT_INIT_VALUE);
6729
6730                         _add_glbuf_object(tstate->ctx->sostate->glbuf_rb, objidx, "Renderbuffer", 0, 0,
6731                                                           0, "Unknown");
6732                 }
6733         }
6734 #endif // COREGL_TRACEPATH_TRACE_MEMUSE_INFO
6735 }
6736
6737 void
6738 tracepath_glUseProgramStagesEXT(GLuint pipeline, GLbitfield stages,
6739                                                                 GLuint program)
6740 {
6741         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, 0x%x, %d)", pipeline, stages, program);
6742         _orig_tracepath_glUseProgramStagesEXT(pipeline, stages, program);
6743
6744         goto finish;
6745
6746 finish:
6747         _COREGL_TRACEPATH_FUNC_END("end");
6748 }
6749
6750 void
6751 tracepath_glActiveShaderProgramEXT(GLuint pipeline, GLuint program)
6752 {
6753         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d)", pipeline, program);
6754         _orig_tracepath_glActiveShaderProgramEXT(pipeline, program);
6755
6756         goto finish;
6757
6758 finish:
6759         _COREGL_TRACEPATH_FUNC_END("end");
6760 }
6761
6762 GLuint
6763 tracepath_glCreateShaderProgramvEXT(GLenum type, GLsizei count,
6764                                                                         const char **strings)
6765 {
6766         GLuint ret = _COREGL_INT_INIT_VALUE;
6767
6768         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d, %p)", _get_value(type), count, strings);
6769         ret = _orig_tracepath_glCreateShaderProgramvEXT(type, count, strings);
6770
6771         goto finish;
6772
6773 finish:
6774         _COREGL_TRACEPATH_FUNC_END("end");
6775         return ret;
6776 }
6777
6778 void
6779 tracepath_glBindProgramPipelineEXT(GLuint pipeline)
6780 {
6781         _COREGL_TRACEPATH_FUNC_BEGIN("(%d)", pipeline);
6782         _orig_tracepath_glBindProgramPipelineEXT(pipeline);
6783
6784         goto finish;
6785
6786 finish:
6787         _COREGL_TRACEPATH_FUNC_END("end");
6788 }
6789
6790 void
6791 tracepath_glDeleteProgramPipelinesEXT(GLsizei n, const GLuint *pipelines)
6792 {
6793         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %p)", n, pipelines);
6794         _orig_tracepath_glDeleteProgramPipelinesEXT(n, pipelines);
6795
6796         goto finish;
6797
6798 finish:
6799         _COREGL_TRACEPATH_FUNC_END("end");
6800 }
6801
6802 void
6803 tracepath_glGenProgramPipelinesEXT(GLsizei n, GLuint *pipelines)
6804 {
6805         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %p)", n, pipelines);
6806         _orig_tracepath_glGenProgramPipelinesEXT(n, pipelines);
6807
6808         goto finish;
6809
6810 finish:
6811         _COREGL_TRACEPATH_FUNC_END("end");
6812 }
6813
6814 GLboolean
6815 tracepath_glIsProgramPipelineEXT(GLuint pipeline)
6816 {
6817         GLboolean ret = _COREGL_INT_INIT_VALUE;
6818
6819         _COREGL_TRACEPATH_FUNC_BEGIN("(%d)", pipeline);
6820         ret = _orig_tracepath_glIsProgramPipelineEXT(pipeline);
6821
6822         goto finish;
6823
6824 finish:
6825         _COREGL_TRACEPATH_FUNC_END("end");
6826         return ret;
6827 }
6828
6829 void
6830 tracepath_glProgramParameteriEXT(GLuint program, GLenum pname, GLint value)
6831 {
6832         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %d)", program, _get_value(pname), value);
6833         _orig_tracepath_glProgramParameteriEXT(program, pname, value);
6834
6835         goto finish;
6836
6837 finish:
6838         _COREGL_TRACEPATH_FUNC_END("end");
6839 }
6840
6841 void
6842 tracepath_glGetProgramPipelineivEXT(GLuint pipeline, GLenum pname,
6843                                                                         GLint *params)
6844 {
6845         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %p)", pipeline, _get_value(pname), params);
6846         _orig_tracepath_glGetProgramPipelineivEXT(pipeline, pname, params);
6847
6848         goto finish;
6849
6850 finish:
6851         _COREGL_TRACEPATH_FUNC_END("end");
6852 }
6853
6854 void
6855 tracepath_glProgramUniform1iEXT(GLuint program, GLint location, GLint x)
6856 {
6857         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d)", program, location, x);
6858         _orig_tracepath_glProgramUniform1iEXT(program, location, x);
6859
6860         goto finish;
6861
6862 finish:
6863         _COREGL_TRACEPATH_FUNC_END("end");
6864 }
6865
6866 void
6867 tracepath_glProgramUniform2iEXT(GLuint program, GLint location, GLint x,
6868                                                                 GLint y)
6869 {
6870         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, [%d, %d])", program, location, x, y);
6871         _orig_tracepath_glProgramUniform2iEXT(program, location, x, y);
6872
6873         goto finish;
6874
6875 finish:
6876         _COREGL_TRACEPATH_FUNC_END("end");
6877 }
6878
6879 void
6880 tracepath_glProgramUniform3iEXT(GLuint program, GLint location, GLint x,
6881                                                                 GLint y, GLint z)
6882 {
6883         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, [%d, %d, %d])", program, location, x, y, z);
6884         _orig_tracepath_glProgramUniform3iEXT(program, location, x, y, z);
6885
6886         goto finish;
6887
6888 finish:
6889         _COREGL_TRACEPATH_FUNC_END("end");
6890 }
6891
6892 void
6893 tracepath_glProgramUniform4iEXT(GLuint program, GLint location, GLint x,
6894                                                                 GLint y, GLint z, GLint w)
6895 {
6896         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, [%d, %d, %d, %d])", program, location, x, y, z, w);
6897         _orig_tracepath_glProgramUniform4iEXT(program, location, x, y, z, w);
6898
6899         goto finish;
6900
6901 finish:
6902         _COREGL_TRACEPATH_FUNC_END("end");
6903 }
6904
6905 void
6906 tracepath_glProgramUniform1fEXT(GLuint program, GLint location, GLfloat x)
6907 {
6908         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %f)", program, location, x);
6909         _orig_tracepath_glProgramUniform1fEXT(program, location, x);
6910
6911         goto finish;
6912
6913 finish:
6914         _COREGL_TRACEPATH_FUNC_END("end");
6915 }
6916
6917 void
6918 tracepath_glProgramUniform2fEXT(GLuint program, GLint location, GLfloat x,
6919                                                                 GLfloat y)
6920 {
6921         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, [%f, %f])", program, location, x, y);
6922         _orig_tracepath_glProgramUniform2fEXT(program, location, x, y);
6923
6924         goto finish;
6925
6926 finish:
6927         _COREGL_TRACEPATH_FUNC_END("end");
6928 }
6929
6930 void
6931 tracepath_glProgramUniform3fEXT(GLuint program, GLint location, GLfloat x,
6932                                                                 GLfloat y, GLfloat z)
6933 {
6934         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, [%f, %f, %f])", program, location, x, y, z);
6935         _orig_tracepath_glProgramUniform3fEXT(program, location, x, y, z);
6936
6937         goto finish;
6938
6939 finish:
6940         _COREGL_TRACEPATH_FUNC_END("end");
6941 }
6942
6943 void
6944 tracepath_glProgramUniform4fEXT(GLuint program, GLint location, GLfloat x,
6945                                                                 GLfloat y, GLfloat z, GLfloat w)
6946 {
6947         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, [%f, %f, %f, %f])", program, location, x, y, z, w);
6948         _orig_tracepath_glProgramUniform4fEXT(program, location, x, y, z, w);
6949
6950         goto finish;
6951
6952 finish:
6953         _COREGL_TRACEPATH_FUNC_END("end");
6954 }
6955
6956 void
6957 tracepath_glProgramUniform1ivEXT(GLuint program, GLint location, GLsizei count,
6958                                                                  const GLint *value)
6959 {
6960         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %p)", program, location, count, value);
6961         _orig_tracepath_glProgramUniform1ivEXT(program, location, count, value);
6962
6963         goto finish;
6964
6965 finish:
6966         _COREGL_TRACEPATH_FUNC_END("end");
6967 }
6968
6969 void
6970 tracepath_glProgramUniform2ivEXT(GLuint program, GLint location, GLsizei count,
6971                                                                  const GLint *value)
6972 {
6973         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %p)", program, location, count, value);
6974         _orig_tracepath_glProgramUniform2ivEXT(program, location, count, value);
6975
6976         goto finish;
6977
6978 finish:
6979         _COREGL_TRACEPATH_FUNC_END("end");
6980 }
6981
6982 void
6983 tracepath_glProgramUniform3ivEXT(GLuint program, GLint location, GLsizei count,
6984                                                                  const GLint *value)
6985 {
6986         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %p)", program, location, count, value);
6987         _orig_tracepath_glProgramUniform3ivEXT(program, location, count, value);
6988
6989         goto finish;
6990
6991 finish:
6992         _COREGL_TRACEPATH_FUNC_END("end");
6993 }
6994
6995 void
6996 tracepath_glProgramUniform4ivEXT(GLuint program, GLint location, GLsizei count,
6997                                                                  const GLint *value)
6998 {
6999         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %p)", program, location, count, value);
7000         _orig_tracepath_glProgramUniform4ivEXT(program, location, count, value);
7001
7002         goto finish;
7003
7004 finish:
7005         _COREGL_TRACEPATH_FUNC_END("end");
7006 }
7007
7008 void
7009 tracepath_glProgramUniform1fvEXT(GLuint program, GLint location, GLsizei count,
7010                                                                  const GLfloat *value)
7011 {
7012         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %p)", program, location, count, value);
7013         _orig_tracepath_glProgramUniform1fvEXT(program, location, count, value);
7014
7015         goto finish;
7016
7017 finish:
7018         _COREGL_TRACEPATH_FUNC_END("end");
7019 }
7020
7021 void
7022 tracepath_glProgramUniform2fvEXT(GLuint program, GLint location, GLsizei count,
7023                                                                  const GLfloat *value)
7024 {
7025         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %p)", program, location, count, value);
7026         _orig_tracepath_glProgramUniform2fvEXT(program, location, count, value);
7027
7028         goto finish;
7029
7030 finish:
7031         _COREGL_TRACEPATH_FUNC_END("end");
7032 }
7033
7034 void
7035 tracepath_glProgramUniform3fvEXT(GLuint program, GLint location, GLsizei count,
7036                                                                  const GLfloat *value)
7037 {
7038         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %p)", program, location, count, value);
7039         _orig_tracepath_glProgramUniform3fvEXT(program, location, count, value);
7040
7041         goto finish;
7042
7043 finish:
7044         _COREGL_TRACEPATH_FUNC_END("end");
7045 }
7046
7047 void
7048 tracepath_glProgramUniform4fvEXT(GLuint program, GLint location, GLsizei count,
7049                                                                  const GLfloat *value)
7050 {
7051         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %p)", program, location, count, value);
7052         _orig_tracepath_glProgramUniform4fvEXT(program, location, count, value);
7053
7054         goto finish;
7055
7056 finish:
7057         _COREGL_TRACEPATH_FUNC_END("end");
7058 }
7059
7060 void
7061 tracepath_glProgramUniformMatrix2fvEXT(GLuint program, GLint location,
7062                                                                            GLsizei count, GLboolean transpose, const GLfloat *value)
7063 {
7064         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %d, %p)", program, location, count,
7065                                                                 transpose, value);
7066         _orig_tracepath_glProgramUniformMatrix2fvEXT(program, location, count,
7067                         transpose, value);
7068
7069         goto finish;
7070
7071 finish:
7072         _COREGL_TRACEPATH_FUNC_END("end");
7073 }
7074
7075 void
7076 tracepath_glProgramUniformMatrix3fvEXT(GLuint program, GLint location,
7077                                                                            GLsizei count, GLboolean transpose, const GLfloat *value)
7078 {
7079         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %d, %p)", program, location, count,
7080                                                                 transpose, value);
7081         _orig_tracepath_glProgramUniformMatrix3fvEXT(program, location, count,
7082                         transpose, value);
7083
7084         goto finish;
7085
7086 finish:
7087         _COREGL_TRACEPATH_FUNC_END("end");
7088 }
7089
7090 void
7091 tracepath_glProgramUniformMatrix4fvEXT(GLuint program, GLint location,
7092                                                                            GLsizei count, GLboolean transpose, const GLfloat *value)
7093 {
7094         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %d, %p)", program, location, count,
7095                                                                 transpose, value);
7096         _orig_tracepath_glProgramUniformMatrix4fvEXT(program, location, count,
7097                         transpose, value);
7098
7099         goto finish;
7100
7101 finish:
7102         _COREGL_TRACEPATH_FUNC_END("end");
7103 }
7104
7105 void
7106 tracepath_glValidateProgramPipelineEXT(GLuint pipeline)
7107 {
7108         _COREGL_TRACEPATH_FUNC_BEGIN("(%d)", pipeline);
7109         _orig_tracepath_glValidateProgramPipelineEXT(pipeline);
7110
7111         goto finish;
7112
7113 finish:
7114         _COREGL_TRACEPATH_FUNC_END("end");
7115 }
7116
7117 void
7118 tracepath_glGetProgramPipelineInfoLogEXT(GLuint pipeline, GLsizei bufSize,
7119                 GLsizei *length, char *infoLog)
7120 {
7121         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %p, %p)", pipeline, bufSize, length, infoLog);
7122         _orig_tracepath_glGetProgramPipelineInfoLogEXT(pipeline, bufSize, length,
7123                         infoLog);
7124
7125         goto finish;
7126
7127 finish:
7128         _COREGL_TRACEPATH_FUNC_END("ret len[%d], infolog[%s]", length ? (*length):0, infoLog);
7129 }
7130
7131
7132 void
7133 tracepath_glFramebufferTexture2DMultisampleEXT(GLenum target, GLenum attachment,
7134                 GLenum textarget, GLuint texture, GLint level, GLsizei samples)
7135 {
7136         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %s, %d, %d, %d)", _get_value(target),
7137                                                                 _get_value(attachment), _get_value(textarget), texture, level, samples);
7138
7139 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
7140         tracepath_fbdump_update(0);
7141 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
7142
7143         _orig_tracepath_glFramebufferTexture2DMultisampleEXT(target, attachment,
7144                         textarget, texture, level, samples);
7145
7146 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
7147         tracepath_fbdump_update(1);
7148 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
7149
7150         goto finish;
7151
7152 finish:
7153         _COREGL_TRACEPATH_FUNC_END("end");
7154 }
7155
7156 void
7157 tracepath_glFramebufferTexture3DOES(GLenum target, GLenum attachment,
7158                                                                         GLenum textarget, GLuint texture, GLint level, GLint zoffset)
7159 {
7160         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %s, %d, %d, %d)", _get_value(target),
7161                                                                 _get_value(attachment), _get_value(textarget), texture, level, zoffset);
7162         _orig_tracepath_glFramebufferTexture3DOES(target, attachment, textarget,
7163                         texture, level, zoffset);
7164
7165         goto finish;
7166
7167 finish:
7168         _COREGL_TRACEPATH_FUNC_END("end");
7169 }
7170 /*
7171 void
7172 tracepath_glBlitFramebufferANGLE(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)
7173 {
7174         _COREGL_TRACEPATH_FUNC_BEGIN();
7175         _orig_tracepath_glBlitFramebufferANGLE(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
7176
7177         goto finish;
7178
7179 finish:
7180         _COREGL_TRACEPATH_FUNC_END("end");
7181 }
7182
7183 void
7184 tracepath_glRenderbufferStorageMultisampleANGLE(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
7185 {
7186         _COREGL_TRACEPATH_FUNC_BEGIN();
7187
7188         _orig_tracepath_glRenderbufferStorageMultisampleANGLE(target, samples, internalformat, width, height);
7189
7190         goto finish;
7191
7192 finish:
7193         _COREGL_TRACEPATH_FUNC_END("end");
7194 #ifdef COREGL_TRACEPATH_TRACE_MEMUSE_INFO
7195         if (trace_mem_flag == 1)
7196         {
7197                 MY_MODULE_TSTATE *tstate = NULL;
7198
7199                 GET_MY_TSTATE(tstate, get_current_thread_state());
7200                 AST(tstate != NULL);
7201                 if (tstate->ctx != NULL)
7202                 {
7203                         int objidx = _COREGL_INT_INIT_VALUE;
7204                         _orig_tracepath_glGetIntegerv(GL_RENDERBUFFER_BINDING, &objidx);
7205                         AST(objidx != _COREGL_INT_INIT_VALUE);
7206
7207                         // Detect byte per pixel
7208                         int bpp = 0;
7209                         char formatment[80];
7210                         switch (internalformat)
7211                         {
7212                                 case GL_ALPHA: sprintf(formatment, "ALPHA"); bpp = 1; break;
7213                                 case GL_LUMINANCE: sprintf(formatment, "LUMINANCE"); bpp = 1; break;
7214                                 case GL_LUMINANCE_ALPHA: sprintf(formatment, "LUMINANCE_ALPHA"); bpp = 1; break;
7215                                 case GL_RGB: sprintf(formatment, "RGB"); bpp = 2; break;
7216                                 case GL_RGBA: sprintf(formatment, "RGBA"); bpp = 4; break;
7217                                 case 0x80E1: sprintf(formatment, "BGRA_EXT"); bpp = 4; break;
7218                                 case 0x84F9: sprintf(formatment, "DEPTH_STENCIL_OES"); bpp = 4; break;
7219                                 case GL_DEPTH_COMPONENT : sprintf(formatment, "DEPTH_COMPONENT"); bpp = 1; break;
7220                                 case 0x81A5: sprintf(formatment, "DEPTH_COMPONENT16_ARB"); bpp = 2; break;
7221                                 case 0x81A6: sprintf(formatment, "DEPTH_COMPONENT24_ARB"); bpp = 3; break;
7222                                 case 0x81A7: sprintf(formatment, "DEPTH_COMPONENT32_ARB"); bpp = 4; break;
7223                                 case 0x8D46 : sprintf(formatment, "STENCIL_INDEX1_OES"); bpp = 1; break;
7224                                 case 0x8D47 : sprintf(formatment, "STENCIL_INDEX4_OES"); bpp = 1; break;
7225                                 case 0x8D48 : sprintf(formatment, "STENCIL_INDEX8_OES"); bpp = 1; break;
7226                                 default: sprintf(formatment, "0x%X", internalformat); bpp = 0; break;
7227                         }
7228
7229                         _add_glbuf_object(tstate->ctx->sostate->glbuf_rb, objidx, "Renderbuffer", width, height, bpp, formatment);
7230                 }
7231         }
7232 #endif // COREGL_TRACEPATH_TRACE_MEMUSE_INFO
7233 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
7234         if (trace_surface_flag == 1)
7235         {
7236                 MY_MODULE_TSTATE *tstate = NULL;
7237
7238                 GET_MY_TSTATE(tstate, get_current_thread_state());
7239                 AST(tstate != NULL);
7240                 if (tstate->ctx != NULL)
7241                 {
7242                         int objidx = _COREGL_INT_INIT_VALUE;
7243                         _orig_tracepath_glGetIntegerv(GL_RENDERBUFFER_BINDING, &objidx);
7244                         AST(objidx != _COREGL_INT_INIT_VALUE);
7245
7246                         {
7247                                 int channel = 0;
7248                                 switch (internalformat)
7249                                 {
7250                                         case GL_ALPHA:
7251                                         case GL_LUMINANCE:
7252                                         case GL_DEPTH_COMPONENT :
7253                                         case 0x81A5:
7254                                         case 0x81A6:
7255                                         case 0x81A7:
7256                                         case 0x8D46 :
7257                                         case 0x8D47 :
7258                                         case 0x8D48 : channel = 1; break;
7259                                         case GL_LUMINANCE_ALPHA:
7260                                         case 0x84F9: channel = 2; break;
7261                                         case GL_RGB: channel = 3; break;
7262                                         case GL_RGBA:
7263                                         case 0x80E1: channel = 4; break;
7264                                 }
7265
7266                                 char name[256];
7267                                 sprintf(name, "FBORB_%d", objidx);
7268                                 tracepath_surface_trace_add(name, tstate->ctx->dpy, tstate->ctx->handle, tstate->surf_draw, -1, 0, objidx, width, height, channel, NULL);
7269                         }
7270                 }
7271         }
7272 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
7273 }
7274 */
7275
7276
7277 void
7278 tracepath_glGetBufferPointervOES(GLenum target, GLenum pname, GLvoid **params)
7279 {
7280         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(target), _get_value(pname), params);
7281         _orig_tracepath_glGetBufferPointervOES(target, pname, params);
7282
7283         goto finish;
7284
7285 finish:
7286         _COREGL_TRACEPATH_FUNC_END("end");
7287 }
7288
7289
7290 void *
7291 tracepath_glMapBufferOES(GLenum target, GLenum access)
7292 {
7293         void *ret = NULL;
7294
7295         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s)", _get_value(target), _get_value(access));
7296         ret = _orig_tracepath_glMapBufferOES(target, access);
7297
7298         goto finish;
7299
7300 finish:
7301         _COREGL_TRACEPATH_FUNC_END("end");
7302         return ret;
7303 }
7304
7305
7306 GLboolean
7307 tracepath_glUnmapBufferOES(GLenum target)
7308 {
7309         GLboolean ret = GL_FALSE;
7310
7311         _COREGL_TRACEPATH_FUNC_BEGIN("(%s)", _get_value(target));
7312         ret = _orig_tracepath_glUnmapBufferOES(target);
7313
7314         goto finish;
7315
7316 finish:
7317         _COREGL_TRACEPATH_FUNC_END("end");
7318         return ret;
7319 }
7320
7321 /* GLES3.1 API */
7322 void
7323 tracepath_glGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize,
7324                                                                           GLsizei *length, GLchar *infoLog)
7325 {
7326         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %p, %p)", pipeline, bufSize, length, infoLog);
7327         _orig_tracepath_glGetProgramPipelineInfoLog(pipeline, bufSize, length, infoLog);
7328
7329         goto finish;
7330
7331 finish:
7332         _COREGL_TRACEPATH_FUNC_END("ret len[%d], infolog[%s]", length ? (*length):0, infoLog);
7333 }
7334
7335 GLuint
7336 tracepath_glCreateShaderProgramv(GLenum type,  GLsizei count,
7337                                                                  const GLchar *const *strings)
7338 {
7339         GLboolean ret = GL_FALSE;
7340         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d, %s)", _get_value(type), count, (GLchar *)strings);
7341         ret = _orig_tracepath_glCreateShaderProgramv(type, count, strings);
7342
7343         goto finish;
7344
7345 finish:
7346         _COREGL_TRACEPATH_FUNC_END("end");
7347         return ret;
7348 }
7349
7350 void
7351 tracepath_glGenProgramPipelines( GLsizei n,  GLuint *pipelines)
7352 {
7353         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %p)", n, pipelines);
7354         _orig_tracepath_glGenProgramPipelines(n, pipelines);
7355
7356         goto finish;
7357
7358 finish:
7359         _COREGL_TRACEPATH_FUNC_END("end");
7360 }
7361
7362 void
7363 tracepath_glBindProgramPipeline( GLuint pipeline)
7364 {
7365         _COREGL_TRACEPATH_FUNC_BEGIN("(%d)", pipeline);
7366         _orig_tracepath_glBindProgramPipeline(pipeline);
7367
7368         goto finish;
7369
7370 finish:
7371         _COREGL_TRACEPATH_FUNC_END("end");
7372 }
7373
7374 void
7375 tracepath_glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint *params)
7376 {
7377         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %p)", pipeline, _get_value(pname), params);
7378         _orig_tracepath_glGetProgramPipelineiv(pipeline, pname, params);
7379
7380         goto finish;
7381
7382 finish:
7383         _COREGL_TRACEPATH_FUNC_END("end");
7384 }
7385
7386 void
7387 tracepath_glDeleteProgramPipelines(GLsizei n, GLuint const *pipelines)
7388 {
7389         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %p)", n, pipelines);
7390         _orig_tracepath_glDeleteProgramPipelines(n, pipelines);
7391
7392         goto finish;
7393
7394 finish:
7395         _COREGL_TRACEPATH_FUNC_END("end");
7396 }
7397
7398 GLboolean
7399 tracepath_glIsProgramPipeline( GLuint pipeline)
7400 {
7401         GLboolean ret = GL_FALSE;
7402
7403         _COREGL_TRACEPATH_FUNC_BEGIN("(%d)", pipeline);
7404         ret = _orig_tracepath_glIsProgramPipeline(pipeline);
7405
7406         goto finish;
7407
7408 finish:
7409         _COREGL_TRACEPATH_FUNC_END("end");
7410         return ret;
7411 }
7412
7413 void
7414 tracepath_glValidateProgramPipeline(GLuint pipeline)
7415 {
7416         _COREGL_TRACEPATH_FUNC_BEGIN("(%d)", pipeline);
7417         _orig_tracepath_glValidateProgramPipeline(pipeline);
7418
7419         goto finish;
7420
7421 finish:
7422         _COREGL_TRACEPATH_FUNC_END("end");
7423 }
7424
7425 void
7426 tracepath_glDispatchCompute(GLuint num_groups_x, GLuint num_groups_y,
7427                                                         GLuint num_groups_z)
7428 {
7429         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d)", num_groups_x, num_groups_y, num_groups_z);
7430         _orig_tracepath_glDispatchCompute(num_groups_x, num_groups_y, num_groups_z);
7431
7432         goto finish;
7433
7434 finish:
7435         _COREGL_TRACEPATH_FUNC_END("end");
7436 }
7437
7438 void
7439 tracepath_glDispatchComputeIndirect( GLintptr indirect)
7440 {
7441         _COREGL_TRACEPATH_FUNC_BEGIN("(%ld)", indirect);
7442         _orig_tracepath_glDispatchComputeIndirect(indirect);
7443
7444         goto finish;
7445
7446 finish:
7447         _COREGL_TRACEPATH_FUNC_END("end");
7448 }
7449
7450 void
7451 tracepath_glDrawArraysIndirect(GLenum mode, GLvoid const *indirect)
7452 {
7453         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %p)", _get_value(mode), indirect);
7454         _orig_tracepath_glDrawArraysIndirect(mode, indirect);
7455
7456         goto finish;
7457
7458 finish:
7459         _COREGL_TRACEPATH_FUNC_END("end");
7460 }
7461
7462 void
7463 tracepath_glDrawElementsIndirect(GLenum mode, GLenum type,
7464                                                                  GLvoid const *indirect)
7465 {
7466         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(mode), _get_value(type),
7467                                                                 indirect);
7468         _orig_tracepath_glDrawElementsIndirect(mode, type, indirect);
7469
7470         goto finish;
7471
7472 finish:
7473         _COREGL_TRACEPATH_FUNC_END("end");
7474 }
7475
7476 void
7477 tracepath_glFramebufferParameteri(GLenum target, GLenum pname, GLint param)
7478 {
7479         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %d)", _get_value(target), _get_value(pname), 
7480                                                                 param);
7481         _orig_tracepath_glFramebufferParameteri(target, pname, param);
7482
7483         goto finish;
7484
7485 finish:
7486         _COREGL_TRACEPATH_FUNC_END("end");
7487 }
7488
7489 void
7490 tracepath_glGetFramebufferParameteriv( GLenum target,  GLenum pname,
7491                                                                            GLint *params)
7492 {
7493         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(target), _get_value(pname), 
7494                                                                 params);
7495         _orig_tracepath_glGetFramebufferParameteriv(target,  pname,  params);
7496
7497         goto finish;
7498
7499 finish:
7500         _COREGL_TRACEPATH_FUNC_END("end");
7501 }
7502
7503 void
7504 tracepath_glGetProgramInterfaceiv(GLuint program,  GLenum programInterface,
7505                                                                   GLenum pname,  GLint *params)
7506 {
7507         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %s, %p)", program,  _get_value(programInterface),
7508                                                                 _get_value(pname), params);
7509         _orig_tracepath_glGetProgramInterfaceiv(program, programInterface, pname,
7510                                                                                         params);
7511
7512         goto finish;
7513
7514 finish:
7515         _COREGL_TRACEPATH_FUNC_END("end");
7516 }
7517
7518 GLuint
7519 tracepath_glGetProgramResourceIndex( GLuint program,  GLenum programInterface,
7520                                                                          const char *name)
7521 {
7522         GLuint ret = GL_INVALID_INDEX;
7523         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %s)", program,  _get_value(programInterface), name);
7524         ret =  _orig_tracepath_glGetProgramResourceIndex(program,  programInterface,
7525                         name);
7526
7527         goto finish;
7528
7529 finish:
7530         _COREGL_TRACEPATH_FUNC_END("end");
7531         return ret;
7532 }
7533
7534 void
7535 tracepath_glGetProgramResourceName(GLuint program, GLenum programInterface,
7536                                                                    GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name)
7537 {
7538         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %d, %d, %p, %p)", program, 
7539                                                                 _get_value(programInterface), index, bufSize, length, name);
7540
7541         _orig_tracepath_glGetProgramResourceName(program, programInterface, index,
7542                         bufSize, length, name);
7543
7544         goto finish;
7545
7546 finish:
7547         _COREGL_TRACEPATH_FUNC_END("end");
7548 }
7549
7550 void
7551 tracepath_glGetProgramResourceiv( GLuint program,  GLenum programInterface,
7552                                                                   GLuint index,  GLsizei propCount,  const GLenum *props,  GLsizei bufSize,
7553                                                                   GLsizei *length,  GLint *params)
7554 {
7555         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %d, %d, %p, %d, %p, %p)", program,
7556                                                                 _get_value(programInterface),  index, propCount,  props,  bufSize,
7557                                                                 length,  params);
7558
7559         _orig_tracepath_glGetProgramResourceiv(program,  programInterface,  index,
7560                                                                                    propCount,  props,  bufSize,  length,  params);
7561
7562         goto finish;
7563
7564 finish:
7565         _COREGL_TRACEPATH_FUNC_END("end");
7566 }
7567
7568 GLint
7569 tracepath_glGetProgramResourceLocation(GLuint program, GLenum programInterface,
7570                                                                            GLchar const *name)
7571 {
7572         GLuint ret = -1;
7573         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %s)", program, _get_value(programInterface), name);
7574
7575         ret = _orig_tracepath_glGetProgramResourceLocation(program, programInterface,
7576                         name);
7577
7578         goto finish;
7579
7580 finish:
7581         _COREGL_TRACEPATH_FUNC_END("end");
7582         return ret;
7583 }
7584
7585 void
7586 tracepath_glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program)
7587 {
7588         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, 0x%x, %d)", pipeline, stages, program);
7589         _orig_tracepath_glUseProgramStages(pipeline, stages, program);
7590
7591         goto finish;
7592
7593 finish:
7594         _COREGL_TRACEPATH_FUNC_END("end");
7595 }
7596
7597 void
7598 tracepath_glActiveShaderProgram(GLuint pipeline, GLuint program)
7599 {
7600         _COREGL_TRACEPATH_FUNC_BEGIN("%d, %d", pipeline, program);
7601         _orig_tracepath_glActiveShaderProgram(pipeline, program);
7602
7603         goto finish;
7604
7605 finish:
7606         _COREGL_TRACEPATH_FUNC_END("end");
7607 }
7608
7609 void
7610 tracepath_glProgramUniform1iv(GLuint program, GLint location, GLsizei count,
7611                                                           const GLint *value)
7612 {
7613         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %p)", program, location, count, value);
7614         _orig_tracepath_glProgramUniform1iv(program, location, count, value);
7615
7616         goto finish;
7617
7618 finish:
7619         _COREGL_TRACEPATH_FUNC_END("end");
7620 }
7621
7622 void
7623 tracepath_glProgramUniform2iv(GLuint program, GLint location, GLsizei count,
7624                                                           const GLint *value)
7625 {
7626         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %p)", program, location, count, value);
7627         _orig_tracepath_glProgramUniform2iv(program, location, count, value);
7628
7629         goto finish;
7630
7631 finish:
7632         _COREGL_TRACEPATH_FUNC_END("end");
7633 }
7634
7635 void
7636 tracepath_glProgramUniform3iv(GLuint program, GLint location, GLsizei count,
7637                                                           const GLint *value)
7638 {
7639         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %p)", program, location, count, value);
7640         _orig_tracepath_glProgramUniform3iv(program, location, count, value);
7641
7642         goto finish;
7643
7644 finish:
7645         _COREGL_TRACEPATH_FUNC_END("end");
7646 }
7647
7648 void
7649 tracepath_glProgramUniform4iv(GLuint program, GLint location, GLsizei count,
7650                                                           const GLint *value)
7651 {
7652         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %p)", program, location, count, value);
7653         _orig_tracepath_glProgramUniform4iv(program, location, count, value);
7654
7655         goto finish;
7656
7657 finish:
7658         _COREGL_TRACEPATH_FUNC_END("end");
7659 }
7660
7661 void
7662 tracepath_glProgramUniform1fv(GLuint program, GLint location, GLsizei count,
7663                                                           const GLfloat *value)
7664 {
7665         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %p)", program, location, count, value);
7666         _orig_tracepath_glProgramUniform1fv(program, location, count, value);
7667
7668         goto finish;
7669
7670 finish:
7671         _COREGL_TRACEPATH_FUNC_END("end");
7672 }
7673
7674 void
7675 tracepath_glProgramUniform2fv(GLuint program, GLint location, GLsizei count,
7676                                                           const GLfloat *value)
7677 {
7678         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %p)", program, location, count, value);
7679         _orig_tracepath_glProgramUniform2fv(program, location, count, value);
7680
7681         goto finish;
7682
7683 finish:
7684         _COREGL_TRACEPATH_FUNC_END("end");
7685 }
7686
7687 void
7688 tracepath_glProgramUniform3fv(GLuint program, GLint location, GLsizei count,
7689                                                           const GLfloat *value)
7690 {
7691         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %p)", program, location, count, value);
7692         _orig_tracepath_glProgramUniform3fv(program, location, count, value);
7693
7694         goto finish;
7695
7696 finish:
7697         _COREGL_TRACEPATH_FUNC_END("end");
7698 }
7699
7700 void
7701 tracepath_glProgramUniform4fv(GLuint program, GLint location, GLsizei count,
7702                                                           const GLfloat *value)
7703 {
7704         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %p)", program, location, count, value);
7705         _orig_tracepath_glProgramUniform4fv(program, location, count, value);
7706
7707         goto finish;
7708
7709 finish:
7710         _COREGL_TRACEPATH_FUNC_END("end");
7711 }
7712
7713 void
7714 tracepath_glProgramUniformMatrix2fv(GLuint program, GLint location,
7715                                                                         GLsizei count, GLboolean transpose, const GLfloat *value)
7716 {
7717         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %d, %p)", program, location, count, transpose,
7718                                                                 value);
7719         _orig_tracepath_glProgramUniformMatrix2fv(program, location, count, transpose,
7720                         value);
7721
7722         goto finish;
7723
7724 finish:
7725         _COREGL_TRACEPATH_FUNC_END("end");
7726 }
7727
7728 void
7729 tracepath_glProgramUniformMatrix3fv(GLuint program, GLint location,
7730                                                                         GLsizei count, GLboolean transpose, const GLfloat *value)
7731 {
7732         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %d, %p)", program, location, count, transpose,
7733                                                                 value);
7734         _orig_tracepath_glProgramUniformMatrix3fv(program, location, count, transpose,
7735                         value);
7736
7737         goto finish;
7738
7739 finish:
7740         _COREGL_TRACEPATH_FUNC_END("end");
7741 }
7742
7743 void
7744 tracepath_glProgramUniformMatrix4fv(GLuint program, GLint location,
7745                                                                         GLsizei count, GLboolean transpose, const GLfloat *value)
7746 {
7747         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %d, %p)", program, location, count, transpose,
7748                                                                 value);
7749         _orig_tracepath_glProgramUniformMatrix4fv(program, location, count, transpose,
7750                         value);
7751
7752         goto finish;
7753
7754 finish:
7755         _COREGL_TRACEPATH_FUNC_END("end");
7756 }
7757
7758 void
7759 tracepath_glProgramUniform1i(GLuint program, GLint location, GLint x)
7760 {
7761         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d)", program, location, x);
7762         _orig_tracepath_glProgramUniform1i(program, location, x);
7763
7764         goto finish;
7765
7766 finish:
7767         _COREGL_TRACEPATH_FUNC_END("end");
7768 }
7769
7770 void
7771 tracepath_glProgramUniform2i(GLuint program, GLint location, GLint x, GLint y)
7772 {
7773         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, [%d, %d])", program, location, x, y);
7774         _orig_tracepath_glProgramUniform2i(program, location, x, y);
7775
7776         goto finish;
7777
7778 finish:
7779         _COREGL_TRACEPATH_FUNC_END("end");
7780 }
7781
7782 void
7783 tracepath_glProgramUniform3i(GLuint program, GLint location, GLint x, GLint y,
7784                                                          GLint z)
7785 {
7786         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, [%d, %d, %d])", program, location, x, y, z);
7787         _orig_tracepath_glProgramUniform3i(program, location, x, y, z);
7788
7789         goto finish;
7790
7791 finish:
7792         _COREGL_TRACEPATH_FUNC_END("end");
7793 }
7794
7795 void
7796 tracepath_glProgramUniform4i(GLuint program, GLint location, GLint x, GLint y,
7797                                                          GLint z, GLint w)
7798 {
7799         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, [%d, %d, %d, %d])", program, location, x, y, z, w);
7800         _orig_tracepath_glProgramUniform4i(program, location, x, y, z, w);
7801
7802         goto finish;
7803
7804 finish:
7805         _COREGL_TRACEPATH_FUNC_END("end");
7806 }
7807
7808 void
7809 tracepath_glProgramUniform1f(GLuint program, GLint location, GLfloat x)
7810 {
7811         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %f)", program, location, x);
7812         _orig_tracepath_glProgramUniform1f(program, location, x);
7813
7814         goto finish;
7815
7816 finish:
7817         _COREGL_TRACEPATH_FUNC_END("end");
7818 }
7819
7820 void
7821 tracepath_glProgramUniform2f(GLuint program, GLint location, GLfloat x,
7822                                                          GLfloat y)
7823 {
7824         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, [%f, %f])", program, location, x, y);
7825         _orig_tracepath_glProgramUniform2f(program, location, x, y);
7826
7827         goto finish;
7828
7829 finish:
7830         _COREGL_TRACEPATH_FUNC_END("end");
7831 }
7832
7833 void
7834 tracepath_glProgramUniform3f(GLuint program, GLint location, GLfloat x,
7835                                                          GLfloat y, GLfloat z)
7836 {
7837         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, [%f, %f, %f])", program, location, x, y, z);
7838         _orig_tracepath_glProgramUniform3f(program, location, x, y, z);
7839
7840         goto finish;
7841
7842 finish:
7843         _COREGL_TRACEPATH_FUNC_END("end");
7844 }
7845
7846 void
7847 tracepath_glProgramUniform4f(GLuint program, GLint location, GLfloat x,
7848                                                          GLfloat y, GLfloat z, GLfloat w)
7849 {
7850         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, [%f, %f, %f, %f])", program, location, x, y, z, w);
7851         _orig_tracepath_glProgramUniform4f(program, location, x, y, z, w);
7852
7853         goto finish;
7854
7855 finish:
7856         _COREGL_TRACEPATH_FUNC_END("end");
7857 }
7858
7859 void
7860 tracepath_glProgramUniform1ui(GLuint program, GLint location, GLuint x)
7861 {
7862         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d)", program, location, x);
7863         _orig_tracepath_glProgramUniform1ui(program, location, x);
7864
7865         goto finish;
7866
7867 finish:
7868         _COREGL_TRACEPATH_FUNC_END("end");
7869 }
7870
7871 void
7872 tracepath_glProgramUniform2ui(GLuint program, GLint location, GLuint x,
7873                                                           GLuint y)
7874 {
7875         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, [%d, %d])", program, location, x, y);
7876         _orig_tracepath_glProgramUniform2ui(program, location, x, y);
7877
7878         goto finish;
7879
7880 finish:
7881         _COREGL_TRACEPATH_FUNC_END("end");
7882 }
7883
7884 void
7885 tracepath_glProgramUniform3ui(GLuint program, GLint location, GLuint x,
7886                                                           GLuint y, GLuint z)
7887 {
7888         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, [%d, %d, %d])", program, location, x, y, z);
7889         _orig_tracepath_glProgramUniform3ui(program, location, x, y, z);
7890
7891         goto finish;
7892
7893 finish:
7894         _COREGL_TRACEPATH_FUNC_END("end");
7895 }
7896
7897 void
7898 tracepath_glProgramUniform4ui(GLuint program, GLint location, GLuint x,
7899                                                           GLuint y, GLuint z, GLuint w)
7900 {
7901         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, [%d, %d, %d, %d])", program, location, x, y, z, w);
7902         _orig_tracepath_glProgramUniform4ui(program, location, x, y, z, w);
7903
7904         goto finish;
7905
7906 finish:
7907         _COREGL_TRACEPATH_FUNC_END("end");
7908 }
7909
7910 void
7911 tracepath_glProgramUniform1uiv(GLuint program, GLint location, GLsizei count,
7912                                                            const GLuint *value)
7913 {
7914         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %p)", program, location, count, value);
7915         _orig_tracepath_glProgramUniform1uiv(program, location, count, value);
7916
7917         goto finish;
7918
7919 finish:
7920         _COREGL_TRACEPATH_FUNC_END("end");
7921 }
7922
7923 void
7924 tracepath_glProgramUniform2uiv(GLuint program, GLint location, GLsizei count,
7925                                                            const GLuint *value)
7926 {
7927         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %p)", program, location, count, value);
7928         _orig_tracepath_glProgramUniform2uiv(program, location, count, value);
7929
7930         goto finish;
7931
7932 finish:
7933         _COREGL_TRACEPATH_FUNC_END("end");
7934 }
7935
7936 void
7937 tracepath_glProgramUniform3uiv(GLuint program, GLint location, GLsizei count,
7938                                                            const GLuint *value)
7939 {
7940         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %p)", program, location, count, value);
7941         _orig_tracepath_glProgramUniform3uiv(program, location, count, value);
7942
7943         goto finish;
7944
7945 finish:
7946         _COREGL_TRACEPATH_FUNC_END("end");
7947 }
7948
7949 void
7950 tracepath_glProgramUniform4uiv(GLuint program, GLint location, GLsizei count,
7951                                                            const GLuint *value)
7952 {
7953         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %p)", program, location, count, value);
7954         _orig_tracepath_glProgramUniform4uiv(program, location, count, value);
7955
7956         goto finish;
7957
7958 finish:
7959         _COREGL_TRACEPATH_FUNC_END("end");
7960 }
7961
7962 void
7963 tracepath_glProgramUniformMatrix2x3fv(GLuint program, GLint location,
7964                                                                           GLsizei count, GLboolean transpose, const GLfloat *value)
7965 {
7966         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %d, %p)", program, location, count, transpose, value);
7967         _orig_tracepath_glProgramUniformMatrix2x3fv(program, location, count, transpose,
7968                         value);
7969
7970         goto finish;
7971
7972 finish:
7973         _COREGL_TRACEPATH_FUNC_END("end");
7974 }
7975
7976 void
7977 tracepath_glProgramUniformMatrix3x2fv(GLuint program, GLint location,
7978                                                                           GLsizei count, GLboolean transpose, const GLfloat *value)
7979 {
7980         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %d, %p)", program, location, count, transpose, value);
7981         _orig_tracepath_glProgramUniformMatrix3x2fv(program, location, count, transpose,
7982                         value);
7983
7984         goto finish;
7985
7986 finish:
7987         _COREGL_TRACEPATH_FUNC_END("end");
7988 }
7989
7990 void
7991 tracepath_glProgramUniformMatrix4x2fv(GLuint program, GLint location,
7992                                                                           GLsizei count, GLboolean transpose, const GLfloat *value)
7993 {
7994         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %d, %p)", program, location, count, transpose, value);
7995         _orig_tracepath_glProgramUniformMatrix4x2fv(program, location, count, transpose,
7996                         value);
7997
7998         goto finish;
7999
8000 finish:
8001         _COREGL_TRACEPATH_FUNC_END("end");
8002 }
8003
8004 void
8005 tracepath_glProgramUniformMatrix2x4fv(GLuint program, GLint location,
8006                                                                           GLsizei count, GLboolean transpose, const GLfloat *value)
8007 {
8008         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %d, %p)", program, location, count, transpose, value);
8009         _orig_tracepath_glProgramUniformMatrix2x4fv(program, location, count, transpose,
8010                         value);
8011
8012         goto finish;
8013
8014 finish:
8015         _COREGL_TRACEPATH_FUNC_END("end");
8016 }
8017
8018 void
8019 tracepath_glProgramUniformMatrix3x4fv(GLuint program, GLint location,
8020                                                                           GLsizei count, GLboolean transpose, const GLfloat *value)
8021 {
8022         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %d, %p)", program, location, count, transpose, value);
8023         _orig_tracepath_glProgramUniformMatrix3x4fv(program, location, count, transpose,
8024                         value);
8025
8026         goto finish;
8027
8028 finish:
8029         _COREGL_TRACEPATH_FUNC_END("end");
8030 }
8031
8032 void
8033 tracepath_glProgramUniformMatrix4x3fv(GLuint program, GLint location,
8034                                                                           GLsizei count, GLboolean transpose, const GLfloat *value)
8035 {
8036         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %d, %p)", program, location, count,
8037                                                                 transpose, value);
8038         _orig_tracepath_glProgramUniformMatrix4x3fv(program, location, count, transpose,
8039                         value);
8040
8041         goto finish;
8042
8043 finish:
8044         _COREGL_TRACEPATH_FUNC_END("end");
8045 }
8046
8047 void
8048 tracepath_glBindImageTexture(GLuint unit, GLuint texture, GLint level,
8049                                                          GLboolean layered, GLint layer, GLenum access, GLenum format)
8050 {
8051         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %d, %d, %s, %s)", unit, texture, level, layered,
8052                                                                 layer, _get_value(access), _get_value(format));
8053
8054         _orig_tracepath_glBindImageTexture(unit, texture, level, layered, layer, access,
8055                                                                            format);
8056
8057         goto finish;
8058
8059 finish:
8060         _COREGL_TRACEPATH_FUNC_END("end");
8061 }
8062
8063 void
8064 tracepath_glGetBooleani_v (GLenum target, GLuint index, GLboolean *data)
8065 {
8066         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d, %p)", _get_value(target), index, data);
8067         _orig_tracepath_glGetBooleani_v (target, index, data);
8068
8069         goto finish;
8070
8071 finish:
8072         _COREGL_TRACEPATH_FUNC_END("end");
8073 }
8074
8075 void
8076 tracepath_glMemoryBarrier (GLbitfield barriers)
8077 {
8078         _COREGL_TRACEPATH_FUNC_BEGIN("(0x%x)", barriers);
8079         _orig_tracepath_glMemoryBarrier (barriers);
8080
8081         goto finish;
8082
8083 finish:
8084         _COREGL_TRACEPATH_FUNC_END("end");
8085 }
8086
8087 void tracepath_glMemoryBarrierByRegion (GLbitfield barriers)
8088 {
8089         _COREGL_TRACEPATH_FUNC_BEGIN("(0x%x)", barriers);
8090         _orig_tracepath_glMemoryBarrierByRegion (barriers);
8091
8092         goto finish;
8093
8094 finish:
8095         _COREGL_TRACEPATH_FUNC_END("end");
8096 }
8097
8098 void
8099 tracepath_glTexStorage2DMultisample (GLenum target, GLsizei samples,
8100                                                                          GLenum internalformat, GLsizei width, GLsizei height,
8101                                                                          GLboolean fixedsamplelocations)
8102 {
8103         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d, %s, %d, %d, %d)", _get_value(target), samples,
8104                                                                 _get_value(internalformat), width, height, fixedsamplelocations);
8105         _orig_tracepath_glTexStorage2DMultisample (target, samples, internalformat,
8106                         width, height, fixedsamplelocations);
8107
8108         goto finish;
8109
8110 finish:
8111         _COREGL_TRACEPATH_FUNC_END("end");
8112 }
8113
8114 void
8115 tracepath_glGetMultisamplefv (GLenum pname, GLuint index, GLfloat *val)
8116 {
8117         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d, %p)", _get_value(pname), index, val);
8118         _orig_tracepath_glGetMultisamplefv (pname, index, val);
8119
8120         goto finish;
8121
8122 finish:
8123         _COREGL_TRACEPATH_FUNC_END("end");
8124 }
8125
8126 void
8127 tracepath_glSampleMaski (GLuint maskNumber, GLbitfield mask)
8128 {
8129         _COREGL_TRACEPATH_FUNC_BEGIN("(0x%x, 0x%x)", maskNumber, mask);
8130         _orig_tracepath_glSampleMaski (maskNumber, mask);
8131
8132         goto finish;
8133
8134 finish:
8135         _COREGL_TRACEPATH_FUNC_END("end");
8136 }
8137
8138 void
8139 tracepath_glGetTexLevelParameteriv (GLenum target, GLint level, GLenum pname,
8140                                                                         GLint *params)
8141 {
8142         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d, %s, %p)", _get_value(target), level,
8143                                                                 _get_value(pname), params);
8144         _orig_tracepath_glGetTexLevelParameteriv (target, level, pname, params);
8145
8146         goto finish;
8147
8148 finish:
8149         _COREGL_TRACEPATH_FUNC_END("end");
8150 }
8151
8152 void
8153 tracepath_glGetTexLevelParameterfv (GLenum target, GLint level, GLenum pname,
8154                                                                         GLfloat *params)
8155 {
8156         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d, %s, %p)", _get_value(target), level,
8157                                                                 _get_value(pname), params);
8158         _orig_tracepath_glGetTexLevelParameterfv (target, level, pname, params);
8159
8160         goto finish;
8161
8162 finish:
8163         _COREGL_TRACEPATH_FUNC_END("end");
8164 }
8165
8166 void
8167 tracepath_glBindVertexBuffer (GLuint bindingindex, GLuint buffer,
8168                                                           GLintptr offset, GLsizei stride)
8169 {
8170         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %ld, %d)", bindingindex, buffer, offset, stride);
8171         _orig_tracepath_glBindVertexBuffer (bindingindex, buffer, offset, stride);
8172
8173         goto finish;
8174
8175 finish:
8176         _COREGL_TRACEPATH_FUNC_END("end");
8177 }
8178
8179
8180 void tracepath_glVertexAttribFormat (GLuint attribindex, GLint size,
8181                                                                          GLenum type, GLboolean normalized, GLuint relativeoffset)
8182 {
8183         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %s, %d, %d)", attribindex, size, _get_value(type),
8184                                                                 normalized, relativeoffset);
8185         _orig_tracepath_glVertexAttribFormat (attribindex, size, type, normalized,
8186                                                                                   relativeoffset);
8187
8188         goto finish;
8189
8190 finish:
8191         _COREGL_TRACEPATH_FUNC_END("end");
8192 }
8193
8194 void tracepath_glVertexAttribIFormat (GLuint attribindex, GLint size,
8195                                                                           GLenum type, GLuint relativeoffset)
8196 {
8197         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %s, %d)", attribindex, size, _get_value(type),
8198                                                                 relativeoffset);
8199         _orig_tracepath_glVertexAttribIFormat (attribindex, size, type, relativeoffset);
8200
8201         goto finish;
8202
8203 finish:
8204         _COREGL_TRACEPATH_FUNC_END("end");
8205 }
8206
8207 void tracepath_glVertexAttribBinding (GLuint attribindex, GLuint bindingindex)
8208 {
8209         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d)", attribindex, bindingindex);
8210         _orig_tracepath_glVertexAttribBinding (attribindex, bindingindex);
8211
8212         goto finish;
8213
8214 finish:
8215         _COREGL_TRACEPATH_FUNC_END("end");
8216 }
8217
8218 void tracepath_glVertexBindingDivisor (GLuint bindingindex, GLuint divisor)
8219 {
8220         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d)", bindingindex, divisor);
8221         _orig_tracepath_glVertexBindingDivisor (bindingindex, divisor);
8222
8223         goto finish;
8224
8225 finish:
8226         _COREGL_TRACEPATH_FUNC_END("end");
8227 }
8228 void
8229 tracepath_glBindFramebufferOES(GLenum target, GLuint framebuffer)
8230 {
8231         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d)", _get_value(target), framebuffer);
8232
8233         _tp_glBindFramebuffer(target, framebuffer, TRACEPATH_FUNC_TYPE_OES);
8234
8235         _COREGL_TRACEPATH_FUNC_END("end");
8236 }
8237
8238 void
8239 tracepath_glBindRenderbufferOES(GLenum target, GLuint renderbuffer)
8240 {
8241         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d)", _get_value(target), renderbuffer);
8242         _orig_tracepath_glBindRenderbufferOES(target, renderbuffer);
8243
8244         goto finish;
8245
8246 finish:
8247         _COREGL_TRACEPATH_FUNC_END("end");
8248 }
8249
8250 void
8251 tracepath_glDeleteFramebuffersOES(GLsizei n, const GLuint *framebuffers)
8252 {
8253         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %p)", n, framebuffers);
8254
8255 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
8256         tracepath_fbdump_update(0);
8257 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
8258
8259         _orig_tracepath_glDeleteFramebuffersOES(n, framebuffers);
8260
8261 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
8262         tracepath_fbdump_update(1);
8263 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
8264
8265         goto finish;
8266
8267 finish:
8268         _COREGL_TRACEPATH_FUNC_END("end");
8269 }
8270
8271 void
8272 tracepath_glDeleteRenderbuffersOES(GLsizei n, const GLuint *renderbuffers)
8273 {
8274         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %p)", n, renderbuffers);
8275
8276         _tp_glDeleteRenderbuffers(n, renderbuffers, TRACEPATH_FUNC_TYPE_OES);
8277
8278         _COREGL_TRACEPATH_FUNC_END("end");
8279 }
8280
8281 void
8282 tracepath_glDepthRangefOES(GLclampf zNear, GLclampf zFar)
8283 {
8284         _COREGL_TRACEPATH_FUNC_BEGIN("(%f, %f)", zNear, zFar);
8285         _orig_tracepath_glDepthRangefOES(zNear, zFar);
8286
8287         goto finish;
8288
8289 finish:
8290         _COREGL_TRACEPATH_FUNC_END("end");
8291 }
8292
8293 void
8294 tracepath_glDepthRangexOES(GLclampx zNear, GLclampx zFar)
8295 {
8296         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d)", zNear, zFar);
8297         _orig_tracepath_glDepthRangexOES(zNear, zFar);
8298
8299         goto finish;
8300
8301 finish:
8302         _COREGL_TRACEPATH_FUNC_END("end");
8303 }
8304
8305 void
8306 tracepath_glFramebufferRenderbufferOES(GLenum target, GLenum attachment,
8307                                                                            GLenum renderbuffertarget, GLuint renderbuffer)
8308 {
8309         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %s, %d)", _get_value(target),
8310                                                                 _get_value(attachment), _get_value(renderbuffertarget),
8311                                                                 renderbuffer);
8312
8313 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
8314         tracepath_fbdump_update(0);
8315 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
8316
8317         _orig_tracepath_glFramebufferRenderbufferOES(target, attachment,
8318                         renderbuffertarget, renderbuffer);
8319
8320 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
8321         tracepath_fbdump_update(1);
8322 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
8323
8324         goto finish;
8325
8326 finish:
8327         _COREGL_TRACEPATH_FUNC_END("end");
8328 }
8329
8330 void
8331 tracepath_glFramebufferTexture2DOES(GLenum target, GLenum attachment,
8332                                                                         GLenum textarget, GLuint texture, GLint level)
8333 {
8334         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %s, %d, %d)", _get_value(target),
8335                                                                 _get_value(attachment), _get_value(textarget),
8336                                                                 texture, level);
8337
8338 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
8339         tracepath_fbdump_update(0);
8340 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
8341
8342         _orig_tracepath_glFramebufferTexture2DOES(target, attachment, textarget,
8343                         texture, level);
8344
8345 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
8346         tracepath_fbdump_update(1);
8347 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
8348
8349         goto finish;
8350
8351 finish:
8352         _COREGL_TRACEPATH_FUNC_END("end");
8353 }
8354
8355 void
8356 tracepath_glGenFramebuffersOES(GLsizei n, GLuint *framebuffers)
8357 {
8358         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %p)", n, framebuffers);
8359         _orig_tracepath_glGenFramebuffersOES(n, framebuffers);
8360
8361         goto finish;
8362
8363 finish:
8364         _COREGL_TRACEPATH_FUNC_END("end");
8365 }
8366
8367 void
8368 tracepath_glGenRenderbuffersOES(GLsizei n, GLuint *renderbuffers)
8369 {
8370         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %p)", n, renderbuffers);
8371
8372         _tp_glGenRenderbuffers(n, renderbuffers, TRACEPATH_FUNC_TYPE_OES);
8373
8374         _COREGL_TRACEPATH_FUNC_END("end");
8375 }
8376
8377 void
8378 tracepath_glGetFramebufferAttachmentParameterivOES(GLenum target,
8379                 GLenum attachment, GLenum pname, GLint *params)
8380 {
8381         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %s, %p)", _get_value(target),
8382                                                                 _get_value(attachment), _get_value(pname), params);
8383         _orig_tracepath_glGetFramebufferAttachmentParameterivOES(target, attachment,
8384                         pname, params);
8385
8386         goto finish;
8387
8388 finish:
8389         _COREGL_TRACEPATH_FUNC_END("end");
8390 }
8391
8392 void
8393 tracepath_glGetQueryObjecti64vEXT(GLuint id, GLenum pname, GLint64 *params)
8394 {
8395         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %p)", id, _get_value(pname), params);
8396         _orig_tracepath_glGetQueryObjecti64vEXT(id, pname, params);
8397
8398         goto finish;
8399
8400 finish:
8401         _COREGL_TRACEPATH_FUNC_END("end");
8402 }
8403
8404 void
8405 tracepath_glGetQueryObjectivEXT(GLuint id, GLenum pname, GLint *params)
8406 {
8407         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %p)", id, _get_value(pname), params);
8408         _orig_tracepath_glGetQueryObjectivEXT(id, pname, params);
8409
8410         goto finish;
8411
8412 finish:
8413         _COREGL_TRACEPATH_FUNC_END("end");
8414 }
8415
8416 void
8417 tracepath_glGetQueryObjectui64vEXT(GLuint id, GLenum pname, GLuint64 *params)
8418 {
8419         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %p)", id, _get_value(pname), params);
8420         _orig_tracepath_glGetQueryObjectui64vEXT(id, pname, params);
8421
8422         goto finish;
8423
8424 finish:
8425         _COREGL_TRACEPATH_FUNC_END("end");
8426 }
8427
8428 void
8429 tracepath_glGetQueryObjectuivEXT(GLuint id, GLenum pname, GLuint *params)
8430 {
8431         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %p)", id, _get_value(pname), params);
8432         _orig_tracepath_glGetQueryObjectuivEXT(id, pname, params);
8433
8434         goto finish;
8435
8436 finish:
8437         _COREGL_TRACEPATH_FUNC_END("end");
8438 }
8439
8440 void
8441 tracepath_glGetQueryivEXT(GLenum target, GLenum pname, GLint *params)
8442 {
8443         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(target),
8444                                                                 _get_value(pname), params);
8445         _orig_tracepath_glGetQueryivEXT(target, pname, params);
8446
8447         goto finish;
8448
8449 finish:
8450         _COREGL_TRACEPATH_FUNC_END("end");
8451 }
8452
8453 void
8454 tracepath_glBeginQueryEXT(GLenum target, GLuint id)
8455 {
8456         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d)", _get_value(target), id);
8457         _orig_tracepath_glBeginQueryEXT(target, id);
8458
8459         goto finish;
8460
8461 finish:
8462         _COREGL_TRACEPATH_FUNC_END("end");
8463 }
8464
8465
8466 void
8467 tracepath_glDeleteQueriesEXT(GLsizei n, const GLuint *ids)
8468 {
8469         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %p)", n, ids);
8470         _orig_tracepath_glDeleteQueriesEXT(n, ids);
8471
8472         goto finish;
8473
8474 finish:
8475         _COREGL_TRACEPATH_FUNC_END("end");
8476 }
8477
8478 void
8479 tracepath_glGenQueriesEXT(GLsizei n, GLuint *ids)
8480 {
8481         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %p)", n, ids);
8482         _orig_tracepath_glGenQueriesEXT(n, ids);
8483
8484         goto finish;
8485
8486 finish:
8487         _COREGL_TRACEPATH_FUNC_END("end");
8488 }
8489
8490 GLboolean
8491 tracepath_glIsFramebufferOES(GLuint framebuffer)
8492 {
8493         GLboolean ret = GL_FALSE;
8494
8495         _COREGL_TRACEPATH_FUNC_BEGIN("(%d)", framebuffer);
8496         ret = _orig_tracepath_glIsFramebufferOES(framebuffer);
8497
8498         goto finish;
8499
8500 finish:
8501         _COREGL_TRACEPATH_FUNC_END("end");
8502         return ret;
8503 }
8504
8505 GLboolean
8506 tracepath_glIsQueryEXT(GLuint id)
8507 {
8508         GLboolean ret = GL_FALSE;
8509
8510         _COREGL_TRACEPATH_FUNC_BEGIN("(%d)", id);
8511         ret = _orig_tracepath_glIsQueryEXT(id);
8512
8513         goto finish;
8514
8515 finish:
8516         _COREGL_TRACEPATH_FUNC_END("end");
8517         return ret;
8518 }
8519
8520 GLboolean
8521 tracepath_glIsRenderbufferOES(GLuint renderbuffer)
8522 {
8523         GLboolean ret;
8524         _COREGL_TRACEPATH_FUNC_BEGIN("(%d)", renderbuffer);
8525         ret = _orig_tracepath_glIsRenderbufferOES(renderbuffer);
8526
8527         goto finish;
8528
8529 finish:
8530         _COREGL_TRACEPATH_FUNC_END("end");
8531         return ret;
8532 }
8533
8534 void
8535 tracepath_glEndQueryEXT(GLenum target)
8536 {
8537         _COREGL_TRACEPATH_FUNC_BEGIN("(%s)", _get_value(target));
8538         _orig_tracepath_glEndQueryEXT(target);
8539
8540         goto finish;
8541
8542 finish:
8543         _COREGL_TRACEPATH_FUNC_END("end");
8544 }
8545
8546 void
8547 tracepath_glAlphaFuncxOES(GLenum func, GLclampx ref)
8548 {
8549         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d)", _get_value(func), ref);
8550         _orig_tracepath_glAlphaFuncxOES(func, ref);
8551         goto finish;
8552
8553 finish:
8554         _COREGL_TRACEPATH_FUNC_END("end");
8555 }
8556
8557 void tracepath_glBlendBarrierKHR()
8558 {
8559         _COREGL_TRACEPATH_FUNC_BEGIN("start");
8560         _orig_tracepath_glBlendBarrierKHR();
8561
8562         goto finish;
8563
8564 finish:
8565         _COREGL_TRACEPATH_FUNC_END("end");
8566 }
8567
8568 void tracepath_glBlendEquationOES(GLenum mode)
8569 {
8570         _COREGL_TRACEPATH_FUNC_BEGIN("(%s)", _get_value(mode));
8571         _orig_tracepath_glBlendEquationOES(mode);
8572
8573         goto finish;
8574
8575 finish:
8576         _COREGL_TRACEPATH_FUNC_END("end");
8577 }
8578
8579 void tracepath_glBlendEquationSeparateOES(GLenum modeRGB, GLenum modeAlpha)
8580 {
8581         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s)", _get_value(modeRGB), _get_value(modeAlpha));
8582         _orig_tracepath_glBlendEquationSeparateOES(modeRGB, modeAlpha);
8583
8584         goto finish;
8585
8586 finish:
8587         _COREGL_TRACEPATH_FUNC_END("end");
8588 }
8589
8590 void tracepath_glBlendFuncSeparateOES(GLenum srcRGB, GLenum dstRGB,
8591                                                                           GLenum srcAlpha, GLenum dstAlpha)
8592 {
8593         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %s, %s)", _get_value(srcRGB), _get_value(dstRGB),
8594                                                                 _get_value(srcAlpha), _get_value(dstAlpha));
8595         _orig_tracepath_glBlendFuncSeparateOES(srcRGB, dstRGB, srcAlpha, dstAlpha);
8596
8597         goto finish;
8598
8599 finish:
8600         _COREGL_TRACEPATH_FUNC_END("end");
8601 }
8602
8603 GLenum tracepath_glCheckFramebufferStatusOES(GLenum target)
8604 {
8605         GLenum ret = _COREGL_INT_INIT_VALUE;
8606
8607         _COREGL_TRACEPATH_FUNC_BEGIN("(%s)", _get_value(target));
8608         ret = _orig_tracepath_glCheckFramebufferStatusOES(target);
8609
8610         goto finish;
8611
8612 finish:
8613         _COREGL_TRACEPATH_FUNC_END("end");
8614         return ret;
8615 }
8616
8617
8618 void tracepath_glClearColorxOES(GLclampx red, GLclampx green, GLclampx blue,
8619                                                                 GLclampx alpha)
8620 {
8621         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %d)", red, green, blue, alpha);
8622         _orig_tracepath_glClearColorxOES(red, green, blue, alpha);
8623
8624         goto finish;
8625
8626 finish:
8627         _COREGL_TRACEPATH_FUNC_END("end");
8628 }
8629
8630 void tracepath_glClearDepthfOES(GLclampf depth)
8631 {
8632         _COREGL_TRACEPATH_FUNC_BEGIN("(%f)", depth);
8633         _orig_tracepath_glClearDepthfOES(depth);
8634
8635         goto finish;
8636
8637 finish:
8638         _COREGL_TRACEPATH_FUNC_END("end");
8639 }
8640
8641 void tracepath_glClearDepthxOES(GLclampx depth)
8642 {
8643         _COREGL_TRACEPATH_FUNC_BEGIN("(%d)", depth);
8644         _orig_tracepath_glClearDepthxOES(depth);
8645
8646         goto finish;
8647
8648 finish:
8649         _COREGL_TRACEPATH_FUNC_END("end");
8650 }
8651
8652 void tracepath_glClipPlanefOES(GLenum plane, GLfloat const *equation)
8653 {
8654         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %p)", _get_value(plane), equation);
8655         _orig_tracepath_glClipPlanefOES(plane, equation);
8656
8657         goto finish;
8658
8659 finish:
8660         _COREGL_TRACEPATH_FUNC_END("end");
8661 }
8662
8663
8664 void tracepath_glClipPlanexOES(GLenum plane, GLfixed const *equation)
8665 {
8666         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %p)", _get_value(plane), equation);
8667         _orig_tracepath_glClipPlanexOES(plane, equation);
8668
8669         goto finish;
8670
8671 finish:
8672         _COREGL_TRACEPATH_FUNC_END("end");
8673 }
8674
8675 void tracepath_glColor4xOES(GLfixed red, GLfixed green, GLfixed blue,
8676                                                         GLfixed alpha)
8677 {
8678         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %d)", red, green, blue, alpha);
8679         _orig_tracepath_glColor4xOES(red, green, blue, alpha);
8680
8681         goto finish;
8682
8683 finish:
8684         _COREGL_TRACEPATH_FUNC_END("end");
8685 }
8686
8687 void tracepath_glFogxOES(GLenum pname, GLfixed param)
8688 {
8689         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d)", _get_value(pname), param);
8690         _orig_tracepath_glFogxOES(pname, param);
8691
8692         goto finish;
8693
8694 finish:
8695         _COREGL_TRACEPATH_FUNC_END("end");
8696 }
8697
8698 void tracepath_glFogxvOES(GLenum pname, GLfixed const *params)
8699 {
8700         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %p)", _get_value(pname), params);
8701         _orig_tracepath_glFogxvOES(pname, params);
8702
8703         goto finish;
8704
8705 finish:
8706         _COREGL_TRACEPATH_FUNC_END("end");
8707 }
8708
8709 void tracepath_glFrustumxOES(GLfixed left, GLfixed right, GLfixed bottom,
8710                                                          GLfixed top, GLfixed zNear, GLfixed zFar)
8711 {
8712         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %d, %d, %d)", left, right, bottom,
8713                                                                 top, zNear, zFar);
8714         _orig_tracepath_glFrustumxOES(left, right, bottom, top, zNear, zFar);
8715
8716         goto finish;
8717
8718 finish:
8719         _COREGL_TRACEPATH_FUNC_END("end");
8720 }
8721
8722 void tracepath_glFrustumfOES(GLfloat left, GLfloat right, GLfloat bottom,
8723                                                          GLfloat top, GLfloat zNear, GLfloat zFar)
8724 {
8725         _COREGL_TRACEPATH_FUNC_BEGIN("(%f, %f, %f, %f, %f, %f)", left, right, bottom,
8726                                                                 top, zNear, zFar);
8727         _orig_tracepath_glFrustumfOES(left, right, bottom, top, zNear, zFar);
8728
8729         goto finish;
8730
8731 finish:
8732         _COREGL_TRACEPATH_FUNC_END("end");
8733 }
8734
8735 void tracepath_glGenerateMipmapOES(GLenum target)
8736 {
8737         _COREGL_TRACEPATH_FUNC_BEGIN("(%s)", _get_value(target));
8738         _orig_tracepath_glGenerateMipmapOES(target);
8739
8740         goto finish;
8741
8742 finish:
8743         _COREGL_TRACEPATH_FUNC_END("end");
8744 }
8745
8746 void tracepath_glGetClipPlanefOES(GLenum pname, GLfloat eqn[4])
8747 {
8748         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %p)", _get_value(pname),eqn);
8749         _orig_tracepath_glGetClipPlanefOES(pname, eqn);
8750
8751         goto finish;
8752
8753 finish:
8754         _COREGL_TRACEPATH_FUNC_END("ret (%f, %f, %f, %f)", eqn[0], eqn[1], eqn[2], eqn[3]);
8755 }
8756
8757 void tracepath_glGetClipPlanexOES(GLenum pname, GLfixed eqn[4])
8758 {
8759         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %p)", _get_value(pname),eqn);
8760
8761         _orig_tracepath_glGetClipPlanexOES(pname, eqn);
8762
8763         goto finish;
8764
8765 finish:
8766         _COREGL_TRACEPATH_FUNC_END("ret (%d, %d, %d, %d)", eqn[0], eqn[1], eqn[2], eqn[3]);
8767 }
8768
8769 void tracepath_glGetFixedvOES(GLenum pname, GLfixed *params)
8770 {
8771         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %p)", _get_value(pname), params);
8772         _orig_tracepath_glGetFixedvOES(pname, params);
8773
8774         goto finish;
8775
8776 finish:
8777         _COREGL_TRACEPATH_FUNC_END("end");
8778 }
8779
8780 void tracepath_glGetLightxvOES(GLenum light, GLenum pname, GLfixed *params)
8781 {
8782         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(pname), _get_value(pname),
8783                                                                 params);
8784         _orig_tracepath_glGetLightxvOES(light, pname, params);
8785
8786         goto finish;
8787
8788 finish:
8789         _COREGL_TRACEPATH_FUNC_END("end");
8790 }
8791
8792 void tracepath_glGetMaterialxvOES(GLenum face, GLenum pname, GLfixed *params)
8793 {
8794         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(face), _get_value(pname), params);
8795         _orig_tracepath_glGetMaterialxvOES(face, pname, params);
8796
8797         goto finish;
8798
8799 finish:
8800         _COREGL_TRACEPATH_FUNC_END("end");
8801 }
8802
8803 void tracepath_glGetPointervKHR(GLenum pname, GLvoid **params)
8804 {
8805         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %p)", _get_value(pname), params);
8806         _orig_tracepath_glGetPointervKHR(pname, params);
8807
8808         goto finish;
8809
8810 finish:
8811         _COREGL_TRACEPATH_FUNC_END("end");
8812 }
8813
8814 void tracepath_glGetRenderbufferParameterivOES(GLenum target, GLenum pname,
8815                 GLint *params)
8816 {
8817         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(target), _get_value(pname), params);
8818         _orig_tracepath_glGetRenderbufferParameterivOES(target, pname, params);
8819
8820         goto finish;
8821
8822 finish:
8823         _COREGL_TRACEPATH_FUNC_END("end");
8824 }
8825
8826 void tracepath_glGetTexEnvxvOES(GLenum env, GLenum pname, GLfixed *params)
8827 {
8828         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(env), _get_value(pname), params);
8829         _orig_tracepath_glGetTexEnvxvOES(env, pname, params);
8830
8831         goto finish;
8832
8833 finish:
8834         _COREGL_TRACEPATH_FUNC_END("end");
8835 }
8836
8837 void tracepath_glGetTexParameterxvOES(GLenum target, GLenum pname,
8838                                                                           GLfixed *params)
8839 {
8840         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(target),
8841                                                                 _get_value(pname), params);
8842         _orig_tracepath_glGetTexParameterxvOES(target, pname, params);
8843
8844         goto finish;
8845
8846 finish:
8847         _COREGL_TRACEPATH_FUNC_END("end");
8848 }
8849
8850
8851 void
8852 tracepath_glLightModelxOES (GLenum pname, GLfixed param)
8853 {
8854         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d)", _get_value(pname), param);
8855         _orig_tracepath_glLightModelxOES (pname, param);
8856
8857         goto finish;
8858
8859 finish:
8860         _COREGL_TRACEPATH_FUNC_END("end");
8861 }
8862
8863
8864 void
8865 tracepath_glLightModelxvOES (GLenum pname, const GLfixed *params)
8866 {
8867         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %p)", _get_value(pname), params);
8868         _orig_tracepath_glLightModelxvOES (pname, params);
8869
8870         goto finish;
8871
8872 finish:
8873         _COREGL_TRACEPATH_FUNC_END("end");
8874 }
8875
8876
8877 void
8878 tracepath_glLightxOES (GLenum light, GLenum pname, GLfixed param)
8879 {
8880         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %d)", _get_value(light),
8881                                                                 _get_value(pname), param);
8882         _orig_tracepath_glLightxOES (light, pname, param);
8883
8884         goto finish;
8885
8886 finish:
8887         _COREGL_TRACEPATH_FUNC_END("end");
8888 }
8889
8890
8891 void
8892 tracepath_glLightxvOES (GLenum light, GLenum pname, const GLfixed *params)
8893 {
8894         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(light),
8895                                                                 _get_value(pname), params);
8896         _orig_tracepath_glLightxvOES (light, pname, params);
8897
8898         goto finish;
8899
8900 finish:
8901         _COREGL_TRACEPATH_FUNC_END("end");
8902 }
8903
8904 void
8905 tracepath_glLineWidthxOES (GLfixed width)
8906 {
8907         _COREGL_TRACEPATH_FUNC_BEGIN("(%d)", width);
8908         _orig_tracepath_glLineWidthxOES (width);
8909
8910         goto finish;
8911
8912 finish:
8913         _COREGL_TRACEPATH_FUNC_END("end");
8914 }
8915
8916 void
8917 tracepath_glLoadMatrixxOES (const GLfixed *m)
8918 {
8919         _COREGL_TRACEPATH_FUNC_BEGIN("(%p)", m);
8920         _orig_tracepath_glLoadMatrixxOES (m);
8921         goto finish;
8922
8923 finish:
8924         _COREGL_TRACEPATH_FUNC_END("end");
8925 }
8926
8927 void
8928 tracepath_glMaterialxOES (GLenum face, GLenum pname, GLfixed param)
8929 {
8930         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %d)", _get_value(face), _get_value(pname),
8931                                                                 param);
8932         _orig_tracepath_glMaterialxOES (face, pname, param);
8933
8934         goto finish;
8935
8936 finish:
8937         _COREGL_TRACEPATH_FUNC_END("end");
8938 }
8939
8940 void
8941 tracepath_glMaterialxvOES (GLenum face, GLenum pname, const GLfixed *params)
8942 {
8943         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(face), _get_value(pname),
8944                                                                 params);
8945         _orig_tracepath_glMaterialxvOES (face, pname, params);
8946
8947         goto finish;
8948
8949 finish:
8950         _COREGL_TRACEPATH_FUNC_END("end");
8951 }
8952
8953 void
8954 tracepath_glMultMatrixxOES (const GLfixed *m)
8955 {
8956         _COREGL_TRACEPATH_FUNC_BEGIN("(%p)", m);
8957         _orig_tracepath_glMultMatrixxOES (m);
8958
8959         goto finish;
8960
8961 finish:
8962         _COREGL_TRACEPATH_FUNC_END("end");
8963 }
8964
8965 void
8966 tracepath_glMultiTexCoord4bOES (GLenum target, GLbyte s, GLbyte t, GLbyte r,
8967                                                                 GLbyte q)
8968 {
8969         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d, %d, %d, %d)", _get_value(target), s, t, r, q);
8970         _orig_tracepath_glMultiTexCoord4bOES (target, s, t, r, q);
8971
8972         goto finish;
8973
8974 finish:
8975         _COREGL_TRACEPATH_FUNC_END("end");
8976 }
8977
8978 void
8979 tracepath_glMultiTexCoord4xOES (GLenum target, GLfixed s, GLfixed t, GLfixed r,
8980                                                                 GLfixed q)
8981 {
8982         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d, %d, %d, %d)", _get_value(target), s, t, r, q);
8983         _orig_tracepath_glMultiTexCoord4xOES (target, s, t, r, q);
8984
8985         goto finish;
8986
8987 finish:
8988         _COREGL_TRACEPATH_FUNC_END("end");
8989 }
8990
8991 void
8992 tracepath_glNormal3xOES (GLfixed nx, GLfixed ny, GLfixed nz)
8993 {
8994         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d)", nx, ny, nz);
8995         _orig_tracepath_glNormal3xOES (nx, ny, nz);
8996
8997         goto finish;
8998
8999 finish:
9000         _COREGL_TRACEPATH_FUNC_END("end");
9001 }
9002
9003 void
9004 tracepath_glOrthofOES (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top,
9005                                            GLfloat zNear, GLfloat zFar)
9006 {
9007         _COREGL_TRACEPATH_FUNC_BEGIN("(%f, %f, %f, %f, %f, %f)", left, right, bottom, top,
9008                                                                 zNear, zFar);
9009         _orig_tracepath_glOrthofOES (left, right, bottom, top, zNear, zFar);
9010
9011         goto finish;
9012
9013 finish:
9014         _COREGL_TRACEPATH_FUNC_END("end");
9015 }
9016
9017 void
9018 tracepath_glOrthoxOES (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top,
9019                                            GLfixed zNear, GLfixed zFar)
9020 {
9021         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %d, %d, %d)", left, right, bottom, top,
9022                                                                 zNear, zFar);
9023         _orig_tracepath_glOrthoxOES (left, right, bottom, top, zNear, zFar);
9024
9025         goto finish;
9026
9027 finish:
9028         _COREGL_TRACEPATH_FUNC_END("end");
9029 }
9030
9031 void
9032 tracepath_glPointParameterxOES (GLenum pname, GLfixed param)
9033 {
9034         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d)", _get_value(pname), param);
9035         _orig_tracepath_glPointParameterxOES (pname, param);
9036
9037         goto finish;
9038
9039 finish:
9040         _COREGL_TRACEPATH_FUNC_END("end");
9041 }
9042
9043 void
9044 tracepath_glPointParameterxvOES (GLenum pname, const GLfixed *params)
9045 {
9046         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %p)", _get_value(pname), params);
9047         _orig_tracepath_glPointParameterxvOES (pname, params);
9048
9049         goto finish;
9050
9051 finish:
9052         _COREGL_TRACEPATH_FUNC_END("end");
9053 }
9054
9055 void
9056 tracepath_glPointSizexOES (GLfixed size)
9057 {
9058         _COREGL_TRACEPATH_FUNC_BEGIN("(%d)", size);
9059         _orig_tracepath_glPointSizexOES (size);
9060
9061         goto finish;
9062
9063 finish:
9064         _COREGL_TRACEPATH_FUNC_END("end");
9065 }
9066
9067 void
9068 tracepath_glPolygonOffsetxOES (GLfixed factor, GLfixed units)
9069 {
9070         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d)", factor, units);
9071         _orig_tracepath_glPolygonOffsetxOES (factor, units);
9072
9073         goto finish;
9074
9075 finish:
9076         _COREGL_TRACEPATH_FUNC_END("end");
9077 }
9078
9079 void
9080 tracepath_glQueryCounterEXT (GLuint id, GLenum target)
9081 {
9082         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s)", id, _get_value(target));
9083         _orig_tracepath_glQueryCounterEXT (id, target);
9084
9085         goto finish;
9086
9087 finish:
9088         _COREGL_TRACEPATH_FUNC_END("end");
9089 }
9090
9091 void
9092 tracepath_glRenderbufferStorageOES (GLenum target, GLenum internalformat,
9093                                                                         GLsizei width, GLsizei height)
9094 {
9095         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %d, %d)", _get_value(target),
9096                                                                 _get_value(internalformat), width, height);
9097         _orig_tracepath_glRenderbufferStorageOES (target, internalformat, width,
9098                         height);
9099
9100         goto finish;
9101
9102 finish:
9103         _COREGL_TRACEPATH_FUNC_END("end");
9104 }
9105
9106 void
9107 tracepath_glRotatexOES (GLfixed angle, GLfixed x, GLfixed y, GLfixed z)
9108 {
9109         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %d)", angle, x, y, z);
9110         _orig_tracepath_glRotatexOES (angle, x, y, z);
9111
9112         goto finish;
9113
9114 finish:
9115         _COREGL_TRACEPATH_FUNC_END("end");
9116 }
9117
9118 void
9119 tracepath_glSampleCoveragexOES (GLclampx value, GLboolean invert)
9120 {
9121         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d)", value, invert);
9122         _orig_tracepath_glSampleCoveragexOES (value, invert);
9123
9124         goto finish;
9125
9126 finish:
9127         _COREGL_TRACEPATH_FUNC_END("end");
9128 }
9129
9130 void
9131 tracepath_glScalexOES (GLfixed x, GLfixed y, GLfixed z)
9132 {
9133         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d)", x, y, z);
9134         _orig_tracepath_glScalexOES (x, y, z);
9135
9136         goto finish;
9137
9138 finish:
9139         _COREGL_TRACEPATH_FUNC_END("end");
9140 }
9141
9142 void
9143 tracepath_glTexEnvxOES (GLenum target, GLenum pname, GLfixed param)
9144 {
9145         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %d)", _get_value(target), _get_value(pname), param);
9146         _orig_tracepath_glTexEnvxOES (target, pname, param);
9147
9148         goto finish;
9149
9150 finish:
9151         _COREGL_TRACEPATH_FUNC_END("end");
9152 }
9153
9154 void
9155 tracepath_glTexEnvxvOES (GLenum target, GLenum pname, const GLfixed *params)
9156 {
9157         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(target), _get_value(pname), params);
9158         _orig_tracepath_glTexEnvxvOES (target, pname, params);
9159
9160         goto finish;
9161
9162 finish:
9163         _COREGL_TRACEPATH_FUNC_END("end");
9164 }
9165
9166 void
9167 tracepath_glTexParameterxOES (GLenum target, GLenum pname, GLfixed param)
9168 {
9169         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %d)", _get_value(target), _get_value(pname), param);
9170         _orig_tracepath_glTexParameterxOES (target, pname, param);
9171
9172         goto finish;
9173
9174 finish:
9175         _COREGL_TRACEPATH_FUNC_END("end");
9176 }
9177
9178 void
9179 tracepath_glTexParameterxvOES (GLenum target, GLenum pname,
9180                                                            const GLfixed *params)
9181 {
9182         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(target), _get_value(pname), params);
9183         _orig_tracepath_glTexParameterxvOES (target, pname, params);
9184
9185         goto finish;
9186
9187 finish:
9188         _COREGL_TRACEPATH_FUNC_END("end");
9189 }
9190
9191 void
9192 tracepath_glTexStorage2DEXT (GLenum target, GLsizei levels,
9193                                                          GLenum internalformat, GLsizei width, GLsizei height)
9194 {
9195         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d, %s, %d, %d)", _get_value(target),
9196                                                                 levels, _get_value(internalformat), width, height);
9197         _orig_tracepath_glTexStorage2DEXT (target, levels, internalformat, width,
9198                                                                            height);
9199
9200         goto finish;
9201
9202 finish:
9203         _COREGL_TRACEPATH_FUNC_END("end");
9204 }
9205
9206 void
9207 tracepath_glTexStorage3DEXT (GLenum target, GLsizei levels,
9208                                                          GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth)
9209 {
9210         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d, %s, %d, %d, %d)", _get_value(target),
9211                                                                 levels, _get_value(internalformat), width, height, depth);
9212         _orig_tracepath_glTexStorage3DEXT (target, levels, internalformat, width,
9213                                                                            height, depth);
9214
9215         goto finish;
9216
9217 finish:
9218         _COREGL_TRACEPATH_FUNC_END("end");
9219 }
9220
9221 void
9222 tracepath_glTexStorage3DMultisampleOES (GLenum target, GLsizei samples,
9223                                                                                 GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth,
9224                                                                                 GLboolean fixedsamplelocations)
9225 {
9226         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d, %s, %d, %d, %d, %d)", _get_value(target),
9227                                                                 samples, _get_value(internalformat), width, height,
9228                                                                 depth, fixedsamplelocations);
9229         _orig_tracepath_glTexStorage3DMultisampleOES (target, samples, internalformat,
9230                         width, height, depth, fixedsamplelocations);
9231
9232         goto finish;
9233
9234 finish:
9235         _COREGL_TRACEPATH_FUNC_END("end");
9236 }
9237
9238 void
9239 tracepath_glTranslatexOES (GLfixed x, GLfixed y, GLfixed z)
9240 {
9241         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d)", x, y, z);
9242         _orig_tracepath_glTranslatexOES (x, y, z);
9243
9244         goto finish;
9245
9246 finish:
9247         _COREGL_TRACEPATH_FUNC_END("end");
9248 }
9249
9250 void
9251 tracepath_glBindVertexArrayOES(GLuint array)
9252 {
9253         _COREGL_TRACEPATH_FUNC_BEGIN("(%d)", array);
9254         _orig_tracepath_glBindVertexArrayOES(array);
9255
9256         goto finish;
9257
9258 finish:
9259         _COREGL_TRACEPATH_FUNC_END("end");
9260 }
9261
9262 void
9263 tracepath_glDeleteVertexArraysOES(GLsizei n, const GLuint *arrays)
9264 {
9265         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %p)", n, arrays);
9266         _orig_tracepath_glDeleteVertexArraysOES(n, arrays);
9267
9268         goto finish;
9269
9270 finish:
9271         _COREGL_TRACEPATH_FUNC_END("end");
9272 }
9273
9274 void
9275 tracepath_glGenVertexArraysOES(GLsizei n, GLuint *arrays)
9276 {
9277         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %p)", n, arrays);
9278         _orig_tracepath_glGenVertexArraysOES(n, arrays);
9279
9280         goto finish;
9281
9282 finish:
9283         _COREGL_TRACEPATH_FUNC_END("end");
9284 }
9285
9286 GLboolean
9287 tracepath_glIsVertexArrayOES(GLuint array)
9288 {
9289         GLboolean ret = GL_FALSE;
9290
9291         _COREGL_TRACEPATH_FUNC_BEGIN("(%d)", array);
9292         ret = _orig_tracepath_glIsVertexArrayOES(array);
9293
9294         goto finish;
9295
9296 finish:
9297         _COREGL_TRACEPATH_FUNC_END("end");
9298         return ret;
9299 }
9300
9301 void tracepath_glDebugMessageCallbackKHR(GLDEBUGPROCKHR callback,
9302                 void const *userParam)
9303 {
9304         _COREGL_TRACEPATH_FUNC_BEGIN("(%p, %p)", callback, userParam);
9305         _orig_tracepath_glDebugMessageCallbackKHR(callback, userParam);
9306
9307         goto finish;
9308
9309 finish:
9310         _COREGL_TRACEPATH_FUNC_END("end");
9311 }
9312
9313
9314 void tracepath_glDebugMessageControlKHR(GLenum source, GLenum type,
9315                                                                                 GLenum severity, GLsizei count, GLuint const *ids, GLboolean enabled)
9316 {
9317         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %s, %d, %p, %d)", _get_value(source),
9318                                                                 _get_value(type), _get_value(severity), count, ids, enabled);
9319         _orig_tracepath_glDebugMessageControlKHR(source, type, severity, count, ids,
9320                         enabled);
9321
9322         goto finish;
9323
9324 finish:
9325         _COREGL_TRACEPATH_FUNC_END("end");
9326 }
9327
9328 void tracepath_glDebugMessageInsertKHR(GLenum source, GLenum type, GLuint id,
9329                                                                            GLenum severity, GLsizei length, GLchar const *buf)
9330 {
9331         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %d, %s, %d, %p)", _get_value(source),
9332                                                                 _get_value(type), id, _get_value(severity), length, buf);
9333         _orig_tracepath_glDebugMessageInsertKHR(source, type, id, severity, length,
9334                                                                                         buf);
9335
9336         goto finish;
9337
9338 finish:
9339         _COREGL_TRACEPATH_FUNC_END("end");
9340 }
9341
9342 GLuint tracepath_glGetDebugMessageLogKHR(GLuint count, GLsizei bufsize,
9343                 GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities,
9344                 GLsizei *lengths, GLchar *messageLog)
9345 {
9346         GLuint ret = GL_INVALID_INDEX;
9347         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %p, %p, %p , %p, %p, %p)", count, bufsize,
9348                                                                 sources, types, ids, severities, lengths, messageLog);
9349         ret =  _orig_tracepath_glGetDebugMessageLogKHR(count, bufsize, sources, types,
9350                         ids, severities, lengths, messageLog);
9351         goto finish;
9352
9353 finish:
9354         _COREGL_TRACEPATH_FUNC_END("end");
9355         return ret;
9356 }
9357
9358 void tracepath_glGetObjectLabelKHR(GLenum identifier, GLuint name,
9359                                                                    GLsizei bufSize, GLsizei *length, GLchar *label)
9360 {
9361         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d, %d, %p, %p)", _get_value(identifier),
9362                                                                 name, bufSize, length, label);
9363         _orig_tracepath_glGetObjectLabelKHR(identifier, name, bufSize, length, label);
9364
9365         goto finish;
9366
9367 finish:
9368         _COREGL_TRACEPATH_FUNC_END("ret len[%d],label[%s]", length ? (*length):0, label);
9369 }
9370
9371 void tracepath_glGetObjectPtrLabelKHR(void const *ptr, GLsizei bufSize,
9372                                                                           GLsizei *length, GLchar *label)
9373 {
9374         _COREGL_TRACEPATH_FUNC_BEGIN("(%p, %d, %p, %p)", ptr, bufSize, length, label);
9375         _orig_tracepath_glGetObjectPtrLabelKHR(ptr, bufSize, length, label);
9376
9377         goto finish;
9378
9379 finish:
9380         _COREGL_TRACEPATH_FUNC_END("ret len[%d],label[%s]", length ? (*length):0, label);
9381 }
9382
9383 void
9384 tracepath_glGetPointerv(GLenum pname, GLvoid **params)
9385 {
9386         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %p)", _get_value(pname), params);
9387         _orig_tracepath_glGetPointerv(pname, params);
9388
9389         goto finish;
9390
9391 finish:
9392         _COREGL_TRACEPATH_FUNC_END("end");
9393 }
9394
9395 void
9396 tracepath_glObjectLabelKHR (GLenum identifier, GLuint name, GLsizei length,
9397                                                         const GLchar *label)
9398 {
9399         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d, %d, %s)", _get_value(identifier), name,
9400                                                                 length, label);
9401         _orig_tracepath_glObjectLabelKHR (identifier, name, length, label);
9402         goto finish;
9403
9404 finish:
9405         _COREGL_TRACEPATH_FUNC_END("end");
9406 }
9407
9408 void
9409 tracepath_glObjectPtrLabelKHR (const void *ptr, GLsizei length,
9410                                                            const GLchar *label)
9411 {
9412         _COREGL_TRACEPATH_FUNC_BEGIN("(%p, %d, %s)", ptr, length, label);
9413         _orig_tracepath_glObjectPtrLabelKHR (ptr, length, label);
9414
9415         goto finish;
9416
9417 finish:
9418         _COREGL_TRACEPATH_FUNC_END("end");
9419 }
9420
9421 void
9422 tracepath_glPopDebugGroupKHR (void)
9423 {
9424         _COREGL_TRACEPATH_FUNC_BEGIN("start");
9425         _orig_tracepath_glPopDebugGroupKHR ();
9426
9427         goto finish;
9428
9429 finish:
9430         _COREGL_TRACEPATH_FUNC_END("end");
9431 }
9432
9433 void
9434 tracepath_glPushDebugGroupKHR (GLenum source, GLuint id, GLsizei length,
9435                                                            const GLchar *message)
9436 {
9437         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d, %d, %s)", _get_value(source), id, length, message);
9438         _orig_tracepath_glPushDebugGroupKHR (source, id, length, message);
9439
9440         goto finish;
9441
9442 finish:
9443         _COREGL_TRACEPATH_FUNC_END("end");
9444 }
9445
9446 /* GLES3.2 API*/
9447 void
9448 tracepath_glBlendBarrier(void)
9449 {
9450         _COREGL_TRACEPATH_FUNC_BEGIN("start");
9451         _orig_tracepath_glBlendBarrier();
9452         goto finish;
9453
9454 finish:
9455         _COREGL_TRACEPATH_FUNC_END("end");
9456 }
9457
9458 void
9459 tracepath_glCopyImageSubData (GLuint srcName, GLenum srcTarget, GLint srcLevel,
9460                                                           GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget,
9461                                                           GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth,
9462                                                           GLsizei srcHeight, GLsizei srcDepth)
9463 {
9464         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %d, %d, %d, %d, %d, %s, %d, %d, %d, %d, %d, %d, %d)",
9465                                                                 srcName, _get_value(srcTarget), srcLevel, srcX, srcY, srcZ, dstName,
9466                                                                 _get_value(dstTarget), dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight,
9467                                                                            srcDepth);
9468         _orig_tracepath_glCopyImageSubData(srcName, srcTarget, srcLevel, srcX, srcY,
9469                                                                            srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight,
9470                                                                            srcDepth);
9471         goto finish;
9472
9473 finish:
9474         _COREGL_TRACEPATH_FUNC_END("end");
9475 }
9476
9477 void
9478 tracepath_glDebugMessageControl (GLenum source, GLenum type, GLenum severity,
9479                                                                  GLsizei count, const GLuint *ids, GLboolean enabled)
9480 {
9481         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %s, %d, %p, %d)", _get_value(source), _get_value(type),
9482                                                                 _get_value(severity), count, ids, enabled);
9483         _orig_tracepath_glDebugMessageControl (source, type, severity, count, ids,
9484                                                                                    enabled);
9485         goto finish;
9486
9487 finish:
9488         _COREGL_TRACEPATH_FUNC_END("end");
9489 }
9490
9491 void
9492 tracepath_glDebugMessageInsert(GLenum source, GLenum type, GLuint id,
9493                                                            GLenum severity, GLsizei length, const GLchar *buf)
9494 {
9495         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %d, %s, %d, %s)", _get_value(source),
9496                                                                 _get_value(type), id, _get_value(severity), length, buf);
9497         _orig_tracepath_glDebugMessageInsert(source, type, id, severity, length, buf);
9498         goto finish;
9499
9500 finish:
9501         _COREGL_TRACEPATH_FUNC_END("end");
9502 }
9503
9504 void
9505 tracepath_glDebugMessageCallback(GLDEBUGPROC callback, const void *userParam)
9506 {
9507         _COREGL_TRACEPATH_FUNC_BEGIN("(%p, %p)", callback, userParam);
9508         _orig_tracepath_glDebugMessageCallback(callback, userParam);
9509         goto finish;
9510
9511 finish:
9512         _COREGL_TRACEPATH_FUNC_END("end");
9513 }
9514
9515 GLuint
9516 tracepath_glGetDebugMessageLog(GLuint count, GLsizei bufSize, GLenum *sources,
9517                                                            GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths,
9518                                                            GLchar *messageLog)
9519 {
9520         GLuint ret = _COREGL_INT_INIT_VALUE;
9521         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %p, %p, %p, %p, %p, %p)", count, bufSize, sources,
9522                                                                 types, ids, severities, lengths, messageLog);
9523         ret = _orig_tracepath_glGetDebugMessageLog(count, bufSize, sources, types, ids,
9524                         severities, lengths, messageLog);
9525         goto finish;
9526
9527 finish:
9528         _COREGL_TRACEPATH_FUNC_END("end");
9529         return ret;
9530 }
9531
9532 void
9533 tracepath_glPushDebugGroup(GLenum source, GLuint id, GLsizei length,
9534                                                    const GLchar *message)
9535 {
9536         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d, %d, %s)", _get_value(source), id, length, message);
9537         _orig_tracepath_glPushDebugGroup(source, id, length, message);
9538         goto finish;
9539
9540 finish:
9541         _COREGL_TRACEPATH_FUNC_END("end");
9542 }
9543
9544 void
9545 tracepath_glPopDebugGroup(void)
9546 {
9547         _COREGL_TRACEPATH_FUNC_BEGIN("start");
9548         _orig_tracepath_glPopDebugGroup();
9549         goto finish;
9550
9551 finish:
9552         _COREGL_TRACEPATH_FUNC_END("end");
9553 }
9554
9555 void
9556 tracepath_glObjectLabel(GLenum identifier, GLuint name, GLsizei length,
9557                                                 const GLchar *label)
9558 {
9559         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d, %d, %s)", _get_value(identifier),
9560                                                                         name, length, label);
9561         _orig_tracepath_glObjectLabel(identifier, name, length, label);
9562         goto finish;
9563
9564 finish:
9565         _COREGL_TRACEPATH_FUNC_END("end");
9566 }
9567
9568 void
9569 tracepath_glGetObjectLabel(GLenum identifier, GLuint name, GLsizei bufSize,
9570                                                    GLsizei *length, GLchar *label)
9571 {
9572         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d, %d, %p, %p)", _get_value(identifier),
9573                                                                 name, bufSize, length, label);
9574         _orig_tracepath_glGetObjectLabel(identifier, name, bufSize, length, label);
9575         goto finish;
9576
9577 finish:
9578         _COREGL_TRACEPATH_FUNC_END("end");
9579 }
9580
9581 void
9582 tracepath_glObjectPtrLabel(const void *ptr, GLsizei length, const GLchar *label)
9583 {
9584         _COREGL_TRACEPATH_FUNC_BEGIN("(%p, %d, %s)", ptr, length, label);
9585         _orig_tracepath_glObjectPtrLabel(ptr, length, label);
9586         goto finish;
9587
9588 finish:
9589         _COREGL_TRACEPATH_FUNC_END("end");
9590 }
9591
9592 void
9593 tracepath_glGetObjectPtrLabel(const void *ptr, GLsizei bufSize, GLsizei *length,
9594                                                           GLchar *label)
9595 {
9596         _COREGL_TRACEPATH_FUNC_BEGIN("(ptr[%p], bufSize[%d], len[%p], label[%p])",
9597                                                                 ptr, bufSize, length, label);
9598         _orig_tracepath_glGetObjectPtrLabel(ptr, bufSize, length, label);
9599         goto finish;
9600
9601 finish:
9602         _COREGL_TRACEPATH_FUNC_END("ret len[%d],label[%s]", length ? *length:0, label);
9603 }
9604
9605 void
9606 tracepath_glEnablei(GLenum target, GLuint index)
9607 {
9608         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d)", _get_value(target), index);
9609         _orig_tracepath_glEnablei(target, index);
9610         goto finish;
9611
9612 finish:
9613         _COREGL_TRACEPATH_FUNC_END("end");
9614 }
9615
9616 void
9617 tracepath_glDisablei(GLenum target, GLuint index)
9618 {
9619         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d)", _get_value(target), index);
9620         _orig_tracepath_glDisablei(target, index);
9621         goto finish;
9622
9623 finish:
9624         _COREGL_TRACEPATH_FUNC_END("end");
9625 }
9626
9627 void
9628 tracepath_glBlendEquationi(GLuint buf, GLenum mode)
9629 {
9630         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s)", buf, _get_value(mode));
9631         _orig_tracepath_glBlendEquationi(buf, mode);
9632         goto finish;
9633
9634 finish:
9635         _COREGL_TRACEPATH_FUNC_END("end");
9636 }
9637
9638 void
9639 tracepath_glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha)
9640 {
9641         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %s)", buf, _get_value(modeRGB),
9642                                                                 _get_value(modeAlpha));
9643         _orig_tracepath_glBlendEquationSeparatei(buf, modeRGB, modeAlpha);
9644         goto finish;
9645
9646 finish:
9647         _COREGL_TRACEPATH_FUNC_END("end");
9648 }
9649
9650 void
9651 tracepath_glBlendFunci(GLuint buf, GLenum src, GLenum dst)
9652 {
9653         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %s)", buf, _get_value(src), _get_value(dst));
9654         _orig_tracepath_glBlendFunci(buf, src, dst);
9655         goto finish;
9656
9657 finish:
9658         _COREGL_TRACEPATH_FUNC_END("end");
9659 }
9660
9661 void
9662 tracepath_glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB,
9663                                                            GLenum srcAlpha, GLenum dstAlpha)
9664 {
9665         _COREGL_TRACEPATH_FUNC_BEGIN("(buf[%d], srcRGB[%s], dstRGB[%s], srcAlpha[%s], dstAlpha[%s])",
9666                                                                 buf, _get_value(srcRGB), _get_value(dstRGB), _get_value(srcAlpha),
9667                                                                 _get_value(dstAlpha));
9668         _orig_tracepath_glBlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha);
9669         goto finish;
9670
9671 finish:
9672         _COREGL_TRACEPATH_FUNC_END("end");
9673 }
9674
9675 void
9676 tracepath_glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b,
9677                                            GLboolean a)
9678 {
9679         _COREGL_TRACEPATH_FUNC_BEGIN("(index[%d], R[%d], G[%d], B[%d])", index, r, g, b);
9680         _orig_tracepath_glColorMaski(index, r, g, b, a);
9681         goto finish;
9682
9683 finish:
9684         _COREGL_TRACEPATH_FUNC_END("end");
9685 }
9686
9687 void
9688 tracepath_glColorMaskiOES(GLuint index, GLboolean r, GLboolean g, GLboolean b,
9689                                                   GLboolean a)
9690 {
9691         _COREGL_TRACEPATH_FUNC_BEGIN("(index[%d], R[%d], G[%d], B[%d])", index, r, g, b);
9692         _orig_tracepath_glColorMaskiOES(index, r, g, b, a);
9693         goto finish;
9694
9695 finish:
9696         _COREGL_TRACEPATH_FUNC_END("end");
9697 }
9698
9699 GLboolean
9700 tracepath_glIsEnabledi(GLenum target, GLuint index)
9701 {
9702         GLboolean ret = GL_FALSE;
9703         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d)", _get_value(target), index);
9704         ret = _orig_tracepath_glIsEnabledi(target, index);
9705         goto finish;
9706
9707 finish:
9708         _COREGL_TRACEPATH_FUNC_END("end");
9709         return ret;
9710 }
9711
9712 void
9713 tracepath_glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type,
9714                                                                    const void *indices, GLint basevertex)
9715 {
9716         _COREGL_TRACEPATH_FUNC_BEGIN("mode[%s], count[%d], type[%s], indices[%p], basevertex[%d]",
9717                                                                 _get_value(mode), count, _get_value(type), indices, basevertex);
9718         _orig_tracepath_glDrawElementsBaseVertex(mode, count, type, indices,
9719                         basevertex);
9720         goto finish;
9721
9722 finish:
9723         _COREGL_TRACEPATH_FUNC_END("end");
9724 }
9725
9726 void
9727 tracepath_glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end,
9728                                                                                 GLsizei count, GLenum type, const void *indices, GLint basevertex)
9729 {
9730         _COREGL_TRACEPATH_FUNC_BEGIN("mode[%s], start[%d], end[%d], count[%d], type[%s],\
9731                                                                 indices[%p], basevertex[%d]", _get_value(mode),
9732                                                                 start, end, count, _get_value(type), indices, basevertex);
9733         _orig_tracepath_glDrawRangeElementsBaseVertex(mode, start, end, count, type,
9734                         indices, basevertex);
9735         goto finish;
9736
9737 finish:
9738         _COREGL_TRACEPATH_FUNC_END("end");
9739 }
9740
9741 void
9742 tracepath_glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count,
9743                 GLenum type, const void *indices, GLsizei instancecount, GLint basevertex)
9744 {
9745         _COREGL_TRACEPATH_FUNC_BEGIN("mode[%s], count[%d], type[%s], indices[%p],\
9746                                                                 instancecount[%d], basevertex[%d]", _get_value(mode),
9747                                                                 count, _get_value(type), indices, instancecount, basevertex);
9748         _orig_tracepath_glDrawElementsInstancedBaseVertex(mode, count, type, indices,
9749                         instancecount, basevertex);
9750         goto finish;
9751
9752 finish:
9753         _COREGL_TRACEPATH_FUNC_END("end");
9754 }
9755
9756 void
9757 tracepath_glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture,
9758                                                            GLint level)
9759 {
9760         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %d, %d)", _get_value(target),
9761                                                                 _get_value(attachment), texture, level);
9762         _orig_tracepath_glFramebufferTexture(target, attachment, texture, level);
9763         goto finish;
9764
9765 finish:
9766         _COREGL_TRACEPATH_FUNC_END("end");
9767 }
9768
9769 void
9770 tracepath_glPrimitiveBoundingBox(GLfloat minX, GLfloat minY, GLfloat minZ,
9771                                                                  GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW)
9772 {
9773         _COREGL_TRACEPATH_FUNC_BEGIN("(minX[%f], minY[%f], minZ[%f], minW[%f], maxX[%f],\
9774                                                                         maxY[%f], maxZ[%f], maxW[%f])", minX, minY, minZ,
9775                                                                         minW, maxX, maxY, maxZ, maxW);
9776         _orig_tracepath_glPrimitiveBoundingBox(minX, minY, minZ, minW, maxX, maxY, maxZ,
9777                                                                                    maxW);
9778         goto finish;
9779
9780 finish:
9781         _COREGL_TRACEPATH_FUNC_END("end");
9782 }
9783
9784 GLenum
9785 tracepath_glGetGraphicsResetStatus(void)
9786 {
9787         GLenum ret = GL_NONE;
9788         _COREGL_TRACEPATH_FUNC_BEGIN("start");
9789         ret =  _orig_tracepath_glGetGraphicsResetStatus();
9790         goto finish;
9791
9792 finish:
9793         _COREGL_TRACEPATH_FUNC_END("end");
9794         return ret;
9795 }
9796
9797 void
9798 tracepath_glReadnPixels(GLint x, GLint y, GLsizei width, GLsizei height,
9799                                                 GLenum format, GLenum type, GLsizei bufSize, void *data)
9800 {
9801         _COREGL_TRACEPATH_FUNC_BEGIN("(x[%d], y[%d], w[%d], h[%d], format[%s], type[%s],\
9802                                                                 bufSize[%d], data[%p])", x, y, width, height,
9803                                                                 _get_value(format), _get_value(type), bufSize, data);
9804         _orig_tracepath_glReadnPixels(x, y, width, height, format, type, bufSize, data);
9805         goto finish;
9806
9807 finish:
9808         _COREGL_TRACEPATH_FUNC_END("end");
9809 }
9810
9811 void
9812 tracepath_glGetnUniformfv(GLuint program, GLint location, GLsizei bufSize,
9813                                                   GLfloat *params)
9814 {
9815         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %p)", program, location, bufSize, params);
9816         _orig_tracepath_glGetnUniformfv(program, location, bufSize, params);
9817         goto finish;
9818
9819 finish:
9820         _COREGL_TRACEPATH_FUNC_END("end");
9821 }
9822
9823 void
9824 tracepath_glGetnUniformiv(GLuint program, GLint location, GLsizei bufSize,
9825                                                   GLint *params)
9826 {
9827         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %p)", program, location, bufSize, params);
9828         _orig_tracepath_glGetnUniformiv(program, location, bufSize, params);
9829         goto finish;
9830
9831 finish:
9832         _COREGL_TRACEPATH_FUNC_END("end");
9833 }
9834
9835 void
9836 tracepath_glGetnUniformuiv(GLuint program, GLint location, GLsizei bufSize,
9837                                                    GLuint *params)
9838 {
9839         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %d, %d, %p)", program, location, bufSize, params);
9840         _orig_tracepath_glGetnUniformuiv(program, location, bufSize, params);
9841         goto finish;
9842
9843 finish:
9844         _COREGL_TRACEPATH_FUNC_END("end");
9845 }
9846
9847 void
9848 tracepath_glMinSampleShading(GLfloat value)
9849 {
9850         _COREGL_TRACEPATH_FUNC_BEGIN("(%f)", value);
9851         _orig_tracepath_glMinSampleShading(value);
9852         goto finish;
9853
9854 finish:
9855         _COREGL_TRACEPATH_FUNC_END("end");
9856 }
9857
9858 void
9859 tracepath_glPatchParameteri(GLenum pname, GLint value)
9860 {
9861         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d)", _get_value(pname), value);
9862         _orig_tracepath_glPatchParameteri(pname, value);
9863         goto finish;
9864
9865 finish:
9866         _COREGL_TRACEPATH_FUNC_END("end");
9867 }
9868
9869 void
9870 tracepath_glTexParameterIiv(GLenum target, GLenum pname, const GLint *params)
9871 {
9872         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(target), _get_value(pname), params);
9873         _orig_tracepath_glTexParameterIiv(target, pname, params);
9874         goto finish;
9875
9876 finish:
9877         _COREGL_TRACEPATH_FUNC_END("end");
9878 }
9879
9880 void
9881 tracepath_glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params)
9882 {
9883         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(target), _get_value(pname), params);
9884         _orig_tracepath_glTexParameterIuiv(target, pname, params);
9885         goto finish;
9886
9887 finish:
9888         _COREGL_TRACEPATH_FUNC_END("end");
9889 }
9890
9891 void
9892 tracepath_glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params)
9893 {
9894         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(target), _get_value(pname), params);
9895         _orig_tracepath_glGetTexParameterIiv(target, pname, params);
9896         goto finish;
9897
9898 finish:
9899         _COREGL_TRACEPATH_FUNC_END("end");
9900 }
9901
9902 void
9903 tracepath_glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params)
9904 {
9905         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(target), _get_value(pname), params);
9906         _orig_tracepath_glGetTexParameterIuiv(target, pname, params);
9907         goto finish;
9908
9909 finish:
9910         _COREGL_TRACEPATH_FUNC_END("end");
9911 }
9912
9913 void
9914 tracepath_glSamplerParameterIiv(GLuint sampler, GLenum pname,
9915                                                                 const GLint *param)
9916 {
9917         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %p)", sampler, _get_value(pname), param);
9918         _orig_tracepath_glSamplerParameterIiv(sampler, pname, param);
9919         goto finish;
9920
9921 finish:
9922         _COREGL_TRACEPATH_FUNC_END("end");
9923 }
9924
9925 void
9926 tracepath_glSamplerParameterIuiv(GLuint sampler, GLenum pname,
9927                                                                  const GLuint *param)
9928 {
9929         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %p)", sampler, _get_value(pname), param);
9930         _orig_tracepath_glSamplerParameterIuiv(sampler, pname, param);
9931         goto finish;
9932
9933 finish:
9934         _COREGL_TRACEPATH_FUNC_END("end");
9935 }
9936
9937 void
9938 tracepath_glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params)
9939 {
9940         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %p)", sampler, _get_value(pname), params);
9941         _orig_tracepath_glGetSamplerParameterIiv(sampler, pname, params);
9942         goto finish;
9943
9944 finish:
9945         _COREGL_TRACEPATH_FUNC_END("end");
9946 }
9947
9948 void
9949 tracepath_glGetSamplerParameterIuiv(GLuint sampler, GLenum pname,
9950                                                                         GLuint *params)
9951 {
9952         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %p)", sampler, _get_value(pname), params);
9953         _orig_tracepath_glGetSamplerParameterIuiv(sampler, pname, params);
9954         goto finish;
9955
9956 finish:
9957         _COREGL_TRACEPATH_FUNC_END("end");
9958 }
9959
9960 void
9961 tracepath_glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer)
9962 {
9963         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %d)", _get_value(target),
9964                                                                 _get_value(internalformat), buffer);
9965         _orig_tracepath_glTexBuffer(target, internalformat, buffer);
9966         goto finish;
9967
9968 finish:
9969         _COREGL_TRACEPATH_FUNC_END("end");
9970 }
9971
9972 void
9973 tracepath_glTexBufferRange(GLenum target, GLenum internalformat, GLuint buffer,
9974                                                    GLintptr offset, GLsizeiptr size)
9975 {
9976         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %d, %ld, %ld)", _get_value(target),
9977                                                                 _get_value(internalformat), buffer, offset, size);
9978         _orig_tracepath_glTexBufferRange(target, internalformat, buffer, offset, size);
9979         goto finish;
9980
9981 finish:
9982         _COREGL_TRACEPATH_FUNC_END("end");
9983 }
9984
9985 void
9986 tracepath_glTexStorage3DMultisample(GLenum target, GLsizei samples,
9987                                                                         GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth,
9988                                                                         GLboolean fixedsamplelocations)
9989 {
9990         _COREGL_TRACEPATH_FUNC_BEGIN("(target[%s], samples[%d], internalformat[%s],\
9991                                                                 w[%d], h[%d], depth[%d], fixedsamplelocations[%d])",
9992                                                                 _get_value(target), samples, _get_value(internalformat),
9993                                                                 width, height, depth, fixedsamplelocations);
9994         _orig_tracepath_glTexStorage3DMultisample(target, samples, internalformat,
9995                         width, height, depth, fixedsamplelocations);
9996         goto finish;
9997
9998 finish:
9999         _COREGL_TRACEPATH_FUNC_END("end");
10000 }
10001
10002 void
10003 tracepath_glFramebufferTextureOES(GLenum target, GLenum attachment,
10004                                                                   GLuint texture, GLint level)
10005 {
10006         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %d, %d)", _get_value(target),
10007                                                                 _get_value(attachment), texture, level);
10008
10009 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
10010         tracepath_fbdump_update(0);
10011 #endif
10012
10013         _orig_tracepath_glFramebufferTextureOES(target, attachment, texture, level);
10014
10015 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
10016         tracepath_fbdump_update(1);
10017 #endif
10018
10019         goto finish;
10020
10021 finish:
10022         _COREGL_TRACEPATH_FUNC_END("end");
10023 }
10024
10025 void
10026 tracepath_glTexBufferRangeOES(GLenum target, GLenum internalformat,
10027                                                           GLuint buffer, GLintptr offset, GLsizeiptr size)
10028 {
10029         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %d, %ld, %ld)", _get_value(target),
10030                                                                 _get_value(internalformat), buffer, offset, size);
10031         _orig_tracepath_glTexBufferRangeOES(target, internalformat, buffer, offset,
10032                                                                                 size);
10033         goto finish;
10034
10035 finish:
10036         _COREGL_TRACEPATH_FUNC_END("end");
10037 }
10038
10039 void
10040 tracepath_glSamplerParameterIuivOES(GLuint sampler, GLenum pname,
10041                                                                         const GLuint *param)
10042 {
10043         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %p)", sampler, _get_value(pname), param);
10044         _orig_tracepath_glSamplerParameterIuivOES(sampler, pname, param);
10045         goto finish;
10046
10047 finish:
10048         _COREGL_TRACEPATH_FUNC_END("end");
10049 }
10050
10051 void
10052 tracepath_glSamplerParameterIivOES(GLuint sampler, GLenum pname,
10053                                                                    const GLint *param)
10054 {
10055         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %p)", sampler, _get_value(pname), param);
10056         _orig_tracepath_glSamplerParameterIivOES(sampler, pname, param);
10057         goto finish;
10058
10059 finish:
10060         _COREGL_TRACEPATH_FUNC_END("end");
10061 }
10062
10063 void
10064 tracepath_glGetSamplerParameterIuivOES(GLuint sampler, GLenum pname,
10065                                                                            GLuint *params)
10066 {
10067         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %p)", sampler, _get_value(pname), params);
10068         _orig_tracepath_glGetSamplerParameterIuivOES(sampler, pname, params);
10069         goto finish;
10070
10071 finish:
10072         _COREGL_TRACEPATH_FUNC_END("end");
10073 }
10074
10075 void
10076 tracepath_glGetSamplerParameterIivOES(GLuint sampler, GLenum pname,
10077                                                                           GLint *params)
10078 {
10079         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %p)", sampler, _get_value(pname), params);
10080         _orig_tracepath_glGetSamplerParameterIivOES(sampler, pname, params);
10081         goto finish;
10082
10083 finish:
10084         _COREGL_TRACEPATH_FUNC_END("end");
10085 }
10086
10087 void
10088 tracepath_glGetTexParameterIuivOES(GLenum target, GLenum pname, GLuint *params)
10089 {
10090         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(target), _get_value(pname), params);
10091         _orig_tracepath_glGetTexParameterIuivOES(target, pname, params);
10092         goto finish;
10093
10094 finish:
10095         _COREGL_TRACEPATH_FUNC_END("end");
10096 }
10097
10098 void
10099 tracepath_glTexParameterIivOES(GLenum target, GLenum pname, const GLint *params)
10100 {
10101         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(target), _get_value(pname), params);
10102         _orig_tracepath_glTexParameterIivOES(target, pname, params);
10103         goto finish;
10104
10105 finish:
10106         _COREGL_TRACEPATH_FUNC_END("end");
10107 }
10108
10109 void
10110 tracepath_glPatchParameteriOES(GLenum pname, GLint value)
10111 {
10112         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d)", _get_value(pname), value);
10113         _orig_tracepath_glPatchParameteriOES(pname, value);
10114         goto finish;
10115
10116 finish:
10117         _COREGL_TRACEPATH_FUNC_END("end");
10118 }
10119
10120 void
10121 tracepath_glTexParameterIuivOES(GLenum target, GLenum pname,
10122                                                                 const GLuint *params)
10123 {
10124         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(target),
10125                                                                 _get_value(pname), params);
10126         _orig_tracepath_glTexParameterIuivOES(target, pname, params);
10127         goto finish;
10128
10129 finish:
10130         _COREGL_TRACEPATH_FUNC_END("end");
10131 }
10132
10133 void
10134 tracepath_glGetTexParameterIivOES(GLenum target, GLenum pname, GLint *params)
10135 {
10136         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(target),
10137                                                                 _get_value(pname), params);
10138         _orig_tracepath_glGetTexParameterIivOES(target, pname, params);
10139         goto finish;
10140
10141 finish:
10142         _COREGL_TRACEPATH_FUNC_END("end");
10143 }
10144
10145 void
10146 tracepath_glGetSamplerParameterIivEXT(GLuint sampler, GLenum pname,
10147                                                                           GLint *params)
10148 {
10149         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %p)", sampler, _get_value(pname), params);
10150         _orig_tracepath_glGetSamplerParameterIivEXT(sampler, pname, params);
10151         goto finish;
10152
10153 finish:
10154         _COREGL_TRACEPATH_FUNC_END("end");
10155 }
10156
10157 void
10158 tracepath_glGetSamplerParameterIuivEXT(GLuint sampler, GLenum pname,
10159                                                                            GLuint *params)
10160 {
10161         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %p)", sampler, _get_value(pname), params);
10162         _orig_tracepath_glGetSamplerParameterIuivEXT(sampler, pname, params);
10163         goto finish;
10164
10165 finish:
10166         _COREGL_TRACEPATH_FUNC_END("end");
10167 }
10168
10169 void
10170 tracepath_glSamplerParameterIivEXT(GLuint sampler, GLenum pname,
10171                                                                    const GLint *param)
10172 {
10173         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %p)", sampler, _get_value(pname), param);
10174         _orig_tracepath_glSamplerParameterIivEXT(sampler, pname, param);
10175         goto finish;
10176
10177 finish:
10178         _COREGL_TRACEPATH_FUNC_END("end");
10179 }
10180
10181 void
10182 tracepath_glFramebufferTextureEXT(GLenum target, GLenum attachment,
10183                                                                   GLuint texture, GLint level)
10184 {
10185         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %d, %d)", _get_value(target),
10186                                                                 _get_value(attachment), texture, level);
10187
10188 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
10189         tracepath_fbdump_update(0);
10190 #endif
10191
10192         _orig_tracepath_glFramebufferTextureEXT(target, attachment, texture, level);
10193
10194 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
10195         tracepath_fbdump_update(1);
10196 #endif
10197
10198         goto finish;
10199
10200 finish:
10201         _COREGL_TRACEPATH_FUNC_END("end");
10202 }
10203
10204 void
10205 tracepath_glTexBufferRangeEXT(GLenum target, GLenum internalformat,
10206                                                           GLuint buffer, GLintptr offset, GLsizeiptr size)
10207 {
10208         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %d, %ld, %ld)", _get_value(target),
10209                                                                 _get_value(internalformat), buffer, offset, size);
10210         _orig_tracepath_glTexBufferRangeEXT(target, internalformat, buffer, offset,
10211                                                                                 size);
10212         goto finish;
10213
10214 finish:
10215         _COREGL_TRACEPATH_FUNC_END("end");
10216 }
10217
10218 void
10219 tracepath_glSamplerParameterIuivEXT(GLuint sampler, GLenum pname,
10220                                                                         const GLuint *param)
10221 {
10222         _COREGL_TRACEPATH_FUNC_BEGIN("(%d, %s, %p)", sampler, _get_value(pname), param);
10223         _orig_tracepath_glSamplerParameterIuivEXT(sampler, pname, param);
10224         goto finish;
10225
10226 finish:
10227         _COREGL_TRACEPATH_FUNC_END("end");
10228 }
10229
10230 void
10231 tracepath_glGetTexParameterIuivEXT(GLenum target, GLenum pname, GLuint *params)
10232 {
10233         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(target), _get_value(pname), params);
10234         _orig_tracepath_glGetTexParameterIuivEXT(target, pname, params);
10235         goto finish;
10236
10237 finish:
10238         _COREGL_TRACEPATH_FUNC_END("end");
10239 }
10240
10241 void
10242 tracepath_glGetTexParameterIivEXT(GLenum target, GLenum pname, GLint *params)
10243 {
10244         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(target), _get_value(pname), params);
10245         _orig_tracepath_glGetTexParameterIivEXT(target, pname, params);
10246         goto finish;
10247
10248 finish:
10249         _COREGL_TRACEPATH_FUNC_END("end");
10250 }
10251
10252 void
10253 tracepath_glPatchParameteriEXT(GLenum pname, GLint value)
10254 {
10255         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %d)", _get_value(pname), value);
10256         _orig_tracepath_glPatchParameteriEXT(pname, value);
10257         goto finish;
10258
10259 finish:
10260         _COREGL_TRACEPATH_FUNC_END("end");
10261 }
10262
10263 void
10264 tracepath_glTexParameterIivEXT(GLenum target, GLenum pname, const GLint *params)
10265 {
10266         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(target),
10267                                                                 _get_value(pname), params);
10268         _orig_tracepath_glTexParameterIivEXT(target, pname, params);
10269         goto finish;
10270
10271 finish:
10272         _COREGL_TRACEPATH_FUNC_END("end");
10273 }
10274
10275 void
10276 tracepath_glTexParameterIuivEXT(GLenum target, GLenum pname,
10277                                                                 const GLuint *params)
10278 {
10279         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %p)", _get_value(target), _get_value(pname), params);
10280         _orig_tracepath_glTexParameterIuivEXT(target, pname, params);
10281         goto finish;
10282
10283 finish:
10284         _COREGL_TRACEPATH_FUNC_END("end");
10285 }
10286 void
10287 tracepath_glTexBufferEXT(GLenum target, GLenum internalformat, GLuint buffer)
10288 {
10289         _COREGL_TRACEPATH_FUNC_BEGIN("(%s, %s, %d)", _get_value(target), _get_value(internalformat), buffer);
10290         _orig_tracepath_glTexBufferOES(target, internalformat, buffer);
10291
10292         goto finish;
10293
10294 finish:
10295         _COREGL_TRACEPATH_FUNC_END("end");
10296 }
10297
10298 void
10299 tracepath_glFramebufferTextureMultiviewOVR(GLenum target, GLenum attachment,
10300                    GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews)
10301 {
10302         _COREGL_TRACEPATH_FUNC_BEGIN("target[%s], attachment[%s], texture[%d], level[%d],\
10303                                          baseViewIndex[%d], numViews[%d]", _get_value(target),
10304                                          _get_value(attachment), texture, level, baseViewIndex, numViews);
10305         _orig_tracepath_glFramebufferTextureMultiviewOVR(target, attachment, texture, level,
10306                                                              baseViewIndex, numViews);
10307         goto finish;
10308
10309 finish:
10310         _COREGL_TRACEPATH_FUNC_END("end");
10311 }
10312
10313 void
10314 tracepath_glFramebufferTextureMultisampleMultiviewOVR(GLenum target,
10315                    GLenum attachment, GLuint texture, GLint level, GLsizei samples,
10316                    GLint baseViewIndex, GLsizei numViews)
10317 {
10318         _COREGL_TRACEPATH_FUNC_BEGIN("target[%s], attachment[%s], texture[%d], level[%d],\
10319                                          samples[%d], baseViewIndex[%d], numViews[%d]", _get_value(target),
10320                                          _get_value(attachment), texture, level,
10321                                          samples, baseViewIndex, numViews);
10322         _orig_tracepath_glFramebufferTextureMultisampleMultiviewOVR(target, attachment, texture, level,
10323                                                                         samples, baseViewIndex, numViews);
10324         goto finish;
10325
10326 finish:
10327         _COREGL_TRACEPATH_FUNC_END("end");
10328 }