4 Replies Latest reply on Jun 17, 2015 2:04 AM by tom73

    OpenGL display artifact on W7100

    tom73

        Hi all,

       

      I am facing a display issue on a w7100 card with catalyst 14.502 driver. I reduce the problem to a very simple one.

       

      Generate a RGBA32F fbo.

      Clear the fbo content to 0.

      Draw a first textured-quad in this fbo

      Draw a second textured-quad in this fbo

       

      The quads are drawn using the following fragment shader:

      uniform sampler2DRect src;

      uniform sampler2DRect dst;

       

      void main(void) {

          vec4 dst = texture2DRect(dst, gl_FragCoord.xy);

          vec4 src = texture2DRect(src, gl_TexCoord[0].xy);

          src.rgb = src.rgb * 0.5f;

          src.a = 0.5f;

       

          gl_FragColor = src + dst;

      }

       

      Doing so, I accumulate the content of the 2 quads in the destination fbo.

       

      Then, I draw the texture attached to the framebuffer on the display using the following fragment shader:

      uniform sampler2DRect src;

       

      void main(void) {

          vec4 tex = texture2DRect(src, gl_TexCoord[0].xy);

          if (tex.a != 0.0f) {

              tex /= tex.a;

          }

          gl_FragColor = tex;

      }

       

      To ensure synchronisation between the read and write operations on the framebuffer, I both try glFlush/glFinish and using glFence. None of them give me a correct result.

      I tested this very simple code on HD7700, W8000 and some other gpus, with no issues. I suppose something is wrong in my way of rendering, but there is change in the rendering behavior of Tonga family.

       

      Could you please help me in fixing this simple thing ?

       

      Regards,

      Thomas