cllang-cle로 SwiftShader(Vulkan only) 구축

배경.


CPU Vulkan 렌더링을 위해 SwiftShader(Vulkan)를 사용하고 싶습니다.
Windows도 이동을 원하기 때문에 Visual Studio는 번거롭습니다.
clang-cl+WSL을 사용하여 구성합니다.

컨디션


Windows SDK, MSVC SDK 등이 필요합니다.
Visual Studio C++ Build Tools+clank+CMake+Ninja를 통해 C++ 대량 구축 및 VScode 협력 환경 조정
https://qiita.com/syoyo/items/bd4f81e7803afb5a3d19
참고해주세요.

repo


본가의 리포가 대응하지 않기 때문에 클론 포크를 부탁합니다.
clang-cl에서 /MP 옵션이 대응하지 않기 때문에 삭제합니다.
forked swiftshader 자체는 해당되지만submodule의 SPIRV-Tools를 통해 대응해야 합니다.
홍보를 이미 보냈으니 아마 가져올 수 없을 것이다.

build


이후 참고scripts/bootstrap-clang-cl-wsl.sh로 경로 등을 통해 cmake bootstrap을 진행하면 됩니다!
rm -rf build-clang-cl-wsl
mkdir build-clang-cl-wsl

# Path containing space does not work well, so use symlink to MSVC_BASE and WINSDK_BASE.
# Assume LLVM_NATIVE_TOOLCHAIN points to linux version of clang+llvm
# 
cd build-clang-cl-wsl
cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE="cmake/clang-cl-msvc-wsl.cmake" \
  -DHOST_ARCH=x64 \
  -DLLVM_NATIVE_TOOLCHAIN="/home/syoyo/local/clang+llvm-10.0.0-x86_64-linux-gnu-ubuntu-18.04/" \
  -DMSVC_BASE:FILEPATH="/home/syoyo/msvc/VC/Tools/MSVC/14.26.28801/" \
  -DWINSDK_BASE="/home/syoyo/msvc/kits/10/" \
  -DWINSDK_VER="10.0.18362.0" \
  ..
cmake bootstrap이 순조롭게 진행되면 구축할 수 있습니다!

좋은 웹페이지 즐겨찾기