今天,Google 宣布发布适用于 Vulkan 的全新 Android Baseline 2022 配置文件。
在我们发布最初的 Android Baseline 配置文件(2021 版)时,我们的动机很简单但很重要。我们希望消除开发者在确定可以在各种 Android 设备上依赖哪些功能时遇到的持续挑战。
Android Baseline 2021 配置文件通过 Vulkan 配置文件解决了这个痛点,该配置文件指定了 2021 年大多数活跃 Android 设备上都具备的一组 Vulkan 扩展、功能、格式和限制。此配置文件是根据可用数据以及与 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
更有效地控制 renderpass 创建
除了发布 2022 配置文件外,我们还决定修改之前的 2021 配置文件。当 2021 配置文件发布时,它包含对扩展的图像收集指令和扩展的图像收集功能的支持
"shaderImageGatherExtended": true,
"minTexelGatherOffset": -8
"maxTexelGatherOffset": 7
"history"
下显示为 "revision": 2
。扩展的图像收集功能在 2022 配置文件中也不存在。
修改后的Android Baseline 2021 配置文件 将保留在 Github 上。
目前正在使用的绝大多数 Android 设备都完全支持 2021 配置文件和 2022 配置文件,无需进行无线更新。
我们将在 Android 分布情况信息中心https://developer.android.com/about/dashboards继续公布这两个配置文件的 Android 支持百分比。
我们已成功完成对2021年配置文件的既定更新,目前不承诺对Android基线配置文件进行任何未来的更新。我们将根据开发者、合作伙伴和用户的需求,更新到更广泛、更高级的Vulkan功能集。