-# MESA Driver sponsored by NLNet
+# MESA Driver sponsored by NLnet
todo http://lists.libre-soc.org/pipermail/libre-soc-dev/2020-August/000246.html
Install `meson` (version 52.0 or later):
+ apt-get update -y
apt-get install -y -t buster-backports meson
Then install the necessary packages by running the following commands as root:
export PKG_CONFIG_PATH=~/opt/lsoc_mesa/lib/x86_64-linux-gnu/pkgconfig/
+These following `vulkan`-specific environment variables are necessary to build our branch of mesa successfully:
+
+ export VK_ICD_FILENAMES=/home/$USER/opt/lsoc_mesa/share/vulkan/icd.d/libresoc_icd.x86_64.json
+ export VK_LOADER_DEBUG=warn
+ export LIBRESOC_TRACE=1
+
Now change back to the base `~/opt` directory and clone the `mesa` git repo from the `mesa` gitlab instance. Change to the `mesa` directory. Create a build directory and cd into it.
cd ~/opt
- git clone https://gitlab.freedesktop.org/mesa/mesa.git
+ git clone https://git.libre-soc.org/git/mesa.git
+ git pull --rebase origin libresoc_dev
+ git checkout -b libresoc_dev
cd mesa
mkdir build && cd build
In order to configure `mesa` for building and installation run the following command. Again, it is *very* important to specify `prefix=/home/$USER/opt/lsoc_mesa` because as mentioned above we need these files for development purposes, but we do not want to corrupt or interfere with our *system* `mesa` libraries.
- meson -Dbuildtype=debug -Dprefix=/home/$USER/opt/lsoc_mesa
+ meson -Dbuildtype=debug -Dprefix=/home/$USER/opt/lsoc_mesa \
+ -Dvulkan-drivers=libre-soc ..
After configuration has completed, run ninja to build and install the `mesa` libraries.
# From here on is solely Vivek's instructions
-I also have script to set few environment variables like
-
- export VK_ICD_FILENAMES=/home/vivek/install/share/vulkan/icd.d/libresoc_icd.x86_64.json
- export VK_LOADER_DEBUG=warn
- export LIBRESOC_TRACE=1
-
To test the code I am sing simple tests built by
+
https://github.com/GameTechDev/IntroductionToVulkan
I am also using debug build for vulkan loader if any one interested in that
previously it was on master so it will cause me problems working on master
branch.
-Also note slight change in meson configure command
-meson -Dbuildtype=debug -Dprefix=/home/vivek/install
--Dvulkan-drivers=libre-soc ..
-
-instead of libresoc it is libre-soc for vulkan-drivers option.
-
# Running vulkan intro tutorial
* <https://github.com/GameTechDev/IntroductionToVulkan/tree/master/Project/Tutorials/01>
* <http://lists.libre-soc.org/pipermail/libre-soc-dev/2020-August/000368.html>
+
+# Demos with lavapipe
+
+> It can be built with
+> meson configure -Dvulkan-drivers=swrast -Dgallium-drivers=swrast
+> set VK_ICD_FILENAMES to the lvp_icd.x86_64.json file and vulkaninfo should
+> show it.
+>
+> I tried running demos from
+> https://software.intel.com/content/www/us/en/develop/articles/api-without-
+> secrets-introduction-to-vulkan-part-1.html and all 7 runs fine with lavapipe.
+
+* <https://bugs.libre-soc.org/show_bug.cgi?id=251#c58>