Module: Mesa Branch: main Commit: 521ede8451df846045d7bc41f44311ace2fddbb5 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=521ede8451df846045d7bc41f44311ace2fddbb5
Author: Tapani Pälli <[email protected]> Date: Tue Jan 18 09:38:18 2022 +0200 mesa: refactor GetProgramiv to use program resource list This way we make sure glGetActiveUniform and glGetProgramiv are in sync about active uniform count. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5885 Cc: mesa-stable Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14589> --- src/mesa/main/shaderapi.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/mesa/main/shaderapi.c b/src/mesa/main/shaderapi.c index 73ea99aeb27..03eac9794c7 100644 --- a/src/mesa/main/shaderapi.c +++ b/src/mesa/main/shaderapi.c @@ -777,13 +777,8 @@ get_programiv(struct gl_context *ctx, GLuint program, GLenum pname, *params = _mesa_longest_attribute_name_length(shProg); return; case GL_ACTIVE_UNIFORMS: { - unsigned i; - const unsigned num_uniforms = - shProg->data->NumUniformStorage - shProg->data->NumHiddenUniforms; - for (*params = 0, i = 0; i < num_uniforms; i++) { - if (!shProg->data->UniformStorage[i].is_shader_storage) - (*params)++; - } + _mesa_GetProgramInterfaceiv(program, GL_UNIFORM, GL_ACTIVE_RESOURCES, + params); return; } case GL_ACTIVE_UNIFORM_MAX_LENGTH: {
