mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-30 12:10:09 +01:00
nir: Don't allow copying SSA destinations
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
This commit is contained in:
parent
197a19f9ed
commit
89bd5ee64c
1 changed files with 11 additions and 11 deletions
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue