Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test WR with SwiftShader #315

Closed
glennw opened this issue Jul 18, 2016 · 1 comment
Closed

Test WR with SwiftShader #315

glennw opened this issue Jul 18, 2016 · 1 comment

Comments

@glennw
Copy link
Member

@glennw glennw commented Jul 18, 2016

This may provide a fallback solution for systems without a viable GPU (e.g. old machines, headless CI, virtual machines).

https://blog.chromium.org/2016/06/universal-rendering-with-swiftshader.html

I have cloned SwiftShader, built it on Linux and successfully run the example application. The next step is to try and get WR running with SS and see if it works / what functionality is missing that we rely on.

As far as I know, SS doesn't support desktop GL - but it supports all of OpenGL ESv2 and it appears to support most of ES3.

So there's two questions to answer:

  • Does SS implement enough of ES3 yet for it to be viable (or can we reduce the ES3 features that WR relies on to be able to use SS).
  • What is the simplest way to run the ES3 rendering code path on desktop code - right now, it's only enabled on Android via #cfg() flags - could we instead use cargo features or something like that?
@glennw
Copy link
Member Author

@glennw glennw commented Sep 29, 2016

I did eventually get WR working with Swiftshader (after changing the way our shaders work). However we're not using it for CI testing, since it takes a very long time to compile some of our shaders (> 5 seconds). It looks like they are working on updating their codegen (which was stuck at an old version of LLVM when I last checked), so it may be worth benchmarking SS vs OSMesa again once that work lands.

@glennw glennw closed this Sep 29, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
1 participant
You can’t perform that action at this time.