• 编译 mesa


    原则:llvm版本越高越好,cmake版本越高越好,meson也是,否则可能无法满足要求

    还有一个策略就是构建比较旧的mesa版本,比如mesa19.1之类的,而不是最新的

    一,环境设置

    源代码安装cmake

    如果是旧版本的python3.6而且卸载不掉的话,先安装高版本,再重新建立python3软连接到新版本:
    apt install python3.8

    ln -s   /usr/bin/python3.8 /usr/bin/python3  
    python3 -m pip3


    二,安装glslangValidator


    开发 Vulkan 的时候,需要使用 glslangValidator 编译 Vulkan 代码。

    如果是 ubuntu 19.10 版本,可以直接执行:

    $ apt install glslang-tools

    #$ sudo apt-get install vulkan-tools

    # 目前ubuntu 20.04 最新需要使用如下命令 sudo apt-get install glslang-tools

    $ sudo apt-get install vulkan-tools
     
    # 目前ubuntu 20.04 最新需要使用如下命令 sudo apt-get install glslang-tools
    如果低于这个版本,则只能从源代码编译安装了,如下:

    # 编译安装 glslang
    $ git clone https://github.com/KhronosGroup/glslang.git

    # 也可本站下载一份拷贝 wget https://www.mobibrw.com/wp-content/uploads/2018/12/glslang.zip
    $ cd glslang
     
    # 目前(2018.12.17)的正式版,最稳定的版本,试过最新的版本,编译部分代码存在问题
    $ git checkout 7.10.2984
     
    # 下载 spirv-tools 部分的功能代码
    $ python update_glslang_sources.py 
    $ mkdir build
    $ cd build
    $ cmake ..
    $ make
    $ sudo make install

    # 编译安装 glslang
    $ git clone https://github.com/KhronosGroup/glslang.git
     
    # 也可本站下载一份拷贝 wget https://www.mobibrw.com/wp-content/uploads/2018/12/glslang.zip
     
    $ cd glslang
     
    # 目前(2018.12.17)的正式版,最稳定的版本,试过最新的版本,编译部分代码存在问题
    $ git checkout 7.10.2984
     
    # 下载 spirv-tools 部分的功能代码
    $ python update_glslang_sources.py 
    $ mkdir build
    $ cd build
    $ cmake ..
    $ make
    $ sudo make install


     

    三,编译

    # 安装编译工具及依赖
    sudo apt build-dep mesa
    sudo apt install meson
    # 设置源码环境变量路径
    export TOP=/home/examyes/dev/mesa-20.0.8
    cd $TOP
    meson build/
    meson configure build/
    meson configure build/ -Dprefix=/tmp/mesa-install
    ninja -C build/
    ninja -C build/ install
     

  • 相关阅读:
    laravel框架 - 安装初步使用学习 composer安装
    【Python 实战】---- 使用 RemoveBg 实现一键批量抠图
    博士论文——相似度
    Dynamics 365 CRM 性能优化
    springboot配置过滤器和多个拦截器、执行顺序
    Python 霸榜的一周,又有什么新 AI 力作呢?「GitHub 热点速览」
    用java写一个HttpClients的连接池实例,用PoolingHttpClientConnectionManager
    CSS初阶语法
    远程服务器的Docker环境遇到问题,无法调试
    UMLChina建模竞赛第3赛季第11轮:啪啪啪啪运指如飞
  • 原文地址:https://blog.csdn.net/eloudy/article/details/127763971