iMX6 glLinkProgram segmentation fault

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

iMX6 glLinkProgram segmentation fault

1,305件の閲覧回数
hartmutbehrensf
Contributor I

Hi,

In my application I use GL_RGBA32F and GL_RGBA32I textures as a mechanism to upload parameters to a shader (filter parameters are set to GL_NEAREST). The parameter values are retrieved in the shader using the GLSL snippet shown below. This mechanism has been tested and works well on many platforms, but on the iMX6 a segmentation fault is generated when glLinkProgram is called. However no GL error is reported, and the GL program info log is also empty.

Is anyone able to provide any insight and/or workaround for this problem ?

uniform sampler2D u_floatSampler;
uniform isampler2D u_integerSampler;

mat4 getModelMatrix(uint Index) { return mat4(texelFetch( u_floatSampler, ivec2( (Index * uint(13)) + uint(0), 0), 0),
texelFetch( u_floatSampler, ivec2( (Index * uint(13)) + uint(1), 0), 0),
texelFetch( u_floatSampler, ivec2( (Index * uint(13)) + uint(2), 0), 0),
texelFetch( u_floatSampler, ivec2( (Index * uint(13)) + uint(3), 0), 0)); }

mat4 getPreviousModelMatrix(uint Index) { return mat4(texelFetch( u_floatSampler, ivec2( (Index * uint(13)) + uint(4), 0), 0),
texelFetch( u_floatSampler, ivec2( (Index * uint(13)) + uint(5), 0), 0),
texelFetch( u_floatSampler, ivec2( (Index * uint(13)) + uint(6), 0), 0),
texelFetch( u_floatSampler, ivec2( (Index * uint(13)) + uint(7), 0), 0)); }

mat4 getInverseModelMatrix(uint Index) { return mat4(texelFetch( u_floatSampler, ivec2( (Index * uint(13)) + uint(8), 0), 0),
texelFetch( u_floatSampler, ivec2( (Index * uint(13)) + uint(9), 0), 0),
texelFetch( u_floatSampler, ivec2( (Index * uint(13)) + uint(10), 0), 0),
texelFetch( u_floatSampler, ivec2( (Index * uint(13)) + uint(11), 0), 0)); }

int getMaterialID(uint Index) { return int(texelFetch( u_integerSampler, ivec2( (Index * uint(13)) + uint(12), 0), 0).x); }
int getObjectID(uint Index) { return int(texelFetch( u_integerSampler, ivec2( (Index * uint(13)) + uint(12), 0), 0).y); }
int getSplineID(uint Index) { return int(texelFetch( u_integerSampler, ivec2( (Index * uint(13)) + uint(12), 0), 0).z); }

0 件の賞賛
返信
1 返信

1,169件の閲覧回数
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hi Hartmut

Looks like this is related to other thread, Please check:

https://community.nxp.com/thread/453853 

Regards

0 件の賞賛
返信