iMX6 glLinkProgram segmentation fault

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

iMX6 glLinkProgram segmentation fault

600 次查看
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 回复

464 次查看
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 项奖励