Module: Mesa Branch: staging/21.3 Commit: 80de4fd03b3c85621373b89f11ea21ad9b6cdcc9 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=80de4fd03b3c85621373b89f11ea21ad9b6cdcc9
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> (cherry picked from commit 521ede8451df846045d7bc41f44311ace2fddbb5) --- .pick_status.json | 2 +- src/mesa/main/shaderapi.c | 9 ++------- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 5eac2fc14cc..c4bc1b6ae75 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -2236,7 +2236,7 @@ "description": "mesa: refactor GetProgramiv to use program resource list", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null }, diff --git a/src/mesa/main/shaderapi.c b/src/mesa/main/shaderapi.c index 1dda13d9f1f..83f06a70767 100644 --- a/src/mesa/main/shaderapi.c +++ b/src/mesa/main/shaderapi.c @@ -767,13 +767,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: {
