• Home
  • Raw
  • Download

Lines Matching full:spirv

3 …branch/master?svg=true)](https://ci.appveyor.com/project/Khronoswebmaster/spirv-tools/branch/maste…
4 …"20px" hspace="2px"/>![Linux Build Status](https://storage.googleapis.com/spirv-tools/badges/build…
5 …"20px" hspace="2px"/>![MacOS Build Status](https://storage.googleapis.com/spirv-tools/badges/build…
6 …0px" hspace="2px"/>![Windows Build Status](https://storage.googleapis.com/spirv-tools/badges/build…
24 See the [SPIR-V Registry][spirv-registry] for the SPIR-V specification,
27 ## Versioning SPIRV-Tools
31 SPIRV-Tools project version numbers are of the form `v`*year*`.`*index* and with
50 [SPIRV-Headers](spirv-headers) repository.
75 sub-project](https://github.com/KhronosGroup/SPIRV-Tools/projects/1) for planned
80 It is [future work](https://github.com/KhronosGroup/SPIRV-Tools/projects/1#card-1052403)
113 [`include/spirv-tools/optimizer.hpp`](include/spirv-tools/optimizer.hpp).
115 … to this [white paper](https://www.lunarg.com/shader-compiler-technologies/white-paper-spirv-opt/).
128 sub-project](https://github.com/KhronosGroup/SPIRV-Tools/projects/2) for
134 * Build target `spirv-tools-vimsyntax` generates file `spvasm.vim`.
141 and is hosted at https://github.com/KhronosGroup/SPIRV-Tools.
144 [https://www.khronos.org/spir/spirv-tools-mailing-list/](https://www.khronos.org/spir/spirv-tools-m…
145 The mailing list is used to discuss development plans for the SPIRV-Tools as an open source project.
148 [projects][spirv-tools-projects].
151 [SPIRV-Headers][spirv-headers] GitHub repository.)
161 [Khronos Open Source Contributor License Agreement][spirv-tools-cla]
169 `clang-format version 5.0.0` for SPIRV-Tools. Settings are defined by
176 * `example`: demo code of using SPIRV-Tools APIs
185 * `external/spirv-headers`: Intended location for
186 [SPIR-V headers][spirv-headers], not provided
187 * `include/spirv-tools/libspirv.h`: C API public interface
192 Example of getting sources, assuming SPIRV-Tools is configured as a standalone project:
194 git clone https://github.com/KhronosGroup/SPIRV-Tools.git spirv-tools
195 git clone https://github.com/KhronosGroup/SPIRV-Headers.git spirv-tools/external/spirv-headers
196 git clone https://github.com/google/googletest.git spirv-tools/external/googletest
197 git clone https://github.com/google/effcee.git spirv-tools/external/effcee
198 git clone https://github.com/google/re2.git spirv-tools/external/re2
210 `googletest` source into the `<spirv-dir>/external/googletest` directory before
223 * If SPIRV-Tools is configured as part of a larger project that already uses
224 Effcee, then that project should include Effcee before SPIRV-Tools.
225 * Otherwise, SPIRV-Tools expects Effcee sources to appear in `external/effcee`
238 configurations. Assume that `<spirv-dir>` is the root directory of the checked
242 cd <spirv-dir>
243 git clone https://github.com/KhronosGroup/SPIRV-Headers.git external/spirv-headers
249 cmake [-G <platform-generator>] <spirv-dir>
278 Additionally, you can pass additional C preprocessor definitions to SPIRV-Tools
289 cd <spirv-dir>
311 to `<spirv-dir>/include`, which will enable the application to include the
312 header `<spirv-dir>/include/spirv-tools/libspirv.h{|pp}` then linking against
313 the static library in `<spirv-build-dir>/source/libSPIRV-Tools.a` or
314 `<spirv-build-dir>/source/SPIRV-Tools.lib`.
316 `<spirv-dir>/include/spirv-tools/optimizer.hpp`, and the static library is
317 `<spirv-build-dir>/source/libSPIRV-Tools-opt.a` or
318 `<spirv-build-dir>/source/SPIRV-Tools-opt.lib`.
320 * `SPIRV-Tools` CMake target: Creates the static library:
321 * `<spirv-build-dir>/source/libSPIRV-Tools.a` on Linux and OS X.
322 * `<spirv-build-dir>/source/libSPIRV-Tools.lib` on Windows.
323 * `SPIRV-Tools-opt` CMake target: Creates the static library:
324 * `<spirv-build-dir>/source/libSPIRV-Tools-opt.a` on Linux and OS X.
325 * `<spirv-build-dir>/source/libSPIRV-Tools-opt.lib` on Windows.
358 The standalone assembler is the exectuable called `spirv-as`, and is located in
359 `<spirv-build-dir>/tools/spirv-as`. The functionality of the assembler is implemented
362 * `spirv-as` - the standalone assembler
363 * `<spirv-dir>/tools/as`
371 The standalone disassembler is the executable called `spirv-dis`, and is located in
372 `<spirv-build-dir>/tools/spirv-dis`. The functionality of the disassembler is implemented
375 * `spirv-dis` - the standalone disassembler
376 * `<spirv-dir>/tools/dis`
392 * `spirv-link` - the standalone linker
393 * `<spirv-dir>/tools/link`
402 * `spirv-opt` - the standalone optimizer
403 * `<spirv-dir>/tools/opt`
409 The standalone validator is the executable called `spirv-val`, and is located in
410 `<spirv-build-dir>/tools/spirv-val`. The functionality of the validator is implemented
415 * `spirv-val` - the standalone validator
416 * `<spirv-dir>/tools/val`
425 * `spirv-cfg` - the control flow graph dumper
426 * `<spirv-dir>/tools/cfg`
430 * `spirv-lesspipe.sh` - Automatically disassembles `.spv` binary files for the
432 environment variable as follows, assuming both `spirv-lesspipe.sh` and
433 `spirv-dis` are on your executable search path:
435 export LESSOPEN='| spirv-lesspipe.sh "%s"'
441 * The `spirv-lesspipe.sh` script will pass through any extra arguments to
442 `spirv-dis`. So, for example, you can turn off colours and friendly ID
445 export LESSOPEN='| spirv-lesspipe.sh "%s" --no-color --raw-id'
448 * [vim-spirv](https://github.com/kbenzie/vim-spirv) - A vim plugin which
455 * `50spirv-tools.el` - Automatically disassembles '.spv' binary files when
468 This may change if the ability is added to spirv-as.
479 _See the [projects pages](https://github.com/KhronosGroup/SPIRV-Tools/projects)
522 [spirv-tools-cla]: https://cla-assistant.io/KhronosGroup/SPIRV-Tools
523 [spirv-tools-projects]: https://github.com/KhronosGroup/SPIRV-Tools/projects
524 [spirv-tools-mailing-list]: https://www.khronos.org/spir/spirv-tools-mailing-list
525 [spirv-registry]: https://www.khronos.org/registry/spir-v/
526 [spirv-headers]: https://github.com/KhronosGroup/SPIRV-Headers
535 [master-tot-release]: https://github.com/KhronosGroup/SPIRV-Tools/releases/tag/master-tot