|
- name: windows-x64-gpu-vs2019
- on: [push, pull_request]
- jobs:
- windows-vs2019-gpu:
- runs-on: windows-latest
- steps:
- - uses: actions/checkout@v2
- with:
- submodules: true
- - name: cache-protobuf
- id: cache-protobuf
- uses: actions/cache@v1
- with:
- path: "protobuf-install"
- key: protobuf-windows-install
- - name: protobuf
- if: steps.cache-protobuf.outputs.cache-hit != 'true'
- run: |
- Invoke-WebRequest -Uri https://github.com/protocolbuffers/protobuf/archive/v3.11.2.zip -OutFile protobuf-3.11.2.zip
- 7z x ./protobuf-3.11.2.zip
- cd protobuf-3.11.2
- mkdir build-vs2019; cd build-vs2019; cmake -DCMAKE_INSTALL_PREFIX="$env:GITHUB_WORKSPACE\protobuf-install" -Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_MSVC_STATIC_RUNTIME=OFF ../cmake
- cmake --build . --config Release -j 2
- cmake --build . --config Release --target install
- - name: cache-vulkansdk
- id: cache-vulkansdk
- uses: actions/cache@v1
- with:
- path: "VulkanSDK"
- key: VulkanSDK-1.1.114.0-Installer
- - name: vulkansdk
- if: steps.cache-vulkansdk.outputs.cache-hit != 'true'
- run: |
- Invoke-WebRequest -Uri https://sdk.lunarg.com/sdk/download/1.1.114.0/windows/VulkanSDK-1.1.114.0-Installer.exe?Human=true -OutFile VulkanSDK-1.1.114.0-Installer.exe
- 7z x -aoa ./VulkanSDK-1.1.114.0-Installer.exe -oVulkanSDK
- Remove-Item .\VulkanSDK\Demos, .\VulkanSDK\glslang, .\VulkanSDK\Samples, .\VulkanSDK\shaderc, .\VulkanSDK\spirv-tools, .\VulkanSDK\Third-Party, .\VulkanSDK\Tools, .\VulkanSDK\Tools32 -Recurse
- - name: cache-swiftshader
- id: cache-swiftshader
- uses: actions/cache@v1
- with:
- path: swiftshader-install
- key: swiftshader-windows-install-20200508
- - name: checkout-swiftshader
- if: steps.cache-swiftshader.outputs.cache-hit != 'true'
- uses: actions/checkout@v2
- with:
- repository: google/swiftshader
- path: swiftshader
- ref: 2dd864470e310d173d35fa95ca3a14d216734aab
- - name: checkout-swiftshader-submodules
- if: steps.cache-swiftshader.outputs.cache-hit != 'true'
- run: |
- cd swiftshader
- git submodule update --init --recursive
- - name: swiftshader
- if: steps.cache-swiftshader.outputs.cache-hit != 'true'
- run: |
- cd swiftshader
- mkdir build-vs2019; cd build-vs2019
- cmake -DCMAKE_INSTALL_PREFIX=install -DSWIFTSHADER_BUILD_EGL=FALSE -DSWIFTSHADER_BUILD_GLESv2=FALSE -DSWIFTSHADER_BUILD_GLES_CM=FALSE -DSWIFTSHADER_BUILD_VULKAN=TRUE -DSWIFTSHADER_BUILD_PVR=FALSE -DSWIFTSHADER_BUILD_TESTS=FALSE -DSWIFTSHADER_ENABLE_ASTC=FALSE -DSWIFTSHADER_WARNINGS_AS_ERRORS=FALSE -DREACTOR_BACKEND=Subzero -DREACTOR_DEFAULT_OPT_LEVEL=Default -DCMAKE_BUILD_TYPE=Release ..
- cmake --build . --config Release -j 2
- mkdir "$env:GITHUB_WORKSPACE/swiftshader-install"
- Copy-Item -Path "Windows\*" -Destination "$env:GITHUB_WORKSPACE\swiftshader-install"
- - name: configure
- run: |
- $env:VULKAN_SDK="$(pwd)/VulkanSDK"
- mkdir build; cd build
- cmake -DProtobuf_INCLUDE_DIR="$env:GITHUB_WORKSPACE\protobuf-install\include" -DProtobuf_LIBRARIES="$env:GITHUB_WORKSPACE\protobuf-install\lib\libprotobuf.lib" -DProtobuf_PROTOC_EXECUTABLE="$env:GITHUB_WORKSPACE\protobuf-install\bin\protoc.exe" -DNCNN_VULKAN=ON ..
- - name: build
- run: cmake --build build --config Release -j 2
- - name: test
- run: |
- Copy-Item -Path '.\VulkanSDK\RunTimeInstaller\x64\vulkan-1.dll' -Destination 'build\tests'
- $env:VK_ICD_FILENAMES="$env:GITHUB_WORKSPACE\swiftshader-install\vk_swiftshader_icd.json"
- cd build; ctest -C Release --output-on-failure -j 2
|