Intel Just Released A Crazy Fast Acceleration Architecture
Phoronix: Intel Just Released A Crazy Fast Acceleration Architecture
While out celebrating the 7th birthday of Phoronix, Intel pushed out a new acceleration architecture for their open-source Linux driver. This new acceleration architecture is called "SNA" for "SandyBridge's New Acceleration", and it brings incredible results not only for Sandy Bridge, but for previous generations of Intel graphics as well. The results provided by Intel are absolutely stunning...
I didn't know that Intel celebrated Phoronix birthdays...
Originally Posted by phoronix
Also, a link to the commit or some mailing list discussion would be appreciated.
Yeah, and details on how to install it... it would make me very happy if UT2004 were to become playable on my i945, and this seems like the kind of potential-speedup which could maybe-possibly do it.
Look the last line, should say it all.
Originally Posted by illissius
This is a patch to the xorg driver. It shouldn't have much impact on 3D rendering, which is done by mesa.
Originally Posted by illissius
It would be interesting to know whether this new acceleration architecture could be used by ati or nouveau. If it can be used on older intel chips, it's not SB-specific. But are there other differences in GPU architecture that make it useless or incompatible for GPUs of other vendors?
Yes. That's why we have xf86-video-ati and xf86-video-intel. For one, Intel IGPs use system memory, while discrete GPUs from ATI and Nvidia use dedicated on-card memory.
Originally Posted by rohcQaH
Also, this should be fairly obvious, but the Xorg drivers are implemented in a way that's extremely hardware-specific. It depends on the hardware capabilities of each individual chip, and the performance cost of doing a given operation. The assumptions made by SNA are probably not relevant to non-Intel chips, even if you could port over the architecture overall.
The parts that were separable into a common API were called EXA, but so far, only ATI and Nouveau continue to use EXA. Intel long ago dropped support for EXA with their hardware, in favor of UXA. Now SNA may become the new path. So it wasn't ATI and Nouveau striking out on their own, but rather, Intel decided to do it.
In fact, almost the entire stack has some kind of Intel / Others split:
Mesa 3d support: Intel uses the old classic Mesa paths, everyone else uses gallium3d almost exclusively.
Xorg 2d accel: Intel uses UXA (now SNA), everyone else uses EXA almost exclusively.
Kernel memory management: Intel uses just GEM, everyone else uses GEM+TTM almost exclusively. (run lsmod | grep ttm on an Intel system, then do it on a Nouveau system or a r300g / r600g system.)
I can't complain though; on my i965, Gnome Shell performance is extremely professional. It's smoother on my i965 than on my Radeon HD5970. So obviously Intel is doing something right, even if "the right thing" is specific to their hardware.
Last edited by allquixotic; 06-04-2011 at 12:39 PM.
Well, duh. Except for ignoring ATI-GPUs that use system memory (fusion), you did a good job describing the current architectures; but that's neither news to me, nor did it answer my question.
Originally Posted by allquixotic
I'd like to know whether the work that went into SNA could benefit the other drivers. It's one of these:
- with some modifications, ati and nouveau could use SNA instead of EXA, or create an EXA/SNA-hybrid more closely suited to those GPUs, gaining performance
- ati and nouveau could use SNA, but due to architectural differences it wouldn't be faster than current methods, or the expected gains are too small to justify the efforts
- SNA is fundamentally incompatible with ati and nvidia GPUs
- SNA is fundamentally incompatible with ati and nvidia GPUs, but some of the research and work on SNA could benefit other drivers
I'm aware that it's likely one of the latter two, but I'm not interested in assumptions and probabilities, hence the question. I don't expect anyone short of an X / driver developer to be able to provide a good answer.