If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Quake 2 will be playable, but it works without llvm. Btw. what's the point of this? If someone has old PC without graphic acceleration he has slow CPU as well and with llvm his desktop will be slow as crap.

Quake 2 will be playable, but it works without llvm. Btw. what's the point of this? If someone has old PC without graphic acceleration he has slow CPU as well and with llvm his desktop will be slow as crap.

Virtual machines, servers, working desktop before you install the newest drivers for new hardware, working desktop if there are no newest drivers, fallback for bugs, ...

Well, the next major milestone is GL 3 support. It seems like it's pretty close, so hopefully it makes it as part of the Mesa 8.1 release, but no one has actually committed to making sure that happens.

How can LLVMpipe be improved?
Can new functionality be added? If so, what?

I think the main thing is just adding new features, like GL3. I'm not sure anyone has thought about the best way to bring OpenCL support to it yet.

Can it be speed up? If so, how?

There was that one project to add a kernel side to the driver, which would let it avoid making a bunch of memory copies that it currently has to do. I'm not sure what the status of that was, if it's in with some of the DMA-BUF work or what. Beyond that, I don't think anyone is particularly focused on the performance of the driver. Just adding new features seems to be what most people are looking at.

KMS is something that would be used by your DDX, not really by LLVMpipe. LLVMpipe just uses LLVM's optimizing compiler (although how much optimization it does is debatable, considering the poor performance of its generated code at least for x86 binaries) to back OpenGL calls and produce "efficient" native code to run on the CPU for these calls. It could probably support other state trackers, but right not there's no point.

It doesn't use/support GEM or TTM because that would require an LLVMpipe kernel module which doesn't exist (yet?).

Video acceleration would be pointless, since you could write an equally-fast (or faster) software decoder for the formats you want, or just use ffmpeg's, which are probably going to be the fastest software decoders available.

Again, the whole point of llvmpipe is that there's no GPU hardware being used, so any features you can think of that are obviated by existing software solutions (such as video decoding) are probably not going to be worked on.

Video acceleration would be pointless, since you could write an equally-fast (or faster) software decoder for the formats you want, or just use ffmpeg's, which are probably going to be the fastest software decoders available.

Again, the whole point of llvmpipe is that there's no GPU hardware being used, so any features you can think of that are obviated by existing software solutions (such as video decoding) are probably not going to be worked on.

I'd say it's quite the opposite - support gets added to llvmpipe to compare and debug the hardware drivers. That's llvmpipes real purpose - not games