freedreno/a6xx: don't emit a bogus size for empty cb slots
authorRob Clark <robdclark@chromium.org>
Wed, 29 Jul 2020 16:09:19 +0000 (09:09 -0700)
committerMarge Bot <eric+marge@anholt.net>
Wed, 29 Jul 2020 20:22:05 +0000 (20:22 +0000)
Noticed that asphalt9 had no uniforms bound, so cb[0] is null.  In
theory shouldn't cause a problem, since nothing is doing `ldc` against
cb[0], but to be safe we should use SIZE=0.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6117>

src/gallium/drivers/freedreno/a6xx/fd6_const.c

index e2c982d8226401f84471ffdc1709b45483aa74ec..bfe2fec96832aea7c9923445a9a6a59ed437e766 100644 (file)
@@ -273,7 +273,7 @@ fd6_emit_ubos(struct fd_context *ctx, const struct ir3_shader_variant *v,
                                        0);
                } else {
                        OUT_RING(ring, 0xbad00000 | (i << 16));
-                       OUT_RING(ring, 0xbad00000 | (i << 16));
+                       OUT_RING(ring, A6XX_UBO_1_SIZE(0));
                }
        }
 }