How can I fix shader flipping when anti-aliasing is on?

New to shaders. Currently trying to add a shader to an object that creates a glow effect around it. When we have anti-aliasing on, the shader seems to flip. We are trying to include the fix from the example from Unity - Manual: Writing shaders for different graphics APIs but are not having any luck. Any help would be greatly appreciated.

        CGPROGRAM
		#pragma vertex vert
        #pragma fragment frag
        #include "UnityCG.cginc"
        
        fixed4 _Color;
        sampler2D _CameraDepthTexture;

		struct appdata {
			float4 vertex : POSITION;
			float3 normal : NORMAL;
		};

        struct v2f {
            float4 vertex : POSITION;
            float4 projPos : TEXCOORD0;
        };
 
        v2f vert( appdata v ) {        
            v2f o;
            o.vertex = mul( UNITY_MATRIX_MVP, v.vertex );

			float3 norm = mul((float3x3)UNITY_MATRIX_IT_MV, v.normal);
			float2 offset = TransformViewToProjection(norm.xy);

			o.vertex.xy += offset * o.vertex.z * 0;
            o.projPos = ComputeScreenPos(o.vertex);

            return o;
        }

        fixed4 frag( v2f i ) : SV_Target {          
            float depthVal = LinearEyeDepth (tex2Dproj(_CameraDepthTexture, UNITY_PROJ_COORD(i.projPos)).r);
            float zPos = i.projPos.z;
            
            float occlude = step( zPos, depthVal );         
            return fixed4(  occlude * _Color.rgb * _Color.a, occlude);
        }
        ENDCG
    }
    Pass {		
		Blend One OneMinusDstColor // Soft Additive
	
		CGPROGRAM
        #pragma vertex vert_img
        #pragma fragment frag
        #pragma fragmentoption ARB_precision_hint_fastest
        #include "UnityCG.cginc"
        
        sampler2D _MainTex;
        sampler2D _OccludeMap;
        
        half4 frag(v2f_img IN) : COLOR {
            return tex2D (_MainTex, IN.uv) - tex2D(_OccludeMap, IN.uv);
        }
		ENDCG
    }
    Pass {
        CGPROGRAM
        #pragma vertex vert_img
        #pragma fragment frag
        #pragma fragmentoption ARB_precision_hint_fastest
        #include "UnityCG.cginc"
        
        sampler2D _MainTex;
        sampler2D _OccludeMap;
        
        half4 frag(v2f_img IN) : COLOR {
            return tex2D (_MainTex, IN.uv) + tex2D(_OccludeMap, IN.uv);
        }
        ENDCG
    }
} 
FallBack "Diffuse"

After much fiddling around I have figured out the solution.

CGINCLUDE

uniform float4 _MainTex_TexelSize;

ENDCG 

SubShader {
	Pass {
		Tags {"Queue"="Transparent"}
        ZWrite On ZTest Always Blend OneMinusDstColor One
    
        CGPROGRAM
		#pragma vertex vert
        #pragma fragment frag
        #include "UnityCG.cginc"
        
        fixed4 _Color;
        sampler2D _CameraDepthTexture;

		struct appdata {
			float4 vertex : POSITION;
			float3 normal : NORMAL;
		};

        struct v2f {
            float4 vertex : POSITION;
            float4 projPos : TEXCOORD0;
        };
 
        v2f vert( appdata v ) {        
            v2f o;
            o.vertex = mul( UNITY_MATRIX_MVP, v.vertex );

			float3 norm = mul((float3x3)UNITY_MATRIX_IT_MV, v.normal);
			float2 offset = TransformViewToProjection(norm.xy);

			o.vertex.xy += offset * o.vertex.z * 0;
            o.projPos = ComputeScreenPos(o.vertex);

            return o;
        }

        fixed4 frag( v2f i ) : SV_Target {          
            float depthVal = LinearEyeDepth (tex2Dproj(_CameraDepthTexture, UNITY_PROJ_COORD(i.projPos)).r);
            float zPos = i.projPos.z;
            
            float occlude = step( zPos, depthVal );         
            return fixed4(  occlude * _Color.rgb * _Color.a, occlude);
        }
        ENDCG
    }
    Pass {		
	Blend One OneMinusDstColor // Soft Additive
	
		CGPROGRAM
        #pragma vertex vert_img
        #pragma fragment frag
        #pragma fragmentoption ARB_precision_hint_fastest
        #include "UnityCG.cginc"
        
        sampler2D _MainTex;
        sampler2D _OccludeMap;
        
        half4 frag(v2f_img IN) : COLOR {
			#if UNITY_UV_STARTS_AT_TOP
			if (_MainTex_TexelSize.y < 0)
					IN.uv.y = 1-IN.uv.y;
			#endif

            return tex2D (_MainTex, IN.uv) - tex2D(_OccludeMap, IN.uv);
        }
		ENDCG
    }
    Pass {
        CGPROGRAM
        #pragma vertex vert_img
        #pragma fragment frag
        #pragma fragmentoption ARB_precision_hint_fastest
        #include "UnityCG.cginc"
        
        sampler2D _MainTex;
        sampler2D _OccludeMap;
        
        half4 frag(v2f_img IN) : COLOR {
			
			float4 tempTex = tex2D (_MainTex, IN.uv);

			#if UNITY_UV_STARTS_AT_TOP
			if (_MainTex_TexelSize.y < 0)
				IN.uv.y = 1-IN.uv.y;
			#endif
			
            return tempTex + tex2D(_OccludeMap, IN.uv);
        }
        ENDCG
    }
} 
FallBack "Diffuse"

}