imx6q GPU problem

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

imx6q GPU problem

1,776 Views
gangli
Contributor II

Our board is based on SabreSD(i.MX6Q), using Android JB4.3_1.1.0(Updated to 1.1.1 recently).

We use the GPU(gc2000) inside i.MX6Q to do some image processing, mostly making use of the fragement shader with glsl. Everything was okay when it started. But when the number of rows came to a certain level(maybe 200 or less), the program crashed.

After I updated Android JB4.3 from 1.1.0 to 1.1.1, some of our programs that used to crash work, while the others(with more rows) still crash.

So I wonder to know if there is limit on the number of lines of the fragement shader program?

Labels (3)
Tags (4)
0 Kudos
6 Replies

1,050 Views
gangli
Contributor II

backtrace when program crashed,

It looks like the program crashed when libGAL.so trying to Optimize the Shader code in gcOptimizeShader.

Build fingerprint: 'Freescale/sabresd_6dq/sabresd_6dq:4.3/1.1.1-rc2/20141017:eng/dev-keys'

Revision: '405522'

pid: 6118, tid: 6131, name: Thread-201  >>> com.ljgabc.clearview <<<

signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000014

    r0 0000000d  r1 00000000  r2 647dc490  r3 647e59f0

    r4 647dc4e0  r5 647892c8  r6 647e48c0  r7 00000000

    r8 64798d00  r9 00000000  sl 00000000  fp 00000007

    ip 00000006  sp 698029e0  lr 644828e9  pc 6448360a  cpsr 800f0030

    d0  0000000000000000  d1  0000000000000000

    d2  0000000000000000  d3  0000000000000000

    d4  000000003f800000  d5  3f80000000000000

    d6  0000000400000000  d7  4013333333333333

    d8  0000000000000000  d9  0000000000000000

    d10 0000000000000000  d11 0000000000000000

    d12 0000000000000000  d13 0000000000000000

    d14 0000000000000000  d15 0000000000000000

    d16 00000000005f79e8  d17 0000000000004008

    d18 4010000000000000  d19 4241c37937e08000

    d20 3fc554e7eb0eb47c  d21 bf66c0c55ca9076a

    d22 bfb1be5a93a83e1d  d23 3f50000000000000

    d24 3f62cda65e663694  d25 bf62cda764a98eab

    d26 bfbaf8e8210a415c  d27 4000000000000000

    d28 40008df2d49d41f1  d29 3fb0f4a31edab38b

    d30 3ff0000000000000  d31 3f4de16b9c24a98f

    scr 80000010

backtrace:

    #00  pc 0007d60a  /system/lib/libGAL.so

    #01  pc 0007eccf  /system/lib/libGAL.so

    #02  pc 0007f5ab  /system/lib/libGAL.so

    #03  pc 00079a27  /system/lib/libGAL.so (gcOptimizeShader+94)

    #04  pc 0007587d  /system/lib/libGAL.so (gcLinkShaders+84)

    #05  pc 0000b9cd  /system/lib/egl/libGLESv2_VIVANTE.so

    #06  pc 0001712b  /system/lib/egl/libGLESv2_VIVANTE.so (glLinkProgram+346)

    #07  pc 00006ecb  /data/app-lib/com.ljgabc.clearview-2/libclearview.so (OpenGLClearView::CreateProgram(unsigned int&)+98)

    #08  pc 00007291  /data/app-lib/com.ljgabc.clearview-2/libclearview.so (OpenGLClearView::Create()+88)

    #09  pc 00006a03  /data/app-lib/com.ljgabc.clearview-2/libclearview.so (Java_com_ljgabc_clearview_JNIInterface_setup+42)

    #10  pc 0001dc4c  /system/lib/libdvm.so (dvmPlatformInvoke+112)

    #11  pc 0004decf  /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+398)

    #12  pc 000386c9  /system/lib/libdvm.so (dvmCheckCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+8)

    #13  pc 0004f8bd  /system/lib/libdvm.so (dvmResolveNativeMethod(unsigned int const*, JValue*, Method const*, Thread*)+184)

    #14  pc 00027060  /system/lib/libdvm.so

    #15  pc 0002b5ec  /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)

    #16  pc 0005ff21  /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+292)

    #17  pc 0005ff4b  /system/lib/libdvm.so (dvmCallMethod(Thread*, Method const*, Object*, JValue*, ...)+20)

    #18  pc 00054ccb  /system/lib/libdvm.so

    #19  pc 0000ca78  /system/lib/libc.so (__thread_entry+72)

    #20  pc 0000cbf4  /system/lib/libc.so (pthread_create+208)

0 Kudos

1,050 Views
igorpadykov
NXP Employee
NXP Employee

Hi Gang

had you applied all latest JB_4.3_1.1.1 GPU patches, as attached ?

Best regards

igor

0 Kudos

1,050 Views
gangli
Contributor II

Hi igor,

     I have already applied all atest JB_4.3_1.1.1 GPU patches。 On JB_4.3_1.1.0, my app wouldn't run at all, but on JB_4.3_1.1.1, my app sometimes run very well,  about one times out of ten.

0 Kudos

1,050 Views
igorpadykov
NXP Employee
NXP Employee

Hi Gang

had you tried to increase gpumem kernel boot parameter?

~igor

0 Kudos

1,050 Views
gangli
Contributor II

Hi, igor,

Yes, I had tried add gpumem=256M/512M to the bootargs, but nothing happened.

0 Kudos

1,048 Views
igorpadykov
NXP Employee
NXP Employee

Hi Gang

had you tried to increase vmalloc and work with

other parameters, such as

ldo_active=off/on, enable_wait_mode=off

~igor

0 Kudos