emulator opengl: system GLESv1 first commit.

This is the first commit for the GLESv1 implementation.
It also includes needed fixes in emugen to support const types.
Also, changed glFinish definition in gl.in to match the
definition as in gl.h.

Change-Id: I90262a1db6035a90af8db17984acecef6499847a
This commit is contained in:
Stas Gurtovoy
2011-05-05 11:07:34 +03:00
committed by Guy Zadikario
parent b7caa30ba2
commit d32c2d9633
19 changed files with 145 additions and 64 deletions

View File

@@ -115,7 +115,7 @@ void GLEncoder::s_glFlush(void *self)
ctx->m_stream->flush();
}
GLubyte *GLEncoder::s_glGetString(void *self, GLenum name)
const GLubyte *GLEncoder::s_glGetString(void *self, GLenum name)
{
GLubyte *retval = (GLubyte *) "";
switch(name) {
@@ -143,28 +143,28 @@ void GLEncoder::s_glPixelStorei(void *self, GLenum param, GLint value)
ctx->m_state->setPixelStore(param, value);
}
void GLEncoder::s_glVertexPointer(void *self, int size, GLenum type, GLsizei stride, void *data)
void GLEncoder::s_glVertexPointer(void *self, int size, GLenum type, GLsizei stride, const void *data)
{
GLEncoder *ctx = (GLEncoder *)self;
assert(ctx->m_state != NULL);
ctx->m_state->setState(GLClientState::VERTEX_LOCATION, size, type, false, stride, data);
}
void GLEncoder::s_glNormalPointer(void *self, GLenum type, GLsizei stride, void *data)
void GLEncoder::s_glNormalPointer(void *self, GLenum type, GLsizei stride, const void *data)
{
GLEncoder *ctx = (GLEncoder *)self;
assert(ctx->m_state != NULL);
ctx->m_state->setState(GLClientState::NORMAL_LOCATION, 3, type, false, stride, data);
}
void GLEncoder::s_glColorPointer(void *self, int size, GLenum type, GLsizei stride, void *data)
void GLEncoder::s_glColorPointer(void *self, int size, GLenum type, GLsizei stride, const void *data)
{
GLEncoder *ctx = (GLEncoder *)self;
assert(ctx->m_state != NULL);
ctx->m_state->setState(GLClientState::COLOR_LOCATION, size, type, false, stride, data);
}
void GLEncoder::s_glPointsizePointer(void *self, GLenum type, GLsizei stride, void *data)
void GLEncoder::s_glPointsizePointer(void *self, GLenum type, GLsizei stride, const void *data)
{
GLEncoder *ctx = (GLEncoder *)self;
assert(ctx->m_state != NULL);
@@ -178,7 +178,7 @@ void GLEncoder::s_glClientActiveTexture(void *self, GLenum texture)
ctx->m_state->setActiveTexture(texture - GL_TEXTURE0);
}
void GLEncoder::s_glTexcoordPointer(void *self, int size, GLenum type, GLsizei stride, void *data)
void GLEncoder::s_glTexcoordPointer(void *self, int size, GLenum type, GLsizei stride, const void *data)
{
GLEncoder *ctx = (GLEncoder *)self;
assert(ctx->m_state != NULL);
@@ -186,7 +186,7 @@ void GLEncoder::s_glTexcoordPointer(void *self, int size, GLenum type, GLsizei s
ctx->m_state->setState(loc, size, type, false, stride, data);
}
void GLEncoder::s_glMatrixIndexPointerOES(void *self, int size, GLenum type, GLsizei stride, void * data)
void GLEncoder::s_glMatrixIndexPointerOES(void *self, int size, GLenum type, GLsizei stride, const void * data)
{
GLEncoder *ctx = (GLEncoder *)self;
assert(ctx->m_state != NULL);
@@ -194,7 +194,7 @@ void GLEncoder::s_glMatrixIndexPointerOES(void *self, int size, GLenum type, GLs
ctx->m_state->setState(loc, size, type, false, stride, data);
}
void GLEncoder::s_glWeightPointerOES(void * self, int size, GLenum type, GLsizei stride, void * data)
void GLEncoder::s_glWeightPointerOES(void * self, int size, GLenum type, GLsizei stride, const void * data)
{
GLEncoder *ctx = (GLEncoder *)self;
assert(ctx->m_state != NULL);
@@ -362,7 +362,7 @@ void GLEncoder::s_glDrawArrays(void *self, GLenum mode, GLint first, GLsizei cou
ctx->m_glDrawArrays_enc(ctx, mode, /*first*/ 0, count);
}
void GLEncoder::s_glDrawElements(void *self, GLenum mode, GLsizei count, GLenum type, void *indices)
void GLEncoder::s_glDrawElements(void *self, GLenum mode, GLsizei count, GLenum type, const void *indices)
{
GLEncoder *ctx = (GLEncoder *)self;
@@ -395,7 +395,7 @@ void GLEncoder::s_glDrawElements(void *self, GLenum mode, GLsizei count, GLenum
LOGE("glDrawElements: indirect index arrays, with immidate-mode data array is not supported\n");
}
} else {
void *adjustedIndices = indices;
void *adjustedIndices = (void*)indices;
int minIndex = 0, maxIndex = 0;
switch(type) {