Module: Mesa Branch: master Commit: 89bd5ee64c5aa1b977f4ba832cf7772e81ee286d URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=89bd5ee64c5aa1b977f4ba832cf7772e81ee286d
Author: Jason Ekstrand <[email protected]> Date: Wed Jul 1 16:00:08 2015 -0700 nir: Don't allow copying SSA destinations Reviewed-by: Connor Abbott <[email protected]> --- src/glsl/nir/nir.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/glsl/nir/nir.c b/src/glsl/nir/nir.c index f661249..78ff886 100644 --- a/src/glsl/nir/nir.c +++ b/src/glsl/nir/nir.c @@ -147,18 +147,18 @@ void nir_src_copy(nir_src *dest, const nir_src *src, void *mem_ctx) void nir_dest_copy(nir_dest *dest, const nir_dest *src, void *mem_ctx) { - dest->is_ssa = src->is_ssa; - if (src->is_ssa) { - dest->ssa = src->ssa; + /* Copying an SSA definition makes no sense whatsoever. */ + assert(!src->is_ssa); + + dest->is_ssa = false; + + dest->reg.base_offset = src->reg.base_offset; + dest->reg.reg = src->reg.reg; + if (src->reg.indirect) { + dest->reg.indirect = ralloc(mem_ctx, nir_src); + nir_src_copy(dest->reg.indirect, src->reg.indirect, mem_ctx); } else { - dest->reg.base_offset = src->reg.base_offset; - dest->reg.reg = src->reg.reg; - if (src->reg.indirect) { - dest->reg.indirect = ralloc(mem_ctx, nir_src); - nir_src_copy(dest->reg.indirect, src->reg.indirect, mem_ctx); - } else { - dest->reg.indirect = NULL; - } + dest->reg.indirect = NULL; } } _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
