Mesa (master): pan/midgard: Round up bytemasks when promoting uniforms

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Feb 27 21:31:27 UTC 2020


Module: Mesa
Branch: master
Commit: 93ca47e046ca1cd1385e5941f3dea731ffe8e5af
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=93ca47e046ca1cd1385e5941f3dea731ffe8e5af

Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date:   Thu Feb 27 09:37:28 2020 -0500

pan/midgard: Round up bytemasks when promoting uniforms

Fixes crashes with uniform promotion in certain mixed type
circumstances.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3978>

---

 src/panfrost/midgard/mir_promote_uniforms.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/panfrost/midgard/mir_promote_uniforms.c b/src/panfrost/midgard/mir_promote_uniforms.c
index 2dbea712579..2d7aabed49c 100644
--- a/src/panfrost/midgard/mir_promote_uniforms.c
+++ b/src/panfrost/midgard/mir_promote_uniforms.c
@@ -160,7 +160,8 @@ midgard_promote_uniforms(compiler_context *ctx)
                         if (ins->load_64)
                                 mov.alu.reg_mode = midgard_reg_mode_64;
 
-                        mir_set_bytemask(&mov, mir_bytemask(ins));
+                        uint16_t rounded = mir_round_bytemask_up(mir_bytemask(ins), mov.alu.reg_mode);
+                        mir_set_bytemask(&mov, rounded);
                         mir_insert_instruction_before(ctx, ins, mov);
                 } else {
                         mir_rewrite_index_src(ctx, ins->dest, promoted);



More information about the mesa-commit mailing list