Giter Club home page Giter Club logo

vkb's Introduction

VKB

Build scripts to build many bits of Vulkan together in one place.

This is not an officially supported Google product.

Requirements

  • CMake 3.10.2 or later
  • C++ compiler
  • Make
  • wget
  • Ninja (optional)
  • Python

Usage

git clone https://github.com/google/vkb.git
cd vkb
./tools/git-sync-deps
mkdir -p out/Debug
cd out/Debug
cmake -GNinja -DCMAKE_INSTALL_PREFIX=../dist ../..
ninja
ninja install

CMake Options

The components which are built by VKB are configurable through CMake options. Note, some of these flags will enable other flags by default, even if they are set to off. (e.g. SPIRV-Tools enables SPIRV-Headers by default).

  • VKB_BUILD_GLSLANG -- Build Glslang
  • VKB_BUILD_SHADERC -- Build Shaderc
  • VKB_BUILD_SPIRV_CROSS -- Build spirv-cross
  • VKB_BUILD_SPIRV_HEADERS -- Build spirv-headers
  • VKB_BUILD_SPIRV_TOOLS -- Build spirv-tools
  • VKB_BUILD_SPIRV_DOCS -- Build spirv docs
  • VKB_BUILD_VULKAN_DOCS -- Build vulkan-docs
  • VKB_BUILD_VULKAN_HEADERS -- Build vulkan-headers
  • VKB_BUILD_VULKAN_HPP -- Build vulkan-hpp
  • VKB_BUILD_VULKAN_LOADER -- Build vulkan-loader
  • VKB_BUILD_VULKAN_VALIDATION_LAYERS -- Build vulkan-validationlayers

Contributing

Please see the CONTRIBUTING.md and CODE_OF_CONDUCT.md files on how to contribute to VKB.

vkb's People

Contributors

ben-clayton avatar dj2 avatar dneto0 avatar tksuoran avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

vkb's Issues

Investigate test failures.

When running ctest locally I get failures in:

  • spirv-tools-test_spirv_unit_tests (Failed)
  • glslang-testsuite (Failed)
  • vk_loader_validation_tests (Failed)
  • vk_layer_validation_tests (SEGFAULT)
  • spirv-cross-test-no-opt
  • spirv-cross-test-metal-opt

Integrate SPIRV-Cross tests into ctest run

SPIRV-Cross is current built, but it does not get tested through ctest. Determine if we can test it with ctest, and if not, figure out a way to have non-ctest tests run during the build/test cycle.

Setup build bots

Setup bots to build on each PR.

  • Windows VS2017 Debug
  • Windows VS2017 Release
  • Windows Mingw Android build
  • Android NDK build
  • MacOS Clang Debug build
  • MacOS Clang Release build
  • Linux Clang Debug build
  • Linux GCC Debug build
  • Linux Clang Release build
  • Linux GCC Release build

Integrate Vulkan-HPP

Integrate vulkan-hpp into the vkb build system. Will need to upload changes to the Vulkan-HPP repo to allow changing the folder of tiny-xml and other dependencies.

Add SwiftShader

Add swiftshader to the build. This should also let us run things like Amber tests which require an ICD.

Enable spirv-cross test suite

Currently the spirv-cross test suite does not get built as various programs are not found (glslangValidator, spirv-as, spirv-val and spirv-opt). Setup the build files to point to the executables and enable the spirv-cross test suite.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.