• Home
Name Date Size #Lines LOC

..--

.github/22-Mar-2025-12777

.reuse/22-Mar-2025-1612

LICENSES/22-Mar-2025-213174

include/22-Mar-2025-289,289246,329

registry/22-Mar-2025-136,147134,411

tests/22-Mar-2025-138100

.gitattributesD22-Mar-2025594 2518

.gitignoreD22-Mar-2025231 1513

BUILD.gnD22-Mar-20252.3 KiB8173

BUILD.mdD22-Mar-20251.2 KiB4727

CMakeLists.txtD22-Mar-20253.1 KiB7459

CODE_OF_CONDUCT.adocD22-Mar-2025369 118

CONTRIBUTING.mdD22-Mar-20251.1 KiB4125

LICENSE.mdD22-Mar-2025458 1912

LICENSE.txtD22-Mar-202511.1 KiB203169

OAT.xmlD22-Mar-20255.6 KiB8529

README.OpenSourceD22-Mar-2025352 1211

README.mdD22-Mar-20251.9 KiB5329

README_OpenHarmony.mdD22-Mar-20252.6 KiB5432

SECURITY.mdD22-Mar-2025411 123

bundle.jsonD22-Mar-20251.2 KiB4545

README.OpenSource

1[
2    {
3        "Name": "Khronos Group - Vulkan",
4        "License": "Apache-2.0",
5        "License File": "LICENSE.txt",
6        "Version Number": "v1.3.275",
7        "Owner": "mengzhaobing@huawei.com",
8        "Upstream URL": "https://github.com/KhronosGroup/Vulkan-Headers.git",
9        "Description": "Vulkan header files and API registry"
10    }
11]
12

README.md

1<!--
2Copyright 2018-2023 The Khronos Group Inc.
3
4SPDX-License-Identifier: Apache-2.0
5-->
6
7# Vulkan-Headers
8
9Vulkan header files and API registry
10
11This repository contains Vulkan header files, include files for C and C++,
12and related scripts and tests.
13
14Most of the files in this repository are sourced from, or generated from,
15other repositories as described in [CONTRIBUTING.md](CONTRIBUTING.md).
16Vulkan-Headers exists as a staging area for these files, most of which are
17then consumed by downstream repositories used to build SDK components such
18as the Vulkan Validation Layers and Conformance Test Suite.
19
20Developers normally obtain headers from the official
21[Vulkan-SDK](https://www.lunarg.com/vulkan-sdk/).
22They can also use headers from, or packaged from, this repository.
23
24In most cases, developers should only need the headers, not the scripts and
25other material in this repository.
26If you need to run the scripts, please use them from their canonical source
27in the [Vulkan Specification
28repository](https://github.com/KhronosGroup/Vulkan-Docs).
29
30## Contributing
31
32See the [CONTRIBUTING.md](CONTRIBUTING.md)
33
34## Building
35
36See [BUILD.md](BUILD.md)
37
38## SDK Support
39
40Vulkan-Headers are shipped as part of the official [Vulkan-SDK](https://www.lunarg.com/vulkan-sdk/)
41
42## C/C++ Package Manager Support
43
44`Vulkan-Headers` are also supported by both [conan](https://conan.io/) & [vcpkg](https://learn.microsoft.com/en-us/vcpkg/).
45
46## Version Tagging Scheme
47
48Updates to this repository which correspond to a new Vulkan specification release are tagged using the following format: `v<`_`version`_`>` (e.g., `v1.3.266`).
49
50**Note**: Marked version releases have undergone thorough testing but do not imply the same quality level as SDK tags. SDK tags follow the `vulkan-sdk-<`_`version`_`>.<`_`patch`_`>` format (e.g., `vulkan-sdk-1.3.266.0`).
51
52This scheme was adopted following the `1.3.266` Vulkan specification release.
53

README_OpenHarmony.md

1# Vulkan API Headers
2
3仓库包含Vulkan API 和 API 注册表。Vulkan 是一个适用于高性能 3D 图形设备的低开销、跨平台 API。与 OpenGL ES (GLES) 一样,Vulkan 提供用于在应用中创建高品质实时图形的工具。与OpenGL ES相比使用 Vulkan 的优势明显,Vulkan可以大大降低 CPU 开销,另外Vulkan支持 SPIR-V 二进制Shader语言。
4
5OpenHarmony引入后,在框架层新增加载程序(Vulkan-Loader),负责加GPU驱动实现、加载OpenHarmony平台的Vulkan WSI(Window System Integration, 窗口系统集成)实现,并对外开放Vulkan API。请参考[Vulkan-Loader](https://gitee.com/openharmony/third_party_vulkan-loader/blob/master/README_OpenHarmony.md)
6
7
8## 南向开发和OpenHarmony发行版
9
10设备成功运行Vulkan必需的条件:
11    1. Vulkan-Loader,由OpenHarmony提供
12    2. 实现了Vulkan API 的 VulKan 驱动程序,由 SoC 提供。
13
14### Vulkan Loader
15
16`third_party/vulkan-loader`中实现的Vulkan加载程序是Vulkan应用与Vulkan驱动之前的Wrapper层。安装在`/system/lib[64]/libvulkan.so`中。
17Vulkan Loader 会提供标准 Vulkan API 函数符号、OpenHarmony WSI扩展的函数符号,以及许多其他可选扩展。
18
19
20### Vulkan 驱动程序
21
22Vulkan-Loader成功加载Vulkan驱动程序的必要条件
23    1.要参考[LoaderDriverInterface](https://gitee.com/openharmony/third_party_vulkan-loader/blob/master/docs/LoaderDriverInterface.md)实现对应的接口;
24    2.提供驱动程序描述json文件,参考[加载GPU驱动](https://gitee.com/openharmony/third_party_vulkan-loader/blob/master/README_OpenHarmony.md#%E5%8A%A0%E8%BD%BDgpu%E9%A9%B1%E5%8A%A8);
25    3.实现OpenHarmony平台的扩展包括`VK_OHOS_native_buffer`和`VK_OHOS_external_memory`扩展。
26
27
28## 北向应用开发者
29
30### VK_OHOS_surface 扩展
31
32    接口:vkCreateSurfaceOHOS
33    VkResult vkCreateSurfaceOHOS(
34        VkInstance                               instance,
35        const VkSurfaceCreateInfoOHOS            pCreateInfo,
36        const VkAllocationCallbacks              pAllocator,
37        VkSurfaceKHR                             pSurface)
38
39    参数:
40        instance是要关联Surface的实例。
41        pCreateInfo是一个指向结构的指针,该VkSurfaceCreateInfoOHOS 结构包含影响表面对象创建的参数。
42        pAllocator是用于在没有更多特定内存分配器可用时做为Surface对象分配的分配器。
43        pSurface是一个指向VkSurfaceKHR句柄的指针,在该句柄中返回创建的Surface对象。
44
45
46## Vulkan使用文档
47
48API官方文档  https://registry.khronos.org/vulkan/
49
50
51## License
52
53见 [LICENSE](LICENSE).
54