-SwiftShader\r
-==========\r
+# SwiftShader\r
+\r
+[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![Build Status](https://travis-ci.org/google/swiftshader.svg?branch=master)](https://travis-ci.org/google/swiftshader) [![Build status](https://ci.appveyor.com/api/projects/status/yrmyvb34j22jg1uj?svg=true)](https://ci.appveyor.com/project/c0d1f1ed/swiftshader)\r
\r
Introduction\r
------------------\r
+------------\r
\r
SwiftShader is a high-performance CPU-based implementation of the OpenGL ES and Direct3D 9 graphics APIs<sup>1</sup><sup>2</sup>. Its goal is to provide hardware independence for advanced 3D graphics.\r
\r
-Usage\r
+Building\r
--------\r
\r
+SwiftShader libraries can be built for Windows, Linux, and Mac OS X.\\r
+Android and Chrome (OS) build environments are also supported.\r
+\r
+* **Visual Studio**\r
+\\r
+ On Windows, open the [SwiftShader.sln](SwiftShader.sln) file using [Visual Studio Community](https://visualstudio.microsoft.com/vs/community/) or compatible version, and build the solution. Output DLLs will be placed in the _out_ subfolder. Sample executables such as _OGLES3ColourGrading_ can be found under the Tests solution folder and can be run from the IDE.\r
+\r
+* **CMake**\r
+\r
+ [Install CMake](https://cmake.org/download/) for Linux, Mac OS X, or Windows and use either [the IDE](https://cmake.org/runningcmake/) or run the following terminal commands:\r
+\r
+ cd build\r
+ cmake ..\r
+ make --jobs=8\r
+\r
+ ./unittests\r
+ ./OGLES2HelloAPI\r
+\r
+Usage\r
+-----\r
+\r
The SwiftShader libraries act as drop-in replacements for graphics drivers.\r
\r
On Windows, most applications can be made to use SwiftShader's DLLs by placing them in the same folder as the executable. On Linux, the LD\_LIBRARY\_PATH environment variable or -rpath linker option can be used to direct applications to search for shared libraries in the indicated directory first.\r
\r
-Prebuilt binaries can be found at: https://goo.gl/5MOcdb\r
-\r
Contributing\r
------------------\r
+------------\r
\r
See [CONTRIBUTING.txt](CONTRIBUTING.txt) for important contributing requirements.\r
\r
https://swiftshader-review.googlesource.com/new-password\r
\r
All changes require a [Change-ID](https://gerrit-review.googlesource.com/Documentation/user-changeid.html) tag in the commit message. A commit hook may be used to add this tag automatically, and can be found at:\r
-https://gerrit-review.googlesource.com/tools/hooks/commit-msg. To clone the repository and install the commit hook in one go: \r
+https://gerrit-review.googlesource.com/tools/hooks/commit-msg. To clone the repository and install the commit hook in one go:\r
\r
git clone https://swiftshader.googlesource.com/SwiftShader && (cd SwiftShader && curl -Lo `git rev-parse --git-dir`/hooks/commit-msg https://gerrit-review.googlesource.com/tools/hooks/commit-msg ; chmod +x `git rev-parse --git-dir`/hooks/commit-msg)\r
\r
-Changes are uploaded to Gerrit by performing:\r
+Changes are uploaded to Gerrit by executing:\r
\r
git push origin HEAD:refs/for/master\r
\r
+Testing\r
+-------\r
+\r
+SwiftShader's OpenGL ES implementation can be tested using the [dEQP](https://source.android.com/devices/graphics/testing) test suite.\r
+\r
+See [docs/dEQP.md](docs/dEQP.md) for details.\r
+\r
+Third-Party Dependencies\r
+------------------------\r
+\r
+The [third_party](third_party/) directory contains projects which originated outside of SwiftShader:\r
+\r
+[LLVM](third_party/LLVM/) contains an outdated and diverged copy of the [LLVM](http://llvm.org/) compiler framework. Until further notice, maintenance fixes can be made directly in the SwiftShader repository.\r
+\r
+[subzero](third_party/subzero/) contains a fork of the [Subzero](https://chromium.googlesource.com/native_client/pnacl-subzero/) project. It is part of Google Chrome's (Portable) [Native Client](https://developer.chrome.com/native-client) project. Its authoritative source is at [https://chromium.googlesource.com/native_client/pnacl-subzero/](https://chromium.googlesource.com/native_client/pnacl-subzero/). The fork was made using [git-subtree](https://github.com/git/git/blob/master/contrib/subtree/git-subtree.txt) to include all of Subzero's history, and until further notice it should **not** diverge from the upstream project. Contributions must be tested using the [README](third_party/subzero/docs/README.rst) instructions, reviewed at [https://chromium-review.googlesource.com](https://chromium-review.googlesource.com/q/project:native_client%252Fpnacl-subzero), and then pulled into the SwiftShader repository.\r
+\r
+[llvm-subzero](third_party/llvm-subzero/) contains a minimized set of LLVM dependencies of the Subzero project.\r
+\r
+[PowerVR_SDK](third_party/PowerVR_SDK/) contains a subset of the [PowerVR Graphics Native SDK](https://github.com/powervr-graphics/Native_SDK) for running several sample applications.\r
+\r
+[googletest](third_party/googletest/) contains the [Google Test](https://github.com/google/googletest) project, as a Git submodule. It is used for running unit tests for Chromium, and Reactor unit tests. Run `git submodule update --init` to obtain/update the code. Any contributions should be made upstream.\r
+\r
Documentation\r
-------------\r
\r
See [docs/Index.md](docs/Index.md).\r
\r
Contact\r
------------\r
+-------\r
\r
Public mailing list: [swiftshader@googlegroups.com](https://groups.google.com/forum/#!forum/swiftshader)\r
\r
-Bug tracker: https://bugs.chromium.org/p/swiftshader\r
+General bug tracker: https://g.co/swiftshaderbugs\\r
+Chrome specific bugs: https://bugs.chromium.org/p/swiftshader\r
\r
License\r
-----------\r
+-------\r
\r
The SwiftShader project is licensed under the Apache License Version 2.0. You can find a copy of it in [LICENSE.txt](LICENSE.txt).\r
\r
Files in the third_party folder are subject to their respective license.\r
\r
Authors and Contributors\r
------------------------------------\r
+------------------------\r
\r
The legal authors for copyright purposes are listed in [AUTHORS.txt](AUTHORS.txt).\r
\r
[CONTRIBUTORS.txt](CONTRIBUTORS.txt) contains a list of names of individuals who have contributed to SwiftShader. If you're not on the list, but you've signed the [Google CLA](https://cla.developers.google.com/clas) and have contributed more than a formatting change, feel free to request to be added.\r
\r
Disclaimer\r
----------------\r
+----------\r
\r
1. Trademarks are the property of their respective owners.\r
2. We do not claim official conformance with any graphics APIs at this moment.\r
-3. This is not an official Google product.
\ No newline at end of file
+3. This is not an official Google product.\r