ogl_beamforming

Ultrasound Beamforming Implemented with OpenGL
git clone anongit@rnpnr.xyz:ogl_beamforming.git
Log | Files | Refs | Feed | Submodules | README | LICENSE

Commit: 311300edddedeb3abed07496e428137626556760
Parent: 98014fe9ac555ab15cba796e645ca63d5dd084ed
Author: Randy Palamar
Date:   Mon,  8 Jun 2026 10:10:52 -0600

README: mention legacy branch and modern compiler requirement

closes #61
closes #60

Diffstat:
MREADME.md | 39+++++++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+), 0 deletions(-)

diff --git a/README.md b/README.md @@ -2,6 +2,13 @@ # Building +The beamformer requires a compiler with support for `_Float16`. +This means that GCC 12.1 or Clang 15 are the mininum supported +compiler versions. Testing on compilers this old has been limited +so you may run into bugs which do not occur with newer compilers. +It is highly recommended that you use a more modern compiler (GCC +15+ or Clang 21+). + Bootstrap the build tool once and it will rebuild itself as needed: ```sh @@ -40,6 +47,38 @@ project that have caused MSVC to **crash** during compilation. If your compiler is so poorly written that it crashes on **ANY** input is it really worth our effort to support? +# Troubleshooting + +## Missing Vulkan Support + +If the beamformer fails to start with a message like: +```sh +./ogl +[vulkan] selecting device: llvmpipe (LLVM 15.0.7, 256 bits) +[vulkan] fatal error: missing required device extensions: +[vulkan] VK_KHR_external_memory +[vulkan] VK_KHR_external_memory_win32 +``` +you may need to use the legacy branch: + +```sh +git checkout legacy +./build +``` + +The `legacy` branch will be supported until the need for those +extensions is removed but will not see feature or performance +updates. + +## `llvmpipe` + +If the beamformer starts with the `llvmpipe` device it means that +your system is missing vulkan libraries. On Ubuntu this can be +resolved with: + +```sh +sudo apt install libvulkan1 +``` # Publication