[GSoC] GPU acceleration support

Unfortunately it do not support NVIDIA GPUs, so it is not very helpful for now. Rust is not a problem. Mesa NVK driver use Rust and it works on Haiku.

1 Like

If it would get command buffer execution and memory management support, there is a chance to run Mesa driver on top of it.

1 Like

After I posted this, I noticed that ROCm is AMD-specific, Intel graphics cards use something called oneAPI and Apple Silicon has Metal. Now I’m looking at reference implementations of general shader compilation. Dawn, part of Chromium’s WebGPU support, seems to be the only useful thing I’ve found so far. They all seem to be based on LLVM though.

There is already some command ring buffer support in the intel_extreme driver (used for overlays and some 2D acceleration things), is it the same thing? (it may not work on all modern devices, as usual Intel probably moved some registers around).

For memory management, the VRAM can simply be mapped into the address space, what else is needed? Is there existing code for an allocator we can reuse?

2 Likes

Central VRAM allocation management is needed. So clients may refer VRAM allocations by some ID or FD. Also note that not whole VRAM can be mapped to CPU address space (unless large BAR is enabled). Some part of VRAM can be accessed only by command buffer execution.

The same with ring buffer: central command buffer queue is needed.

2 Likes

it really work for intel?

Though I don’t have any experience in OS level driver development, I am interested in graphics and GPUs. So what I wanted to ask was would it be a really complex task to handle, if not where can I get started on this project

Just pick an existing ported application and/or 3D game for testing. Then, make sure your audio and video drivers are working well when using Haiku. This is very important when reviewing legacy 2D/3D software. You may want to let the mentors know your hardware setup so they can support you in getting things up to speed…

.

Is this list ‘AI’ generated?

2 Likes

Yes with help of Gemini

Okay.
Please refrain from posting LLM generated output in the future, it is not allowed on this forum.

https://discuss.haiku-os.org/faq

2 Likes