Merge "emulator opengl: Added glFinishRoundTrip implementation."

This commit is contained in:
David Turner
2011-06-20 06:37:37 -07:00
committed by Android Code Review
6 changed files with 23 additions and 1 deletions

View File

@@ -74,10 +74,18 @@ int GLDecoder::initGL(get_proc_func_t getProcFunc, void *getProcFuncData)
set_glDrawElementsOffset(s_glDrawElementsOffset); set_glDrawElementsOffset(s_glDrawElementsOffset);
set_glDrawElementsData(s_glDrawElementsData); set_glDrawElementsData(s_glDrawElementsData);
set_glFinishRoundTrip(s_glFinishRoundTrip);
return 0; return 0;
} }
int GLDecoder::s_glFinishRoundTrip(void *self)
{
GLDecoder *ctx = (GLDecoder *)self;
ctx->glFinish();
return 0;
}
void GLDecoder::s_glVertexPointerOffset(void *self, GLint size, GLenum type, GLsizei stride, GLuint offset) void GLDecoder::s_glVertexPointerOffset(void *self, GLint size, GLenum type, GLsizei stride, GLuint offset)
{ {
GLDecoder *ctx = (GLDecoder *)self; GLDecoder *ctx = (GLDecoder *)self;

View File

@@ -59,6 +59,8 @@ private:
static void s_glMatrixIndexPointerData(void * self, GLint size, GLenum type, GLsizei stride, void * data, GLuint datalen); static void s_glMatrixIndexPointerData(void * self, GLint size, GLenum type, GLsizei stride, void * data, GLuint datalen);
static void s_glMatrixIndexPointerOffset(void * self, GLint size, GLenum type, GLsizei stride, GLuint offset); static void s_glMatrixIndexPointerOffset(void * self, GLint size, GLenum type, GLsizei stride, GLuint offset);
static int s_glFinishRoundTrip(void *self);
static void * s_getProc(const char *name, void *userData); static void * s_getProc(const char *name, void *userData);
GLDecoderContextData *m_contextData; GLDecoderContextData *m_contextData;

View File

@@ -467,6 +467,7 @@ GLEncoder::GLEncoder(IOStream *stream) : gl_encoder_context_t(stream)
m_glDrawArrays_enc = set_glDrawArrays(s_glDrawArrays); m_glDrawArrays_enc = set_glDrawArrays(s_glDrawArrays);
m_glDrawElements_enc = set_glDrawElements(s_glDrawElements); m_glDrawElements_enc = set_glDrawElements(s_glDrawElements);
set_glGetString(s_glGetString); set_glGetString(s_glGetString);
set_glFinish(s_glFinish);
} }
@@ -480,3 +481,9 @@ size_t GLEncoder::pixelDataSize(GLsizei width, GLsizei height, GLenum format, GL
assert(m_state != NULL); assert(m_state != NULL);
return m_state->pixelDataSize(width, height, format, type, pack); return m_state->pixelDataSize(width, height, format, type, pack);
} }
void GLEncoder::s_glFinish(void *self)
{
GLEncoder *ctx = (GLEncoder *)self;
ctx->glFinishRoundTrip(self);
}

View File

@@ -87,6 +87,8 @@ private:
static void s_glDrawArrays(void *self, GLenum mode, GLint first, GLsizei count); static void s_glDrawArrays(void *self, GLenum mode, GLint first, GLsizei count);
static void s_glDrawElements(void *self, GLenum mode, GLsizei count, GLenum type, const void *indices); static void s_glDrawElements(void *self, GLenum mode, GLsizei count, GLenum type, const void *indices);
static void s_glPixelStorei(void *self, GLenum param, GLint value); static void s_glPixelStorei(void *self, GLenum param, GLint value);
static void s_glFinish(void *self);
void sendVertexData(unsigned first, unsigned count); void sendVertexData(unsigned first, unsigned count);
}; };
#endif #endif

View File

@@ -349,6 +349,9 @@ glGetCompressedTextureFormats
flag custom_decoder flag custom_decoder
flag not_api flag not_api
glFinishRoundTrip
flag custom_decoder
flag not_api
#gles1 extensions #gles1 extensions

View File

@@ -163,7 +163,7 @@ GL_ENTRY(void, glDrawElementsOffset, GLenum mode, GLsizei count, GLenum type, GL
GL_ENTRY(void, glDrawElementsData, GLenum mode, GLsizei count, GLenum type, void *data, GLuint datalen) GL_ENTRY(void, glDrawElementsData, GLenum mode, GLsizei count, GLenum type, void *data, GLuint datalen)
GL_ENTRY(void, glGetCompressedTextureFormats, int count, GLint *formats); GL_ENTRY(void, glGetCompressedTextureFormats, int count, GLint *formats);
GL_ENTRY(int, glFinishRoundTrip, void)
#opengl extensions #opengl extensions