Vulkan lavapipe software rendering is working on Haiku

@Zenja Nice. Can we see what Laptop it exactly is?

Sorry for being off topic.

https://www.harveynorman.com.au/hp-omen-16-1-inch-r7-5800h-32gb-512gb-ssd-rx6600m-8gb-gaming-laptop.html

Filed a crash report
https://dev.haiku-os.org/ticket/17484

5 Likes

Super nice laptop!!! Thank you for sharing.

Iirc there is a api in
Development for vulkan for radv and video decoding/encoding

4 Likes

I managed to run latest Zink from Git repository. Latest Zink version require pipe_context that is currently not used in HGL. Currently something is wrong with stride.

screenshot83

15 Likes

But Blender 3.0.0 is working fine. GLTeapon is very sophisticated application not comparable with so simple Blender :slight_smile:

screenshot84

33 Likes

Fixed. The same stride alignment fix was needed as in old version.

screenshot86

MMD model in Blender:
screenshot87

26 Likes

Nice. Would be interesting to see how far my game engine gets before getting shot down. Just out of curiosity. Not expecting rocket results here at all :smiley:

1 Like

But with haiku and hardware 3D it’s rockets all the way to the mooon!! :rocket: :rocket: :first_quarter_moon_with_face:

3 Likes

That’s a teapot on steroids!

4 Likes

I get similar results with llvmpipe IIRC, I don’t think it renders as many frames as it can.

I got over 900 FPS with sw render, so it definetely doesnt use all the available horsepower yet.

4 Likes

Look at how much better it renders the teapot, polygon count has to be 10x over typical haiku demo

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.