diff options
author | Erik Faye-Lund <erik.faye-lund@collabora.com> | 2023-02-27 12:32:09 +0100 |
---|---|---|
committer | Erik Faye-Lund <erik.faye-lund@collabora.com> | 2023-03-06 09:56:10 +0100 |
commit | bcb82b195ffcc68a97fb79ad2f2ce7086dec7e62 (patch) | |
tree | 86726d81a119ef259bad181fc7115e8dd99e281d | |
parent | b82f1307401f9f4fba902154fd04783da3173dcf (diff) | |
download | mesa-demos-bcb82b195ffcc68a97fb79ad2f2ce7086dec7e62.tar.gz |
util: use gl2 program validation
There's a glValidateProgram function in GL2 and later; let's use that
instead of trying to use the ARB function and falling back to nothing.
Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com>
-rw-r--r-- | src/util/shaderutil.c | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/src/util/shaderutil.c b/src/util/shaderutil.c index 85d033ce..4842ab9f 100644 --- a/src/util/shaderutil.c +++ b/src/util/shaderutil.c @@ -32,7 +32,7 @@ PFNGLLINKPROGRAMPROC LinkProgram = NULL; PFNGLUSEPROGRAMPROC UseProgram = NULL; PFNGLGETPROGRAMIVPROC GetProgramiv = NULL; PFNGLGETPROGRAMINFOLOGPROC GetProgramInfoLog = NULL; -PFNGLVALIDATEPROGRAMARBPROC ValidateProgramARB = NULL; +PFNGLVALIDATEPROGRAMPROC ValidateProgram = NULL; PFNGLUNIFORM1IPROC Uniform1i = NULL; PFNGLUNIFORM1FVPROC Uniform1fv = NULL; PFNGLUNIFORM2FVPROC Uniform2fv = NULL; @@ -42,12 +42,6 @@ PFNGLUNIFORMMATRIX4FVPROC UniformMatrix4fv = NULL; PFNGLGETACTIVEATTRIBPROC GetActiveAttrib = NULL; PFNGLGETATTRIBLOCATIONPROC GetAttribLocation = NULL; -static void GLAPIENTRY -fake_ValidateProgram(GLuint prog) -{ - (void) prog; -} - GLboolean ShadersSupported(void) { @@ -64,8 +58,7 @@ ShadersSupported(void) UseProgram = glUseProgram; GetProgramiv = glGetProgramiv; GetProgramInfoLog = glGetProgramInfoLog; - ValidateProgramARB = (GLAD_GL_ARB_shader_objects) - ? glValidateProgramARB : fake_ValidateProgram; + ValidateProgram = glValidateProgram; Uniform1i = glUniform1i; Uniform1fv = glUniform1fv; Uniform2fv = glUniform2fv; @@ -91,7 +84,7 @@ ShadersSupported(void) UseProgram = glUseProgramObjectARB; GetProgramiv = glGetObjectParameterivARB; GetProgramInfoLog = glGetInfoLogARB; - ValidateProgramARB = glValidateProgramARB; + ValidateProgram = glValidateProgramARB; Uniform1i = glUniform1iARB; Uniform1fv = glUniform1fvARB; Uniform2fv = glUniform2fvARB; @@ -268,7 +261,7 @@ GLboolean ValidateShaderProgram(GLuint program) { GLint stat; - ValidateProgramARB(program); + ValidateProgram(program); GetProgramiv(program, GL_VALIDATE_STATUS, &stat); if (!stat) { |