nir/linker: use only the array element type for array of ssbo/ubo
authorAlejandro Piñeiro <apinheiro@igalia.com>
Wed, 29 Aug 2018 14:24:12 +0000 (16:24 +0200)
committerArcady Goldmints-Orlov <agoldmints@igalia.com>
Sun, 30 Jun 2019 21:58:26 +0000 (16:58 -0500)
commiteb50d1d2a6357cec66822f8f6861f220923a946c
tree3e34c474de09a8f971ef98be5cfae8fc392b19d1
parenteec1d5f8011a802a38800afcb9d356e21cc3909a
nir/linker: use only the array element type for array of ssbo/ubo

For this interfaces, the inner members are added only once as uniforms
or resources, in opposite to other cases, like a uniform array of
structs.

For those guessing why a issue (16) from ARB_program_interface_query
was used, instead of a quote of the core spec: The core spec is not
really clear about how members of arrays of blocks should be
enumerated.

On GLSL this was also problematic, specially when we were trying to
pass the 4.5 CTS tests. See commit "glsl: Fix program interface
queries relating to interface blocks"
(4c4d9e4f032d5753034361ee70aa88d16d3a04b4), as a reference. That one
also needed to rely on issue (16) to justify the change, pointing that
the core spec needs to be clarified.

Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
src/compiler/glsl/gl_nir_link_uniforms.c