我要理解 EGLContext TLS 的实现原理

2018-09-08  本文已影响0人  1999c1b720cd

背景

问题

数据结构

pthread 和 EGLContext

pthread 和 EGLContext 数据结构关系

基本执行流程如图

pthread 调用流程
# 查看某个进程通过 pthread 创建的栈区域
generic_x86:/data/data/com.example.guangli.demo $ cat /proc/18442/maps | grep stack
# 用于栈溢出检查的 1 页内存。没有读写、执行属性,故栈溢出会段错误
cee83000-cee84000 ---p 00000000 00:00 0 [anon:thread stack guard page]
# 线程 18486 对应的栈。大小 0xFB000 字节,大约 1 MB 
cee85000-cef80000 rw-p 00000000 00:00 0 [stack:18486]
...
e3b87000-e3b88000 ---p 00000000 00:00 0 [anon:thread stack guard page]
e3b89000-e3c84000 rw-p 00000000 00:00 0 [stack:18448]

基本操作

eglMakeCurrent 时序图

eglMakeCurrent.png

练习题

答案

总结

上一篇 下一篇

猜你喜欢

热点阅读