Added glslang to build vulkan overlays in Mesa

This commit is contained in:
dslm4515
2022-01-11 13:20:19 -06:00
parent 4713b14914
commit 924b3402eb
3 changed files with 147 additions and 0 deletions

View File

@ -0,0 +1,56 @@
#! /bin/bash
# glslang
# Source: https://github.com/KhronosGroup/glslang/archive/11.6.0.tar.gz
#
# $BUILD = Directory to temporarily install
# $PKGS = Directory to store built packages
#
# DEPS
# Required: spirv-tools,cmake
# Recommended: NONE
# Optional: NONE
mkdir -p build-shared build-static
cd build-shared && \
cmake -GNinja -DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DCMAKE_BUILD_TYPE=MinSizeRel \
-DBUILD_SHARED_LIBS=ON .. && \
ninja -j2
cd .. && \
sed -i '/add_library(glslang-default-resource-limits/ s/$/ STATIC/' StandAlone/CMakeLists.txt && \
cd build-static && \
cmake -GNinja -DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DCMAKE_BUILD_TYPE=MinSizeRel \
-DBUILD_SHARED_LIBS=OFF .. && \
ninja -j2
cd .. && \
sudo -S DESTDIR=$BUILD ninja -C build-shared install
sudo -S DESTDIR=$BUILD ninja -C build-static install
cd $BUILD && sudo -S mkdir -v ${BUILD}/install &&
cat > /tmp/slack-desc << "EOF"
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
glslang: glslang
glslang:
glslang: Khronos reference front-end for GLSL, ESSL, and sample SPIR-V
glslang: generator.
glslang:
glslang: https://github.com/KhronosGroup/glslang
glslang:
EOF
sudo -S mv -v /tmp/slack-desc install/ &&
sudo -S makepkg -l y -c n $PKGS/glslang-11.6.0-$(uname -m)-mlfs.txz &&
sudo -S rm -rf ${BUILD}/*

View File

@ -0,0 +1,44 @@
#! /bin/bash
# SPIRV Headers
# Source: https://github.com/KhronosGroup/SPIRV-Headers
#
# $BUILD = Directory to temporarily install
# $PKGS = Directory to store built packages
#
# DEPS
# Required: CMake
# Recommended: NONE
# Optional: NONE
cmake -DCMAKE_INSTALL_PREFIX=/usr \
-DBUILD_SHARED_LIBS=True \
-DCMAKE_BUILD_TYPE=Release .
read -p "Compile?" && make -j2 &&
sudo -S make DESTDIR=$BUILD install &&
cd $BUILD && sudo -S mkdir -v ${BUILD}/install &&
cat > /tmp/slack-desc << "EOF"
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
spirv-headers: SPIRV Headers
spirv-headers:
spirv-headers: * Header files for various languages.
spirv-headers: * JSON files describing the grammar for the SPIR-V core instruction set
spirv-headers: and the extended instruction sets.
spirv-headers: * The XML registry file.
spirv-headers: * A tool to build the headers from the JSON grammar.
spirv-headers:
spirv-headers: https://github.com/KhronosGroup/SPIRV-Headers
EOF
sudo -S mv -v /tmp/slack-desc install/ &&
sudo -S makepkg -l y -c n $PKGS/spirv-headers-1.5.5-$(uname -m)-mlfs.txz &&
sudo -S rm -rf ${BUILD}/*

View File

@ -0,0 +1,47 @@
#! /bin/bash
# spirv-tools
# Source: https://github.com/KhronosGroup/spirv-tools
#
# $BUILD = Directory to temporarily install
# $PKGS = Directory to store built packages
#
# DEPS
# Required: CMake, spirv-headers
# Recommended: NONE
# Optional: NONE
mkdir build && cd build && \
cmake -GNinja -DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DBUILD_SHARED_LIBS=True \
-DCMAKE_BUILD_TYPE=MinSizeRel \
-DSPIRV_WERROR=OFF \
-DSPIRV_SKIP_TESTS=ON \
-DSPIRV-Headers_SOURCE_DIR=/usr ..
read -p "Compile?" && ninja -j2 &&
sudo -S DESTDIR=$BUILD ninja install &&
cd $BUILD && sudo -S mkdir -v ${BUILD}/install &&
cat > /tmp/slack-desc << "EOF"
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
spirv-tools: spirv-tools
spirv-tools:
spirv-tools: The SPIR-V Tools project provides an API and commands for processing
spirv-tools: SPIR-V modules.
spirv-tools:
spirv-tools: https://github.com/KhronosGroup/spirv-tools
spirv-tools:
EOF
sudo -S mv -v /tmp/slack-desc install/ &&
sudo -S makepkg -l y -c n $PKGS/spirv-tools-2021.5.0-$(uname -m)-mlfs.txz &&
sudo -S rm -rf ${BUILD}/*