Details
-
Technical task
-
Resolution: Won't Do
-
P2: Important
-
None
-
None
Description
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.
Example:
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
BOUL-534
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.
Attachments
Issue Links
- is required for
-
QT3DS-766 Make Qt Quick Studio 3D run on H3+Boot2Qt
- Closed