commit | f46493fe09205383fc22ab18bbb6cc1ddcb94079 | [log] [tgz] |
---|---|---|
author | Alexis Hetu <sugoi@google.com> | Mon Dec 18 15:32:26 2017 -0500 |
committer | Alexis Hétu <sugoi@google.com> | Mon Dec 18 21:01:13 2017 +0000 |
tree | d04ef69365aa3549ab309cb7f676294dc7dba348 | |
parent | 4e2f4e2952382991e5941100b1eab612edbadebb [diff] |
Fixed EAC failures The ETC2 decoder spec has a slight difference with the EAC decoder spec when it comes to handling the 0 multiplier corner case. For ETC2, we have (OpenGL ES 3.0 spec, section C.1.3): "An encoder is not allowed to produce a multiplier of zero, but the decoder should still be able to handle also this case (and produce 0 x modifier = 0 in that case)." For EAC, we have (OpenGL ES 3.0 spec, section C.1.5): "If the multiplier value is zero, we should set the multiplier to 1.0/8.0" In order to take this into account, the EAC decoded output can no longer be represented by an 8 bit value, but must be represented by a minimum of 11 bits, as the spec requires. For now, the EAC decoder decodes EAC into a 32 bit integer format, which then gets converted to a 32 bit float format internally. Eventually, it would be possible for the EAC decoder to decode the image to a signed 16 bit integer internal format, if it was supported. Fixes all failures in: dEQP-GLES3.functional.texture.wrap* Change-Id: I32106383ade56e375229231ff230a2574791caa6 Reviewed-on: https://swiftshader-review.googlesource.com/15188 Tested-by: Alexis Hétu <sugoi@google.com> Reviewed-by: Nicolas Capens <nicolascapens@google.com>
SwiftShader is a high-performance CPU-based implementation of the OpenGL ES and Direct3D 9 graphics APIs12. Its goal is to provide hardware independence for advanced 3D graphics.
The SwiftShader libraries act as drop-in replacements for graphics drivers.
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.
Prebuilt binaries can be found at: https://goo.gl/5MOcdb
See CONTRIBUTING.txt for important contributing requirements.
The canonical repository for SwiftShader is hosted at: https://swiftshader.googlesource.com/SwiftShader
All changes must be reviewed and approved in the Gerrit review tool at: https://swiftshader-review.googlesource.com
Authenticate your account here: https://swiftshader-review.googlesource.com/new-password
All changes require a Change-ID tag in the commit message. A commit hook may be used to add this tag automatically, and can be found at: https://gerrit-review.googlesource.com/tools/hooks/commit-msg. To clone the repository and install the commit hook in one go:
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)
Changes are uploaded to Gerrit by performing:
git push origin HEAD:refs/for/master
The third_party directory contains projects which originated outside of SwiftShader:
LLVM contains an outdated and diverged copy of the LLVM compiler framework. Until further notice, maintenance fixes can be made directly in the SwiftShader repository.
subzero contains a fork of the Subzero project. It is part of Google Chrome‘s (Portable) Native Client project. Its authoritative source is at https://chromium.googlesource.com/native_client/pnacl-subzero/. The fork was made using git-subtree 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 instructions, reviewed at https://chromium-review.googlesource.com, and then pulled into the SwiftShader repository.
llvm-subzero contains a minimized set of LLVM dependencies of the Subzero project.
PowerVR_SDK contains a subset of the PowerVR Graphics Native SDK for running several sample applications.
googletest contains the Google Test 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.
See docs/Index.md.
Public mailing list: swiftshader@googlegroups.com
Bug tracker: https://bugs.chromium.org/p/swiftshader
The SwiftShader project is licensed under the Apache License Version 2.0. You can find a copy of it in LICENSE.txt.
Files in the third_party folder are subject to their respective license.
The legal authors for copyright purposes are listed in AUTHORS.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 and have contributed more than a formatting change, feel free to request to be added.