• Home
Name Date Size #Lines LOC

..--

.github/ISSUE_TEMPLATE/07-Sep-2024-3321

cmake/07-Sep-2024-63

include/07-Sep-2024-250,191214,733

registry/07-Sep-2024-116,758114,913

tests/07-Sep-2024-9472

.gitattributesD07-Sep-2024421 1711

.gitignoreD07-Sep-202458 76

BUILD.gnD07-Sep-20242.6 KiB8678

BUILD.mdD07-Sep-20241.2 KiB4328

CMakeLists.txtD07-Sep-20243.9 KiB9573

CODE_OF_CONDUCT.mdD07-Sep-2024280 21

CONTRIBUTING.mdD07-Sep-20241 KiB3626

INTEGRATION.mdD07-Sep-20248.6 KiB10058

LICENSE.txtD07-Sep-202411.1 KiB203169

OAT.xmlD07-Sep-20245.6 KiB8529

README.OpenSourceD07-Sep-2024341 1211

README.mdD07-Sep-2024841 3017

README_OpenHarmony.mdD07-Sep-20242.6 KiB5432

bundle.jsonD07-Sep-20241.2 KiB4545

README.OpenSource

1[
2    {
3        "Name": "Vulkan",
4        "License": "Apache-2.0",
5        "License File": "LICENSE.txt",
6        "Version Number": "sdk-1.3.250.1",
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# Vulkan-Headers
2
3Vulkan header files and API registry
4
5## Contributing
6
7See the [CONTRIBUTING.md](CONTRIBUTING.md)
8
9## Building
10
11See [BUILD.md](BUILD.md)
12
13## SDK Support
14
15Vulkan-Headers are shipped as part of the official [Vulkan-SDK](https://www.lunarg.com/vulkan-sdk/)
16
17## C/C++ Package Manager Support
18
19`Vulkan-Headers` are also supported by both [conan](https://conan.io/) & [vcpkg](https://learn.microsoft.com/en-us/vcpkg/).
20
21## Version Tagging Scheme
22
23Updates to the `Vulkan-Headers` repository which correspond to a new Vulkan
24specification release are tagged using the following format:
25`v<`_`version`_`>` (e.g., `v1.1.96`).
26
27**Note**: Marked version releases have undergone thorough testing but do not
28imply the same quality level as SDK tags. SDK tags follow the
29`sdk-<`_`version`_`>.<`_`patch`_`>` format (e.g., `sdk-1.1.92.0`).
30

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