
Universal rendering with SwiftShader, now open source - ingve
http://blog.chromium.org/2016/06/universal-rendering-with-swiftshader.html
======
chkuendig
I assume this is the technology from TransGaming [1] (famous for their closed-
source wine fork cedega). Did Google acquire them? Couldnt find anything on
how this came to happen, and nowhere in the the announcement or the repo do
they mention hiw this came to be.

[1]
[http://www.gamasutra.com/view/news/97847/Transgaming_Launche...](http://www.gamasutra.com/view/news/97847/Transgaming_Launches_SwiftShader_Software_Renderer.php)

edit: [http://m.marketwired.com/press-release/transgaming-and-
googl...](http://m.marketwired.com/press-release/transgaming-and-google-
announce-swiftshader-licensing-agreement-tsx-venture-tng-1781707.htm) \- one
hell of a license that must be...

~~~
mikemackle
Transgaming was approached by intel to use the technology to bring gaming to
smart tvs around 2010. They went all in on smart tv gaming. The product did
not take off and they have been doing very poorly financially, selling all IP
(swiftshader apparently to google), the wine-fork to nvidia. They have now
announced they are becoming a real-estate company.

~~~
revelation
Press release: [http://www.transgaming.com/transgaming-proposes-change-of-
bu...](http://www.transgaming.com/transgaming-proposes-change-of-business-to-
a-real-estate-financing-company/)

They're going to be a phenomenal "real estate financing" company, what with a
current market capitalization of <$3M.

------
loeg
It sounds like this has some parallels to Mesa's Gallium llvmpipe. (Both
projects aim to render some version of OpenGL on the CPU.) Does anyone more
familiar with either project know how much those goals overlap and if
opportunities for code sharing exist?

~~~
Kristine1975
It also seems to have parallels to Apple's OpenGL implementation which, if the
hardware doesn't support the required functionality, falls back to software
rendering. It uses LLVM to dynamically generate machine code.

It's also dead slow (obviously).

~~~
frou_dh
Notably, that was a very early use of LLVM, before LLVM was well known, wasn't
it? Mid 2000s?

------
okket
Has nothing to do with the Swift language from Apple. Is not on Github.

(Saved some of you 1-2 clicks)

~~~
ngoldbaum
Why does it matter that it's not on github? There's an open repo -
[https://swiftshader.googlesource.com/SwiftShader](https://swiftshader.googlesource.com/SwiftShader)
\- along with clear contribution instructions.

The insistence that all projects use git/github annoys me to no end.

~~~
ash_gti
While I agree that not all projects need to be on github (or in git), it is
useful to have a centralized hub for finding open source projects your
interested in and want to follow the development of said projects.

~~~
pjmlp
Like Sourceforge the last darling from FOSS before git and mercurial took off?

------
revelation
I'm struggling to think of a CPU in the Venn intersection of "fast enough to
run SwiftShader without giving the impression of a locked up system" and "does
not come with a form of integrated GPU".

~~~
jahewson
It's not the CPU as much as the drivers. I have an 6yr old laptop which runs
Windows 7 just fine but the graphics drivers are blacklisted and crash the
machine if used.

------
ridiculous_fish
Would a CPU rendering stack allow for better debugging? I'd love to be able to
log to the console from my shaders.

------
Lerc
I remember the predecessor to swiftshader being open source, then it moved to
Transgaming and the open source version webpages all disappeared. It was
rather a shame because it had some excellent articles on rasterising triangles
that went with it.

~~~
Jasper_
You probably mean swShader and Nicolas Capens's articles on Advanced
Rasterization.

[https://sourceforge.net/projects/sw-
shader/](https://sourceforge.net/projects/sw-shader/)

[http://forum.devmaster.net/t/advanced-
rasterization/6145](http://forum.devmaster.net/t/advanced-rasterization/6145)

Excellent series, even if it surpassed by ryg's more complete series on modern
triangle rasterization.

[https://fgiesen.wordpress.com/2013/02/17/optimizing-sw-
occlu...](https://fgiesen.wordpress.com/2013/02/17/optimizing-sw-occlusion-
culling-index/)

------
duaneb
How does this compare to mesa3d?

------
bhouston
I've never figured out how to enable SwiftShader. I have windows 10 installed
in a VM with no GPU support and when I try to run chrome it says WebGL isn't
available. (But funny thing Firefox works, albeit really slowly.)

Confuses me.

------
mappu
It'd be interesting to see this merged into mesa, for some comparisons against
its three(!) different CPU renderers (llvmpipe, softpipe, and OpenSWR).

------
vegabook
gees, even my $9 C.H.I.P supports OpenGL (ES). Talk about historyware.

~~~
erjiang
Chrome maintains a GPU blacklist of drivers and GPUs that it will not run
WebGL on. According to [0], even hybrid Nvidia/Intel setups are excluded. So I
wouldn't be surprised if there are many people with GPUs that "support" OpenGL
ES but are buggy enough to be blacklisted.

[0]
[https://www.khronos.org/webgl/wiki/BlacklistsAndWhitelists](https://www.khronos.org/webgl/wiki/BlacklistsAndWhitelists)

~~~
vegabook
Okay so you're targeting a userbase of clueless boomers who can't be bothered
to upgrade or go into chrome://flags or about:config. Fine. It's time to move
on. Encouraging the continued use of a stone age endpoint is regressive.
Fixing this is a single search away and can be pointed out easily to said
users on a landing page. We have to start using the parallel silicon present
in _all_ our devices. It even makes sense ecologically.

~~~
magicalist
> _Okay so you 're targeting a userbase of clueless boomers who can't be
> bothered to upgrade or go into chrome://flags or about:config_

The blacklisting is often for security reasons. I would strongly advise
against browsing arbitrary websites with the blacklist overridden.

