diff options
author | Rob Clark <[email protected]> | 2018-12-21 18:47:26 -0500 |
---|---|---|
committer | Rob Clark <[email protected]> | 2018-12-21 19:04:22 -0500 |
commit | 3453814622040d2638ce7b7c73c046cd4a0119e9 (patch) | |
tree | f8a2f4d99e1f611b1780cce407ead081a07c72ea | |
parent | 626f2477abd11730be7c249fa64e6ca4c53a1dc9 (diff) |
freedreno/ir3: fix fallout of extra assert
Fixes the following crash that happened after d6110d4d
The problem happens if we first compile a "vanilla" shader with nothing
lowered in NIR, which perform the final lowering passes on so->shader->
nir (including nir_lower_locals_to_regs()), and then later we have
compile a shader with some lowering. The second time through we would
have already done nir_lower_locals_to_regs().
Arguably this was already a bug, just one we hadn't noticed yet.
Fixes: d6110d4d547 intel/compiler: move nir_lower_bool_to_int32 before nir_lower_locals_to_regs
Signed-off-by: Rob Clark <[email protected]>
-rw-r--r-- | src/freedreno/ir3/ir3_context.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/freedreno/ir3/ir3_context.c b/src/freedreno/ir3/ir3_context.c index bba41377525..c2d01666cff 100644 --- a/src/freedreno/ir3/ir3_context.c +++ b/src/freedreno/ir3/ir3_context.c @@ -71,7 +71,7 @@ ir3_context_init(struct ir3_compiler *compiler, ctx->s = ir3_optimize_nir(so->shader, s, &so->key); } else { /* fast-path for shader key that lowers nothing in NIR: */ - ctx->s = so->shader->nir; + ctx->s = nir_shader_clone(ctx, so->shader->nir); } /* this needs to be the last pass run, so do this here instead of |