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.

AMD Fusion On Gallium3D Leaves A Lot To Be Desired

Phoronix: AMD Fusion On Gallium3D Leaves A Lot To Be Desired

It's been a few months since last running any AMD Fusion tests under Linux, so here's a look at the AMD A8-3870K "Llano" APU performance under both the latest Catalyst driver and the open-source Radeon Gallium3D stack with Ubuntu 12.04. Besides the open-source driver being handily beaten by the Catalyst binary driver, the power efficiency is also a disappointment.

OK. I don't meant this as a criticism on driver developers. I am sure they are doing their best. And I've got no idea about writing device drivers. But I am wondering how it is possible that one implementation is an order of magnitude slower than another. Is it the complex hardware interface? Or is OpenGL so broken making it so difficult to write fast, efficient drivers? Is the nouveau approach to reverse-engineer a well performing driver maybe the better approach(assuming that a faster driver exists)?

VLIW... without a better shader compiler the radeon driver don't have any chance.

and amd is not planing to build a shader compiler based on obsolete technique.

the hd7970 will get a proper shader compiler.

in other words opensource divers needs 3-4 years more time to catch up. -

RIP- VLIW...

Don't be so sure. Tom Stellar is integrating LLVM backend for r600g as we speak, and once it is done, and LLVM->VLIW packetizer is finished(it is started), we can all enjoy faster shaders both graphics and compute. 3-4 years is awfully pesimistic.

OK. I don't meant this as a criticism on driver developers. I am sure they are doing their best. And I've got no idea about writing device drivers. But I am wondering how it is possible that one implementation is an order of magnitude slower than another. Is it the complex hardware interface? Or is OpenGL so broken making it so difficult to write fast, efficient drivers? Is the nouveau approach to reverse-engineer a well performing driver maybe the better approach(assuming that a faster driver exists)?

The thing is that, nvidia had until kepler, sheduler in hardware, and thus it optimizes shareders itself, rather than relying on driver code to to that(in case of AMD VLIW). With GCN AMD integrated hardware sheduler, so performance gap will shrink.

OK. I don't meant this as a criticism on driver developers. I am sure they are doing their best. And I've got no idea about writing device drivers. But I am wondering how it is possible that one implementation is an order of magnitude slower than another. Is it the complex hardware interface? Or is OpenGL so broken making it so difficult to write fast, efficient drivers? Is the nouveau approach to reverse-engineer a well performing driver maybe the better approach(assuming that a faster driver exists)?

The problem is lack of manpower. r600g needs like another 5 developers working full-time to make sure the driver works best - adding new features, fixing bugs, profiling and identifying the bottlenecks and optimizing the driver. So far developers have been mostly adding new features and fixing bugs when they had time. Optimizations must be done in the entire stack, including shared components like core Mesa.