This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

[GLSL] [G71] Fragment shader bug on Mali G71

Hi there,

We are currently experiencing an issue with most of our shaders on the Samsung S8. We have tested these shaders on a number of desktop and mobile devices and have yet to see any other device show the same issue. No matter what attempts we make to adjust the shaders functionality / change precision of types or move away from uniforms we are finding the graphic never renders, with no errors thrown at complication or bind time.

Below is an example of one of these shaders :

#version 300 es
uniform sampler2D primaryTexture;
uniform vec3 HSVOffset;

in vec3 v_Position;
in vec4 v_Color;
in vec2 v_TexCoordinate;

out vec4 fragmentColor;

vec3 rgb2hsv(vec3 c)
{
    vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);
    vec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy);
    vec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx);

    float d = q.x - min(q.w, q.y);
    float e = 1.0e-10;
    return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x);
}

vec3 hsv2rgb(vec3 c)
{
    vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
    vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);
    return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);
}

void main()
{ 
        vec4 textureColour = texture(primaryTexture,v_TexCoordinate)*v_Color;
        vec3 hsv = rgb2hsv(textureColour.xyz);
        hsv.x = hsv.x + HSVOffset.x;
        hsv.y = hsv.y * HSVOffset.y;
        hsv.z = hsv.z * HSVOffset.z;
        vec3 finalColour = hsv2rgb(hsv);
        fragmentColor = vec4(finalColour,textureColour.w);
}

Is there something explicitly different to the Mali G71 that i have missed whilst trying to resolve this issue or is there a known bung in the driver, if so please advise.

Parents
  • FYI, we are also experiencing rendering bugs specific to the Samsung S8 Mali G71, black is appearing.  I've been unable to isolate the problem shader code so far, still working on it.

Reply
  • FYI, we are also experiencing rendering bugs specific to the Samsung S8 Mali G71, black is appearing.  I've been unable to isolate the problem shader code so far, still working on it.

Children
No data