* query subgroup features
* compile spirv 1.3
* drop offline spirv build
* do not build tests for android and ios, as they are never tested anyway
* code style
* vulkan cmake export templete
* 1) vulkan cmake dependency export. 2) support opencv_world import. 3) add BUILD_WITH_STATIC_CRT option
* Threads dependency
* NCNN_BUILD_WITH_STATIC_CRT option
* we do not support cmake before version 3.15 for option NCNN_BUILD_WITH_STATIC_CRT
* runtime cpu dispatch
* force thread one
* disable openmp for coverage
* simplify test layer
* print NCNN_TARGET_ARCH
* less ci build variants
* weight fp16 storage option
* test convdw int8
* apple a12 a13
* ncnn_add_layer ncnn_add_shader cmake macro
* use Mat class for Shape description
* shape specialization constant in compute shader
* wip
* wip
* test forward_inplace, add binaryop unaryop sigmoid test
* fix arm unaryop test
* fix arm binaryop test
* make shape hint optional, cast int8 to fp32, add cast test
* wip
* follow the good and old local size setting for conv1x1
* the optimal local size rewrite
* fix build on msvc
* add permute shader for all packing layout, add permute test
* concat and slice patial shape constant, slice test
* fix slice test
* interp test
* add lrn test, test packing layout implicitly
* add eltwise test
* add normalize test
* add instancenorm test
* reorg shape constant
* simple local group size partition
* add shape constant param
* CMake improvement
* Fix bugs
* Fix typo
* Propagate vulkan dependency
* import vulkan
* add config files, now exported target cmake should be able to find packages
* Propagate no-rtti and no-exception
* Provide a option to control rtti and exception in mobile platform
* Make cmake clean
* Resolve conflicts
* Update CMake
PIE is propagated by INTERFACE_POSITION_INDEPENDENT_CODE
* Remove bad things