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