Linked by David Adams on Tue 29th Jun 2010 18:01 UTC, submitted by Michael
Graphics, User Interfaces The open-source Mesa/X.Org developers have been working on LLVMpipe, a Gallium3D driver that accelerates OpenGL and other state trackers on the CPU rather than any GPU driver to provide a better software rasterizer via LLVM optimizations. Unfortunately, it's still slow and can barely keep up with games.
Thread beginning with comment 431939
To read all comments associated with this story, please click here.
"Still slow"?
by Zifre on Tue 29th Jun 2010 23:25 UTC
Zifre
Member since:
2009-10-04

The title of the article is messed up. LLVMpipe is "still slow"?

It's a software renderer! Is it supposed to beat the NVIDIA GPU used in the test?

It's already quite optimized. It's several times faster than Mesa's old software renderer. I'd say that it's very impressive for how new it is.

This is why I hate Phoronix...

Reply Score: 5

RE: "Still slow"?
by Neolander on Wed 30th Jun 2010 08:54 in reply to ""Still slow"?"
Neolander Member since:
2010-03-08

Well, I'd like a comparison with Haiku's drawing engine in terms of 2D performance myself ^^

By the way, can someone tell me how changing the compiler, would the new one be blessed by Apple's touch or not, is supposed to lead to a tremendous improvement in software performance ? I mean, GCC has been here for a long time, so the remaining performance improvement to be done in the compiler area are probably either of the nitpicking kind (1% size improvement in a very specific use case) or leading to compilation being 10 times slower...

Reply Parent Score: 3

RE[2]: "Still slow"?
by boofar on Wed 30th Jun 2010 13:37 in reply to "RE: "Still slow"?"
boofar Member since:
2008-04-23

The driver itself is was probably compiled with GCC; however LLVM is being used internally to JIT-compile rendering instructions (probably in the form of OpenGL Shading Language) into some internal form (or native code, I don't know). Using GCC for that would probably be rather awkward.

Anyway, software rendering is slow compared to dedicated hardware? Mindblowing!!! [/irony]

Reply Parent Score: 1

RE[2]: "Still slow"?
by Zifre on Wed 30th Jun 2010 13:49 in reply to "RE: "Still slow"?"
Zifre Member since:
2009-10-04

LLVM is only used for code generation - the driver is most likely still compiled with GCC.

GCC is generally slightly faster than LLVM, but it takes at least 10 times as many man-hours to use GCC's backend as it does to use LLVM (and I'm really not exaggerating there).

Also, while GCC might produce slightly faster code, LLVM can do its optimizations and code generation several times faster, which is important for startup speed, when you have to generate an entire OpenGL software renderer plus shaders.

Reply Parent Score: 2

RE: "Still slow"?
by WereCatf on Wed 30th Jun 2010 12:33 in reply to ""Still slow"?"
WereCatf Member since:
2006-02-15

The title of the article is messed up. LLVMpipe is "still slow"?

It's a software renderer! Is it supposed to beat the NVIDIA GPU used in the test?

It's already quite optimized. It's several times faster than Mesa's old software renderer. I'd say that it's very impressive for how new it is.


There is no mention about image quality of LLVMpipe anywhere, but I assume it produces quite nearly the same output as a real 3D accelerator does. As such, pushing 25fps+ is already quite damn well IMHO. That's a truckload of stuff to do on a processor that isn't optimized for such tasks and thus I atleast find it pretty darn impressive to churn out such numbers.

If the developers can still push some more performance out of it and continue to add the missing bits LLVMpipe will become quite a useful piece of software.

If any of the devs are reading this: congrats with the great work so far and good luck ;)

Reply Parent Score: 3

RE[2]: "Still slow"?
by Zifre on Wed 30th Jun 2010 13:37 in reply to "RE: "Still slow"?"
Zifre Member since:
2009-10-04

There is no mention about image quality of LLVMpipe anywhere, but I assume it produces quite nearly the same output as a real 3D accelerator does.

Unless there you are using some unsupported feature, or there is a bug, the image should be pixel perfect. Rendering is a very precise thing - there is really no room for "optimization" at the expense of quality.

Also, I suspect that LLVMpipe is more complete than any of the real Gallium drivers - programming the CPU is a lot easier than a GPU... (and I know because I've tried it).

So yeah, 25 FPS in any 3D game is very impressive.

Reply Parent Score: 2