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

Arm Mali Gpu(Mali-T880) issue

Hi,
  I compile own chrome_public_apk based on M74 on Android, and when running on Arm Mali gpu(Mali-T880) device,  it has two issues:
  1. gl::NativeViewGLSurfaceEGL::SwapBuffers crash frequently, the back trace as follow:
    #00 pc 0004911c pthread_mutex_lock LINE:libc.so
    #01 pc 002bebbc osup_sync_object_wait LINE:libGLES_mali.so
    #02 pc 005edca4 /system/vendor/lib/egl/libGLES_mali.so
    #03 pc 002f5a38 /system/vendor/lib/egl/libGLES_mali.so
    #04 pc 002f6004 /system/vendor/lib/egl/libGLES_mali.so
    #05 pc 002f60e0 /system/vendor/lib/egl/libGLES_mali.so
    #06 pc 0034e494 /system/vendor/lib/egl/libGLES_mali.so
    #07 pc 002d1f8c /system/vendor/lib/egl/libGLES_mali.so
    #08 pc 002d1b9c eglp_swap_buffers LINE:libGLES_mali.so
    #09 pc 00009556 eglSwapBuffersWithDamageKHR LINE:libEGL.so
    #10 pc 00a9a80e gl::NativeViewGLSurfaceEGL::SwapBuffers(base::RepeatingCallback<void (gfx::PresentationFeedback const&)> const&) 
    #11 pc 00c8f646 gpu::PassThroughImageTransportSurface::SwapBuffers(base::RepeatingCallback<void (gfx::PresentationFeedback const&)> const&)
    #12 pc 00c29802 gpu::gles2::GLES2DecoderImpl::DoSwapBuffers(unsigned long long, unsigned int) 
    #13 pc 00c13942 gpu::gles2::GLES2DecoderImpl::HandleSwapBuffers(unsigned int, void const volatile*)
    #14 pc 00c1d490 gpu::error::Error gpu::gles2::GLES2DecoderImpl::DoCommandsImpl<false>(unsigned int, void const volatile*, int, int*)
  2. gpu::GpuWatchdogThread::DeliberatelyTerminateToRecoverFromHang() , gpu thread in gpu process blocked at glFinish, stack trace as follow:
    00 pc 00017408 syscall LINE:libc.so
    01 pc 0001db65 sem_wait LINE:libc.so
    02 pc 0039c630 gles_fbp_wait_for_events LINE:libGLES_mali.so
    03 pc 00397304 gles_fb_finish LINE:libGLES_mali.so
    04 pc 00c1d5a3 gpu::gles2::GLES2DecoderImpl::DoFinish()
    05 pc 00c0bdb9 gpu::gles2::GLES2DecoderImpl::HandleFinish(unsigned int, void const volatile*)
    06 pc 00c1d491 gpu::error::Error gpu::gles2::GLES2DecoderImpl::DoCommandsImpl<false>(unsigned int, void const volatile*, int, int*)
    07 pc 00bf4379 gpu::CommandBufferService::Flush(int, gpu::AsyncAPIInterface*)
    08 pc 00c8a623 gpu::CommandBufferStub::OnAsyncFlush(int, unsigned int)

Is there any suggestion? Thanks