commit | bdfcfe9cfd2acb22219dd5a79fd7f83c8f320a11 | [log] [tgz] |
---|---|---|
author | Ben Clayton <bclayton@google.com> | Mon Feb 24 14:54:25 2020 +0000 |
committer | Ben Clayton <bclayton@google.com> | Mon Feb 24 15:00:16 2020 +0000 |
tree | 02d1c8e9d6f73dd997edc94ab11281e043ea9d1e | |
parent | 214ec337a0b2745e6c41fbb3d562fa517122812f [diff] | |
parent | dc6b76af7b25f89f6ec5fafe7c08ee0ad707672f [diff] |
Update SPIRV-Tools to 8910ea5f1 Also applies a fix for `spvOpcodeString` being moved to the public spirv-tools interface. Changes: 8910ea5f1 Fix Wrange-loop-analysis warnings in SPIRV-Tools. (#3201) c316fb15f Add missing dependencies when generating spvtools_core_tables (#3199) 03c9effb5 Brief guide to writing a spirv-fuzz fuzzer pass (#3190) dea1040fa Fix ignored const qualifier warning in static_cast (#3197) 4a80497a8 Make spvOpcodeString part of the public API (#3174) 03794b8f5 Fix static libraries linking order (#3189) 79f8caf91 vscode: Add missing fields to schema.Opcode (#3169) 4d912f4e6 spirv-val: Add support for SPV_AMD_shader_image_load_store_lod (#3186) 77fefe765 spirvfuzz: Fix type-related bug, change undef to zero, and add assert (#3188) 6c218ec60 spirv-fuzz: Fuzzer pass that adds access chains (#3182) 77fb303e5 spirv-fuzz: Fuzzer pass to add function calls (#3178) 3d4a0dd48 spirv-fuzz: Ensure that donated variables are always initialized (#3181) fe10239f9 spirv-fuzz: Add fuzzer passes to add loads/stores (#3176) 1f03ac102 spirv-fuzz: Fuzzer passes to add local and global variables (#3175) 9e52bc0d0 utils/vscode: LSP - Support OpExtInst (#3140) a3b5ad909 Fix typos in opt's help. Update environment version. (#3170) da5457f6b Start SPIRV-Tools v2020.2 8dd174809 Finalize SPIRV-Tools v2020.1 76616bab6 Update CHANGES bb56e892f spirv-fuzz: Fuzzer pass to add composite types (#3171) fdd0c8776 Update script that checks copyright years. (#3173) b7e0998e3 spirv-fuzz: Disallow copying of null and undefined pointers (#3172) a9624b4d5 Handle TimeAMD in AmdExtensionToKhrPass. (#3168) ddcc11763 Update CHANGES 0265a9d4d Implement constant folding for many transcendentals (#3166) 7a2d408de Fix typo in comment. (#3163) 1fc7a9ec7 spirv-fuzz: Arbitrary variable facts (#3165) dd3f8d492 spirv-fuzz: Add outlining test (#3164) 521223b70 spirv-fuzz: Make functions "livesafe" during donation (#3146) 97f1d485b Dead branch elim fix (#3160) 1b3441036 Fix chromium build (#3152) 5d786f6cc Clarify mapping of target env to SPIR-V version (#3150) e7afeb060 Use dummy switch instead of dummy loop in MergeReturn pass. (#3151) 6729c4a7c Fix structured exit validation (#3141) bb236c326 Add spvParseVulkanEnv (#3142) dd37d73c5 Handle conflict between debug info and existing validation rule (#3104) b97057e7f Use spirv-headers' BUILD.gn (#3148) 6a1a1b326 Roll external/spirv-headers/ af64a9e82..dc77030ac (4 commits) (#3147) ab7ac60f1 spirv-fuzz: Refactoring and type-related fixes (#3144) 323a81fc5 Validate Vulkan 1.2 capabilities d46a1b048 Add basic support for Vulkan 1.2: SPV_ENV_VULKAN_1_2 f8d7df760 Fix OpLine bug of merge-blocks pass (#3130) 8013d477a spirv-fuzz: add dead blocks (#3135) 18b3b9456 Remove names and decorations of imported symbols (#3081) fb2e81981 Fix GN build for OpenCL.DebugInfo.100 update (#3134) c86dc0bcd Fix bad parameter names in error message (#3129) 899735f45 Revert PR #3093 (#3131) a466b99db Disallow forward references in arrays (#3093) 31acc7882 spirv-fuzz: Add fuzzer pass to perform module donation (#3117) c8bf14393 GetOperandConstants operand can be const (#3126) Commands: git subtree pull --prefix third_party/SPIRV-Tools https://github.com/KhronosGroup/SPIRV-Tools master --squash Bug: b/123642959 Bug: angleproject:4425 Change-Id: I73076a22b474893d900a017d94a5d122061381bc
SwiftShader is a high-performance CPU-based implementation of the Vulkan, OpenGL ES, and Direct3D 9 graphics APIs12. Its goal is to provide hardware independence for advanced 3D graphics.
SwiftShader libraries can be built for Windows, Linux, and Mac OS X.
Android and Chrome (OS) build environments are also supported.
Visual Studio
For building the Vulkan ICD library, use Visual Studio 2019 to open the project folder and wait for it to run CMake. Open the CMake Targets View in the Solution Explorer and select the vk_swiftshader project to build it.
There is also a legacy SwiftShader.sln file for Visual Studio 2017 for building OpenGL ES and Direct3D libraries. 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.
CMake
Install CMake for Linux, Mac OS X, or Windows and use either the IDE or run the following terminal commands:
cd build cmake .. make --jobs=8 ./gles-unittests ./OGLES2HelloAPI
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.
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 executing:
git push origin HEAD:refs/for/master
SwiftShader's OpenGL ES implementation can be tested using the dEQP test suite.
See docs/dEQP.md for details.
The third_party directory contains projects which originated outside of SwiftShader:
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
General bug tracker: https://g.co/swiftshaderbugs
Chrome specific bugs: 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.