From 37d2c5b0aa85b8ab40c6f0e27f1088b03713e0bb Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Mon, 28 Apr 2008 23:14:14 -0400 Subject: [PATCH] Added MOJOSHADER_glGetShaderParseData(). --HG-- branch : trunk --- mojoshader.h | 10 ++++++++++ mojoshader_opengl.c | 7 +++++++ 2 files changed, 17 insertions(+) diff --git a/mojoshader.h b/mojoshader.h index eb0f1ea7..13622b56 100644 --- a/mojoshader.h +++ b/mojoshader.h @@ -455,6 +455,16 @@ const char *MOJOSHADER_glGetError(void); MOJOSHADER_glShader *MOJOSHADER_glCompileShader(const unsigned char *tokenbuf, const unsigned int bufsize); + +/* + * Get the MOJOSHADER_parseData structure that was produced from the + * call to MOJOSHADER_glCompileShader(). + * + * This data is read-only, and you should NOT attempt to free it. This + * pointer remains valid until the shader is deleted. + */ +const MOJOSHADER_parseData *MOJOSHADER_glGetShaderParseData( + MOJOSHADER_glShader *shader); /* * Link a vertex and pixel shader into an OpenGL program. * (vshader) or (pshader) can be NULL, to specify that the GL should use the diff --git a/mojoshader_opengl.c b/mojoshader_opengl.c index de2ee5ea..a58e0855 100644 --- a/mojoshader_opengl.c +++ b/mojoshader_opengl.c @@ -401,6 +401,13 @@ MOJOSHADER_glShader *MOJOSHADER_glCompileShader(const unsigned char *tokenbuf, } // MOJOSHADER_glCompileShader +const MOJOSHADER_parseData *MOJOSHADER_glGetShaderParseData( + MOJOSHADER_glShader *shader) +{ + return (shader != NULL) ? shader->parseData : NULL; +} // MOJOSHADER_glGetShaderParseData + + static void shader_unref(MOJOSHADER_glShader *shader) { if (shader != NULL)