SPIRV-Tools-2023.5.rc1

SPIRV-Tools の概要

The SPIRV-Tools package contains libraries and utilities for processing SPIR-V modules.

[注記]

注記

LFS や依存パッケージが本ブックに示す最新安定バージョンでなかった場合には、BLFS 開発版においては、パッケージのビルドや処理実行が適切に行われないことがあります。

パッケージ情報

SPIRV-Tools の依存パッケージ

必須

CMake-3.28.1, SPIRV-Headers-1.3.268.0

SPIRV-Tools のインストール

以下のコマンドを実行して SPIRV-Tools をビルドします。

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr     \
      -DCMAKE_BUILD_TYPE=Release      \
      -DSPIRV_WERROR=OFF              \
      -DBUILD_SHARED_LIBS=ON          \
      -DSPIRV_TOOLS_BUILD_STATIC=OFF  \
      -DSPIRV-Headers_SOURCE_DIR=/usr \
      -G Ninja .. &&
ninja

ビルド結果をテストする場合は ninja test を実行します。

root ユーザーになって以下を実行します。

ninja install

コマンド説明

-DSPIRV_WERROR=OFF: This switch stops the build system from treating warnings as errors.

-DBUILD_SHARED_LIBS=ON: This switch forces the build system to install shared libraries instead of static libraries.

-DSPIRV_TOOLS_BUILD_STATIC=OFF: This switch disables building static versions of the libraries.

-DSPIRV-Headers_SOURCE_DIR: This switch tells the build system that SPIRV-Headers-1.3.268.0 is installed in /usr. This is needed since the build system tries to use an internal copy by default.

パッケージ構成

インストールプログラム: spirv-as, spirv-cfg, spirv-dis, spirv-lesspipe.sh, spirv-link, spirv-lint, spirv-objdump, spirv-opt, spirv-reduce, spirv-val
インストールライブラリ: libSPIRV-Tools-diff.so, libSPIRV-Tools-link.so, libSPIRV-Tools-lint.so, libSPIRV-Tools-opt.so, libSPIRV-Tools-reduce.so, libSPIRV-Tools-shared.so, libSPIRV-Tools.so
インストールディレクトリ: /usr/include/spirv-tools, /usr/lib/cmake/SPIRV-Tools

概略説明

spirv-as

creates a SPIR-V binary module from SPIR-V assembly text

spirv-cfg

shows the control flow graph in "dot" format

spirv-dis

disassembles a SPIR-V binary module

spirv-lesspipe.sh

automatically disassembles a .SPV file for 'less'

spirv-link

links SPIR-V binary files together

spirv-lint

checks a SPIR-V binary module for errors

spirv-objdump

dumps information from a SPIR-V binary

spirv-opt

performs optimizations on SPIR-V binary files

spirv-reduce

reduces a SPIR-V binary file

spirv-val

validates a SPIR-V binary file

libSPIRV-Tools.so

contains functions for processing SPIR-V modules