// generated by 'emugen'
-#include <vector>
#include <string.h>
#include "renderControl_opcodes.h"
if (useChecksum) checksumCalculator->addBuffer(&retval, 4);
if (useChecksum) {
unsigned char *checksumBufPtr = NULL;
- std::vector<unsigned char> checksumBuf(checksumSize);
+ unsigned char checksumBuf[ChecksumCalculator::kMaxChecksumSize];
if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
stream->readback(checksumBufPtr, checksumSize);
if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
const unsigned int __size_minor = sizeof(EGLint);
unsigned char *ptr;
unsigned char *buf;
- const size_t sizeWithoutChecksum = 8 + __size_major + __size_minor + 2*4;
+ const size_t sizeWithoutChecksum = 8 + 0 + 0 + 2*4;
const size_t checksumSize = checksumCalculator->checksumByteSize();
const size_t totalSize = sizeWithoutChecksum + checksumSize;
buf = stream->alloc(totalSize);
if (useChecksum) checksumCalculator->addBuffer(&retval, 4);
if (useChecksum) {
unsigned char *checksumBufPtr = NULL;
- std::vector<unsigned char> checksumBuf(checksumSize);
+ unsigned char checksumBuf[ChecksumCalculator::kMaxChecksumSize];
if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
stream->readback(checksumBufPtr, checksumSize);
if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
const unsigned int __size_buffer = bufferSize;
unsigned char *ptr;
unsigned char *buf;
- const size_t sizeWithoutChecksum = 8 + 4 + __size_buffer + 4 + 1*4;
+ const size_t sizeWithoutChecksum = 8 + 4 + 0 + 4 + 1*4;
const size_t checksumSize = checksumCalculator->checksumByteSize();
const size_t totalSize = sizeWithoutChecksum + checksumSize;
buf = stream->alloc(totalSize);
if (useChecksum) checksumCalculator->addBuffer(&retval, 4);
if (useChecksum) {
unsigned char *checksumBufPtr = NULL;
- std::vector<unsigned char> checksumBuf(checksumSize);
+ unsigned char checksumBuf[ChecksumCalculator::kMaxChecksumSize];
if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
stream->readback(checksumBufPtr, checksumSize);
if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
const unsigned int __size_buffer = bufferSize;
unsigned char *ptr;
unsigned char *buf;
- const size_t sizeWithoutChecksum = 8 + 4 + __size_buffer + 4 + 1*4;
+ const size_t sizeWithoutChecksum = 8 + 4 + 0 + 4 + 1*4;
const size_t checksumSize = checksumCalculator->checksumByteSize();
const size_t totalSize = sizeWithoutChecksum + checksumSize;
buf = stream->alloc(totalSize);
if (useChecksum) checksumCalculator->addBuffer(&retval, 4);
if (useChecksum) {
unsigned char *checksumBufPtr = NULL;
- std::vector<unsigned char> checksumBuf(checksumSize);
+ unsigned char checksumBuf[ChecksumCalculator::kMaxChecksumSize];
if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
stream->readback(checksumBufPtr, checksumSize);
if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
const unsigned int __size_numAttribs = sizeof(uint32_t);
unsigned char *ptr;
unsigned char *buf;
- const size_t sizeWithoutChecksum = 8 + __size_numAttribs + 1*4;
+ const size_t sizeWithoutChecksum = 8 + 0 + 1*4;
const size_t checksumSize = checksumCalculator->checksumByteSize();
const size_t totalSize = sizeWithoutChecksum + checksumSize;
buf = stream->alloc(totalSize);
if (useChecksum) checksumCalculator->addBuffer(&retval, 4);
if (useChecksum) {
unsigned char *checksumBufPtr = NULL;
- std::vector<unsigned char> checksumBuf(checksumSize);
+ unsigned char checksumBuf[ChecksumCalculator::kMaxChecksumSize];
if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
stream->readback(checksumBufPtr, checksumSize);
if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
const unsigned int __size_buffer = bufSize;
unsigned char *ptr;
unsigned char *buf;
- const size_t sizeWithoutChecksum = 8 + 4 + __size_buffer + 1*4;
+ const size_t sizeWithoutChecksum = 8 + 4 + 0 + 1*4;
const size_t checksumSize = checksumCalculator->checksumByteSize();
const size_t totalSize = sizeWithoutChecksum + checksumSize;
buf = stream->alloc(totalSize);
if (useChecksum) checksumCalculator->addBuffer(&retval, 4);
if (useChecksum) {
unsigned char *checksumBufPtr = NULL;
- std::vector<unsigned char> checksumBuf(checksumSize);
+ unsigned char checksumBuf[ChecksumCalculator::kMaxChecksumSize];
if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
stream->readback(checksumBufPtr, checksumSize);
if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
const unsigned int __size_configs = ((configs != NULL) ? configs_size*sizeof(uint32_t) : 0);
unsigned char *ptr;
unsigned char *buf;
- const size_t sizeWithoutChecksum = 8 + __size_attribs + 4 + __size_configs + 4 + 2*4;
+ const size_t sizeWithoutChecksum = 8 + __size_attribs + 4 + 0 + 4 + 2*4;
const size_t checksumSize = checksumCalculator->checksumByteSize();
const size_t totalSize = sizeWithoutChecksum + checksumSize;
buf = stream->alloc(totalSize);
if (useChecksum) checksumCalculator->addBuffer(&retval, 4);
if (useChecksum) {
unsigned char *checksumBufPtr = NULL;
- std::vector<unsigned char> checksumBuf(checksumSize);
+ unsigned char checksumBuf[ChecksumCalculator::kMaxChecksumSize];
if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
stream->readback(checksumBufPtr, checksumSize);
if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
if (useChecksum) checksumCalculator->addBuffer(&retval, 4);
if (useChecksum) {
unsigned char *checksumBufPtr = NULL;
- std::vector<unsigned char> checksumBuf(checksumSize);
+ unsigned char checksumBuf[ChecksumCalculator::kMaxChecksumSize];
if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
stream->readback(checksumBufPtr, checksumSize);
if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
if (useChecksum) checksumCalculator->addBuffer(&retval, 4);
if (useChecksum) {
unsigned char *checksumBufPtr = NULL;
- std::vector<unsigned char> checksumBuf(checksumSize);
+ unsigned char checksumBuf[ChecksumCalculator::kMaxChecksumSize];
if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
stream->readback(checksumBufPtr, checksumSize);
if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
if (useChecksum) checksumCalculator->addBuffer(&retval, 4);
if (useChecksum) {
unsigned char *checksumBufPtr = NULL;
- std::vector<unsigned char> checksumBuf(checksumSize);
+ unsigned char checksumBuf[ChecksumCalculator::kMaxChecksumSize];
if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
stream->readback(checksumBufPtr, checksumSize);
if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
if (useChecksum) checksumCalculator->addBuffer(&retval, 4);
if (useChecksum) {
unsigned char *checksumBufPtr = NULL;
- std::vector<unsigned char> checksumBuf(checksumSize);
+ unsigned char checksumBuf[ChecksumCalculator::kMaxChecksumSize];
if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
stream->readback(checksumBufPtr, checksumSize);
if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
if (useChecksum) checksumCalculator->addBuffer(&retval, 4);
if (useChecksum) {
unsigned char *checksumBufPtr = NULL;
- std::vector<unsigned char> checksumBuf(checksumSize);
+ unsigned char checksumBuf[ChecksumCalculator::kMaxChecksumSize];
if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
stream->readback(checksumBufPtr, checksumSize);
if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
if (useChecksum) checksumCalculator->addBuffer(&retval, 4);
if (useChecksum) {
unsigned char *checksumBufPtr = NULL;
- std::vector<unsigned char> checksumBuf(checksumSize);
+ unsigned char checksumBuf[ChecksumCalculator::kMaxChecksumSize];
if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
stream->readback(checksumBufPtr, checksumSize);
if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
if (useChecksum) checksumCalculator->addBuffer(&retval, 4);
if (useChecksum) {
unsigned char *checksumBufPtr = NULL;
- std::vector<unsigned char> checksumBuf(checksumSize);
+ unsigned char checksumBuf[ChecksumCalculator::kMaxChecksumSize];
if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
stream->readback(checksumBufPtr, checksumSize);
if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
const unsigned int __size_pixels = (((glUtilsPixelBitSize(format, type) * width) >> 3) * height);
unsigned char *ptr;
unsigned char *buf;
- const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + __size_pixels + 1*4;
+ const size_t sizeWithoutChecksum = 8 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 0 + 1*4;
const size_t checksumSize = checksumCalculator->checksumByteSize();
const size_t totalSize = sizeWithoutChecksum + checksumSize;
buf = stream->alloc(totalSize);
if (useChecksum) checksumCalculator->addBuffer(pixels, __size_pixels);
if (useChecksum) {
unsigned char *checksumBufPtr = NULL;
- std::vector<unsigned char> checksumBuf(checksumSize);
+ unsigned char checksumBuf[ChecksumCalculator::kMaxChecksumSize];
if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
stream->readback(checksumBufPtr, checksumSize);
if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
if (useChecksum) checksumCalculator->addBuffer(&retval, 4);
if (useChecksum) {
unsigned char *checksumBufPtr = NULL;
- std::vector<unsigned char> checksumBuf(checksumSize);
+ unsigned char checksumBuf[ChecksumCalculator::kMaxChecksumSize];
if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
stream->readback(checksumBufPtr, checksumSize);
if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
if (useChecksum) checksumCalculator->addBuffer(&retval, 4);
if (useChecksum) {
unsigned char *checksumBufPtr = NULL;
- std::vector<unsigned char> checksumBuf(checksumSize);
+ unsigned char checksumBuf[ChecksumCalculator::kMaxChecksumSize];
if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
stream->readback(checksumBufPtr, checksumSize);
if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
if (useChecksum) checksumCalculator->addBuffer(&retval, 4);
if (useChecksum) {
unsigned char *checksumBufPtr = NULL;
- std::vector<unsigned char> checksumBuf(checksumSize);
+ unsigned char checksumBuf[ChecksumCalculator::kMaxChecksumSize];
if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
stream->readback(checksumBufPtr, checksumSize);
if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
if (useChecksum) checksumCalculator->addBuffer(&retval, 4);
if (useChecksum) {
unsigned char *checksumBufPtr = NULL;
- std::vector<unsigned char> checksumBuf(checksumSize);
+ unsigned char checksumBuf[ChecksumCalculator::kMaxChecksumSize];
if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
stream->readback(checksumBufPtr, checksumSize);
if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
}
+void rcCreateSyncKHR_enc(void *self , EGLenum type, EGLint* attribs, uint32_t num_attribs, int destroy_when_signaled, uint64_t* glsync_out, uint64_t* syncthread_out)
+{
+
+ renderControl_encoder_context_t *ctx = (renderControl_encoder_context_t *)self;
+ IOStream *stream = ctx->m_stream;
+ ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
+ bool useChecksum = checksumCalculator->getVersion() > 0;
+
+ const unsigned int __size_attribs = num_attribs;
+ const unsigned int __size_glsync_out = sizeof(uint64_t);
+ const unsigned int __size_syncthread_out = sizeof(uint64_t);
+ unsigned char *ptr;
+ unsigned char *buf;
+ const size_t sizeWithoutChecksum = 8 + 4 + __size_attribs + 4 + 4 + 0 + 0 + 3*4;
+ const size_t checksumSize = checksumCalculator->checksumByteSize();
+ const size_t totalSize = sizeWithoutChecksum + checksumSize;
+ buf = stream->alloc(totalSize);
+ ptr = buf;
+ int tmp = OP_rcCreateSyncKHR;memcpy(ptr, &tmp, 4); ptr += 4;
+ memcpy(ptr, &totalSize, 4); ptr += 4;
+
+ memcpy(ptr, &type, 4); ptr += 4;
+ *(unsigned int *)(ptr) = __size_attribs; ptr += 4;
+ memcpy(ptr, attribs, __size_attribs);ptr += __size_attribs;
+ memcpy(ptr, &num_attribs, 4); ptr += 4;
+ memcpy(ptr, &destroy_when_signaled, 4); ptr += 4;
+ *(unsigned int *)(ptr) = __size_glsync_out; ptr += 4;
+ *(unsigned int *)(ptr) = __size_syncthread_out; ptr += 4;
+
+ if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
+ if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
+
+ stream->readback(glsync_out, __size_glsync_out);
+ if (useChecksum) checksumCalculator->addBuffer(glsync_out, __size_glsync_out);
+ stream->readback(syncthread_out, __size_syncthread_out);
+ if (useChecksum) checksumCalculator->addBuffer(syncthread_out, __size_syncthread_out);
+ if (useChecksum) {
+ unsigned char *checksumBufPtr = NULL;
+ unsigned char checksumBuf[ChecksumCalculator::kMaxChecksumSize];
+ if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
+ stream->readback(checksumBufPtr, checksumSize);
+ if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
+ ALOGE("rcCreateSyncKHR: GL communication error, please report this issue to b.android.com.\n");
+ abort();
+ }
+ }
+}
+
+EGLint rcClientWaitSyncKHR_enc(void *self , uint64_t sync, EGLint flags, uint64_t timeout)
+{
+
+ renderControl_encoder_context_t *ctx = (renderControl_encoder_context_t *)self;
+ IOStream *stream = ctx->m_stream;
+ ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
+ bool useChecksum = checksumCalculator->getVersion() > 0;
+
+ unsigned char *ptr;
+ unsigned char *buf;
+ const size_t sizeWithoutChecksum = 8 + 8 + 4 + 8;
+ const size_t checksumSize = checksumCalculator->checksumByteSize();
+ const size_t totalSize = sizeWithoutChecksum + checksumSize;
+ buf = stream->alloc(totalSize);
+ ptr = buf;
+ int tmp = OP_rcClientWaitSyncKHR;memcpy(ptr, &tmp, 4); ptr += 4;
+ memcpy(ptr, &totalSize, 4); ptr += 4;
+
+ memcpy(ptr, &sync, 8); ptr += 8;
+ memcpy(ptr, &flags, 4); ptr += 4;
+ memcpy(ptr, &timeout, 8); ptr += 8;
+
+ if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
+ if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
+
+
+ EGLint retval;
+ stream->readback(&retval, 4);
+ if (useChecksum) checksumCalculator->addBuffer(&retval, 4);
+ if (useChecksum) {
+ unsigned char *checksumBufPtr = NULL;
+ unsigned char checksumBuf[ChecksumCalculator::kMaxChecksumSize];
+ if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
+ stream->readback(checksumBufPtr, checksumSize);
+ if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
+ ALOGE("rcClientWaitSyncKHR: GL communication error, please report this issue to b.android.com.\n");
+ abort();
+ }
+ }
+ return retval;
+}
+
+void rcFlushWindowColorBufferAsync_enc(void *self , uint32_t windowSurface)
+{
+
+ renderControl_encoder_context_t *ctx = (renderControl_encoder_context_t *)self;
+ IOStream *stream = ctx->m_stream;
+ ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
+ bool useChecksum = checksumCalculator->getVersion() > 0;
+
+ unsigned char *ptr;
+ unsigned char *buf;
+ const size_t sizeWithoutChecksum = 8 + 4;
+ const size_t checksumSize = checksumCalculator->checksumByteSize();
+ const size_t totalSize = sizeWithoutChecksum + checksumSize;
+ buf = stream->alloc(totalSize);
+ ptr = buf;
+ int tmp = OP_rcFlushWindowColorBufferAsync;memcpy(ptr, &tmp, 4); ptr += 4;
+ memcpy(ptr, &totalSize, 4); ptr += 4;
+
+ memcpy(ptr, &windowSurface, 4); ptr += 4;
+
+ if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
+ if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
+
+}
+
+int rcDestroySyncKHR_enc(void *self , uint64_t sync)
+{
+
+ renderControl_encoder_context_t *ctx = (renderControl_encoder_context_t *)self;
+ IOStream *stream = ctx->m_stream;
+ ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
+ bool useChecksum = checksumCalculator->getVersion() > 0;
+
+ unsigned char *ptr;
+ unsigned char *buf;
+ const size_t sizeWithoutChecksum = 8 + 8;
+ const size_t checksumSize = checksumCalculator->checksumByteSize();
+ const size_t totalSize = sizeWithoutChecksum + checksumSize;
+ buf = stream->alloc(totalSize);
+ ptr = buf;
+ int tmp = OP_rcDestroySyncKHR;memcpy(ptr, &tmp, 4); ptr += 4;
+ memcpy(ptr, &totalSize, 4); ptr += 4;
+
+ memcpy(ptr, &sync, 8); ptr += 8;
+
+ if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
+ if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
+
+
+ int retval;
+ stream->readback(&retval, 4);
+ if (useChecksum) checksumCalculator->addBuffer(&retval, 4);
+ if (useChecksum) {
+ unsigned char *checksumBufPtr = NULL;
+ unsigned char checksumBuf[ChecksumCalculator::kMaxChecksumSize];
+ if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
+ stream->readback(checksumBufPtr, checksumSize);
+ if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
+ ALOGE("rcDestroySyncKHR: GL communication error, please report this issue to b.android.com.\n");
+ abort();
+ }
+ }
+ return retval;
+}
+
+void rcSetPuid_enc(void *self , uint64_t puid)
+{
+
+ renderControl_encoder_context_t *ctx = (renderControl_encoder_context_t *)self;
+ IOStream *stream = ctx->m_stream;
+ ChecksumCalculator *checksumCalculator = ctx->m_checksumCalculator;
+ bool useChecksum = checksumCalculator->getVersion() > 0;
+
+ unsigned char *ptr;
+ unsigned char *buf;
+ const size_t sizeWithoutChecksum = 8 + 8;
+ const size_t checksumSize = checksumCalculator->checksumByteSize();
+ const size_t totalSize = sizeWithoutChecksum + checksumSize;
+ buf = stream->alloc(totalSize);
+ ptr = buf;
+ int tmp = OP_rcSetPuid;memcpy(ptr, &tmp, 4); ptr += 4;
+ memcpy(ptr, &totalSize, 4); ptr += 4;
+
+ memcpy(ptr, &puid, 8); ptr += 8;
+
+ if (useChecksum) checksumCalculator->addBuffer(buf, ptr-buf);
+ if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
+
+}
+
} // namespace
renderControl_encoder_context_t::renderControl_encoder_context_t(IOStream *stream, ChecksumCalculator *checksumCalculator)
this->rcCreateClientImage = &rcCreateClientImage_enc;
this->rcDestroyClientImage = &rcDestroyClientImage_enc;
this->rcSelectChecksumHelper = &rcSelectChecksumHelper_enc;
+ this->rcCreateSyncKHR = &rcCreateSyncKHR_enc;
+ this->rcClientWaitSyncKHR = &rcClientWaitSyncKHR_enc;
+ this->rcFlushWindowColorBufferAsync = &rcFlushWindowColorBufferAsync_enc;
+ this->rcDestroySyncKHR = &rcDestroySyncKHR_enc;
+ this->rcSetPuid = &rcSetPuid_enc;
}