Vulkan lavapipe software rendering is working on Haiku

I dont see any difference. It is the same program after all.

That makes no sense. not everything is helped by gpu acceleration, with modern cpus some tasks are quicker to finish locally than sending the data to the gpu.

I don’t see how or why the gpu would magically make more polygons, if it did that I would consider it extremely broken since it is not rendering what the programm asked it too.

It’s nice to see that 3D opengl applications run, but don’t expect 3D drivers to run them “better” neccesarily, for glteapot the limit is clearly “it does what the programm asked and finished within 1s/60” anything above that is irrelevant as far as spinning a teapot is concerned.
LLVMpipe is clearly sufficient for this use ase, as is the driver beeing shown here.

1 Like

For simple scenes, the overhead of trasferring instructions across a PCI type bus, waiting for a result, then copying the framebuffer back to integrated GPU is not exactly free. For simple scenes, doing software rendering may actually be faster.

Complex scenes are a different story.

5 Likes

Could be the old version of mesa just rendered poorly, butvthe light and surface looks better

The teapot is often modeled using parametric surfaces, so their tesselation into renderable fragments may very well depend on the gpu and the gl.

3 Likes

It is an hardcoded set of xyz coordinates which you can find here: https://git.haiku-os.org/haiku/tree/src/apps/glteapot/GLTeapot.rdef

4 Likes

I see. Usually the teapot is used to showcase the rendering of parametrics.

Can you test Godot Engine?

1 Like

Some progress on RadeonGfx:

  1. Fixed some small memory management bug in libdrm2 found when implementing Wine Vulkan support.

  2. Added ability to change GPU frequency at runtime.

  3. Added ability to register areas as GTT buffers with Vulkan VkImportMemoryHostPointerInfoEXT extension. Area must be created with locked physical memory (B_FULL_LOCK). Used in my WSI add-on.

  4. Added ability to allocate VMIDs, so multiple processes that use GPU work faster and correctly. VMID is address space identifier that is used when executing GFX ring commands. Multiple address spaces can be used in parallel. Radeon GPU supports up to 15 VMIDs.

  5. Added some stub PCI bus information in libdrm2 to test Vulkan GPU enumeration.

  6. Implemented condition variable for SA Domains used in (4) to wait for free VMIDs.

42 Likes

radeontop:

screenshot240

screenshot241

28 Likes

If someone implements Vulkan HW for Haiku, would there need to be individual drivers for each Vulkan-supported graphics card, or is there same Vulkan API that would work for all newer Vulkan cards without needing to write extra drivers?

Nice, but that ‘crysis demo’ icon looks intresting, have you been able to run it @X512 ?

1 Like

Any updates ?

2 Likes

Xonotic game running with RadeonGfx:

34 Likes

WOW!!! it is great!!

3 Likes

wow, when can we get acess ?

2 Likes

@3deyes made game patches.

5 Likes

to the driver ?? or a complete image of OS with all needed patches ?

4 Likes

You have plans to release the RadeonGfx soon for test? it is looking very good.

8 Likes

@X512 I tested the vulkan demos with mesa lavapipe package available on haikudeport,they look good, is there a possibility to try zink on top of vulkan or is it still not working?
Is the zink library on haikudeport and I couldn’t find it?
I would like to test the performance of blender, currently through llvm softpipe mesa opengl it is totally unusable, too slow, while the vulkan demos seem quite performing

3 Likes