Show Your Support: This site is primarily supported by advertisements. Ads are what have allowed this site to be maintained on a daily basis for the past 18+ years. We do our best to ensure only clean, relevant ads are shown, when any nasty ads are detected, we work to remove them ASAP. If you would like to view the site without ads while still supporting our work, please consider our ad-free Phoronix Premium.
Adobe To Use TransGaming's SwiftShader; Remember Cedega?
SwiftShader is TransGaming's pure software 3D renderer that supports features like vertex/pixel shaders, floating point rendering, and other DirectX 9.0 / OpenGL ES 2.0 level features. Adobe is hooking up with TransGaming so that developers targeting Flash and AIR can utilize 3D APIs (such as Direct3D and OpenGL) and those users that are without any 3D hardware/driver support will fall-back to SwiftShader for the software rendering in future versions of the Flash Player and AIR run-time. This is basically a proprietary CPU-based software renderer that Adobe is licensing from TransGaming.
From the press release it sounds like Adobe is gearing up for pushing more 3D capabilities into Flash and AIR. While interesting, this will cause yet more work for those free software developers working on open-source implementations of Flash/SWF, such as Gnash and Lightspark, to catch up with the latest Flash innovations.
The good news is that with the Gallium3D architecture on Linux there is LLVMpipe to provide an efficient CPU-based software rasterizer on Linux by leveraging the Low-Level Virtual Machine. For basic 3D needs in Flash, LLVMpipe should be fast enough on modern Intel / AMD CPUs for cases where a proper GPU driver is not available or working. There are Gallium3D state trackers for Mesa (OpenGL) and most recently and interesting is the Direct3D 10/11 state tracker. In other words, hopefully Adobe's future 3D plans and their SwiftShader adoption won't cause much of a headache for these open-source Flash Player implementations. Ideally, they shouldn't even need to worry about it if the system would automatically fall-back to LLVMpipe where installed -- once more distributions drop the classic Mesa software rasterizer that is incredibly slow and next to useless for end-users. Next week we also have some interesting benchmarks coming out of the Intel Core i7 970 looking at the LLVMpipe scaling performance when 1/2/4/6/12 threads are enabled.
SwiftShader is also capable of using the Low-Level Virtual Machine. TransGaming developed two forms of IR for SwiftShader: SwiftASM and Reactor. SwiftASM matches x86/x86_64 instructions (and is also capable of emulating instructions as C++ code on other platforms) while Reactor is built on top of LLVM for then translating that IR to x86 and ARM instructions, among other possible architectures. A somewhat decent writeup of this technology can be found on the TransGaming web-site.
SwiftShader should be capable of running on Linux platforms, but it seems TransGaming's major focus with this technology is on the Windows side, so perhaps Adobe will not even be shipping SwiftShader in their Linux versions of Flash and AIR. But as already said, we have LLVMpipe. Or Adobe might be too busy figuring out Linux video APIs. While on that topic, there may be some activity regarding Adobe Flash Player on Linux finally hooking into a proper Linux video acceleration API (it would be either VA-API or VDPAU), there's at least some activity and interest on the matter I found out a few weeks ago.
It's interesting though that Adobe went to TransGaming for such technology. Up until receiving this press release in my inbox this morning, TransGaming and Cedega had almost completely fallen off my radar. I haven't heard of any Cedega news in many months and the last time this software was mentioned on Phoronix was in April of 2009 when there was a new Cedega release (v7.1.1) that brought new game support.
In May of this year there apparently was a new Cedega beta released to its paying members, but it doesn't appear that release ever went gold or that there's been any more development releases since their 2010052 beta. This "updated version of Cedega" basically brought support for the new Valve Steam client. It was also mentioned "the release includes a significant number of changes to the engine, installer, UI and updater," but those details were not elaborated on and there doesn't appear to be any other recent Cedega activity.
At least CodeWeavers continues moving forward with CrossOver and CrossOver Games (9.2 was released just last week) and upstream Wine continues moving along briskly with the stable Wine 1.2 series being introduced this year. There's also already a number of features being built up in Wine 1.3.x for the eventual Wine 1.4 stable release to run more Microsoft Windows softare on Linux and similar platforms.