diff --git a/OAT.xml b/OAT.xml new file mode 100644 index 0000000000000000000000000000000000000000..76137c9f2ce92692b0c1fb1d663c71669472f8b6 --- /dev/null +++ b/OAT.xml @@ -0,0 +1,29 @@ + + + + + + LICENSE.txt + + + + + + + \ No newline at end of file diff --git a/README.OpenSource b/README.OpenSource new file mode 100644 index 0000000000000000000000000000000000000000..f35c2dd967cd6b2ddecc6fc3ed82ff7b2ebce7eb --- /dev/null +++ b/README.OpenSource @@ -0,0 +1,11 @@ +[ + { + "Name": "Vulkan-ValidationLayers", + "License": "Apache-2.0", + "License File": "LICENSE", + "Version Number": "v1.3.231", + "Owner": "liuzhiyuan31@huawei.com", + "Upstream URL": "https://github.com/KhronosGroup/Vulkan-ValidationLayers.git", + "Description": "This project provides Vulkan validation layers that can be enabled to assist development by enabling developers to verify their applications correct use of the Vulkan API." + } +] \ No newline at end of file diff --git a/README_OpenHarmony.md b/README_OpenHarmony.md new file mode 100644 index 0000000000000000000000000000000000000000..6d1a334d50e37f74e654b3519fe7d2243b70b87c --- /dev/null +++ b/README_OpenHarmony.md @@ -0,0 +1,44 @@ +# Vulkan-ValidationLayers + +本仓库包含开源软件Vulkan-ValidationLayers,为OpenHarmony提供了Vulkan验证层,大部分Vulkan API都不会进行错误检查,因为执行这些错误检查会降低性能,Vulkan验证层可以在应用程序开发期间为开发者提供一些错误检查,帮助开发者正确使用Vulkan API。 + +## Vulkan-ValidationLayers的实现方式 + +Vulkan-ValidationLayers被实现为一个Vulkan Layer,由Vulkan-Loader加载并使用,Vulkan-Loader的功能请参考[Vulkan-Loader](https://gitee.com/openharmony/third_party_vulkan-loader/blob/master/README_OpenHarmony.md)。 + +![vulkan-validationlayers_architecture_in_OH](imgs/vulkan-validationlayers_architecture_in_OH.png) + + +## Vulkan-Loader加载验证层的方式 + +Vulkan-ValidationLayers在系统目录下会提供一个json配置文件`VkLayer_khronos_validation.json`和一个so文件`libVkLayer_khronos_validation.so`。 + +Vulkan-Loader扫描指定目录下的json配置文件,解析出so的位置并加载对应的so文件。 + +![vulkan-validationlayers_load_way_in_OH](imgs/vulkan-validationlayers_load_way_in_OH.png) + + +## 构建指导 + +适配OpenHarmony平台的编译脚本请见:[build-openharmony/BUILD.gn](build-openharmony/BUILD.gn) + +由于graphic_2d模块的编译脚本中包含了Vulkan-ValidationLayers(详见:[bundle.json](https://gitee.com/openharmony/graphic_graphic_2d/blob/master/bundle.json)),所以编译graphic_2d模块可以将Vulkan-ValidationLayers同时编译出来,以rk3568平台为例,编译命令: + +```shell +./build.sh --product-name rk3568 --ccache --build-target graphic_2d +``` + +也可以单独编译Vulkan-ValidationLayers: + +```shell +./build.sh --product-name rk3568 --ccache --build-target VkLayer_khronos_validation +``` + +编译完成后会在`out/rk3568/graphic/graphic_2d`目录下生成`libVkLayer_khronos_validation.so` + + +## License + +Apache License 2.0 + +见 [LICENSE](LICENSE.txt). \ No newline at end of file diff --git a/imgs/vulkan-validationlayers_architecture_in_OH.png b/imgs/vulkan-validationlayers_architecture_in_OH.png new file mode 100644 index 0000000000000000000000000000000000000000..c32d6be35785db3beb749edfa3daef7926e5a526 Binary files /dev/null and b/imgs/vulkan-validationlayers_architecture_in_OH.png differ diff --git a/imgs/vulkan-validationlayers_load_way_in_OH.png b/imgs/vulkan-validationlayers_load_way_in_OH.png new file mode 100644 index 0000000000000000000000000000000000000000..20802703063bda0fa5118fa40f93ea53291b06ec Binary files /dev/null and b/imgs/vulkan-validationlayers_load_way_in_OH.png differ