当前位置: 首页 > news >正文

Android SurfaceFlinger——关联EGL三要素(二十七)

        通过前面的文章我们得到了 EGL 的三要素——Display、Surface 和 Context。其中,Display 是一个图形显示系统或者硬件屏幕,Surface 代表一个可以被渲染的图像缓冲区,Context 包含了 OpenGL ES 的状态信息和资源,它是执行 OpenGL 命令的环境。下一步就是调用 eglMakeCurrent() 将三者进行关联。

一、关联三要素

1、eglApi.cpp

源码位置:/frameworks/native/opengl/libs/EGL/eglApi.cpp

EGLBoolean eglMakeCurrent(EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx) {clearError();egl_connection_t* const cnx = &gEGLImpl;return cnx->platform.eglMakeCurrent(dpy, draw, read, ctx);
}

        这里同样是调用 eglApi.cpp 中的 eglMakeCurrent() 函数,同时也是调用到 egl_platform_entries.cpp 中的对应函数。 

2、egl_platform_entries.cpp

源码位置:frameworks/native/opengl/libs/EGL/egl_platform_entries.cpp

extern void setGLHooksThreadSpecific(gl_hooks_t const* value);static const implementation_map_t sPlatformImplMap[] = {{ 
http://www.lryc.cn/news/406166.html

相关文章:

  • Unity3D之TCP网络通信(客户端)
  • Kotlin 中 标准库函数
  • 【教学类-69-01】20240721铠甲勇士扑克牌(随机14个数字+字母)涂色(男孩篇)
  • Adobe“加速”创意人士开启设计新篇章
  • 释疑 803-(1)概述 精炼提纯版
  • 人工智能与机器学习原理精解【6】
  • JDK、JRE、JVM之间的关系
  • redis构建集群时,一直Waiting for the cluster to join
  • C++之类与对象(2)
  • 「树形结构」基于 Antd 实现一个动态增加子节点+可拖拽的树
  • ubuntu那些ppa源在哪
  • 20240724-然后用idea创建一个Java项目/配置maven环境/本地仓储配置
  • PaddleOCR-PP-OCRv4推理详解及部署实现(下)
  • 【Golang 面试基础题】每日 5 题(二)
  • 状态模式与订单状态机的实现
  • 【MSP430】MSP430是什么?与STM32对比哪个性能更佳?
  • Win11 操作(四)g502鼠标连接电脑不亮灯无反应
  • 自定义QDialog使用详解
  • Pytorch使用教学2-Tensor的维度
  • Interesting bug caused by getattr
  • 获取后端返回的图形验证码
  • 奇怪的Excel单元格字体颜色格式
  • 浅谈芯片验证中的仿真运行之 timescale (五)提防陷阱
  • uniapp 重置表单数据
  • 自学YOLO前置知识
  • Ubuntu18.04 编译报错: Could NOT find JNI
  • SQL labs-SQL注入(五,使用sqlmap进行cookie注入)
  • C语言——内存管理
  • Unity UGUI 之 Image和Rawimage
  • Lua 语法学习笔记