Html gles2 texture quality on android (godot 3.5)

Godot v3.5.3 for html export, render mode set to gles2

Seemingly no matter how texture import is set up, texture quality is very poor or possibly broken.It is especially noticable on normal maps.

Here’s a simplistic exported project to illustrate the issue

if opened on desktop or iOS the quality of the texture is as expected, and same as in the editor. If opened on Android, however there are big pixelated artifacts. Tested in Chrome and Safari.

image to illustrate the difference:

This is the shader form the above example to keep everything simple. Only one texture for normalmap.

shader_type spatial;

uniform sampler2D tex;

void fragment() {
    vec4 tex_color = texture(tex, UV);
	NORMALMAP = tex_color.rgb;

Had same results with built-in SpatialMatarial.

For the normal map texture import settings various compression settings and flags produce various ammout of the same artifacts.
Current settings are Uncompressed, and mipmaps disabled.

Any suggestions on how to fix this issue on android highly welcomed.
Many thanks!

Digging a bit more… the issue may be more related to roughness.

Here are two more examples

in this first one the built-in SpatialMaterial has no textures. There is a slider on the screen connected to the material’s roughness value. If opened on android and any other device it’s easy to see how at roughness = 0, everything looks the same, but at higher values on android the material still looks more glossy.

And another example with a normalmap texture added

in this one using the same slider it’s visible how on android some parts of the material don’t turn rough as roughness increases, creating glossy artefacts. While on desktop or ios the roughness is uniform across the surface.

Did a quick test with a dev release of godot (v4.3 dev 3), and the same issue doesn’t exist on android, though textures don’t work at all unless set to VRAM Uncompressed

Possible bug in how the shader is being processed on android with v3.5 exports?
Again any possible clues, or links to known bug reports would be much appreciated.

You may be running into Gouraud shading specular sparkles on android · Issue #55393 · godotengine/godot · GitHub.

To avoid this, disable Force Vertex in the Project Settings or change the sky background in Environment to avoid high-frequency detail (e.g. use a blurred version of the sky texture).

Thanks! Had looked into it already. Unfortunatelly, this seems to be something else.