• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Generated Code - DO NOT EDIT !!
2 // generated by 'emugen'
3 
4 
5 #include <vector>
6 #include <string.h>
7 #include "gl_opcodes.h"
8 
9 #include "gl_enc.h"
10 
11 
12 #include <stdio.h>
13 
14 namespace {
15 
enc_unsupported()16 void enc_unsupported()
17 {
18 	ALOGE("Function is unsupported\n");
19 }
20 
glAlphaFunc_enc(void * self,GLenum func,GLclampf ref)21 void glAlphaFunc_enc(void *self , GLenum func, GLclampf ref)
22 {
23 
24 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
25 	IOStream *stream = ctx->m_stream;
26 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
27 	bool useChecksum = checksumCalculator->getVersion() > 0;
28 
29 	 unsigned char *ptr;
30 	 unsigned char *buf;
31 	 const size_t sizeWithoutChecksum = 8 + 4 + 4;
32 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
33 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
34 	buf = stream->alloc(totalSize);
35 	ptr = buf;
36 	int tmp = OP_glAlphaFunc;memcpy(ptr, &tmp, 4); ptr += 4;
37 	memcpy(ptr, &totalSize, 4);  ptr += 4;
38 
39 		memcpy(ptr, &func, 4); ptr += 4;
40 		memcpy(ptr, &ref, 4); ptr += 4;
41 
42 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
43 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
44 
45 }
46 
glClearColor_enc(void * self,GLclampf red,GLclampf green,GLclampf blue,GLclampf alpha)47 void glClearColor_enc(void *self , GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
48 {
49 
50 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
51 	IOStream *stream = ctx->m_stream;
52 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
53 	bool useChecksum = checksumCalculator->getVersion() > 0;
54 
55 	 unsigned char *ptr;
56 	 unsigned char *buf;
57 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4;
58 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
59 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
60 	buf = stream->alloc(totalSize);
61 	ptr = buf;
62 	int tmp = OP_glClearColor;memcpy(ptr, &tmp, 4); ptr += 4;
63 	memcpy(ptr, &totalSize, 4);  ptr += 4;
64 
65 		memcpy(ptr, &red, 4); ptr += 4;
66 		memcpy(ptr, &green, 4); ptr += 4;
67 		memcpy(ptr, &blue, 4); ptr += 4;
68 		memcpy(ptr, &alpha, 4); ptr += 4;
69 
70 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
71 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
72 
73 }
74 
glClearDepthf_enc(void * self,GLclampf depth)75 void glClearDepthf_enc(void *self , GLclampf depth)
76 {
77 
78 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
79 	IOStream *stream = ctx->m_stream;
80 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
81 	bool useChecksum = checksumCalculator->getVersion() > 0;
82 
83 	 unsigned char *ptr;
84 	 unsigned char *buf;
85 	 const size_t sizeWithoutChecksum = 8 + 4;
86 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
87 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
88 	buf = stream->alloc(totalSize);
89 	ptr = buf;
90 	int tmp = OP_glClearDepthf;memcpy(ptr, &tmp, 4); ptr += 4;
91 	memcpy(ptr, &totalSize, 4);  ptr += 4;
92 
93 		memcpy(ptr, &depth, 4); ptr += 4;
94 
95 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
96 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
97 
98 }
99 
glClipPlanef_enc(void * self,GLenum plane,const GLfloat * equation)100 void glClipPlanef_enc(void *self , GLenum plane, const GLfloat* equation)
101 {
102 
103 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
104 	IOStream *stream = ctx->m_stream;
105 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
106 	bool useChecksum = checksumCalculator->getVersion() > 0;
107 
108 	const unsigned int __size_equation =  (4 * sizeof(float));
109 	 unsigned char *ptr;
110 	 unsigned char *buf;
111 	 const size_t sizeWithoutChecksum = 8 + 4 + __size_equation + 1*4;
112 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
113 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
114 	buf = stream->alloc(totalSize);
115 	ptr = buf;
116 	int tmp = OP_glClipPlanef;memcpy(ptr, &tmp, 4); ptr += 4;
117 	memcpy(ptr, &totalSize, 4);  ptr += 4;
118 
119 		memcpy(ptr, &plane, 4); ptr += 4;
120 	*(unsigned int *)(ptr) = __size_equation; ptr += 4;
121 	memcpy(ptr, equation, __size_equation);ptr += __size_equation;
122 
123 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
124 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
125 
126 }
127 
glColor4f_enc(void * self,GLfloat red,GLfloat green,GLfloat blue,GLfloat alpha)128 void glColor4f_enc(void *self , GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
129 {
130 
131 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
132 	IOStream *stream = ctx->m_stream;
133 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
134 	bool useChecksum = checksumCalculator->getVersion() > 0;
135 
136 	 unsigned char *ptr;
137 	 unsigned char *buf;
138 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4;
139 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
140 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
141 	buf = stream->alloc(totalSize);
142 	ptr = buf;
143 	int tmp = OP_glColor4f;memcpy(ptr, &tmp, 4); ptr += 4;
144 	memcpy(ptr, &totalSize, 4);  ptr += 4;
145 
146 		memcpy(ptr, &red, 4); ptr += 4;
147 		memcpy(ptr, &green, 4); ptr += 4;
148 		memcpy(ptr, &blue, 4); ptr += 4;
149 		memcpy(ptr, &alpha, 4); ptr += 4;
150 
151 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
152 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
153 
154 }
155 
glDepthRangef_enc(void * self,GLclampf zNear,GLclampf zFar)156 void glDepthRangef_enc(void *self , GLclampf zNear, GLclampf zFar)
157 {
158 
159 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
160 	IOStream *stream = ctx->m_stream;
161 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
162 	bool useChecksum = checksumCalculator->getVersion() > 0;
163 
164 	 unsigned char *ptr;
165 	 unsigned char *buf;
166 	 const size_t sizeWithoutChecksum = 8 + 4 + 4;
167 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
168 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
169 	buf = stream->alloc(totalSize);
170 	ptr = buf;
171 	int tmp = OP_glDepthRangef;memcpy(ptr, &tmp, 4); ptr += 4;
172 	memcpy(ptr, &totalSize, 4);  ptr += 4;
173 
174 		memcpy(ptr, &zNear, 4); ptr += 4;
175 		memcpy(ptr, &zFar, 4); ptr += 4;
176 
177 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
178 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
179 
180 }
181 
glFogf_enc(void * self,GLenum pname,GLfloat param)182 void glFogf_enc(void *self , GLenum pname, GLfloat param)
183 {
184 
185 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
186 	IOStream *stream = ctx->m_stream;
187 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
188 	bool useChecksum = checksumCalculator->getVersion() > 0;
189 
190 	 unsigned char *ptr;
191 	 unsigned char *buf;
192 	 const size_t sizeWithoutChecksum = 8 + 4 + 4;
193 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
194 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
195 	buf = stream->alloc(totalSize);
196 	ptr = buf;
197 	int tmp = OP_glFogf;memcpy(ptr, &tmp, 4); ptr += 4;
198 	memcpy(ptr, &totalSize, 4);  ptr += 4;
199 
200 		memcpy(ptr, &pname, 4); ptr += 4;
201 		memcpy(ptr, &param, 4); ptr += 4;
202 
203 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
204 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
205 
206 }
207 
glFogfv_enc(void * self,GLenum pname,const GLfloat * params)208 void glFogfv_enc(void *self , GLenum pname, const GLfloat* params)
209 {
210 
211 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
212 	IOStream *stream = ctx->m_stream;
213 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
214 	bool useChecksum = checksumCalculator->getVersion() > 0;
215 
216 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLfloat));
217 	 unsigned char *ptr;
218 	 unsigned char *buf;
219 	 const size_t sizeWithoutChecksum = 8 + 4 + __size_params + 1*4;
220 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
221 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
222 	buf = stream->alloc(totalSize);
223 	ptr = buf;
224 	int tmp = OP_glFogfv;memcpy(ptr, &tmp, 4); ptr += 4;
225 	memcpy(ptr, &totalSize, 4);  ptr += 4;
226 
227 		memcpy(ptr, &pname, 4); ptr += 4;
228 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
229 	memcpy(ptr, params, __size_params);ptr += __size_params;
230 
231 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
232 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
233 
234 }
235 
glFrustumf_enc(void * self,GLfloat left,GLfloat right,GLfloat bottom,GLfloat top,GLfloat zNear,GLfloat zFar)236 void glFrustumf_enc(void *self , GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar)
237 {
238 
239 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
240 	IOStream *stream = ctx->m_stream;
241 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
242 	bool useChecksum = checksumCalculator->getVersion() > 0;
243 
244 	 unsigned char *ptr;
245 	 unsigned char *buf;
246 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4 + 4 + 4;
247 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
248 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
249 	buf = stream->alloc(totalSize);
250 	ptr = buf;
251 	int tmp = OP_glFrustumf;memcpy(ptr, &tmp, 4); ptr += 4;
252 	memcpy(ptr, &totalSize, 4);  ptr += 4;
253 
254 		memcpy(ptr, &left, 4); ptr += 4;
255 		memcpy(ptr, &right, 4); ptr += 4;
256 		memcpy(ptr, &bottom, 4); ptr += 4;
257 		memcpy(ptr, &top, 4); ptr += 4;
258 		memcpy(ptr, &zNear, 4); ptr += 4;
259 		memcpy(ptr, &zFar, 4); ptr += 4;
260 
261 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
262 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
263 
264 }
265 
glGetClipPlanef_enc(void * self,GLenum pname,GLfloat * eqn)266 void glGetClipPlanef_enc(void *self , GLenum pname, GLfloat* eqn)
267 {
268 
269 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
270 	IOStream *stream = ctx->m_stream;
271 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
272 	bool useChecksum = checksumCalculator->getVersion() > 0;
273 
274 	const unsigned int __size_eqn =  (4 * sizeof(GLfloat));
275 	 unsigned char *ptr;
276 	 unsigned char *buf;
277 	 const size_t sizeWithoutChecksum = 8 + 4 + __size_eqn + 1*4;
278 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
279 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
280 	buf = stream->alloc(totalSize);
281 	ptr = buf;
282 	int tmp = OP_glGetClipPlanef;memcpy(ptr, &tmp, 4); ptr += 4;
283 	memcpy(ptr, &totalSize, 4);  ptr += 4;
284 
285 		memcpy(ptr, &pname, 4); ptr += 4;
286 	*(unsigned int *)(ptr) = __size_eqn; ptr += 4;
287 
288 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
289 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
290 
291 	stream->readback(eqn, __size_eqn);
292 	if (useChecksum) checksumCalculator->addBuffer(eqn, __size_eqn);
293 	if (useChecksum) {
294 		unsigned char *checksumBufPtr = NULL;
295 		std::vector<unsigned char> checksumBuf(checksumSize);
296 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
297 		stream->readback(checksumBufPtr, checksumSize);
298 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
299 			ALOGE("glGetClipPlanef: GL communication error, please report this issue to b.android.com.\n");
300 			abort();
301 		}
302 	}
303 }
304 
glGetFloatv_enc(void * self,GLenum pname,GLfloat * params)305 void glGetFloatv_enc(void *self , GLenum pname, GLfloat* params)
306 {
307 
308 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
309 	IOStream *stream = ctx->m_stream;
310 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
311 	bool useChecksum = checksumCalculator->getVersion() > 0;
312 
313 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLfloat));
314 	 unsigned char *ptr;
315 	 unsigned char *buf;
316 	 const size_t sizeWithoutChecksum = 8 + 4 + __size_params + 1*4;
317 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
318 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
319 	buf = stream->alloc(totalSize);
320 	ptr = buf;
321 	int tmp = OP_glGetFloatv;memcpy(ptr, &tmp, 4); ptr += 4;
322 	memcpy(ptr, &totalSize, 4);  ptr += 4;
323 
324 		memcpy(ptr, &pname, 4); ptr += 4;
325 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
326 
327 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
328 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
329 
330 	stream->readback(params, __size_params);
331 	if (useChecksum) checksumCalculator->addBuffer(params, __size_params);
332 	if (useChecksum) {
333 		unsigned char *checksumBufPtr = NULL;
334 		std::vector<unsigned char> checksumBuf(checksumSize);
335 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
336 		stream->readback(checksumBufPtr, checksumSize);
337 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
338 			ALOGE("glGetFloatv: GL communication error, please report this issue to b.android.com.\n");
339 			abort();
340 		}
341 	}
342 }
343 
glGetLightfv_enc(void * self,GLenum light,GLenum pname,GLfloat * params)344 void glGetLightfv_enc(void *self , GLenum light, GLenum pname, GLfloat* params)
345 {
346 
347 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
348 	IOStream *stream = ctx->m_stream;
349 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
350 	bool useChecksum = checksumCalculator->getVersion() > 0;
351 
352 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLfloat));
353 	 unsigned char *ptr;
354 	 unsigned char *buf;
355 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + __size_params + 1*4;
356 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
357 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
358 	buf = stream->alloc(totalSize);
359 	ptr = buf;
360 	int tmp = OP_glGetLightfv;memcpy(ptr, &tmp, 4); ptr += 4;
361 	memcpy(ptr, &totalSize, 4);  ptr += 4;
362 
363 		memcpy(ptr, &light, 4); ptr += 4;
364 		memcpy(ptr, &pname, 4); ptr += 4;
365 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
366 
367 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
368 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
369 
370 	stream->readback(params, __size_params);
371 	if (useChecksum) checksumCalculator->addBuffer(params, __size_params);
372 	if (useChecksum) {
373 		unsigned char *checksumBufPtr = NULL;
374 		std::vector<unsigned char> checksumBuf(checksumSize);
375 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
376 		stream->readback(checksumBufPtr, checksumSize);
377 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
378 			ALOGE("glGetLightfv: GL communication error, please report this issue to b.android.com.\n");
379 			abort();
380 		}
381 	}
382 }
383 
glGetMaterialfv_enc(void * self,GLenum face,GLenum pname,GLfloat * params)384 void glGetMaterialfv_enc(void *self , GLenum face, GLenum pname, GLfloat* params)
385 {
386 
387 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
388 	IOStream *stream = ctx->m_stream;
389 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
390 	bool useChecksum = checksumCalculator->getVersion() > 0;
391 
392 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLfloat));
393 	 unsigned char *ptr;
394 	 unsigned char *buf;
395 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + __size_params + 1*4;
396 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
397 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
398 	buf = stream->alloc(totalSize);
399 	ptr = buf;
400 	int tmp = OP_glGetMaterialfv;memcpy(ptr, &tmp, 4); ptr += 4;
401 	memcpy(ptr, &totalSize, 4);  ptr += 4;
402 
403 		memcpy(ptr, &face, 4); ptr += 4;
404 		memcpy(ptr, &pname, 4); ptr += 4;
405 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
406 
407 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
408 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
409 
410 	stream->readback(params, __size_params);
411 	if (useChecksum) checksumCalculator->addBuffer(params, __size_params);
412 	if (useChecksum) {
413 		unsigned char *checksumBufPtr = NULL;
414 		std::vector<unsigned char> checksumBuf(checksumSize);
415 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
416 		stream->readback(checksumBufPtr, checksumSize);
417 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
418 			ALOGE("glGetMaterialfv: GL communication error, please report this issue to b.android.com.\n");
419 			abort();
420 		}
421 	}
422 }
423 
glGetTexEnvfv_enc(void * self,GLenum env,GLenum pname,GLfloat * params)424 void glGetTexEnvfv_enc(void *self , GLenum env, GLenum pname, GLfloat* params)
425 {
426 
427 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
428 	IOStream *stream = ctx->m_stream;
429 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
430 	bool useChecksum = checksumCalculator->getVersion() > 0;
431 
432 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLfloat));
433 	 unsigned char *ptr;
434 	 unsigned char *buf;
435 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + __size_params + 1*4;
436 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
437 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
438 	buf = stream->alloc(totalSize);
439 	ptr = buf;
440 	int tmp = OP_glGetTexEnvfv;memcpy(ptr, &tmp, 4); ptr += 4;
441 	memcpy(ptr, &totalSize, 4);  ptr += 4;
442 
443 		memcpy(ptr, &env, 4); ptr += 4;
444 		memcpy(ptr, &pname, 4); ptr += 4;
445 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
446 
447 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
448 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
449 
450 	stream->readback(params, __size_params);
451 	if (useChecksum) checksumCalculator->addBuffer(params, __size_params);
452 	if (useChecksum) {
453 		unsigned char *checksumBufPtr = NULL;
454 		std::vector<unsigned char> checksumBuf(checksumSize);
455 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
456 		stream->readback(checksumBufPtr, checksumSize);
457 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
458 			ALOGE("glGetTexEnvfv: GL communication error, please report this issue to b.android.com.\n");
459 			abort();
460 		}
461 	}
462 }
463 
glGetTexParameterfv_enc(void * self,GLenum target,GLenum pname,GLfloat * params)464 void glGetTexParameterfv_enc(void *self , GLenum target, GLenum pname, GLfloat* params)
465 {
466 
467 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
468 	IOStream *stream = ctx->m_stream;
469 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
470 	bool useChecksum = checksumCalculator->getVersion() > 0;
471 
472 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLfloat));
473 	 unsigned char *ptr;
474 	 unsigned char *buf;
475 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + __size_params + 1*4;
476 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
477 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
478 	buf = stream->alloc(totalSize);
479 	ptr = buf;
480 	int tmp = OP_glGetTexParameterfv;memcpy(ptr, &tmp, 4); ptr += 4;
481 	memcpy(ptr, &totalSize, 4);  ptr += 4;
482 
483 		memcpy(ptr, &target, 4); ptr += 4;
484 		memcpy(ptr, &pname, 4); ptr += 4;
485 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
486 
487 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
488 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
489 
490 	stream->readback(params, __size_params);
491 	if (useChecksum) checksumCalculator->addBuffer(params, __size_params);
492 	if (useChecksum) {
493 		unsigned char *checksumBufPtr = NULL;
494 		std::vector<unsigned char> checksumBuf(checksumSize);
495 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
496 		stream->readback(checksumBufPtr, checksumSize);
497 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
498 			ALOGE("glGetTexParameterfv: GL communication error, please report this issue to b.android.com.\n");
499 			abort();
500 		}
501 	}
502 }
503 
glLightModelf_enc(void * self,GLenum pname,GLfloat param)504 void glLightModelf_enc(void *self , GLenum pname, GLfloat param)
505 {
506 
507 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
508 	IOStream *stream = ctx->m_stream;
509 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
510 	bool useChecksum = checksumCalculator->getVersion() > 0;
511 
512 	 unsigned char *ptr;
513 	 unsigned char *buf;
514 	 const size_t sizeWithoutChecksum = 8 + 4 + 4;
515 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
516 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
517 	buf = stream->alloc(totalSize);
518 	ptr = buf;
519 	int tmp = OP_glLightModelf;memcpy(ptr, &tmp, 4); ptr += 4;
520 	memcpy(ptr, &totalSize, 4);  ptr += 4;
521 
522 		memcpy(ptr, &pname, 4); ptr += 4;
523 		memcpy(ptr, &param, 4); ptr += 4;
524 
525 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
526 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
527 
528 }
529 
glLightModelfv_enc(void * self,GLenum pname,const GLfloat * params)530 void glLightModelfv_enc(void *self , GLenum pname, const GLfloat* params)
531 {
532 
533 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
534 	IOStream *stream = ctx->m_stream;
535 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
536 	bool useChecksum = checksumCalculator->getVersion() > 0;
537 
538 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLfloat));
539 	 unsigned char *ptr;
540 	 unsigned char *buf;
541 	 const size_t sizeWithoutChecksum = 8 + 4 + __size_params + 1*4;
542 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
543 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
544 	buf = stream->alloc(totalSize);
545 	ptr = buf;
546 	int tmp = OP_glLightModelfv;memcpy(ptr, &tmp, 4); ptr += 4;
547 	memcpy(ptr, &totalSize, 4);  ptr += 4;
548 
549 		memcpy(ptr, &pname, 4); ptr += 4;
550 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
551 	memcpy(ptr, params, __size_params);ptr += __size_params;
552 
553 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
554 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
555 
556 }
557 
glLightf_enc(void * self,GLenum light,GLenum pname,GLfloat param)558 void glLightf_enc(void *self , GLenum light, GLenum pname, GLfloat param)
559 {
560 
561 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
562 	IOStream *stream = ctx->m_stream;
563 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
564 	bool useChecksum = checksumCalculator->getVersion() > 0;
565 
566 	 unsigned char *ptr;
567 	 unsigned char *buf;
568 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4;
569 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
570 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
571 	buf = stream->alloc(totalSize);
572 	ptr = buf;
573 	int tmp = OP_glLightf;memcpy(ptr, &tmp, 4); ptr += 4;
574 	memcpy(ptr, &totalSize, 4);  ptr += 4;
575 
576 		memcpy(ptr, &light, 4); ptr += 4;
577 		memcpy(ptr, &pname, 4); ptr += 4;
578 		memcpy(ptr, &param, 4); ptr += 4;
579 
580 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
581 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
582 
583 }
584 
glLightfv_enc(void * self,GLenum light,GLenum pname,const GLfloat * params)585 void glLightfv_enc(void *self , GLenum light, GLenum pname, const GLfloat* params)
586 {
587 
588 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
589 	IOStream *stream = ctx->m_stream;
590 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
591 	bool useChecksum = checksumCalculator->getVersion() > 0;
592 
593 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLfloat));
594 	 unsigned char *ptr;
595 	 unsigned char *buf;
596 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + __size_params + 1*4;
597 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
598 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
599 	buf = stream->alloc(totalSize);
600 	ptr = buf;
601 	int tmp = OP_glLightfv;memcpy(ptr, &tmp, 4); ptr += 4;
602 	memcpy(ptr, &totalSize, 4);  ptr += 4;
603 
604 		memcpy(ptr, &light, 4); ptr += 4;
605 		memcpy(ptr, &pname, 4); ptr += 4;
606 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
607 	memcpy(ptr, params, __size_params);ptr += __size_params;
608 
609 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
610 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
611 
612 }
613 
glLineWidth_enc(void * self,GLfloat width)614 void glLineWidth_enc(void *self , GLfloat width)
615 {
616 
617 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
618 	IOStream *stream = ctx->m_stream;
619 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
620 	bool useChecksum = checksumCalculator->getVersion() > 0;
621 
622 	 unsigned char *ptr;
623 	 unsigned char *buf;
624 	 const size_t sizeWithoutChecksum = 8 + 4;
625 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
626 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
627 	buf = stream->alloc(totalSize);
628 	ptr = buf;
629 	int tmp = OP_glLineWidth;memcpy(ptr, &tmp, 4); ptr += 4;
630 	memcpy(ptr, &totalSize, 4);  ptr += 4;
631 
632 		memcpy(ptr, &width, 4); ptr += 4;
633 
634 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
635 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
636 
637 }
638 
glLoadMatrixf_enc(void * self,const GLfloat * m)639 void glLoadMatrixf_enc(void *self , const GLfloat* m)
640 {
641 
642 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
643 	IOStream *stream = ctx->m_stream;
644 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
645 	bool useChecksum = checksumCalculator->getVersion() > 0;
646 
647 	const unsigned int __size_m =  (16 * sizeof(GLfloat));
648 	 unsigned char *ptr;
649 	 unsigned char *buf;
650 	 const size_t sizeWithoutChecksum = 8 + __size_m + 1*4;
651 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
652 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
653 	buf = stream->alloc(totalSize);
654 	ptr = buf;
655 	int tmp = OP_glLoadMatrixf;memcpy(ptr, &tmp, 4); ptr += 4;
656 	memcpy(ptr, &totalSize, 4);  ptr += 4;
657 
658 	*(unsigned int *)(ptr) = __size_m; ptr += 4;
659 	memcpy(ptr, m, __size_m);ptr += __size_m;
660 
661 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
662 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
663 
664 }
665 
glMaterialf_enc(void * self,GLenum face,GLenum pname,GLfloat param)666 void glMaterialf_enc(void *self , GLenum face, GLenum pname, GLfloat param)
667 {
668 
669 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
670 	IOStream *stream = ctx->m_stream;
671 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
672 	bool useChecksum = checksumCalculator->getVersion() > 0;
673 
674 	 unsigned char *ptr;
675 	 unsigned char *buf;
676 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4;
677 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
678 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
679 	buf = stream->alloc(totalSize);
680 	ptr = buf;
681 	int tmp = OP_glMaterialf;memcpy(ptr, &tmp, 4); ptr += 4;
682 	memcpy(ptr, &totalSize, 4);  ptr += 4;
683 
684 		memcpy(ptr, &face, 4); ptr += 4;
685 		memcpy(ptr, &pname, 4); ptr += 4;
686 		memcpy(ptr, &param, 4); ptr += 4;
687 
688 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
689 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
690 
691 }
692 
glMaterialfv_enc(void * self,GLenum face,GLenum pname,const GLfloat * params)693 void glMaterialfv_enc(void *self , GLenum face, GLenum pname, const GLfloat* params)
694 {
695 
696 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
697 	IOStream *stream = ctx->m_stream;
698 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
699 	bool useChecksum = checksumCalculator->getVersion() > 0;
700 
701 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLfloat));
702 	 unsigned char *ptr;
703 	 unsigned char *buf;
704 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + __size_params + 1*4;
705 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
706 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
707 	buf = stream->alloc(totalSize);
708 	ptr = buf;
709 	int tmp = OP_glMaterialfv;memcpy(ptr, &tmp, 4); ptr += 4;
710 	memcpy(ptr, &totalSize, 4);  ptr += 4;
711 
712 		memcpy(ptr, &face, 4); ptr += 4;
713 		memcpy(ptr, &pname, 4); ptr += 4;
714 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
715 	memcpy(ptr, params, __size_params);ptr += __size_params;
716 
717 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
718 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
719 
720 }
721 
glMultMatrixf_enc(void * self,const GLfloat * m)722 void glMultMatrixf_enc(void *self , const GLfloat* m)
723 {
724 
725 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
726 	IOStream *stream = ctx->m_stream;
727 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
728 	bool useChecksum = checksumCalculator->getVersion() > 0;
729 
730 	const unsigned int __size_m =  (16 * sizeof(GLfloat));
731 	 unsigned char *ptr;
732 	 unsigned char *buf;
733 	 const size_t sizeWithoutChecksum = 8 + __size_m + 1*4;
734 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
735 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
736 	buf = stream->alloc(totalSize);
737 	ptr = buf;
738 	int tmp = OP_glMultMatrixf;memcpy(ptr, &tmp, 4); ptr += 4;
739 	memcpy(ptr, &totalSize, 4);  ptr += 4;
740 
741 	*(unsigned int *)(ptr) = __size_m; ptr += 4;
742 	memcpy(ptr, m, __size_m);ptr += __size_m;
743 
744 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
745 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
746 
747 }
748 
glMultiTexCoord4f_enc(void * self,GLenum target,GLfloat s,GLfloat t,GLfloat r,GLfloat q)749 void glMultiTexCoord4f_enc(void *self , GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q)
750 {
751 
752 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
753 	IOStream *stream = ctx->m_stream;
754 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
755 	bool useChecksum = checksumCalculator->getVersion() > 0;
756 
757 	 unsigned char *ptr;
758 	 unsigned char *buf;
759 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4 + 4;
760 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
761 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
762 	buf = stream->alloc(totalSize);
763 	ptr = buf;
764 	int tmp = OP_glMultiTexCoord4f;memcpy(ptr, &tmp, 4); ptr += 4;
765 	memcpy(ptr, &totalSize, 4);  ptr += 4;
766 
767 		memcpy(ptr, &target, 4); ptr += 4;
768 		memcpy(ptr, &s, 4); ptr += 4;
769 		memcpy(ptr, &t, 4); ptr += 4;
770 		memcpy(ptr, &r, 4); ptr += 4;
771 		memcpy(ptr, &q, 4); ptr += 4;
772 
773 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
774 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
775 
776 }
777 
glNormal3f_enc(void * self,GLfloat nx,GLfloat ny,GLfloat nz)778 void glNormal3f_enc(void *self , GLfloat nx, GLfloat ny, GLfloat nz)
779 {
780 
781 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
782 	IOStream *stream = ctx->m_stream;
783 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
784 	bool useChecksum = checksumCalculator->getVersion() > 0;
785 
786 	 unsigned char *ptr;
787 	 unsigned char *buf;
788 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4;
789 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
790 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
791 	buf = stream->alloc(totalSize);
792 	ptr = buf;
793 	int tmp = OP_glNormal3f;memcpy(ptr, &tmp, 4); ptr += 4;
794 	memcpy(ptr, &totalSize, 4);  ptr += 4;
795 
796 		memcpy(ptr, &nx, 4); ptr += 4;
797 		memcpy(ptr, &ny, 4); ptr += 4;
798 		memcpy(ptr, &nz, 4); ptr += 4;
799 
800 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
801 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
802 
803 }
804 
glOrthof_enc(void * self,GLfloat left,GLfloat right,GLfloat bottom,GLfloat top,GLfloat zNear,GLfloat zFar)805 void glOrthof_enc(void *self , GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar)
806 {
807 
808 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
809 	IOStream *stream = ctx->m_stream;
810 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
811 	bool useChecksum = checksumCalculator->getVersion() > 0;
812 
813 	 unsigned char *ptr;
814 	 unsigned char *buf;
815 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4 + 4 + 4;
816 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
817 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
818 	buf = stream->alloc(totalSize);
819 	ptr = buf;
820 	int tmp = OP_glOrthof;memcpy(ptr, &tmp, 4); ptr += 4;
821 	memcpy(ptr, &totalSize, 4);  ptr += 4;
822 
823 		memcpy(ptr, &left, 4); ptr += 4;
824 		memcpy(ptr, &right, 4); ptr += 4;
825 		memcpy(ptr, &bottom, 4); ptr += 4;
826 		memcpy(ptr, &top, 4); ptr += 4;
827 		memcpy(ptr, &zNear, 4); ptr += 4;
828 		memcpy(ptr, &zFar, 4); ptr += 4;
829 
830 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
831 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
832 
833 }
834 
glPointParameterf_enc(void * self,GLenum pname,GLfloat param)835 void glPointParameterf_enc(void *self , GLenum pname, GLfloat param)
836 {
837 
838 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
839 	IOStream *stream = ctx->m_stream;
840 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
841 	bool useChecksum = checksumCalculator->getVersion() > 0;
842 
843 	 unsigned char *ptr;
844 	 unsigned char *buf;
845 	 const size_t sizeWithoutChecksum = 8 + 4 + 4;
846 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
847 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
848 	buf = stream->alloc(totalSize);
849 	ptr = buf;
850 	int tmp = OP_glPointParameterf;memcpy(ptr, &tmp, 4); ptr += 4;
851 	memcpy(ptr, &totalSize, 4);  ptr += 4;
852 
853 		memcpy(ptr, &pname, 4); ptr += 4;
854 		memcpy(ptr, &param, 4); ptr += 4;
855 
856 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
857 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
858 
859 }
860 
glPointParameterfv_enc(void * self,GLenum pname,const GLfloat * params)861 void glPointParameterfv_enc(void *self , GLenum pname, const GLfloat* params)
862 {
863 
864 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
865 	IOStream *stream = ctx->m_stream;
866 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
867 	bool useChecksum = checksumCalculator->getVersion() > 0;
868 
869 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLfloat));
870 	 unsigned char *ptr;
871 	 unsigned char *buf;
872 	 const size_t sizeWithoutChecksum = 8 + 4 + __size_params + 1*4;
873 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
874 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
875 	buf = stream->alloc(totalSize);
876 	ptr = buf;
877 	int tmp = OP_glPointParameterfv;memcpy(ptr, &tmp, 4); ptr += 4;
878 	memcpy(ptr, &totalSize, 4);  ptr += 4;
879 
880 		memcpy(ptr, &pname, 4); ptr += 4;
881 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
882 	memcpy(ptr, params, __size_params);ptr += __size_params;
883 
884 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
885 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
886 
887 }
888 
glPointSize_enc(void * self,GLfloat size)889 void glPointSize_enc(void *self , GLfloat size)
890 {
891 
892 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
893 	IOStream *stream = ctx->m_stream;
894 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
895 	bool useChecksum = checksumCalculator->getVersion() > 0;
896 
897 	 unsigned char *ptr;
898 	 unsigned char *buf;
899 	 const size_t sizeWithoutChecksum = 8 + 4;
900 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
901 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
902 	buf = stream->alloc(totalSize);
903 	ptr = buf;
904 	int tmp = OP_glPointSize;memcpy(ptr, &tmp, 4); ptr += 4;
905 	memcpy(ptr, &totalSize, 4);  ptr += 4;
906 
907 		memcpy(ptr, &size, 4); ptr += 4;
908 
909 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
910 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
911 
912 }
913 
glPolygonOffset_enc(void * self,GLfloat factor,GLfloat units)914 void glPolygonOffset_enc(void *self , GLfloat factor, GLfloat units)
915 {
916 
917 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
918 	IOStream *stream = ctx->m_stream;
919 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
920 	bool useChecksum = checksumCalculator->getVersion() > 0;
921 
922 	 unsigned char *ptr;
923 	 unsigned char *buf;
924 	 const size_t sizeWithoutChecksum = 8 + 4 + 4;
925 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
926 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
927 	buf = stream->alloc(totalSize);
928 	ptr = buf;
929 	int tmp = OP_glPolygonOffset;memcpy(ptr, &tmp, 4); ptr += 4;
930 	memcpy(ptr, &totalSize, 4);  ptr += 4;
931 
932 		memcpy(ptr, &factor, 4); ptr += 4;
933 		memcpy(ptr, &units, 4); ptr += 4;
934 
935 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
936 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
937 
938 }
939 
glRotatef_enc(void * self,GLfloat angle,GLfloat x,GLfloat y,GLfloat z)940 void glRotatef_enc(void *self , GLfloat angle, GLfloat x, GLfloat y, GLfloat z)
941 {
942 
943 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
944 	IOStream *stream = ctx->m_stream;
945 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
946 	bool useChecksum = checksumCalculator->getVersion() > 0;
947 
948 	 unsigned char *ptr;
949 	 unsigned char *buf;
950 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4;
951 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
952 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
953 	buf = stream->alloc(totalSize);
954 	ptr = buf;
955 	int tmp = OP_glRotatef;memcpy(ptr, &tmp, 4); ptr += 4;
956 	memcpy(ptr, &totalSize, 4);  ptr += 4;
957 
958 		memcpy(ptr, &angle, 4); ptr += 4;
959 		memcpy(ptr, &x, 4); ptr += 4;
960 		memcpy(ptr, &y, 4); ptr += 4;
961 		memcpy(ptr, &z, 4); ptr += 4;
962 
963 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
964 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
965 
966 }
967 
glScalef_enc(void * self,GLfloat x,GLfloat y,GLfloat z)968 void glScalef_enc(void *self , GLfloat x, GLfloat y, GLfloat z)
969 {
970 
971 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
972 	IOStream *stream = ctx->m_stream;
973 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
974 	bool useChecksum = checksumCalculator->getVersion() > 0;
975 
976 	 unsigned char *ptr;
977 	 unsigned char *buf;
978 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4;
979 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
980 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
981 	buf = stream->alloc(totalSize);
982 	ptr = buf;
983 	int tmp = OP_glScalef;memcpy(ptr, &tmp, 4); ptr += 4;
984 	memcpy(ptr, &totalSize, 4);  ptr += 4;
985 
986 		memcpy(ptr, &x, 4); ptr += 4;
987 		memcpy(ptr, &y, 4); ptr += 4;
988 		memcpy(ptr, &z, 4); ptr += 4;
989 
990 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
991 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
992 
993 }
994 
glTexEnvf_enc(void * self,GLenum target,GLenum pname,GLfloat param)995 void glTexEnvf_enc(void *self , GLenum target, GLenum pname, GLfloat param)
996 {
997 
998 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
999 	IOStream *stream = ctx->m_stream;
1000 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
1001 	bool useChecksum = checksumCalculator->getVersion() > 0;
1002 
1003 	 unsigned char *ptr;
1004 	 unsigned char *buf;
1005 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4;
1006 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
1007 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
1008 	buf = stream->alloc(totalSize);
1009 	ptr = buf;
1010 	int tmp = OP_glTexEnvf;memcpy(ptr, &tmp, 4); ptr += 4;
1011 	memcpy(ptr, &totalSize, 4);  ptr += 4;
1012 
1013 		memcpy(ptr, &target, 4); ptr += 4;
1014 		memcpy(ptr, &pname, 4); ptr += 4;
1015 		memcpy(ptr, &param, 4); ptr += 4;
1016 
1017 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
1018 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
1019 
1020 }
1021 
glTexEnvfv_enc(void * self,GLenum target,GLenum pname,const GLfloat * params)1022 void glTexEnvfv_enc(void *self , GLenum target, GLenum pname, const GLfloat* params)
1023 {
1024 
1025 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
1026 	IOStream *stream = ctx->m_stream;
1027 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
1028 	bool useChecksum = checksumCalculator->getVersion() > 0;
1029 
1030 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLfloat));
1031 	 unsigned char *ptr;
1032 	 unsigned char *buf;
1033 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + __size_params + 1*4;
1034 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
1035 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
1036 	buf = stream->alloc(totalSize);
1037 	ptr = buf;
1038 	int tmp = OP_glTexEnvfv;memcpy(ptr, &tmp, 4); ptr += 4;
1039 	memcpy(ptr, &totalSize, 4);  ptr += 4;
1040 
1041 		memcpy(ptr, &target, 4); ptr += 4;
1042 		memcpy(ptr, &pname, 4); ptr += 4;
1043 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
1044 	memcpy(ptr, params, __size_params);ptr += __size_params;
1045 
1046 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
1047 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
1048 
1049 }
1050 
glTexParameterf_enc(void * self,GLenum target,GLenum pname,GLfloat param)1051 void glTexParameterf_enc(void *self , GLenum target, GLenum pname, GLfloat param)
1052 {
1053 
1054 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
1055 	IOStream *stream = ctx->m_stream;
1056 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
1057 	bool useChecksum = checksumCalculator->getVersion() > 0;
1058 
1059 	 unsigned char *ptr;
1060 	 unsigned char *buf;
1061 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4;
1062 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
1063 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
1064 	buf = stream->alloc(totalSize);
1065 	ptr = buf;
1066 	int tmp = OP_glTexParameterf;memcpy(ptr, &tmp, 4); ptr += 4;
1067 	memcpy(ptr, &totalSize, 4);  ptr += 4;
1068 
1069 		memcpy(ptr, &target, 4); ptr += 4;
1070 		memcpy(ptr, &pname, 4); ptr += 4;
1071 		memcpy(ptr, &param, 4); ptr += 4;
1072 
1073 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
1074 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
1075 
1076 }
1077 
glTexParameterfv_enc(void * self,GLenum target,GLenum pname,const GLfloat * params)1078 void glTexParameterfv_enc(void *self , GLenum target, GLenum pname, const GLfloat* params)
1079 {
1080 
1081 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
1082 	IOStream *stream = ctx->m_stream;
1083 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
1084 	bool useChecksum = checksumCalculator->getVersion() > 0;
1085 
1086 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLfloat));
1087 	 unsigned char *ptr;
1088 	 unsigned char *buf;
1089 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + __size_params + 1*4;
1090 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
1091 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
1092 	buf = stream->alloc(totalSize);
1093 	ptr = buf;
1094 	int tmp = OP_glTexParameterfv;memcpy(ptr, &tmp, 4); ptr += 4;
1095 	memcpy(ptr, &totalSize, 4);  ptr += 4;
1096 
1097 		memcpy(ptr, &target, 4); ptr += 4;
1098 		memcpy(ptr, &pname, 4); ptr += 4;
1099 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
1100 	memcpy(ptr, params, __size_params);ptr += __size_params;
1101 
1102 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
1103 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
1104 
1105 }
1106 
glTranslatef_enc(void * self,GLfloat x,GLfloat y,GLfloat z)1107 void glTranslatef_enc(void *self , GLfloat x, GLfloat y, GLfloat z)
1108 {
1109 
1110 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
1111 	IOStream *stream = ctx->m_stream;
1112 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
1113 	bool useChecksum = checksumCalculator->getVersion() > 0;
1114 
1115 	 unsigned char *ptr;
1116 	 unsigned char *buf;
1117 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4;
1118 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
1119 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
1120 	buf = stream->alloc(totalSize);
1121 	ptr = buf;
1122 	int tmp = OP_glTranslatef;memcpy(ptr, &tmp, 4); ptr += 4;
1123 	memcpy(ptr, &totalSize, 4);  ptr += 4;
1124 
1125 		memcpy(ptr, &x, 4); ptr += 4;
1126 		memcpy(ptr, &y, 4); ptr += 4;
1127 		memcpy(ptr, &z, 4); ptr += 4;
1128 
1129 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
1130 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
1131 
1132 }
1133 
glActiveTexture_enc(void * self,GLenum texture)1134 void glActiveTexture_enc(void *self , GLenum texture)
1135 {
1136 
1137 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
1138 	IOStream *stream = ctx->m_stream;
1139 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
1140 	bool useChecksum = checksumCalculator->getVersion() > 0;
1141 
1142 	 unsigned char *ptr;
1143 	 unsigned char *buf;
1144 	 const size_t sizeWithoutChecksum = 8 + 4;
1145 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
1146 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
1147 	buf = stream->alloc(totalSize);
1148 	ptr = buf;
1149 	int tmp = OP_glActiveTexture;memcpy(ptr, &tmp, 4); ptr += 4;
1150 	memcpy(ptr, &totalSize, 4);  ptr += 4;
1151 
1152 		memcpy(ptr, &texture, 4); ptr += 4;
1153 
1154 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
1155 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
1156 
1157 }
1158 
glAlphaFuncx_enc(void * self,GLenum func,GLclampx ref)1159 void glAlphaFuncx_enc(void *self , GLenum func, GLclampx ref)
1160 {
1161 
1162 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
1163 	IOStream *stream = ctx->m_stream;
1164 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
1165 	bool useChecksum = checksumCalculator->getVersion() > 0;
1166 
1167 	 unsigned char *ptr;
1168 	 unsigned char *buf;
1169 	 const size_t sizeWithoutChecksum = 8 + 4 + 4;
1170 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
1171 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
1172 	buf = stream->alloc(totalSize);
1173 	ptr = buf;
1174 	int tmp = OP_glAlphaFuncx;memcpy(ptr, &tmp, 4); ptr += 4;
1175 	memcpy(ptr, &totalSize, 4);  ptr += 4;
1176 
1177 		memcpy(ptr, &func, 4); ptr += 4;
1178 		memcpy(ptr, &ref, 4); ptr += 4;
1179 
1180 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
1181 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
1182 
1183 }
1184 
glBindBuffer_enc(void * self,GLenum target,GLuint buffer)1185 void glBindBuffer_enc(void *self , GLenum target, GLuint buffer)
1186 {
1187 
1188 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
1189 	IOStream *stream = ctx->m_stream;
1190 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
1191 	bool useChecksum = checksumCalculator->getVersion() > 0;
1192 
1193 	 unsigned char *ptr;
1194 	 unsigned char *buf;
1195 	 const size_t sizeWithoutChecksum = 8 + 4 + 4;
1196 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
1197 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
1198 	buf = stream->alloc(totalSize);
1199 	ptr = buf;
1200 	int tmp = OP_glBindBuffer;memcpy(ptr, &tmp, 4); ptr += 4;
1201 	memcpy(ptr, &totalSize, 4);  ptr += 4;
1202 
1203 		memcpy(ptr, &target, 4); ptr += 4;
1204 		memcpy(ptr, &buffer, 4); ptr += 4;
1205 
1206 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
1207 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
1208 
1209 }
1210 
glBindTexture_enc(void * self,GLenum target,GLuint texture)1211 void glBindTexture_enc(void *self , GLenum target, GLuint texture)
1212 {
1213 
1214 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
1215 	IOStream *stream = ctx->m_stream;
1216 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
1217 	bool useChecksum = checksumCalculator->getVersion() > 0;
1218 
1219 	 unsigned char *ptr;
1220 	 unsigned char *buf;
1221 	 const size_t sizeWithoutChecksum = 8 + 4 + 4;
1222 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
1223 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
1224 	buf = stream->alloc(totalSize);
1225 	ptr = buf;
1226 	int tmp = OP_glBindTexture;memcpy(ptr, &tmp, 4); ptr += 4;
1227 	memcpy(ptr, &totalSize, 4);  ptr += 4;
1228 
1229 		memcpy(ptr, &target, 4); ptr += 4;
1230 		memcpy(ptr, &texture, 4); ptr += 4;
1231 
1232 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
1233 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
1234 
1235 }
1236 
glBlendFunc_enc(void * self,GLenum sfactor,GLenum dfactor)1237 void glBlendFunc_enc(void *self , GLenum sfactor, GLenum dfactor)
1238 {
1239 
1240 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
1241 	IOStream *stream = ctx->m_stream;
1242 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
1243 	bool useChecksum = checksumCalculator->getVersion() > 0;
1244 
1245 	 unsigned char *ptr;
1246 	 unsigned char *buf;
1247 	 const size_t sizeWithoutChecksum = 8 + 4 + 4;
1248 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
1249 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
1250 	buf = stream->alloc(totalSize);
1251 	ptr = buf;
1252 	int tmp = OP_glBlendFunc;memcpy(ptr, &tmp, 4); ptr += 4;
1253 	memcpy(ptr, &totalSize, 4);  ptr += 4;
1254 
1255 		memcpy(ptr, &sfactor, 4); ptr += 4;
1256 		memcpy(ptr, &dfactor, 4); ptr += 4;
1257 
1258 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
1259 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
1260 
1261 }
1262 
glBufferData_enc(void * self,GLenum target,GLsizeiptr size,const GLvoid * data,GLenum usage)1263 void glBufferData_enc(void *self , GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage)
1264 {
1265 
1266 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
1267 	IOStream *stream = ctx->m_stream;
1268 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
1269 	bool useChecksum = checksumCalculator->getVersion() > 0;
1270 
1271 	const unsigned int __size_data = ((data != NULL) ?  size : 0);
1272 	 unsigned char *ptr;
1273 	 unsigned char *buf;
1274 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + __size_data + 4 + 1*4;
1275 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
1276 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
1277 	buf = stream->alloc(totalSize);
1278 	ptr = buf;
1279 	int tmp = OP_glBufferData;memcpy(ptr, &tmp, 4); ptr += 4;
1280 	memcpy(ptr, &totalSize, 4);  ptr += 4;
1281 
1282 		memcpy(ptr, &target, 4); ptr += 4;
1283 		memcpy(ptr, &size, 4); ptr += 4;
1284 	*(unsigned int *)(ptr) = __size_data; ptr += 4;
1285 	if (data != NULL) memcpy(ptr, data, __size_data);ptr += __size_data;
1286 		memcpy(ptr, &usage, 4); ptr += 4;
1287 
1288 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
1289 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
1290 
1291 }
1292 
glBufferSubData_enc(void * self,GLenum target,GLintptr offset,GLsizeiptr size,const GLvoid * data)1293 void glBufferSubData_enc(void *self , GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data)
1294 {
1295 
1296 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
1297 	IOStream *stream = ctx->m_stream;
1298 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
1299 	bool useChecksum = checksumCalculator->getVersion() > 0;
1300 
1301 	const unsigned int __size_data = ((data != NULL) ?  size : 0);
1302 	 unsigned char *ptr;
1303 	 unsigned char *buf;
1304 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + __size_data + 1*4;
1305 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
1306 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
1307 	buf = stream->alloc(totalSize);
1308 	ptr = buf;
1309 	int tmp = OP_glBufferSubData;memcpy(ptr, &tmp, 4); ptr += 4;
1310 	memcpy(ptr, &totalSize, 4);  ptr += 4;
1311 
1312 		memcpy(ptr, &target, 4); ptr += 4;
1313 		memcpy(ptr, &offset, 4); ptr += 4;
1314 		memcpy(ptr, &size, 4); ptr += 4;
1315 	*(unsigned int *)(ptr) = __size_data; ptr += 4;
1316 	if (data != NULL) memcpy(ptr, data, __size_data);ptr += __size_data;
1317 
1318 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
1319 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
1320 
1321 }
1322 
glClear_enc(void * self,GLbitfield mask)1323 void glClear_enc(void *self , GLbitfield mask)
1324 {
1325 
1326 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
1327 	IOStream *stream = ctx->m_stream;
1328 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
1329 	bool useChecksum = checksumCalculator->getVersion() > 0;
1330 
1331 	 unsigned char *ptr;
1332 	 unsigned char *buf;
1333 	 const size_t sizeWithoutChecksum = 8 + 4;
1334 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
1335 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
1336 	buf = stream->alloc(totalSize);
1337 	ptr = buf;
1338 	int tmp = OP_glClear;memcpy(ptr, &tmp, 4); ptr += 4;
1339 	memcpy(ptr, &totalSize, 4);  ptr += 4;
1340 
1341 		memcpy(ptr, &mask, 4); ptr += 4;
1342 
1343 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
1344 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
1345 
1346 }
1347 
glClearColorx_enc(void * self,GLclampx red,GLclampx green,GLclampx blue,GLclampx alpha)1348 void glClearColorx_enc(void *self , GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha)
1349 {
1350 
1351 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
1352 	IOStream *stream = ctx->m_stream;
1353 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
1354 	bool useChecksum = checksumCalculator->getVersion() > 0;
1355 
1356 	 unsigned char *ptr;
1357 	 unsigned char *buf;
1358 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4;
1359 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
1360 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
1361 	buf = stream->alloc(totalSize);
1362 	ptr = buf;
1363 	int tmp = OP_glClearColorx;memcpy(ptr, &tmp, 4); ptr += 4;
1364 	memcpy(ptr, &totalSize, 4);  ptr += 4;
1365 
1366 		memcpy(ptr, &red, 4); ptr += 4;
1367 		memcpy(ptr, &green, 4); ptr += 4;
1368 		memcpy(ptr, &blue, 4); ptr += 4;
1369 		memcpy(ptr, &alpha, 4); ptr += 4;
1370 
1371 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
1372 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
1373 
1374 }
1375 
glClearDepthx_enc(void * self,GLclampx depth)1376 void glClearDepthx_enc(void *self , GLclampx depth)
1377 {
1378 
1379 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
1380 	IOStream *stream = ctx->m_stream;
1381 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
1382 	bool useChecksum = checksumCalculator->getVersion() > 0;
1383 
1384 	 unsigned char *ptr;
1385 	 unsigned char *buf;
1386 	 const size_t sizeWithoutChecksum = 8 + 4;
1387 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
1388 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
1389 	buf = stream->alloc(totalSize);
1390 	ptr = buf;
1391 	int tmp = OP_glClearDepthx;memcpy(ptr, &tmp, 4); ptr += 4;
1392 	memcpy(ptr, &totalSize, 4);  ptr += 4;
1393 
1394 		memcpy(ptr, &depth, 4); ptr += 4;
1395 
1396 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
1397 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
1398 
1399 }
1400 
glClearStencil_enc(void * self,GLint s)1401 void glClearStencil_enc(void *self , GLint s)
1402 {
1403 
1404 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
1405 	IOStream *stream = ctx->m_stream;
1406 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
1407 	bool useChecksum = checksumCalculator->getVersion() > 0;
1408 
1409 	 unsigned char *ptr;
1410 	 unsigned char *buf;
1411 	 const size_t sizeWithoutChecksum = 8 + 4;
1412 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
1413 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
1414 	buf = stream->alloc(totalSize);
1415 	ptr = buf;
1416 	int tmp = OP_glClearStencil;memcpy(ptr, &tmp, 4); ptr += 4;
1417 	memcpy(ptr, &totalSize, 4);  ptr += 4;
1418 
1419 		memcpy(ptr, &s, 4); ptr += 4;
1420 
1421 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
1422 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
1423 
1424 }
1425 
glClientActiveTexture_enc(void * self,GLenum texture)1426 void glClientActiveTexture_enc(void *self , GLenum texture)
1427 {
1428 
1429 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
1430 	IOStream *stream = ctx->m_stream;
1431 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
1432 	bool useChecksum = checksumCalculator->getVersion() > 0;
1433 
1434 	 unsigned char *ptr;
1435 	 unsigned char *buf;
1436 	 const size_t sizeWithoutChecksum = 8 + 4;
1437 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
1438 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
1439 	buf = stream->alloc(totalSize);
1440 	ptr = buf;
1441 	int tmp = OP_glClientActiveTexture;memcpy(ptr, &tmp, 4); ptr += 4;
1442 	memcpy(ptr, &totalSize, 4);  ptr += 4;
1443 
1444 		memcpy(ptr, &texture, 4); ptr += 4;
1445 
1446 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
1447 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
1448 
1449 }
1450 
glColor4ub_enc(void * self,GLubyte red,GLubyte green,GLubyte blue,GLubyte alpha)1451 void glColor4ub_enc(void *self , GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha)
1452 {
1453 
1454 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
1455 	IOStream *stream = ctx->m_stream;
1456 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
1457 	bool useChecksum = checksumCalculator->getVersion() > 0;
1458 
1459 	 unsigned char *ptr;
1460 	 unsigned char *buf;
1461 	 const size_t sizeWithoutChecksum = 8 + 1 + 1 + 1 + 1;
1462 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
1463 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
1464 	buf = stream->alloc(totalSize);
1465 	ptr = buf;
1466 	int tmp = OP_glColor4ub;memcpy(ptr, &tmp, 4); ptr += 4;
1467 	memcpy(ptr, &totalSize, 4);  ptr += 4;
1468 
1469 		memcpy(ptr, &red, 1); ptr += 1;
1470 		memcpy(ptr, &green, 1); ptr += 1;
1471 		memcpy(ptr, &blue, 1); ptr += 1;
1472 		memcpy(ptr, &alpha, 1); ptr += 1;
1473 
1474 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
1475 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
1476 
1477 }
1478 
glColor4x_enc(void * self,GLfixed red,GLfixed green,GLfixed blue,GLfixed alpha)1479 void glColor4x_enc(void *self , GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha)
1480 {
1481 
1482 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
1483 	IOStream *stream = ctx->m_stream;
1484 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
1485 	bool useChecksum = checksumCalculator->getVersion() > 0;
1486 
1487 	 unsigned char *ptr;
1488 	 unsigned char *buf;
1489 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4;
1490 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
1491 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
1492 	buf = stream->alloc(totalSize);
1493 	ptr = buf;
1494 	int tmp = OP_glColor4x;memcpy(ptr, &tmp, 4); ptr += 4;
1495 	memcpy(ptr, &totalSize, 4);  ptr += 4;
1496 
1497 		memcpy(ptr, &red, 4); ptr += 4;
1498 		memcpy(ptr, &green, 4); ptr += 4;
1499 		memcpy(ptr, &blue, 4); ptr += 4;
1500 		memcpy(ptr, &alpha, 4); ptr += 4;
1501 
1502 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
1503 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
1504 
1505 }
1506 
glColorMask_enc(void * self,GLboolean red,GLboolean green,GLboolean blue,GLboolean alpha)1507 void glColorMask_enc(void *self , GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
1508 {
1509 
1510 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
1511 	IOStream *stream = ctx->m_stream;
1512 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
1513 	bool useChecksum = checksumCalculator->getVersion() > 0;
1514 
1515 	 unsigned char *ptr;
1516 	 unsigned char *buf;
1517 	 const size_t sizeWithoutChecksum = 8 + 1 + 1 + 1 + 1;
1518 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
1519 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
1520 	buf = stream->alloc(totalSize);
1521 	ptr = buf;
1522 	int tmp = OP_glColorMask;memcpy(ptr, &tmp, 4); ptr += 4;
1523 	memcpy(ptr, &totalSize, 4);  ptr += 4;
1524 
1525 		memcpy(ptr, &red, 1); ptr += 1;
1526 		memcpy(ptr, &green, 1); ptr += 1;
1527 		memcpy(ptr, &blue, 1); ptr += 1;
1528 		memcpy(ptr, &alpha, 1); ptr += 1;
1529 
1530 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
1531 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
1532 
1533 }
1534 
glCompressedTexImage2D_enc(void * self,GLenum target,GLint level,GLenum internalformat,GLsizei width,GLsizei height,GLint border,GLsizei imageSize,const GLvoid * data)1535 void glCompressedTexImage2D_enc(void *self , GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* data)
1536 {
1537 
1538 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
1539 	IOStream *stream = ctx->m_stream;
1540 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
1541 	bool useChecksum = checksumCalculator->getVersion() > 0;
1542 
1543 	const unsigned int __size_data = ((data != NULL) ?  imageSize : 0);
1544 	 unsigned char *ptr;
1545 	 unsigned char *buf;
1546 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + __size_data + 1*4;
1547 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
1548 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
1549 	buf = stream->alloc(totalSize);
1550 	ptr = buf;
1551 	int tmp = OP_glCompressedTexImage2D;memcpy(ptr, &tmp, 4); ptr += 4;
1552 	memcpy(ptr, &totalSize, 4);  ptr += 4;
1553 
1554 		memcpy(ptr, &target, 4); ptr += 4;
1555 		memcpy(ptr, &level, 4); ptr += 4;
1556 		memcpy(ptr, &internalformat, 4); ptr += 4;
1557 		memcpy(ptr, &width, 4); ptr += 4;
1558 		memcpy(ptr, &height, 4); ptr += 4;
1559 		memcpy(ptr, &border, 4); ptr += 4;
1560 		memcpy(ptr, &imageSize, 4); ptr += 4;
1561 	*(unsigned int *)(ptr) = __size_data; ptr += 4;
1562 	if (data != NULL) memcpy(ptr, data, __size_data);ptr += __size_data;
1563 
1564 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
1565 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
1566 
1567 }
1568 
glCompressedTexSubImage2D_enc(void * self,GLenum target,GLint level,GLint xoffset,GLint yoffset,GLsizei width,GLsizei height,GLenum format,GLsizei imageSize,const GLvoid * data)1569 void glCompressedTexSubImage2D_enc(void *self , GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid* data)
1570 {
1571 
1572 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
1573 	IOStream *stream = ctx->m_stream;
1574 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
1575 	bool useChecksum = checksumCalculator->getVersion() > 0;
1576 
1577 	const unsigned int __size_data = ((data != NULL) ?  imageSize : 0);
1578 	 unsigned char *ptr;
1579 	 unsigned char *buf;
1580 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + __size_data + 1*4;
1581 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
1582 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
1583 	buf = stream->alloc(totalSize);
1584 	ptr = buf;
1585 	int tmp = OP_glCompressedTexSubImage2D;memcpy(ptr, &tmp, 4); ptr += 4;
1586 	memcpy(ptr, &totalSize, 4);  ptr += 4;
1587 
1588 		memcpy(ptr, &target, 4); ptr += 4;
1589 		memcpy(ptr, &level, 4); ptr += 4;
1590 		memcpy(ptr, &xoffset, 4); ptr += 4;
1591 		memcpy(ptr, &yoffset, 4); ptr += 4;
1592 		memcpy(ptr, &width, 4); ptr += 4;
1593 		memcpy(ptr, &height, 4); ptr += 4;
1594 		memcpy(ptr, &format, 4); ptr += 4;
1595 		memcpy(ptr, &imageSize, 4); ptr += 4;
1596 	*(unsigned int *)(ptr) = __size_data; ptr += 4;
1597 	if (data != NULL) memcpy(ptr, data, __size_data);ptr += __size_data;
1598 
1599 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
1600 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
1601 
1602 }
1603 
glCopyTexImage2D_enc(void * self,GLenum target,GLint level,GLenum internalformat,GLint x,GLint y,GLsizei width,GLsizei height,GLint border)1604 void glCopyTexImage2D_enc(void *self , GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
1605 {
1606 
1607 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
1608 	IOStream *stream = ctx->m_stream;
1609 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
1610 	bool useChecksum = checksumCalculator->getVersion() > 0;
1611 
1612 	 unsigned char *ptr;
1613 	 unsigned char *buf;
1614 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4;
1615 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
1616 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
1617 	buf = stream->alloc(totalSize);
1618 	ptr = buf;
1619 	int tmp = OP_glCopyTexImage2D;memcpy(ptr, &tmp, 4); ptr += 4;
1620 	memcpy(ptr, &totalSize, 4);  ptr += 4;
1621 
1622 		memcpy(ptr, &target, 4); ptr += 4;
1623 		memcpy(ptr, &level, 4); ptr += 4;
1624 		memcpy(ptr, &internalformat, 4); ptr += 4;
1625 		memcpy(ptr, &x, 4); ptr += 4;
1626 		memcpy(ptr, &y, 4); ptr += 4;
1627 		memcpy(ptr, &width, 4); ptr += 4;
1628 		memcpy(ptr, &height, 4); ptr += 4;
1629 		memcpy(ptr, &border, 4); ptr += 4;
1630 
1631 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
1632 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
1633 
1634 }
1635 
glCopyTexSubImage2D_enc(void * self,GLenum target,GLint level,GLint xoffset,GLint yoffset,GLint x,GLint y,GLsizei width,GLsizei height)1636 void glCopyTexSubImage2D_enc(void *self , GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
1637 {
1638 
1639 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
1640 	IOStream *stream = ctx->m_stream;
1641 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
1642 	bool useChecksum = checksumCalculator->getVersion() > 0;
1643 
1644 	 unsigned char *ptr;
1645 	 unsigned char *buf;
1646 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4;
1647 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
1648 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
1649 	buf = stream->alloc(totalSize);
1650 	ptr = buf;
1651 	int tmp = OP_glCopyTexSubImage2D;memcpy(ptr, &tmp, 4); ptr += 4;
1652 	memcpy(ptr, &totalSize, 4);  ptr += 4;
1653 
1654 		memcpy(ptr, &target, 4); ptr += 4;
1655 		memcpy(ptr, &level, 4); ptr += 4;
1656 		memcpy(ptr, &xoffset, 4); ptr += 4;
1657 		memcpy(ptr, &yoffset, 4); ptr += 4;
1658 		memcpy(ptr, &x, 4); ptr += 4;
1659 		memcpy(ptr, &y, 4); ptr += 4;
1660 		memcpy(ptr, &width, 4); ptr += 4;
1661 		memcpy(ptr, &height, 4); ptr += 4;
1662 
1663 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
1664 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
1665 
1666 }
1667 
glCullFace_enc(void * self,GLenum mode)1668 void glCullFace_enc(void *self , GLenum mode)
1669 {
1670 
1671 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
1672 	IOStream *stream = ctx->m_stream;
1673 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
1674 	bool useChecksum = checksumCalculator->getVersion() > 0;
1675 
1676 	 unsigned char *ptr;
1677 	 unsigned char *buf;
1678 	 const size_t sizeWithoutChecksum = 8 + 4;
1679 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
1680 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
1681 	buf = stream->alloc(totalSize);
1682 	ptr = buf;
1683 	int tmp = OP_glCullFace;memcpy(ptr, &tmp, 4); ptr += 4;
1684 	memcpy(ptr, &totalSize, 4);  ptr += 4;
1685 
1686 		memcpy(ptr, &mode, 4); ptr += 4;
1687 
1688 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
1689 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
1690 
1691 }
1692 
glDeleteBuffers_enc(void * self,GLsizei n,const GLuint * buffers)1693 void glDeleteBuffers_enc(void *self , GLsizei n, const GLuint* buffers)
1694 {
1695 
1696 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
1697 	IOStream *stream = ctx->m_stream;
1698 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
1699 	bool useChecksum = checksumCalculator->getVersion() > 0;
1700 
1701 	const unsigned int __size_buffers =  (n * sizeof(GLuint));
1702 	 unsigned char *ptr;
1703 	 unsigned char *buf;
1704 	 const size_t sizeWithoutChecksum = 8 + 4 + __size_buffers + 1*4;
1705 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
1706 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
1707 	buf = stream->alloc(totalSize);
1708 	ptr = buf;
1709 	int tmp = OP_glDeleteBuffers;memcpy(ptr, &tmp, 4); ptr += 4;
1710 	memcpy(ptr, &totalSize, 4);  ptr += 4;
1711 
1712 		memcpy(ptr, &n, 4); ptr += 4;
1713 	*(unsigned int *)(ptr) = __size_buffers; ptr += 4;
1714 	memcpy(ptr, buffers, __size_buffers);ptr += __size_buffers;
1715 
1716 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
1717 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
1718 
1719 }
1720 
glDeleteTextures_enc(void * self,GLsizei n,const GLuint * textures)1721 void glDeleteTextures_enc(void *self , GLsizei n, const GLuint* textures)
1722 {
1723 
1724 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
1725 	IOStream *stream = ctx->m_stream;
1726 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
1727 	bool useChecksum = checksumCalculator->getVersion() > 0;
1728 
1729 	const unsigned int __size_textures =  (n * sizeof(GLuint));
1730 	 unsigned char *ptr;
1731 	 unsigned char *buf;
1732 	 const size_t sizeWithoutChecksum = 8 + 4 + __size_textures + 1*4;
1733 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
1734 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
1735 	buf = stream->alloc(totalSize);
1736 	ptr = buf;
1737 	int tmp = OP_glDeleteTextures;memcpy(ptr, &tmp, 4); ptr += 4;
1738 	memcpy(ptr, &totalSize, 4);  ptr += 4;
1739 
1740 		memcpy(ptr, &n, 4); ptr += 4;
1741 	*(unsigned int *)(ptr) = __size_textures; ptr += 4;
1742 	memcpy(ptr, textures, __size_textures);ptr += __size_textures;
1743 
1744 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
1745 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
1746 
1747 }
1748 
glDepthFunc_enc(void * self,GLenum func)1749 void glDepthFunc_enc(void *self , GLenum func)
1750 {
1751 
1752 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
1753 	IOStream *stream = ctx->m_stream;
1754 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
1755 	bool useChecksum = checksumCalculator->getVersion() > 0;
1756 
1757 	 unsigned char *ptr;
1758 	 unsigned char *buf;
1759 	 const size_t sizeWithoutChecksum = 8 + 4;
1760 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
1761 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
1762 	buf = stream->alloc(totalSize);
1763 	ptr = buf;
1764 	int tmp = OP_glDepthFunc;memcpy(ptr, &tmp, 4); ptr += 4;
1765 	memcpy(ptr, &totalSize, 4);  ptr += 4;
1766 
1767 		memcpy(ptr, &func, 4); ptr += 4;
1768 
1769 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
1770 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
1771 
1772 }
1773 
glDepthMask_enc(void * self,GLboolean flag)1774 void glDepthMask_enc(void *self , GLboolean flag)
1775 {
1776 
1777 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
1778 	IOStream *stream = ctx->m_stream;
1779 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
1780 	bool useChecksum = checksumCalculator->getVersion() > 0;
1781 
1782 	 unsigned char *ptr;
1783 	 unsigned char *buf;
1784 	 const size_t sizeWithoutChecksum = 8 + 1;
1785 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
1786 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
1787 	buf = stream->alloc(totalSize);
1788 	ptr = buf;
1789 	int tmp = OP_glDepthMask;memcpy(ptr, &tmp, 4); ptr += 4;
1790 	memcpy(ptr, &totalSize, 4);  ptr += 4;
1791 
1792 		memcpy(ptr, &flag, 1); ptr += 1;
1793 
1794 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
1795 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
1796 
1797 }
1798 
glDepthRangex_enc(void * self,GLclampx zNear,GLclampx zFar)1799 void glDepthRangex_enc(void *self , GLclampx zNear, GLclampx zFar)
1800 {
1801 
1802 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
1803 	IOStream *stream = ctx->m_stream;
1804 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
1805 	bool useChecksum = checksumCalculator->getVersion() > 0;
1806 
1807 	 unsigned char *ptr;
1808 	 unsigned char *buf;
1809 	 const size_t sizeWithoutChecksum = 8 + 4 + 4;
1810 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
1811 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
1812 	buf = stream->alloc(totalSize);
1813 	ptr = buf;
1814 	int tmp = OP_glDepthRangex;memcpy(ptr, &tmp, 4); ptr += 4;
1815 	memcpy(ptr, &totalSize, 4);  ptr += 4;
1816 
1817 		memcpy(ptr, &zNear, 4); ptr += 4;
1818 		memcpy(ptr, &zFar, 4); ptr += 4;
1819 
1820 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
1821 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
1822 
1823 }
1824 
glDisable_enc(void * self,GLenum cap)1825 void glDisable_enc(void *self , GLenum cap)
1826 {
1827 
1828 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
1829 	IOStream *stream = ctx->m_stream;
1830 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
1831 	bool useChecksum = checksumCalculator->getVersion() > 0;
1832 
1833 	 unsigned char *ptr;
1834 	 unsigned char *buf;
1835 	 const size_t sizeWithoutChecksum = 8 + 4;
1836 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
1837 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
1838 	buf = stream->alloc(totalSize);
1839 	ptr = buf;
1840 	int tmp = OP_glDisable;memcpy(ptr, &tmp, 4); ptr += 4;
1841 	memcpy(ptr, &totalSize, 4);  ptr += 4;
1842 
1843 		memcpy(ptr, &cap, 4); ptr += 4;
1844 
1845 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
1846 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
1847 
1848 }
1849 
glDisableClientState_enc(void * self,GLenum array)1850 void glDisableClientState_enc(void *self , GLenum array)
1851 {
1852 
1853 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
1854 	IOStream *stream = ctx->m_stream;
1855 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
1856 	bool useChecksum = checksumCalculator->getVersion() > 0;
1857 
1858 	 unsigned char *ptr;
1859 	 unsigned char *buf;
1860 	 const size_t sizeWithoutChecksum = 8 + 4;
1861 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
1862 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
1863 	buf = stream->alloc(totalSize);
1864 	ptr = buf;
1865 	int tmp = OP_glDisableClientState;memcpy(ptr, &tmp, 4); ptr += 4;
1866 	memcpy(ptr, &totalSize, 4);  ptr += 4;
1867 
1868 		memcpy(ptr, &array, 4); ptr += 4;
1869 
1870 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
1871 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
1872 
1873 }
1874 
glDrawArrays_enc(void * self,GLenum mode,GLint first,GLsizei count)1875 void glDrawArrays_enc(void *self , GLenum mode, GLint first, GLsizei count)
1876 {
1877 
1878 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
1879 	IOStream *stream = ctx->m_stream;
1880 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
1881 	bool useChecksum = checksumCalculator->getVersion() > 0;
1882 
1883 	 unsigned char *ptr;
1884 	 unsigned char *buf;
1885 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4;
1886 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
1887 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
1888 	buf = stream->alloc(totalSize);
1889 	ptr = buf;
1890 	int tmp = OP_glDrawArrays;memcpy(ptr, &tmp, 4); ptr += 4;
1891 	memcpy(ptr, &totalSize, 4);  ptr += 4;
1892 
1893 		memcpy(ptr, &mode, 4); ptr += 4;
1894 		memcpy(ptr, &first, 4); ptr += 4;
1895 		memcpy(ptr, &count, 4); ptr += 4;
1896 
1897 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
1898 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
1899 
1900 }
1901 
glEnable_enc(void * self,GLenum cap)1902 void glEnable_enc(void *self , GLenum cap)
1903 {
1904 
1905 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
1906 	IOStream *stream = ctx->m_stream;
1907 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
1908 	bool useChecksum = checksumCalculator->getVersion() > 0;
1909 
1910 	 unsigned char *ptr;
1911 	 unsigned char *buf;
1912 	 const size_t sizeWithoutChecksum = 8 + 4;
1913 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
1914 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
1915 	buf = stream->alloc(totalSize);
1916 	ptr = buf;
1917 	int tmp = OP_glEnable;memcpy(ptr, &tmp, 4); ptr += 4;
1918 	memcpy(ptr, &totalSize, 4);  ptr += 4;
1919 
1920 		memcpy(ptr, &cap, 4); ptr += 4;
1921 
1922 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
1923 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
1924 
1925 }
1926 
glEnableClientState_enc(void * self,GLenum array)1927 void glEnableClientState_enc(void *self , GLenum array)
1928 {
1929 
1930 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
1931 	IOStream *stream = ctx->m_stream;
1932 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
1933 	bool useChecksum = checksumCalculator->getVersion() > 0;
1934 
1935 	 unsigned char *ptr;
1936 	 unsigned char *buf;
1937 	 const size_t sizeWithoutChecksum = 8 + 4;
1938 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
1939 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
1940 	buf = stream->alloc(totalSize);
1941 	ptr = buf;
1942 	int tmp = OP_glEnableClientState;memcpy(ptr, &tmp, 4); ptr += 4;
1943 	memcpy(ptr, &totalSize, 4);  ptr += 4;
1944 
1945 		memcpy(ptr, &array, 4); ptr += 4;
1946 
1947 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
1948 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
1949 
1950 }
1951 
glFinish_enc(void * self)1952 void glFinish_enc(void *self )
1953 {
1954 
1955 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
1956 	IOStream *stream = ctx->m_stream;
1957 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
1958 	bool useChecksum = checksumCalculator->getVersion() > 0;
1959 
1960 	 unsigned char *ptr;
1961 	 unsigned char *buf;
1962 	 const size_t sizeWithoutChecksum = 8;
1963 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
1964 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
1965 	buf = stream->alloc(totalSize);
1966 	ptr = buf;
1967 	int tmp = OP_glFinish;memcpy(ptr, &tmp, 4); ptr += 4;
1968 	memcpy(ptr, &totalSize, 4);  ptr += 4;
1969 
1970 
1971 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
1972 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
1973 
1974 }
1975 
glFlush_enc(void * self)1976 void glFlush_enc(void *self )
1977 {
1978 
1979 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
1980 	IOStream *stream = ctx->m_stream;
1981 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
1982 	bool useChecksum = checksumCalculator->getVersion() > 0;
1983 
1984 	 unsigned char *ptr;
1985 	 unsigned char *buf;
1986 	 const size_t sizeWithoutChecksum = 8;
1987 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
1988 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
1989 	buf = stream->alloc(totalSize);
1990 	ptr = buf;
1991 	int tmp = OP_glFlush;memcpy(ptr, &tmp, 4); ptr += 4;
1992 	memcpy(ptr, &totalSize, 4);  ptr += 4;
1993 
1994 
1995 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
1996 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
1997 
1998 }
1999 
glFogx_enc(void * self,GLenum pname,GLfixed param)2000 void glFogx_enc(void *self , GLenum pname, GLfixed param)
2001 {
2002 
2003 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
2004 	IOStream *stream = ctx->m_stream;
2005 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
2006 	bool useChecksum = checksumCalculator->getVersion() > 0;
2007 
2008 	 unsigned char *ptr;
2009 	 unsigned char *buf;
2010 	 const size_t sizeWithoutChecksum = 8 + 4 + 4;
2011 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
2012 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
2013 	buf = stream->alloc(totalSize);
2014 	ptr = buf;
2015 	int tmp = OP_glFogx;memcpy(ptr, &tmp, 4); ptr += 4;
2016 	memcpy(ptr, &totalSize, 4);  ptr += 4;
2017 
2018 		memcpy(ptr, &pname, 4); ptr += 4;
2019 		memcpy(ptr, &param, 4); ptr += 4;
2020 
2021 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
2022 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
2023 
2024 }
2025 
glFogxv_enc(void * self,GLenum pname,const GLfixed * params)2026 void glFogxv_enc(void *self , GLenum pname, const GLfixed* params)
2027 {
2028 
2029 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
2030 	IOStream *stream = ctx->m_stream;
2031 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
2032 	bool useChecksum = checksumCalculator->getVersion() > 0;
2033 
2034 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLfixed));
2035 	 unsigned char *ptr;
2036 	 unsigned char *buf;
2037 	 const size_t sizeWithoutChecksum = 8 + 4 + __size_params + 1*4;
2038 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
2039 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
2040 	buf = stream->alloc(totalSize);
2041 	ptr = buf;
2042 	int tmp = OP_glFogxv;memcpy(ptr, &tmp, 4); ptr += 4;
2043 	memcpy(ptr, &totalSize, 4);  ptr += 4;
2044 
2045 		memcpy(ptr, &pname, 4); ptr += 4;
2046 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
2047 	memcpy(ptr, params, __size_params);ptr += __size_params;
2048 
2049 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
2050 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
2051 
2052 }
2053 
glFrontFace_enc(void * self,GLenum mode)2054 void glFrontFace_enc(void *self , GLenum mode)
2055 {
2056 
2057 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
2058 	IOStream *stream = ctx->m_stream;
2059 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
2060 	bool useChecksum = checksumCalculator->getVersion() > 0;
2061 
2062 	 unsigned char *ptr;
2063 	 unsigned char *buf;
2064 	 const size_t sizeWithoutChecksum = 8 + 4;
2065 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
2066 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
2067 	buf = stream->alloc(totalSize);
2068 	ptr = buf;
2069 	int tmp = OP_glFrontFace;memcpy(ptr, &tmp, 4); ptr += 4;
2070 	memcpy(ptr, &totalSize, 4);  ptr += 4;
2071 
2072 		memcpy(ptr, &mode, 4); ptr += 4;
2073 
2074 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
2075 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
2076 
2077 }
2078 
glFrustumx_enc(void * self,GLfixed left,GLfixed right,GLfixed bottom,GLfixed top,GLfixed zNear,GLfixed zFar)2079 void glFrustumx_enc(void *self , GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar)
2080 {
2081 
2082 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
2083 	IOStream *stream = ctx->m_stream;
2084 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
2085 	bool useChecksum = checksumCalculator->getVersion() > 0;
2086 
2087 	 unsigned char *ptr;
2088 	 unsigned char *buf;
2089 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4 + 4 + 4;
2090 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
2091 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
2092 	buf = stream->alloc(totalSize);
2093 	ptr = buf;
2094 	int tmp = OP_glFrustumx;memcpy(ptr, &tmp, 4); ptr += 4;
2095 	memcpy(ptr, &totalSize, 4);  ptr += 4;
2096 
2097 		memcpy(ptr, &left, 4); ptr += 4;
2098 		memcpy(ptr, &right, 4); ptr += 4;
2099 		memcpy(ptr, &bottom, 4); ptr += 4;
2100 		memcpy(ptr, &top, 4); ptr += 4;
2101 		memcpy(ptr, &zNear, 4); ptr += 4;
2102 		memcpy(ptr, &zFar, 4); ptr += 4;
2103 
2104 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
2105 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
2106 
2107 }
2108 
glGetBooleanv_enc(void * self,GLenum pname,GLboolean * params)2109 void glGetBooleanv_enc(void *self , GLenum pname, GLboolean* params)
2110 {
2111 
2112 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
2113 	IOStream *stream = ctx->m_stream;
2114 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
2115 	bool useChecksum = checksumCalculator->getVersion() > 0;
2116 
2117 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLboolean));
2118 	 unsigned char *ptr;
2119 	 unsigned char *buf;
2120 	 const size_t sizeWithoutChecksum = 8 + 4 + __size_params + 1*4;
2121 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
2122 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
2123 	buf = stream->alloc(totalSize);
2124 	ptr = buf;
2125 	int tmp = OP_glGetBooleanv;memcpy(ptr, &tmp, 4); ptr += 4;
2126 	memcpy(ptr, &totalSize, 4);  ptr += 4;
2127 
2128 		memcpy(ptr, &pname, 4); ptr += 4;
2129 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
2130 
2131 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
2132 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
2133 
2134 	stream->readback(params, __size_params);
2135 	if (useChecksum) checksumCalculator->addBuffer(params, __size_params);
2136 	if (useChecksum) {
2137 		unsigned char *checksumBufPtr = NULL;
2138 		std::vector<unsigned char> checksumBuf(checksumSize);
2139 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
2140 		stream->readback(checksumBufPtr, checksumSize);
2141 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
2142 			ALOGE("glGetBooleanv: GL communication error, please report this issue to b.android.com.\n");
2143 			abort();
2144 		}
2145 	}
2146 }
2147 
glGetBufferParameteriv_enc(void * self,GLenum target,GLenum pname,GLint * params)2148 void glGetBufferParameteriv_enc(void *self , GLenum target, GLenum pname, GLint* params)
2149 {
2150 
2151 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
2152 	IOStream *stream = ctx->m_stream;
2153 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
2154 	bool useChecksum = checksumCalculator->getVersion() > 0;
2155 
2156 	const unsigned int __size_params =  (sizeof(GLint));
2157 	 unsigned char *ptr;
2158 	 unsigned char *buf;
2159 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + __size_params + 1*4;
2160 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
2161 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
2162 	buf = stream->alloc(totalSize);
2163 	ptr = buf;
2164 	int tmp = OP_glGetBufferParameteriv;memcpy(ptr, &tmp, 4); ptr += 4;
2165 	memcpy(ptr, &totalSize, 4);  ptr += 4;
2166 
2167 		memcpy(ptr, &target, 4); ptr += 4;
2168 		memcpy(ptr, &pname, 4); ptr += 4;
2169 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
2170 
2171 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
2172 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
2173 
2174 	stream->readback(params, __size_params);
2175 	if (useChecksum) checksumCalculator->addBuffer(params, __size_params);
2176 	if (useChecksum) {
2177 		unsigned char *checksumBufPtr = NULL;
2178 		std::vector<unsigned char> checksumBuf(checksumSize);
2179 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
2180 		stream->readback(checksumBufPtr, checksumSize);
2181 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
2182 			ALOGE("glGetBufferParameteriv: GL communication error, please report this issue to b.android.com.\n");
2183 			abort();
2184 		}
2185 	}
2186 }
2187 
glClipPlanex_enc(void * self,GLenum pname,const GLfixed * eqn)2188 void glClipPlanex_enc(void *self , GLenum pname, const GLfixed* eqn)
2189 {
2190 
2191 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
2192 	IOStream *stream = ctx->m_stream;
2193 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
2194 	bool useChecksum = checksumCalculator->getVersion() > 0;
2195 
2196 	const unsigned int __size_eqn =  (4 * sizeof(GLfixed));
2197 	 unsigned char *ptr;
2198 	 unsigned char *buf;
2199 	 const size_t sizeWithoutChecksum = 8 + 4 + __size_eqn + 1*4;
2200 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
2201 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
2202 	buf = stream->alloc(totalSize);
2203 	ptr = buf;
2204 	int tmp = OP_glClipPlanex;memcpy(ptr, &tmp, 4); ptr += 4;
2205 	memcpy(ptr, &totalSize, 4);  ptr += 4;
2206 
2207 		memcpy(ptr, &pname, 4); ptr += 4;
2208 	*(unsigned int *)(ptr) = __size_eqn; ptr += 4;
2209 	memcpy(ptr, eqn, __size_eqn);ptr += __size_eqn;
2210 
2211 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
2212 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
2213 
2214 }
2215 
glGenBuffers_enc(void * self,GLsizei n,GLuint * buffers)2216 void glGenBuffers_enc(void *self , GLsizei n, GLuint* buffers)
2217 {
2218 
2219 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
2220 	IOStream *stream = ctx->m_stream;
2221 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
2222 	bool useChecksum = checksumCalculator->getVersion() > 0;
2223 
2224 	const unsigned int __size_buffers =  (n * sizeof(GLuint));
2225 	 unsigned char *ptr;
2226 	 unsigned char *buf;
2227 	 const size_t sizeWithoutChecksum = 8 + 4 + __size_buffers + 1*4;
2228 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
2229 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
2230 	buf = stream->alloc(totalSize);
2231 	ptr = buf;
2232 	int tmp = OP_glGenBuffers;memcpy(ptr, &tmp, 4); ptr += 4;
2233 	memcpy(ptr, &totalSize, 4);  ptr += 4;
2234 
2235 		memcpy(ptr, &n, 4); ptr += 4;
2236 	*(unsigned int *)(ptr) = __size_buffers; ptr += 4;
2237 
2238 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
2239 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
2240 
2241 	stream->readback(buffers, __size_buffers);
2242 	if (useChecksum) checksumCalculator->addBuffer(buffers, __size_buffers);
2243 	if (useChecksum) {
2244 		unsigned char *checksumBufPtr = NULL;
2245 		std::vector<unsigned char> checksumBuf(checksumSize);
2246 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
2247 		stream->readback(checksumBufPtr, checksumSize);
2248 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
2249 			ALOGE("glGenBuffers: GL communication error, please report this issue to b.android.com.\n");
2250 			abort();
2251 		}
2252 	}
2253 }
2254 
glGenTextures_enc(void * self,GLsizei n,GLuint * textures)2255 void glGenTextures_enc(void *self , GLsizei n, GLuint* textures)
2256 {
2257 
2258 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
2259 	IOStream *stream = ctx->m_stream;
2260 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
2261 	bool useChecksum = checksumCalculator->getVersion() > 0;
2262 
2263 	const unsigned int __size_textures =  (n * sizeof(GLuint));
2264 	 unsigned char *ptr;
2265 	 unsigned char *buf;
2266 	 const size_t sizeWithoutChecksum = 8 + 4 + __size_textures + 1*4;
2267 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
2268 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
2269 	buf = stream->alloc(totalSize);
2270 	ptr = buf;
2271 	int tmp = OP_glGenTextures;memcpy(ptr, &tmp, 4); ptr += 4;
2272 	memcpy(ptr, &totalSize, 4);  ptr += 4;
2273 
2274 		memcpy(ptr, &n, 4); ptr += 4;
2275 	*(unsigned int *)(ptr) = __size_textures; ptr += 4;
2276 
2277 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
2278 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
2279 
2280 	stream->readback(textures, __size_textures);
2281 	if (useChecksum) checksumCalculator->addBuffer(textures, __size_textures);
2282 	if (useChecksum) {
2283 		unsigned char *checksumBufPtr = NULL;
2284 		std::vector<unsigned char> checksumBuf(checksumSize);
2285 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
2286 		stream->readback(checksumBufPtr, checksumSize);
2287 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
2288 			ALOGE("glGenTextures: GL communication error, please report this issue to b.android.com.\n");
2289 			abort();
2290 		}
2291 	}
2292 }
2293 
glGetError_enc(void * self)2294 GLenum glGetError_enc(void *self )
2295 {
2296 
2297 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
2298 	IOStream *stream = ctx->m_stream;
2299 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
2300 	bool useChecksum = checksumCalculator->getVersion() > 0;
2301 
2302 	 unsigned char *ptr;
2303 	 unsigned char *buf;
2304 	 const size_t sizeWithoutChecksum = 8;
2305 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
2306 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
2307 	buf = stream->alloc(totalSize);
2308 	ptr = buf;
2309 	int tmp = OP_glGetError;memcpy(ptr, &tmp, 4); ptr += 4;
2310 	memcpy(ptr, &totalSize, 4);  ptr += 4;
2311 
2312 
2313 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
2314 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
2315 
2316 
2317 	GLenum retval;
2318 	stream->readback(&retval, 4);
2319 	if (useChecksum) checksumCalculator->addBuffer(&retval, 4);
2320 	if (useChecksum) {
2321 		unsigned char *checksumBufPtr = NULL;
2322 		std::vector<unsigned char> checksumBuf(checksumSize);
2323 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
2324 		stream->readback(checksumBufPtr, checksumSize);
2325 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
2326 			ALOGE("glGetError: GL communication error, please report this issue to b.android.com.\n");
2327 			abort();
2328 		}
2329 	}
2330 	return retval;
2331 }
2332 
glGetFixedv_enc(void * self,GLenum pname,GLfixed * params)2333 void glGetFixedv_enc(void *self , GLenum pname, GLfixed* params)
2334 {
2335 
2336 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
2337 	IOStream *stream = ctx->m_stream;
2338 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
2339 	bool useChecksum = checksumCalculator->getVersion() > 0;
2340 
2341 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLfixed));
2342 	 unsigned char *ptr;
2343 	 unsigned char *buf;
2344 	 const size_t sizeWithoutChecksum = 8 + 4 + __size_params + 1*4;
2345 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
2346 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
2347 	buf = stream->alloc(totalSize);
2348 	ptr = buf;
2349 	int tmp = OP_glGetFixedv;memcpy(ptr, &tmp, 4); ptr += 4;
2350 	memcpy(ptr, &totalSize, 4);  ptr += 4;
2351 
2352 		memcpy(ptr, &pname, 4); ptr += 4;
2353 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
2354 
2355 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
2356 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
2357 
2358 	stream->readback(params, __size_params);
2359 	if (useChecksum) checksumCalculator->addBuffer(params, __size_params);
2360 	if (useChecksum) {
2361 		unsigned char *checksumBufPtr = NULL;
2362 		std::vector<unsigned char> checksumBuf(checksumSize);
2363 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
2364 		stream->readback(checksumBufPtr, checksumSize);
2365 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
2366 			ALOGE("glGetFixedv: GL communication error, please report this issue to b.android.com.\n");
2367 			abort();
2368 		}
2369 	}
2370 }
2371 
glGetIntegerv_enc(void * self,GLenum pname,GLint * params)2372 void glGetIntegerv_enc(void *self , GLenum pname, GLint* params)
2373 {
2374 
2375 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
2376 	IOStream *stream = ctx->m_stream;
2377 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
2378 	bool useChecksum = checksumCalculator->getVersion() > 0;
2379 
2380 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLint));
2381 	 unsigned char *ptr;
2382 	 unsigned char *buf;
2383 	 const size_t sizeWithoutChecksum = 8 + 4 + __size_params + 1*4;
2384 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
2385 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
2386 	buf = stream->alloc(totalSize);
2387 	ptr = buf;
2388 	int tmp = OP_glGetIntegerv;memcpy(ptr, &tmp, 4); ptr += 4;
2389 	memcpy(ptr, &totalSize, 4);  ptr += 4;
2390 
2391 		memcpy(ptr, &pname, 4); ptr += 4;
2392 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
2393 
2394 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
2395 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
2396 
2397 	stream->readback(params, __size_params);
2398 	if (useChecksum) checksumCalculator->addBuffer(params, __size_params);
2399 	if (useChecksum) {
2400 		unsigned char *checksumBufPtr = NULL;
2401 		std::vector<unsigned char> checksumBuf(checksumSize);
2402 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
2403 		stream->readback(checksumBufPtr, checksumSize);
2404 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
2405 			ALOGE("glGetIntegerv: GL communication error, please report this issue to b.android.com.\n");
2406 			abort();
2407 		}
2408 	}
2409 }
2410 
glGetLightxv_enc(void * self,GLenum light,GLenum pname,GLfixed * params)2411 void glGetLightxv_enc(void *self , GLenum light, GLenum pname, GLfixed* params)
2412 {
2413 
2414 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
2415 	IOStream *stream = ctx->m_stream;
2416 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
2417 	bool useChecksum = checksumCalculator->getVersion() > 0;
2418 
2419 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLfixed));
2420 	 unsigned char *ptr;
2421 	 unsigned char *buf;
2422 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + __size_params + 1*4;
2423 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
2424 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
2425 	buf = stream->alloc(totalSize);
2426 	ptr = buf;
2427 	int tmp = OP_glGetLightxv;memcpy(ptr, &tmp, 4); ptr += 4;
2428 	memcpy(ptr, &totalSize, 4);  ptr += 4;
2429 
2430 		memcpy(ptr, &light, 4); ptr += 4;
2431 		memcpy(ptr, &pname, 4); ptr += 4;
2432 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
2433 
2434 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
2435 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
2436 
2437 	stream->readback(params, __size_params);
2438 	if (useChecksum) checksumCalculator->addBuffer(params, __size_params);
2439 	if (useChecksum) {
2440 		unsigned char *checksumBufPtr = NULL;
2441 		std::vector<unsigned char> checksumBuf(checksumSize);
2442 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
2443 		stream->readback(checksumBufPtr, checksumSize);
2444 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
2445 			ALOGE("glGetLightxv: GL communication error, please report this issue to b.android.com.\n");
2446 			abort();
2447 		}
2448 	}
2449 }
2450 
glGetMaterialxv_enc(void * self,GLenum face,GLenum pname,GLfixed * params)2451 void glGetMaterialxv_enc(void *self , GLenum face, GLenum pname, GLfixed* params)
2452 {
2453 
2454 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
2455 	IOStream *stream = ctx->m_stream;
2456 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
2457 	bool useChecksum = checksumCalculator->getVersion() > 0;
2458 
2459 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLfixed));
2460 	 unsigned char *ptr;
2461 	 unsigned char *buf;
2462 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + __size_params + 1*4;
2463 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
2464 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
2465 	buf = stream->alloc(totalSize);
2466 	ptr = buf;
2467 	int tmp = OP_glGetMaterialxv;memcpy(ptr, &tmp, 4); ptr += 4;
2468 	memcpy(ptr, &totalSize, 4);  ptr += 4;
2469 
2470 		memcpy(ptr, &face, 4); ptr += 4;
2471 		memcpy(ptr, &pname, 4); ptr += 4;
2472 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
2473 
2474 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
2475 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
2476 
2477 	stream->readback(params, __size_params);
2478 	if (useChecksum) checksumCalculator->addBuffer(params, __size_params);
2479 	if (useChecksum) {
2480 		unsigned char *checksumBufPtr = NULL;
2481 		std::vector<unsigned char> checksumBuf(checksumSize);
2482 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
2483 		stream->readback(checksumBufPtr, checksumSize);
2484 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
2485 			ALOGE("glGetMaterialxv: GL communication error, please report this issue to b.android.com.\n");
2486 			abort();
2487 		}
2488 	}
2489 }
2490 
glGetTexEnviv_enc(void * self,GLenum env,GLenum pname,GLint * params)2491 void glGetTexEnviv_enc(void *self , GLenum env, GLenum pname, GLint* params)
2492 {
2493 
2494 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
2495 	IOStream *stream = ctx->m_stream;
2496 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
2497 	bool useChecksum = checksumCalculator->getVersion() > 0;
2498 
2499 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLint));
2500 	 unsigned char *ptr;
2501 	 unsigned char *buf;
2502 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + __size_params + 1*4;
2503 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
2504 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
2505 	buf = stream->alloc(totalSize);
2506 	ptr = buf;
2507 	int tmp = OP_glGetTexEnviv;memcpy(ptr, &tmp, 4); ptr += 4;
2508 	memcpy(ptr, &totalSize, 4);  ptr += 4;
2509 
2510 		memcpy(ptr, &env, 4); ptr += 4;
2511 		memcpy(ptr, &pname, 4); ptr += 4;
2512 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
2513 
2514 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
2515 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
2516 
2517 	stream->readback(params, __size_params);
2518 	if (useChecksum) checksumCalculator->addBuffer(params, __size_params);
2519 	if (useChecksum) {
2520 		unsigned char *checksumBufPtr = NULL;
2521 		std::vector<unsigned char> checksumBuf(checksumSize);
2522 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
2523 		stream->readback(checksumBufPtr, checksumSize);
2524 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
2525 			ALOGE("glGetTexEnviv: GL communication error, please report this issue to b.android.com.\n");
2526 			abort();
2527 		}
2528 	}
2529 }
2530 
glGetTexEnvxv_enc(void * self,GLenum env,GLenum pname,GLfixed * params)2531 void glGetTexEnvxv_enc(void *self , GLenum env, GLenum pname, GLfixed* params)
2532 {
2533 
2534 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
2535 	IOStream *stream = ctx->m_stream;
2536 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
2537 	bool useChecksum = checksumCalculator->getVersion() > 0;
2538 
2539 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLfixed));
2540 	 unsigned char *ptr;
2541 	 unsigned char *buf;
2542 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + __size_params + 1*4;
2543 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
2544 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
2545 	buf = stream->alloc(totalSize);
2546 	ptr = buf;
2547 	int tmp = OP_glGetTexEnvxv;memcpy(ptr, &tmp, 4); ptr += 4;
2548 	memcpy(ptr, &totalSize, 4);  ptr += 4;
2549 
2550 		memcpy(ptr, &env, 4); ptr += 4;
2551 		memcpy(ptr, &pname, 4); ptr += 4;
2552 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
2553 
2554 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
2555 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
2556 
2557 	stream->readback(params, __size_params);
2558 	if (useChecksum) checksumCalculator->addBuffer(params, __size_params);
2559 	if (useChecksum) {
2560 		unsigned char *checksumBufPtr = NULL;
2561 		std::vector<unsigned char> checksumBuf(checksumSize);
2562 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
2563 		stream->readback(checksumBufPtr, checksumSize);
2564 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
2565 			ALOGE("glGetTexEnvxv: GL communication error, please report this issue to b.android.com.\n");
2566 			abort();
2567 		}
2568 	}
2569 }
2570 
glGetTexParameteriv_enc(void * self,GLenum target,GLenum pname,GLint * params)2571 void glGetTexParameteriv_enc(void *self , GLenum target, GLenum pname, GLint* params)
2572 {
2573 
2574 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
2575 	IOStream *stream = ctx->m_stream;
2576 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
2577 	bool useChecksum = checksumCalculator->getVersion() > 0;
2578 
2579 	const unsigned int __size_params =  (sizeof(GLint));
2580 	 unsigned char *ptr;
2581 	 unsigned char *buf;
2582 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + __size_params + 1*4;
2583 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
2584 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
2585 	buf = stream->alloc(totalSize);
2586 	ptr = buf;
2587 	int tmp = OP_glGetTexParameteriv;memcpy(ptr, &tmp, 4); ptr += 4;
2588 	memcpy(ptr, &totalSize, 4);  ptr += 4;
2589 
2590 		memcpy(ptr, &target, 4); ptr += 4;
2591 		memcpy(ptr, &pname, 4); ptr += 4;
2592 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
2593 
2594 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
2595 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
2596 
2597 	stream->readback(params, __size_params);
2598 	if (useChecksum) checksumCalculator->addBuffer(params, __size_params);
2599 	if (useChecksum) {
2600 		unsigned char *checksumBufPtr = NULL;
2601 		std::vector<unsigned char> checksumBuf(checksumSize);
2602 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
2603 		stream->readback(checksumBufPtr, checksumSize);
2604 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
2605 			ALOGE("glGetTexParameteriv: GL communication error, please report this issue to b.android.com.\n");
2606 			abort();
2607 		}
2608 	}
2609 }
2610 
glGetTexParameterxv_enc(void * self,GLenum target,GLenum pname,GLfixed * params)2611 void glGetTexParameterxv_enc(void *self , GLenum target, GLenum pname, GLfixed* params)
2612 {
2613 
2614 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
2615 	IOStream *stream = ctx->m_stream;
2616 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
2617 	bool useChecksum = checksumCalculator->getVersion() > 0;
2618 
2619 	const unsigned int __size_params =  (sizeof(GLfixed));
2620 	 unsigned char *ptr;
2621 	 unsigned char *buf;
2622 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + __size_params + 1*4;
2623 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
2624 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
2625 	buf = stream->alloc(totalSize);
2626 	ptr = buf;
2627 	int tmp = OP_glGetTexParameterxv;memcpy(ptr, &tmp, 4); ptr += 4;
2628 	memcpy(ptr, &totalSize, 4);  ptr += 4;
2629 
2630 		memcpy(ptr, &target, 4); ptr += 4;
2631 		memcpy(ptr, &pname, 4); ptr += 4;
2632 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
2633 
2634 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
2635 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
2636 
2637 	stream->readback(params, __size_params);
2638 	if (useChecksum) checksumCalculator->addBuffer(params, __size_params);
2639 	if (useChecksum) {
2640 		unsigned char *checksumBufPtr = NULL;
2641 		std::vector<unsigned char> checksumBuf(checksumSize);
2642 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
2643 		stream->readback(checksumBufPtr, checksumSize);
2644 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
2645 			ALOGE("glGetTexParameterxv: GL communication error, please report this issue to b.android.com.\n");
2646 			abort();
2647 		}
2648 	}
2649 }
2650 
glHint_enc(void * self,GLenum target,GLenum mode)2651 void glHint_enc(void *self , GLenum target, GLenum mode)
2652 {
2653 
2654 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
2655 	IOStream *stream = ctx->m_stream;
2656 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
2657 	bool useChecksum = checksumCalculator->getVersion() > 0;
2658 
2659 	 unsigned char *ptr;
2660 	 unsigned char *buf;
2661 	 const size_t sizeWithoutChecksum = 8 + 4 + 4;
2662 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
2663 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
2664 	buf = stream->alloc(totalSize);
2665 	ptr = buf;
2666 	int tmp = OP_glHint;memcpy(ptr, &tmp, 4); ptr += 4;
2667 	memcpy(ptr, &totalSize, 4);  ptr += 4;
2668 
2669 		memcpy(ptr, &target, 4); ptr += 4;
2670 		memcpy(ptr, &mode, 4); ptr += 4;
2671 
2672 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
2673 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
2674 
2675 }
2676 
glIsBuffer_enc(void * self,GLuint buffer)2677 GLboolean glIsBuffer_enc(void *self , GLuint buffer)
2678 {
2679 
2680 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
2681 	IOStream *stream = ctx->m_stream;
2682 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
2683 	bool useChecksum = checksumCalculator->getVersion() > 0;
2684 
2685 	 unsigned char *ptr;
2686 	 unsigned char *buf;
2687 	 const size_t sizeWithoutChecksum = 8 + 4;
2688 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
2689 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
2690 	buf = stream->alloc(totalSize);
2691 	ptr = buf;
2692 	int tmp = OP_glIsBuffer;memcpy(ptr, &tmp, 4); ptr += 4;
2693 	memcpy(ptr, &totalSize, 4);  ptr += 4;
2694 
2695 		memcpy(ptr, &buffer, 4); ptr += 4;
2696 
2697 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
2698 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
2699 
2700 
2701 	GLboolean retval;
2702 	stream->readback(&retval, 1);
2703 	if (useChecksum) checksumCalculator->addBuffer(&retval, 1);
2704 	if (useChecksum) {
2705 		unsigned char *checksumBufPtr = NULL;
2706 		std::vector<unsigned char> checksumBuf(checksumSize);
2707 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
2708 		stream->readback(checksumBufPtr, checksumSize);
2709 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
2710 			ALOGE("glIsBuffer: GL communication error, please report this issue to b.android.com.\n");
2711 			abort();
2712 		}
2713 	}
2714 	return retval;
2715 }
2716 
glIsEnabled_enc(void * self,GLenum cap)2717 GLboolean glIsEnabled_enc(void *self , GLenum cap)
2718 {
2719 
2720 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
2721 	IOStream *stream = ctx->m_stream;
2722 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
2723 	bool useChecksum = checksumCalculator->getVersion() > 0;
2724 
2725 	 unsigned char *ptr;
2726 	 unsigned char *buf;
2727 	 const size_t sizeWithoutChecksum = 8 + 4;
2728 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
2729 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
2730 	buf = stream->alloc(totalSize);
2731 	ptr = buf;
2732 	int tmp = OP_glIsEnabled;memcpy(ptr, &tmp, 4); ptr += 4;
2733 	memcpy(ptr, &totalSize, 4);  ptr += 4;
2734 
2735 		memcpy(ptr, &cap, 4); ptr += 4;
2736 
2737 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
2738 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
2739 
2740 
2741 	GLboolean retval;
2742 	stream->readback(&retval, 1);
2743 	if (useChecksum) checksumCalculator->addBuffer(&retval, 1);
2744 	if (useChecksum) {
2745 		unsigned char *checksumBufPtr = NULL;
2746 		std::vector<unsigned char> checksumBuf(checksumSize);
2747 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
2748 		stream->readback(checksumBufPtr, checksumSize);
2749 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
2750 			ALOGE("glIsEnabled: GL communication error, please report this issue to b.android.com.\n");
2751 			abort();
2752 		}
2753 	}
2754 	return retval;
2755 }
2756 
glIsTexture_enc(void * self,GLuint texture)2757 GLboolean glIsTexture_enc(void *self , GLuint texture)
2758 {
2759 
2760 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
2761 	IOStream *stream = ctx->m_stream;
2762 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
2763 	bool useChecksum = checksumCalculator->getVersion() > 0;
2764 
2765 	 unsigned char *ptr;
2766 	 unsigned char *buf;
2767 	 const size_t sizeWithoutChecksum = 8 + 4;
2768 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
2769 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
2770 	buf = stream->alloc(totalSize);
2771 	ptr = buf;
2772 	int tmp = OP_glIsTexture;memcpy(ptr, &tmp, 4); ptr += 4;
2773 	memcpy(ptr, &totalSize, 4);  ptr += 4;
2774 
2775 		memcpy(ptr, &texture, 4); ptr += 4;
2776 
2777 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
2778 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
2779 
2780 
2781 	GLboolean retval;
2782 	stream->readback(&retval, 1);
2783 	if (useChecksum) checksumCalculator->addBuffer(&retval, 1);
2784 	if (useChecksum) {
2785 		unsigned char *checksumBufPtr = NULL;
2786 		std::vector<unsigned char> checksumBuf(checksumSize);
2787 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
2788 		stream->readback(checksumBufPtr, checksumSize);
2789 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
2790 			ALOGE("glIsTexture: GL communication error, please report this issue to b.android.com.\n");
2791 			abort();
2792 		}
2793 	}
2794 	return retval;
2795 }
2796 
glLightModelx_enc(void * self,GLenum pname,GLfixed param)2797 void glLightModelx_enc(void *self , GLenum pname, GLfixed param)
2798 {
2799 
2800 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
2801 	IOStream *stream = ctx->m_stream;
2802 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
2803 	bool useChecksum = checksumCalculator->getVersion() > 0;
2804 
2805 	 unsigned char *ptr;
2806 	 unsigned char *buf;
2807 	 const size_t sizeWithoutChecksum = 8 + 4 + 4;
2808 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
2809 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
2810 	buf = stream->alloc(totalSize);
2811 	ptr = buf;
2812 	int tmp = OP_glLightModelx;memcpy(ptr, &tmp, 4); ptr += 4;
2813 	memcpy(ptr, &totalSize, 4);  ptr += 4;
2814 
2815 		memcpy(ptr, &pname, 4); ptr += 4;
2816 		memcpy(ptr, &param, 4); ptr += 4;
2817 
2818 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
2819 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
2820 
2821 }
2822 
glLightModelxv_enc(void * self,GLenum pname,const GLfixed * params)2823 void glLightModelxv_enc(void *self , GLenum pname, const GLfixed* params)
2824 {
2825 
2826 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
2827 	IOStream *stream = ctx->m_stream;
2828 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
2829 	bool useChecksum = checksumCalculator->getVersion() > 0;
2830 
2831 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLfixed));
2832 	 unsigned char *ptr;
2833 	 unsigned char *buf;
2834 	 const size_t sizeWithoutChecksum = 8 + 4 + __size_params + 1*4;
2835 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
2836 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
2837 	buf = stream->alloc(totalSize);
2838 	ptr = buf;
2839 	int tmp = OP_glLightModelxv;memcpy(ptr, &tmp, 4); ptr += 4;
2840 	memcpy(ptr, &totalSize, 4);  ptr += 4;
2841 
2842 		memcpy(ptr, &pname, 4); ptr += 4;
2843 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
2844 	memcpy(ptr, params, __size_params);ptr += __size_params;
2845 
2846 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
2847 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
2848 
2849 }
2850 
glLightx_enc(void * self,GLenum light,GLenum pname,GLfixed param)2851 void glLightx_enc(void *self , GLenum light, GLenum pname, GLfixed param)
2852 {
2853 
2854 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
2855 	IOStream *stream = ctx->m_stream;
2856 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
2857 	bool useChecksum = checksumCalculator->getVersion() > 0;
2858 
2859 	 unsigned char *ptr;
2860 	 unsigned char *buf;
2861 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4;
2862 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
2863 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
2864 	buf = stream->alloc(totalSize);
2865 	ptr = buf;
2866 	int tmp = OP_glLightx;memcpy(ptr, &tmp, 4); ptr += 4;
2867 	memcpy(ptr, &totalSize, 4);  ptr += 4;
2868 
2869 		memcpy(ptr, &light, 4); ptr += 4;
2870 		memcpy(ptr, &pname, 4); ptr += 4;
2871 		memcpy(ptr, &param, 4); ptr += 4;
2872 
2873 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
2874 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
2875 
2876 }
2877 
glLightxv_enc(void * self,GLenum light,GLenum pname,const GLfixed * params)2878 void glLightxv_enc(void *self , GLenum light, GLenum pname, const GLfixed* params)
2879 {
2880 
2881 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
2882 	IOStream *stream = ctx->m_stream;
2883 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
2884 	bool useChecksum = checksumCalculator->getVersion() > 0;
2885 
2886 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLfixed));
2887 	 unsigned char *ptr;
2888 	 unsigned char *buf;
2889 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + __size_params + 1*4;
2890 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
2891 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
2892 	buf = stream->alloc(totalSize);
2893 	ptr = buf;
2894 	int tmp = OP_glLightxv;memcpy(ptr, &tmp, 4); ptr += 4;
2895 	memcpy(ptr, &totalSize, 4);  ptr += 4;
2896 
2897 		memcpy(ptr, &light, 4); ptr += 4;
2898 		memcpy(ptr, &pname, 4); ptr += 4;
2899 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
2900 	memcpy(ptr, params, __size_params);ptr += __size_params;
2901 
2902 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
2903 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
2904 
2905 }
2906 
glLineWidthx_enc(void * self,GLfixed width)2907 void glLineWidthx_enc(void *self , GLfixed width)
2908 {
2909 
2910 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
2911 	IOStream *stream = ctx->m_stream;
2912 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
2913 	bool useChecksum = checksumCalculator->getVersion() > 0;
2914 
2915 	 unsigned char *ptr;
2916 	 unsigned char *buf;
2917 	 const size_t sizeWithoutChecksum = 8 + 4;
2918 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
2919 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
2920 	buf = stream->alloc(totalSize);
2921 	ptr = buf;
2922 	int tmp = OP_glLineWidthx;memcpy(ptr, &tmp, 4); ptr += 4;
2923 	memcpy(ptr, &totalSize, 4);  ptr += 4;
2924 
2925 		memcpy(ptr, &width, 4); ptr += 4;
2926 
2927 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
2928 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
2929 
2930 }
2931 
glLoadIdentity_enc(void * self)2932 void glLoadIdentity_enc(void *self )
2933 {
2934 
2935 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
2936 	IOStream *stream = ctx->m_stream;
2937 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
2938 	bool useChecksum = checksumCalculator->getVersion() > 0;
2939 
2940 	 unsigned char *ptr;
2941 	 unsigned char *buf;
2942 	 const size_t sizeWithoutChecksum = 8;
2943 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
2944 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
2945 	buf = stream->alloc(totalSize);
2946 	ptr = buf;
2947 	int tmp = OP_glLoadIdentity;memcpy(ptr, &tmp, 4); ptr += 4;
2948 	memcpy(ptr, &totalSize, 4);  ptr += 4;
2949 
2950 
2951 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
2952 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
2953 
2954 }
2955 
glLoadMatrixx_enc(void * self,const GLfixed * m)2956 void glLoadMatrixx_enc(void *self , const GLfixed* m)
2957 {
2958 
2959 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
2960 	IOStream *stream = ctx->m_stream;
2961 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
2962 	bool useChecksum = checksumCalculator->getVersion() > 0;
2963 
2964 	const unsigned int __size_m =  (16 * sizeof(GLfixed));
2965 	 unsigned char *ptr;
2966 	 unsigned char *buf;
2967 	 const size_t sizeWithoutChecksum = 8 + __size_m + 1*4;
2968 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
2969 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
2970 	buf = stream->alloc(totalSize);
2971 	ptr = buf;
2972 	int tmp = OP_glLoadMatrixx;memcpy(ptr, &tmp, 4); ptr += 4;
2973 	memcpy(ptr, &totalSize, 4);  ptr += 4;
2974 
2975 	*(unsigned int *)(ptr) = __size_m; ptr += 4;
2976 	memcpy(ptr, m, __size_m);ptr += __size_m;
2977 
2978 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
2979 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
2980 
2981 }
2982 
glLogicOp_enc(void * self,GLenum opcode)2983 void glLogicOp_enc(void *self , GLenum opcode)
2984 {
2985 
2986 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
2987 	IOStream *stream = ctx->m_stream;
2988 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
2989 	bool useChecksum = checksumCalculator->getVersion() > 0;
2990 
2991 	 unsigned char *ptr;
2992 	 unsigned char *buf;
2993 	 const size_t sizeWithoutChecksum = 8 + 4;
2994 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
2995 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
2996 	buf = stream->alloc(totalSize);
2997 	ptr = buf;
2998 	int tmp = OP_glLogicOp;memcpy(ptr, &tmp, 4); ptr += 4;
2999 	memcpy(ptr, &totalSize, 4);  ptr += 4;
3000 
3001 		memcpy(ptr, &opcode, 4); ptr += 4;
3002 
3003 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
3004 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
3005 
3006 }
3007 
glMaterialx_enc(void * self,GLenum face,GLenum pname,GLfixed param)3008 void glMaterialx_enc(void *self , GLenum face, GLenum pname, GLfixed param)
3009 {
3010 
3011 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
3012 	IOStream *stream = ctx->m_stream;
3013 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
3014 	bool useChecksum = checksumCalculator->getVersion() > 0;
3015 
3016 	 unsigned char *ptr;
3017 	 unsigned char *buf;
3018 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4;
3019 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
3020 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
3021 	buf = stream->alloc(totalSize);
3022 	ptr = buf;
3023 	int tmp = OP_glMaterialx;memcpy(ptr, &tmp, 4); ptr += 4;
3024 	memcpy(ptr, &totalSize, 4);  ptr += 4;
3025 
3026 		memcpy(ptr, &face, 4); ptr += 4;
3027 		memcpy(ptr, &pname, 4); ptr += 4;
3028 		memcpy(ptr, &param, 4); ptr += 4;
3029 
3030 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
3031 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
3032 
3033 }
3034 
glMaterialxv_enc(void * self,GLenum face,GLenum pname,const GLfixed * params)3035 void glMaterialxv_enc(void *self , GLenum face, GLenum pname, const GLfixed* params)
3036 {
3037 
3038 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
3039 	IOStream *stream = ctx->m_stream;
3040 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
3041 	bool useChecksum = checksumCalculator->getVersion() > 0;
3042 
3043 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLfixed));
3044 	 unsigned char *ptr;
3045 	 unsigned char *buf;
3046 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + __size_params + 1*4;
3047 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
3048 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
3049 	buf = stream->alloc(totalSize);
3050 	ptr = buf;
3051 	int tmp = OP_glMaterialxv;memcpy(ptr, &tmp, 4); ptr += 4;
3052 	memcpy(ptr, &totalSize, 4);  ptr += 4;
3053 
3054 		memcpy(ptr, &face, 4); ptr += 4;
3055 		memcpy(ptr, &pname, 4); ptr += 4;
3056 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
3057 	memcpy(ptr, params, __size_params);ptr += __size_params;
3058 
3059 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
3060 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
3061 
3062 }
3063 
glMatrixMode_enc(void * self,GLenum mode)3064 void glMatrixMode_enc(void *self , GLenum mode)
3065 {
3066 
3067 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
3068 	IOStream *stream = ctx->m_stream;
3069 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
3070 	bool useChecksum = checksumCalculator->getVersion() > 0;
3071 
3072 	 unsigned char *ptr;
3073 	 unsigned char *buf;
3074 	 const size_t sizeWithoutChecksum = 8 + 4;
3075 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
3076 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
3077 	buf = stream->alloc(totalSize);
3078 	ptr = buf;
3079 	int tmp = OP_glMatrixMode;memcpy(ptr, &tmp, 4); ptr += 4;
3080 	memcpy(ptr, &totalSize, 4);  ptr += 4;
3081 
3082 		memcpy(ptr, &mode, 4); ptr += 4;
3083 
3084 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
3085 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
3086 
3087 }
3088 
glMultMatrixx_enc(void * self,const GLfixed * m)3089 void glMultMatrixx_enc(void *self , const GLfixed* m)
3090 {
3091 
3092 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
3093 	IOStream *stream = ctx->m_stream;
3094 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
3095 	bool useChecksum = checksumCalculator->getVersion() > 0;
3096 
3097 	const unsigned int __size_m =  (16 * sizeof(GLfixed));
3098 	 unsigned char *ptr;
3099 	 unsigned char *buf;
3100 	 const size_t sizeWithoutChecksum = 8 + __size_m + 1*4;
3101 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
3102 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
3103 	buf = stream->alloc(totalSize);
3104 	ptr = buf;
3105 	int tmp = OP_glMultMatrixx;memcpy(ptr, &tmp, 4); ptr += 4;
3106 	memcpy(ptr, &totalSize, 4);  ptr += 4;
3107 
3108 	*(unsigned int *)(ptr) = __size_m; ptr += 4;
3109 	memcpy(ptr, m, __size_m);ptr += __size_m;
3110 
3111 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
3112 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
3113 
3114 }
3115 
glMultiTexCoord4x_enc(void * self,GLenum target,GLfixed s,GLfixed t,GLfixed r,GLfixed q)3116 void glMultiTexCoord4x_enc(void *self , GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q)
3117 {
3118 
3119 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
3120 	IOStream *stream = ctx->m_stream;
3121 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
3122 	bool useChecksum = checksumCalculator->getVersion() > 0;
3123 
3124 	 unsigned char *ptr;
3125 	 unsigned char *buf;
3126 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4 + 4;
3127 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
3128 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
3129 	buf = stream->alloc(totalSize);
3130 	ptr = buf;
3131 	int tmp = OP_glMultiTexCoord4x;memcpy(ptr, &tmp, 4); ptr += 4;
3132 	memcpy(ptr, &totalSize, 4);  ptr += 4;
3133 
3134 		memcpy(ptr, &target, 4); ptr += 4;
3135 		memcpy(ptr, &s, 4); ptr += 4;
3136 		memcpy(ptr, &t, 4); ptr += 4;
3137 		memcpy(ptr, &r, 4); ptr += 4;
3138 		memcpy(ptr, &q, 4); ptr += 4;
3139 
3140 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
3141 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
3142 
3143 }
3144 
glNormal3x_enc(void * self,GLfixed nx,GLfixed ny,GLfixed nz)3145 void glNormal3x_enc(void *self , GLfixed nx, GLfixed ny, GLfixed nz)
3146 {
3147 
3148 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
3149 	IOStream *stream = ctx->m_stream;
3150 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
3151 	bool useChecksum = checksumCalculator->getVersion() > 0;
3152 
3153 	 unsigned char *ptr;
3154 	 unsigned char *buf;
3155 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4;
3156 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
3157 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
3158 	buf = stream->alloc(totalSize);
3159 	ptr = buf;
3160 	int tmp = OP_glNormal3x;memcpy(ptr, &tmp, 4); ptr += 4;
3161 	memcpy(ptr, &totalSize, 4);  ptr += 4;
3162 
3163 		memcpy(ptr, &nx, 4); ptr += 4;
3164 		memcpy(ptr, &ny, 4); ptr += 4;
3165 		memcpy(ptr, &nz, 4); ptr += 4;
3166 
3167 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
3168 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
3169 
3170 }
3171 
glOrthox_enc(void * self,GLfixed left,GLfixed right,GLfixed bottom,GLfixed top,GLfixed zNear,GLfixed zFar)3172 void glOrthox_enc(void *self , GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar)
3173 {
3174 
3175 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
3176 	IOStream *stream = ctx->m_stream;
3177 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
3178 	bool useChecksum = checksumCalculator->getVersion() > 0;
3179 
3180 	 unsigned char *ptr;
3181 	 unsigned char *buf;
3182 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4 + 4 + 4;
3183 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
3184 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
3185 	buf = stream->alloc(totalSize);
3186 	ptr = buf;
3187 	int tmp = OP_glOrthox;memcpy(ptr, &tmp, 4); ptr += 4;
3188 	memcpy(ptr, &totalSize, 4);  ptr += 4;
3189 
3190 		memcpy(ptr, &left, 4); ptr += 4;
3191 		memcpy(ptr, &right, 4); ptr += 4;
3192 		memcpy(ptr, &bottom, 4); ptr += 4;
3193 		memcpy(ptr, &top, 4); ptr += 4;
3194 		memcpy(ptr, &zNear, 4); ptr += 4;
3195 		memcpy(ptr, &zFar, 4); ptr += 4;
3196 
3197 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
3198 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
3199 
3200 }
3201 
glPixelStorei_enc(void * self,GLenum pname,GLint param)3202 void glPixelStorei_enc(void *self , GLenum pname, GLint param)
3203 {
3204 
3205 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
3206 	IOStream *stream = ctx->m_stream;
3207 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
3208 	bool useChecksum = checksumCalculator->getVersion() > 0;
3209 
3210 	 unsigned char *ptr;
3211 	 unsigned char *buf;
3212 	 const size_t sizeWithoutChecksum = 8 + 4 + 4;
3213 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
3214 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
3215 	buf = stream->alloc(totalSize);
3216 	ptr = buf;
3217 	int tmp = OP_glPixelStorei;memcpy(ptr, &tmp, 4); ptr += 4;
3218 	memcpy(ptr, &totalSize, 4);  ptr += 4;
3219 
3220 		memcpy(ptr, &pname, 4); ptr += 4;
3221 		memcpy(ptr, &param, 4); ptr += 4;
3222 
3223 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
3224 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
3225 
3226 }
3227 
glPointParameterx_enc(void * self,GLenum pname,GLfixed param)3228 void glPointParameterx_enc(void *self , GLenum pname, GLfixed param)
3229 {
3230 
3231 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
3232 	IOStream *stream = ctx->m_stream;
3233 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
3234 	bool useChecksum = checksumCalculator->getVersion() > 0;
3235 
3236 	 unsigned char *ptr;
3237 	 unsigned char *buf;
3238 	 const size_t sizeWithoutChecksum = 8 + 4 + 4;
3239 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
3240 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
3241 	buf = stream->alloc(totalSize);
3242 	ptr = buf;
3243 	int tmp = OP_glPointParameterx;memcpy(ptr, &tmp, 4); ptr += 4;
3244 	memcpy(ptr, &totalSize, 4);  ptr += 4;
3245 
3246 		memcpy(ptr, &pname, 4); ptr += 4;
3247 		memcpy(ptr, &param, 4); ptr += 4;
3248 
3249 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
3250 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
3251 
3252 }
3253 
glPointParameterxv_enc(void * self,GLenum pname,const GLfixed * params)3254 void glPointParameterxv_enc(void *self , GLenum pname, const GLfixed* params)
3255 {
3256 
3257 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
3258 	IOStream *stream = ctx->m_stream;
3259 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
3260 	bool useChecksum = checksumCalculator->getVersion() > 0;
3261 
3262 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLfixed));
3263 	 unsigned char *ptr;
3264 	 unsigned char *buf;
3265 	 const size_t sizeWithoutChecksum = 8 + 4 + __size_params + 1*4;
3266 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
3267 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
3268 	buf = stream->alloc(totalSize);
3269 	ptr = buf;
3270 	int tmp = OP_glPointParameterxv;memcpy(ptr, &tmp, 4); ptr += 4;
3271 	memcpy(ptr, &totalSize, 4);  ptr += 4;
3272 
3273 		memcpy(ptr, &pname, 4); ptr += 4;
3274 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
3275 	memcpy(ptr, params, __size_params);ptr += __size_params;
3276 
3277 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
3278 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
3279 
3280 }
3281 
glPointSizex_enc(void * self,GLfixed size)3282 void glPointSizex_enc(void *self , GLfixed size)
3283 {
3284 
3285 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
3286 	IOStream *stream = ctx->m_stream;
3287 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
3288 	bool useChecksum = checksumCalculator->getVersion() > 0;
3289 
3290 	 unsigned char *ptr;
3291 	 unsigned char *buf;
3292 	 const size_t sizeWithoutChecksum = 8 + 4;
3293 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
3294 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
3295 	buf = stream->alloc(totalSize);
3296 	ptr = buf;
3297 	int tmp = OP_glPointSizex;memcpy(ptr, &tmp, 4); ptr += 4;
3298 	memcpy(ptr, &totalSize, 4);  ptr += 4;
3299 
3300 		memcpy(ptr, &size, 4); ptr += 4;
3301 
3302 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
3303 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
3304 
3305 }
3306 
glPolygonOffsetx_enc(void * self,GLfixed factor,GLfixed units)3307 void glPolygonOffsetx_enc(void *self , GLfixed factor, GLfixed units)
3308 {
3309 
3310 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
3311 	IOStream *stream = ctx->m_stream;
3312 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
3313 	bool useChecksum = checksumCalculator->getVersion() > 0;
3314 
3315 	 unsigned char *ptr;
3316 	 unsigned char *buf;
3317 	 const size_t sizeWithoutChecksum = 8 + 4 + 4;
3318 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
3319 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
3320 	buf = stream->alloc(totalSize);
3321 	ptr = buf;
3322 	int tmp = OP_glPolygonOffsetx;memcpy(ptr, &tmp, 4); ptr += 4;
3323 	memcpy(ptr, &totalSize, 4);  ptr += 4;
3324 
3325 		memcpy(ptr, &factor, 4); ptr += 4;
3326 		memcpy(ptr, &units, 4); ptr += 4;
3327 
3328 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
3329 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
3330 
3331 }
3332 
glPopMatrix_enc(void * self)3333 void glPopMatrix_enc(void *self )
3334 {
3335 
3336 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
3337 	IOStream *stream = ctx->m_stream;
3338 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
3339 	bool useChecksum = checksumCalculator->getVersion() > 0;
3340 
3341 	 unsigned char *ptr;
3342 	 unsigned char *buf;
3343 	 const size_t sizeWithoutChecksum = 8;
3344 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
3345 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
3346 	buf = stream->alloc(totalSize);
3347 	ptr = buf;
3348 	int tmp = OP_glPopMatrix;memcpy(ptr, &tmp, 4); ptr += 4;
3349 	memcpy(ptr, &totalSize, 4);  ptr += 4;
3350 
3351 
3352 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
3353 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
3354 
3355 }
3356 
glPushMatrix_enc(void * self)3357 void glPushMatrix_enc(void *self )
3358 {
3359 
3360 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
3361 	IOStream *stream = ctx->m_stream;
3362 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
3363 	bool useChecksum = checksumCalculator->getVersion() > 0;
3364 
3365 	 unsigned char *ptr;
3366 	 unsigned char *buf;
3367 	 const size_t sizeWithoutChecksum = 8;
3368 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
3369 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
3370 	buf = stream->alloc(totalSize);
3371 	ptr = buf;
3372 	int tmp = OP_glPushMatrix;memcpy(ptr, &tmp, 4); ptr += 4;
3373 	memcpy(ptr, &totalSize, 4);  ptr += 4;
3374 
3375 
3376 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
3377 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
3378 
3379 }
3380 
glReadPixels_enc(void * self,GLint x,GLint y,GLsizei width,GLsizei height,GLenum format,GLenum type,GLvoid * pixels)3381 void glReadPixels_enc(void *self , GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels)
3382 {
3383 
3384 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
3385 	IOStream *stream = ctx->m_stream;
3386 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
3387 	bool useChecksum = checksumCalculator->getVersion() > 0;
3388 
3389 	const unsigned int __size_pixels =  glesv1_enc::pixelDataSize(self, width, height, format, type, 1);
3390 	 unsigned char *ptr;
3391 	 unsigned char *buf;
3392 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4 + 4 + 4 + __size_pixels + 1*4;
3393 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
3394 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
3395 	buf = stream->alloc(totalSize);
3396 	ptr = buf;
3397 	int tmp = OP_glReadPixels;memcpy(ptr, &tmp, 4); ptr += 4;
3398 	memcpy(ptr, &totalSize, 4);  ptr += 4;
3399 
3400 		memcpy(ptr, &x, 4); ptr += 4;
3401 		memcpy(ptr, &y, 4); ptr += 4;
3402 		memcpy(ptr, &width, 4); ptr += 4;
3403 		memcpy(ptr, &height, 4); ptr += 4;
3404 		memcpy(ptr, &format, 4); ptr += 4;
3405 		memcpy(ptr, &type, 4); ptr += 4;
3406 	*(unsigned int *)(ptr) = __size_pixels; ptr += 4;
3407 
3408 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
3409 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
3410 
3411 	stream->readback(pixels, __size_pixels);
3412 	if (useChecksum) checksumCalculator->addBuffer(pixels, __size_pixels);
3413 	if (useChecksum) {
3414 		unsigned char *checksumBufPtr = NULL;
3415 		std::vector<unsigned char> checksumBuf(checksumSize);
3416 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
3417 		stream->readback(checksumBufPtr, checksumSize);
3418 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
3419 			ALOGE("glReadPixels: GL communication error, please report this issue to b.android.com.\n");
3420 			abort();
3421 		}
3422 	}
3423 }
3424 
glRotatex_enc(void * self,GLfixed angle,GLfixed x,GLfixed y,GLfixed z)3425 void glRotatex_enc(void *self , GLfixed angle, GLfixed x, GLfixed y, GLfixed z)
3426 {
3427 
3428 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
3429 	IOStream *stream = ctx->m_stream;
3430 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
3431 	bool useChecksum = checksumCalculator->getVersion() > 0;
3432 
3433 	 unsigned char *ptr;
3434 	 unsigned char *buf;
3435 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4;
3436 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
3437 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
3438 	buf = stream->alloc(totalSize);
3439 	ptr = buf;
3440 	int tmp = OP_glRotatex;memcpy(ptr, &tmp, 4); ptr += 4;
3441 	memcpy(ptr, &totalSize, 4);  ptr += 4;
3442 
3443 		memcpy(ptr, &angle, 4); ptr += 4;
3444 		memcpy(ptr, &x, 4); ptr += 4;
3445 		memcpy(ptr, &y, 4); ptr += 4;
3446 		memcpy(ptr, &z, 4); ptr += 4;
3447 
3448 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
3449 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
3450 
3451 }
3452 
glSampleCoverage_enc(void * self,GLclampf value,GLboolean invert)3453 void glSampleCoverage_enc(void *self , GLclampf value, GLboolean invert)
3454 {
3455 
3456 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
3457 	IOStream *stream = ctx->m_stream;
3458 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
3459 	bool useChecksum = checksumCalculator->getVersion() > 0;
3460 
3461 	 unsigned char *ptr;
3462 	 unsigned char *buf;
3463 	 const size_t sizeWithoutChecksum = 8 + 4 + 1;
3464 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
3465 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
3466 	buf = stream->alloc(totalSize);
3467 	ptr = buf;
3468 	int tmp = OP_glSampleCoverage;memcpy(ptr, &tmp, 4); ptr += 4;
3469 	memcpy(ptr, &totalSize, 4);  ptr += 4;
3470 
3471 		memcpy(ptr, &value, 4); ptr += 4;
3472 		memcpy(ptr, &invert, 1); ptr += 1;
3473 
3474 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
3475 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
3476 
3477 }
3478 
glSampleCoveragex_enc(void * self,GLclampx value,GLboolean invert)3479 void glSampleCoveragex_enc(void *self , GLclampx value, GLboolean invert)
3480 {
3481 
3482 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
3483 	IOStream *stream = ctx->m_stream;
3484 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
3485 	bool useChecksum = checksumCalculator->getVersion() > 0;
3486 
3487 	 unsigned char *ptr;
3488 	 unsigned char *buf;
3489 	 const size_t sizeWithoutChecksum = 8 + 4 + 1;
3490 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
3491 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
3492 	buf = stream->alloc(totalSize);
3493 	ptr = buf;
3494 	int tmp = OP_glSampleCoveragex;memcpy(ptr, &tmp, 4); ptr += 4;
3495 	memcpy(ptr, &totalSize, 4);  ptr += 4;
3496 
3497 		memcpy(ptr, &value, 4); ptr += 4;
3498 		memcpy(ptr, &invert, 1); ptr += 1;
3499 
3500 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
3501 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
3502 
3503 }
3504 
glScalex_enc(void * self,GLfixed x,GLfixed y,GLfixed z)3505 void glScalex_enc(void *self , GLfixed x, GLfixed y, GLfixed z)
3506 {
3507 
3508 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
3509 	IOStream *stream = ctx->m_stream;
3510 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
3511 	bool useChecksum = checksumCalculator->getVersion() > 0;
3512 
3513 	 unsigned char *ptr;
3514 	 unsigned char *buf;
3515 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4;
3516 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
3517 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
3518 	buf = stream->alloc(totalSize);
3519 	ptr = buf;
3520 	int tmp = OP_glScalex;memcpy(ptr, &tmp, 4); ptr += 4;
3521 	memcpy(ptr, &totalSize, 4);  ptr += 4;
3522 
3523 		memcpy(ptr, &x, 4); ptr += 4;
3524 		memcpy(ptr, &y, 4); ptr += 4;
3525 		memcpy(ptr, &z, 4); ptr += 4;
3526 
3527 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
3528 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
3529 
3530 }
3531 
glScissor_enc(void * self,GLint x,GLint y,GLsizei width,GLsizei height)3532 void glScissor_enc(void *self , GLint x, GLint y, GLsizei width, GLsizei height)
3533 {
3534 
3535 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
3536 	IOStream *stream = ctx->m_stream;
3537 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
3538 	bool useChecksum = checksumCalculator->getVersion() > 0;
3539 
3540 	 unsigned char *ptr;
3541 	 unsigned char *buf;
3542 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4;
3543 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
3544 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
3545 	buf = stream->alloc(totalSize);
3546 	ptr = buf;
3547 	int tmp = OP_glScissor;memcpy(ptr, &tmp, 4); ptr += 4;
3548 	memcpy(ptr, &totalSize, 4);  ptr += 4;
3549 
3550 		memcpy(ptr, &x, 4); ptr += 4;
3551 		memcpy(ptr, &y, 4); ptr += 4;
3552 		memcpy(ptr, &width, 4); ptr += 4;
3553 		memcpy(ptr, &height, 4); ptr += 4;
3554 
3555 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
3556 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
3557 
3558 }
3559 
glShadeModel_enc(void * self,GLenum mode)3560 void glShadeModel_enc(void *self , GLenum mode)
3561 {
3562 
3563 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
3564 	IOStream *stream = ctx->m_stream;
3565 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
3566 	bool useChecksum = checksumCalculator->getVersion() > 0;
3567 
3568 	 unsigned char *ptr;
3569 	 unsigned char *buf;
3570 	 const size_t sizeWithoutChecksum = 8 + 4;
3571 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
3572 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
3573 	buf = stream->alloc(totalSize);
3574 	ptr = buf;
3575 	int tmp = OP_glShadeModel;memcpy(ptr, &tmp, 4); ptr += 4;
3576 	memcpy(ptr, &totalSize, 4);  ptr += 4;
3577 
3578 		memcpy(ptr, &mode, 4); ptr += 4;
3579 
3580 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
3581 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
3582 
3583 }
3584 
glStencilFunc_enc(void * self,GLenum func,GLint ref,GLuint mask)3585 void glStencilFunc_enc(void *self , GLenum func, GLint ref, GLuint mask)
3586 {
3587 
3588 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
3589 	IOStream *stream = ctx->m_stream;
3590 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
3591 	bool useChecksum = checksumCalculator->getVersion() > 0;
3592 
3593 	 unsigned char *ptr;
3594 	 unsigned char *buf;
3595 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4;
3596 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
3597 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
3598 	buf = stream->alloc(totalSize);
3599 	ptr = buf;
3600 	int tmp = OP_glStencilFunc;memcpy(ptr, &tmp, 4); ptr += 4;
3601 	memcpy(ptr, &totalSize, 4);  ptr += 4;
3602 
3603 		memcpy(ptr, &func, 4); ptr += 4;
3604 		memcpy(ptr, &ref, 4); ptr += 4;
3605 		memcpy(ptr, &mask, 4); ptr += 4;
3606 
3607 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
3608 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
3609 
3610 }
3611 
glStencilMask_enc(void * self,GLuint mask)3612 void glStencilMask_enc(void *self , GLuint mask)
3613 {
3614 
3615 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
3616 	IOStream *stream = ctx->m_stream;
3617 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
3618 	bool useChecksum = checksumCalculator->getVersion() > 0;
3619 
3620 	 unsigned char *ptr;
3621 	 unsigned char *buf;
3622 	 const size_t sizeWithoutChecksum = 8 + 4;
3623 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
3624 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
3625 	buf = stream->alloc(totalSize);
3626 	ptr = buf;
3627 	int tmp = OP_glStencilMask;memcpy(ptr, &tmp, 4); ptr += 4;
3628 	memcpy(ptr, &totalSize, 4);  ptr += 4;
3629 
3630 		memcpy(ptr, &mask, 4); ptr += 4;
3631 
3632 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
3633 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
3634 
3635 }
3636 
glStencilOp_enc(void * self,GLenum fail,GLenum zfail,GLenum zpass)3637 void glStencilOp_enc(void *self , GLenum fail, GLenum zfail, GLenum zpass)
3638 {
3639 
3640 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
3641 	IOStream *stream = ctx->m_stream;
3642 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
3643 	bool useChecksum = checksumCalculator->getVersion() > 0;
3644 
3645 	 unsigned char *ptr;
3646 	 unsigned char *buf;
3647 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4;
3648 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
3649 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
3650 	buf = stream->alloc(totalSize);
3651 	ptr = buf;
3652 	int tmp = OP_glStencilOp;memcpy(ptr, &tmp, 4); ptr += 4;
3653 	memcpy(ptr, &totalSize, 4);  ptr += 4;
3654 
3655 		memcpy(ptr, &fail, 4); ptr += 4;
3656 		memcpy(ptr, &zfail, 4); ptr += 4;
3657 		memcpy(ptr, &zpass, 4); ptr += 4;
3658 
3659 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
3660 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
3661 
3662 }
3663 
glTexEnvi_enc(void * self,GLenum target,GLenum pname,GLint param)3664 void glTexEnvi_enc(void *self , GLenum target, GLenum pname, GLint param)
3665 {
3666 
3667 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
3668 	IOStream *stream = ctx->m_stream;
3669 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
3670 	bool useChecksum = checksumCalculator->getVersion() > 0;
3671 
3672 	 unsigned char *ptr;
3673 	 unsigned char *buf;
3674 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4;
3675 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
3676 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
3677 	buf = stream->alloc(totalSize);
3678 	ptr = buf;
3679 	int tmp = OP_glTexEnvi;memcpy(ptr, &tmp, 4); ptr += 4;
3680 	memcpy(ptr, &totalSize, 4);  ptr += 4;
3681 
3682 		memcpy(ptr, &target, 4); ptr += 4;
3683 		memcpy(ptr, &pname, 4); ptr += 4;
3684 		memcpy(ptr, &param, 4); ptr += 4;
3685 
3686 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
3687 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
3688 
3689 }
3690 
glTexEnvx_enc(void * self,GLenum target,GLenum pname,GLfixed param)3691 void glTexEnvx_enc(void *self , GLenum target, GLenum pname, GLfixed param)
3692 {
3693 
3694 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
3695 	IOStream *stream = ctx->m_stream;
3696 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
3697 	bool useChecksum = checksumCalculator->getVersion() > 0;
3698 
3699 	 unsigned char *ptr;
3700 	 unsigned char *buf;
3701 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4;
3702 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
3703 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
3704 	buf = stream->alloc(totalSize);
3705 	ptr = buf;
3706 	int tmp = OP_glTexEnvx;memcpy(ptr, &tmp, 4); ptr += 4;
3707 	memcpy(ptr, &totalSize, 4);  ptr += 4;
3708 
3709 		memcpy(ptr, &target, 4); ptr += 4;
3710 		memcpy(ptr, &pname, 4); ptr += 4;
3711 		memcpy(ptr, &param, 4); ptr += 4;
3712 
3713 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
3714 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
3715 
3716 }
3717 
glTexEnviv_enc(void * self,GLenum target,GLenum pname,const GLint * params)3718 void glTexEnviv_enc(void *self , GLenum target, GLenum pname, const GLint* params)
3719 {
3720 
3721 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
3722 	IOStream *stream = ctx->m_stream;
3723 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
3724 	bool useChecksum = checksumCalculator->getVersion() > 0;
3725 
3726 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLint));
3727 	 unsigned char *ptr;
3728 	 unsigned char *buf;
3729 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + __size_params + 1*4;
3730 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
3731 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
3732 	buf = stream->alloc(totalSize);
3733 	ptr = buf;
3734 	int tmp = OP_glTexEnviv;memcpy(ptr, &tmp, 4); ptr += 4;
3735 	memcpy(ptr, &totalSize, 4);  ptr += 4;
3736 
3737 		memcpy(ptr, &target, 4); ptr += 4;
3738 		memcpy(ptr, &pname, 4); ptr += 4;
3739 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
3740 	memcpy(ptr, params, __size_params);ptr += __size_params;
3741 
3742 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
3743 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
3744 
3745 }
3746 
glTexEnvxv_enc(void * self,GLenum target,GLenum pname,const GLfixed * params)3747 void glTexEnvxv_enc(void *self , GLenum target, GLenum pname, const GLfixed* params)
3748 {
3749 
3750 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
3751 	IOStream *stream = ctx->m_stream;
3752 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
3753 	bool useChecksum = checksumCalculator->getVersion() > 0;
3754 
3755 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLfixed));
3756 	 unsigned char *ptr;
3757 	 unsigned char *buf;
3758 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + __size_params + 1*4;
3759 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
3760 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
3761 	buf = stream->alloc(totalSize);
3762 	ptr = buf;
3763 	int tmp = OP_glTexEnvxv;memcpy(ptr, &tmp, 4); ptr += 4;
3764 	memcpy(ptr, &totalSize, 4);  ptr += 4;
3765 
3766 		memcpy(ptr, &target, 4); ptr += 4;
3767 		memcpy(ptr, &pname, 4); ptr += 4;
3768 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
3769 	memcpy(ptr, params, __size_params);ptr += __size_params;
3770 
3771 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
3772 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
3773 
3774 }
3775 
glTexImage2D_enc(void * self,GLenum target,GLint level,GLint internalformat,GLsizei width,GLsizei height,GLint border,GLenum format,GLenum type,const GLvoid * pixels)3776 void glTexImage2D_enc(void *self , GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels)
3777 {
3778 
3779 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
3780 	IOStream *stream = ctx->m_stream;
3781 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
3782 	bool useChecksum = checksumCalculator->getVersion() > 0;
3783 
3784 	const unsigned int __size_pixels = ((pixels != NULL) ?  glesv1_enc::pixelDataSize(self, width, height, format, type, 0) : 0);
3785 	 unsigned char *ptr;
3786 	 unsigned char *buf;
3787 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + __size_pixels + 1*4;
3788 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
3789 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
3790 	buf = stream->alloc(8 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4);
3791 	ptr = buf;
3792 	int tmp = OP_glTexImage2D;memcpy(ptr, &tmp, 4); ptr += 4;
3793 	memcpy(ptr, &totalSize, 4);  ptr += 4;
3794 
3795 		memcpy(ptr, &target, 4); ptr += 4;
3796 		memcpy(ptr, &level, 4); ptr += 4;
3797 		memcpy(ptr, &internalformat, 4); ptr += 4;
3798 		memcpy(ptr, &width, 4); ptr += 4;
3799 		memcpy(ptr, &height, 4); ptr += 4;
3800 		memcpy(ptr, &border, 4); ptr += 4;
3801 		memcpy(ptr, &format, 4); ptr += 4;
3802 		memcpy(ptr, &type, 4); ptr += 4;
3803 
3804 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
3805 	stream->flush();
3806 	stream->writeFully(&__size_pixels,4);
3807 	if (useChecksum) checksumCalculator->addBuffer(&__size_pixels,4);
3808 	if (pixels != NULL) {
3809 		stream->writeFully(pixels, __size_pixels);
3810 		if (useChecksum) checksumCalculator->addBuffer(pixels, __size_pixels);
3811 	}
3812 	buf = stream->alloc(checksumSize);
3813 	if (useChecksum) checksumCalculator->writeChecksum(buf, checksumSize);
3814 
3815 }
3816 
glTexParameteri_enc(void * self,GLenum target,GLenum pname,GLint param)3817 void glTexParameteri_enc(void *self , GLenum target, GLenum pname, GLint param)
3818 {
3819 
3820 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
3821 	IOStream *stream = ctx->m_stream;
3822 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
3823 	bool useChecksum = checksumCalculator->getVersion() > 0;
3824 
3825 	 unsigned char *ptr;
3826 	 unsigned char *buf;
3827 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4;
3828 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
3829 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
3830 	buf = stream->alloc(totalSize);
3831 	ptr = buf;
3832 	int tmp = OP_glTexParameteri;memcpy(ptr, &tmp, 4); ptr += 4;
3833 	memcpy(ptr, &totalSize, 4);  ptr += 4;
3834 
3835 		memcpy(ptr, &target, 4); ptr += 4;
3836 		memcpy(ptr, &pname, 4); ptr += 4;
3837 		memcpy(ptr, &param, 4); ptr += 4;
3838 
3839 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
3840 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
3841 
3842 }
3843 
glTexParameterx_enc(void * self,GLenum target,GLenum pname,GLfixed param)3844 void glTexParameterx_enc(void *self , GLenum target, GLenum pname, GLfixed param)
3845 {
3846 
3847 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
3848 	IOStream *stream = ctx->m_stream;
3849 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
3850 	bool useChecksum = checksumCalculator->getVersion() > 0;
3851 
3852 	 unsigned char *ptr;
3853 	 unsigned char *buf;
3854 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4;
3855 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
3856 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
3857 	buf = stream->alloc(totalSize);
3858 	ptr = buf;
3859 	int tmp = OP_glTexParameterx;memcpy(ptr, &tmp, 4); ptr += 4;
3860 	memcpy(ptr, &totalSize, 4);  ptr += 4;
3861 
3862 		memcpy(ptr, &target, 4); ptr += 4;
3863 		memcpy(ptr, &pname, 4); ptr += 4;
3864 		memcpy(ptr, &param, 4); ptr += 4;
3865 
3866 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
3867 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
3868 
3869 }
3870 
glTexParameteriv_enc(void * self,GLenum target,GLenum pname,const GLint * params)3871 void glTexParameteriv_enc(void *self , GLenum target, GLenum pname, const GLint* params)
3872 {
3873 
3874 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
3875 	IOStream *stream = ctx->m_stream;
3876 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
3877 	bool useChecksum = checksumCalculator->getVersion() > 0;
3878 
3879 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLint));
3880 	 unsigned char *ptr;
3881 	 unsigned char *buf;
3882 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + __size_params + 1*4;
3883 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
3884 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
3885 	buf = stream->alloc(totalSize);
3886 	ptr = buf;
3887 	int tmp = OP_glTexParameteriv;memcpy(ptr, &tmp, 4); ptr += 4;
3888 	memcpy(ptr, &totalSize, 4);  ptr += 4;
3889 
3890 		memcpy(ptr, &target, 4); ptr += 4;
3891 		memcpy(ptr, &pname, 4); ptr += 4;
3892 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
3893 	memcpy(ptr, params, __size_params);ptr += __size_params;
3894 
3895 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
3896 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
3897 
3898 }
3899 
glTexParameterxv_enc(void * self,GLenum target,GLenum pname,const GLfixed * params)3900 void glTexParameterxv_enc(void *self , GLenum target, GLenum pname, const GLfixed* params)
3901 {
3902 
3903 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
3904 	IOStream *stream = ctx->m_stream;
3905 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
3906 	bool useChecksum = checksumCalculator->getVersion() > 0;
3907 
3908 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLfixed));
3909 	 unsigned char *ptr;
3910 	 unsigned char *buf;
3911 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + __size_params + 1*4;
3912 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
3913 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
3914 	buf = stream->alloc(totalSize);
3915 	ptr = buf;
3916 	int tmp = OP_glTexParameterxv;memcpy(ptr, &tmp, 4); ptr += 4;
3917 	memcpy(ptr, &totalSize, 4);  ptr += 4;
3918 
3919 		memcpy(ptr, &target, 4); ptr += 4;
3920 		memcpy(ptr, &pname, 4); ptr += 4;
3921 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
3922 	memcpy(ptr, params, __size_params);ptr += __size_params;
3923 
3924 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
3925 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
3926 
3927 }
3928 
glTexSubImage2D_enc(void * self,GLenum target,GLint level,GLint xoffset,GLint yoffset,GLsizei width,GLsizei height,GLenum format,GLenum type,const GLvoid * pixels)3929 void glTexSubImage2D_enc(void *self , GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels)
3930 {
3931 
3932 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
3933 	IOStream *stream = ctx->m_stream;
3934 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
3935 	bool useChecksum = checksumCalculator->getVersion() > 0;
3936 
3937 	const unsigned int __size_pixels = ((pixels != NULL) ?  glesv1_enc::pixelDataSize(self, width, height, format, type, 0) : 0);
3938 	 unsigned char *ptr;
3939 	 unsigned char *buf;
3940 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + __size_pixels + 1*4;
3941 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
3942 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
3943 	buf = stream->alloc(8 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4);
3944 	ptr = buf;
3945 	int tmp = OP_glTexSubImage2D;memcpy(ptr, &tmp, 4); ptr += 4;
3946 	memcpy(ptr, &totalSize, 4);  ptr += 4;
3947 
3948 		memcpy(ptr, &target, 4); ptr += 4;
3949 		memcpy(ptr, &level, 4); ptr += 4;
3950 		memcpy(ptr, &xoffset, 4); ptr += 4;
3951 		memcpy(ptr, &yoffset, 4); ptr += 4;
3952 		memcpy(ptr, &width, 4); ptr += 4;
3953 		memcpy(ptr, &height, 4); ptr += 4;
3954 		memcpy(ptr, &format, 4); ptr += 4;
3955 		memcpy(ptr, &type, 4); ptr += 4;
3956 
3957 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
3958 	stream->flush();
3959 	stream->writeFully(&__size_pixels,4);
3960 	if (useChecksum) checksumCalculator->addBuffer(&__size_pixels,4);
3961 	if (pixels != NULL) {
3962 		stream->writeFully(pixels, __size_pixels);
3963 		if (useChecksum) checksumCalculator->addBuffer(pixels, __size_pixels);
3964 	}
3965 	buf = stream->alloc(checksumSize);
3966 	if (useChecksum) checksumCalculator->writeChecksum(buf, checksumSize);
3967 
3968 }
3969 
glTranslatex_enc(void * self,GLfixed x,GLfixed y,GLfixed z)3970 void glTranslatex_enc(void *self , GLfixed x, GLfixed y, GLfixed z)
3971 {
3972 
3973 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
3974 	IOStream *stream = ctx->m_stream;
3975 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
3976 	bool useChecksum = checksumCalculator->getVersion() > 0;
3977 
3978 	 unsigned char *ptr;
3979 	 unsigned char *buf;
3980 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4;
3981 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
3982 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
3983 	buf = stream->alloc(totalSize);
3984 	ptr = buf;
3985 	int tmp = OP_glTranslatex;memcpy(ptr, &tmp, 4); ptr += 4;
3986 	memcpy(ptr, &totalSize, 4);  ptr += 4;
3987 
3988 		memcpy(ptr, &x, 4); ptr += 4;
3989 		memcpy(ptr, &y, 4); ptr += 4;
3990 		memcpy(ptr, &z, 4); ptr += 4;
3991 
3992 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
3993 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
3994 
3995 }
3996 
glViewport_enc(void * self,GLint x,GLint y,GLsizei width,GLsizei height)3997 void glViewport_enc(void *self , GLint x, GLint y, GLsizei width, GLsizei height)
3998 {
3999 
4000 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
4001 	IOStream *stream = ctx->m_stream;
4002 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
4003 	bool useChecksum = checksumCalculator->getVersion() > 0;
4004 
4005 	 unsigned char *ptr;
4006 	 unsigned char *buf;
4007 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4;
4008 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
4009 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
4010 	buf = stream->alloc(totalSize);
4011 	ptr = buf;
4012 	int tmp = OP_glViewport;memcpy(ptr, &tmp, 4); ptr += 4;
4013 	memcpy(ptr, &totalSize, 4);  ptr += 4;
4014 
4015 		memcpy(ptr, &x, 4); ptr += 4;
4016 		memcpy(ptr, &y, 4); ptr += 4;
4017 		memcpy(ptr, &width, 4); ptr += 4;
4018 		memcpy(ptr, &height, 4); ptr += 4;
4019 
4020 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
4021 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
4022 
4023 }
4024 
glVertexPointerOffset_enc(void * self,GLint size,GLenum type,GLsizei stride,GLuint offset)4025 void glVertexPointerOffset_enc(void *self , GLint size, GLenum type, GLsizei stride, GLuint offset)
4026 {
4027 
4028 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
4029 	IOStream *stream = ctx->m_stream;
4030 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
4031 	bool useChecksum = checksumCalculator->getVersion() > 0;
4032 
4033 	 unsigned char *ptr;
4034 	 unsigned char *buf;
4035 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4;
4036 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
4037 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
4038 	buf = stream->alloc(totalSize);
4039 	ptr = buf;
4040 	int tmp = OP_glVertexPointerOffset;memcpy(ptr, &tmp, 4); ptr += 4;
4041 	memcpy(ptr, &totalSize, 4);  ptr += 4;
4042 
4043 		memcpy(ptr, &size, 4); ptr += 4;
4044 		memcpy(ptr, &type, 4); ptr += 4;
4045 		memcpy(ptr, &stride, 4); ptr += 4;
4046 		memcpy(ptr, &offset, 4); ptr += 4;
4047 
4048 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
4049 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
4050 
4051 }
4052 
glColorPointerOffset_enc(void * self,GLint size,GLenum type,GLsizei stride,GLuint offset)4053 void glColorPointerOffset_enc(void *self , GLint size, GLenum type, GLsizei stride, GLuint offset)
4054 {
4055 
4056 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
4057 	IOStream *stream = ctx->m_stream;
4058 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
4059 	bool useChecksum = checksumCalculator->getVersion() > 0;
4060 
4061 	 unsigned char *ptr;
4062 	 unsigned char *buf;
4063 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4;
4064 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
4065 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
4066 	buf = stream->alloc(totalSize);
4067 	ptr = buf;
4068 	int tmp = OP_glColorPointerOffset;memcpy(ptr, &tmp, 4); ptr += 4;
4069 	memcpy(ptr, &totalSize, 4);  ptr += 4;
4070 
4071 		memcpy(ptr, &size, 4); ptr += 4;
4072 		memcpy(ptr, &type, 4); ptr += 4;
4073 		memcpy(ptr, &stride, 4); ptr += 4;
4074 		memcpy(ptr, &offset, 4); ptr += 4;
4075 
4076 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
4077 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
4078 
4079 }
4080 
glNormalPointerOffset_enc(void * self,GLenum type,GLsizei stride,GLuint offset)4081 void glNormalPointerOffset_enc(void *self , GLenum type, GLsizei stride, GLuint offset)
4082 {
4083 
4084 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
4085 	IOStream *stream = ctx->m_stream;
4086 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
4087 	bool useChecksum = checksumCalculator->getVersion() > 0;
4088 
4089 	 unsigned char *ptr;
4090 	 unsigned char *buf;
4091 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4;
4092 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
4093 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
4094 	buf = stream->alloc(totalSize);
4095 	ptr = buf;
4096 	int tmp = OP_glNormalPointerOffset;memcpy(ptr, &tmp, 4); ptr += 4;
4097 	memcpy(ptr, &totalSize, 4);  ptr += 4;
4098 
4099 		memcpy(ptr, &type, 4); ptr += 4;
4100 		memcpy(ptr, &stride, 4); ptr += 4;
4101 		memcpy(ptr, &offset, 4); ptr += 4;
4102 
4103 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
4104 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
4105 
4106 }
4107 
glPointSizePointerOffset_enc(void * self,GLenum type,GLsizei stride,GLuint offset)4108 void glPointSizePointerOffset_enc(void *self , GLenum type, GLsizei stride, GLuint offset)
4109 {
4110 
4111 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
4112 	IOStream *stream = ctx->m_stream;
4113 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
4114 	bool useChecksum = checksumCalculator->getVersion() > 0;
4115 
4116 	 unsigned char *ptr;
4117 	 unsigned char *buf;
4118 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4;
4119 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
4120 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
4121 	buf = stream->alloc(totalSize);
4122 	ptr = buf;
4123 	int tmp = OP_glPointSizePointerOffset;memcpy(ptr, &tmp, 4); ptr += 4;
4124 	memcpy(ptr, &totalSize, 4);  ptr += 4;
4125 
4126 		memcpy(ptr, &type, 4); ptr += 4;
4127 		memcpy(ptr, &stride, 4); ptr += 4;
4128 		memcpy(ptr, &offset, 4); ptr += 4;
4129 
4130 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
4131 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
4132 
4133 }
4134 
glTexCoordPointerOffset_enc(void * self,GLint size,GLenum type,GLsizei stride,GLuint offset)4135 void glTexCoordPointerOffset_enc(void *self , GLint size, GLenum type, GLsizei stride, GLuint offset)
4136 {
4137 
4138 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
4139 	IOStream *stream = ctx->m_stream;
4140 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
4141 	bool useChecksum = checksumCalculator->getVersion() > 0;
4142 
4143 	 unsigned char *ptr;
4144 	 unsigned char *buf;
4145 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4;
4146 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
4147 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
4148 	buf = stream->alloc(totalSize);
4149 	ptr = buf;
4150 	int tmp = OP_glTexCoordPointerOffset;memcpy(ptr, &tmp, 4); ptr += 4;
4151 	memcpy(ptr, &totalSize, 4);  ptr += 4;
4152 
4153 		memcpy(ptr, &size, 4); ptr += 4;
4154 		memcpy(ptr, &type, 4); ptr += 4;
4155 		memcpy(ptr, &stride, 4); ptr += 4;
4156 		memcpy(ptr, &offset, 4); ptr += 4;
4157 
4158 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
4159 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
4160 
4161 }
4162 
glWeightPointerOffset_enc(void * self,GLint size,GLenum type,GLsizei stride,GLuint offset)4163 void glWeightPointerOffset_enc(void *self , GLint size, GLenum type, GLsizei stride, GLuint offset)
4164 {
4165 
4166 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
4167 	IOStream *stream = ctx->m_stream;
4168 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
4169 	bool useChecksum = checksumCalculator->getVersion() > 0;
4170 
4171 	 unsigned char *ptr;
4172 	 unsigned char *buf;
4173 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4;
4174 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
4175 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
4176 	buf = stream->alloc(totalSize);
4177 	ptr = buf;
4178 	int tmp = OP_glWeightPointerOffset;memcpy(ptr, &tmp, 4); ptr += 4;
4179 	memcpy(ptr, &totalSize, 4);  ptr += 4;
4180 
4181 		memcpy(ptr, &size, 4); ptr += 4;
4182 		memcpy(ptr, &type, 4); ptr += 4;
4183 		memcpy(ptr, &stride, 4); ptr += 4;
4184 		memcpy(ptr, &offset, 4); ptr += 4;
4185 
4186 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
4187 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
4188 
4189 }
4190 
glMatrixIndexPointerOffset_enc(void * self,GLint size,GLenum type,GLsizei stride,GLuint offset)4191 void glMatrixIndexPointerOffset_enc(void *self , GLint size, GLenum type, GLsizei stride, GLuint offset)
4192 {
4193 
4194 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
4195 	IOStream *stream = ctx->m_stream;
4196 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
4197 	bool useChecksum = checksumCalculator->getVersion() > 0;
4198 
4199 	 unsigned char *ptr;
4200 	 unsigned char *buf;
4201 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4;
4202 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
4203 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
4204 	buf = stream->alloc(totalSize);
4205 	ptr = buf;
4206 	int tmp = OP_glMatrixIndexPointerOffset;memcpy(ptr, &tmp, 4); ptr += 4;
4207 	memcpy(ptr, &totalSize, 4);  ptr += 4;
4208 
4209 		memcpy(ptr, &size, 4); ptr += 4;
4210 		memcpy(ptr, &type, 4); ptr += 4;
4211 		memcpy(ptr, &stride, 4); ptr += 4;
4212 		memcpy(ptr, &offset, 4); ptr += 4;
4213 
4214 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
4215 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
4216 
4217 }
4218 
glVertexPointerData_enc(void * self,GLint size,GLenum type,GLsizei stride,void * data,GLuint datalen)4219 void glVertexPointerData_enc(void *self , GLint size, GLenum type, GLsizei stride, void* data, GLuint datalen)
4220 {
4221 
4222 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
4223 	IOStream *stream = ctx->m_stream;
4224 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
4225 	bool useChecksum = checksumCalculator->getVersion() > 0;
4226 
4227 	const unsigned int __size_data =  datalen;
4228 	 unsigned char *ptr;
4229 	 unsigned char *buf;
4230 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + __size_data + 4 + 1*4;
4231 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
4232 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
4233 	buf = stream->alloc(totalSize);
4234 	ptr = buf;
4235 	int tmp = OP_glVertexPointerData;memcpy(ptr, &tmp, 4); ptr += 4;
4236 	memcpy(ptr, &totalSize, 4);  ptr += 4;
4237 
4238 		memcpy(ptr, &size, 4); ptr += 4;
4239 		memcpy(ptr, &type, 4); ptr += 4;
4240 		memcpy(ptr, &stride, 4); ptr += 4;
4241 	*(unsigned int *)(ptr) = __size_data; ptr += 4;
4242 	 glUtilsPackPointerData((unsigned char *)ptr, (unsigned char *)data, size, type, stride, datalen);ptr += __size_data;
4243 		memcpy(ptr, &datalen, 4); ptr += 4;
4244 
4245 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
4246 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
4247 
4248 }
4249 
glColorPointerData_enc(void * self,GLint size,GLenum type,GLsizei stride,void * data,GLuint datalen)4250 void glColorPointerData_enc(void *self , GLint size, GLenum type, GLsizei stride, void* data, GLuint datalen)
4251 {
4252 
4253 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
4254 	IOStream *stream = ctx->m_stream;
4255 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
4256 	bool useChecksum = checksumCalculator->getVersion() > 0;
4257 
4258 	const unsigned int __size_data =  datalen;
4259 	 unsigned char *ptr;
4260 	 unsigned char *buf;
4261 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + __size_data + 4 + 1*4;
4262 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
4263 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
4264 	buf = stream->alloc(totalSize);
4265 	ptr = buf;
4266 	int tmp = OP_glColorPointerData;memcpy(ptr, &tmp, 4); ptr += 4;
4267 	memcpy(ptr, &totalSize, 4);  ptr += 4;
4268 
4269 		memcpy(ptr, &size, 4); ptr += 4;
4270 		memcpy(ptr, &type, 4); ptr += 4;
4271 		memcpy(ptr, &stride, 4); ptr += 4;
4272 	*(unsigned int *)(ptr) = __size_data; ptr += 4;
4273 	 glUtilsPackPointerData((unsigned char *)ptr, (unsigned char *)data, size, type, stride, datalen);ptr += __size_data;
4274 		memcpy(ptr, &datalen, 4); ptr += 4;
4275 
4276 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
4277 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
4278 
4279 }
4280 
glNormalPointerData_enc(void * self,GLenum type,GLsizei stride,void * data,GLuint datalen)4281 void glNormalPointerData_enc(void *self , GLenum type, GLsizei stride, void* data, GLuint datalen)
4282 {
4283 
4284 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
4285 	IOStream *stream = ctx->m_stream;
4286 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
4287 	bool useChecksum = checksumCalculator->getVersion() > 0;
4288 
4289 	const unsigned int __size_data =  datalen;
4290 	 unsigned char *ptr;
4291 	 unsigned char *buf;
4292 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + __size_data + 4 + 1*4;
4293 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
4294 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
4295 	buf = stream->alloc(totalSize);
4296 	ptr = buf;
4297 	int tmp = OP_glNormalPointerData;memcpy(ptr, &tmp, 4); ptr += 4;
4298 	memcpy(ptr, &totalSize, 4);  ptr += 4;
4299 
4300 		memcpy(ptr, &type, 4); ptr += 4;
4301 		memcpy(ptr, &stride, 4); ptr += 4;
4302 	*(unsigned int *)(ptr) = __size_data; ptr += 4;
4303 	 glUtilsPackPointerData((unsigned char *)ptr, (unsigned char *)data, 3, type, stride, datalen);ptr += __size_data;
4304 		memcpy(ptr, &datalen, 4); ptr += 4;
4305 
4306 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
4307 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
4308 
4309 }
4310 
glTexCoordPointerData_enc(void * self,GLint unit,GLint size,GLenum type,GLsizei stride,void * data,GLuint datalen)4311 void glTexCoordPointerData_enc(void *self , GLint unit, GLint size, GLenum type, GLsizei stride, void* data, GLuint datalen)
4312 {
4313 
4314 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
4315 	IOStream *stream = ctx->m_stream;
4316 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
4317 	bool useChecksum = checksumCalculator->getVersion() > 0;
4318 
4319 	const unsigned int __size_data =  datalen;
4320 	 unsigned char *ptr;
4321 	 unsigned char *buf;
4322 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4 + __size_data + 4 + 1*4;
4323 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
4324 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
4325 	buf = stream->alloc(totalSize);
4326 	ptr = buf;
4327 	int tmp = OP_glTexCoordPointerData;memcpy(ptr, &tmp, 4); ptr += 4;
4328 	memcpy(ptr, &totalSize, 4);  ptr += 4;
4329 
4330 		memcpy(ptr, &unit, 4); ptr += 4;
4331 		memcpy(ptr, &size, 4); ptr += 4;
4332 		memcpy(ptr, &type, 4); ptr += 4;
4333 		memcpy(ptr, &stride, 4); ptr += 4;
4334 	*(unsigned int *)(ptr) = __size_data; ptr += 4;
4335 	 glUtilsPackPointerData((unsigned char *)ptr, (unsigned char *)data, size, type, stride, datalen);ptr += __size_data;
4336 		memcpy(ptr, &datalen, 4); ptr += 4;
4337 
4338 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
4339 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
4340 
4341 }
4342 
glPointSizePointerData_enc(void * self,GLenum type,GLsizei stride,void * data,GLuint datalen)4343 void glPointSizePointerData_enc(void *self , GLenum type, GLsizei stride, void* data, GLuint datalen)
4344 {
4345 
4346 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
4347 	IOStream *stream = ctx->m_stream;
4348 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
4349 	bool useChecksum = checksumCalculator->getVersion() > 0;
4350 
4351 	const unsigned int __size_data =  datalen;
4352 	 unsigned char *ptr;
4353 	 unsigned char *buf;
4354 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + __size_data + 4 + 1*4;
4355 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
4356 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
4357 	buf = stream->alloc(totalSize);
4358 	ptr = buf;
4359 	int tmp = OP_glPointSizePointerData;memcpy(ptr, &tmp, 4); ptr += 4;
4360 	memcpy(ptr, &totalSize, 4);  ptr += 4;
4361 
4362 		memcpy(ptr, &type, 4); ptr += 4;
4363 		memcpy(ptr, &stride, 4); ptr += 4;
4364 	*(unsigned int *)(ptr) = __size_data; ptr += 4;
4365 	 glUtilsPackPointerData((unsigned char *)ptr, (unsigned char *)data, 1, type, stride, datalen);ptr += __size_data;
4366 		memcpy(ptr, &datalen, 4); ptr += 4;
4367 
4368 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
4369 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
4370 
4371 }
4372 
glWeightPointerData_enc(void * self,GLint size,GLenum type,GLsizei stride,void * data,GLuint datalen)4373 void glWeightPointerData_enc(void *self , GLint size, GLenum type, GLsizei stride, void* data, GLuint datalen)
4374 {
4375 
4376 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
4377 	IOStream *stream = ctx->m_stream;
4378 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
4379 	bool useChecksum = checksumCalculator->getVersion() > 0;
4380 
4381 	const unsigned int __size_data =  datalen;
4382 	 unsigned char *ptr;
4383 	 unsigned char *buf;
4384 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + __size_data + 4 + 1*4;
4385 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
4386 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
4387 	buf = stream->alloc(totalSize);
4388 	ptr = buf;
4389 	int tmp = OP_glWeightPointerData;memcpy(ptr, &tmp, 4); ptr += 4;
4390 	memcpy(ptr, &totalSize, 4);  ptr += 4;
4391 
4392 		memcpy(ptr, &size, 4); ptr += 4;
4393 		memcpy(ptr, &type, 4); ptr += 4;
4394 		memcpy(ptr, &stride, 4); ptr += 4;
4395 	*(unsigned int *)(ptr) = __size_data; ptr += 4;
4396 	 glUtilsPackPointerData((unsigned char *)ptr, (unsigned char*)data, size, type, stride, datalen);ptr += __size_data;
4397 		memcpy(ptr, &datalen, 4); ptr += 4;
4398 
4399 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
4400 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
4401 
4402 }
4403 
glMatrixIndexPointerData_enc(void * self,GLint size,GLenum type,GLsizei stride,void * data,GLuint datalen)4404 void glMatrixIndexPointerData_enc(void *self , GLint size, GLenum type, GLsizei stride, void* data, GLuint datalen)
4405 {
4406 
4407 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
4408 	IOStream *stream = ctx->m_stream;
4409 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
4410 	bool useChecksum = checksumCalculator->getVersion() > 0;
4411 
4412 	const unsigned int __size_data =  datalen;
4413 	 unsigned char *ptr;
4414 	 unsigned char *buf;
4415 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + __size_data + 4 + 1*4;
4416 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
4417 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
4418 	buf = stream->alloc(totalSize);
4419 	ptr = buf;
4420 	int tmp = OP_glMatrixIndexPointerData;memcpy(ptr, &tmp, 4); ptr += 4;
4421 	memcpy(ptr, &totalSize, 4);  ptr += 4;
4422 
4423 		memcpy(ptr, &size, 4); ptr += 4;
4424 		memcpy(ptr, &type, 4); ptr += 4;
4425 		memcpy(ptr, &stride, 4); ptr += 4;
4426 	*(unsigned int *)(ptr) = __size_data; ptr += 4;
4427 	 glUtilsPackPointerData((unsigned char *)ptr, (unsigned char*)data, size, type, stride, datalen);ptr += __size_data;
4428 		memcpy(ptr, &datalen, 4); ptr += 4;
4429 
4430 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
4431 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
4432 
4433 }
4434 
glDrawElementsOffset_enc(void * self,GLenum mode,GLsizei count,GLenum type,GLuint offset)4435 void glDrawElementsOffset_enc(void *self , GLenum mode, GLsizei count, GLenum type, GLuint offset)
4436 {
4437 
4438 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
4439 	IOStream *stream = ctx->m_stream;
4440 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
4441 	bool useChecksum = checksumCalculator->getVersion() > 0;
4442 
4443 	 unsigned char *ptr;
4444 	 unsigned char *buf;
4445 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4;
4446 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
4447 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
4448 	buf = stream->alloc(totalSize);
4449 	ptr = buf;
4450 	int tmp = OP_glDrawElementsOffset;memcpy(ptr, &tmp, 4); ptr += 4;
4451 	memcpy(ptr, &totalSize, 4);  ptr += 4;
4452 
4453 		memcpy(ptr, &mode, 4); ptr += 4;
4454 		memcpy(ptr, &count, 4); ptr += 4;
4455 		memcpy(ptr, &type, 4); ptr += 4;
4456 		memcpy(ptr, &offset, 4); ptr += 4;
4457 
4458 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
4459 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
4460 
4461 }
4462 
glDrawElementsData_enc(void * self,GLenum mode,GLsizei count,GLenum type,void * data,GLuint datalen)4463 void glDrawElementsData_enc(void *self , GLenum mode, GLsizei count, GLenum type, void* data, GLuint datalen)
4464 {
4465 
4466 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
4467 	IOStream *stream = ctx->m_stream;
4468 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
4469 	bool useChecksum = checksumCalculator->getVersion() > 0;
4470 
4471 	const unsigned int __size_data =  datalen;
4472 	 unsigned char *ptr;
4473 	 unsigned char *buf;
4474 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + __size_data + 4 + 1*4;
4475 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
4476 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
4477 	buf = stream->alloc(totalSize);
4478 	ptr = buf;
4479 	int tmp = OP_glDrawElementsData;memcpy(ptr, &tmp, 4); ptr += 4;
4480 	memcpy(ptr, &totalSize, 4);  ptr += 4;
4481 
4482 		memcpy(ptr, &mode, 4); ptr += 4;
4483 		memcpy(ptr, &count, 4); ptr += 4;
4484 		memcpy(ptr, &type, 4); ptr += 4;
4485 	*(unsigned int *)(ptr) = __size_data; ptr += 4;
4486 	memcpy(ptr, data, __size_data);ptr += __size_data;
4487 		memcpy(ptr, &datalen, 4); ptr += 4;
4488 
4489 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
4490 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
4491 
4492 }
4493 
glGetCompressedTextureFormats_enc(void * self,int count,GLint * formats)4494 void glGetCompressedTextureFormats_enc(void *self , int count, GLint* formats)
4495 {
4496 
4497 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
4498 	IOStream *stream = ctx->m_stream;
4499 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
4500 	bool useChecksum = checksumCalculator->getVersion() > 0;
4501 
4502 	const unsigned int __size_formats =  (count * sizeof(GLint));
4503 	 unsigned char *ptr;
4504 	 unsigned char *buf;
4505 	 const size_t sizeWithoutChecksum = 8 + 4 + __size_formats + 1*4;
4506 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
4507 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
4508 	buf = stream->alloc(totalSize);
4509 	ptr = buf;
4510 	int tmp = OP_glGetCompressedTextureFormats;memcpy(ptr, &tmp, 4); ptr += 4;
4511 	memcpy(ptr, &totalSize, 4);  ptr += 4;
4512 
4513 		memcpy(ptr, &count, 4); ptr += 4;
4514 	*(unsigned int *)(ptr) = __size_formats; ptr += 4;
4515 
4516 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
4517 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
4518 
4519 	stream->readback(formats, __size_formats);
4520 	if (useChecksum) checksumCalculator->addBuffer(formats, __size_formats);
4521 	if (useChecksum) {
4522 		unsigned char *checksumBufPtr = NULL;
4523 		std::vector<unsigned char> checksumBuf(checksumSize);
4524 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
4525 		stream->readback(checksumBufPtr, checksumSize);
4526 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
4527 			ALOGE("glGetCompressedTextureFormats: GL communication error, please report this issue to b.android.com.\n");
4528 			abort();
4529 		}
4530 	}
4531 }
4532 
glFinishRoundTrip_enc(void * self)4533 int glFinishRoundTrip_enc(void *self )
4534 {
4535 
4536 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
4537 	IOStream *stream = ctx->m_stream;
4538 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
4539 	bool useChecksum = checksumCalculator->getVersion() > 0;
4540 
4541 	 unsigned char *ptr;
4542 	 unsigned char *buf;
4543 	 const size_t sizeWithoutChecksum = 8;
4544 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
4545 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
4546 	buf = stream->alloc(totalSize);
4547 	ptr = buf;
4548 	int tmp = OP_glFinishRoundTrip;memcpy(ptr, &tmp, 4); ptr += 4;
4549 	memcpy(ptr, &totalSize, 4);  ptr += 4;
4550 
4551 
4552 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
4553 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
4554 
4555 
4556 	int retval;
4557 	stream->readback(&retval, 4);
4558 	if (useChecksum) checksumCalculator->addBuffer(&retval, 4);
4559 	if (useChecksum) {
4560 		unsigned char *checksumBufPtr = NULL;
4561 		std::vector<unsigned char> checksumBuf(checksumSize);
4562 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
4563 		stream->readback(checksumBufPtr, checksumSize);
4564 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
4565 			ALOGE("glFinishRoundTrip: GL communication error, please report this issue to b.android.com.\n");
4566 			abort();
4567 		}
4568 	}
4569 	return retval;
4570 }
4571 
glBlendEquationSeparateOES_enc(void * self,GLenum modeRGB,GLenum modeAlpha)4572 void glBlendEquationSeparateOES_enc(void *self , GLenum modeRGB, GLenum modeAlpha)
4573 {
4574 
4575 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
4576 	IOStream *stream = ctx->m_stream;
4577 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
4578 	bool useChecksum = checksumCalculator->getVersion() > 0;
4579 
4580 	 unsigned char *ptr;
4581 	 unsigned char *buf;
4582 	 const size_t sizeWithoutChecksum = 8 + 4 + 4;
4583 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
4584 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
4585 	buf = stream->alloc(totalSize);
4586 	ptr = buf;
4587 	int tmp = OP_glBlendEquationSeparateOES;memcpy(ptr, &tmp, 4); ptr += 4;
4588 	memcpy(ptr, &totalSize, 4);  ptr += 4;
4589 
4590 		memcpy(ptr, &modeRGB, 4); ptr += 4;
4591 		memcpy(ptr, &modeAlpha, 4); ptr += 4;
4592 
4593 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
4594 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
4595 
4596 }
4597 
glBlendFuncSeparateOES_enc(void * self,GLenum srcRGB,GLenum dstRGB,GLenum srcAlpha,GLenum dstAlpha)4598 void glBlendFuncSeparateOES_enc(void *self , GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)
4599 {
4600 
4601 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
4602 	IOStream *stream = ctx->m_stream;
4603 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
4604 	bool useChecksum = checksumCalculator->getVersion() > 0;
4605 
4606 	 unsigned char *ptr;
4607 	 unsigned char *buf;
4608 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4;
4609 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
4610 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
4611 	buf = stream->alloc(totalSize);
4612 	ptr = buf;
4613 	int tmp = OP_glBlendFuncSeparateOES;memcpy(ptr, &tmp, 4); ptr += 4;
4614 	memcpy(ptr, &totalSize, 4);  ptr += 4;
4615 
4616 		memcpy(ptr, &srcRGB, 4); ptr += 4;
4617 		memcpy(ptr, &dstRGB, 4); ptr += 4;
4618 		memcpy(ptr, &srcAlpha, 4); ptr += 4;
4619 		memcpy(ptr, &dstAlpha, 4); ptr += 4;
4620 
4621 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
4622 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
4623 
4624 }
4625 
glBlendEquationOES_enc(void * self,GLenum mode)4626 void glBlendEquationOES_enc(void *self , GLenum mode)
4627 {
4628 
4629 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
4630 	IOStream *stream = ctx->m_stream;
4631 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
4632 	bool useChecksum = checksumCalculator->getVersion() > 0;
4633 
4634 	 unsigned char *ptr;
4635 	 unsigned char *buf;
4636 	 const size_t sizeWithoutChecksum = 8 + 4;
4637 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
4638 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
4639 	buf = stream->alloc(totalSize);
4640 	ptr = buf;
4641 	int tmp = OP_glBlendEquationOES;memcpy(ptr, &tmp, 4); ptr += 4;
4642 	memcpy(ptr, &totalSize, 4);  ptr += 4;
4643 
4644 		memcpy(ptr, &mode, 4); ptr += 4;
4645 
4646 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
4647 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
4648 
4649 }
4650 
glDrawTexsOES_enc(void * self,GLshort x,GLshort y,GLshort z,GLshort width,GLshort height)4651 void glDrawTexsOES_enc(void *self , GLshort x, GLshort y, GLshort z, GLshort width, GLshort height)
4652 {
4653 
4654 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
4655 	IOStream *stream = ctx->m_stream;
4656 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
4657 	bool useChecksum = checksumCalculator->getVersion() > 0;
4658 
4659 	 unsigned char *ptr;
4660 	 unsigned char *buf;
4661 	 const size_t sizeWithoutChecksum = 8 + 2 + 2 + 2 + 2 + 2;
4662 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
4663 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
4664 	buf = stream->alloc(totalSize);
4665 	ptr = buf;
4666 	int tmp = OP_glDrawTexsOES;memcpy(ptr, &tmp, 4); ptr += 4;
4667 	memcpy(ptr, &totalSize, 4);  ptr += 4;
4668 
4669 		memcpy(ptr, &x, 2); ptr += 2;
4670 		memcpy(ptr, &y, 2); ptr += 2;
4671 		memcpy(ptr, &z, 2); ptr += 2;
4672 		memcpy(ptr, &width, 2); ptr += 2;
4673 		memcpy(ptr, &height, 2); ptr += 2;
4674 
4675 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
4676 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
4677 
4678 }
4679 
glDrawTexiOES_enc(void * self,GLint x,GLint y,GLint z,GLint width,GLint height)4680 void glDrawTexiOES_enc(void *self , GLint x, GLint y, GLint z, GLint width, GLint height)
4681 {
4682 
4683 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
4684 	IOStream *stream = ctx->m_stream;
4685 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
4686 	bool useChecksum = checksumCalculator->getVersion() > 0;
4687 
4688 	 unsigned char *ptr;
4689 	 unsigned char *buf;
4690 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4 + 4;
4691 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
4692 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
4693 	buf = stream->alloc(totalSize);
4694 	ptr = buf;
4695 	int tmp = OP_glDrawTexiOES;memcpy(ptr, &tmp, 4); ptr += 4;
4696 	memcpy(ptr, &totalSize, 4);  ptr += 4;
4697 
4698 		memcpy(ptr, &x, 4); ptr += 4;
4699 		memcpy(ptr, &y, 4); ptr += 4;
4700 		memcpy(ptr, &z, 4); ptr += 4;
4701 		memcpy(ptr, &width, 4); ptr += 4;
4702 		memcpy(ptr, &height, 4); ptr += 4;
4703 
4704 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
4705 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
4706 
4707 }
4708 
glDrawTexxOES_enc(void * self,GLfixed x,GLfixed y,GLfixed z,GLfixed width,GLfixed height)4709 void glDrawTexxOES_enc(void *self , GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height)
4710 {
4711 
4712 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
4713 	IOStream *stream = ctx->m_stream;
4714 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
4715 	bool useChecksum = checksumCalculator->getVersion() > 0;
4716 
4717 	 unsigned char *ptr;
4718 	 unsigned char *buf;
4719 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4 + 4;
4720 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
4721 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
4722 	buf = stream->alloc(totalSize);
4723 	ptr = buf;
4724 	int tmp = OP_glDrawTexxOES;memcpy(ptr, &tmp, 4); ptr += 4;
4725 	memcpy(ptr, &totalSize, 4);  ptr += 4;
4726 
4727 		memcpy(ptr, &x, 4); ptr += 4;
4728 		memcpy(ptr, &y, 4); ptr += 4;
4729 		memcpy(ptr, &z, 4); ptr += 4;
4730 		memcpy(ptr, &width, 4); ptr += 4;
4731 		memcpy(ptr, &height, 4); ptr += 4;
4732 
4733 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
4734 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
4735 
4736 }
4737 
glDrawTexsvOES_enc(void * self,const GLshort * coords)4738 void glDrawTexsvOES_enc(void *self , const GLshort* coords)
4739 {
4740 
4741 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
4742 	IOStream *stream = ctx->m_stream;
4743 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
4744 	bool useChecksum = checksumCalculator->getVersion() > 0;
4745 
4746 	const unsigned int __size_coords =  (5 * sizeof(GLshort));
4747 	 unsigned char *ptr;
4748 	 unsigned char *buf;
4749 	 const size_t sizeWithoutChecksum = 8 + __size_coords + 1*4;
4750 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
4751 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
4752 	buf = stream->alloc(totalSize);
4753 	ptr = buf;
4754 	int tmp = OP_glDrawTexsvOES;memcpy(ptr, &tmp, 4); ptr += 4;
4755 	memcpy(ptr, &totalSize, 4);  ptr += 4;
4756 
4757 	*(unsigned int *)(ptr) = __size_coords; ptr += 4;
4758 	memcpy(ptr, coords, __size_coords);ptr += __size_coords;
4759 
4760 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
4761 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
4762 
4763 }
4764 
glDrawTexivOES_enc(void * self,const GLint * coords)4765 void glDrawTexivOES_enc(void *self , const GLint* coords)
4766 {
4767 
4768 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
4769 	IOStream *stream = ctx->m_stream;
4770 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
4771 	bool useChecksum = checksumCalculator->getVersion() > 0;
4772 
4773 	const unsigned int __size_coords =  (5 * sizeof(GLint));
4774 	 unsigned char *ptr;
4775 	 unsigned char *buf;
4776 	 const size_t sizeWithoutChecksum = 8 + __size_coords + 1*4;
4777 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
4778 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
4779 	buf = stream->alloc(totalSize);
4780 	ptr = buf;
4781 	int tmp = OP_glDrawTexivOES;memcpy(ptr, &tmp, 4); ptr += 4;
4782 	memcpy(ptr, &totalSize, 4);  ptr += 4;
4783 
4784 	*(unsigned int *)(ptr) = __size_coords; ptr += 4;
4785 	memcpy(ptr, coords, __size_coords);ptr += __size_coords;
4786 
4787 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
4788 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
4789 
4790 }
4791 
glDrawTexxvOES_enc(void * self,const GLfixed * coords)4792 void glDrawTexxvOES_enc(void *self , const GLfixed* coords)
4793 {
4794 
4795 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
4796 	IOStream *stream = ctx->m_stream;
4797 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
4798 	bool useChecksum = checksumCalculator->getVersion() > 0;
4799 
4800 	const unsigned int __size_coords =  (5 * sizeof(GLfixed));
4801 	 unsigned char *ptr;
4802 	 unsigned char *buf;
4803 	 const size_t sizeWithoutChecksum = 8 + __size_coords + 1*4;
4804 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
4805 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
4806 	buf = stream->alloc(totalSize);
4807 	ptr = buf;
4808 	int tmp = OP_glDrawTexxvOES;memcpy(ptr, &tmp, 4); ptr += 4;
4809 	memcpy(ptr, &totalSize, 4);  ptr += 4;
4810 
4811 	*(unsigned int *)(ptr) = __size_coords; ptr += 4;
4812 	memcpy(ptr, coords, __size_coords);ptr += __size_coords;
4813 
4814 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
4815 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
4816 
4817 }
4818 
glDrawTexfOES_enc(void * self,GLfloat x,GLfloat y,GLfloat z,GLfloat width,GLfloat height)4819 void glDrawTexfOES_enc(void *self , GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height)
4820 {
4821 
4822 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
4823 	IOStream *stream = ctx->m_stream;
4824 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
4825 	bool useChecksum = checksumCalculator->getVersion() > 0;
4826 
4827 	 unsigned char *ptr;
4828 	 unsigned char *buf;
4829 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4 + 4;
4830 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
4831 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
4832 	buf = stream->alloc(totalSize);
4833 	ptr = buf;
4834 	int tmp = OP_glDrawTexfOES;memcpy(ptr, &tmp, 4); ptr += 4;
4835 	memcpy(ptr, &totalSize, 4);  ptr += 4;
4836 
4837 		memcpy(ptr, &x, 4); ptr += 4;
4838 		memcpy(ptr, &y, 4); ptr += 4;
4839 		memcpy(ptr, &z, 4); ptr += 4;
4840 		memcpy(ptr, &width, 4); ptr += 4;
4841 		memcpy(ptr, &height, 4); ptr += 4;
4842 
4843 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
4844 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
4845 
4846 }
4847 
glDrawTexfvOES_enc(void * self,const GLfloat * coords)4848 void glDrawTexfvOES_enc(void *self , const GLfloat* coords)
4849 {
4850 
4851 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
4852 	IOStream *stream = ctx->m_stream;
4853 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
4854 	bool useChecksum = checksumCalculator->getVersion() > 0;
4855 
4856 	const unsigned int __size_coords =  (5 * sizeof(GLfloat));
4857 	 unsigned char *ptr;
4858 	 unsigned char *buf;
4859 	 const size_t sizeWithoutChecksum = 8 + __size_coords + 1*4;
4860 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
4861 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
4862 	buf = stream->alloc(totalSize);
4863 	ptr = buf;
4864 	int tmp = OP_glDrawTexfvOES;memcpy(ptr, &tmp, 4); ptr += 4;
4865 	memcpy(ptr, &totalSize, 4);  ptr += 4;
4866 
4867 	*(unsigned int *)(ptr) = __size_coords; ptr += 4;
4868 	memcpy(ptr, coords, __size_coords);ptr += __size_coords;
4869 
4870 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
4871 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
4872 
4873 }
4874 
glEGLImageTargetTexture2DOES_enc(void * self,GLenum target,GLeglImageOES image)4875 void glEGLImageTargetTexture2DOES_enc(void *self , GLenum target, GLeglImageOES image)
4876 {
4877 
4878 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
4879 	IOStream *stream = ctx->m_stream;
4880 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
4881 	bool useChecksum = checksumCalculator->getVersion() > 0;
4882 
4883 	 unsigned char *ptr;
4884 	 unsigned char *buf;
4885 	 const size_t sizeWithoutChecksum = 8 + 4 + 4;
4886 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
4887 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
4888 	buf = stream->alloc(totalSize);
4889 	ptr = buf;
4890 	int tmp = OP_glEGLImageTargetTexture2DOES;memcpy(ptr, &tmp, 4); ptr += 4;
4891 	memcpy(ptr, &totalSize, 4);  ptr += 4;
4892 
4893 		memcpy(ptr, &target, 4); ptr += 4;
4894 		memcpy(ptr, &image, 4); ptr += 4;
4895 
4896 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
4897 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
4898 
4899 }
4900 
glEGLImageTargetRenderbufferStorageOES_enc(void * self,GLenum target,GLeglImageOES image)4901 void glEGLImageTargetRenderbufferStorageOES_enc(void *self , GLenum target, GLeglImageOES image)
4902 {
4903 
4904 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
4905 	IOStream *stream = ctx->m_stream;
4906 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
4907 	bool useChecksum = checksumCalculator->getVersion() > 0;
4908 
4909 	 unsigned char *ptr;
4910 	 unsigned char *buf;
4911 	 const size_t sizeWithoutChecksum = 8 + 4 + 4;
4912 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
4913 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
4914 	buf = stream->alloc(totalSize);
4915 	ptr = buf;
4916 	int tmp = OP_glEGLImageTargetRenderbufferStorageOES;memcpy(ptr, &tmp, 4); ptr += 4;
4917 	memcpy(ptr, &totalSize, 4);  ptr += 4;
4918 
4919 		memcpy(ptr, &target, 4); ptr += 4;
4920 		memcpy(ptr, &image, 4); ptr += 4;
4921 
4922 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
4923 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
4924 
4925 }
4926 
glAlphaFuncxOES_enc(void * self,GLenum func,GLclampx ref)4927 void glAlphaFuncxOES_enc(void *self , GLenum func, GLclampx ref)
4928 {
4929 
4930 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
4931 	IOStream *stream = ctx->m_stream;
4932 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
4933 	bool useChecksum = checksumCalculator->getVersion() > 0;
4934 
4935 	 unsigned char *ptr;
4936 	 unsigned char *buf;
4937 	 const size_t sizeWithoutChecksum = 8 + 4 + 4;
4938 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
4939 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
4940 	buf = stream->alloc(totalSize);
4941 	ptr = buf;
4942 	int tmp = OP_glAlphaFuncxOES;memcpy(ptr, &tmp, 4); ptr += 4;
4943 	memcpy(ptr, &totalSize, 4);  ptr += 4;
4944 
4945 		memcpy(ptr, &func, 4); ptr += 4;
4946 		memcpy(ptr, &ref, 4); ptr += 4;
4947 
4948 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
4949 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
4950 
4951 }
4952 
glClearColorxOES_enc(void * self,GLclampx red,GLclampx green,GLclampx blue,GLclampx alpha)4953 void glClearColorxOES_enc(void *self , GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha)
4954 {
4955 
4956 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
4957 	IOStream *stream = ctx->m_stream;
4958 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
4959 	bool useChecksum = checksumCalculator->getVersion() > 0;
4960 
4961 	 unsigned char *ptr;
4962 	 unsigned char *buf;
4963 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4;
4964 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
4965 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
4966 	buf = stream->alloc(totalSize);
4967 	ptr = buf;
4968 	int tmp = OP_glClearColorxOES;memcpy(ptr, &tmp, 4); ptr += 4;
4969 	memcpy(ptr, &totalSize, 4);  ptr += 4;
4970 
4971 		memcpy(ptr, &red, 4); ptr += 4;
4972 		memcpy(ptr, &green, 4); ptr += 4;
4973 		memcpy(ptr, &blue, 4); ptr += 4;
4974 		memcpy(ptr, &alpha, 4); ptr += 4;
4975 
4976 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
4977 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
4978 
4979 }
4980 
glClearDepthxOES_enc(void * self,GLclampx depth)4981 void glClearDepthxOES_enc(void *self , GLclampx depth)
4982 {
4983 
4984 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
4985 	IOStream *stream = ctx->m_stream;
4986 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
4987 	bool useChecksum = checksumCalculator->getVersion() > 0;
4988 
4989 	 unsigned char *ptr;
4990 	 unsigned char *buf;
4991 	 const size_t sizeWithoutChecksum = 8 + 4;
4992 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
4993 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
4994 	buf = stream->alloc(totalSize);
4995 	ptr = buf;
4996 	int tmp = OP_glClearDepthxOES;memcpy(ptr, &tmp, 4); ptr += 4;
4997 	memcpy(ptr, &totalSize, 4);  ptr += 4;
4998 
4999 		memcpy(ptr, &depth, 4); ptr += 4;
5000 
5001 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
5002 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
5003 
5004 }
5005 
glClipPlanexOES_enc(void * self,GLenum plane,const GLfixed * equation)5006 void glClipPlanexOES_enc(void *self , GLenum plane, const GLfixed* equation)
5007 {
5008 
5009 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
5010 	IOStream *stream = ctx->m_stream;
5011 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
5012 	bool useChecksum = checksumCalculator->getVersion() > 0;
5013 
5014 	const unsigned int __size_equation =  (4 * sizeof(GLfixed));
5015 	 unsigned char *ptr;
5016 	 unsigned char *buf;
5017 	 const size_t sizeWithoutChecksum = 8 + 4 + __size_equation + 1*4;
5018 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
5019 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
5020 	buf = stream->alloc(totalSize);
5021 	ptr = buf;
5022 	int tmp = OP_glClipPlanexOES;memcpy(ptr, &tmp, 4); ptr += 4;
5023 	memcpy(ptr, &totalSize, 4);  ptr += 4;
5024 
5025 		memcpy(ptr, &plane, 4); ptr += 4;
5026 	*(unsigned int *)(ptr) = __size_equation; ptr += 4;
5027 	memcpy(ptr, equation, __size_equation);ptr += __size_equation;
5028 
5029 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
5030 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
5031 
5032 }
5033 
glClipPlanexIMG_enc(void * self,GLenum plane,const GLfixed * equation)5034 void glClipPlanexIMG_enc(void *self , GLenum plane, const GLfixed* equation)
5035 {
5036 
5037 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
5038 	IOStream *stream = ctx->m_stream;
5039 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
5040 	bool useChecksum = checksumCalculator->getVersion() > 0;
5041 
5042 	const unsigned int __size_equation =  (4 * sizeof(GLfixed));
5043 	 unsigned char *ptr;
5044 	 unsigned char *buf;
5045 	 const size_t sizeWithoutChecksum = 8 + 4 + __size_equation + 1*4;
5046 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
5047 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
5048 	buf = stream->alloc(totalSize);
5049 	ptr = buf;
5050 	int tmp = OP_glClipPlanexIMG;memcpy(ptr, &tmp, 4); ptr += 4;
5051 	memcpy(ptr, &totalSize, 4);  ptr += 4;
5052 
5053 		memcpy(ptr, &plane, 4); ptr += 4;
5054 	*(unsigned int *)(ptr) = __size_equation; ptr += 4;
5055 	memcpy(ptr, equation, __size_equation);ptr += __size_equation;
5056 
5057 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
5058 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
5059 
5060 }
5061 
glColor4xOES_enc(void * self,GLfixed red,GLfixed green,GLfixed blue,GLfixed alpha)5062 void glColor4xOES_enc(void *self , GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha)
5063 {
5064 
5065 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
5066 	IOStream *stream = ctx->m_stream;
5067 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
5068 	bool useChecksum = checksumCalculator->getVersion() > 0;
5069 
5070 	 unsigned char *ptr;
5071 	 unsigned char *buf;
5072 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4;
5073 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
5074 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
5075 	buf = stream->alloc(totalSize);
5076 	ptr = buf;
5077 	int tmp = OP_glColor4xOES;memcpy(ptr, &tmp, 4); ptr += 4;
5078 	memcpy(ptr, &totalSize, 4);  ptr += 4;
5079 
5080 		memcpy(ptr, &red, 4); ptr += 4;
5081 		memcpy(ptr, &green, 4); ptr += 4;
5082 		memcpy(ptr, &blue, 4); ptr += 4;
5083 		memcpy(ptr, &alpha, 4); ptr += 4;
5084 
5085 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
5086 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
5087 
5088 }
5089 
glDepthRangexOES_enc(void * self,GLclampx zNear,GLclampx zFar)5090 void glDepthRangexOES_enc(void *self , GLclampx zNear, GLclampx zFar)
5091 {
5092 
5093 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
5094 	IOStream *stream = ctx->m_stream;
5095 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
5096 	bool useChecksum = checksumCalculator->getVersion() > 0;
5097 
5098 	 unsigned char *ptr;
5099 	 unsigned char *buf;
5100 	 const size_t sizeWithoutChecksum = 8 + 4 + 4;
5101 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
5102 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
5103 	buf = stream->alloc(totalSize);
5104 	ptr = buf;
5105 	int tmp = OP_glDepthRangexOES;memcpy(ptr, &tmp, 4); ptr += 4;
5106 	memcpy(ptr, &totalSize, 4);  ptr += 4;
5107 
5108 		memcpy(ptr, &zNear, 4); ptr += 4;
5109 		memcpy(ptr, &zFar, 4); ptr += 4;
5110 
5111 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
5112 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
5113 
5114 }
5115 
glFogxOES_enc(void * self,GLenum pname,GLfixed param)5116 void glFogxOES_enc(void *self , GLenum pname, GLfixed param)
5117 {
5118 
5119 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
5120 	IOStream *stream = ctx->m_stream;
5121 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
5122 	bool useChecksum = checksumCalculator->getVersion() > 0;
5123 
5124 	 unsigned char *ptr;
5125 	 unsigned char *buf;
5126 	 const size_t sizeWithoutChecksum = 8 + 4 + 4;
5127 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
5128 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
5129 	buf = stream->alloc(totalSize);
5130 	ptr = buf;
5131 	int tmp = OP_glFogxOES;memcpy(ptr, &tmp, 4); ptr += 4;
5132 	memcpy(ptr, &totalSize, 4);  ptr += 4;
5133 
5134 		memcpy(ptr, &pname, 4); ptr += 4;
5135 		memcpy(ptr, &param, 4); ptr += 4;
5136 
5137 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
5138 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
5139 
5140 }
5141 
glFogxvOES_enc(void * self,GLenum pname,const GLfixed * params)5142 void glFogxvOES_enc(void *self , GLenum pname, const GLfixed* params)
5143 {
5144 
5145 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
5146 	IOStream *stream = ctx->m_stream;
5147 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
5148 	bool useChecksum = checksumCalculator->getVersion() > 0;
5149 
5150 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLfixed));
5151 	 unsigned char *ptr;
5152 	 unsigned char *buf;
5153 	 const size_t sizeWithoutChecksum = 8 + 4 + __size_params + 1*4;
5154 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
5155 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
5156 	buf = stream->alloc(totalSize);
5157 	ptr = buf;
5158 	int tmp = OP_glFogxvOES;memcpy(ptr, &tmp, 4); ptr += 4;
5159 	memcpy(ptr, &totalSize, 4);  ptr += 4;
5160 
5161 		memcpy(ptr, &pname, 4); ptr += 4;
5162 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
5163 	memcpy(ptr, params, __size_params);ptr += __size_params;
5164 
5165 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
5166 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
5167 
5168 }
5169 
glFrustumxOES_enc(void * self,GLfixed left,GLfixed right,GLfixed bottom,GLfixed top,GLfixed zNear,GLfixed zFar)5170 void glFrustumxOES_enc(void *self , GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar)
5171 {
5172 
5173 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
5174 	IOStream *stream = ctx->m_stream;
5175 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
5176 	bool useChecksum = checksumCalculator->getVersion() > 0;
5177 
5178 	 unsigned char *ptr;
5179 	 unsigned char *buf;
5180 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4 + 4 + 4;
5181 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
5182 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
5183 	buf = stream->alloc(totalSize);
5184 	ptr = buf;
5185 	int tmp = OP_glFrustumxOES;memcpy(ptr, &tmp, 4); ptr += 4;
5186 	memcpy(ptr, &totalSize, 4);  ptr += 4;
5187 
5188 		memcpy(ptr, &left, 4); ptr += 4;
5189 		memcpy(ptr, &right, 4); ptr += 4;
5190 		memcpy(ptr, &bottom, 4); ptr += 4;
5191 		memcpy(ptr, &top, 4); ptr += 4;
5192 		memcpy(ptr, &zNear, 4); ptr += 4;
5193 		memcpy(ptr, &zFar, 4); ptr += 4;
5194 
5195 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
5196 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
5197 
5198 }
5199 
glGetClipPlanexOES_enc(void * self,GLenum pname,GLfixed * eqn)5200 void glGetClipPlanexOES_enc(void *self , GLenum pname, GLfixed* eqn)
5201 {
5202 
5203 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
5204 	IOStream *stream = ctx->m_stream;
5205 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
5206 	bool useChecksum = checksumCalculator->getVersion() > 0;
5207 
5208 	const unsigned int __size_eqn =  (4 * sizeof(GLfixed));
5209 	 unsigned char *ptr;
5210 	 unsigned char *buf;
5211 	 const size_t sizeWithoutChecksum = 8 + 4 + __size_eqn + 1*4;
5212 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
5213 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
5214 	buf = stream->alloc(totalSize);
5215 	ptr = buf;
5216 	int tmp = OP_glGetClipPlanexOES;memcpy(ptr, &tmp, 4); ptr += 4;
5217 	memcpy(ptr, &totalSize, 4);  ptr += 4;
5218 
5219 		memcpy(ptr, &pname, 4); ptr += 4;
5220 	*(unsigned int *)(ptr) = __size_eqn; ptr += 4;
5221 
5222 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
5223 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
5224 
5225 	stream->readback(eqn, __size_eqn);
5226 	if (useChecksum) checksumCalculator->addBuffer(eqn, __size_eqn);
5227 	if (useChecksum) {
5228 		unsigned char *checksumBufPtr = NULL;
5229 		std::vector<unsigned char> checksumBuf(checksumSize);
5230 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
5231 		stream->readback(checksumBufPtr, checksumSize);
5232 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
5233 			ALOGE("glGetClipPlanexOES: GL communication error, please report this issue to b.android.com.\n");
5234 			abort();
5235 		}
5236 	}
5237 }
5238 
glGetClipPlanex_enc(void * self,GLenum pname,GLfixed * eqn)5239 void glGetClipPlanex_enc(void *self , GLenum pname, GLfixed* eqn)
5240 {
5241 
5242 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
5243 	IOStream *stream = ctx->m_stream;
5244 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
5245 	bool useChecksum = checksumCalculator->getVersion() > 0;
5246 
5247 	const unsigned int __size_eqn =  (4 * sizeof(GLfixed));
5248 	 unsigned char *ptr;
5249 	 unsigned char *buf;
5250 	 const size_t sizeWithoutChecksum = 8 + 4 + __size_eqn + 1*4;
5251 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
5252 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
5253 	buf = stream->alloc(totalSize);
5254 	ptr = buf;
5255 	int tmp = OP_glGetClipPlanex;memcpy(ptr, &tmp, 4); ptr += 4;
5256 	memcpy(ptr, &totalSize, 4);  ptr += 4;
5257 
5258 		memcpy(ptr, &pname, 4); ptr += 4;
5259 	*(unsigned int *)(ptr) = __size_eqn; ptr += 4;
5260 
5261 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
5262 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
5263 
5264 	stream->readback(eqn, __size_eqn);
5265 	if (useChecksum) checksumCalculator->addBuffer(eqn, __size_eqn);
5266 	if (useChecksum) {
5267 		unsigned char *checksumBufPtr = NULL;
5268 		std::vector<unsigned char> checksumBuf(checksumSize);
5269 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
5270 		stream->readback(checksumBufPtr, checksumSize);
5271 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
5272 			ALOGE("glGetClipPlanex: GL communication error, please report this issue to b.android.com.\n");
5273 			abort();
5274 		}
5275 	}
5276 }
5277 
glGetFixedvOES_enc(void * self,GLenum pname,GLfixed * params)5278 void glGetFixedvOES_enc(void *self , GLenum pname, GLfixed* params)
5279 {
5280 
5281 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
5282 	IOStream *stream = ctx->m_stream;
5283 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
5284 	bool useChecksum = checksumCalculator->getVersion() > 0;
5285 
5286 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLfixed));
5287 	 unsigned char *ptr;
5288 	 unsigned char *buf;
5289 	 const size_t sizeWithoutChecksum = 8 + 4 + __size_params + 1*4;
5290 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
5291 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
5292 	buf = stream->alloc(totalSize);
5293 	ptr = buf;
5294 	int tmp = OP_glGetFixedvOES;memcpy(ptr, &tmp, 4); ptr += 4;
5295 	memcpy(ptr, &totalSize, 4);  ptr += 4;
5296 
5297 		memcpy(ptr, &pname, 4); ptr += 4;
5298 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
5299 
5300 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
5301 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
5302 
5303 	stream->readback(params, __size_params);
5304 	if (useChecksum) checksumCalculator->addBuffer(params, __size_params);
5305 	if (useChecksum) {
5306 		unsigned char *checksumBufPtr = NULL;
5307 		std::vector<unsigned char> checksumBuf(checksumSize);
5308 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
5309 		stream->readback(checksumBufPtr, checksumSize);
5310 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
5311 			ALOGE("glGetFixedvOES: GL communication error, please report this issue to b.android.com.\n");
5312 			abort();
5313 		}
5314 	}
5315 }
5316 
glGetLightxvOES_enc(void * self,GLenum light,GLenum pname,GLfixed * params)5317 void glGetLightxvOES_enc(void *self , GLenum light, GLenum pname, GLfixed* params)
5318 {
5319 
5320 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
5321 	IOStream *stream = ctx->m_stream;
5322 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
5323 	bool useChecksum = checksumCalculator->getVersion() > 0;
5324 
5325 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLfixed));
5326 	 unsigned char *ptr;
5327 	 unsigned char *buf;
5328 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + __size_params + 1*4;
5329 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
5330 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
5331 	buf = stream->alloc(totalSize);
5332 	ptr = buf;
5333 	int tmp = OP_glGetLightxvOES;memcpy(ptr, &tmp, 4); ptr += 4;
5334 	memcpy(ptr, &totalSize, 4);  ptr += 4;
5335 
5336 		memcpy(ptr, &light, 4); ptr += 4;
5337 		memcpy(ptr, &pname, 4); ptr += 4;
5338 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
5339 
5340 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
5341 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
5342 
5343 	stream->readback(params, __size_params);
5344 	if (useChecksum) checksumCalculator->addBuffer(params, __size_params);
5345 	if (useChecksum) {
5346 		unsigned char *checksumBufPtr = NULL;
5347 		std::vector<unsigned char> checksumBuf(checksumSize);
5348 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
5349 		stream->readback(checksumBufPtr, checksumSize);
5350 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
5351 			ALOGE("glGetLightxvOES: GL communication error, please report this issue to b.android.com.\n");
5352 			abort();
5353 		}
5354 	}
5355 }
5356 
glGetMaterialxvOES_enc(void * self,GLenum face,GLenum pname,GLfixed * params)5357 void glGetMaterialxvOES_enc(void *self , GLenum face, GLenum pname, GLfixed* params)
5358 {
5359 
5360 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
5361 	IOStream *stream = ctx->m_stream;
5362 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
5363 	bool useChecksum = checksumCalculator->getVersion() > 0;
5364 
5365 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLfixed));
5366 	 unsigned char *ptr;
5367 	 unsigned char *buf;
5368 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + __size_params + 1*4;
5369 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
5370 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
5371 	buf = stream->alloc(totalSize);
5372 	ptr = buf;
5373 	int tmp = OP_glGetMaterialxvOES;memcpy(ptr, &tmp, 4); ptr += 4;
5374 	memcpy(ptr, &totalSize, 4);  ptr += 4;
5375 
5376 		memcpy(ptr, &face, 4); ptr += 4;
5377 		memcpy(ptr, &pname, 4); ptr += 4;
5378 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
5379 
5380 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
5381 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
5382 
5383 	stream->readback(params, __size_params);
5384 	if (useChecksum) checksumCalculator->addBuffer(params, __size_params);
5385 	if (useChecksum) {
5386 		unsigned char *checksumBufPtr = NULL;
5387 		std::vector<unsigned char> checksumBuf(checksumSize);
5388 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
5389 		stream->readback(checksumBufPtr, checksumSize);
5390 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
5391 			ALOGE("glGetMaterialxvOES: GL communication error, please report this issue to b.android.com.\n");
5392 			abort();
5393 		}
5394 	}
5395 }
5396 
glGetTexEnvxvOES_enc(void * self,GLenum env,GLenum pname,GLfixed * params)5397 void glGetTexEnvxvOES_enc(void *self , GLenum env, GLenum pname, GLfixed* params)
5398 {
5399 
5400 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
5401 	IOStream *stream = ctx->m_stream;
5402 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
5403 	bool useChecksum = checksumCalculator->getVersion() > 0;
5404 
5405 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLfixed));
5406 	 unsigned char *ptr;
5407 	 unsigned char *buf;
5408 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + __size_params + 1*4;
5409 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
5410 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
5411 	buf = stream->alloc(totalSize);
5412 	ptr = buf;
5413 	int tmp = OP_glGetTexEnvxvOES;memcpy(ptr, &tmp, 4); ptr += 4;
5414 	memcpy(ptr, &totalSize, 4);  ptr += 4;
5415 
5416 		memcpy(ptr, &env, 4); ptr += 4;
5417 		memcpy(ptr, &pname, 4); ptr += 4;
5418 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
5419 
5420 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
5421 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
5422 
5423 	stream->readback(params, __size_params);
5424 	if (useChecksum) checksumCalculator->addBuffer(params, __size_params);
5425 	if (useChecksum) {
5426 		unsigned char *checksumBufPtr = NULL;
5427 		std::vector<unsigned char> checksumBuf(checksumSize);
5428 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
5429 		stream->readback(checksumBufPtr, checksumSize);
5430 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
5431 			ALOGE("glGetTexEnvxvOES: GL communication error, please report this issue to b.android.com.\n");
5432 			abort();
5433 		}
5434 	}
5435 }
5436 
glGetTexParameterxvOES_enc(void * self,GLenum target,GLenum pname,GLfixed * params)5437 void glGetTexParameterxvOES_enc(void *self , GLenum target, GLenum pname, GLfixed* params)
5438 {
5439 
5440 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
5441 	IOStream *stream = ctx->m_stream;
5442 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
5443 	bool useChecksum = checksumCalculator->getVersion() > 0;
5444 
5445 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLfixed));
5446 	 unsigned char *ptr;
5447 	 unsigned char *buf;
5448 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + __size_params + 1*4;
5449 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
5450 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
5451 	buf = stream->alloc(totalSize);
5452 	ptr = buf;
5453 	int tmp = OP_glGetTexParameterxvOES;memcpy(ptr, &tmp, 4); ptr += 4;
5454 	memcpy(ptr, &totalSize, 4);  ptr += 4;
5455 
5456 		memcpy(ptr, &target, 4); ptr += 4;
5457 		memcpy(ptr, &pname, 4); ptr += 4;
5458 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
5459 
5460 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
5461 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
5462 
5463 	stream->readback(params, __size_params);
5464 	if (useChecksum) checksumCalculator->addBuffer(params, __size_params);
5465 	if (useChecksum) {
5466 		unsigned char *checksumBufPtr = NULL;
5467 		std::vector<unsigned char> checksumBuf(checksumSize);
5468 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
5469 		stream->readback(checksumBufPtr, checksumSize);
5470 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
5471 			ALOGE("glGetTexParameterxvOES: GL communication error, please report this issue to b.android.com.\n");
5472 			abort();
5473 		}
5474 	}
5475 }
5476 
glLightModelxOES_enc(void * self,GLenum pname,GLfixed param)5477 void glLightModelxOES_enc(void *self , GLenum pname, GLfixed param)
5478 {
5479 
5480 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
5481 	IOStream *stream = ctx->m_stream;
5482 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
5483 	bool useChecksum = checksumCalculator->getVersion() > 0;
5484 
5485 	 unsigned char *ptr;
5486 	 unsigned char *buf;
5487 	 const size_t sizeWithoutChecksum = 8 + 4 + 4;
5488 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
5489 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
5490 	buf = stream->alloc(totalSize);
5491 	ptr = buf;
5492 	int tmp = OP_glLightModelxOES;memcpy(ptr, &tmp, 4); ptr += 4;
5493 	memcpy(ptr, &totalSize, 4);  ptr += 4;
5494 
5495 		memcpy(ptr, &pname, 4); ptr += 4;
5496 		memcpy(ptr, &param, 4); ptr += 4;
5497 
5498 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
5499 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
5500 
5501 }
5502 
glLightModelxvOES_enc(void * self,GLenum pname,const GLfixed * params)5503 void glLightModelxvOES_enc(void *self , GLenum pname, const GLfixed* params)
5504 {
5505 
5506 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
5507 	IOStream *stream = ctx->m_stream;
5508 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
5509 	bool useChecksum = checksumCalculator->getVersion() > 0;
5510 
5511 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLfixed));
5512 	 unsigned char *ptr;
5513 	 unsigned char *buf;
5514 	 const size_t sizeWithoutChecksum = 8 + 4 + __size_params + 1*4;
5515 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
5516 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
5517 	buf = stream->alloc(totalSize);
5518 	ptr = buf;
5519 	int tmp = OP_glLightModelxvOES;memcpy(ptr, &tmp, 4); ptr += 4;
5520 	memcpy(ptr, &totalSize, 4);  ptr += 4;
5521 
5522 		memcpy(ptr, &pname, 4); ptr += 4;
5523 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
5524 	memcpy(ptr, params, __size_params);ptr += __size_params;
5525 
5526 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
5527 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
5528 
5529 }
5530 
glLightxOES_enc(void * self,GLenum light,GLenum pname,GLfixed param)5531 void glLightxOES_enc(void *self , GLenum light, GLenum pname, GLfixed param)
5532 {
5533 
5534 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
5535 	IOStream *stream = ctx->m_stream;
5536 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
5537 	bool useChecksum = checksumCalculator->getVersion() > 0;
5538 
5539 	 unsigned char *ptr;
5540 	 unsigned char *buf;
5541 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4;
5542 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
5543 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
5544 	buf = stream->alloc(totalSize);
5545 	ptr = buf;
5546 	int tmp = OP_glLightxOES;memcpy(ptr, &tmp, 4); ptr += 4;
5547 	memcpy(ptr, &totalSize, 4);  ptr += 4;
5548 
5549 		memcpy(ptr, &light, 4); ptr += 4;
5550 		memcpy(ptr, &pname, 4); ptr += 4;
5551 		memcpy(ptr, &param, 4); ptr += 4;
5552 
5553 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
5554 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
5555 
5556 }
5557 
glLightxvOES_enc(void * self,GLenum light,GLenum pname,const GLfixed * params)5558 void glLightxvOES_enc(void *self , GLenum light, GLenum pname, const GLfixed* params)
5559 {
5560 
5561 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
5562 	IOStream *stream = ctx->m_stream;
5563 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
5564 	bool useChecksum = checksumCalculator->getVersion() > 0;
5565 
5566 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLfixed));
5567 	 unsigned char *ptr;
5568 	 unsigned char *buf;
5569 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + __size_params + 1*4;
5570 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
5571 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
5572 	buf = stream->alloc(totalSize);
5573 	ptr = buf;
5574 	int tmp = OP_glLightxvOES;memcpy(ptr, &tmp, 4); ptr += 4;
5575 	memcpy(ptr, &totalSize, 4);  ptr += 4;
5576 
5577 		memcpy(ptr, &light, 4); ptr += 4;
5578 		memcpy(ptr, &pname, 4); ptr += 4;
5579 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
5580 	memcpy(ptr, params, __size_params);ptr += __size_params;
5581 
5582 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
5583 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
5584 
5585 }
5586 
glLineWidthxOES_enc(void * self,GLfixed width)5587 void glLineWidthxOES_enc(void *self , GLfixed width)
5588 {
5589 
5590 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
5591 	IOStream *stream = ctx->m_stream;
5592 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
5593 	bool useChecksum = checksumCalculator->getVersion() > 0;
5594 
5595 	 unsigned char *ptr;
5596 	 unsigned char *buf;
5597 	 const size_t sizeWithoutChecksum = 8 + 4;
5598 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
5599 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
5600 	buf = stream->alloc(totalSize);
5601 	ptr = buf;
5602 	int tmp = OP_glLineWidthxOES;memcpy(ptr, &tmp, 4); ptr += 4;
5603 	memcpy(ptr, &totalSize, 4);  ptr += 4;
5604 
5605 		memcpy(ptr, &width, 4); ptr += 4;
5606 
5607 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
5608 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
5609 
5610 }
5611 
glLoadMatrixxOES_enc(void * self,const GLfixed * m)5612 void glLoadMatrixxOES_enc(void *self , const GLfixed* m)
5613 {
5614 
5615 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
5616 	IOStream *stream = ctx->m_stream;
5617 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
5618 	bool useChecksum = checksumCalculator->getVersion() > 0;
5619 
5620 	const unsigned int __size_m =  (16 * sizeof(GLfixed));
5621 	 unsigned char *ptr;
5622 	 unsigned char *buf;
5623 	 const size_t sizeWithoutChecksum = 8 + __size_m + 1*4;
5624 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
5625 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
5626 	buf = stream->alloc(totalSize);
5627 	ptr = buf;
5628 	int tmp = OP_glLoadMatrixxOES;memcpy(ptr, &tmp, 4); ptr += 4;
5629 	memcpy(ptr, &totalSize, 4);  ptr += 4;
5630 
5631 	*(unsigned int *)(ptr) = __size_m; ptr += 4;
5632 	memcpy(ptr, m, __size_m);ptr += __size_m;
5633 
5634 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
5635 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
5636 
5637 }
5638 
glMaterialxOES_enc(void * self,GLenum face,GLenum pname,GLfixed param)5639 void glMaterialxOES_enc(void *self , GLenum face, GLenum pname, GLfixed param)
5640 {
5641 
5642 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
5643 	IOStream *stream = ctx->m_stream;
5644 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
5645 	bool useChecksum = checksumCalculator->getVersion() > 0;
5646 
5647 	 unsigned char *ptr;
5648 	 unsigned char *buf;
5649 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4;
5650 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
5651 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
5652 	buf = stream->alloc(totalSize);
5653 	ptr = buf;
5654 	int tmp = OP_glMaterialxOES;memcpy(ptr, &tmp, 4); ptr += 4;
5655 	memcpy(ptr, &totalSize, 4);  ptr += 4;
5656 
5657 		memcpy(ptr, &face, 4); ptr += 4;
5658 		memcpy(ptr, &pname, 4); ptr += 4;
5659 		memcpy(ptr, &param, 4); ptr += 4;
5660 
5661 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
5662 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
5663 
5664 }
5665 
glMaterialxvOES_enc(void * self,GLenum face,GLenum pname,const GLfixed * params)5666 void glMaterialxvOES_enc(void *self , GLenum face, GLenum pname, const GLfixed* params)
5667 {
5668 
5669 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
5670 	IOStream *stream = ctx->m_stream;
5671 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
5672 	bool useChecksum = checksumCalculator->getVersion() > 0;
5673 
5674 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLfixed));
5675 	 unsigned char *ptr;
5676 	 unsigned char *buf;
5677 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + __size_params + 1*4;
5678 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
5679 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
5680 	buf = stream->alloc(totalSize);
5681 	ptr = buf;
5682 	int tmp = OP_glMaterialxvOES;memcpy(ptr, &tmp, 4); ptr += 4;
5683 	memcpy(ptr, &totalSize, 4);  ptr += 4;
5684 
5685 		memcpy(ptr, &face, 4); ptr += 4;
5686 		memcpy(ptr, &pname, 4); ptr += 4;
5687 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
5688 	memcpy(ptr, params, __size_params);ptr += __size_params;
5689 
5690 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
5691 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
5692 
5693 }
5694 
glMultMatrixxOES_enc(void * self,const GLfixed * m)5695 void glMultMatrixxOES_enc(void *self , const GLfixed* m)
5696 {
5697 
5698 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
5699 	IOStream *stream = ctx->m_stream;
5700 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
5701 	bool useChecksum = checksumCalculator->getVersion() > 0;
5702 
5703 	const unsigned int __size_m =  (16 * sizeof(GLfixed));
5704 	 unsigned char *ptr;
5705 	 unsigned char *buf;
5706 	 const size_t sizeWithoutChecksum = 8 + __size_m + 1*4;
5707 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
5708 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
5709 	buf = stream->alloc(totalSize);
5710 	ptr = buf;
5711 	int tmp = OP_glMultMatrixxOES;memcpy(ptr, &tmp, 4); ptr += 4;
5712 	memcpy(ptr, &totalSize, 4);  ptr += 4;
5713 
5714 	*(unsigned int *)(ptr) = __size_m; ptr += 4;
5715 	memcpy(ptr, m, __size_m);ptr += __size_m;
5716 
5717 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
5718 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
5719 
5720 }
5721 
glMultiTexCoord4xOES_enc(void * self,GLenum target,GLfixed s,GLfixed t,GLfixed r,GLfixed q)5722 void glMultiTexCoord4xOES_enc(void *self , GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q)
5723 {
5724 
5725 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
5726 	IOStream *stream = ctx->m_stream;
5727 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
5728 	bool useChecksum = checksumCalculator->getVersion() > 0;
5729 
5730 	 unsigned char *ptr;
5731 	 unsigned char *buf;
5732 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4 + 4;
5733 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
5734 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
5735 	buf = stream->alloc(totalSize);
5736 	ptr = buf;
5737 	int tmp = OP_glMultiTexCoord4xOES;memcpy(ptr, &tmp, 4); ptr += 4;
5738 	memcpy(ptr, &totalSize, 4);  ptr += 4;
5739 
5740 		memcpy(ptr, &target, 4); ptr += 4;
5741 		memcpy(ptr, &s, 4); ptr += 4;
5742 		memcpy(ptr, &t, 4); ptr += 4;
5743 		memcpy(ptr, &r, 4); ptr += 4;
5744 		memcpy(ptr, &q, 4); ptr += 4;
5745 
5746 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
5747 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
5748 
5749 }
5750 
glNormal3xOES_enc(void * self,GLfixed nx,GLfixed ny,GLfixed nz)5751 void glNormal3xOES_enc(void *self , GLfixed nx, GLfixed ny, GLfixed nz)
5752 {
5753 
5754 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
5755 	IOStream *stream = ctx->m_stream;
5756 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
5757 	bool useChecksum = checksumCalculator->getVersion() > 0;
5758 
5759 	 unsigned char *ptr;
5760 	 unsigned char *buf;
5761 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4;
5762 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
5763 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
5764 	buf = stream->alloc(totalSize);
5765 	ptr = buf;
5766 	int tmp = OP_glNormal3xOES;memcpy(ptr, &tmp, 4); ptr += 4;
5767 	memcpy(ptr, &totalSize, 4);  ptr += 4;
5768 
5769 		memcpy(ptr, &nx, 4); ptr += 4;
5770 		memcpy(ptr, &ny, 4); ptr += 4;
5771 		memcpy(ptr, &nz, 4); ptr += 4;
5772 
5773 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
5774 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
5775 
5776 }
5777 
glOrthoxOES_enc(void * self,GLfixed left,GLfixed right,GLfixed bottom,GLfixed top,GLfixed zNear,GLfixed zFar)5778 void glOrthoxOES_enc(void *self , GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar)
5779 {
5780 
5781 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
5782 	IOStream *stream = ctx->m_stream;
5783 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
5784 	bool useChecksum = checksumCalculator->getVersion() > 0;
5785 
5786 	 unsigned char *ptr;
5787 	 unsigned char *buf;
5788 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4 + 4 + 4;
5789 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
5790 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
5791 	buf = stream->alloc(totalSize);
5792 	ptr = buf;
5793 	int tmp = OP_glOrthoxOES;memcpy(ptr, &tmp, 4); ptr += 4;
5794 	memcpy(ptr, &totalSize, 4);  ptr += 4;
5795 
5796 		memcpy(ptr, &left, 4); ptr += 4;
5797 		memcpy(ptr, &right, 4); ptr += 4;
5798 		memcpy(ptr, &bottom, 4); ptr += 4;
5799 		memcpy(ptr, &top, 4); ptr += 4;
5800 		memcpy(ptr, &zNear, 4); ptr += 4;
5801 		memcpy(ptr, &zFar, 4); ptr += 4;
5802 
5803 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
5804 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
5805 
5806 }
5807 
glPointParameterxOES_enc(void * self,GLenum pname,GLfixed param)5808 void glPointParameterxOES_enc(void *self , GLenum pname, GLfixed param)
5809 {
5810 
5811 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
5812 	IOStream *stream = ctx->m_stream;
5813 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
5814 	bool useChecksum = checksumCalculator->getVersion() > 0;
5815 
5816 	 unsigned char *ptr;
5817 	 unsigned char *buf;
5818 	 const size_t sizeWithoutChecksum = 8 + 4 + 4;
5819 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
5820 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
5821 	buf = stream->alloc(totalSize);
5822 	ptr = buf;
5823 	int tmp = OP_glPointParameterxOES;memcpy(ptr, &tmp, 4); ptr += 4;
5824 	memcpy(ptr, &totalSize, 4);  ptr += 4;
5825 
5826 		memcpy(ptr, &pname, 4); ptr += 4;
5827 		memcpy(ptr, &param, 4); ptr += 4;
5828 
5829 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
5830 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
5831 
5832 }
5833 
glPointParameterxvOES_enc(void * self,GLenum pname,const GLfixed * params)5834 void glPointParameterxvOES_enc(void *self , GLenum pname, const GLfixed* params)
5835 {
5836 
5837 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
5838 	IOStream *stream = ctx->m_stream;
5839 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
5840 	bool useChecksum = checksumCalculator->getVersion() > 0;
5841 
5842 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLfixed));
5843 	 unsigned char *ptr;
5844 	 unsigned char *buf;
5845 	 const size_t sizeWithoutChecksum = 8 + 4 + __size_params + 1*4;
5846 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
5847 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
5848 	buf = stream->alloc(totalSize);
5849 	ptr = buf;
5850 	int tmp = OP_glPointParameterxvOES;memcpy(ptr, &tmp, 4); ptr += 4;
5851 	memcpy(ptr, &totalSize, 4);  ptr += 4;
5852 
5853 		memcpy(ptr, &pname, 4); ptr += 4;
5854 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
5855 	memcpy(ptr, params, __size_params);ptr += __size_params;
5856 
5857 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
5858 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
5859 
5860 }
5861 
glPointSizexOES_enc(void * self,GLfixed size)5862 void glPointSizexOES_enc(void *self , GLfixed size)
5863 {
5864 
5865 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
5866 	IOStream *stream = ctx->m_stream;
5867 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
5868 	bool useChecksum = checksumCalculator->getVersion() > 0;
5869 
5870 	 unsigned char *ptr;
5871 	 unsigned char *buf;
5872 	 const size_t sizeWithoutChecksum = 8 + 4;
5873 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
5874 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
5875 	buf = stream->alloc(totalSize);
5876 	ptr = buf;
5877 	int tmp = OP_glPointSizexOES;memcpy(ptr, &tmp, 4); ptr += 4;
5878 	memcpy(ptr, &totalSize, 4);  ptr += 4;
5879 
5880 		memcpy(ptr, &size, 4); ptr += 4;
5881 
5882 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
5883 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
5884 
5885 }
5886 
glPolygonOffsetxOES_enc(void * self,GLfixed factor,GLfixed units)5887 void glPolygonOffsetxOES_enc(void *self , GLfixed factor, GLfixed units)
5888 {
5889 
5890 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
5891 	IOStream *stream = ctx->m_stream;
5892 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
5893 	bool useChecksum = checksumCalculator->getVersion() > 0;
5894 
5895 	 unsigned char *ptr;
5896 	 unsigned char *buf;
5897 	 const size_t sizeWithoutChecksum = 8 + 4 + 4;
5898 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
5899 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
5900 	buf = stream->alloc(totalSize);
5901 	ptr = buf;
5902 	int tmp = OP_glPolygonOffsetxOES;memcpy(ptr, &tmp, 4); ptr += 4;
5903 	memcpy(ptr, &totalSize, 4);  ptr += 4;
5904 
5905 		memcpy(ptr, &factor, 4); ptr += 4;
5906 		memcpy(ptr, &units, 4); ptr += 4;
5907 
5908 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
5909 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
5910 
5911 }
5912 
glRotatexOES_enc(void * self,GLfixed angle,GLfixed x,GLfixed y,GLfixed z)5913 void glRotatexOES_enc(void *self , GLfixed angle, GLfixed x, GLfixed y, GLfixed z)
5914 {
5915 
5916 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
5917 	IOStream *stream = ctx->m_stream;
5918 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
5919 	bool useChecksum = checksumCalculator->getVersion() > 0;
5920 
5921 	 unsigned char *ptr;
5922 	 unsigned char *buf;
5923 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4;
5924 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
5925 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
5926 	buf = stream->alloc(totalSize);
5927 	ptr = buf;
5928 	int tmp = OP_glRotatexOES;memcpy(ptr, &tmp, 4); ptr += 4;
5929 	memcpy(ptr, &totalSize, 4);  ptr += 4;
5930 
5931 		memcpy(ptr, &angle, 4); ptr += 4;
5932 		memcpy(ptr, &x, 4); ptr += 4;
5933 		memcpy(ptr, &y, 4); ptr += 4;
5934 		memcpy(ptr, &z, 4); ptr += 4;
5935 
5936 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
5937 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
5938 
5939 }
5940 
glSampleCoveragexOES_enc(void * self,GLclampx value,GLboolean invert)5941 void glSampleCoveragexOES_enc(void *self , GLclampx value, GLboolean invert)
5942 {
5943 
5944 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
5945 	IOStream *stream = ctx->m_stream;
5946 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
5947 	bool useChecksum = checksumCalculator->getVersion() > 0;
5948 
5949 	 unsigned char *ptr;
5950 	 unsigned char *buf;
5951 	 const size_t sizeWithoutChecksum = 8 + 4 + 1;
5952 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
5953 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
5954 	buf = stream->alloc(totalSize);
5955 	ptr = buf;
5956 	int tmp = OP_glSampleCoveragexOES;memcpy(ptr, &tmp, 4); ptr += 4;
5957 	memcpy(ptr, &totalSize, 4);  ptr += 4;
5958 
5959 		memcpy(ptr, &value, 4); ptr += 4;
5960 		memcpy(ptr, &invert, 1); ptr += 1;
5961 
5962 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
5963 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
5964 
5965 }
5966 
glScalexOES_enc(void * self,GLfixed x,GLfixed y,GLfixed z)5967 void glScalexOES_enc(void *self , GLfixed x, GLfixed y, GLfixed z)
5968 {
5969 
5970 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
5971 	IOStream *stream = ctx->m_stream;
5972 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
5973 	bool useChecksum = checksumCalculator->getVersion() > 0;
5974 
5975 	 unsigned char *ptr;
5976 	 unsigned char *buf;
5977 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4;
5978 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
5979 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
5980 	buf = stream->alloc(totalSize);
5981 	ptr = buf;
5982 	int tmp = OP_glScalexOES;memcpy(ptr, &tmp, 4); ptr += 4;
5983 	memcpy(ptr, &totalSize, 4);  ptr += 4;
5984 
5985 		memcpy(ptr, &x, 4); ptr += 4;
5986 		memcpy(ptr, &y, 4); ptr += 4;
5987 		memcpy(ptr, &z, 4); ptr += 4;
5988 
5989 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
5990 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
5991 
5992 }
5993 
glTexEnvxOES_enc(void * self,GLenum target,GLenum pname,GLfixed param)5994 void glTexEnvxOES_enc(void *self , GLenum target, GLenum pname, GLfixed param)
5995 {
5996 
5997 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
5998 	IOStream *stream = ctx->m_stream;
5999 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
6000 	bool useChecksum = checksumCalculator->getVersion() > 0;
6001 
6002 	 unsigned char *ptr;
6003 	 unsigned char *buf;
6004 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4;
6005 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
6006 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
6007 	buf = stream->alloc(totalSize);
6008 	ptr = buf;
6009 	int tmp = OP_glTexEnvxOES;memcpy(ptr, &tmp, 4); ptr += 4;
6010 	memcpy(ptr, &totalSize, 4);  ptr += 4;
6011 
6012 		memcpy(ptr, &target, 4); ptr += 4;
6013 		memcpy(ptr, &pname, 4); ptr += 4;
6014 		memcpy(ptr, &param, 4); ptr += 4;
6015 
6016 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
6017 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
6018 
6019 }
6020 
glTexEnvxvOES_enc(void * self,GLenum target,GLenum pname,const GLfixed * params)6021 void glTexEnvxvOES_enc(void *self , GLenum target, GLenum pname, const GLfixed* params)
6022 {
6023 
6024 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
6025 	IOStream *stream = ctx->m_stream;
6026 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
6027 	bool useChecksum = checksumCalculator->getVersion() > 0;
6028 
6029 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLfixed));
6030 	 unsigned char *ptr;
6031 	 unsigned char *buf;
6032 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + __size_params + 1*4;
6033 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
6034 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
6035 	buf = stream->alloc(totalSize);
6036 	ptr = buf;
6037 	int tmp = OP_glTexEnvxvOES;memcpy(ptr, &tmp, 4); ptr += 4;
6038 	memcpy(ptr, &totalSize, 4);  ptr += 4;
6039 
6040 		memcpy(ptr, &target, 4); ptr += 4;
6041 		memcpy(ptr, &pname, 4); ptr += 4;
6042 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
6043 	memcpy(ptr, params, __size_params);ptr += __size_params;
6044 
6045 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
6046 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
6047 
6048 }
6049 
glTexParameterxOES_enc(void * self,GLenum target,GLenum pname,GLfixed param)6050 void glTexParameterxOES_enc(void *self , GLenum target, GLenum pname, GLfixed param)
6051 {
6052 
6053 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
6054 	IOStream *stream = ctx->m_stream;
6055 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
6056 	bool useChecksum = checksumCalculator->getVersion() > 0;
6057 
6058 	 unsigned char *ptr;
6059 	 unsigned char *buf;
6060 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4;
6061 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
6062 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
6063 	buf = stream->alloc(totalSize);
6064 	ptr = buf;
6065 	int tmp = OP_glTexParameterxOES;memcpy(ptr, &tmp, 4); ptr += 4;
6066 	memcpy(ptr, &totalSize, 4);  ptr += 4;
6067 
6068 		memcpy(ptr, &target, 4); ptr += 4;
6069 		memcpy(ptr, &pname, 4); ptr += 4;
6070 		memcpy(ptr, &param, 4); ptr += 4;
6071 
6072 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
6073 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
6074 
6075 }
6076 
glTexParameterxvOES_enc(void * self,GLenum target,GLenum pname,const GLfixed * params)6077 void glTexParameterxvOES_enc(void *self , GLenum target, GLenum pname, const GLfixed* params)
6078 {
6079 
6080 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
6081 	IOStream *stream = ctx->m_stream;
6082 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
6083 	bool useChecksum = checksumCalculator->getVersion() > 0;
6084 
6085 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLfixed));
6086 	 unsigned char *ptr;
6087 	 unsigned char *buf;
6088 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + __size_params + 1*4;
6089 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
6090 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
6091 	buf = stream->alloc(totalSize);
6092 	ptr = buf;
6093 	int tmp = OP_glTexParameterxvOES;memcpy(ptr, &tmp, 4); ptr += 4;
6094 	memcpy(ptr, &totalSize, 4);  ptr += 4;
6095 
6096 		memcpy(ptr, &target, 4); ptr += 4;
6097 		memcpy(ptr, &pname, 4); ptr += 4;
6098 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
6099 	memcpy(ptr, params, __size_params);ptr += __size_params;
6100 
6101 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
6102 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
6103 
6104 }
6105 
glTranslatexOES_enc(void * self,GLfixed x,GLfixed y,GLfixed z)6106 void glTranslatexOES_enc(void *self , GLfixed x, GLfixed y, GLfixed z)
6107 {
6108 
6109 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
6110 	IOStream *stream = ctx->m_stream;
6111 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
6112 	bool useChecksum = checksumCalculator->getVersion() > 0;
6113 
6114 	 unsigned char *ptr;
6115 	 unsigned char *buf;
6116 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4;
6117 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
6118 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
6119 	buf = stream->alloc(totalSize);
6120 	ptr = buf;
6121 	int tmp = OP_glTranslatexOES;memcpy(ptr, &tmp, 4); ptr += 4;
6122 	memcpy(ptr, &totalSize, 4);  ptr += 4;
6123 
6124 		memcpy(ptr, &x, 4); ptr += 4;
6125 		memcpy(ptr, &y, 4); ptr += 4;
6126 		memcpy(ptr, &z, 4); ptr += 4;
6127 
6128 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
6129 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
6130 
6131 }
6132 
glIsRenderbufferOES_enc(void * self,GLuint renderbuffer)6133 GLboolean glIsRenderbufferOES_enc(void *self , GLuint renderbuffer)
6134 {
6135 
6136 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
6137 	IOStream *stream = ctx->m_stream;
6138 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
6139 	bool useChecksum = checksumCalculator->getVersion() > 0;
6140 
6141 	 unsigned char *ptr;
6142 	 unsigned char *buf;
6143 	 const size_t sizeWithoutChecksum = 8 + 4;
6144 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
6145 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
6146 	buf = stream->alloc(totalSize);
6147 	ptr = buf;
6148 	int tmp = OP_glIsRenderbufferOES;memcpy(ptr, &tmp, 4); ptr += 4;
6149 	memcpy(ptr, &totalSize, 4);  ptr += 4;
6150 
6151 		memcpy(ptr, &renderbuffer, 4); ptr += 4;
6152 
6153 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
6154 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
6155 
6156 
6157 	GLboolean retval;
6158 	stream->readback(&retval, 1);
6159 	if (useChecksum) checksumCalculator->addBuffer(&retval, 1);
6160 	if (useChecksum) {
6161 		unsigned char *checksumBufPtr = NULL;
6162 		std::vector<unsigned char> checksumBuf(checksumSize);
6163 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
6164 		stream->readback(checksumBufPtr, checksumSize);
6165 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
6166 			ALOGE("glIsRenderbufferOES: GL communication error, please report this issue to b.android.com.\n");
6167 			abort();
6168 		}
6169 	}
6170 	return retval;
6171 }
6172 
glBindRenderbufferOES_enc(void * self,GLenum target,GLuint renderbuffer)6173 void glBindRenderbufferOES_enc(void *self , GLenum target, GLuint renderbuffer)
6174 {
6175 
6176 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
6177 	IOStream *stream = ctx->m_stream;
6178 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
6179 	bool useChecksum = checksumCalculator->getVersion() > 0;
6180 
6181 	 unsigned char *ptr;
6182 	 unsigned char *buf;
6183 	 const size_t sizeWithoutChecksum = 8 + 4 + 4;
6184 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
6185 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
6186 	buf = stream->alloc(totalSize);
6187 	ptr = buf;
6188 	int tmp = OP_glBindRenderbufferOES;memcpy(ptr, &tmp, 4); ptr += 4;
6189 	memcpy(ptr, &totalSize, 4);  ptr += 4;
6190 
6191 		memcpy(ptr, &target, 4); ptr += 4;
6192 		memcpy(ptr, &renderbuffer, 4); ptr += 4;
6193 
6194 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
6195 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
6196 
6197 }
6198 
glDeleteRenderbuffersOES_enc(void * self,GLsizei n,const GLuint * renderbuffers)6199 void glDeleteRenderbuffersOES_enc(void *self , GLsizei n, const GLuint* renderbuffers)
6200 {
6201 
6202 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
6203 	IOStream *stream = ctx->m_stream;
6204 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
6205 	bool useChecksum = checksumCalculator->getVersion() > 0;
6206 
6207 	const unsigned int __size_renderbuffers =  (n * sizeof(GLuint));
6208 	 unsigned char *ptr;
6209 	 unsigned char *buf;
6210 	 const size_t sizeWithoutChecksum = 8 + 4 + __size_renderbuffers + 1*4;
6211 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
6212 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
6213 	buf = stream->alloc(totalSize);
6214 	ptr = buf;
6215 	int tmp = OP_glDeleteRenderbuffersOES;memcpy(ptr, &tmp, 4); ptr += 4;
6216 	memcpy(ptr, &totalSize, 4);  ptr += 4;
6217 
6218 		memcpy(ptr, &n, 4); ptr += 4;
6219 	*(unsigned int *)(ptr) = __size_renderbuffers; ptr += 4;
6220 	memcpy(ptr, renderbuffers, __size_renderbuffers);ptr += __size_renderbuffers;
6221 
6222 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
6223 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
6224 
6225 }
6226 
glGenRenderbuffersOES_enc(void * self,GLsizei n,GLuint * renderbuffers)6227 void glGenRenderbuffersOES_enc(void *self , GLsizei n, GLuint* renderbuffers)
6228 {
6229 
6230 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
6231 	IOStream *stream = ctx->m_stream;
6232 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
6233 	bool useChecksum = checksumCalculator->getVersion() > 0;
6234 
6235 	const unsigned int __size_renderbuffers =  (n * sizeof(GLuint));
6236 	 unsigned char *ptr;
6237 	 unsigned char *buf;
6238 	 const size_t sizeWithoutChecksum = 8 + 4 + __size_renderbuffers + 1*4;
6239 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
6240 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
6241 	buf = stream->alloc(totalSize);
6242 	ptr = buf;
6243 	int tmp = OP_glGenRenderbuffersOES;memcpy(ptr, &tmp, 4); ptr += 4;
6244 	memcpy(ptr, &totalSize, 4);  ptr += 4;
6245 
6246 		memcpy(ptr, &n, 4); ptr += 4;
6247 	*(unsigned int *)(ptr) = __size_renderbuffers; ptr += 4;
6248 
6249 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
6250 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
6251 
6252 	stream->readback(renderbuffers, __size_renderbuffers);
6253 	if (useChecksum) checksumCalculator->addBuffer(renderbuffers, __size_renderbuffers);
6254 	if (useChecksum) {
6255 		unsigned char *checksumBufPtr = NULL;
6256 		std::vector<unsigned char> checksumBuf(checksumSize);
6257 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
6258 		stream->readback(checksumBufPtr, checksumSize);
6259 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
6260 			ALOGE("glGenRenderbuffersOES: GL communication error, please report this issue to b.android.com.\n");
6261 			abort();
6262 		}
6263 	}
6264 }
6265 
glRenderbufferStorageOES_enc(void * self,GLenum target,GLenum internalformat,GLsizei width,GLsizei height)6266 void glRenderbufferStorageOES_enc(void *self , GLenum target, GLenum internalformat, GLsizei width, GLsizei height)
6267 {
6268 
6269 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
6270 	IOStream *stream = ctx->m_stream;
6271 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
6272 	bool useChecksum = checksumCalculator->getVersion() > 0;
6273 
6274 	 unsigned char *ptr;
6275 	 unsigned char *buf;
6276 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4;
6277 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
6278 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
6279 	buf = stream->alloc(totalSize);
6280 	ptr = buf;
6281 	int tmp = OP_glRenderbufferStorageOES;memcpy(ptr, &tmp, 4); ptr += 4;
6282 	memcpy(ptr, &totalSize, 4);  ptr += 4;
6283 
6284 		memcpy(ptr, &target, 4); ptr += 4;
6285 		memcpy(ptr, &internalformat, 4); ptr += 4;
6286 		memcpy(ptr, &width, 4); ptr += 4;
6287 		memcpy(ptr, &height, 4); ptr += 4;
6288 
6289 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
6290 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
6291 
6292 }
6293 
glGetRenderbufferParameterivOES_enc(void * self,GLenum target,GLenum pname,GLint * params)6294 void glGetRenderbufferParameterivOES_enc(void *self , GLenum target, GLenum pname, GLint* params)
6295 {
6296 
6297 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
6298 	IOStream *stream = ctx->m_stream;
6299 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
6300 	bool useChecksum = checksumCalculator->getVersion() > 0;
6301 
6302 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLint));
6303 	 unsigned char *ptr;
6304 	 unsigned char *buf;
6305 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + __size_params + 1*4;
6306 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
6307 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
6308 	buf = stream->alloc(totalSize);
6309 	ptr = buf;
6310 	int tmp = OP_glGetRenderbufferParameterivOES;memcpy(ptr, &tmp, 4); ptr += 4;
6311 	memcpy(ptr, &totalSize, 4);  ptr += 4;
6312 
6313 		memcpy(ptr, &target, 4); ptr += 4;
6314 		memcpy(ptr, &pname, 4); ptr += 4;
6315 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
6316 
6317 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
6318 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
6319 
6320 	stream->readback(params, __size_params);
6321 	if (useChecksum) checksumCalculator->addBuffer(params, __size_params);
6322 	if (useChecksum) {
6323 		unsigned char *checksumBufPtr = NULL;
6324 		std::vector<unsigned char> checksumBuf(checksumSize);
6325 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
6326 		stream->readback(checksumBufPtr, checksumSize);
6327 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
6328 			ALOGE("glGetRenderbufferParameterivOES: GL communication error, please report this issue to b.android.com.\n");
6329 			abort();
6330 		}
6331 	}
6332 }
6333 
glIsFramebufferOES_enc(void * self,GLuint framebuffer)6334 GLboolean glIsFramebufferOES_enc(void *self , GLuint framebuffer)
6335 {
6336 
6337 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
6338 	IOStream *stream = ctx->m_stream;
6339 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
6340 	bool useChecksum = checksumCalculator->getVersion() > 0;
6341 
6342 	 unsigned char *ptr;
6343 	 unsigned char *buf;
6344 	 const size_t sizeWithoutChecksum = 8 + 4;
6345 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
6346 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
6347 	buf = stream->alloc(totalSize);
6348 	ptr = buf;
6349 	int tmp = OP_glIsFramebufferOES;memcpy(ptr, &tmp, 4); ptr += 4;
6350 	memcpy(ptr, &totalSize, 4);  ptr += 4;
6351 
6352 		memcpy(ptr, &framebuffer, 4); ptr += 4;
6353 
6354 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
6355 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
6356 
6357 
6358 	GLboolean retval;
6359 	stream->readback(&retval, 1);
6360 	if (useChecksum) checksumCalculator->addBuffer(&retval, 1);
6361 	if (useChecksum) {
6362 		unsigned char *checksumBufPtr = NULL;
6363 		std::vector<unsigned char> checksumBuf(checksumSize);
6364 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
6365 		stream->readback(checksumBufPtr, checksumSize);
6366 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
6367 			ALOGE("glIsFramebufferOES: GL communication error, please report this issue to b.android.com.\n");
6368 			abort();
6369 		}
6370 	}
6371 	return retval;
6372 }
6373 
glBindFramebufferOES_enc(void * self,GLenum target,GLuint framebuffer)6374 void glBindFramebufferOES_enc(void *self , GLenum target, GLuint framebuffer)
6375 {
6376 
6377 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
6378 	IOStream *stream = ctx->m_stream;
6379 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
6380 	bool useChecksum = checksumCalculator->getVersion() > 0;
6381 
6382 	 unsigned char *ptr;
6383 	 unsigned char *buf;
6384 	 const size_t sizeWithoutChecksum = 8 + 4 + 4;
6385 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
6386 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
6387 	buf = stream->alloc(totalSize);
6388 	ptr = buf;
6389 	int tmp = OP_glBindFramebufferOES;memcpy(ptr, &tmp, 4); ptr += 4;
6390 	memcpy(ptr, &totalSize, 4);  ptr += 4;
6391 
6392 		memcpy(ptr, &target, 4); ptr += 4;
6393 		memcpy(ptr, &framebuffer, 4); ptr += 4;
6394 
6395 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
6396 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
6397 
6398 }
6399 
glDeleteFramebuffersOES_enc(void * self,GLsizei n,const GLuint * framebuffers)6400 void glDeleteFramebuffersOES_enc(void *self , GLsizei n, const GLuint* framebuffers)
6401 {
6402 
6403 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
6404 	IOStream *stream = ctx->m_stream;
6405 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
6406 	bool useChecksum = checksumCalculator->getVersion() > 0;
6407 
6408 	const unsigned int __size_framebuffers =  (n * sizeof(GLuint));
6409 	 unsigned char *ptr;
6410 	 unsigned char *buf;
6411 	 const size_t sizeWithoutChecksum = 8 + 4 + __size_framebuffers + 1*4;
6412 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
6413 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
6414 	buf = stream->alloc(totalSize);
6415 	ptr = buf;
6416 	int tmp = OP_glDeleteFramebuffersOES;memcpy(ptr, &tmp, 4); ptr += 4;
6417 	memcpy(ptr, &totalSize, 4);  ptr += 4;
6418 
6419 		memcpy(ptr, &n, 4); ptr += 4;
6420 	*(unsigned int *)(ptr) = __size_framebuffers; ptr += 4;
6421 	memcpy(ptr, framebuffers, __size_framebuffers);ptr += __size_framebuffers;
6422 
6423 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
6424 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
6425 
6426 }
6427 
glGenFramebuffersOES_enc(void * self,GLsizei n,GLuint * framebuffers)6428 void glGenFramebuffersOES_enc(void *self , GLsizei n, GLuint* framebuffers)
6429 {
6430 
6431 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
6432 	IOStream *stream = ctx->m_stream;
6433 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
6434 	bool useChecksum = checksumCalculator->getVersion() > 0;
6435 
6436 	const unsigned int __size_framebuffers =  (n * sizeof(GLuint));
6437 	 unsigned char *ptr;
6438 	 unsigned char *buf;
6439 	 const size_t sizeWithoutChecksum = 8 + 4 + __size_framebuffers + 1*4;
6440 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
6441 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
6442 	buf = stream->alloc(totalSize);
6443 	ptr = buf;
6444 	int tmp = OP_glGenFramebuffersOES;memcpy(ptr, &tmp, 4); ptr += 4;
6445 	memcpy(ptr, &totalSize, 4);  ptr += 4;
6446 
6447 		memcpy(ptr, &n, 4); ptr += 4;
6448 	*(unsigned int *)(ptr) = __size_framebuffers; ptr += 4;
6449 
6450 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
6451 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
6452 
6453 	stream->readback(framebuffers, __size_framebuffers);
6454 	if (useChecksum) checksumCalculator->addBuffer(framebuffers, __size_framebuffers);
6455 	if (useChecksum) {
6456 		unsigned char *checksumBufPtr = NULL;
6457 		std::vector<unsigned char> checksumBuf(checksumSize);
6458 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
6459 		stream->readback(checksumBufPtr, checksumSize);
6460 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
6461 			ALOGE("glGenFramebuffersOES: GL communication error, please report this issue to b.android.com.\n");
6462 			abort();
6463 		}
6464 	}
6465 }
6466 
glCheckFramebufferStatusOES_enc(void * self,GLenum target)6467 GLenum glCheckFramebufferStatusOES_enc(void *self , GLenum target)
6468 {
6469 
6470 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
6471 	IOStream *stream = ctx->m_stream;
6472 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
6473 	bool useChecksum = checksumCalculator->getVersion() > 0;
6474 
6475 	 unsigned char *ptr;
6476 	 unsigned char *buf;
6477 	 const size_t sizeWithoutChecksum = 8 + 4;
6478 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
6479 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
6480 	buf = stream->alloc(totalSize);
6481 	ptr = buf;
6482 	int tmp = OP_glCheckFramebufferStatusOES;memcpy(ptr, &tmp, 4); ptr += 4;
6483 	memcpy(ptr, &totalSize, 4);  ptr += 4;
6484 
6485 		memcpy(ptr, &target, 4); ptr += 4;
6486 
6487 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
6488 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
6489 
6490 
6491 	GLenum retval;
6492 	stream->readback(&retval, 4);
6493 	if (useChecksum) checksumCalculator->addBuffer(&retval, 4);
6494 	if (useChecksum) {
6495 		unsigned char *checksumBufPtr = NULL;
6496 		std::vector<unsigned char> checksumBuf(checksumSize);
6497 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
6498 		stream->readback(checksumBufPtr, checksumSize);
6499 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
6500 			ALOGE("glCheckFramebufferStatusOES: GL communication error, please report this issue to b.android.com.\n");
6501 			abort();
6502 		}
6503 	}
6504 	return retval;
6505 }
6506 
glFramebufferRenderbufferOES_enc(void * self,GLenum target,GLenum attachment,GLenum renderbuffertarget,GLuint renderbuffer)6507 void glFramebufferRenderbufferOES_enc(void *self , GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
6508 {
6509 
6510 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
6511 	IOStream *stream = ctx->m_stream;
6512 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
6513 	bool useChecksum = checksumCalculator->getVersion() > 0;
6514 
6515 	 unsigned char *ptr;
6516 	 unsigned char *buf;
6517 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4;
6518 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
6519 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
6520 	buf = stream->alloc(totalSize);
6521 	ptr = buf;
6522 	int tmp = OP_glFramebufferRenderbufferOES;memcpy(ptr, &tmp, 4); ptr += 4;
6523 	memcpy(ptr, &totalSize, 4);  ptr += 4;
6524 
6525 		memcpy(ptr, &target, 4); ptr += 4;
6526 		memcpy(ptr, &attachment, 4); ptr += 4;
6527 		memcpy(ptr, &renderbuffertarget, 4); ptr += 4;
6528 		memcpy(ptr, &renderbuffer, 4); ptr += 4;
6529 
6530 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
6531 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
6532 
6533 }
6534 
glFramebufferTexture2DOES_enc(void * self,GLenum target,GLenum attachment,GLenum textarget,GLuint texture,GLint level)6535 void glFramebufferTexture2DOES_enc(void *self , GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
6536 {
6537 
6538 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
6539 	IOStream *stream = ctx->m_stream;
6540 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
6541 	bool useChecksum = checksumCalculator->getVersion() > 0;
6542 
6543 	 unsigned char *ptr;
6544 	 unsigned char *buf;
6545 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4 + 4;
6546 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
6547 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
6548 	buf = stream->alloc(totalSize);
6549 	ptr = buf;
6550 	int tmp = OP_glFramebufferTexture2DOES;memcpy(ptr, &tmp, 4); ptr += 4;
6551 	memcpy(ptr, &totalSize, 4);  ptr += 4;
6552 
6553 		memcpy(ptr, &target, 4); ptr += 4;
6554 		memcpy(ptr, &attachment, 4); ptr += 4;
6555 		memcpy(ptr, &textarget, 4); ptr += 4;
6556 		memcpy(ptr, &texture, 4); ptr += 4;
6557 		memcpy(ptr, &level, 4); ptr += 4;
6558 
6559 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
6560 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
6561 
6562 }
6563 
glGetFramebufferAttachmentParameterivOES_enc(void * self,GLenum target,GLenum attachment,GLenum pname,GLint * params)6564 void glGetFramebufferAttachmentParameterivOES_enc(void *self , GLenum target, GLenum attachment, GLenum pname, GLint* params)
6565 {
6566 
6567 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
6568 	IOStream *stream = ctx->m_stream;
6569 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
6570 	bool useChecksum = checksumCalculator->getVersion() > 0;
6571 
6572 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLint));
6573 	 unsigned char *ptr;
6574 	 unsigned char *buf;
6575 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + __size_params + 1*4;
6576 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
6577 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
6578 	buf = stream->alloc(totalSize);
6579 	ptr = buf;
6580 	int tmp = OP_glGetFramebufferAttachmentParameterivOES;memcpy(ptr, &tmp, 4); ptr += 4;
6581 	memcpy(ptr, &totalSize, 4);  ptr += 4;
6582 
6583 		memcpy(ptr, &target, 4); ptr += 4;
6584 		memcpy(ptr, &attachment, 4); ptr += 4;
6585 		memcpy(ptr, &pname, 4); ptr += 4;
6586 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
6587 
6588 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
6589 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
6590 
6591 	stream->readback(params, __size_params);
6592 	if (useChecksum) checksumCalculator->addBuffer(params, __size_params);
6593 	if (useChecksum) {
6594 		unsigned char *checksumBufPtr = NULL;
6595 		std::vector<unsigned char> checksumBuf(checksumSize);
6596 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
6597 		stream->readback(checksumBufPtr, checksumSize);
6598 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
6599 			ALOGE("glGetFramebufferAttachmentParameterivOES: GL communication error, please report this issue to b.android.com.\n");
6600 			abort();
6601 		}
6602 	}
6603 }
6604 
glGenerateMipmapOES_enc(void * self,GLenum target)6605 void glGenerateMipmapOES_enc(void *self , GLenum target)
6606 {
6607 
6608 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
6609 	IOStream *stream = ctx->m_stream;
6610 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
6611 	bool useChecksum = checksumCalculator->getVersion() > 0;
6612 
6613 	 unsigned char *ptr;
6614 	 unsigned char *buf;
6615 	 const size_t sizeWithoutChecksum = 8 + 4;
6616 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
6617 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
6618 	buf = stream->alloc(totalSize);
6619 	ptr = buf;
6620 	int tmp = OP_glGenerateMipmapOES;memcpy(ptr, &tmp, 4); ptr += 4;
6621 	memcpy(ptr, &totalSize, 4);  ptr += 4;
6622 
6623 		memcpy(ptr, &target, 4); ptr += 4;
6624 
6625 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
6626 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
6627 
6628 }
6629 
glUnmapBufferOES_enc(void * self,GLenum target)6630 GLboolean glUnmapBufferOES_enc(void *self , GLenum target)
6631 {
6632 
6633 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
6634 	IOStream *stream = ctx->m_stream;
6635 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
6636 	bool useChecksum = checksumCalculator->getVersion() > 0;
6637 
6638 	 unsigned char *ptr;
6639 	 unsigned char *buf;
6640 	 const size_t sizeWithoutChecksum = 8 + 4;
6641 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
6642 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
6643 	buf = stream->alloc(totalSize);
6644 	ptr = buf;
6645 	int tmp = OP_glUnmapBufferOES;memcpy(ptr, &tmp, 4); ptr += 4;
6646 	memcpy(ptr, &totalSize, 4);  ptr += 4;
6647 
6648 		memcpy(ptr, &target, 4); ptr += 4;
6649 
6650 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
6651 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
6652 
6653 
6654 	GLboolean retval;
6655 	stream->readback(&retval, 1);
6656 	if (useChecksum) checksumCalculator->addBuffer(&retval, 1);
6657 	if (useChecksum) {
6658 		unsigned char *checksumBufPtr = NULL;
6659 		std::vector<unsigned char> checksumBuf(checksumSize);
6660 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
6661 		stream->readback(checksumBufPtr, checksumSize);
6662 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
6663 			ALOGE("glUnmapBufferOES: GL communication error, please report this issue to b.android.com.\n");
6664 			abort();
6665 		}
6666 	}
6667 	return retval;
6668 }
6669 
glCurrentPaletteMatrixOES_enc(void * self,GLuint matrixpaletteindex)6670 void glCurrentPaletteMatrixOES_enc(void *self , GLuint matrixpaletteindex)
6671 {
6672 
6673 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
6674 	IOStream *stream = ctx->m_stream;
6675 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
6676 	bool useChecksum = checksumCalculator->getVersion() > 0;
6677 
6678 	 unsigned char *ptr;
6679 	 unsigned char *buf;
6680 	 const size_t sizeWithoutChecksum = 8 + 4;
6681 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
6682 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
6683 	buf = stream->alloc(totalSize);
6684 	ptr = buf;
6685 	int tmp = OP_glCurrentPaletteMatrixOES;memcpy(ptr, &tmp, 4); ptr += 4;
6686 	memcpy(ptr, &totalSize, 4);  ptr += 4;
6687 
6688 		memcpy(ptr, &matrixpaletteindex, 4); ptr += 4;
6689 
6690 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
6691 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
6692 
6693 }
6694 
glLoadPaletteFromModelViewMatrixOES_enc(void * self)6695 void glLoadPaletteFromModelViewMatrixOES_enc(void *self )
6696 {
6697 
6698 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
6699 	IOStream *stream = ctx->m_stream;
6700 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
6701 	bool useChecksum = checksumCalculator->getVersion() > 0;
6702 
6703 	 unsigned char *ptr;
6704 	 unsigned char *buf;
6705 	 const size_t sizeWithoutChecksum = 8;
6706 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
6707 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
6708 	buf = stream->alloc(totalSize);
6709 	ptr = buf;
6710 	int tmp = OP_glLoadPaletteFromModelViewMatrixOES;memcpy(ptr, &tmp, 4); ptr += 4;
6711 	memcpy(ptr, &totalSize, 4);  ptr += 4;
6712 
6713 
6714 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
6715 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
6716 
6717 }
6718 
glQueryMatrixxOES_enc(void * self,GLfixed * mantissa,GLint * exponent)6719 GLbitfield glQueryMatrixxOES_enc(void *self , GLfixed* mantissa, GLint* exponent)
6720 {
6721 
6722 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
6723 	IOStream *stream = ctx->m_stream;
6724 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
6725 	bool useChecksum = checksumCalculator->getVersion() > 0;
6726 
6727 	const unsigned int __size_mantissa =  (16 * sizeof(GLfixed));
6728 	const unsigned int __size_exponent =  (16 * sizeof(GLfixed));
6729 	 unsigned char *ptr;
6730 	 unsigned char *buf;
6731 	 const size_t sizeWithoutChecksum = 8 + __size_mantissa + __size_exponent + 2*4;
6732 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
6733 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
6734 	buf = stream->alloc(totalSize);
6735 	ptr = buf;
6736 	int tmp = OP_glQueryMatrixxOES;memcpy(ptr, &tmp, 4); ptr += 4;
6737 	memcpy(ptr, &totalSize, 4);  ptr += 4;
6738 
6739 	*(unsigned int *)(ptr) = __size_mantissa; ptr += 4;
6740 	*(unsigned int *)(ptr) = __size_exponent; ptr += 4;
6741 
6742 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
6743 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
6744 
6745 	stream->readback(mantissa, __size_mantissa);
6746 	if (useChecksum) checksumCalculator->addBuffer(mantissa, __size_mantissa);
6747 	stream->readback(exponent, __size_exponent);
6748 	if (useChecksum) checksumCalculator->addBuffer(exponent, __size_exponent);
6749 
6750 	GLbitfield retval;
6751 	stream->readback(&retval, 4);
6752 	if (useChecksum) checksumCalculator->addBuffer(&retval, 4);
6753 	if (useChecksum) {
6754 		unsigned char *checksumBufPtr = NULL;
6755 		std::vector<unsigned char> checksumBuf(checksumSize);
6756 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
6757 		stream->readback(checksumBufPtr, checksumSize);
6758 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
6759 			ALOGE("glQueryMatrixxOES: GL communication error, please report this issue to b.android.com.\n");
6760 			abort();
6761 		}
6762 	}
6763 	return retval;
6764 }
6765 
glDepthRangefOES_enc(void * self,GLclampf zNear,GLclampf zFar)6766 void glDepthRangefOES_enc(void *self , GLclampf zNear, GLclampf zFar)
6767 {
6768 
6769 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
6770 	IOStream *stream = ctx->m_stream;
6771 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
6772 	bool useChecksum = checksumCalculator->getVersion() > 0;
6773 
6774 	 unsigned char *ptr;
6775 	 unsigned char *buf;
6776 	 const size_t sizeWithoutChecksum = 8 + 4 + 4;
6777 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
6778 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
6779 	buf = stream->alloc(totalSize);
6780 	ptr = buf;
6781 	int tmp = OP_glDepthRangefOES;memcpy(ptr, &tmp, 4); ptr += 4;
6782 	memcpy(ptr, &totalSize, 4);  ptr += 4;
6783 
6784 		memcpy(ptr, &zNear, 4); ptr += 4;
6785 		memcpy(ptr, &zFar, 4); ptr += 4;
6786 
6787 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
6788 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
6789 
6790 }
6791 
glFrustumfOES_enc(void * self,GLfloat left,GLfloat right,GLfloat bottom,GLfloat top,GLfloat zNear,GLfloat zFar)6792 void glFrustumfOES_enc(void *self , GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar)
6793 {
6794 
6795 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
6796 	IOStream *stream = ctx->m_stream;
6797 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
6798 	bool useChecksum = checksumCalculator->getVersion() > 0;
6799 
6800 	 unsigned char *ptr;
6801 	 unsigned char *buf;
6802 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4 + 4 + 4;
6803 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
6804 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
6805 	buf = stream->alloc(totalSize);
6806 	ptr = buf;
6807 	int tmp = OP_glFrustumfOES;memcpy(ptr, &tmp, 4); ptr += 4;
6808 	memcpy(ptr, &totalSize, 4);  ptr += 4;
6809 
6810 		memcpy(ptr, &left, 4); ptr += 4;
6811 		memcpy(ptr, &right, 4); ptr += 4;
6812 		memcpy(ptr, &bottom, 4); ptr += 4;
6813 		memcpy(ptr, &top, 4); ptr += 4;
6814 		memcpy(ptr, &zNear, 4); ptr += 4;
6815 		memcpy(ptr, &zFar, 4); ptr += 4;
6816 
6817 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
6818 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
6819 
6820 }
6821 
glOrthofOES_enc(void * self,GLfloat left,GLfloat right,GLfloat bottom,GLfloat top,GLfloat zNear,GLfloat zFar)6822 void glOrthofOES_enc(void *self , GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar)
6823 {
6824 
6825 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
6826 	IOStream *stream = ctx->m_stream;
6827 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
6828 	bool useChecksum = checksumCalculator->getVersion() > 0;
6829 
6830 	 unsigned char *ptr;
6831 	 unsigned char *buf;
6832 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4 + 4 + 4;
6833 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
6834 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
6835 	buf = stream->alloc(totalSize);
6836 	ptr = buf;
6837 	int tmp = OP_glOrthofOES;memcpy(ptr, &tmp, 4); ptr += 4;
6838 	memcpy(ptr, &totalSize, 4);  ptr += 4;
6839 
6840 		memcpy(ptr, &left, 4); ptr += 4;
6841 		memcpy(ptr, &right, 4); ptr += 4;
6842 		memcpy(ptr, &bottom, 4); ptr += 4;
6843 		memcpy(ptr, &top, 4); ptr += 4;
6844 		memcpy(ptr, &zNear, 4); ptr += 4;
6845 		memcpy(ptr, &zFar, 4); ptr += 4;
6846 
6847 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
6848 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
6849 
6850 }
6851 
glClipPlanefOES_enc(void * self,GLenum plane,const GLfloat * equation)6852 void glClipPlanefOES_enc(void *self , GLenum plane, const GLfloat* equation)
6853 {
6854 
6855 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
6856 	IOStream *stream = ctx->m_stream;
6857 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
6858 	bool useChecksum = checksumCalculator->getVersion() > 0;
6859 
6860 	const unsigned int __size_equation =  (4 * sizeof(GLfloat));
6861 	 unsigned char *ptr;
6862 	 unsigned char *buf;
6863 	 const size_t sizeWithoutChecksum = 8 + 4 + __size_equation + 1*4;
6864 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
6865 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
6866 	buf = stream->alloc(totalSize);
6867 	ptr = buf;
6868 	int tmp = OP_glClipPlanefOES;memcpy(ptr, &tmp, 4); ptr += 4;
6869 	memcpy(ptr, &totalSize, 4);  ptr += 4;
6870 
6871 		memcpy(ptr, &plane, 4); ptr += 4;
6872 	*(unsigned int *)(ptr) = __size_equation; ptr += 4;
6873 	memcpy(ptr, equation, __size_equation);ptr += __size_equation;
6874 
6875 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
6876 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
6877 
6878 }
6879 
glClipPlanefIMG_enc(void * self,GLenum plane,const GLfloat * equation)6880 void glClipPlanefIMG_enc(void *self , GLenum plane, const GLfloat* equation)
6881 {
6882 
6883 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
6884 	IOStream *stream = ctx->m_stream;
6885 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
6886 	bool useChecksum = checksumCalculator->getVersion() > 0;
6887 
6888 	const unsigned int __size_equation =  (4 * sizeof(GLfloat));
6889 	 unsigned char *ptr;
6890 	 unsigned char *buf;
6891 	 const size_t sizeWithoutChecksum = 8 + 4 + __size_equation + 1*4;
6892 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
6893 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
6894 	buf = stream->alloc(totalSize);
6895 	ptr = buf;
6896 	int tmp = OP_glClipPlanefIMG;memcpy(ptr, &tmp, 4); ptr += 4;
6897 	memcpy(ptr, &totalSize, 4);  ptr += 4;
6898 
6899 		memcpy(ptr, &plane, 4); ptr += 4;
6900 	*(unsigned int *)(ptr) = __size_equation; ptr += 4;
6901 	memcpy(ptr, equation, __size_equation);ptr += __size_equation;
6902 
6903 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
6904 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
6905 
6906 }
6907 
glGetClipPlanefOES_enc(void * self,GLenum pname,GLfloat * eqn)6908 void glGetClipPlanefOES_enc(void *self , GLenum pname, GLfloat* eqn)
6909 {
6910 
6911 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
6912 	IOStream *stream = ctx->m_stream;
6913 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
6914 	bool useChecksum = checksumCalculator->getVersion() > 0;
6915 
6916 	const unsigned int __size_eqn =  (4 * sizeof(GLfloat));
6917 	 unsigned char *ptr;
6918 	 unsigned char *buf;
6919 	 const size_t sizeWithoutChecksum = 8 + 4 + __size_eqn + 1*4;
6920 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
6921 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
6922 	buf = stream->alloc(totalSize);
6923 	ptr = buf;
6924 	int tmp = OP_glGetClipPlanefOES;memcpy(ptr, &tmp, 4); ptr += 4;
6925 	memcpy(ptr, &totalSize, 4);  ptr += 4;
6926 
6927 		memcpy(ptr, &pname, 4); ptr += 4;
6928 	*(unsigned int *)(ptr) = __size_eqn; ptr += 4;
6929 
6930 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
6931 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
6932 
6933 	stream->readback(eqn, __size_eqn);
6934 	if (useChecksum) checksumCalculator->addBuffer(eqn, __size_eqn);
6935 	if (useChecksum) {
6936 		unsigned char *checksumBufPtr = NULL;
6937 		std::vector<unsigned char> checksumBuf(checksumSize);
6938 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
6939 		stream->readback(checksumBufPtr, checksumSize);
6940 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
6941 			ALOGE("glGetClipPlanefOES: GL communication error, please report this issue to b.android.com.\n");
6942 			abort();
6943 		}
6944 	}
6945 }
6946 
glClearDepthfOES_enc(void * self,GLclampf depth)6947 void glClearDepthfOES_enc(void *self , GLclampf depth)
6948 {
6949 
6950 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
6951 	IOStream *stream = ctx->m_stream;
6952 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
6953 	bool useChecksum = checksumCalculator->getVersion() > 0;
6954 
6955 	 unsigned char *ptr;
6956 	 unsigned char *buf;
6957 	 const size_t sizeWithoutChecksum = 8 + 4;
6958 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
6959 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
6960 	buf = stream->alloc(totalSize);
6961 	ptr = buf;
6962 	int tmp = OP_glClearDepthfOES;memcpy(ptr, &tmp, 4); ptr += 4;
6963 	memcpy(ptr, &totalSize, 4);  ptr += 4;
6964 
6965 		memcpy(ptr, &depth, 4); ptr += 4;
6966 
6967 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
6968 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
6969 
6970 }
6971 
glTexGenfOES_enc(void * self,GLenum coord,GLenum pname,GLfloat param)6972 void glTexGenfOES_enc(void *self , GLenum coord, GLenum pname, GLfloat param)
6973 {
6974 
6975 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
6976 	IOStream *stream = ctx->m_stream;
6977 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
6978 	bool useChecksum = checksumCalculator->getVersion() > 0;
6979 
6980 	 unsigned char *ptr;
6981 	 unsigned char *buf;
6982 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4;
6983 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
6984 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
6985 	buf = stream->alloc(totalSize);
6986 	ptr = buf;
6987 	int tmp = OP_glTexGenfOES;memcpy(ptr, &tmp, 4); ptr += 4;
6988 	memcpy(ptr, &totalSize, 4);  ptr += 4;
6989 
6990 		memcpy(ptr, &coord, 4); ptr += 4;
6991 		memcpy(ptr, &pname, 4); ptr += 4;
6992 		memcpy(ptr, &param, 4); ptr += 4;
6993 
6994 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
6995 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
6996 
6997 }
6998 
glTexGenfvOES_enc(void * self,GLenum coord,GLenum pname,const GLfloat * params)6999 void glTexGenfvOES_enc(void *self , GLenum coord, GLenum pname, const GLfloat* params)
7000 {
7001 
7002 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
7003 	IOStream *stream = ctx->m_stream;
7004 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
7005 	bool useChecksum = checksumCalculator->getVersion() > 0;
7006 
7007 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLfloat));
7008 	 unsigned char *ptr;
7009 	 unsigned char *buf;
7010 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + __size_params + 1*4;
7011 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
7012 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
7013 	buf = stream->alloc(totalSize);
7014 	ptr = buf;
7015 	int tmp = OP_glTexGenfvOES;memcpy(ptr, &tmp, 4); ptr += 4;
7016 	memcpy(ptr, &totalSize, 4);  ptr += 4;
7017 
7018 		memcpy(ptr, &coord, 4); ptr += 4;
7019 		memcpy(ptr, &pname, 4); ptr += 4;
7020 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
7021 	memcpy(ptr, params, __size_params);ptr += __size_params;
7022 
7023 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
7024 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
7025 
7026 }
7027 
glTexGeniOES_enc(void * self,GLenum coord,GLenum pname,GLint param)7028 void glTexGeniOES_enc(void *self , GLenum coord, GLenum pname, GLint param)
7029 {
7030 
7031 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
7032 	IOStream *stream = ctx->m_stream;
7033 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
7034 	bool useChecksum = checksumCalculator->getVersion() > 0;
7035 
7036 	 unsigned char *ptr;
7037 	 unsigned char *buf;
7038 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4;
7039 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
7040 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
7041 	buf = stream->alloc(totalSize);
7042 	ptr = buf;
7043 	int tmp = OP_glTexGeniOES;memcpy(ptr, &tmp, 4); ptr += 4;
7044 	memcpy(ptr, &totalSize, 4);  ptr += 4;
7045 
7046 		memcpy(ptr, &coord, 4); ptr += 4;
7047 		memcpy(ptr, &pname, 4); ptr += 4;
7048 		memcpy(ptr, &param, 4); ptr += 4;
7049 
7050 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
7051 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
7052 
7053 }
7054 
glTexGenivOES_enc(void * self,GLenum coord,GLenum pname,const GLint * params)7055 void glTexGenivOES_enc(void *self , GLenum coord, GLenum pname, const GLint* params)
7056 {
7057 
7058 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
7059 	IOStream *stream = ctx->m_stream;
7060 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
7061 	bool useChecksum = checksumCalculator->getVersion() > 0;
7062 
7063 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLint));
7064 	 unsigned char *ptr;
7065 	 unsigned char *buf;
7066 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + __size_params + 1*4;
7067 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
7068 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
7069 	buf = stream->alloc(totalSize);
7070 	ptr = buf;
7071 	int tmp = OP_glTexGenivOES;memcpy(ptr, &tmp, 4); ptr += 4;
7072 	memcpy(ptr, &totalSize, 4);  ptr += 4;
7073 
7074 		memcpy(ptr, &coord, 4); ptr += 4;
7075 		memcpy(ptr, &pname, 4); ptr += 4;
7076 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
7077 	memcpy(ptr, params, __size_params);ptr += __size_params;
7078 
7079 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
7080 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
7081 
7082 }
7083 
glTexGenxOES_enc(void * self,GLenum coord,GLenum pname,GLfixed param)7084 void glTexGenxOES_enc(void *self , GLenum coord, GLenum pname, GLfixed param)
7085 {
7086 
7087 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
7088 	IOStream *stream = ctx->m_stream;
7089 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
7090 	bool useChecksum = checksumCalculator->getVersion() > 0;
7091 
7092 	 unsigned char *ptr;
7093 	 unsigned char *buf;
7094 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4;
7095 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
7096 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
7097 	buf = stream->alloc(totalSize);
7098 	ptr = buf;
7099 	int tmp = OP_glTexGenxOES;memcpy(ptr, &tmp, 4); ptr += 4;
7100 	memcpy(ptr, &totalSize, 4);  ptr += 4;
7101 
7102 		memcpy(ptr, &coord, 4); ptr += 4;
7103 		memcpy(ptr, &pname, 4); ptr += 4;
7104 		memcpy(ptr, &param, 4); ptr += 4;
7105 
7106 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
7107 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
7108 
7109 }
7110 
glTexGenxvOES_enc(void * self,GLenum coord,GLenum pname,const GLfixed * params)7111 void glTexGenxvOES_enc(void *self , GLenum coord, GLenum pname, const GLfixed* params)
7112 {
7113 
7114 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
7115 	IOStream *stream = ctx->m_stream;
7116 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
7117 	bool useChecksum = checksumCalculator->getVersion() > 0;
7118 
7119 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLfixed));
7120 	 unsigned char *ptr;
7121 	 unsigned char *buf;
7122 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + __size_params + 1*4;
7123 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
7124 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
7125 	buf = stream->alloc(totalSize);
7126 	ptr = buf;
7127 	int tmp = OP_glTexGenxvOES;memcpy(ptr, &tmp, 4); ptr += 4;
7128 	memcpy(ptr, &totalSize, 4);  ptr += 4;
7129 
7130 		memcpy(ptr, &coord, 4); ptr += 4;
7131 		memcpy(ptr, &pname, 4); ptr += 4;
7132 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
7133 	memcpy(ptr, params, __size_params);ptr += __size_params;
7134 
7135 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
7136 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
7137 
7138 }
7139 
glGetTexGenfvOES_enc(void * self,GLenum coord,GLenum pname,GLfloat * params)7140 void glGetTexGenfvOES_enc(void *self , GLenum coord, GLenum pname, GLfloat* params)
7141 {
7142 
7143 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
7144 	IOStream *stream = ctx->m_stream;
7145 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
7146 	bool useChecksum = checksumCalculator->getVersion() > 0;
7147 
7148 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLfloat));
7149 	 unsigned char *ptr;
7150 	 unsigned char *buf;
7151 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + __size_params + 1*4;
7152 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
7153 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
7154 	buf = stream->alloc(totalSize);
7155 	ptr = buf;
7156 	int tmp = OP_glGetTexGenfvOES;memcpy(ptr, &tmp, 4); ptr += 4;
7157 	memcpy(ptr, &totalSize, 4);  ptr += 4;
7158 
7159 		memcpy(ptr, &coord, 4); ptr += 4;
7160 		memcpy(ptr, &pname, 4); ptr += 4;
7161 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
7162 	memcpy(ptr, params, __size_params);ptr += __size_params;
7163 
7164 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
7165 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
7166 
7167 }
7168 
glGetTexGenivOES_enc(void * self,GLenum coord,GLenum pname,GLint * params)7169 void glGetTexGenivOES_enc(void *self , GLenum coord, GLenum pname, GLint* params)
7170 {
7171 
7172 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
7173 	IOStream *stream = ctx->m_stream;
7174 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
7175 	bool useChecksum = checksumCalculator->getVersion() > 0;
7176 
7177 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLint));
7178 	 unsigned char *ptr;
7179 	 unsigned char *buf;
7180 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + __size_params + 1*4;
7181 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
7182 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
7183 	buf = stream->alloc(totalSize);
7184 	ptr = buf;
7185 	int tmp = OP_glGetTexGenivOES;memcpy(ptr, &tmp, 4); ptr += 4;
7186 	memcpy(ptr, &totalSize, 4);  ptr += 4;
7187 
7188 		memcpy(ptr, &coord, 4); ptr += 4;
7189 		memcpy(ptr, &pname, 4); ptr += 4;
7190 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
7191 	memcpy(ptr, params, __size_params);ptr += __size_params;
7192 
7193 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
7194 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
7195 
7196 }
7197 
glGetTexGenxvOES_enc(void * self,GLenum coord,GLenum pname,GLfixed * params)7198 void glGetTexGenxvOES_enc(void *self , GLenum coord, GLenum pname, GLfixed* params)
7199 {
7200 
7201 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
7202 	IOStream *stream = ctx->m_stream;
7203 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
7204 	bool useChecksum = checksumCalculator->getVersion() > 0;
7205 
7206 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLfixed));
7207 	 unsigned char *ptr;
7208 	 unsigned char *buf;
7209 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + __size_params + 1*4;
7210 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
7211 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
7212 	buf = stream->alloc(totalSize);
7213 	ptr = buf;
7214 	int tmp = OP_glGetTexGenxvOES;memcpy(ptr, &tmp, 4); ptr += 4;
7215 	memcpy(ptr, &totalSize, 4);  ptr += 4;
7216 
7217 		memcpy(ptr, &coord, 4); ptr += 4;
7218 		memcpy(ptr, &pname, 4); ptr += 4;
7219 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
7220 	memcpy(ptr, params, __size_params);ptr += __size_params;
7221 
7222 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
7223 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
7224 
7225 }
7226 
glBindVertexArrayOES_enc(void * self,GLuint array)7227 void glBindVertexArrayOES_enc(void *self , GLuint array)
7228 {
7229 
7230 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
7231 	IOStream *stream = ctx->m_stream;
7232 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
7233 	bool useChecksum = checksumCalculator->getVersion() > 0;
7234 
7235 	 unsigned char *ptr;
7236 	 unsigned char *buf;
7237 	 const size_t sizeWithoutChecksum = 8 + 4;
7238 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
7239 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
7240 	buf = stream->alloc(totalSize);
7241 	ptr = buf;
7242 	int tmp = OP_glBindVertexArrayOES;memcpy(ptr, &tmp, 4); ptr += 4;
7243 	memcpy(ptr, &totalSize, 4);  ptr += 4;
7244 
7245 		memcpy(ptr, &array, 4); ptr += 4;
7246 
7247 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
7248 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
7249 
7250 }
7251 
glDeleteVertexArraysOES_enc(void * self,GLsizei n,const GLuint * arrays)7252 void glDeleteVertexArraysOES_enc(void *self , GLsizei n, const GLuint* arrays)
7253 {
7254 
7255 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
7256 	IOStream *stream = ctx->m_stream;
7257 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
7258 	bool useChecksum = checksumCalculator->getVersion() > 0;
7259 
7260 	const unsigned int __size_arrays =  (n * sizeof(GLuint));
7261 	 unsigned char *ptr;
7262 	 unsigned char *buf;
7263 	 const size_t sizeWithoutChecksum = 8 + 4 + __size_arrays + 1*4;
7264 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
7265 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
7266 	buf = stream->alloc(totalSize);
7267 	ptr = buf;
7268 	int tmp = OP_glDeleteVertexArraysOES;memcpy(ptr, &tmp, 4); ptr += 4;
7269 	memcpy(ptr, &totalSize, 4);  ptr += 4;
7270 
7271 		memcpy(ptr, &n, 4); ptr += 4;
7272 	*(unsigned int *)(ptr) = __size_arrays; ptr += 4;
7273 	memcpy(ptr, arrays, __size_arrays);ptr += __size_arrays;
7274 
7275 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
7276 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
7277 
7278 }
7279 
glGenVertexArraysOES_enc(void * self,GLsizei n,GLuint * arrays)7280 void glGenVertexArraysOES_enc(void *self , GLsizei n, GLuint* arrays)
7281 {
7282 
7283 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
7284 	IOStream *stream = ctx->m_stream;
7285 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
7286 	bool useChecksum = checksumCalculator->getVersion() > 0;
7287 
7288 	const unsigned int __size_arrays =  (n * sizeof(GLuint));
7289 	 unsigned char *ptr;
7290 	 unsigned char *buf;
7291 	 const size_t sizeWithoutChecksum = 8 + 4 + __size_arrays + 1*4;
7292 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
7293 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
7294 	buf = stream->alloc(totalSize);
7295 	ptr = buf;
7296 	int tmp = OP_glGenVertexArraysOES;memcpy(ptr, &tmp, 4); ptr += 4;
7297 	memcpy(ptr, &totalSize, 4);  ptr += 4;
7298 
7299 		memcpy(ptr, &n, 4); ptr += 4;
7300 	*(unsigned int *)(ptr) = __size_arrays; ptr += 4;
7301 
7302 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
7303 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
7304 
7305 	stream->readback(arrays, __size_arrays);
7306 	if (useChecksum) checksumCalculator->addBuffer(arrays, __size_arrays);
7307 	if (useChecksum) {
7308 		unsigned char *checksumBufPtr = NULL;
7309 		std::vector<unsigned char> checksumBuf(checksumSize);
7310 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
7311 		stream->readback(checksumBufPtr, checksumSize);
7312 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
7313 			ALOGE("glGenVertexArraysOES: GL communication error, please report this issue to b.android.com.\n");
7314 			abort();
7315 		}
7316 	}
7317 }
7318 
glIsVertexArrayOES_enc(void * self,GLuint array)7319 GLboolean glIsVertexArrayOES_enc(void *self , GLuint array)
7320 {
7321 
7322 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
7323 	IOStream *stream = ctx->m_stream;
7324 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
7325 	bool useChecksum = checksumCalculator->getVersion() > 0;
7326 
7327 	 unsigned char *ptr;
7328 	 unsigned char *buf;
7329 	 const size_t sizeWithoutChecksum = 8 + 4;
7330 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
7331 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
7332 	buf = stream->alloc(totalSize);
7333 	ptr = buf;
7334 	int tmp = OP_glIsVertexArrayOES;memcpy(ptr, &tmp, 4); ptr += 4;
7335 	memcpy(ptr, &totalSize, 4);  ptr += 4;
7336 
7337 		memcpy(ptr, &array, 4); ptr += 4;
7338 
7339 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
7340 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
7341 
7342 
7343 	GLboolean retval;
7344 	stream->readback(&retval, 1);
7345 	if (useChecksum) checksumCalculator->addBuffer(&retval, 1);
7346 	if (useChecksum) {
7347 		unsigned char *checksumBufPtr = NULL;
7348 		std::vector<unsigned char> checksumBuf(checksumSize);
7349 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
7350 		stream->readback(checksumBufPtr, checksumSize);
7351 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
7352 			ALOGE("glIsVertexArrayOES: GL communication error, please report this issue to b.android.com.\n");
7353 			abort();
7354 		}
7355 	}
7356 	return retval;
7357 }
7358 
glDiscardFramebufferEXT_enc(void * self,GLenum target,GLsizei numAttachments,const GLenum * attachments)7359 void glDiscardFramebufferEXT_enc(void *self , GLenum target, GLsizei numAttachments, const GLenum* attachments)
7360 {
7361 
7362 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
7363 	IOStream *stream = ctx->m_stream;
7364 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
7365 	bool useChecksum = checksumCalculator->getVersion() > 0;
7366 
7367 	const unsigned int __size_attachments =  (numAttachments * sizeof(const GLenum));
7368 	 unsigned char *ptr;
7369 	 unsigned char *buf;
7370 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + __size_attachments + 1*4;
7371 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
7372 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
7373 	buf = stream->alloc(totalSize);
7374 	ptr = buf;
7375 	int tmp = OP_glDiscardFramebufferEXT;memcpy(ptr, &tmp, 4); ptr += 4;
7376 	memcpy(ptr, &totalSize, 4);  ptr += 4;
7377 
7378 		memcpy(ptr, &target, 4); ptr += 4;
7379 		memcpy(ptr, &numAttachments, 4); ptr += 4;
7380 	*(unsigned int *)(ptr) = __size_attachments; ptr += 4;
7381 	memcpy(ptr, attachments, __size_attachments);ptr += __size_attachments;
7382 
7383 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
7384 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
7385 
7386 }
7387 
glRenderbufferStorageMultisampleIMG_enc(void * self,GLenum target,GLsizei samples,GLenum internalformat,GLsizei width,GLsizei height)7388 void glRenderbufferStorageMultisampleIMG_enc(void *self , GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
7389 {
7390 
7391 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
7392 	IOStream *stream = ctx->m_stream;
7393 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
7394 	bool useChecksum = checksumCalculator->getVersion() > 0;
7395 
7396 	 unsigned char *ptr;
7397 	 unsigned char *buf;
7398 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4 + 4;
7399 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
7400 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
7401 	buf = stream->alloc(totalSize);
7402 	ptr = buf;
7403 	int tmp = OP_glRenderbufferStorageMultisampleIMG;memcpy(ptr, &tmp, 4); ptr += 4;
7404 	memcpy(ptr, &totalSize, 4);  ptr += 4;
7405 
7406 		memcpy(ptr, &target, 4); ptr += 4;
7407 		memcpy(ptr, &samples, 4); ptr += 4;
7408 		memcpy(ptr, &internalformat, 4); ptr += 4;
7409 		memcpy(ptr, &width, 4); ptr += 4;
7410 		memcpy(ptr, &height, 4); ptr += 4;
7411 
7412 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
7413 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
7414 
7415 }
7416 
glFramebufferTexture2DMultisampleIMG_enc(void * self,GLenum target,GLenum attachment,GLenum textarget,GLuint texture,GLint level,GLsizei samples)7417 void glFramebufferTexture2DMultisampleIMG_enc(void *self , GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples)
7418 {
7419 
7420 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
7421 	IOStream *stream = ctx->m_stream;
7422 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
7423 	bool useChecksum = checksumCalculator->getVersion() > 0;
7424 
7425 	 unsigned char *ptr;
7426 	 unsigned char *buf;
7427 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4 + 4 + 4;
7428 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
7429 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
7430 	buf = stream->alloc(totalSize);
7431 	ptr = buf;
7432 	int tmp = OP_glFramebufferTexture2DMultisampleIMG;memcpy(ptr, &tmp, 4); ptr += 4;
7433 	memcpy(ptr, &totalSize, 4);  ptr += 4;
7434 
7435 		memcpy(ptr, &target, 4); ptr += 4;
7436 		memcpy(ptr, &attachment, 4); ptr += 4;
7437 		memcpy(ptr, &textarget, 4); ptr += 4;
7438 		memcpy(ptr, &texture, 4); ptr += 4;
7439 		memcpy(ptr, &level, 4); ptr += 4;
7440 		memcpy(ptr, &samples, 4); ptr += 4;
7441 
7442 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
7443 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
7444 
7445 }
7446 
glDeleteFencesNV_enc(void * self,GLsizei n,const GLuint * fences)7447 void glDeleteFencesNV_enc(void *self , GLsizei n, const GLuint* fences)
7448 {
7449 
7450 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
7451 	IOStream *stream = ctx->m_stream;
7452 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
7453 	bool useChecksum = checksumCalculator->getVersion() > 0;
7454 
7455 	const unsigned int __size_fences =  (n * sizeof(GLuint));
7456 	 unsigned char *ptr;
7457 	 unsigned char *buf;
7458 	 const size_t sizeWithoutChecksum = 8 + 4 + __size_fences + 1*4;
7459 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
7460 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
7461 	buf = stream->alloc(totalSize);
7462 	ptr = buf;
7463 	int tmp = OP_glDeleteFencesNV;memcpy(ptr, &tmp, 4); ptr += 4;
7464 	memcpy(ptr, &totalSize, 4);  ptr += 4;
7465 
7466 		memcpy(ptr, &n, 4); ptr += 4;
7467 	*(unsigned int *)(ptr) = __size_fences; ptr += 4;
7468 	memcpy(ptr, fences, __size_fences);ptr += __size_fences;
7469 
7470 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
7471 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
7472 
7473 }
7474 
glGenFencesNV_enc(void * self,GLsizei n,GLuint * fences)7475 void glGenFencesNV_enc(void *self , GLsizei n, GLuint* fences)
7476 {
7477 
7478 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
7479 	IOStream *stream = ctx->m_stream;
7480 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
7481 	bool useChecksum = checksumCalculator->getVersion() > 0;
7482 
7483 	const unsigned int __size_fences =  (n * sizeof(GLuint));
7484 	 unsigned char *ptr;
7485 	 unsigned char *buf;
7486 	 const size_t sizeWithoutChecksum = 8 + 4 + __size_fences + 1*4;
7487 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
7488 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
7489 	buf = stream->alloc(totalSize);
7490 	ptr = buf;
7491 	int tmp = OP_glGenFencesNV;memcpy(ptr, &tmp, 4); ptr += 4;
7492 	memcpy(ptr, &totalSize, 4);  ptr += 4;
7493 
7494 		memcpy(ptr, &n, 4); ptr += 4;
7495 	*(unsigned int *)(ptr) = __size_fences; ptr += 4;
7496 	memcpy(ptr, fences, __size_fences);ptr += __size_fences;
7497 
7498 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
7499 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
7500 
7501 }
7502 
glIsFenceNV_enc(void * self,GLuint fence)7503 GLboolean glIsFenceNV_enc(void *self , GLuint fence)
7504 {
7505 
7506 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
7507 	IOStream *stream = ctx->m_stream;
7508 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
7509 	bool useChecksum = checksumCalculator->getVersion() > 0;
7510 
7511 	 unsigned char *ptr;
7512 	 unsigned char *buf;
7513 	 const size_t sizeWithoutChecksum = 8 + 4;
7514 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
7515 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
7516 	buf = stream->alloc(totalSize);
7517 	ptr = buf;
7518 	int tmp = OP_glIsFenceNV;memcpy(ptr, &tmp, 4); ptr += 4;
7519 	memcpy(ptr, &totalSize, 4);  ptr += 4;
7520 
7521 		memcpy(ptr, &fence, 4); ptr += 4;
7522 
7523 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
7524 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
7525 
7526 
7527 	GLboolean retval;
7528 	stream->readback(&retval, 1);
7529 	if (useChecksum) checksumCalculator->addBuffer(&retval, 1);
7530 	if (useChecksum) {
7531 		unsigned char *checksumBufPtr = NULL;
7532 		std::vector<unsigned char> checksumBuf(checksumSize);
7533 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
7534 		stream->readback(checksumBufPtr, checksumSize);
7535 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
7536 			ALOGE("glIsFenceNV: GL communication error, please report this issue to b.android.com.\n");
7537 			abort();
7538 		}
7539 	}
7540 	return retval;
7541 }
7542 
glTestFenceNV_enc(void * self,GLuint fence)7543 GLboolean glTestFenceNV_enc(void *self , GLuint fence)
7544 {
7545 
7546 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
7547 	IOStream *stream = ctx->m_stream;
7548 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
7549 	bool useChecksum = checksumCalculator->getVersion() > 0;
7550 
7551 	 unsigned char *ptr;
7552 	 unsigned char *buf;
7553 	 const size_t sizeWithoutChecksum = 8 + 4;
7554 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
7555 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
7556 	buf = stream->alloc(totalSize);
7557 	ptr = buf;
7558 	int tmp = OP_glTestFenceNV;memcpy(ptr, &tmp, 4); ptr += 4;
7559 	memcpy(ptr, &totalSize, 4);  ptr += 4;
7560 
7561 		memcpy(ptr, &fence, 4); ptr += 4;
7562 
7563 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
7564 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
7565 
7566 
7567 	GLboolean retval;
7568 	stream->readback(&retval, 1);
7569 	if (useChecksum) checksumCalculator->addBuffer(&retval, 1);
7570 	if (useChecksum) {
7571 		unsigned char *checksumBufPtr = NULL;
7572 		std::vector<unsigned char> checksumBuf(checksumSize);
7573 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
7574 		stream->readback(checksumBufPtr, checksumSize);
7575 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
7576 			ALOGE("glTestFenceNV: GL communication error, please report this issue to b.android.com.\n");
7577 			abort();
7578 		}
7579 	}
7580 	return retval;
7581 }
7582 
glGetFenceivNV_enc(void * self,GLuint fence,GLenum pname,GLint * params)7583 void glGetFenceivNV_enc(void *self , GLuint fence, GLenum pname, GLint* params)
7584 {
7585 
7586 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
7587 	IOStream *stream = ctx->m_stream;
7588 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
7589 	bool useChecksum = checksumCalculator->getVersion() > 0;
7590 
7591 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLint));
7592 	 unsigned char *ptr;
7593 	 unsigned char *buf;
7594 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + __size_params + 1*4;
7595 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
7596 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
7597 	buf = stream->alloc(totalSize);
7598 	ptr = buf;
7599 	int tmp = OP_glGetFenceivNV;memcpy(ptr, &tmp, 4); ptr += 4;
7600 	memcpy(ptr, &totalSize, 4);  ptr += 4;
7601 
7602 		memcpy(ptr, &fence, 4); ptr += 4;
7603 		memcpy(ptr, &pname, 4); ptr += 4;
7604 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
7605 
7606 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
7607 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
7608 
7609 	stream->readback(params, __size_params);
7610 	if (useChecksum) checksumCalculator->addBuffer(params, __size_params);
7611 	if (useChecksum) {
7612 		unsigned char *checksumBufPtr = NULL;
7613 		std::vector<unsigned char> checksumBuf(checksumSize);
7614 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
7615 		stream->readback(checksumBufPtr, checksumSize);
7616 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
7617 			ALOGE("glGetFenceivNV: GL communication error, please report this issue to b.android.com.\n");
7618 			abort();
7619 		}
7620 	}
7621 }
7622 
glFinishFenceNV_enc(void * self,GLuint fence)7623 void glFinishFenceNV_enc(void *self , GLuint fence)
7624 {
7625 
7626 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
7627 	IOStream *stream = ctx->m_stream;
7628 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
7629 	bool useChecksum = checksumCalculator->getVersion() > 0;
7630 
7631 	 unsigned char *ptr;
7632 	 unsigned char *buf;
7633 	 const size_t sizeWithoutChecksum = 8 + 4;
7634 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
7635 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
7636 	buf = stream->alloc(totalSize);
7637 	ptr = buf;
7638 	int tmp = OP_glFinishFenceNV;memcpy(ptr, &tmp, 4); ptr += 4;
7639 	memcpy(ptr, &totalSize, 4);  ptr += 4;
7640 
7641 		memcpy(ptr, &fence, 4); ptr += 4;
7642 
7643 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
7644 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
7645 
7646 }
7647 
glSetFenceNV_enc(void * self,GLuint fence,GLenum condition)7648 void glSetFenceNV_enc(void *self , GLuint fence, GLenum condition)
7649 {
7650 
7651 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
7652 	IOStream *stream = ctx->m_stream;
7653 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
7654 	bool useChecksum = checksumCalculator->getVersion() > 0;
7655 
7656 	 unsigned char *ptr;
7657 	 unsigned char *buf;
7658 	 const size_t sizeWithoutChecksum = 8 + 4 + 4;
7659 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
7660 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
7661 	buf = stream->alloc(totalSize);
7662 	ptr = buf;
7663 	int tmp = OP_glSetFenceNV;memcpy(ptr, &tmp, 4); ptr += 4;
7664 	memcpy(ptr, &totalSize, 4);  ptr += 4;
7665 
7666 		memcpy(ptr, &fence, 4); ptr += 4;
7667 		memcpy(ptr, &condition, 4); ptr += 4;
7668 
7669 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
7670 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
7671 
7672 }
7673 
glGetDriverControlsQCOM_enc(void * self,GLint * num,GLsizei size,GLuint * driverControls)7674 void glGetDriverControlsQCOM_enc(void *self , GLint* num, GLsizei size, GLuint* driverControls)
7675 {
7676 
7677 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
7678 	IOStream *stream = ctx->m_stream;
7679 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
7680 	bool useChecksum = checksumCalculator->getVersion() > 0;
7681 
7682 	const unsigned int __size_num =  (1 * sizeof(GLint));
7683 	const unsigned int __size_driverControls =  (size * sizeof(GLuint));
7684 	 unsigned char *ptr;
7685 	 unsigned char *buf;
7686 	 const size_t sizeWithoutChecksum = 8 + __size_num + 4 + __size_driverControls + 2*4;
7687 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
7688 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
7689 	buf = stream->alloc(totalSize);
7690 	ptr = buf;
7691 	int tmp = OP_glGetDriverControlsQCOM;memcpy(ptr, &tmp, 4); ptr += 4;
7692 	memcpy(ptr, &totalSize, 4);  ptr += 4;
7693 
7694 	*(unsigned int *)(ptr) = __size_num; ptr += 4;
7695 		memcpy(ptr, &size, 4); ptr += 4;
7696 	*(unsigned int *)(ptr) = __size_driverControls; ptr += 4;
7697 
7698 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
7699 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
7700 
7701 	stream->readback(num, __size_num);
7702 	if (useChecksum) checksumCalculator->addBuffer(num, __size_num);
7703 	stream->readback(driverControls, __size_driverControls);
7704 	if (useChecksum) checksumCalculator->addBuffer(driverControls, __size_driverControls);
7705 	if (useChecksum) {
7706 		unsigned char *checksumBufPtr = NULL;
7707 		std::vector<unsigned char> checksumBuf(checksumSize);
7708 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
7709 		stream->readback(checksumBufPtr, checksumSize);
7710 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
7711 			ALOGE("glGetDriverControlsQCOM: GL communication error, please report this issue to b.android.com.\n");
7712 			abort();
7713 		}
7714 	}
7715 }
7716 
glGetDriverControlStringQCOM_enc(void * self,GLuint driverControl,GLsizei bufSize,GLsizei * length,GLchar * driverControlString)7717 void glGetDriverControlStringQCOM_enc(void *self , GLuint driverControl, GLsizei bufSize, GLsizei* length, GLchar* driverControlString)
7718 {
7719 
7720 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
7721 	IOStream *stream = ctx->m_stream;
7722 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
7723 	bool useChecksum = checksumCalculator->getVersion() > 0;
7724 
7725 	const unsigned int __size_length =  (1 * sizeof(GLsizei));
7726 	const unsigned int __size_driverControlString =  (1 * sizeof(GLchar));
7727 	 unsigned char *ptr;
7728 	 unsigned char *buf;
7729 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + __size_length + __size_driverControlString + 2*4;
7730 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
7731 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
7732 	buf = stream->alloc(totalSize);
7733 	ptr = buf;
7734 	int tmp = OP_glGetDriverControlStringQCOM;memcpy(ptr, &tmp, 4); ptr += 4;
7735 	memcpy(ptr, &totalSize, 4);  ptr += 4;
7736 
7737 		memcpy(ptr, &driverControl, 4); ptr += 4;
7738 		memcpy(ptr, &bufSize, 4); ptr += 4;
7739 	*(unsigned int *)(ptr) = __size_length; ptr += 4;
7740 	*(unsigned int *)(ptr) = __size_driverControlString; ptr += 4;
7741 
7742 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
7743 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
7744 
7745 	stream->readback(length, __size_length);
7746 	if (useChecksum) checksumCalculator->addBuffer(length, __size_length);
7747 	stream->readback(driverControlString, __size_driverControlString);
7748 	if (useChecksum) checksumCalculator->addBuffer(driverControlString, __size_driverControlString);
7749 	if (useChecksum) {
7750 		unsigned char *checksumBufPtr = NULL;
7751 		std::vector<unsigned char> checksumBuf(checksumSize);
7752 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
7753 		stream->readback(checksumBufPtr, checksumSize);
7754 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
7755 			ALOGE("glGetDriverControlStringQCOM: GL communication error, please report this issue to b.android.com.\n");
7756 			abort();
7757 		}
7758 	}
7759 }
7760 
glEnableDriverControlQCOM_enc(void * self,GLuint driverControl)7761 void glEnableDriverControlQCOM_enc(void *self , GLuint driverControl)
7762 {
7763 
7764 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
7765 	IOStream *stream = ctx->m_stream;
7766 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
7767 	bool useChecksum = checksumCalculator->getVersion() > 0;
7768 
7769 	 unsigned char *ptr;
7770 	 unsigned char *buf;
7771 	 const size_t sizeWithoutChecksum = 8 + 4;
7772 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
7773 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
7774 	buf = stream->alloc(totalSize);
7775 	ptr = buf;
7776 	int tmp = OP_glEnableDriverControlQCOM;memcpy(ptr, &tmp, 4); ptr += 4;
7777 	memcpy(ptr, &totalSize, 4);  ptr += 4;
7778 
7779 		memcpy(ptr, &driverControl, 4); ptr += 4;
7780 
7781 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
7782 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
7783 
7784 }
7785 
glDisableDriverControlQCOM_enc(void * self,GLuint driverControl)7786 void glDisableDriverControlQCOM_enc(void *self , GLuint driverControl)
7787 {
7788 
7789 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
7790 	IOStream *stream = ctx->m_stream;
7791 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
7792 	bool useChecksum = checksumCalculator->getVersion() > 0;
7793 
7794 	 unsigned char *ptr;
7795 	 unsigned char *buf;
7796 	 const size_t sizeWithoutChecksum = 8 + 4;
7797 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
7798 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
7799 	buf = stream->alloc(totalSize);
7800 	ptr = buf;
7801 	int tmp = OP_glDisableDriverControlQCOM;memcpy(ptr, &tmp, 4); ptr += 4;
7802 	memcpy(ptr, &totalSize, 4);  ptr += 4;
7803 
7804 		memcpy(ptr, &driverControl, 4); ptr += 4;
7805 
7806 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
7807 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
7808 
7809 }
7810 
glExtGetTexturesQCOM_enc(void * self,GLuint * textures,GLint maxTextures,GLint * numTextures)7811 void glExtGetTexturesQCOM_enc(void *self , GLuint* textures, GLint maxTextures, GLint* numTextures)
7812 {
7813 
7814 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
7815 	IOStream *stream = ctx->m_stream;
7816 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
7817 	bool useChecksum = checksumCalculator->getVersion() > 0;
7818 
7819 	const unsigned int __size_textures =  (maxTextures * sizeof(GLuint));
7820 	const unsigned int __size_numTextures =  (1 * sizeof(GLint));
7821 	 unsigned char *ptr;
7822 	 unsigned char *buf;
7823 	 const size_t sizeWithoutChecksum = 8 + __size_textures + 4 + __size_numTextures + 2*4;
7824 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
7825 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
7826 	buf = stream->alloc(totalSize);
7827 	ptr = buf;
7828 	int tmp = OP_glExtGetTexturesQCOM;memcpy(ptr, &tmp, 4); ptr += 4;
7829 	memcpy(ptr, &totalSize, 4);  ptr += 4;
7830 
7831 	*(unsigned int *)(ptr) = __size_textures; ptr += 4;
7832 		memcpy(ptr, &maxTextures, 4); ptr += 4;
7833 	*(unsigned int *)(ptr) = __size_numTextures; ptr += 4;
7834 
7835 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
7836 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
7837 
7838 	stream->readback(textures, __size_textures);
7839 	if (useChecksum) checksumCalculator->addBuffer(textures, __size_textures);
7840 	stream->readback(numTextures, __size_numTextures);
7841 	if (useChecksum) checksumCalculator->addBuffer(numTextures, __size_numTextures);
7842 	if (useChecksum) {
7843 		unsigned char *checksumBufPtr = NULL;
7844 		std::vector<unsigned char> checksumBuf(checksumSize);
7845 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
7846 		stream->readback(checksumBufPtr, checksumSize);
7847 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
7848 			ALOGE("glExtGetTexturesQCOM: GL communication error, please report this issue to b.android.com.\n");
7849 			abort();
7850 		}
7851 	}
7852 }
7853 
glExtGetBuffersQCOM_enc(void * self,GLuint * buffers,GLint maxBuffers,GLint * numBuffers)7854 void glExtGetBuffersQCOM_enc(void *self , GLuint* buffers, GLint maxBuffers, GLint* numBuffers)
7855 {
7856 
7857 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
7858 	IOStream *stream = ctx->m_stream;
7859 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
7860 	bool useChecksum = checksumCalculator->getVersion() > 0;
7861 
7862 	const unsigned int __size_buffers =  (maxBuffers * sizeof(GLuint));
7863 	const unsigned int __size_numBuffers =  (1 * sizeof(GLint));
7864 	 unsigned char *ptr;
7865 	 unsigned char *buf;
7866 	 const size_t sizeWithoutChecksum = 8 + __size_buffers + 4 + __size_numBuffers + 2*4;
7867 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
7868 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
7869 	buf = stream->alloc(totalSize);
7870 	ptr = buf;
7871 	int tmp = OP_glExtGetBuffersQCOM;memcpy(ptr, &tmp, 4); ptr += 4;
7872 	memcpy(ptr, &totalSize, 4);  ptr += 4;
7873 
7874 	*(unsigned int *)(ptr) = __size_buffers; ptr += 4;
7875 		memcpy(ptr, &maxBuffers, 4); ptr += 4;
7876 	*(unsigned int *)(ptr) = __size_numBuffers; ptr += 4;
7877 
7878 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
7879 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
7880 
7881 	stream->readback(buffers, __size_buffers);
7882 	if (useChecksum) checksumCalculator->addBuffer(buffers, __size_buffers);
7883 	stream->readback(numBuffers, __size_numBuffers);
7884 	if (useChecksum) checksumCalculator->addBuffer(numBuffers, __size_numBuffers);
7885 	if (useChecksum) {
7886 		unsigned char *checksumBufPtr = NULL;
7887 		std::vector<unsigned char> checksumBuf(checksumSize);
7888 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
7889 		stream->readback(checksumBufPtr, checksumSize);
7890 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
7891 			ALOGE("glExtGetBuffersQCOM: GL communication error, please report this issue to b.android.com.\n");
7892 			abort();
7893 		}
7894 	}
7895 }
7896 
glExtGetRenderbuffersQCOM_enc(void * self,GLuint * renderbuffers,GLint maxRenderbuffers,GLint * numRenderbuffers)7897 void glExtGetRenderbuffersQCOM_enc(void *self , GLuint* renderbuffers, GLint maxRenderbuffers, GLint* numRenderbuffers)
7898 {
7899 
7900 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
7901 	IOStream *stream = ctx->m_stream;
7902 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
7903 	bool useChecksum = checksumCalculator->getVersion() > 0;
7904 
7905 	const unsigned int __size_renderbuffers =  (maxRenderbuffers * sizeof(GLuint));
7906 	const unsigned int __size_numRenderbuffers =  (1 * sizeof(GLint));
7907 	 unsigned char *ptr;
7908 	 unsigned char *buf;
7909 	 const size_t sizeWithoutChecksum = 8 + __size_renderbuffers + 4 + __size_numRenderbuffers + 2*4;
7910 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
7911 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
7912 	buf = stream->alloc(totalSize);
7913 	ptr = buf;
7914 	int tmp = OP_glExtGetRenderbuffersQCOM;memcpy(ptr, &tmp, 4); ptr += 4;
7915 	memcpy(ptr, &totalSize, 4);  ptr += 4;
7916 
7917 	*(unsigned int *)(ptr) = __size_renderbuffers; ptr += 4;
7918 		memcpy(ptr, &maxRenderbuffers, 4); ptr += 4;
7919 	*(unsigned int *)(ptr) = __size_numRenderbuffers; ptr += 4;
7920 
7921 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
7922 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
7923 
7924 	stream->readback(renderbuffers, __size_renderbuffers);
7925 	if (useChecksum) checksumCalculator->addBuffer(renderbuffers, __size_renderbuffers);
7926 	stream->readback(numRenderbuffers, __size_numRenderbuffers);
7927 	if (useChecksum) checksumCalculator->addBuffer(numRenderbuffers, __size_numRenderbuffers);
7928 	if (useChecksum) {
7929 		unsigned char *checksumBufPtr = NULL;
7930 		std::vector<unsigned char> checksumBuf(checksumSize);
7931 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
7932 		stream->readback(checksumBufPtr, checksumSize);
7933 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
7934 			ALOGE("glExtGetRenderbuffersQCOM: GL communication error, please report this issue to b.android.com.\n");
7935 			abort();
7936 		}
7937 	}
7938 }
7939 
glExtGetFramebuffersQCOM_enc(void * self,GLuint * framebuffers,GLint maxFramebuffers,GLint * numFramebuffers)7940 void glExtGetFramebuffersQCOM_enc(void *self , GLuint* framebuffers, GLint maxFramebuffers, GLint* numFramebuffers)
7941 {
7942 
7943 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
7944 	IOStream *stream = ctx->m_stream;
7945 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
7946 	bool useChecksum = checksumCalculator->getVersion() > 0;
7947 
7948 	const unsigned int __size_framebuffers =  (maxFramebuffers * sizeof(GLuint));
7949 	const unsigned int __size_numFramebuffers =  (1 * sizeof(GLint));
7950 	 unsigned char *ptr;
7951 	 unsigned char *buf;
7952 	 const size_t sizeWithoutChecksum = 8 + __size_framebuffers + 4 + __size_numFramebuffers + 2*4;
7953 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
7954 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
7955 	buf = stream->alloc(totalSize);
7956 	ptr = buf;
7957 	int tmp = OP_glExtGetFramebuffersQCOM;memcpy(ptr, &tmp, 4); ptr += 4;
7958 	memcpy(ptr, &totalSize, 4);  ptr += 4;
7959 
7960 	*(unsigned int *)(ptr) = __size_framebuffers; ptr += 4;
7961 		memcpy(ptr, &maxFramebuffers, 4); ptr += 4;
7962 	*(unsigned int *)(ptr) = __size_numFramebuffers; ptr += 4;
7963 
7964 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
7965 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
7966 
7967 	stream->readback(framebuffers, __size_framebuffers);
7968 	if (useChecksum) checksumCalculator->addBuffer(framebuffers, __size_framebuffers);
7969 	stream->readback(numFramebuffers, __size_numFramebuffers);
7970 	if (useChecksum) checksumCalculator->addBuffer(numFramebuffers, __size_numFramebuffers);
7971 	if (useChecksum) {
7972 		unsigned char *checksumBufPtr = NULL;
7973 		std::vector<unsigned char> checksumBuf(checksumSize);
7974 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
7975 		stream->readback(checksumBufPtr, checksumSize);
7976 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
7977 			ALOGE("glExtGetFramebuffersQCOM: GL communication error, please report this issue to b.android.com.\n");
7978 			abort();
7979 		}
7980 	}
7981 }
7982 
glExtGetTexLevelParameterivQCOM_enc(void * self,GLuint texture,GLenum face,GLint level,GLenum pname,GLint * params)7983 void glExtGetTexLevelParameterivQCOM_enc(void *self , GLuint texture, GLenum face, GLint level, GLenum pname, GLint* params)
7984 {
7985 
7986 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
7987 	IOStream *stream = ctx->m_stream;
7988 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
7989 	bool useChecksum = checksumCalculator->getVersion() > 0;
7990 
7991 	const unsigned int __size_params =  (glUtilsParamSize(pname) * sizeof(GLint));
7992 	 unsigned char *ptr;
7993 	 unsigned char *buf;
7994 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4 + __size_params + 1*4;
7995 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
7996 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
7997 	buf = stream->alloc(totalSize);
7998 	ptr = buf;
7999 	int tmp = OP_glExtGetTexLevelParameterivQCOM;memcpy(ptr, &tmp, 4); ptr += 4;
8000 	memcpy(ptr, &totalSize, 4);  ptr += 4;
8001 
8002 		memcpy(ptr, &texture, 4); ptr += 4;
8003 		memcpy(ptr, &face, 4); ptr += 4;
8004 		memcpy(ptr, &level, 4); ptr += 4;
8005 		memcpy(ptr, &pname, 4); ptr += 4;
8006 	*(unsigned int *)(ptr) = __size_params; ptr += 4;
8007 
8008 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
8009 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
8010 
8011 	stream->readback(params, __size_params);
8012 	if (useChecksum) checksumCalculator->addBuffer(params, __size_params);
8013 	if (useChecksum) {
8014 		unsigned char *checksumBufPtr = NULL;
8015 		std::vector<unsigned char> checksumBuf(checksumSize);
8016 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
8017 		stream->readback(checksumBufPtr, checksumSize);
8018 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
8019 			ALOGE("glExtGetTexLevelParameterivQCOM: GL communication error, please report this issue to b.android.com.\n");
8020 			abort();
8021 		}
8022 	}
8023 }
8024 
glExtTexObjectStateOverrideiQCOM_enc(void * self,GLenum target,GLenum pname,GLint param)8025 void glExtTexObjectStateOverrideiQCOM_enc(void *self , GLenum target, GLenum pname, GLint param)
8026 {
8027 
8028 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
8029 	IOStream *stream = ctx->m_stream;
8030 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
8031 	bool useChecksum = checksumCalculator->getVersion() > 0;
8032 
8033 	 unsigned char *ptr;
8034 	 unsigned char *buf;
8035 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4;
8036 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
8037 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
8038 	buf = stream->alloc(totalSize);
8039 	ptr = buf;
8040 	int tmp = OP_glExtTexObjectStateOverrideiQCOM;memcpy(ptr, &tmp, 4); ptr += 4;
8041 	memcpy(ptr, &totalSize, 4);  ptr += 4;
8042 
8043 		memcpy(ptr, &target, 4); ptr += 4;
8044 		memcpy(ptr, &pname, 4); ptr += 4;
8045 		memcpy(ptr, &param, 4); ptr += 4;
8046 
8047 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
8048 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
8049 
8050 }
8051 
glExtGetTexSubImageQCOM_enc(void * self,GLenum target,GLint level,GLint xoffset,GLint yoffset,GLint zoffset,GLsizei width,GLsizei height,GLsizei depth,GLenum format,GLenum type,GLvoid * texels)8052 void glExtGetTexSubImageQCOM_enc(void *self , GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid* texels)
8053 {
8054 
8055 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
8056 	IOStream *stream = ctx->m_stream;
8057 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
8058 	bool useChecksum = checksumCalculator->getVersion() > 0;
8059 
8060 	const unsigned int __size_texels =  (depth * glesv1_enc::pixelDataSize(self, width, height, format, type, 0));
8061 	 unsigned char *ptr;
8062 	 unsigned char *buf;
8063 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + __size_texels + 1*4;
8064 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
8065 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
8066 	buf = stream->alloc(totalSize);
8067 	ptr = buf;
8068 	int tmp = OP_glExtGetTexSubImageQCOM;memcpy(ptr, &tmp, 4); ptr += 4;
8069 	memcpy(ptr, &totalSize, 4);  ptr += 4;
8070 
8071 		memcpy(ptr, &target, 4); ptr += 4;
8072 		memcpy(ptr, &level, 4); ptr += 4;
8073 		memcpy(ptr, &xoffset, 4); ptr += 4;
8074 		memcpy(ptr, &yoffset, 4); ptr += 4;
8075 		memcpy(ptr, &zoffset, 4); ptr += 4;
8076 		memcpy(ptr, &width, 4); ptr += 4;
8077 		memcpy(ptr, &height, 4); ptr += 4;
8078 		memcpy(ptr, &depth, 4); ptr += 4;
8079 		memcpy(ptr, &format, 4); ptr += 4;
8080 		memcpy(ptr, &type, 4); ptr += 4;
8081 	*(unsigned int *)(ptr) = __size_texels; ptr += 4;
8082 
8083 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
8084 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
8085 
8086 	stream->readback(texels, __size_texels);
8087 	if (useChecksum) checksumCalculator->addBuffer(texels, __size_texels);
8088 	if (useChecksum) {
8089 		unsigned char *checksumBufPtr = NULL;
8090 		std::vector<unsigned char> checksumBuf(checksumSize);
8091 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
8092 		stream->readback(checksumBufPtr, checksumSize);
8093 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
8094 			ALOGE("glExtGetTexSubImageQCOM: GL communication error, please report this issue to b.android.com.\n");
8095 			abort();
8096 		}
8097 	}
8098 }
8099 
glExtGetShadersQCOM_enc(void * self,GLuint * shaders,GLint maxShaders,GLint * numShaders)8100 void glExtGetShadersQCOM_enc(void *self , GLuint* shaders, GLint maxShaders, GLint* numShaders)
8101 {
8102 
8103 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
8104 	IOStream *stream = ctx->m_stream;
8105 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
8106 	bool useChecksum = checksumCalculator->getVersion() > 0;
8107 
8108 	const unsigned int __size_shaders =  (maxShaders * sizeof(GLuint));
8109 	const unsigned int __size_numShaders =  (1 * sizeof(GLint));
8110 	 unsigned char *ptr;
8111 	 unsigned char *buf;
8112 	 const size_t sizeWithoutChecksum = 8 + __size_shaders + 4 + __size_numShaders + 2*4;
8113 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
8114 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
8115 	buf = stream->alloc(totalSize);
8116 	ptr = buf;
8117 	int tmp = OP_glExtGetShadersQCOM;memcpy(ptr, &tmp, 4); ptr += 4;
8118 	memcpy(ptr, &totalSize, 4);  ptr += 4;
8119 
8120 	*(unsigned int *)(ptr) = __size_shaders; ptr += 4;
8121 		memcpy(ptr, &maxShaders, 4); ptr += 4;
8122 	*(unsigned int *)(ptr) = __size_numShaders; ptr += 4;
8123 
8124 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
8125 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
8126 
8127 	stream->readback(shaders, __size_shaders);
8128 	if (useChecksum) checksumCalculator->addBuffer(shaders, __size_shaders);
8129 	stream->readback(numShaders, __size_numShaders);
8130 	if (useChecksum) checksumCalculator->addBuffer(numShaders, __size_numShaders);
8131 	if (useChecksum) {
8132 		unsigned char *checksumBufPtr = NULL;
8133 		std::vector<unsigned char> checksumBuf(checksumSize);
8134 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
8135 		stream->readback(checksumBufPtr, checksumSize);
8136 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
8137 			ALOGE("glExtGetShadersQCOM: GL communication error, please report this issue to b.android.com.\n");
8138 			abort();
8139 		}
8140 	}
8141 }
8142 
glExtGetProgramsQCOM_enc(void * self,GLuint * programs,GLint maxPrograms,GLint * numPrograms)8143 void glExtGetProgramsQCOM_enc(void *self , GLuint* programs, GLint maxPrograms, GLint* numPrograms)
8144 {
8145 
8146 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
8147 	IOStream *stream = ctx->m_stream;
8148 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
8149 	bool useChecksum = checksumCalculator->getVersion() > 0;
8150 
8151 	const unsigned int __size_programs =  (maxPrograms * sizeof(GLuint));
8152 	const unsigned int __size_numPrograms =  (1 * sizeof(GLint));
8153 	 unsigned char *ptr;
8154 	 unsigned char *buf;
8155 	 const size_t sizeWithoutChecksum = 8 + __size_programs + 4 + __size_numPrograms + 2*4;
8156 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
8157 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
8158 	buf = stream->alloc(totalSize);
8159 	ptr = buf;
8160 	int tmp = OP_glExtGetProgramsQCOM;memcpy(ptr, &tmp, 4); ptr += 4;
8161 	memcpy(ptr, &totalSize, 4);  ptr += 4;
8162 
8163 	*(unsigned int *)(ptr) = __size_programs; ptr += 4;
8164 		memcpy(ptr, &maxPrograms, 4); ptr += 4;
8165 	*(unsigned int *)(ptr) = __size_numPrograms; ptr += 4;
8166 
8167 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
8168 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
8169 
8170 	stream->readback(programs, __size_programs);
8171 	if (useChecksum) checksumCalculator->addBuffer(programs, __size_programs);
8172 	stream->readback(numPrograms, __size_numPrograms);
8173 	if (useChecksum) checksumCalculator->addBuffer(numPrograms, __size_numPrograms);
8174 	if (useChecksum) {
8175 		unsigned char *checksumBufPtr = NULL;
8176 		std::vector<unsigned char> checksumBuf(checksumSize);
8177 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
8178 		stream->readback(checksumBufPtr, checksumSize);
8179 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
8180 			ALOGE("glExtGetProgramsQCOM: GL communication error, please report this issue to b.android.com.\n");
8181 			abort();
8182 		}
8183 	}
8184 }
8185 
glExtIsProgramBinaryQCOM_enc(void * self,GLuint program)8186 GLboolean glExtIsProgramBinaryQCOM_enc(void *self , GLuint program)
8187 {
8188 
8189 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
8190 	IOStream *stream = ctx->m_stream;
8191 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
8192 	bool useChecksum = checksumCalculator->getVersion() > 0;
8193 
8194 	 unsigned char *ptr;
8195 	 unsigned char *buf;
8196 	 const size_t sizeWithoutChecksum = 8 + 4;
8197 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
8198 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
8199 	buf = stream->alloc(totalSize);
8200 	ptr = buf;
8201 	int tmp = OP_glExtIsProgramBinaryQCOM;memcpy(ptr, &tmp, 4); ptr += 4;
8202 	memcpy(ptr, &totalSize, 4);  ptr += 4;
8203 
8204 		memcpy(ptr, &program, 4); ptr += 4;
8205 
8206 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
8207 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
8208 
8209 
8210 	GLboolean retval;
8211 	stream->readback(&retval, 1);
8212 	if (useChecksum) checksumCalculator->addBuffer(&retval, 1);
8213 	if (useChecksum) {
8214 		unsigned char *checksumBufPtr = NULL;
8215 		std::vector<unsigned char> checksumBuf(checksumSize);
8216 		if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
8217 		stream->readback(checksumBufPtr, checksumSize);
8218 		if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
8219 			ALOGE("glExtIsProgramBinaryQCOM: GL communication error, please report this issue to b.android.com.\n");
8220 			abort();
8221 		}
8222 	}
8223 	return retval;
8224 }
8225 
glStartTilingQCOM_enc(void * self,GLuint x,GLuint y,GLuint width,GLuint height,GLbitfield preserveMask)8226 void glStartTilingQCOM_enc(void *self , GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask)
8227 {
8228 
8229 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
8230 	IOStream *stream = ctx->m_stream;
8231 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
8232 	bool useChecksum = checksumCalculator->getVersion() > 0;
8233 
8234 	 unsigned char *ptr;
8235 	 unsigned char *buf;
8236 	 const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4 + 4;
8237 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
8238 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
8239 	buf = stream->alloc(totalSize);
8240 	ptr = buf;
8241 	int tmp = OP_glStartTilingQCOM;memcpy(ptr, &tmp, 4); ptr += 4;
8242 	memcpy(ptr, &totalSize, 4);  ptr += 4;
8243 
8244 		memcpy(ptr, &x, 4); ptr += 4;
8245 		memcpy(ptr, &y, 4); ptr += 4;
8246 		memcpy(ptr, &width, 4); ptr += 4;
8247 		memcpy(ptr, &height, 4); ptr += 4;
8248 		memcpy(ptr, &preserveMask, 4); ptr += 4;
8249 
8250 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
8251 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
8252 
8253 }
8254 
glEndTilingQCOM_enc(void * self,GLbitfield preserveMask)8255 void glEndTilingQCOM_enc(void *self , GLbitfield preserveMask)
8256 {
8257 
8258 	gl_encoder_context_t *ctx = (gl_encoder_context_t *)self;
8259 	IOStream *stream = ctx->m_stream;
8260 	ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
8261 	bool useChecksum = checksumCalculator->getVersion() > 0;
8262 
8263 	 unsigned char *ptr;
8264 	 unsigned char *buf;
8265 	 const size_t sizeWithoutChecksum = 8 + 4;
8266 	 const size_t checksumSize = checksumCalculator->checksumByteSize();
8267 	 const size_t totalSize = sizeWithoutChecksum + checksumSize;
8268 	buf = stream->alloc(totalSize);
8269 	ptr = buf;
8270 	int tmp = OP_glEndTilingQCOM;memcpy(ptr, &tmp, 4); ptr += 4;
8271 	memcpy(ptr, &totalSize, 4);  ptr += 4;
8272 
8273 		memcpy(ptr, &preserveMask, 4); ptr += 4;
8274 
8275 	if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
8276 	if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
8277 
8278 }
8279 
8280 }  // namespace
8281 
gl_encoder_context_t(IOStream * stream,ChecksumCalculator * checksumCalculator)8282 gl_encoder_context_t::gl_encoder_context_t(IOStream *stream, ChecksumCalculator *checksumCalculator)
8283 {
8284 	m_stream = stream;
8285 	m_checksumCalculator = checksumCalculator;
8286 
8287 	this->glAlphaFunc = &glAlphaFunc_enc;
8288 	this->glClearColor = &glClearColor_enc;
8289 	this->glClearDepthf = &glClearDepthf_enc;
8290 	this->glClipPlanef = &glClipPlanef_enc;
8291 	this->glColor4f = &glColor4f_enc;
8292 	this->glDepthRangef = &glDepthRangef_enc;
8293 	this->glFogf = &glFogf_enc;
8294 	this->glFogfv = &glFogfv_enc;
8295 	this->glFrustumf = &glFrustumf_enc;
8296 	this->glGetClipPlanef = &glGetClipPlanef_enc;
8297 	this->glGetFloatv = &glGetFloatv_enc;
8298 	this->glGetLightfv = &glGetLightfv_enc;
8299 	this->glGetMaterialfv = &glGetMaterialfv_enc;
8300 	this->glGetTexEnvfv = &glGetTexEnvfv_enc;
8301 	this->glGetTexParameterfv = &glGetTexParameterfv_enc;
8302 	this->glLightModelf = &glLightModelf_enc;
8303 	this->glLightModelfv = &glLightModelfv_enc;
8304 	this->glLightf = &glLightf_enc;
8305 	this->glLightfv = &glLightfv_enc;
8306 	this->glLineWidth = &glLineWidth_enc;
8307 	this->glLoadMatrixf = &glLoadMatrixf_enc;
8308 	this->glMaterialf = &glMaterialf_enc;
8309 	this->glMaterialfv = &glMaterialfv_enc;
8310 	this->glMultMatrixf = &glMultMatrixf_enc;
8311 	this->glMultiTexCoord4f = &glMultiTexCoord4f_enc;
8312 	this->glNormal3f = &glNormal3f_enc;
8313 	this->glOrthof = &glOrthof_enc;
8314 	this->glPointParameterf = &glPointParameterf_enc;
8315 	this->glPointParameterfv = &glPointParameterfv_enc;
8316 	this->glPointSize = &glPointSize_enc;
8317 	this->glPolygonOffset = &glPolygonOffset_enc;
8318 	this->glRotatef = &glRotatef_enc;
8319 	this->glScalef = &glScalef_enc;
8320 	this->glTexEnvf = &glTexEnvf_enc;
8321 	this->glTexEnvfv = &glTexEnvfv_enc;
8322 	this->glTexParameterf = &glTexParameterf_enc;
8323 	this->glTexParameterfv = &glTexParameterfv_enc;
8324 	this->glTranslatef = &glTranslatef_enc;
8325 	this->glActiveTexture = &glActiveTexture_enc;
8326 	this->glAlphaFuncx = &glAlphaFuncx_enc;
8327 	this->glBindBuffer = &glBindBuffer_enc;
8328 	this->glBindTexture = &glBindTexture_enc;
8329 	this->glBlendFunc = &glBlendFunc_enc;
8330 	this->glBufferData = &glBufferData_enc;
8331 	this->glBufferSubData = &glBufferSubData_enc;
8332 	this->glClear = &glClear_enc;
8333 	this->glClearColorx = &glClearColorx_enc;
8334 	this->glClearDepthx = &glClearDepthx_enc;
8335 	this->glClearStencil = &glClearStencil_enc;
8336 	this->glClientActiveTexture = &glClientActiveTexture_enc;
8337 	this->glColor4ub = &glColor4ub_enc;
8338 	this->glColor4x = &glColor4x_enc;
8339 	this->glColorMask = &glColorMask_enc;
8340 	this->glColorPointer = (glColorPointer_client_proc_t) &enc_unsupported;
8341 	this->glCompressedTexImage2D = &glCompressedTexImage2D_enc;
8342 	this->glCompressedTexSubImage2D = &glCompressedTexSubImage2D_enc;
8343 	this->glCopyTexImage2D = &glCopyTexImage2D_enc;
8344 	this->glCopyTexSubImage2D = &glCopyTexSubImage2D_enc;
8345 	this->glCullFace = &glCullFace_enc;
8346 	this->glDeleteBuffers = &glDeleteBuffers_enc;
8347 	this->glDeleteTextures = &glDeleteTextures_enc;
8348 	this->glDepthFunc = &glDepthFunc_enc;
8349 	this->glDepthMask = &glDepthMask_enc;
8350 	this->glDepthRangex = &glDepthRangex_enc;
8351 	this->glDisable = &glDisable_enc;
8352 	this->glDisableClientState = &glDisableClientState_enc;
8353 	this->glDrawArrays = &glDrawArrays_enc;
8354 	this->glDrawElements = (glDrawElements_client_proc_t) &enc_unsupported;
8355 	this->glEnable = &glEnable_enc;
8356 	this->glEnableClientState = &glEnableClientState_enc;
8357 	this->glFinish = &glFinish_enc;
8358 	this->glFlush = &glFlush_enc;
8359 	this->glFogx = &glFogx_enc;
8360 	this->glFogxv = &glFogxv_enc;
8361 	this->glFrontFace = &glFrontFace_enc;
8362 	this->glFrustumx = &glFrustumx_enc;
8363 	this->glGetBooleanv = &glGetBooleanv_enc;
8364 	this->glGetBufferParameteriv = &glGetBufferParameteriv_enc;
8365 	this->glClipPlanex = &glClipPlanex_enc;
8366 	this->glGenBuffers = &glGenBuffers_enc;
8367 	this->glGenTextures = &glGenTextures_enc;
8368 	this->glGetError = &glGetError_enc;
8369 	this->glGetFixedv = &glGetFixedv_enc;
8370 	this->glGetIntegerv = &glGetIntegerv_enc;
8371 	this->glGetLightxv = &glGetLightxv_enc;
8372 	this->glGetMaterialxv = &glGetMaterialxv_enc;
8373 	this->glGetPointerv = (glGetPointerv_client_proc_t) &enc_unsupported;
8374 	this->glGetString = (glGetString_client_proc_t) &enc_unsupported;
8375 	this->glGetTexEnviv = &glGetTexEnviv_enc;
8376 	this->glGetTexEnvxv = &glGetTexEnvxv_enc;
8377 	this->glGetTexParameteriv = &glGetTexParameteriv_enc;
8378 	this->glGetTexParameterxv = &glGetTexParameterxv_enc;
8379 	this->glHint = &glHint_enc;
8380 	this->glIsBuffer = &glIsBuffer_enc;
8381 	this->glIsEnabled = &glIsEnabled_enc;
8382 	this->glIsTexture = &glIsTexture_enc;
8383 	this->glLightModelx = &glLightModelx_enc;
8384 	this->glLightModelxv = &glLightModelxv_enc;
8385 	this->glLightx = &glLightx_enc;
8386 	this->glLightxv = &glLightxv_enc;
8387 	this->glLineWidthx = &glLineWidthx_enc;
8388 	this->glLoadIdentity = &glLoadIdentity_enc;
8389 	this->glLoadMatrixx = &glLoadMatrixx_enc;
8390 	this->glLogicOp = &glLogicOp_enc;
8391 	this->glMaterialx = &glMaterialx_enc;
8392 	this->glMaterialxv = &glMaterialxv_enc;
8393 	this->glMatrixMode = &glMatrixMode_enc;
8394 	this->glMultMatrixx = &glMultMatrixx_enc;
8395 	this->glMultiTexCoord4x = &glMultiTexCoord4x_enc;
8396 	this->glNormal3x = &glNormal3x_enc;
8397 	this->glNormalPointer = (glNormalPointer_client_proc_t) &enc_unsupported;
8398 	this->glOrthox = &glOrthox_enc;
8399 	this->glPixelStorei = &glPixelStorei_enc;
8400 	this->glPointParameterx = &glPointParameterx_enc;
8401 	this->glPointParameterxv = &glPointParameterxv_enc;
8402 	this->glPointSizex = &glPointSizex_enc;
8403 	this->glPolygonOffsetx = &glPolygonOffsetx_enc;
8404 	this->glPopMatrix = &glPopMatrix_enc;
8405 	this->glPushMatrix = &glPushMatrix_enc;
8406 	this->glReadPixels = &glReadPixels_enc;
8407 	this->glRotatex = &glRotatex_enc;
8408 	this->glSampleCoverage = &glSampleCoverage_enc;
8409 	this->glSampleCoveragex = &glSampleCoveragex_enc;
8410 	this->glScalex = &glScalex_enc;
8411 	this->glScissor = &glScissor_enc;
8412 	this->glShadeModel = &glShadeModel_enc;
8413 	this->glStencilFunc = &glStencilFunc_enc;
8414 	this->glStencilMask = &glStencilMask_enc;
8415 	this->glStencilOp = &glStencilOp_enc;
8416 	this->glTexCoordPointer = (glTexCoordPointer_client_proc_t) &enc_unsupported;
8417 	this->glTexEnvi = &glTexEnvi_enc;
8418 	this->glTexEnvx = &glTexEnvx_enc;
8419 	this->glTexEnviv = &glTexEnviv_enc;
8420 	this->glTexEnvxv = &glTexEnvxv_enc;
8421 	this->glTexImage2D = &glTexImage2D_enc;
8422 	this->glTexParameteri = &glTexParameteri_enc;
8423 	this->glTexParameterx = &glTexParameterx_enc;
8424 	this->glTexParameteriv = &glTexParameteriv_enc;
8425 	this->glTexParameterxv = &glTexParameterxv_enc;
8426 	this->glTexSubImage2D = &glTexSubImage2D_enc;
8427 	this->glTranslatex = &glTranslatex_enc;
8428 	this->glVertexPointer = (glVertexPointer_client_proc_t) &enc_unsupported;
8429 	this->glViewport = &glViewport_enc;
8430 	this->glPointSizePointerOES = (glPointSizePointerOES_client_proc_t) &enc_unsupported;
8431 	this->glVertexPointerOffset = &glVertexPointerOffset_enc;
8432 	this->glColorPointerOffset = &glColorPointerOffset_enc;
8433 	this->glNormalPointerOffset = &glNormalPointerOffset_enc;
8434 	this->glPointSizePointerOffset = &glPointSizePointerOffset_enc;
8435 	this->glTexCoordPointerOffset = &glTexCoordPointerOffset_enc;
8436 	this->glWeightPointerOffset = &glWeightPointerOffset_enc;
8437 	this->glMatrixIndexPointerOffset = &glMatrixIndexPointerOffset_enc;
8438 	this->glVertexPointerData = &glVertexPointerData_enc;
8439 	this->glColorPointerData = &glColorPointerData_enc;
8440 	this->glNormalPointerData = &glNormalPointerData_enc;
8441 	this->glTexCoordPointerData = &glTexCoordPointerData_enc;
8442 	this->glPointSizePointerData = &glPointSizePointerData_enc;
8443 	this->glWeightPointerData = &glWeightPointerData_enc;
8444 	this->glMatrixIndexPointerData = &glMatrixIndexPointerData_enc;
8445 	this->glDrawElementsOffset = &glDrawElementsOffset_enc;
8446 	this->glDrawElementsData = &glDrawElementsData_enc;
8447 	this->glGetCompressedTextureFormats = &glGetCompressedTextureFormats_enc;
8448 	this->glFinishRoundTrip = &glFinishRoundTrip_enc;
8449 	this->glBlendEquationSeparateOES = &glBlendEquationSeparateOES_enc;
8450 	this->glBlendFuncSeparateOES = &glBlendFuncSeparateOES_enc;
8451 	this->glBlendEquationOES = &glBlendEquationOES_enc;
8452 	this->glDrawTexsOES = &glDrawTexsOES_enc;
8453 	this->glDrawTexiOES = &glDrawTexiOES_enc;
8454 	this->glDrawTexxOES = &glDrawTexxOES_enc;
8455 	this->glDrawTexsvOES = &glDrawTexsvOES_enc;
8456 	this->glDrawTexivOES = &glDrawTexivOES_enc;
8457 	this->glDrawTexxvOES = &glDrawTexxvOES_enc;
8458 	this->glDrawTexfOES = &glDrawTexfOES_enc;
8459 	this->glDrawTexfvOES = &glDrawTexfvOES_enc;
8460 	this->glEGLImageTargetTexture2DOES = &glEGLImageTargetTexture2DOES_enc;
8461 	this->glEGLImageTargetRenderbufferStorageOES = &glEGLImageTargetRenderbufferStorageOES_enc;
8462 	this->glAlphaFuncxOES = &glAlphaFuncxOES_enc;
8463 	this->glClearColorxOES = &glClearColorxOES_enc;
8464 	this->glClearDepthxOES = &glClearDepthxOES_enc;
8465 	this->glClipPlanexOES = &glClipPlanexOES_enc;
8466 	this->glClipPlanexIMG = &glClipPlanexIMG_enc;
8467 	this->glColor4xOES = &glColor4xOES_enc;
8468 	this->glDepthRangexOES = &glDepthRangexOES_enc;
8469 	this->glFogxOES = &glFogxOES_enc;
8470 	this->glFogxvOES = &glFogxvOES_enc;
8471 	this->glFrustumxOES = &glFrustumxOES_enc;
8472 	this->glGetClipPlanexOES = &glGetClipPlanexOES_enc;
8473 	this->glGetClipPlanex = &glGetClipPlanex_enc;
8474 	this->glGetFixedvOES = &glGetFixedvOES_enc;
8475 	this->glGetLightxvOES = &glGetLightxvOES_enc;
8476 	this->glGetMaterialxvOES = &glGetMaterialxvOES_enc;
8477 	this->glGetTexEnvxvOES = &glGetTexEnvxvOES_enc;
8478 	this->glGetTexParameterxvOES = &glGetTexParameterxvOES_enc;
8479 	this->glLightModelxOES = &glLightModelxOES_enc;
8480 	this->glLightModelxvOES = &glLightModelxvOES_enc;
8481 	this->glLightxOES = &glLightxOES_enc;
8482 	this->glLightxvOES = &glLightxvOES_enc;
8483 	this->glLineWidthxOES = &glLineWidthxOES_enc;
8484 	this->glLoadMatrixxOES = &glLoadMatrixxOES_enc;
8485 	this->glMaterialxOES = &glMaterialxOES_enc;
8486 	this->glMaterialxvOES = &glMaterialxvOES_enc;
8487 	this->glMultMatrixxOES = &glMultMatrixxOES_enc;
8488 	this->glMultiTexCoord4xOES = &glMultiTexCoord4xOES_enc;
8489 	this->glNormal3xOES = &glNormal3xOES_enc;
8490 	this->glOrthoxOES = &glOrthoxOES_enc;
8491 	this->glPointParameterxOES = &glPointParameterxOES_enc;
8492 	this->glPointParameterxvOES = &glPointParameterxvOES_enc;
8493 	this->glPointSizexOES = &glPointSizexOES_enc;
8494 	this->glPolygonOffsetxOES = &glPolygonOffsetxOES_enc;
8495 	this->glRotatexOES = &glRotatexOES_enc;
8496 	this->glSampleCoveragexOES = &glSampleCoveragexOES_enc;
8497 	this->glScalexOES = &glScalexOES_enc;
8498 	this->glTexEnvxOES = &glTexEnvxOES_enc;
8499 	this->glTexEnvxvOES = &glTexEnvxvOES_enc;
8500 	this->glTexParameterxOES = &glTexParameterxOES_enc;
8501 	this->glTexParameterxvOES = &glTexParameterxvOES_enc;
8502 	this->glTranslatexOES = &glTranslatexOES_enc;
8503 	this->glIsRenderbufferOES = &glIsRenderbufferOES_enc;
8504 	this->glBindRenderbufferOES = &glBindRenderbufferOES_enc;
8505 	this->glDeleteRenderbuffersOES = &glDeleteRenderbuffersOES_enc;
8506 	this->glGenRenderbuffersOES = &glGenRenderbuffersOES_enc;
8507 	this->glRenderbufferStorageOES = &glRenderbufferStorageOES_enc;
8508 	this->glGetRenderbufferParameterivOES = &glGetRenderbufferParameterivOES_enc;
8509 	this->glIsFramebufferOES = &glIsFramebufferOES_enc;
8510 	this->glBindFramebufferOES = &glBindFramebufferOES_enc;
8511 	this->glDeleteFramebuffersOES = &glDeleteFramebuffersOES_enc;
8512 	this->glGenFramebuffersOES = &glGenFramebuffersOES_enc;
8513 	this->glCheckFramebufferStatusOES = &glCheckFramebufferStatusOES_enc;
8514 	this->glFramebufferRenderbufferOES = &glFramebufferRenderbufferOES_enc;
8515 	this->glFramebufferTexture2DOES = &glFramebufferTexture2DOES_enc;
8516 	this->glGetFramebufferAttachmentParameterivOES = &glGetFramebufferAttachmentParameterivOES_enc;
8517 	this->glGenerateMipmapOES = &glGenerateMipmapOES_enc;
8518 	this->glMapBufferOES = (glMapBufferOES_client_proc_t) &enc_unsupported;
8519 	this->glUnmapBufferOES = &glUnmapBufferOES_enc;
8520 	this->glGetBufferPointervOES = (glGetBufferPointervOES_client_proc_t) &enc_unsupported;
8521 	this->glCurrentPaletteMatrixOES = &glCurrentPaletteMatrixOES_enc;
8522 	this->glLoadPaletteFromModelViewMatrixOES = &glLoadPaletteFromModelViewMatrixOES_enc;
8523 	this->glMatrixIndexPointerOES = (glMatrixIndexPointerOES_client_proc_t) &enc_unsupported;
8524 	this->glWeightPointerOES = (glWeightPointerOES_client_proc_t) &enc_unsupported;
8525 	this->glQueryMatrixxOES = &glQueryMatrixxOES_enc;
8526 	this->glDepthRangefOES = &glDepthRangefOES_enc;
8527 	this->glFrustumfOES = &glFrustumfOES_enc;
8528 	this->glOrthofOES = &glOrthofOES_enc;
8529 	this->glClipPlanefOES = &glClipPlanefOES_enc;
8530 	this->glClipPlanefIMG = &glClipPlanefIMG_enc;
8531 	this->glGetClipPlanefOES = &glGetClipPlanefOES_enc;
8532 	this->glClearDepthfOES = &glClearDepthfOES_enc;
8533 	this->glTexGenfOES = &glTexGenfOES_enc;
8534 	this->glTexGenfvOES = &glTexGenfvOES_enc;
8535 	this->glTexGeniOES = &glTexGeniOES_enc;
8536 	this->glTexGenivOES = &glTexGenivOES_enc;
8537 	this->glTexGenxOES = &glTexGenxOES_enc;
8538 	this->glTexGenxvOES = &glTexGenxvOES_enc;
8539 	this->glGetTexGenfvOES = &glGetTexGenfvOES_enc;
8540 	this->glGetTexGenivOES = &glGetTexGenivOES_enc;
8541 	this->glGetTexGenxvOES = &glGetTexGenxvOES_enc;
8542 	this->glBindVertexArrayOES = &glBindVertexArrayOES_enc;
8543 	this->glDeleteVertexArraysOES = &glDeleteVertexArraysOES_enc;
8544 	this->glGenVertexArraysOES = &glGenVertexArraysOES_enc;
8545 	this->glIsVertexArrayOES = &glIsVertexArrayOES_enc;
8546 	this->glDiscardFramebufferEXT = &glDiscardFramebufferEXT_enc;
8547 	this->glMultiDrawArraysEXT = (glMultiDrawArraysEXT_client_proc_t) &enc_unsupported;
8548 	this->glMultiDrawElementsEXT = (glMultiDrawElementsEXT_client_proc_t) &enc_unsupported;
8549 	this->glMultiDrawArraysSUN = (glMultiDrawArraysSUN_client_proc_t) &enc_unsupported;
8550 	this->glMultiDrawElementsSUN = (glMultiDrawElementsSUN_client_proc_t) &enc_unsupported;
8551 	this->glRenderbufferStorageMultisampleIMG = &glRenderbufferStorageMultisampleIMG_enc;
8552 	this->glFramebufferTexture2DMultisampleIMG = &glFramebufferTexture2DMultisampleIMG_enc;
8553 	this->glDeleteFencesNV = &glDeleteFencesNV_enc;
8554 	this->glGenFencesNV = &glGenFencesNV_enc;
8555 	this->glIsFenceNV = &glIsFenceNV_enc;
8556 	this->glTestFenceNV = &glTestFenceNV_enc;
8557 	this->glGetFenceivNV = &glGetFenceivNV_enc;
8558 	this->glFinishFenceNV = &glFinishFenceNV_enc;
8559 	this->glSetFenceNV = &glSetFenceNV_enc;
8560 	this->glGetDriverControlsQCOM = &glGetDriverControlsQCOM_enc;
8561 	this->glGetDriverControlStringQCOM = &glGetDriverControlStringQCOM_enc;
8562 	this->glEnableDriverControlQCOM = &glEnableDriverControlQCOM_enc;
8563 	this->glDisableDriverControlQCOM = &glDisableDriverControlQCOM_enc;
8564 	this->glExtGetTexturesQCOM = &glExtGetTexturesQCOM_enc;
8565 	this->glExtGetBuffersQCOM = &glExtGetBuffersQCOM_enc;
8566 	this->glExtGetRenderbuffersQCOM = &glExtGetRenderbuffersQCOM_enc;
8567 	this->glExtGetFramebuffersQCOM = &glExtGetFramebuffersQCOM_enc;
8568 	this->glExtGetTexLevelParameterivQCOM = &glExtGetTexLevelParameterivQCOM_enc;
8569 	this->glExtTexObjectStateOverrideiQCOM = &glExtTexObjectStateOverrideiQCOM_enc;
8570 	this->glExtGetTexSubImageQCOM = &glExtGetTexSubImageQCOM_enc;
8571 	this->glExtGetBufferPointervQCOM = (glExtGetBufferPointervQCOM_client_proc_t) &enc_unsupported;
8572 	this->glExtGetShadersQCOM = &glExtGetShadersQCOM_enc;
8573 	this->glExtGetProgramsQCOM = &glExtGetProgramsQCOM_enc;
8574 	this->glExtIsProgramBinaryQCOM = &glExtIsProgramBinaryQCOM_enc;
8575 	this->glExtGetProgramBinarySourceQCOM = (glExtGetProgramBinarySourceQCOM_client_proc_t) &enc_unsupported;
8576 	this->glStartTilingQCOM = &glStartTilingQCOM_enc;
8577 	this->glEndTilingQCOM = &glEndTilingQCOM_enc;
8578 }
8579 
8580