If I have a multivariate polynomial $P[X_1,\dots,X_n]\in \mathbb{R}[X_1,\dots, X_n]$, is there a polynomial time algorithm to factor the polynomial into irreducible polynomials $\in \mathbb{C}[X_1,\dots,X_n]$?
Also, how do the factors look like - are they all linear or constant polynomials or could they also be non-linear?
If the factorization involves non-linear irreducible polynomials, then is it possible to list all the roots of $P[X_1,\dots,X_n]$ in polynomial time?
Edit: To give some motivation for my question, my goal is to find if a polynomial is $\geq 0$ on its entire domain or not.