As shown below, my shader use a diffuse map, a metallic/gloss/AO map.
My shader work correctly last week end, but stop working this Monday.
I simplify it until it become a one liner, and find out that sampling metallic_gloss map give diffuse result:
gl_FragColor = vec4(texture2D(metallic_gloss, uv).rgb, 1);
Weird enough, model preview window give correct result of sampling diffuse / metallic_gloss map:
The first image above is sample of gloss metallic map, the image below is diffuse map: