diff options
author | Rob Clark <robdclark@gmail.com> | 2019-03-20 10:38:01 -0400 |
---|---|---|
committer | Dylan Baker <dylan@pnwbakers.com> | 2019-06-04 09:03:50 -0700 |
commit | 8a616376ab83e71481cb87999d85bf54273bc92a (patch) | |
tree | d11fbc6b9bfaad7d119da0e2a8f03513a5d37a7e | |
parent | 96788ffcec871bb22c2d3d8681a2c82aebb4f62a (diff) | |
download | mesa-8a616376ab83e71481cb87999d85bf54273bc92a.tar.gz |
freedreno/ir3: dynamic UBO indexing vs 64b pointers
Fixes dEQP-GLES31.functional.shaders.opaque_type_indexing.ubo.uniform_fragment
and similar things with multiple UBOs
Signed-off-by: Rob Clark <robdclark@gmail.com>
(cherry picked from commit 6e781a01b97639057d44ca13c5d4276220745b3d)
-rw-r--r-- | src/freedreno/ir3/ir3_compiler_nir.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/freedreno/ir3/ir3_compiler_nir.c b/src/freedreno/ir3/ir3_compiler_nir.c index fd641735620..01b4ac02b6d 100644 --- a/src/freedreno/ir3/ir3_compiler_nir.c +++ b/src/freedreno/ir3/ir3_compiler_nir.c @@ -686,8 +686,8 @@ emit_intrinsic_load_ubo(struct ir3_context *ctx, nir_intrinsic_instr *intr, base_lo = create_uniform(b, ubo + (src0->regs[1]->iim_val * ptrsz)); base_hi = create_uniform(b, ubo + (src0->regs[1]->iim_val * ptrsz) + 1); } else { - base_lo = create_uniform_indirect(b, ubo, ir3_get_addr(ctx, src0, 4)); - base_hi = create_uniform_indirect(b, ubo + 1, ir3_get_addr(ctx, src0, 4)); + base_lo = create_uniform_indirect(b, ubo, ir3_get_addr(ctx, src0, ptrsz)); + base_hi = create_uniform_indirect(b, ubo + 1, ir3_get_addr(ctx, src0, ptrsz)); } /* note: on 32bit gpu's base_hi is ignored and DCE'd */ |