Confused with matrix mul in vertex shader

Hey, I’m confused with matrix calculation in vertex shaders in unity.

I tried this simple thing:

v2f vert (appdata_base v)
{
v2f o;

Oops, posted too fast, sorry:
Anyway, this vertex shader works:

v2f vert (appdata_base v)
{
v2f o;
o.pos = mul(UNITY_MATRIX_MVP, v.vertex);
return o;
}

now, if i replace the o.pos line with this:
float3 wp = mul (UNITY_MATRIX_MV, v.vertex);
o.pos = mul(UNITY_MATRIX_P, float4(wp,1));

the geometry is gone :frowning:

What am I doing wrong?
(the reason i need to split MVP to MV and P is that I want to do some screen aligned offsetting on vertices (think screen aligned sprites)

Tks