freedreno/ir3: fix constlen versus indirect UBO
authorRob Clark <robdclark@chromium.org>
Fri, 31 May 2019 14:40:16 +0000 (07:40 -0700)
committerRob Clark <robdclark@chromium.org>
Fri, 31 May 2019 19:58:33 +0000 (12:58 -0700)
commit8b7bf5e07aafe8c3ff17fbd49e6f516b2ddab458
tree83dc4f95bcb60972d5f6fb22b13ab9db7deb9b10
parent8eaa2d502131bdce874603f522eabc4a5719f2e6
freedreno/ir3: fix constlen versus indirect UBO

If we access the address of the UBO indirectly, and there is no higher
const emitted w/ direct access (like an immediate lowered to uniform)
the assembler won't figure out the correct constlen.

Fixes:
  dEQP-GLES31.functional.shaders.opaque_type_indexing.ubo.uniform_vertex
  dEQP-GLES31.functional.shaders.opaque_type_indexing.ubo.uniform_fragment
  dEQP-GLES31.functional.shaders.opaque_type_indexing.ubo.dynamically_uniform_vertex
  dEQP-GLES31.functional.shaders.opaque_type_indexing.ubo.dynamically_uniform_fragment

Signed-off-by: Rob Clark <robdclark@chromium.org>
src/freedreno/ir3/ir3_compiler_nir.c