glsl/nir: convert is_sparse_texels_resident to nir

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14362>
This commit is contained in:
Qiang Yu 2021-12-29 15:26:09 +08:00
parent 634bb25123
commit 7d4b0b7789
1 changed files with 12 additions and 0 deletions

View File

@ -1203,6 +1203,9 @@ nir_visitor::visit(ir_call *ir)
case ir_intrinsic_helper_invocation:
op = nir_intrinsic_is_helper_invocation;
break;
case ir_intrinsic_is_sparse_texels_resident:
op = nir_intrinsic_is_sparse_texels_resident;
break;
default:
unreachable("not reached");
}
@ -1633,6 +1636,15 @@ nir_visitor::visit(ir_call *ir)
nir_builder_instr_insert(&b, &instr->instr);
break;
}
case nir_intrinsic_is_sparse_texels_resident: {
nir_ssa_dest_init(&instr->instr, &instr->dest, 1, 1, NULL);
ir_rvalue *value = (ir_rvalue *) ir->actual_parameters.get_head();
instr->src[0] = nir_src_for_ssa(evaluate_rvalue(value));
nir_builder_instr_insert(&b, &instr->instr);
break;
}
default:
unreachable("not reached");
}