progs/util: added ValidateShaderProgram() to shaderutil.c
This commit is contained in:
parent
b7d2023cf9
commit
fa6299cb31
|
@ -140,6 +140,25 @@ LinkShaders(GLuint vertShader, GLuint fragShader)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
GLboolean
|
||||||
|
ValidateShaderProgram(GLuint program)
|
||||||
|
{
|
||||||
|
GLint stat;
|
||||||
|
glValidateProgramARB(program);
|
||||||
|
glGetProgramiv(program, GL_VALIDATE_STATUS, &stat);
|
||||||
|
|
||||||
|
if (!stat) {
|
||||||
|
GLchar log[1000];
|
||||||
|
GLsizei len;
|
||||||
|
glGetProgramInfoLog(program, 1000, &len, log);
|
||||||
|
fprintf(stderr, "Program validation error:\n%s\n", log);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (GLboolean) stat;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
GLdouble
|
GLdouble
|
||||||
GetShaderCompileTime(void)
|
GetShaderCompileTime(void)
|
||||||
{
|
{
|
||||||
|
@ -170,6 +189,7 @@ SetUniformValues(GLuint program, struct uniform_info uniforms[])
|
||||||
case GL_SAMPLER_3D:
|
case GL_SAMPLER_3D:
|
||||||
case GL_SAMPLER_CUBE:
|
case GL_SAMPLER_CUBE:
|
||||||
case GL_SAMPLER_2D_RECT_ARB:
|
case GL_SAMPLER_2D_RECT_ARB:
|
||||||
|
assert(uniforms[i].value[0] >= 0.0F);
|
||||||
glUniform1i(uniforms[i].location,
|
glUniform1i(uniforms[i].location,
|
||||||
(GLint) uniforms[i].value[0]);
|
(GLint) uniforms[i].value[0]);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -36,6 +36,9 @@ CompileShaderFile(GLenum shaderType, const char *filename);
|
||||||
extern GLuint
|
extern GLuint
|
||||||
LinkShaders(GLuint vertShader, GLuint fragShader);
|
LinkShaders(GLuint vertShader, GLuint fragShader);
|
||||||
|
|
||||||
|
extern GLboolean
|
||||||
|
ValidateShaderProgram(GLuint program);
|
||||||
|
|
||||||
extern GLdouble
|
extern GLdouble
|
||||||
GetShaderCompileTime(void);
|
GetShaderCompileTime(void);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue