isl-org / isl-org/Open3D

Enable cross compilation by removing dependency on `ShaderEncoder` and `ShaderLinker`

Open
#7,385 0 comments 0 reactions 0 assignees View on GitHub
feature request
Dominant language
C++
Stars
14k
Forks
2.6k
Avg merge
5d 18h
Merged PRs (30d)
6

Description

### Checklist

- [x] I have searched for [similar issues](https://github.com/isl-org/Open3D/issues).
- [x] For Python issues, I have tested with the [latest development wheel](https://www.open3d.org/docs/latest/getting_started.html#development-version-pip).
- [x] I have checked the [release documentation](https://www.open3d.org/docs/release/) and the [latest documentation](https://www.open3d.org/docs/latest/) (for `main` branch).

### Proposed new feature or change

The current cmake build process involves a step to build two executables `ShaderEncoder` and `ShaderLinker`, which operate on the `.glsl` shader files in the `visualization` section of the library. When cross-compiling, these executables (`ShaderEncoder` and `ShaderLinker`) are built with the toolchain file used for cross-compiling, which usually cannot be run on the host machine. This means that the build step always fails when attempting to run those executables on the shader files.

Possible solutions include:

* Allowing a cmake variable that disables building the visualization portion of the library
* Removing the `ShaderEncoder` and `ShaderLinker` executable steps from the build process, replacing them with a cmake-native approach that does not depend on a separate executable step
* Remove the `ShaderEncoder` and `ShaderLinker` executable steps from the build process and replace them with using Vulkan shaders
* Keep the `ShaderEncoder` and `ShaderLinker` portions of the cmake build process, but aggressively and carefully ensure that all those executables are built on the _host machine_ rather than with any build flags relevant for cross-compilation

### References

_No response_

### Additional information

Other issues in the Open3D repository showing this issue:

https://github.com/isl-org/Open3D/issues/5732

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.