Uploaded image for project: 'Qt 3D Studio'
  1. Qt 3D Studio
  2. QT3DS-1718 Embedded HW support of Runtime 2.x
  3. QT3DS-762

Bt2Qt OpenGL driver bugged for 3D Studio on some HW



    • Technical task
    • Resolution: Won't Do
    • P2: Important
    • None
    • OpenGL Runtime
    • None


      Bt2Qt OpenGL driver bugged for 3D Studio in H3 Premier. Reported issues and waiting for feedback.

      1. Having function declaration in vertex or fragment shader the code won’t compile.


      void frag(); // declare

      void main()

      { frag(); }

      void frag() {/code/} // define

      Gives errors:

      0:182 Unexpected syntax error;

      Function ‘frag’ has no body.

      2. In Compute shaders image2d won't compile unless it has a readonly or writeonly qualifier


      3. Partial derivates don’t compile

      Partial derivates in fragment shader don't compile with vec3 as expression when called in a function.

      The shader compiler gives that there was an error and it failed to compile but the error string is empty.


      Fragment shader code that produces the issue: 

      mat3 tangentFrame( vec3 N, vec3 p )


          vec3 dp1 = dFdx( p ); // fails to compile

          vec3 dp2 = dFdy( p ); // fails to compile


          vec3 dp2perp = cross( dp2, N );

          vec3 dp1perp = cross( N, dp1 );


          vec3 T = normalize(dp1perp);

          vec3 B = normalize(dp2perp);

          return mat3( T , B , N );



      This is major issue. We rely on the partial derivates for our light probe to work and only workaround was to disable the feature for H3.

      4. If the load is heavy enough we get random glitches on the screen

      Segments of the screen get bad data drawn to the render buffer, see the attached picture.

      This is major issue. Enabling 4xMSAA gives us easy way to reproduce this, glitching can occur also with it disabled if the load is heavy otherwise. In both cases with our test render we reach roughly 20fps so that might partially cause the issues. We have no explicit memory barriers when doing real-time rendering, compute shaders are only used at pre-render stage.


        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.



              e0150566 Janne Koskinen
              e0150566 Janne Koskinen
              0 Vote for this issue
              5 Start watching this issue



                Gerrit Reviews

                  There are no open Gerrit changes