使用OpenGL循环播放一系列的图片,结果直接崩溃libGLESv1_CM_tegra.so (glDisable)
stackoverflow 看到类似的讨论:
http://stackoverflow.com/questions/8846062/jogl-native-crash-on-call-to-gldisable
像我这里的需求:
既需要手势控制播放,又需要循环播放。
播放的全部是一个个不同的图片。
图片是一层层的, 比如某个位置有一闪闪的小星星。
这时候如何用OpenGL做不会出现这样的崩溃呢?
05-07 18:15:05.470: I/DEBUG(222): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
05-07 18:15:05.470: I/DEBUG(222): Build fingerprint: 'samsung/GT-P7510/GT-P7510:3.2/HTJ85B/ZCLA1:user/release-keys'
05-07 18:15:05.470: I/DEBUG(222): pid: 4460, tid: 4468 >>> com.ghj1976.peugeot <<<
05-07 18:15:05.470: I/DEBUG(222): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr ffe5027c
05-07 18:15:05.470: I/DEBUG(222): r0 ffe5027c r1 00000000 r2 001d01a0 r3 00000000
05-07 18:15:05.470: I/DEBUG(222): r4 00000de1 r5 81f1a1ac r6 001d01a0 r7 00000000
05-07 18:15:05.470: I/DEBUG(222): r8 5c3d8b78 r9 40060e7c 10 40060e64 fp fffffe90
05-07 18:15:05.470: I/DEBUG(222): ip 00000000 sp 5c3d8b58 lr aff10cb4 pc 81f0e810 cpsr a8000030
05-07 18:15:05.470: I/DEBUG(222): dump around R0:
05-07 18:15:05.470: I/DEBUG(222): ffe5027c: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
05-07 18:15:05.470: I/DEBUG(222): ffe5029c: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
05-07 18:15:05.470: I/DEBUG(222): ffe502bc: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
05-07 18:15:05.470: I/DEBUG(222): ffe502dc: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
05-07 18:15:05.470: I/DEBUG(222): ffe502fc: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
05-07 18:15:05.480: I/DEBUG(222): dump around R2:
05-07 18:15:05.480: I/DEBUG(222): 001d01a0: 00000505 001d4828 00000001 00000010 001d3620 00000000 00000002 001d36a8
05-07 18:15:05.480: I/DEBUG(222): 001d01c0: 00000000 00000002 001d4c30 00000000 00000002 001d4cb8 00000000 00000001
05-07 18:15:05.480: I/DEBUG(222): 001d01e0: 001d4d00 00000000 00000001 001d4d48 00000000 00000001 001d4d90 00000000
05-07 18:15:05.480: I/DEBUG(222): 001d0200: 00000001 001d4dd8 00000000 00000001 001d4e20 00000000 00000001 001d4e68
05-07 18:15:05.480: I/DEBUG(222): 001d0220: 00000000 00000001 001d4eb0 00000000 00000001 001d4ef8 00000000 00000001
05-07 18:15:05.480: I/DEBUG(222): dump around R5:
05-07 18:15:05.480: I/DEBUG(222): 81f1a1ac: 00000000 00000000 00000000 80e03744 80e02d90 80e02d98 80e03784 80e05934
05-07 18:15:05.480: I/DEBUG(222): 81f1a1cc: 80e05948 aff188c5 80e0698c aff0cdc8 aff19f95 aff184a1 aff180c1 80e06668
05-07 18:15:05.480: I/DEBUG(222): 81f1a1ec: 80e05a98 80e05940 aff0c8fc 80e05944 80e0665c 80e037a4 aff289a9 80e03764
05-07 18:15:05.480: I/DEBUG(222): 81f1a20c: aff0cc28 aff0d090 aff0cfb4 80e064d4 80e064d8 80e02d94 80e02f10 aff0cef0
05-07 18:15:05.480: I/DEBUG(222): 81f1a22c: aff0cf9c aff1cead 80f04611 80f045d5 80f04631 80f045fd 80f04621 80f045e9
05-07 18:15:05.480: I/DEBUG(222): dump around R6:
05-07 18:15:05.480: I/DEBUG(222): 001d01a0: 00000505 001d4828 00000001 00000010 001d3620 00000000 00000002 001d36a8
05-07 18:15:05.480: I/DEBUG(222): 001d01c0: 00000000 00000002 001d4c30 00000000 00000002 001d4cb8 00000000 00000001
05-07 18:15:05.480: I/DEBUG(222): 001d01e0: 001d4d00 00000000 00000001 001d4d48 00000000 00000001 001d4d90 00000000
05-07 18:15:05.480: I/DEBUG(222): 001d0200: 00000001 001d4dd8 00000000 00000001 001d4e20 00000000 00000001 001d4e68
05-07 18:15:05.490: I/DEBUG(222): 001d0220: 00000000 00000001 001d4eb0 00000000 00000001 001d4ef8 00000000 00000001
05-07 18:15:05.490: I/DEBUG(222): dump around R8:
05-07 18:15:05.490: I/DEBUG(222): 5c3d8b78: 0017a5d0 00000001 5c3d8c18 40060e78 590cf008 0017a5d0 5c3d8b98 aca4120b
05-07 18:15:05.490: I/DEBUG(222): 5c3d8b98: 40060e78 5ab79418 ad32c4b8 5c3d8c18 4005908c 40060e94 5c3d8c10 402a8ef0
05-07 18:15:05.490: I/DEBUG(222): 5c3d8bb8: aca11f00 aca16f60 00000000 5c3d8c10 00000001 001f9e38 0017a5d8 0001dbc0
05-07 18:15:05.490: I/DEBUG(222): 5c3d8bd8: 00002000 acaa11b8 fffffe90 aca1be20 5c3d8c10 0017a5d0 aca1bd90 5929341c
05-07 18:15:05.490: I/DEBUG(222): 5c3d8bf8: fffffe78 aca1aed4 00000000 00000000 5c3d8ed8 aca16bdc 59a5a178 40060d94
05-07 18:15:05.490: I/DEBUG(222): dump around R9:
05-07 18:15:05.490: I/DEBUG(222): 40060e7c: 00000de1 40060ee8 40058094 59294f4c 4005908c 00000000 4095cca0 408cbdc0
05-07 18:15:05.490: I/DEBUG(222): 40060e9c: 00000de1 00000007 3f200000 00000000 00000000 00000002 00000004 00000005
05-07 18:15:05.490: I/DEBUG(222): 40060ebc: 40959538 408989c0 00000000 00000000 44700000 44150000 40060f24 40057c50
05-07 18:15:05.490: I/DEBUG(222): 40060edc: 59292538 40058094 00000000 40959538 408989c0 00000000 00000000 44700000
05-07 18:15:05.490: I/DEBUG(222): 40060efc: 44150000 409597d0 408cc310 40899168 408989c0 40060f50 40058b5c 592926e4
05-07 18:15:05.490: I/DEBUG(222): dump around R10:
05-07 18:15:05.490: I/DEBUG(222): 40060e64: 40060e94 4005908c 590cf008 0017a730 00000000 408989c0 00000de1 40060ee8
05-07 18:15:05.490: I/DEBUG(222): 40060e84: 40058094 59294f4c 4005908c 00000000 4095cca0 408cbdc0 00000de1 00000007
05-07 18:15:05.490: I/DEBUG(222): 40060ea4: 3f200000 00000000 00000000 00000002 00000004 00000005 40959538 408989c0
05-07 18:15:05.490: I/DEBUG(222): 40060ec4: 00000000 00000000 44700000 44150000 40060f24 40057c50 59292538 40058094
05-07 18:15:05.490: I/DEBUG(222): 40060ee4: 00000000 40959538 408989c0 00000000 00000000 44700000 44150000 409597d0
05-07 18:15:05.490: I/DEBUG(222): d0 000000003f800000 d1 000000003f800000
05-07 18:15:05.490: I/DEBUG(222): d2 00000000bf800000 d3 3f8000003f800000
05-07 18:15:05.490: I/DEBUG(222): d4 0000000000000000 d5 0000000000000000
05-07 18:15:05.490: I/DEBUG(222): d6 3f80000000000000 d7 000000003f800000
05-07 18:15:05.490: I/DEBUG(222): d8 0000000000000000 d9 0000000000000000
05-07 18:15:05.490: I/DEBUG(222): d10 0000000000000000 d11 0000000000000000
05-07 18:15:05.490: I/DEBUG(222): d12 0000000000000000 d13 0000000000000000
05-07 18:15:05.490: I/DEBUG(222): d14 0000000000000000 d15 0000000000000000
05-07 18:15:05.490: I/DEBUG(222): scr 60000012
05-07 18:15:05.610: I/DEBUG(222): #00 pc 0000e810 /system/lib/egl/libGLESv1_CM_tegra.so
05-07 18:15:05.610: I/DEBUG(222): #01 pc 0000e988 /system/lib/egl/libGLESv1_CM_tegra.so (glDisable)
05-07 18:15:05.610: I/DEBUG(222): #02 pc 00011d34 /system/lib/libdvm.so
05-07 18:15:05.610: I/DEBUG(222): #03 pc 00041208 /system/lib/libdvm.so (dvmCallJNIMethod_virtualNoRef)
05-07 18:15:05.610: I/DEBUG(222): #04 pc 00016f5c /system/lib/libdvm.so
05-07 18:15:05.610: I/DEBUG(222): #05 pc 0001be1c /system/lib/libdvm.so (dvmMterpStd)
05-07 18:15:05.610: I/DEBUG(222): #06 pc 0001aed0 /system/lib/libdvm.so (dvmInterpret)
05-07 18:15:05.610: I/DEBUG(222): #07 pc 00058164 /system/lib/libdvm.so (dvmCallMethodV)
05-07 18:15:05.610: I/DEBUG(222): #08 pc 0005818c /system/lib/libdvm.so (dvmCallMethod)
05-07 18:15:05.610: I/DEBUG(222): #09 pc 0004c0ea /system/lib/libdvm.so
05-07 18:15:05.610: I/DEBUG(222): #10 pc 00011990 /system/lib/libc.so (__thread_entry)
05-07 18:15:05.610: I/DEBUG(222): #11 pc 000114e4 /system/lib/libc.so (pthread_create)
05-07 18:15:05.620: I/DEBUG(222): libc base address: aff00000
05-07 18:15:05.620: I/DEBUG(222): code around pc:
05-07 18:15:05.620: I/DEBUG(222): 81f0e7f0 d803d042 429c3b21 e043d174 5360f648
05-07 18:15:05.620: I/DEBUG(222): 81f0e800 d019429c 428c1d59 e007d16c ff52f7fa
05-07 18:15:05.620: I/DEBUG(222): 81f0e810 eb066803 f88c0c03 e0aa785e ff4af7fa
05-07 18:15:05.620: I/DEBUG(222): 81f0e820 18726801 7860f882 f7fae0a3 6803ff43
05-07 18:15:05.620: I/DEBUG(222): 81f0e830 f88018f0 e09c7862 ff3cf7fa eb066802
05-07 18:15:05.620: I/DEBUG(222): code around lr:
05-07 18:15:05.620: I/DEBUG(222): aff10c94 08bd87f0 e5964000 e5967000 e2144903
05-07 18:15:05.620: I/DEBUG(222): aff10ca4 1a00000f f57ff05f e5965000 ebffed97
05-07 18:15:05.620: I/DEBUG(222): aff10cb4 e2055a02 e3853001 e1500003 0a000006
05-07 18:15:05.620: I/DEBUG(222): aff10cc4 e5865000 e1a00006 e1a01005 e3a02001
05-07 18:15:05.620: I/DEBUG(222): aff10cd4 ebfffede e1a00004 e8bd87f0 e3a00000
05-07 18:15:05.620: I/DEBUG(222): stack:
05-07 18:15:05.620: I/DEBUG(222): 5c3d8b18 00000505
05-07 18:15:05.620: I/DEBUG(222): 5c3d8b1c 001d01a0
05-07 18:15:05.620: I/DEBUG(222): 5c3d8b20 00000000
05-07 18:15:05.620: I/DEBUG(222): 5c3d8b24 5c3d8b78
05-07 18:15:05.620: I/DEBUG(222): 5c3d8b28 40060e7c
05-07 18:15:05.620: I/DEBUG(222): 5c3d8b2c 40060e64
05-07 18:15:05.620: I/DEBUG(222): 5c3d8b30 fffffe90
05-07 18:15:05.620: I/DEBUG(222): 5c3d8b34 824077b0 /system/lib/egl/libGLESv2_tegra.so
05-07 18:15:05.620: I/DEBUG(222): 5c3d8b38 001d01a0
05-07 18:15:05.620: I/DEBUG(222): 5c3d8b3c 81f1a1ac
05-07 18:15:05.620: I/DEBUG(222): 5c3d8b40 001d01a0
05-07 18:15:05.620: I/DEBUG(222): 5c3d8b44 81f096cb /system/lib/egl/libGLESv1_CM_tegra.so
05-07 18:15:05.620: I/DEBUG(222): 5c3d8b48 001d01a0
05-07 18:15:05.620: I/DEBUG(222): 5c3d8b4c 00000000
05-07 18:15:05.620: I/DEBUG(222): 5c3d8b50 df002777
05-07 18:15:05.620: I/DEBUG(222): 5c3d8b54 e3a070ad
05-07 18:15:05.620: I/DEBUG(222): #00 5c3d8b58 5c3d8b98
05-07 18:15:05.620: I/DEBUG(222): 5c3d8b5c 00000000
05-07 18:15:05.620: I/DEBUG(222): 5c3d8b60 5c3d8c18
05-07 18:15:05.620: I/DEBUG(222): 5c3d8b64 40060e84
05-07 18:15:05.620: I/DEBUG(222): 5c3d8b68 5c3d8b78
05-07 18:15:05.620: I/DEBUG(222): 5c3d8b6c 81f0e98d /system/lib/egl/libGLESv1_CM_tegra.so
05-07 18:15:05.620: I/DEBUG(222): #01 5c3d8b70 5c3d8b98
05-07 18:15:05.620: I/DEBUG(222): 5c3d8b74 aca11d38 /system/lib/libdvm.so
05-07 18:15:06.880: I/DEBUG(222): dumpstate /data/log/dumpstate_app_native.txt
相关推荐
libEGL.so和libGLESv2.so软链接失效?手把手教你修复树莓派上的QT程序警告
本文详细解析了树莓派上QT程序出现`libEGL warning: DRI2 :failed to authenticate`警告的原因,并提供了三种修复方案:重建系统软链接、配置动态链接器路径和安装兼容Mesa驱动。通过系统级诊断和权限验证,帮助开发者彻底解决图形库链接问题,确保QT程序正常运行。
OpenGL ES与EGL的关系(二十一),安卓面试题2018
EGLSurface surface; EGLContext context; //调用eglGetDisplay EGLDisplay display = eglGetDisplay(EGL_DEFAULT_DISPLAY); eglInitialize(display, 0, 0); eglChooseConfig(display, attribs, &config, 1, &numConfigs); //调用eglCreateWindowSurface将Surface s转换为本地窗口
QT5+OpenGL es2 + eglfs交叉编译实战:RK3399平台疑难解析与优化
本文详细解析了在RK3399平台上进行QT5、OpenGL ES2与eglfs交叉编译的实战过程。针对GPU库路径冲突、依赖库配置等核心疑难问题,提供了从环境搭建、configure参数优化到运行时环境变量配置的系统性解决方案,帮助开发者高效完成嵌入式图形应用的部署与优化。
Ubuntu下编译安装TurboVNC实现GPU加速远程OpenGL
TurboVNC是一种面向高性能图形计算的远程桌面协议,其核心价值在于通过OpenGL上下文代理与GPU硬件协同,为科学可视化、CAD、分子建模等GUI密集型应用提供低延迟、高帧率的远程交互能力。它不同于传统VNC,依赖NVIDIA驱动、EGLStream、libjpeg-turbo及Mesa OpenGL库的精准版本匹配,技术原理涉及Xorg DRI3协议、纹理共享机制与JPEG2000压缩加速。在Ubuntu科研服务器(22.04/24.04 LTS)上,官方deb包缺失server组件且无GPU支持,
QT5+OpenGL es2 + eglfs交叉编译安装(RK3399)
最近由于项目的需要,需要在aarch64 Ubuntu16.04中安装QT5,本来系统中自带了一个qt5,奈何项目要求必须是qt5.12的版本并且需要包含opengl和eglfs的库,所以只能重新移植QT5.12到开发板中,下面把移植过程记录下。 下载QT5源码 下载地址:https://download.qt.io/archive/qt/ 找到自己需要的版本进行下载。 图中标出来的就是源码下载链接。随便下载哪一个都行。下载后放入ubuntu(我用的Ubuntu 16.04)系统中进行解压。 解压



