Added 'uint' GLSL uniform support.

Thanks @devsh for the patch.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6073 dfc29bdd-3216-0410-991c-e03cc46cb475
This commit is contained in:
cutealien
2020-02-10 15:01:11 +00:00
parent dbf03c296c
commit 7b1ee6468d
13 changed files with 169 additions and 16 deletions

View File

@ -1127,6 +1127,10 @@ class COpenGLExtensionHandler
void extGlUniform2iv(GLint loc, GLsizei count, const GLint *v);
void extGlUniform3iv(GLint loc, GLsizei count, const GLint *v);
void extGlUniform4iv(GLint loc, GLsizei count, const GLint *v);
void extGlUniform1uiv(GLint loc, GLsizei count, const GLuint *v);
void extGlUniform2uiv(GLint loc, GLsizei count, const GLuint *v);
void extGlUniform3uiv(GLint loc, GLsizei count, const GLuint *v);
void extGlUniform4uiv(GLint loc, GLsizei count, const GLuint *v);
void extGlUniformMatrix2fv(GLint loc, GLsizei count, GLboolean transpose, const GLfloat *v);
void extGlUniformMatrix2x3fv(GLint loc, GLsizei count, GLboolean transpose, const GLfloat *v);
void extGlUniformMatrix2x4fv(GLint loc, GLsizei count, GLboolean transpose, const GLfloat *v);
@ -1262,6 +1266,10 @@ class COpenGLExtensionHandler
PFNGLUNIFORM2IVARBPROC pGlUniform2ivARB;
PFNGLUNIFORM3IVARBPROC pGlUniform3ivARB;
PFNGLUNIFORM4IVARBPROC pGlUniform4ivARB;
PFNGLUNIFORM1UIVPROC pGlUniform1uiv;
PFNGLUNIFORM2UIVPROC pGlUniform2uiv;
PFNGLUNIFORM3UIVPROC pGlUniform3uiv;
PFNGLUNIFORM4UIVPROC pGlUniform4uiv;
PFNGLUNIFORMMATRIX2FVARBPROC pGlUniformMatrix2fvARB;
PFNGLUNIFORMMATRIX2X3FVPROC pGlUniformMatrix2x3fv;
PFNGLUNIFORMMATRIX2X4FVPROC pGlUniformMatrix2x4fv;
@ -1895,6 +1903,46 @@ inline void COpenGLExtensionHandler::extGlUniform4fv(GLint loc, GLsizei count, c
#endif
}
inline void COpenGLExtensionHandler::extGlUniform1uiv(GLint loc, GLsizei count, const GLuint *v)
{
#ifdef _IRR_OPENGL_USE_EXTPOINTER_
if (pGlUniform1uiv)
pGlUniform1uiv(loc, count, v);
#else
glUniform1uiv(loc, count, v);
#endif
}
inline void COpenGLExtensionHandler::extGlUniform2uiv(GLint loc, GLsizei count, const GLuint *v)
{
#ifdef _IRR_OPENGL_USE_EXTPOINTER_
if (pGlUniform2uiv)
pGlUniform2uiv(loc, count, v);
#else
glUniform2uiv(loc, count, v);
#endif
}
inline void COpenGLExtensionHandler::extGlUniform3uiv(GLint loc, GLsizei count, const GLuint *v)
{
#ifdef _IRR_OPENGL_USE_EXTPOINTER_
if (pGlUniform3uiv)
pGlUniform3uiv(loc, count, v);
#else
glUniform3uiv(loc, count, v);
#endif
}
inline void COpenGLExtensionHandler::extGlUniform4uiv(GLint loc, GLsizei count, const GLuint *v)
{
#ifdef _IRR_OPENGL_USE_EXTPOINTER_
if (pGlUniform4uiv)
pGlUniform4uiv(loc, count, v);
#else
glUniform4uiv(loc, count, v);
#endif
}
inline void COpenGLExtensionHandler::extGlUniform1iv(GLint loc, GLsizei count, const GLint *v)
{
#ifdef _IRR_OPENGL_USE_EXTPOINTER_