为何说OpenGL ES上使用Vulkan不适合作为SDK

电子设计 2018-05-17 09:23 次阅读

我们非常高兴的告诉大家最新版本的PowerVR SDK框架5.0和相关工具第二版本正式推出,这次更新包括很多激动人心的变化同时承诺让每个PowerVR GPUs开发者的工作更加的简单方便。这个版本同时涉及多个重大的改进,本篇文章将详细向大家介绍。

之前4.x系列框架主要侧重于在OpenGL ES和Vulkan之间提供统一的接口,充当跨平台、跨API引擎解决方案的基础。在之前的版本中已经实现了这些功能并且这些版本会继续向开发者提供。然而我们已经看到了大家的反馈,因此我们需要作出一些重大改变为广大开发者提供更大的便利。

首先我们决定先回到最基础的方面,Vulkan API完全是为了让开发人员有更多的自主和控制权,而我们之前的版本包含了对开发人员更多的手把手指导,因此这很可能会阻碍Vulkan的开发。

第二我们感觉到在OpenGL ES上使用Vulkan不适合作为SDK,这也同时干扰了OpenGL ES SDK的功能定位——OpenGL ES API学习的辅助工具。

因此现在我们将一切交还到开发人员的手中,把所有的东西都去除掉只留下有用的实现和封装库。这也意味着它不会向后兼容,但是你会真正使用Vulkan在工作而不是在使用基于Vulkan的框架。

下面的介绍一下PowerVR SDK 5.0框架!

PowerVR SDK 5.0框架结构图PowerVR SDK 5.0框架结构图

新框架包括三大部分——通用库文件、Vulkan库和OpenGL ES库
  •   通用库文件是PVRShell、PVRCore和PVRAssets
  -  PVRCore是很多模块的依赖,它提供很多底层支持代码,这包括通用类型、数据流、日志记录、引用计数等。
  -  PVRShell是一个独立的抽象平台,它是API的入口同时负责操作系统特定的窗口和输入,包括最新版本中对Wayland的支持。
  -  PVRAssets包括的代码用于处理资产比如纹理、模型等,它们会通过文件的方式加载。
  •   OpenGL ES库包括PVRUtilsGles(涉及OpenGL ES具体功能的实现实例)和PVRCamera库
  •   全新的Vulkan库包括PVRVk,它主要是Vulkan的SDK和简单的封装,同时还提供PVRUtilsVk,它包含Vulkan的具体使用帮助。

后面我们会具体介绍这些库文件,但是首先我们需要了解一下之前PowerVR SDK框架4.x系列版本,这样我们可以对作出的改变进行对比。

PowerVR框架5.0有哪些变化?

首先我们了解一下之前框架版本是如何设计的:

探索全新推出的PowerVR 5.0精益求精框架

如上图所示4.x版本系列的框架结构与全新推出的5.0版本非常的不同,对于OpenGL和Vulkan并没有进行区分,而且依赖项也更加的复杂。4.x系列版本的一些库在5.0版本中进行了合并或者融合到5.0版本新的库中。
• PVRShell与5.0版本的类似,但是它与其他模块的耦合更加的紧密
• PVRCore和PVRAssets在4.x系列版本和5.0版本中基本是相同的,但是在5.0版本中从各方面进行了改进
• PVREnegineUtils根据PVRApi提供通用功能实现API抽象,在5.0版本中我们对OpenGL ES和Vulkan的实用工具分别进行了版本的调优和优化。
• PVRApi包括Vulkan和OpenGL ES API接口抽象资源,在5.0版本中这些抽象设置被取消了
• PVRNativeApi为底层API提供了实时绑定和实现的程序,在5.0版本中绑定只需要简单的头文件,所以不需要类似的工程文件。
• PVRCamera适用于OpenGL ES,并且提供iOS和安卓平台硬件摄像头驱动支持——在5.0版本中保持相同。

提升对Vulkan的支持

那么有哪些变化呢?现在这个框架更加专注于Vulkan并且变得更加的流畅,它提供了大量新的功能,帮助手册等并且变得简单。

PVRVk是一个独立的C++ Vulkan封装库(没有外部依赖),增加了智能指针支持、命名空间和强类型枚举等。这些特性让开发过程变得更加的容易,它是在4.x版本的PVRApi基础上对于Vulkan部分进行了精简和改进。

与4.x系列版本相比它具有更底层的功能抽象,并且已经接近于像Vulkan HPP这样的底层抽象,但是仍然也保留着PowerVR框架 让开发尽可能的简单的根本定位。现在大部分工作都是开发人员来负责实现,像Vulkan API的使用具有更多的自主权,但是在4.x系列版本中这些功能都是由框架来管理的。

谈到这里那么PVRUtilsVk是一个新的模块,它提供一些简单通用任务的帮助手册,不需要开发人员编写事例代码,包括的常用任务如下:
 • 创建实例
 • 创建设备
 • 管理队列
 • 创建转换链
 • 以单行的形式管理接口
 • 上传纹理

PVRUtilsVk依赖于PVRVk、PVRCore和PVRAssets。

我们同时也向开发人员提供vulkan_IMG.h头文件,它是对Khronos_vulkan.h文件的修改b版本,但是使用了强类型枚举。我们同时也移除了全局命名空间原型,这样做是为了尽可能减少全局命名空间的使用。

PVRVk具有自己的命名空间——pvrvk::而不是pvr::,它覆盖了该框架的其余部分。

简化后的框架设计

OpenGL ES框架已经回到了它的教育定位,跨平台的交叉API引用解决方案无疑会阻碍它的教育功能定位。这意味着PVRGles也不再存在,替代它的是OpenGL ES版本的PVRUtils(PVRUtilsGles)能提供所需要的一切,它提供的工具可以直接操作OpenGL ES而不是引用中间的抽象接口。

很多函数库是动态加载的,而且都采用gl命名空间,DynamicEGL.h和DynamicGles.h头文件是用于加载EGL和OpenGL ES函数指针的独立头文件,开发人员将学习并享受对功能的完全控制,在后面的开发过程中会使用原生的OpenGL ES代码,比如gl::BindTexture()。

模块简化设计总结

一些部分已经与其他模块进行的合并或者完全移除,现在的依赖项减少了很多。PVRCore保持不变,但是一些通用的接口API进行了重新整理,比如IGraphicsContext、IPlatformContext等等。

PVRShell目前只依赖于PVRCore,它是一个独立的平台抽象层,前面提到过目前已经支持Wayland。

PVRNativeAPI和EngineUtils已经合并到PVRUtilsGles和PVRUtilsVk中,每一项都负责相应的抽象接口,它们都依赖于PVRCore和PVRAssets。PVRUtilsVk,没有意外的,也依赖于PVRVk,两个库文件都提供了初始化的帮助手册,比如创建EGL/EAGL内容(contexts)、着色器(shaders)、Vulkan转换链等,此外还有一些功能比如纹理上传等等。

PVRCamera与之前保持不变,仅支持OpenGL ES。

总结

正如大家所见我们对SDK框架做出了很多重大的改变,我们只有提供非常好的功能改进才能够替换之前的4.x系列版本。如果你需要更多的信息,我们的框架参考文档已经更新。如果你需要进一步的帮助,不要忘记我们的技术支持论坛,我们的技术支持团队随时准备回答你的任何问题。我们希望大家喜欢这个全新推出的框架版本。

收藏 人收藏
分享:

评论

相关推荐

智能交通摄像机设备的网络SDK编程指南资料免费下载

设备网络SDK 是基于设备私有网络通信协议开发的,为嵌入式网络硬盘录像机、NVR、视频服务器、网络摄....
发表于 01-10 09:41 42次 阅读
智能交通摄像机设备的网络SDK编程指南资料免费下载

STM32马达控制SDK V5.0安装不了

安装之后出现 程序与系统不兼容,这怎么办? 我系统是win7 64bit,官网下载的SDK V5.0...
发表于 01-10 09:00 114次 阅读
STM32马达控制SDK V5.0安装不了

BluetoolDownloadMinidriver失败

你好, 我试图闪亮我们的BCM 20736S BLE模块。使用WICE Smart SDK 2.2.0,在WICE Smart IDE中,我有2个...
发表于 01-09 13:56 101次 阅读
BluetoolDownloadMinidriver失败

UltraScale+MPSoC软硬件设计及入门套件

如果您有一个好创意,但却对于将要使用的软硬件知识没多少概念,怎么办?马上报班一项项开始学习,还是想办....
的头像 FPGA开发圈 发表于 01-08 14:47 1270次 阅读
UltraScale+MPSoC软硬件设计及入门套件

是否有针对SDK 2.2.3的勘误/补丁的编译列表?

我们将重述使用SDK 2.2.1构建的20736S设计,并计划更新SDK 2.2.3以利用堆栈中的改进。 是否存在2.2.3或任何应添加的补丁...
发表于 01-08 14:13 113次 阅读
是否有针对SDK 2.2.3的勘误/补丁的编译列表?

AZURE IOT Hub接收数据的过程是什么

SDK 5.1上的演示Azure IOT集线器可以很好地发送数据,但是接收一些数据的过程是什么呢? 以上来自于百度翻译 &n...
发表于 01-08 14:12 89次 阅读
AZURE IOT Hub接收数据的过程是什么

如何在WICED SDK中定义常量的专用地址

我想把常数参数放在特殊地址上,就像在IAR开发IDE中一样,我可以使用 以上来自于百度翻译     &n...
发表于 01-04 14:27 149次 阅读
如何在WICED SDK中定义常量的专用地址

01:如何加速物联网应用的开发

介绍典型物联网设备端软件架构;MCUXpresso SDK的架构与特点;如何最大化的利用SDK来加速....
的头像 NXP视频 发表于 01-04 10:46 177次 观看
01:如何加速物联网应用的开发

高效的PC端车牌识别在人工智能机器人领域的应用

车牌识别SDK、车牌OCR、车牌识别软件、车牌识别系统、车牌识别技术、汽车号牌识别、号牌识别软件、车牌识别方案 DSP车牌...
发表于 01-02 16:59 175次 阅读
高效的PC端车牌识别在人工智能机器人领域的应用

Wiced Studio 5.0没有SDK文件,也没有制作目标

我一直在尝试安装WICE Studio 5。SDK文件不存在,即使在多个安装,我不得不把它们手动。然而,制作目标仍然没有出现。如...
发表于 01-02 16:35 87次 阅读
Wiced Studio 5.0没有SDK文件,也没有制作目标

Xilinx SDK安装需要额外的库

嗨,我正在尝试在ubuntu上安装xilinx sdk,在安装启动时,它说Ubuntu 16.04需要额外的库。这些库需要什么? 我目前在安装后遇到...
发表于 01-02 15:02 35次 阅读
Xilinx SDK安装需要额外的库

Vivado和SDK身份验证错误

尝试运行SDK或Vivado的安装程序时,出现“身份验证错误:发生了未知异常。请验证您的用户ID和密码,然后重试” 我可以登录...
发表于 01-02 14:55 32次 阅读
Vivado和SDK身份验证错误

从vivado gui启动时找不到show sdk

嗨朋友们, 已安装SDK,但是从vivado gui启动时,找不到show sdk。 我有疑虑。 1)当我点击launch_sdk fron vivado GUI...
发表于 01-02 14:54 30次 阅读
从vivado gui启动时找不到show sdk

基于终端SDK数据移动视频体验感知提升解决方案

基于终端SDK数据评估用户真实体验,评估指标为“初始缓冲时延、卡顿频次”,结合终端、管道、云侧数据实....
发表于 12-25 09:58 103次 阅读
基于终端SDK数据移动视频体验感知提升解决方案

NVIDIA VRWorks 360 Video SDK的发布,这一切都变得轻而易举

New Depth-Based Mono Stitch – 对于靠近摄影设备的场景,使用基于深度的对....
的头像 英伟达NVIDIA企业解决方案 发表于 12-24 13:45 519次 阅读
NVIDIA VRWorks 360 Video SDK的发布,这一切都变得轻而易举

Zynq在sdk中选择lwip模板的参数优化

在sdk中选择lwip模板,编译调试可轻松连接成功并进行通信,模板中代码完成的任务是client给s....
发表于 12-22 14:35 142次 阅读
Zynq在sdk中选择lwip模板的参数优化

AR在汽车智能座舱和智能驾驶辅助的落地

全息增强现实显示技术(AR)在汽车智能座舱和智能驾驶辅助的落地,正在成为一股风潮。
的头像 高工智能汽车 发表于 12-18 09:27 697次 阅读
AR在汽车智能座舱和智能驾驶辅助的落地

展锐春藤物与联网开放平台实现无缝对接,助力物联网发展浪潮

数字智能时代,随着技术的持续演进,物联网应用在各行业的渗透率不断提高,从而推动实现物联网解决方案所需....
的头像 展讯通信 发表于 12-05 16:07 1090次 阅读
展锐春藤物与联网开放平台实现无缝对接,助力物联网发展浪潮

Android教程之Android SDK的介绍和程序示例的详细资料说明

现在,你已经建立了开发环境,准备去浏览AndroidSDK了,它包含了很多的文件和特别的工具,可以帮....
发表于 11-29 17:45 99次 阅读
Android教程之Android SDK的介绍和程序示例的详细资料说明

Zynq PCI Express Root Complex

了解如何使用Xilinx SDK创建Linux应用程序。 我们还将重点介绍和演示支持Linux应用....
的头像 Xilinx视频 发表于 11-27 06:13 299次 观看
Zynq PCI Express Root Complex

用于UltraScale存储器IP的Vivado硬件管理器

了解如何使用Xilinx SDK创建Linux应用程序。 我们还将重点介绍和演示支持Linux应用....
的头像 Xilinx视频 发表于 11-27 06:11 293次 观看
用于UltraScale存储器IP的Vivado硬件管理器

Xilinx SDK的系统性能分析工具技介绍

了解SDK中的系统性能分析工具,以对系统进行建模,测量,分析和优化。 SDK中的工具允许您对系统....
的头像 Xilinx视频 发表于 11-27 06:04 276次 观看
Xilinx SDK的系统性能分析工具技介绍

Xilinx SDK的全面高级概述

了解Xilinx SDK如何为您提供在Zynq全可编程器件上创建,开发,调试和部署嵌入式软件应用所需....
的头像 Xilinx视频 发表于 11-26 07:12 270次 观看
Xilinx SDK的全面高级概述

如何使用Xilinx SDK创建Zynq引导映像

了解如何使用Xilinx SDK创建Zynq引导映像。 我们将在通过Xilinx SDK创建Zyn....
的头像 Xilinx视频 发表于 11-23 06:24 285次 观看
如何使用Xilinx SDK创建Zynq引导映像

Xilinx软件命令行工具进行开发和调试

了解如何使用XSCT,Xilinx软件命令行工具进行开发和调试。 该视频演示了XSCT如何充当Xi....
的头像 Xilinx视频 发表于 11-22 06:53 372次 观看
Xilinx软件命令行工具进行开发和调试

Xilinx软件命令行工具:XSCT开发和调试

了解如何使用XSCT,Xilinx软件命令行工具进行开发和调试。 该视频演示了XSCT如何充当Xi....
的头像 Xilinx视频 发表于 11-21 06:02 403次 观看
Xilinx软件命令行工具:XSCT开发和调试

Android游戏库的安全性分析与验证

近年来,Android第三方库的安全问题层出不穷。为了研究第三方游戏库潜在的安全威胁,该文深入分析了....
发表于 11-15 16:15 59次 阅读
Android游戏库的安全性分析与验证

geoserver地图开发教程之配置文档的资料概述

本文档的主要内容详细介绍的是geoserver地图开发教程之配置文档的资料概述免费下载。
发表于 11-14 17:06 43次 阅读
geoserver地图开发教程之配置文档的资料概述

Imagination宣布PowerVR汽车战略下一步计划

2018年11月13日-ImaginationTechnologies宣布推出PowerVRAuto....
发表于 11-14 10:07 389次 阅读
Imagination宣布PowerVR汽车战略下一步计划

使用面向OpenCL应用程序的英特尔SDK更快地开发OpenCL

使用面向OpenCL™应用程序的英特尔®SDK更快地开发OpenCL
的头像 英特尔 Altera视频 发表于 11-09 06:39 271次 观看
使用面向OpenCL应用程序的英特尔SDK更快地开发OpenCL

英特尔实感技术的沉浸式体验

了解英特尔®实感™技术支持的全新沉浸式和直观体验。
的头像 英特尔 Altera视频 发表于 11-08 06:52 383次 观看
英特尔实感技术的沉浸式体验

如何使用英特尔深度学习SDK解决问题

了解如何使用英特尔®深度学习SDK轻松插入,训练和部署深度学习模型,以解决图像和文本分析问题。
的头像 英特尔 Altera视频 发表于 11-08 06:25 379次 观看
如何使用英特尔深度学习SDK解决问题

英特尔上OpenCL内核性能的优化

Robert Ioffe描述了一系列一致的优化,可以提高英特尔®上的OpenCL内核性能Iris™图....
的头像 英特尔 Altera视频 发表于 11-07 06:16 334次 观看
英特尔上OpenCL内核性能的优化

英特尔Context Sensing SDK跨平台上下文感知体验

英特尔®ContextSensing SDK使应用程序开发人员能够创建引人注目的跨平台上下文感知体验....
的头像 英特尔 Altera视频 发表于 11-07 06:09 424次 观看
英特尔Context Sensing SDK跨平台上下文感知体验

Gaston Hillar探讨了SDK和软件工具的重要性

英特尔®黑带软件开发人员Gaston Hillary与Kathy Farrell讨论了能够访问SDK....
的头像 英特尔 Altera视频 发表于 11-07 06:06 325次 观看
Gaston Hillar探讨了SDK和软件工具的重要性

ESP8266 NONOS SDK固件升级的详细资料合集免费下载

本文档的主要内容详细介绍的是ESP8266 NONOS SDK固件升级的详细资料合集免费下载。
发表于 11-05 08:00 68次 阅读
ESP8266 NONOS SDK固件升级的详细资料合集免费下载

英特尔开发区更新:2017年5月

This month's episode features the Intel Media SDK ....
的头像 英特尔 Altera视频 发表于 10-31 06:54 216次 观看
英特尔开发区更新:2017年5月

英特尔RealSoad®SDK用户体验通用指南

The new Intel® RealSense™ technology offers amazin....
的头像 英特尔 Altera视频 发表于 10-22 06:39 257次 观看
英特尔RealSoad®SDK用户体验通用指南

在Windows上安装和运行英特尔媒体SDK 2014客户端

Demo for Installing and Running Intel® Media SDK 2....
的头像 英特尔 Altera视频 发表于 10-22 06:17 212次 观看
在Windows上安装和运行英特尔媒体SDK 2014客户端

WRLDS发布一款SDK软件,可利用WRLDS智能球中的技术来创建AR体验

智能玩具和平台开发 联网游戏的公司,该公司宣布发布了一款新的软件SDK,通过使用增强现实(AR)和蓝....
发表于 10-21 08:59 783次 阅读
WRLDS发布一款SDK软件,可利用WRLDS智能球中的技术来创建AR体验

YL-4.0T低功耗无线蓝牙模块的使用手册免费下载

YL-4.0T是一款高性能、低功耗、短距离的无线蓝牙模块,内部自动兼容蓝牙4.0协议,客户可以和带4....
发表于 10-18 17:50 85次 阅读
YL-4.0T低功耗无线蓝牙模块的使用手册免费下载

英特尔公共连接框架(英特尔®CCF)介绍

Intel® CCF is an intelligent connection framework ....
的头像 英特尔 Altera视频 发表于 10-15 04:11 372次 观看
英特尔公共连接框架(英特尔®CCF)介绍

Visual Basic教程之简单入门资料总结

我们需要什么?当我们在一个精彩的游戏世界中游历了一番之后,或是惊叹于某一工具软件的小巧精致之余,多少....
发表于 10-12 16:44 288次 阅读
Visual Basic教程之简单入门资料总结

IOS面试宝典之Objective-C语言

有人可能会问对于我们学iOS的同学来讲,面试还会问Objective-C基础吗?答案是会的,但是不会....
发表于 09-26 17:04 69次 阅读
IOS面试宝典之Objective-C语言

英特尔®SDK和移动应用程序开发工具

Intel® Context Sensing SDK and development tools f....
的头像 英特尔 Altera视频 发表于 09-11 06:01 903次 观看
英特尔®SDK和移动应用程序开发工具

初学Xilinx SDK的开发,API函数笔记

初学Xilinx SDK的开发,下面记录使用到的API函数及自己的理解。若有误,还请指教。 1、XS....
的头像 Duke 发表于 09-07 10:08 3387次 阅读
初学Xilinx SDK的开发,API函数笔记

Android SDK开发环境详细资料教程免费下载

本文档的主要内容详细介绍的是Android SDK开发环境详细资料教程免费下载。
发表于 09-06 16:03 265次 阅读
Android SDK开发环境详细资料教程免费下载

大疆在上海金山区成立慧飞SDK中心 目前全球有近10万无人机开发者

8月30日消息,以“技术开放、生态共赢”为主题的大疆行业创新大会(AirWorks China 20....
的头像 章鹰 发表于 08-31 14:23 5611次 阅读
大疆在上海金山区成立慧飞SDK中心 目前全球有近10万无人机开发者

基于区块链的游戏基础技术平台GES游戏引擎公链

GES游戏引擎公链为游戏行业提供定制式的、可编程的扩展机制、脚本体系、逻辑事件管理、基础网络组网技术....
发表于 08-31 09:50 508次 阅读
基于区块链的游戏基础技术平台GES游戏引擎公链

美国微芯科技公司推出第四代JukeBlox平台,助力打造低廉高品质音频产品

Microchip Technology Inc.(美国微芯科技公司)宣布推出旗下第四代JukeBl....
发表于 08-28 09:33 293次 阅读
美国微芯科技公司推出第四代JukeBlox平台,助力打造低廉高品质音频产品

海思35xx的MPP构架和3798M的UNF构架的详细分析资料免费下载

本文通过分析海思文档和代码,把海思 SDK 的 MPI 和 UNF 构架大概实现思想和构架进行了简略....
发表于 08-28 08:00 243次 阅读
海思35xx的MPP构架和3798M的UNF构架的详细分析资料免费下载

处理器SDK及RTOS操作系统的作用介绍

处理器 SDK RTOS
的头像 TI视频 发表于 08-10 01:38 1107次 观看
处理器SDK及RTOS操作系统的作用介绍

关于mmWave SDK的特点及应用介绍

2.3 mmWave SDK简介
的头像 TI视频 发表于 08-08 01:58 785次 观看
关于mmWave SDK的特点及应用介绍

PowerVR GPU采用PVR3C三重压缩技术来解决问题

下面的表格展示了不同应用的测试结果,需要注意的是,在这款器件上PVRIC并没有集成到SoC的显示管道....
的头像 Imagination Tech 发表于 07-25 15:05 825次 阅读
PowerVR GPU采用PVR3C三重压缩技术来解决问题

IMG.L宣布视频编码器IP中新增对VP8视频编解码技术的支持

对 VP8 的硬件支持可实现高画质视频的即时编码,以及不同设备间的即时多重码流转码作业,因此能让消费....
发表于 07-24 17:47 135次 阅读
IMG.L宣布视频编码器IP中新增对VP8视频编解码技术的支持

AutoScaling 弹性伸缩附加与分离RDS实例

阿里云弹性伸缩服务(AutoScaling)推出新功能:AttachDBInstances和DetachDBI
发表于 07-23 14:02 140次 阅读
AutoScaling 弹性伸缩附加与分离RDS实例

PowerVR Series8XT助力OEM厂商汽车更好的设计

Imagination公司推出的IP资源非常适合这类的应用场景和需求,日本Denso公司的汽车专家已....
发表于 07-19 16:44 144次 阅读
PowerVR Series8XT助力OEM厂商汽车更好的设计

是什么原因让手机上的游戏能够跟台式机游戏的效果媲美呢

那么是什么原因让手机上的游戏能够媲美台式机游戏的效果呢?答案不仅仅是像素和分辨率(当然它们也很重要)....
发表于 07-11 14:55 123次 阅读
是什么原因让手机上的游戏能够跟台式机游戏的效果媲美呢

PowerVR的开发者技术支持团队在GDC 2018都展现了什么

PVRStudio ——一款2018年全新的工具,它是一个功能齐全的IDE,世界上第一款移动/嵌入式....
发表于 07-11 14:55 350次 阅读
PowerVR的开发者技术支持团队在GDC 2018都展现了什么

全面升级 PowerVR开发工具和SDK 2018 Release1联合发布

PowerVR开发者技术团队非常高兴的宣布最新版本的PowerVR开发工具和SDK——2018 Re....
的头像 Imagination Tech 发表于 07-11 14:54 1217次 阅读
全面升级 PowerVR开发工具和SDK 2018 Release1联合发布