With the latest Samsung Galaxy S6 android 5.1 update pushed out it turns out that disabling vsync with eglSwapInterval completely breaks rendering.
It looks like it allows a handful of frames to swap out successfully but then eventually just stops swapping correctly.
I've completely disabled the ability to disable vsync in my project here https://github.com/dolphin-emu/dolphin/pull/2917
I have a working example that I can post if needed, but it should be fairly easy to reproduce.
Thanks for reporting - I'll raise with the driver team.
Pete