Vertex displace vs Depth of Field

Hello

I am having a little problem with vertex displace and Depth of Field image effect.
Displacement is not recognized by the image effect (not only Depth of Field)

Here is very simple displacement shader

Shader "Custom/Displace" 
{	
	Properties 
	{
        _Amount ("Extrusion Amount", float) = 0
    }

   SubShader 
	{
		ZWrite On

		Pass 
		{
		    CGPROGRAM
		    #pragma vertex vert
		    #pragma fragment frag
		    #include "UnityCG.cginc"

		    struct v2f 
			{
			    float4 pos : SV_POSITION;
		    };
			  

			half _Amount;
		    v2f vert (appdata_base v)
			{
			    v2f o;

			    v.vertex.xyz += v.normal * _Amount;
				o.pos = mul (UNITY_MATRIX_MVP, v.vertex);

				return o;
			}

		    fixed4 frag (v2f i) : COLOR0 { return fixed4(0, 0.63, 0.9, 1); }
		     
			ENDCG
		}
    } 
}

With subshader tag, even more strange

Tags { "RenderType"="Opaque" "Queue" = "Geometry" }

Can someone tell, what I am missing.

thanks for answer
I am using Unity_s native Depth of Field Scatter (DX11).
If I use surface shader with vertex displacement (simple as above), everything works. Like this http://docs.unity3d.com/Documentation/Components/SL-SurfaceShaderTessellation.html (first example)

Want to know what I am missing in vertex shader.

The replacement shader that renders the depth buffer the DOF effect uses doesn’t do your vertex displacement. So it won’t take it into account.

The other image effects simply work on the final rendered image without using other inputs, so they’ll simply work with that’s rendered via your regular shaders.

You can make a custom replacement shader to render the depth map. Check the replacement shaders provided by unity. Theres an example there.