Unityのピクセルシェーダで右ビットシフト演算を行うと、floatでエミュレートされて実行されるため、Android(OpenGL ES3)における結果が不定になります。

vec = (vec >> 3);


この問題を回避するには、以下のように記述します。

vec = int(floor(vec/8.0));


また、右ビットシフト以外のビット演算は正常に動作します。

vec = (vec & 0x7);


Windows、Mac、iOSでは右ビットシフト演算も問題なく正確な値が取得可能です。