Meshes drawn using DrawMesh stops receive shadows on Android

I’m developing a game for Oculus Quest2 hat runs on Android. Using Unity 2020…2.0b14.

I draw grass using DrawMesh. At max it draws around 600 meshes per frame.

My problem is after some roaming around grass stops receiving shadows. It receives them at the start of game, but stops after some time.

Is this a bug or its some performance saving feature of android builds?

I specify it to do not cast shadows, but receive them. But I don’t pass MaterialPropertyBlock into it, just Null. Can this cause this problem?

Graphics.DrawMesh(grassMesh, grassMatrix, mat, 0, cam, 0, null, false, true, false);

Found a possible fix for this behavior. You need to add basically empty ShadowCaster pass to your shader. Then receiving shadows dont brake so far.

Pass
        {
            Cull Off
            Tags {"LightMode" = "ShadowCaster"}
       
            CGPROGRAM
            #pragma vertex vert
            #pragma fragment frag
            #pragma multi_compile_shadowcaster
            #include "UnityCG.cginc"
       
            struct v2f {
            };
       
            v2f vert(appdata_base v)
            {
                v2f o;
                return o;
            }
       
            float4 frag(v2f i) : SV_Target
            {
                return 0;
            }
            ENDCG
        }

It will not enable shadow casting because all shadow caster code was deleted, but it some how prevents shadow receiving to break.