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.mzph.cn/pingmian/49153.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何发现快速发现分析生产问题SQL

Performance Schema介绍 Performance Schema提供了有关MySQL服务器内部运行的操作上的底层指标。为了解释清楚Performance Schema的工作机制,先介绍两个概念。 第一个概念是程序插桩(instrument)。程序插桩在MySQL代码中插入探测代码&#xf…

启动金运项目的方法

1.前端工程在Terminal总npm run serve 2.mongoDB数据库打开,详情见Docker进入MongoDB-CSDN博客 3.后端工程把SpringApplication播放起来

谷粒商城实战笔记-包依赖踩坑

一, java.lang.ClassNotFoundException: org.springframework.boot.context.properties.ConfigurationBeanFactoryMetadata ClassNotFoundException类似错误,都是依赖问题,特别是模块比较多,有模块相互依赖、父子依赖&#xff0c…

目标检测的即时演进:在线学习在行动

目标检测的即时演进:在线学习在行动 在线学习(Online Learning)是一种机器学习范式,它允许模型通过逐步接收数据并实时更新来学习。这种学习方式对于目标检测尤其重要,因为它允许检测系统在不断变化的环境中适应新的或…

【Rust光年纪】探究Rust异步I/O库:高性能网络应用的选择指南

构建高性能网络应用:Rust异步编程库全方位解析 前言 随着互联网的快速发展,构建高性能和可扩展的网络应用程序变得愈发重要。而异步I/O库和异步编程库在这一领域扮演着至关重要的角色。本文将对几种用于Rust语言的异步I/O库和异步编程库进行介绍和比较…

基本聚集函数和case的应用

文章目录 1.基本聚集函数(1)基本聚集函数的介绍(2)使用基本聚集函数的简单例子&#xff08;1&#xff09;查询最大年龄&#xff0c;最小年龄年龄和平均年龄<1>最大年龄<2>最小年龄<3>平均年龄 (2&#xff09;配合上where语句&#xff0c;查询女士的平均年龄(…

挽民族星光,寻家乡特色

2024年7月15日 西安工程大学计算机科学学院“筑梦乡村&#xff0c;携手同行”赴马家乔蒸面进行进一步探索调查。 实践队伍首先来到蒸面馆初步观察&#xff0c;店铺不大客流量却很多&#xff0c;虽忙的不可开交服务态度却格外热情&#xff0c;紧接着上楼参观了蒸面的制作流程与基…

Python polars学习-09 数据框关联与拼接

背景 polars学习系列文章&#xff0c;第9篇 数据框关联与拼接&#xff08;Join 、Concat&#xff09; 该系列文章会分享到github&#xff0c;大家可以去下载jupyter文件&#xff0c;进行参考学习 仓库地址&#xff1a;https://github.com/DataShare-duo/polars_learn 小编运…

2024前端面试真题【手写篇】

求几个数的总和&#xff08;2&#xff0c;3&#xff0c;4&#xff0c;5&#xff0c;6&#xff0c;6&#xff0c;7&#xff0c;7&#xff0c;8&#xff0c;8&#xff0c;8&#xff09; arr.reduce((total, currentVal, currentInd, arr)>{}, initialVal) const arr [2&#…

C++:智能指针 [unique_ptr]

文章目录 0x1 基本使用0x11 get() [ 参照auto_ptr ]0x12 release() [ 参照auto_ptr ]0x13 reset() [ 参照auto_ptr ]0x14 get_deleter() [ 新增 ]0x15 operator bool [ 新增 ]0x16 swap() [ 新增 ]0x2 make_unique函数 [unique_ptr在C11引入&#xff0c;make_unique在C14引入]0…

JAVA笔记十四

十四、集合 1.集合概述 (1)集合是存储其它对象的特殊对象&#xff0c;可以将集合当作一个容器 (2)集合的相关接口和类位于java.util包中 (3)集合中的接口和类是一个整体、一个体系 2.集合接口 接口定义了一组抽象方法&#xff0c;实现该接口的类需要实现这些抽象方法&…

Docker核心技术:Docker原理之Cgroups

云原生学习路线导航页&#xff08;持续更新中&#xff09; 本文是 Docker核心技术 系列文章&#xff1a;Docker原理之Cgroups&#xff0c;其他文章快捷链接如下&#xff1a; 应用架构演进容器技术要解决哪些问题Docker的基本使用Docker是如何实现的 Docker核心技术&#xff1a;…

C++初学者指南-5.标准库(第一部分)--标准库最小/最大算法

C初学者指南-5.标准库(第一部分)–标准库min/max算法 文章目录 C初学者指南-5.标准库(第一部分)--标准库min/max算法minmaxminmaxclamp (C17)min_elementmax_elementminmax_element相关内容 C标准库算法是一块新领域&#xff1f;⇒简短介绍 min min(a, b) → a 如果 a < b则…

Linux_实现UDP网络通信

目录 1、实现服务器的逻辑 1.1 socket 1.2 bind 1.3 recvfrom 1.4 sendto 1.5 服务器代码 2、实现客户端的逻辑 2.1 客户端代码 3、实现通信 结语 前言&#xff1a; 在Linux下&#xff0c;实现传输层协议为UDP的套接字进行网络通信&#xff0c;网络层协议为IPv4&am…

基于Fabric 的区块链测试方法调研与总结

Fabric概述 从应用层视角来看&#xff0c;Hyperledger Fabric为开发人员提供了CLI命令行终端、事件模块、客户端SDK、链码API等接口&#xff0c;为上层应用提供了身份管理、账本管理、交易管理、智能合约管理等区块链服务&#xff0c;具体如下&#xff1a; 身份管理&#xff…

百年传承,味在蒸面

2024年7月15日&#xff0c;西安工程大学赴陕西安康“筑梦乡村&#xff0c;携手同行”暑期社会实践团队前往陕西安康鼓楼西街对非遗美食马国庆蒸面进行实践活动。 早晨七点&#xff0c;实践团队在鼓楼西街路口整装集合前往马国庆蒸面&#xff0c;据实践团队前期资料收集了解到马…

k8s+containerd(kvm版)

k8s&#xff08;Kubernetes&#xff09;是由Gogle开源的容器编排引擎&#xff0c;可以用来管理容器化的应用程序和服务&#xff0c;k 高可用&#xff1a;系统在长时间内持续正常地运行&#xff0c;并不会因为某一个组件或者服务的故障而导致整个系统不可用可扩展性&#xff1a…

【SpringBoot】 jasypt配置文件密码加解密

目前我们对yml配置文件中的密码都是明文显示&#xff0c;显然这不安全&#xff0c;有的程序员离职了以后可能会做一些非法骚操作&#xff0c;所以我们最好要做一个加密&#xff0c;只能让领导架构师或者技术经理知道这个密码。所以这节课就需要来实现一下。 我们可以使用jasypt…

爬虫学习3:爬虫的深度爬取

爬虫的深度爬取和爬取视频的方式 深度爬取豆瓣读书 import time import fake_useragent import requests from lxml import etree head {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 …

陶德:边种田边写代码,3年300万行,一个人写出了“国产大满贯QT”

这是《开发者说》的第12期&#xff0c;本期我们邀请的开发者是陶德&#xff0c;从小在国企矿山里长大&#xff0c;计算机成绩是文科班里最差的一个&#xff0c;毕业两年找不到工作&#xff0c;睡过公园&#xff0c;讨过剩饭&#xff0c;用打魔兽世界的方式磨炼技术&#xff0c;…