From 521ede8451df846045d7bc41f44311ace2fddbb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tapani=20P=C3=A4lli?= Date: Tue, 18 Jan 2022 09:38:18 +0200 Subject: [PATCH] mesa: refactor GetProgramiv to use program resource list MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Reviewed-by: Marek Olšák Part-of: --- 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: {