diff options
author | Tapani Pälli <[email protected]> | 2015-08-03 08:58:20 +0300 |
---|---|---|
committer | Tapani Pälli <[email protected]> | 2015-09-29 12:46:28 +0300 |
commit | c0722be9f58ef89dae98d8c459ec4f9589f97748 (patch) | |
tree | dcd6b8108ac7d3da8dea06210ae1dc1d1bcf2234 /src/mesa/main/program_resource.c | |
parent | 12d510ab742baad88d624585938c723ffedbcae7 (diff) |
mesa: fix ARRAY_SIZE query for GetProgramResourceiv
Patch also refactors name length queries which were using array size
in computation, this has to be done in same time to avoid regression in
arb_program_interface_query-resource-query Piglit test.
Fixes rest of the failures with
ES31-CTS.program_interface_query.no-locations
v2: make additional check only for GS inputs
v3: create helper function for resource name length
so that it gets calculated only in one place
Signed-off-by: Tapani Pälli <[email protected]>
Reviewed-by: Martin Peres <[email protected]>
Diffstat (limited to 'src/mesa/main/program_resource.c')
-rw-r--r-- | src/mesa/main/program_resource.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/mesa/main/program_resource.c b/src/mesa/main/program_resource.c index c609abeed45..eb71fdde703 100644 --- a/src/mesa/main/program_resource.c +++ b/src/mesa/main/program_resource.c @@ -111,11 +111,9 @@ _mesa_GetProgramInterfaceiv(GLuint program, GLenum programInterface, for (i = 0, *params = 0; i < shProg->NumProgramResourceList; i++) { if (shProg->ProgramResourceList[i].Type != programInterface) continue; - const char *name = - _mesa_program_resource_name(&shProg->ProgramResourceList[i]); - unsigned array_size = - _mesa_program_resource_array_size(&shProg->ProgramResourceList[i]); - *params = MAX2(*params, strlen(name) + (array_size ? 3 : 0) + 1); + unsigned len = + _mesa_program_resource_name_len(&shProg->ProgramResourceList[i]); + *params = MAX2(*params, len + 1); } break; case GL_MAX_NUM_ACTIVE_VARIABLES: |