高通Adreno Vulkan 开发(1)

16 篇文章 13 订阅

在这里插入图片描述
此图片摘自Qualcomm Technologies,Inc.的Advanced Content Graoup开发的Reign of Amira游戏演示。该演示正在使用Vulkan 1 API在Qualcomm Snapdragon 835设备上运行,并展示了一个基于物理渲染的交互式双射击竞技场游戏, Vulkan可以使用ASTC纹理压缩,高动态范围渲染,线性空间照明,动态阴影,光折射以及其他高端渲染技术。

今天为大家带来基于Qualcomm®Adreno™GPU的平台开发和优化Vulkan应用程序的指南,Vulkan是高通新的现代图形API,为当前的GPU硬件设计。

Adreno Vulkan 简介

Vulkan是新的图形API,使应用程序可以在Adreno GPU上良好运行。Vulkan的新型多通道渲染支持通过消除带宽,极大地受益于Adreno的图块式架构转移到主要记忆。该支持可优化多次通过渲染具有相同尺寸的目标。Vulkan使开发人员有机会从应用程序中获得高性能。

Vulkan还提供显式的底层GPU控制,并允许使用更少的CPU进行更简单的驱动程序设计开销和更可预测的处理。Vulkan从一开始就被视为对多线程友好的。这极大的好处专为在具有多个内核的Snapdragon SOC上运行的线程而设计的应用程序。线程可以并行创建命令缓冲区和管道状态对象。Vulkan是跨平台的,并且在API中支持图形和计算操作。它是适用于PC,控制台,移动和嵌入式硬件的单个API。

Vulkan支持可加载的分层体系结构,该体系结构可在执行过程中进行详细的错误检查易于为发布版本禁用的开发。借助Vulkan的跨供应商即时语言SPIR_V,预编译着色器支持无需在驱动程序中进行编译。 开发人员现在也可以隐藏所有权商业版本中的着色器代码逻辑。 便于从GLSL到SPIR_V的运行时转换允许现有着色器以最小的更改即可在Vulkan中工作。

Adreno GPU

Adreno GPU是Qualcomm®Snapdragon™多合一设计的一部分处理器。 加快复杂几何图形的渲染速度,可使处理器满足游戏,用户界面和网络技术所要求的性能水平今天的移动设备。

Adreno GPU专为移动API和移动设备限制而构建,具有一个强调性能和有效的电力使用。原始的Adreno 130变体仅支持OpenGL ES 1.1。 Adreno 2xx系列及更高版本支持OpenGL ES 2.0。 Adreno 3xx系列增加了对OpenGL ES的支持3.0和OpenCL。 Adreno 4x增加了对OpenGL ES 3.1和AEP(Android扩展包)。 Adreno 5x继续支持bot OpenGL ES 1.1,AEP和Vulkan。

多重纹理

多重纹理化或多重纹理化是一次在多边形上使用多个纹理。Adreno 4x在单个渲染过程中最多支持32个纹理,也就是说在一个渲染过程中最多支持16个纹理片段着色器和一次最多16个纹理的顶点着色器。有效使用多个纹理极大地减少了透支,节省了片段的算法逻辑单元(ALU)成本着色器,并避免不必要的顶点变换。

视频纹理

如今,更多的游戏和图形应用程序需要视频纹理,其中包括移动从视频文件实时流式传输的图像。 Adreno GPU支持视频纹理。视频纹理是当今Android(蜂窝版或更高版本)中的标准API功能。
在这里插入图片描述

纹理压缩

纹理压缩可以减少纹理内存和总线带宽的使用,因此可以显着提高图形应用程序的性能和加载时间。可以使用Adreno纹理压缩和可视化工具创建压缩纹理,然后由OpenGL ES应用程序使用。Adreno 3xx支持的重要压缩纹理格式为:

  • ATC –专有的Adreno纹理压缩格式(用于RGB和RGBA)
  • ETC –标准OpenGL ES 2.0纹理压缩格式(适用于RGB)
  • ETC2-OpenGL ES 3.0 API(适用于R,RG,RGB和RGBA)和Vulkan API支持的纹理压缩格式
  • ASTC-OpenGL ES均支持的纹理压缩格式3.0 API和Vulkan –允许压缩为可变块大小。

Adreno4x增加了对ASTC LDR压缩的支持,该支持可通过Android Extension Pack获得。

浮点纹理

Adreno 2xx,3xx及更高版本支持相同的纹理化功能,包括:

  • 通过GL_OES_texture_half_float和GL_OES_texture_half_float_linear扩展对FP16纹理进行纹理化和线性过滤
  • 通过GL_OES_texture_floreT从FP32纹理进行的FP32纹理化还包括OpenGL_Texture_float
    支持FP16(完全支持)和FP32(不混合)

具有无缝边缘的多维数据集映射

多维数据集映射是一种创建高级图形效果(如环境映射)的快速且廉价的方法。 立方体贴图采用三维纹理坐标,并从给定的立方体贴图(类似于天空盒)返回atexel.Adreno 3xx及更高版本支持对立方体贴图纹理采样的无缝边缘支持

在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值