Mesa (master): freedreno/ir3: don't precolor unassigned inputs
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Fri Feb 28 17:12:35 UTC 2020
Module: Mesa
Branch: master
Commit: c1f436746182027ce52c59c0efeea3d2a28dea5b
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c1f436746182027ce52c59c0efeea3d2a28dea5b
Author: Rob Clark <robdclark at chromium.org>
Date: Tue Feb 25 17:17:55 2020 -0800
freedreno/ir3: don't precolor unassigned inputs
Fixes crash seen in:
dEQP-VK.glsl.conversions.matrix_to_matrix.mat4_to_mat3x4_vertex
Signed-off-by: Rob Clark <robdclark at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3989>
---
src/freedreno/ir3/ir3_ra.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/freedreno/ir3/ir3_ra.c b/src/freedreno/ir3/ir3_ra.c
index cf986e62c1d..35a95fd1050 100644
--- a/src/freedreno/ir3/ir3_ra.c
+++ b/src/freedreno/ir3/ir3_ra.c
@@ -1273,6 +1273,9 @@ ra_precolor(struct ir3_ra_ctx *ctx, struct ir3_instruction **precolor, unsigned
if (precolor[i] && !(precolor[i]->flags & IR3_INSTR_UNUSED)) {
struct ir3_instruction *instr = precolor[i];
+ if (instr->regs[0]->num == INVALID_REG)
+ continue;
+
struct ir3_ra_instr_data *id = &ctx->instrd[instr->ip];
debug_assert(!(instr->regs[0]->flags & (IR3_REG_HALF | IR3_REG_HIGH)));
More information about the mesa-commit
mailing list