Skip to content

Update Mesa to 21.1.6 and enable OpenCL #2173

Merged
merged 4 commits into from
Aug 9, 2021

Commits on Aug 5, 2021

  1. libclc: Add version 12.0.1

    [Description][1]:
    
    > libclc is an open source, BSD/MIT dual licensed implementation of the
    > library requirements of the OpenCL C programming language, as specified
    > by the OpenCL 1.1 Specification.
    
    Building Mesa 3D with OpenCL support (`-Dgallium-opencl="icd"`) requires
    LLVM’s libclc.
    
        Run-time dependency libclc found: NO (tried pkgconfig and cmake)
    
        ../source/meson.build:849:2: ERROR: Dependency "libclc" not found, tried pkgconfig and cmake
    
    [1]: https://libclc.llvm.org/
    pmenzel committed Aug 5, 2021
    Configuration menu
    Copy the full SHA
    9b111e3 View commit details
    Browse the repository at this point in the history
  2. libclc: Disable SPIRV targets

    Building all targets fails due to the check below:
    
        if( "spirv-mesa3d-" IN_LIST LIBCLC_TARGETS_TO_BUILD OR "spirv64-mesa3d-" IN_LIST LIBCLC_TARGETS_TO_BUILD )
                if( NOT LLVM_SPIRV )
                        message( FATAL_ERROR "SPIR-V targets requested, but spirv-tools is not installed" )
                endif()
        endif()
    
    The failure is:
    
        LLVM cxx flags:
        -I/usr/include;-std=c++14;;;-fno-exceptions;-D_GNU_SOURCE;-D__STDC_CONSTANT_MACROS;-D__STDC_FORMAT_MACROS;-D__STDC_LIMIT_MACROS;-fno-rtti;-fno-exceptions
    
        clang: /usr/bin/clang
        llvm-as: /usr/bin/llvm-as
        llvm-link: /usr/bin/llvm-link
        opt: /usr/bin/opt
        llvm-spirv: LLVM_SPIRV-NOTFOUND
    
        CMake Error at CMakeLists.txt:115 (message):
          SPIR-V targets requested, but spirv-tools is not installed
    
        -- Configuring incomplete, errors occurred!
        See also "/dev/shm/bee-pmenzel/libclc/libclc-12.0.1-0/build/CMakeFiles/CMakeOutput.log".
    
    List of all targets:
    
    *   amdgcn--
    *   amdgcn--amdhsa
    *   r600--
    *   nvptx--
    *   nvptx64--
    *   nvptx--nvidiacl
    *   nvptx64--nvidiacl
    *   spirv-mesa3d-
    *   spirv64-mesa3d-
    
    As LLVM_SPIRV/llvm_spirv is not shipped in MarIuX, and it’s unclear how
    to package it (maybe [LLVM-SPIRV-Backend][1]), do it [as Debian does
    it][2], and disable the SPIRV targets, by only building the non-SPIRV
    targets.
    
    [1]: https://github.com/KhronosGroup/LLVM-SPIRV-Backend
    [2]: https://salsa.debian.org/pkg-llvm-team/llvm-toolchain/-/blob/a5528e133ea546feaa48f13f734b94e5744960bc/debian/rules#L544
    pmenzel committed Aug 5, 2021
    Configuration menu
    Copy the full SHA
    32e3fb9 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    4991872 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    8f5b450 View commit details
    Browse the repository at this point in the history