为何说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系列版本。如果你需要更多的信息,我们的框架参考文档已经更新。如果你需要进一步的帮助,不要忘记我们的技术支持论坛,我们的技术支持团队随时准备回答你的任何问题。我们希望大家喜欢这个全新推出的框架版本。

热门推荐

收藏 人收藏
分享:

评论

相关推荐

Imagination执行副总裁正式上任 将领导PowerVR业务部门

英国伦敦—2018年5月23日—Imagination Technologies宣布:公司任命Nig....

的头像 人间烟火123 发表于 05-23 17:21 369次阅读
Imagination执行副总裁正式上任 将领导PowerVR业务部门

了解Bluetooth的软件开发套件SDK

或许您专门攻读过工程学,也或许使用电子产品进行工作只是您的一种爱好,无论如何,每个人都有他们用于项目....

的头像 电子设计 发表于 05-18 09:27 941次阅读
了解Bluetooth的软件开发套件SDK

PowerVR 2NX成为驱动神经网络应用解决方案

毫无疑问,神经网络变得越来越流行,在各式各样的产品中都可以找到它的相关应用。它们会根据你的兴趣自动调....

的头像 电子设计 发表于 05-17 09:23 1106次阅读
PowerVR 2NX成为驱动神经网络应用解决方案

看虚拟化在PowerVR GPU中是如何进行

过去的几年里,虚拟化的概念将软件从承载其的硬件中分离出来已经为许多人所熟知。在本文中,我们将描述虚拟....

的头像 电子设计 发表于 05-17 09:14 799次阅读
看虚拟化在PowerVR GPU中是如何进行

Imagination 和 OTOY 共同发布突破性的硬件加速渲染平台

Imagination Technologies 和 OTOY 共同发布突破性的硬件加速渲染平台,其....

发表于 05-11 09:38 68次阅读
Imagination 和 OTOY 共同发布突破性的硬件加速渲染平台

恩智浦半导体推出用于安全的边缘计算管理套件-- EdgeScale

恩智浦半导体(NXP Semiconductors N.V.)推出用于安全的边缘计算管理套件-- E....

发表于 05-08 16:58 66次阅读
恩智浦半导体推出用于安全的边缘计算管理套件-- EdgeScale

进行移动端Unity开发,针对引擎PowerVR性能建议

大部分优化操作都适用于移动平台,但是也有一些是专门面向PowerVR平台的。也就是说,无论你的目标应....

的头像 Imagination Tech 发表于 05-03 08:58 984次阅读
进行移动端Unity开发,针对引擎PowerVR性能建议

德州仪器(TI)近日推出其最新的SimpleLink无线和有线微控制器(MCU)

为满足楼宇、工厂和电网日益增长的连接需求,德州仪器(TI)近日推出其最新的SimpleLink无线和....

发表于 05-02 14:18 271次阅读
德州仪器(TI)近日推出其最新的SimpleLink无线和有线微控制器(MCU)

如何使用硬件的计算能力来获取摄像头采集的视频并采用多个卷积神经网络进行处理

在前面的文章中,我们向大家展示了使用神经网络实现一些诸如物体识别、数字化识别等功能。本篇文章我们将向....

发表于 04-27 16:10 167次阅读
如何使用硬件的计算能力来获取摄像头采集的视频并采用多个卷积神经网络进行处理

Imagination推出新款高性能的汽车内饰装备

PowerVR Series8XT四集群(cluster)IP专为支持超高分辨率与多重显示器所设计。....

发表于 04-26 20:43 134次阅读
Imagination推出新款高性能的汽车内饰装备

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

事实证明,现代移动设备已经经历很长一段时间的发展,景深效果的处理也进行了一些改变,通过一些方面的折中....

的头像 Imagination Tech 发表于 04-26 11:16 643次阅读
什么原因让手机上的游戏能够媲美台式机游戏的效果呢?

关于PowerVR 25周年发展的行业展望

Simon Fenney是PowerVR部门的一名研究员,他是最早加入Imagination公司(1....

发表于 04-25 18:37 46次阅读
关于PowerVR 25周年发展的行业展望

PowerVR与神经网络加速器

近来,如果你对神经网络有所关注,那么你一定会发现神经网络的市场如日中天。实际上,机器学习和深度学习已....

发表于 04-25 16:18 60次阅读
PowerVR与神经网络加速器

神经网络加速器(NNA)能提供全面的硬件解决方案

从早期的桌面PC游戏到街机游戏机,到后来的家庭游戏机以及移动设备端等,PowerVR一直都与图形技术....

发表于 04-25 16:03 205次阅读
神经网络加速器(NNA)能提供全面的硬件解决方案

HTC推SRWorks SDK,可扩展更多功能

Vive Pro是虚拟现实头盔中的一款,它综合了2880 x1600像素的分辨率,双AMOLED 3....

发表于 04-25 08:52 368次阅读
HTC推SRWorks SDK,可扩展更多功能

神经网络加速器提供全面的硬件解决方案

从早期的桌面PC游戏到街机游戏机,到后来的家庭游戏机以及移动设备端等,PowerVR一直都与图形技术....

发表于 04-24 18:40 74次阅读
神经网络加速器提供全面的硬件解决方案

借助PowerVR和OpenCL实现人脸检测和识别

在前面的文章中,我们向大家展示了使用神经网络实现一些诸如物体识别、数字化识别等功能。本篇文章我们将向....

发表于 04-24 18:38 66次阅读
借助PowerVR和OpenCL实现人脸检测和识别

驱动未来神经网络应用的PowerVR 2NX解决方案

毫无疑问,神经网络变得越来越流行,在各式各样的产品中都可以找到它的相关应用。它们会根据你的兴趣自动调....

的头像 Imagination Tech 发表于 04-24 09:03 1172次阅读
驱动未来神经网络应用的PowerVR 2NX解决方案

CC3200 SDK实验操作指南中文详细资料概述

CC3200是带Wi-Fi功能、集成Cortex-M4内核的处理器,提供单芯片的Wi-Fi解决方案。....

发表于 04-23 14:53 28次阅读
CC3200 SDK实验操作指南中文详细资料概述

爱普生与Wikitude正式公布了全新AR SDK 为双目透视型智能眼镜BT-300及BT-350而准备

现在,使用爱普生的智能眼镜Moverio系列开发增强现实应用变得更加简单了。本周爱普生与增强现实平台....

发表于 04-20 14:14 422次阅读
爱普生与Wikitude正式公布了全新AR SDK 为双目透视型智能眼镜BT-300及BT-350而准备

PowerVR SDK框架5.0

我们非常高兴的告诉大家PowerVR SDK和开发工具2017 release 2正式推出了,这次发....

发表于 04-12 11:40 45次阅读
PowerVR SDK框架5.0

PowerVR SDK 5.0框架结构

之前4.x系列框架主要侧重于在OpenGL ES和Vulkan之间提供统一的接口,充当跨平台、跨AP....

发表于 04-12 05:18 74次阅读
PowerVR SDK 5.0框架结构

PowerVR开发工具和SDK release(2017 R2)正式发布

正如大家所见,最新的PowerVR开发工具和SDK release(2017 R2)已经正式发布了,....

发表于 04-12 05:18 52次阅读
PowerVR开发工具和SDK release(2017 R2)正式发布

一款基于帧捕捉的开源图形调试器应用设计

作者:Dev Tech 如果你是一名图形开发者,那么你很可能在某个项目中遇到过RenderDoC,它....

的头像 电子设计 发表于 04-03 09:13 1775次阅读
一款基于帧捕捉的开源图形调试器应用设计

针对于高端移动通信和汽车市场的四集群设计

作者:Benny Har-Even 去年Imagination推出了最新的图形架构Furian,自2....

的头像 电子设计 发表于 04-03 09:13 2525次阅读
针对于高端移动通信和汽车市场的四集群设计

结合DNN API驱动未来神经网络应用的解决方案

毫无疑问,神经网络变得越来越流行,在各式各样的产品中都可以找到它的相关应用。它们会根据你的兴趣自动调....

的头像 电子设计 发表于 04-03 09:13 3055次阅读
结合DNN API驱动未来神经网络应用的解决方案

NVIDIA发布新框架,加速训练自主机器

NVIDIA宣布扩展其Isaac平台以构建机器人应用,此举将加速机器人在各行各业中的开发与部署。

的头像 英伟达NVIDIA中国 发表于 03-31 10:37 551次阅读
NVIDIA发布新框架,加速训练自主机器

RenderDoC是什么?具体特性都包括哪些?

如果你是一名图形开发者,那么你很可能在某个项目中遇到过RenderDoC,它是一款图形调试器,帮助很....

的头像 Imagination Tech 发表于 03-29 14:24 441次阅读
RenderDoC是什么?具体特性都包括哪些?

MaxCompute Tunnel SDK数据上传利器——BufferedWriter使用指南

发表于 03-27 13:56 323次阅读
MaxCompute Tunnel SDK数据上传利器——BufferedWriter使用指南

使用 MaxCompute(原ODPS) java sdk 运行安全相关命令

发表于 03-27 11:28 235次阅读
使用 MaxCompute(原ODPS) java sdk 运行安全相关命令

Lumin OS、SDK和开发者端口的解读

在某一时刻,我们现在知道的Windows计算机是由MS-DOS操作系统组成的,Windows是一个在....

的头像 VR陀螺 发表于 03-26 16:58 873次阅读
Lumin OS、SDK和开发者端口的解读

【视频点播最佳实践】使用OSS SDK上传视频到点播

发表于 03-26 16:57 184次阅读
【视频点播最佳实践】使用OSS SDK上传视频到点播

PowerVR的底层级别GLSL优化

PowerVR SDK&Tools 2017 R2版本已经发布,现在是时候来看一下新版本所包含的新内....

的头像 小刘 发表于 03-25 05:02 1238次阅读
PowerVR的底层级别GLSL优化

PowerVR技术高质量的全景环绕可视化系统

相对来说,现在汽车的一个比较新颖的功能是倒车影像系统——十年前还不常见,现在已经很普遍了。事实上,美....

的头像 Imagination Tech 发表于 03-24 11:49 1732次阅读
PowerVR技术高质量的全景环绕可视化系统

Imagination宣布为PowerVR GPU的性能分析工具PVRTune添加强大的新功能

Imagination宣布,推出PowerVR GPU 的性能分析工具 PVRTune的新版本,它可....

发表于 03-23 18:21 175次阅读
Imagination宣布为PowerVR GPU的性能分析工具PVRTune添加强大的新功能

real210 wince v2 sdk

发表于 03-22 16:29 661次阅读
real210 wince v2 sdk

用WEB技术栈开发NATIVE应用(二):WEEX 前端SDK原理详解

发表于 03-02 14:10 702次阅读
用WEB技术栈开发NATIVE应用(二):WEEX 前端SDK原理详解

vivado sdk cache操作?

发表于 02-27 21:11 384次阅读
vivado sdk cache操作?

Rethink Robotics推出Sawyer智能协作机器人软件开发工具包

 近日,Rethink Robotics发布了Sawyer软件开发工具包(SDK)。该款升级版软件专....

的头像 人间烟火123 发表于 02-27 10:27 1989次阅读
Rethink Robotics推出Sawyer智能协作机器人软件开发工具包

基于Android的第三方支付清结算平台SDK的设计与实现

第三方支付使交易变得更加简单,但是接入过程比较复杂,需要开发人员对银联相关技术以及API非常熟悉,因....

发表于 02-24 09:35 81次阅读
基于Android的第三方支付清结算平台SDK的设计与实现

阿里云SDK再升级,宣布支持C++语言

发表于 02-08 13:48 323次阅读
阿里云SDK再升级,宣布支持C++语言

关于java的一些基础知识解析

j2ee 全称Java 2 Enterprise Edition,是Java的一种企业版,用....

的头像 阿铭linux 发表于 02-05 14:43 682次阅读
关于java的一些基础知识解析

用WEB技术栈开发NATIVE应用:WEEX SDK原理详解

发表于 01-24 17:23 683次阅读
用WEB技术栈开发NATIVE应用:WEEX SDK原理详解

PowerVR Serise9XE和9XM是什么?更适用于嵌入式平台的旗舰GPU

Series9XE和9XM是针对广泛的嵌入式市场的入门级和中间层图形解决方案的最佳选择。 无论是入....

的头像 Imagination Tech 发表于 01-19 08:56 1248次阅读
PowerVR Serise9XE和9XM是什么?更适用于嵌入式平台的旗舰GPU

ESP8266 SDK 编程手册

ESP8266 SDK 编程手册Version 1.0.1

发表于 12-11 17:05 212次阅读
ESP8266 SDK 编程手册

ESP8266 SDK开发环境搭建初级教程

ESP8266 SDK 开发环境 本章主要从开发环境搭建、工程模板建立、开发流程说明三个方面进行,在....

发表于 12-07 14:42 703次阅读
ESP8266 SDK开发环境搭建初级教程

SDK和ChipScope配合工作

如果使用ZC702单板内置的digilent电缆,SDK 14.6 和 ChipScope 14.6....

发表于 11-22 15:19 336次阅读
SDK和ChipScope配合工作

petalinux(二)开启petalinux内核调试模式

要调试基于Xilinx SDK的Linux内核模块,必须使能 KERNEL_DEBUG_INFO和K....

发表于 11-18 13:46 732次阅读
petalinux(二)开启petalinux内核调试模式

ucos iii在zynq上的移植

本教程介绍了如何使用μC/ OS BSP建立在ZYNQ基本应用程序®使用Vivado -7000 ™....

发表于 11-17 15:06 582次阅读
ucos iii在zynq上的移植

Xilinx SDK使用教程

本文参考 Xilinx SDK软件内置的教程,打开方法:打开SDK->Help->Cheet She....

发表于 11-17 11:25 320次阅读
Xilinx SDK使用教程

Zynq SoC的特性及其设计实现

赛灵思 Zynq®-7000 All Programmable SoC 系列代表了嵌入式设计的新局面....

发表于 11-17 09:29 429次阅读
 Zynq SoC的特性及其设计实现

Passport SDK的设计与技术细节实例分析

58 赶集集团旗下拥有多个 App,且全部使用同一套账号体系,通过 Passport 部门提供的接口....

发表于 09-28 19:18 107次阅读
Passport SDK的设计与技术细节实例分析

请教大神帮忙解决microblaze挂接axi_qual_spi模块,主模式信息发不出去的问题?

发表于 09-27 18:07 1047次阅读
请教大神帮忙解决microblaze挂接axi_qual_spi模块,主模式信息发不出去的问题?

Facebook推出Swift开发者sdk

Facebook为iOS开发者推出了Swift开发者工具包(SDK),开发者可以通过Github链接....

发表于 09-26 11:07 76次阅读
Facebook推出Swift开发者sdk

iOS系统中关于SDK的开发

前言 开发SDK有一段时间了,这算是一篇总结贴,或者说教程也好,总之会把我经历的一些过程详细描述出来....

发表于 09-25 17:28 73次阅读
iOS系统中关于SDK的开发

iOS11系统中SDK的新特性

年纪大了过了能熬夜看 WWDC 的时代了,但是还是在小小宝的哭闹和妈妈大人换尿布的催促中起了个大早。....

发表于 09-25 16:12 52次阅读
iOS11系统中SDK的新特性

SDK中大写的PRINTF和小写printf的区别

 讲一下SDK中大写的PRINTF和小写printf的区别。

发表于 09-15 17:47 125次阅读
SDK中大写的PRINTF和小写printf的区别

OpenCL 代码的可移植性优势及异构系统中的应用

Altera 公司日前宣布,提供 FPGA 业界的第一款用于 OpenCL 的软件开发套件(SDK)....

发表于 09-15 15:46 110次阅读
OpenCL 代码的可移植性优势及异构系统中的应用

准备开始学习安卓了,顺便和大家一起分享我的安卓之旅,第一天,搭建安卓开发环境。

发表于 09-12 21:36 1359次阅读
准备开始学习安卓了,顺便和大家一起分享我的安卓之旅,第一天,搭建安卓开发环境。

Android SDK 开发中文文档

Android 是一个专门针对移动设备的软件集,它包括一个操作系统,中间件和一些重要的应用程序。Be....

发表于 09-11 17:18 95次阅读
Android SDK 开发中文文档