Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2 0/9] Add support for Rusticl in mesa3d
@ 2023-07-25 17:30 Sebastian Weyer
  2023-07-25 17:30 ` [Buildroot] [PATCH v2 1/9] package/rust-bindgen: new host package Sebastian Weyer
                   ` (8 more replies)
  0 siblings, 9 replies; 15+ messages in thread
From: Sebastian Weyer @ 2023-07-25 17:30 UTC (permalink / raw)
  To: buildroot; +Cc: Sebastian Weyer

This series of patches adds everything necessary to be able to compile
Rusticl inside of mesa3d. It was successfully tested on a Khadas VIM3
board with a Mali-G52 GPU using mesa's Gallium panfrost driver. The
requirements can be found on its documentation website[1].

We need opencl-icd-loader as an additional package since the Rusticl
library will be installed as libRusticlOpenCL.so. The opencl-icd-loader
package will provide a libOpenCL.so file that can capture the OpenCL API
calls and forward them to the correct implementation. The available
OpenCL providers can be configured by creating a file in
/etc/OpenCL/vendors/[2]. In order to build this package we also need the
C language OpenCL headers which are not yet included in Buildroot since
for now we only have the C++ headers (opencl-clhpp).

The package opencl-icd-loader is included as a dependency in mesa3d as
it needs to be present in the sysroot before packages depending on
libopencl are built.

We need to make the Rust compiler known to the meson infrastructure
since it will abort the build of a Rust package if it isn't found. We
also need to add support for cross compilation in the
cross-compilation.conf.in template file and add a regex so that the
compiler and linker are properly inserted.

[1] https://docs.mesa3d.org/rusticl.html
[2] https://github.com/KhronosGroup/OpenCL-ICD-Loader#registering-icds

v2: remove "experimental" from final commit header since rusticl is not
experimental

Romain Naour (7):
  package/rust-bindgen: new host package
  package/llvm-project/llvm: add llvm dump support
  package/pkg-meson.mk: add rust cross-compiler support
  package/spirv-headers: new package
  package/spirv-tools: new package
  package/spirv-llvm-translator: add target variant to provide
    LLVMSPIRVLib
  package/mesa3d: add RustiCL support

Sebastian Weyer (2):
  package/opencl-headers: new package
  package/opencl-icd-loader: new package

 DEVELOPERS                                    |  5 +++
 package/Config.in                             |  5 +++
 package/llvm-project/llvm/Config.in           |  6 +++
 package/llvm-project/llvm/llvm.mk             |  7 ++++
 package/mesa3d/Config.in                      | 19 ++++++++-
 package/mesa3d/mesa3d.mk                      | 20 ++++++++-
 package/opencl-headers/Config.in              |  7 ++++
 package/opencl-headers/opencl-headers.hash    |  3 ++
 package/opencl-headers/opencl-headers.mk      | 42 +++++++++++++++++++
 package/opencl-icd-loader/Config.in           | 12 ++++++
 .../opencl-icd-loader/opencl-icd-loader.hash  |  3 ++
 .../opencl-icd-loader/opencl-icd-loader.mk    | 19 +++++++++
 package/pkg-meson.mk                          | 13 ++++++
 package/rust-bindgen/rust-bindgen.hash        |  3 ++
 package/rust-bindgen/rust-bindgen.mk          | 17 ++++++++
 package/spirv-headers/Config.in               |  6 +++
 package/spirv-headers/spirv-headers.hash      |  2 +
 package/spirv-headers/spirv-headers.mk        | 15 +++++++
 package/spirv-llvm-translator/Config.in       | 22 ++++++++++
 .../spirv-llvm-translator.mk                  | 13 +++++-
 package/spirv-tools/Config.in                 | 12 ++++++
 package/spirv-tools/spirv-tools.hash          |  2 +
 package/spirv-tools/spirv-tools.mk            | 22 ++++++++++
 support/misc/cross-compilation.conf.in        |  2 +
 24 files changed, 274 insertions(+), 3 deletions(-)
 create mode 100644 package/opencl-headers/Config.in
 create mode 100644 package/opencl-headers/opencl-headers.hash
 create mode 100644 package/opencl-headers/opencl-headers.mk
 create mode 100644 package/opencl-icd-loader/Config.in
 create mode 100644 package/opencl-icd-loader/opencl-icd-loader.hash
 create mode 100644 package/opencl-icd-loader/opencl-icd-loader.mk
 create mode 100644 package/rust-bindgen/rust-bindgen.hash
 create mode 100644 package/rust-bindgen/rust-bindgen.mk
 create mode 100644 package/spirv-headers/Config.in
 create mode 100644 package/spirv-headers/spirv-headers.hash
 create mode 100644 package/spirv-headers/spirv-headers.mk
 create mode 100644 package/spirv-llvm-translator/Config.in
 create mode 100644 package/spirv-tools/Config.in
 create mode 100644 package/spirv-tools/spirv-tools.hash
 create mode 100644 package/spirv-tools/spirv-tools.mk

--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2023-10-01 16:53 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-25 17:30 [Buildroot] [PATCH v2 0/9] Add support for Rusticl in mesa3d Sebastian Weyer
2023-07-25 17:30 ` [Buildroot] [PATCH v2 1/9] package/rust-bindgen: new host package Sebastian Weyer
2023-10-01 16:40   ` Thomas Petazzoni via buildroot
2023-07-25 17:30 ` [Buildroot] [PATCH v2 2/9] package/llvm-project/llvm: add llvm dump support Sebastian Weyer
2023-07-26 18:56   ` Daniel Lang
2023-10-01 16:40   ` Thomas Petazzoni via buildroot
2023-07-25 17:30 ` [Buildroot] [PATCH v2 3/9] package/pkg-meson.mk: add rust cross-compiler support Sebastian Weyer
2023-07-25 17:30 ` [Buildroot] [PATCH v2 4/9] package/spirv-headers: new package Sebastian Weyer
2023-10-01 16:50   ` Thomas Petazzoni via buildroot
2023-07-25 17:30 ` [Buildroot] [PATCH v2 5/9] package/spirv-tools: " Sebastian Weyer
2023-10-01 16:53   ` Thomas Petazzoni via buildroot
2023-07-25 17:30 ` [Buildroot] [PATCH v2 6/9] package/spirv-llvm-translator: add target variant to provide LLVMSPIRVLib Sebastian Weyer
2023-07-25 17:30 ` [Buildroot] [PATCH v2 7/9] package/opencl-headers: new package Sebastian Weyer
2023-07-25 17:31 ` [Buildroot] [PATCH v2 8/9] package/opencl-icd-loader: " Sebastian Weyer
2023-07-25 17:31 ` [Buildroot] [PATCH v2 9/9] package/mesa3d: add RustiCL support Sebastian Weyer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox