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