opengl emulator - handle shader string decoding
Shader strings are sent over the wire protocal as one concatenated string. a special api call - glShaderString is used to handle the encoding and decoding of this string. Change-Id: Id682763f35e9fcc6215559931db2112a4fa981a9
This commit is contained in:
committed by
David 'Digit' Turner
parent
5b840fb32b
commit
68e7ee63f5
@@ -57,7 +57,7 @@ int GL2Decoder::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_glShaderString(s_glShaderString);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -108,3 +108,8 @@ void GL2Decoder::s_glDrawElementsOffset(void *self, GLenum mode, GLsizei count,
|
|||||||
ctx->glDrawElements(mode, count, type, (void *)offset);
|
ctx->glDrawElements(mode, count, type, (void *)offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void GL2Decoder::s_glShaderString(void *self, GLuint shader, GLstr string, GLsizei len)
|
||||||
|
{
|
||||||
|
GL2Decoder *ctx = (GL2Decoder *)self;
|
||||||
|
ctx->glShaderSource(shader, 1, &string, NULL);
|
||||||
|
}
|
||||||
|
|||||||
@@ -30,8 +30,6 @@ private:
|
|||||||
|
|
||||||
static void s_glDrawElementsOffset(void *self, GLenum mode, GLsizei count, GLenum type, GLuint offset);
|
static void s_glDrawElementsOffset(void *self, GLenum mode, GLsizei count, GLenum type, GLuint offset);
|
||||||
static void s_glDrawElementsData(void *self, GLenum mode, GLsizei count, GLenum type, void * data, GLuint datalen);
|
static void s_glDrawElementsData(void *self, GLenum mode, GLsizei count, GLenum type, void * data, GLuint datalen);
|
||||||
|
static void s_glShaderString(void *self, GLuint shader, GLstr string, GLsizei len);
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -538,3 +538,8 @@ glGetCompressedTextureFormats
|
|||||||
dir formats out
|
dir formats out
|
||||||
len formats (count * sizeof(GLint))
|
len formats (count * sizeof(GLint))
|
||||||
flag custom_decoder
|
flag custom_decoder
|
||||||
|
|
||||||
|
#GL_ENTRY(void, glShaderString, GLuint shader, GLchar *string, GLsizei len)
|
||||||
|
glShaderString
|
||||||
|
len string len
|
||||||
|
flag custom_decoder
|
||||||
|
|||||||
@@ -211,5 +211,6 @@ GL_ENTRY(void, glVertexAttribPointerOffset, GLuint indx, GLint size, GLenum type
|
|||||||
GL_ENTRY(void, glDrawElementsOffset, GLenum mode, GLsizei count, GLenum type, GLuint offset)
|
GL_ENTRY(void, glDrawElementsOffset, GLenum mode, GLsizei count, GLenum type, GLuint offset)
|
||||||
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(void, glShaderString, GLuint shader, GLstr string, GLsizei len)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user