IPIP vs GRE Encapsulation Layer 3

hello ,

after searching alot i found something about Layer 3 encapsulation when i’m using GRE.
does this mean every Layer 3 protocol gets a GRE header? or how does this work?

and what about IPIP , it does not support Layer 3 encapsulation? so any layer 3 protocol will not get an extra ip header?