To debug mobile browser webgl contexts, console add-ons such as Eruda
will not show gpu errors:
<script src="https://cdn.jsdelivr.net/npm/eruda"></script>
<script>eruda.init();</script>
To see them, navigate to chrome://gpu
. A log will be the last information on the page. In my case, the log was as big as it could be, starting at 1/5th of the page.
Found out that my textures needed to be a power of 2. Power of 2 textures fixed the black rendering problem.