Fix arrays-of-struct and nested struct uniforms.

Our computation of register offsets had a few errors that
messed up nested structs and arrays of structs.

This fixes a WebGL test, as well as several dEQP tests.

BUG=angle:505
TEST=WebGL CTS 1.0.3, dEQP-GELS3.functional.uniform-api

Change-Id: Id5a0f39481e079fe5ef5ef856943dc1f91ee3639
Reviewed-on: https://chromium-review.googlesource.com/200045
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
3 files changed