Vulkan lavapipe software rendering is working on Haiku

Render loop is running. But currently it don’t render anything yet. Most part of interaction with graphics card is not yet implemented.

Major parts needed to be implemented:

  1. Initialization and acquiring information.
  2. Graphics memory allocation (AMDGPU_GEM_CREATE).
  3. GPU virtual memory mapping (AMDGPU_GEM_VA).
  4. Sending command buffers to GPU ring buffers (AMDGPU_CS).
  5. Handling interrupts to know when command execution completed (AMDGPU_WAIT_CS).

Old Linux radeon driver can be used as reference because it is smaller and easier to understand.

23 Likes