Android NDK开发详解Vulkan 图形之Android 上的 Vulkan 扩展 和配置文件

Android NDK开发详解Vulkan 图形之Android 上的 Vulkan 扩展 和配置文件


和配置文件)

Android 上的 Vulkan 扩展

Android 设备可能会完全或部分支持提供附加功能的 Vulkan 扩展。

如需确定 Vulkan 扩展是否适用于特定的目标设备,请使用 Vulkan 规范中所述的 Vulkan 扩展枚举函数(vkEnumerateInstanceExtensionProperties() 和 vkEnumerateDeviceExtensionProperties())。如需查看示例,请参阅 Vulkan 示例代码库中的此代码示例。

下表总结了 Android 支持的 Vulkan 扩展、支持扩展所需的最低操作系统版本以及扩展类型。
在这里插入图片描述

Android Baseline 配置文件

今天,Google 宣布推出适用于 Vulkan 的全新 Android Baseline 2022 配置文件。

发布初版 Android Baseline 配置文件(2021 版)时,我们的动机很简单,但意义重大。我们希望消除开发者在确定形形色色的 Android 设备上可以依赖的功能时常会面临的挑战。

Android Baseline 2021 配置文件通过一个 Vulkan 配置文件解决了这个难题。该配置文件指定了一套 Vulkan 扩展、功能、格式和限制,它们来自于我们 2021 年在绝大多数活跃 Android 设备上的发现。该配置文件是根据可用数据与 Khronos 合作伙伴讨论创建的,旨在最大限度地兼容现有和未来的设备,并代表了符合这些限制条件的最先进 Vulkan 功能集。

首次发布 Android Baseline 2021 配置文件时,我们曾承诺会发布该配置文件的 2022 更新版,因为我们知道 Vulkan 的采用率当时正在快速接近一个拐点。现在,在与 Khronos 合作伙伴进行了一年的数据分析和协调后,我们非常高兴地宣布,我们已成功创建适用于 Vulkan 的 Android Baseline 2022 配置文件。

就像初版 2021 配置文件一样,Android Baseline 2022 配置文件也包含一系列可在绝大多数活跃 Android 设备上找到的 Vulkan 扩展、功能、格式和限制。不过,仅仅经过一年的生态系统推进工作,我们就极大地扩展了这个功能集。我们相信,许多开发者都将很快地受益于这个新配置文件的新功能集。

建议您仔细阅读 GitHub 上的完整 Android Baseline 2022 配置文件。

Android Baseline 2022 配置文件包含与初版 2021 配置文件相同的所有支持,其中包括以下实用且重要的功能:

通过 ASTC 和 ETC 压缩纹理
通过 VK_EXT_swapchain_colorspace 设定可变颜色空间
通过 sampleRateShading 进行阴影采样和插值多重采样

在扩展这个功能集的同时,Android Baseline 2022 配置文件还增加了一系列极具价值的改进,例如:

全面支持 Vulkan 1.1
通过 shaderInt16 在着色器中实现对 16 位整数的支持
通过 VK_ANDROID_external_memory_android_hardware_buffer 实现 Vulkan 与 Android 硬件缓冲区的互操作性
通过 VK_KHR_driver_properties 查询 Vulkan 驱动程序属性
通过 VK_KHR_create_renderpass2 更好地控制渲染通道的创建

随着 2022 配置文件的发布,我们也决定修正之前的 2021 配置文件。2021 配置文件发布时,包含了对扩展图像收集指令集和扩展图像收集功能的支持:

    "shaderImageGatherExtended": true,
    "minTexelGatherOffset": -8
    "maxTexelGatherOffset": 7

在进行更充分的数据分析和调查后,我们发现这项收录有误。在支持方面,扩展图像收集功能的实际采用率远低于 Android Baseline 配置文件中的需求,因此我们决定修正 2021 配置文件,移除这些要求。这项变更可以在修正后的 Github 代码中看到,具体位于 “history” 部分的 “revision”: 2 下。扩展图像收集功能也没有收录到 2022 配置文件中。

修正后的 Android Baseline 2021 配置文件将一直在 GitHub 上公开可见。
在这里插入图片描述

绝大多数已在使用的 Android 设备都完全支持 2021 配置文件和 2022 配置文件,无需进行无线下载更新。

我们将在 Android 分发信息中心(网址为:https://developer.android.com/about/dashboards)继续广播这两种配置文件的 Android 支持百分比。
在这里插入图片描述

我们已成功达成对于更新 2021 配置文件的承诺。目前,我们不承诺日后会再次更新 Android Baseline 配置文件。我们会根据开发者、合作伙伴和用户的需要,针对更广泛、更高级的 Vulkan 功能集更新我们的支持。

本页面上的内容和代码示例受内容许可部分所述许可的限制。Java 和 OpenJDK 是 Oracle 和/或其关联公司的注册商标。

最后更新时间 (UTC):2023-01-25。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五一编程

程序之路有我与你同行

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值