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

Segmentation fault when accessing simple stuct

I'm getting a SIGSEGV at runtime on an Android 5.1 RK3288 device with a Mali-T760 GPU. The same shader also causes a segmentation fault in the offline compiler and I have reduced the problem to the following vertex shader:

#version 300 es

invariant gl_Position;

struct MyStruct {
    float MyField;
};

void main() {
    MyStruct s;
    gl_Position = vec4(s.MyField);
}
Here is the output from malisc:
$malisc -d Mali-T600_r11p0-00rel0 --vertex shader.vs

Arm Mali Offline Compiler v6.4.0
(C) Copyright 2007-2018 Arm, Ltd.
All rights reserved.

No core specified, using "Mali-T880" as default.

No core revision specified, using "r2p0" as default.

Segmentation fault: 11
It appears to have been fixed in later versions of the driver. Is the problem documented anywhere and are there any recommended workarounds?
  • Hi Rupert, 

    The bug occurs when trying to assign structure members (directly or indirectly) to an invariant. The workaround is to either not use invariants, or ensure that no inputs to an invariant computation are structure members. 

    This bug impacts the following releases of the Bifrost family driver series: r7p0 through to r11p0.

    Kind regards, 
    Pete