- 27 Mar, 2020 7 commits
-
-
Ben Clayton authored
Configs still to add: android, fuchsia, windows Bug: b/152339534 Change-Id: Ieb743e50459114343e72f3be43cf6c215f1f03fe Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/43013Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Ben Clayton authored
Configs still to add: android, darwin, fuchsia, windows Bug: b/152339534 Change-Id: I721b7a69a0a1e84f09158329557264bf2af9c5d6 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/43009Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Alexis Hetu authored
Includes fix #3253, which fixed the following SwANGLE test: KHR-GLES31.core.compute_shader.resources-max Changes: fd773eb50 Start SPIRV-Tools v2020.3 fd8e13051 Finalize SPIRV-Tools v2020.2 3ef8fe9a5 Update CHANGES 022da4d0e Fix identification of Vulkan images and buffers (#3253) 1346dd5de Disallow phis of images, samplers and sampled images (#3246) 1c8bda372 Add data structure for DebugScope, DebugDeclare in spirv-opt (#3183) e6f372c5c Whitelist SPV_KHR_ray_tracing (#3241) 7f341ffee Make file formatting comply with POSIX standards (#3242) 60104cd97 Add opt::Operand::AsCString and AsString (#3240) da52d0875 Add RayQueryProvisionalKHR to opt types (#3239) 18d3896a1 Whitelist SPV_EXT_demote_to_helper_invocation for opt passes (#3236) 5a97e3a39 Add support for KHR_ray_{query,tracing} extensions (#3235) 25ede1ced Roll external/spirv-headers/ 30ef660ce..a17e17e36 (1 commit) (#3230) 7a8f79762 Update dependencies (#3228) 1fe9bcc10 Instrument: Debug Printf support (#3215) 6428ad05e spirv-fuzz: Support OpPhi when adding dead break and continue (#3225) 1af1df3b2 spirv-fuzz: Fix vector width issue in 'add equation instructions' pass (#3223) dd3d91691 Allow sampledimage types as operand of OpCopyObject (#3222) 7c3de218f spirv-fuzz: Remove duplicated functionality (#3220) 659470446 spirv-fuzz: Allow OpPhi operand to be replaced with a composite synonym (#3221) 4c027048d spirv-fuzz: Add toggle access chain instruction transformation (#3211) 533af4981 spirv-fuzz: Add fuzzer pass to permute function parameters (#3212) da4cd2148 spirv-fuzz: Use better function name (#3207) 66a682b6a spirv-fuzz: Add swap commutable operands transformation (#3205) 044ecc0b2 spirv-fuzz: Fuzzer pass to add equation instructions (#3202) a6d3a2dd4 Refactor FuzzerPass::ApplyTransformation code duplication. (#3206) e1688b60c Avoid use of Python distutils.dir_util (#3203) 661e79eec Adding WebGPU specific Workgroup scope rule (#3204) 70f888131 Add validation rules for OpenCL.DebugInfo.100 extension (#3133) fb6e3e48d Combine extinst-name and extinst-output-base into one arg. (#3200) Commands: ./third_party/update-spirvtools.sh Bug: b/123642959 Bug: b/148460089 Change-Id: I8fa5d3609de1c6ae786c84b93cba7ac015b4f56e -
Alexis Hetu authored
fd773eb50 Start SPIRV-Tools v2020.3 fd8e13051 Finalize SPIRV-Tools v2020.2 3ef8fe9a5 Update CHANGES 022da4d0e Fix identification of Vulkan images and buffers (#3253) 1346dd5de Disallow phis of images, samplers and sampled images (#3246) 1c8bda372 Add data structure for DebugScope, DebugDeclare in spirv-opt (#3183) e6f372c5c Whitelist SPV_KHR_ray_tracing (#3241) 7f341ffee Make file formatting comply with POSIX standards (#3242) 60104cd97 Add opt::Operand::AsCString and AsString (#3240) da52d0875 Add RayQueryProvisionalKHR to opt types (#3239) 18d3896a1 Whitelist SPV_EXT_demote_to_helper_invocation for opt passes (#3236) 5a97e3a39 Add support for KHR_ray_{query,tracing} extensions (#3235) 25ede1ced Roll external/spirv-headers/ 30ef660ce..a17e17e36 (1 commit) (#3230) 7a8f79762 Update dependencies (#3228) 1fe9bcc10 Instrument: Debug Printf support (#3215) 6428ad05e spirv-fuzz: Support OpPhi when adding dead break and continue (#3225) 1af1df3b2 spirv-fuzz: Fix vector width issue in 'add equation instructions' pass (#3223) dd3d91691 Allow sampledimage types as operand of OpCopyObject (#3222) 7c3de218f spirv-fuzz: Remove duplicated functionality (#3220) 659470446 spirv-fuzz: Allow OpPhi operand to be replaced with a composite synonym (#3221) 4c027048d spirv-fuzz: Add toggle access chain instruction transformation (#3211) 533af4981 spirv-fuzz: Add fuzzer pass to permute function parameters (#3212) da4cd2148 spirv-fuzz: Use better function name (#3207) 66a682b6a spirv-fuzz: Add swap commutable operands transformation (#3205) 044ecc0b2 spirv-fuzz: Fuzzer pass to add equation instructions (#3202) a6d3a2dd4 Refactor FuzzerPass::ApplyTransformation code duplication. (#3206) e1688b60c Avoid use of Python distutils.dir_util (#3203) 661e79eec Adding WebGPU specific Workgroup scope rule (#3204) 70f888131 Add validation rules for OpenCL.DebugInfo.100 extension (#3133) fb6e3e48d Combine extinst-name and extinst-output-base into one arg. (#3200) git-subtree-dir: third_party/SPIRV-Tools git-subtree-split: fd773eb50d628c1981338addc093df879757c2cf -
Alexis Hetu authored
Changes: f8bf11a02 Merge pull request #149 from dgkoch/prov_ray_tracing fdbc0d1c4 Add shadercalls scope 9a186c772 Added ray flags, primitive culling flags, queries 9e8e6aff3 Non-functional: Update header build to match Khronos spec. builder. 8830d1d77 Merge pull request #135 from vulturm/patch-1 95b48cedd Update headers for SPV_KHR_ray_tracing. a17e17e36 Merge pull request #148 from null77/fix-gn 976926d58 Add missing header to BUILD.gn. 30ef660ce Merge pull request #146 from s-perron/bazel 0d334e4ad Export NonSemanticDebugPrintf.h in bazel build d9ce9ca52 Merge pull request #145 from jeffbolznv/nonsemantic_debugprintf e814bf006 Add NonSemantic.DebugPrintf JSON/header 89bef4096 Fix max enum value 0a7fc4525 Add grammars, C header, and header generator for vendor and KHR extended instruction sets (#143) 5dbc1c321 Merge pull request #142 from mkinsner/additional_loop_control_bits 4b013f0fd Allocate three bits for upcoming Intel extension dc77030ac Merge pull request #141 from dneto0/update-buildgn-lic 9c63d5773 Fix the license to match LICENSE 0125ae61b Merge pull request #140 from ShabbyX/add_build_gn c7f52d34c Add BUILD.gn 927aae4dc Also propagate SPIRV-Headers version to CMakeLists.txt Commands: ./third_party/update-spirvheaders.sh Bug: b/123642959 Change-Id: Iaacec0b1b56e49b53a16e27ddea851ee02cf6d3f -
Alexis Hetu authored
f8bf11a02 Merge pull request #149 from dgkoch/prov_ray_tracing fdbc0d1c4 Add shadercalls scope 9a186c772 Added ray flags, primitive culling flags, queries 9e8e6aff3 Non-functional: Update header build to match Khronos spec. builder. 8830d1d77 Merge pull request #135 from vulturm/patch-1 95b48cedd Update headers for SPV_KHR_ray_tracing. a17e17e36 Merge pull request #148 from null77/fix-gn 976926d58 Add missing header to BUILD.gn. 30ef660ce Merge pull request #146 from s-perron/bazel 0d334e4ad Export NonSemanticDebugPrintf.h in bazel build d9ce9ca52 Merge pull request #145 from jeffbolznv/nonsemantic_debugprintf e814bf006 Add NonSemantic.DebugPrintf JSON/header 89bef4096 Fix max enum value 0a7fc4525 Add grammars, C header, and header generator for vendor and KHR extended instruction sets (#143) 5dbc1c321 Merge pull request #142 from mkinsner/additional_loop_control_bits 4b013f0fd Allocate three bits for upcoming Intel extension dc77030ac Merge pull request #141 from dneto0/update-buildgn-lic 9c63d5773 Fix the license to match LICENSE 0125ae61b Merge pull request #140 from ShabbyX/add_build_gn c7f52d34c Add BUILD.gn 927aae4dc Also propagate SPIRV-Headers version to CMakeLists.txt git-subtree-dir: third_party/SPIRV-Headers git-subtree-split: f8bf11a0253a32375c32cad92c841237b96696c0
-
David 'Digit' Turner authored
Found when building with the Fuchsia toolchain, which uses a recent clang version: - The constants '1.0f / 0x7FFFFFFF' and '1.0f / 0xFFFFFFFF' cannot be computed directly without losing one bit of accuracy, and the compiler was complaining about it, so use intermediate double values to get the correct, final result. - The MemoryMapped class needs to be declared final to have a final destructor, otherwise the compiler complains with: error: class with destructor marked 'final' cannot be inherited from [-Werror,-Wfinal-dtor-non-final-class] Bug: None Change-Id: I9728df87fd5d12418ef7d73aa651eca02b0e36f9 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/42888 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:Ben Clayton <bclayton@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
- 26 Mar, 2020 8 commits
-
-
Ben Clayton authored
Bug: None Change-Id: I8a2a39894f022d93ad159fbfd20e34fbc06fa73d Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/43050Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Nicolas Capens authored
Tests like dEQP.GLES3/functional_fbo_blit_depth_stencil_depth24_stencil8_basic were not passing when running on SWANGLE. Bug: b/151235334 Change-Id: Icc3c4709a50c96d4552af4e4835f1e5eb43dd653 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/43028 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Ben Clayton authored
And add the LLVM_VERSION env var and plumb this into the shell scripts. Stub building the 10.0 builds for now. We'll enable them one at a time. Bug: b/152339534 Change-Id: I645a6d748dec956505ba550ce96ff85a21f9f73e Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/43012Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com>
-
Ben Clayton authored
`run_testlist` now supports the `--coverage` flag, which will collate the coverage information from each and every deqp test that's run. This information is written to a `coverage.json` file which can be consumed by a html browser. An early version of this can be found here (likely to move): https://ben-clayton.github.io/swiftshader-coverage/ Bug: b/152192800 Change-Id: I52434f1ce30e6a091d2932fbae309cd81809cb79 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/42890Reviewed-by:
Antonio Maiorano <amaiorano@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
When `SWIFTSHADER_EMIT_COVERAGE` is enabled, generate a new `coverage-toolchain.txt` text file next to the `vk_swiftshader_icd.json` file. This file contains a path to the C++ compiler toolchain used to build swiftshader, so that the regres tooling can locate the llvm tools used to parse the coverage data. Bug: b/152192800 Change-Id: I3aa718206c3262bcd05e13e854002dea8f40801f Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/42889Reviewed-by:
Antonio Maiorano <amaiorano@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
Enables code coverage generation for gcc and clang toolchains. Bug: b/152192800 Change-Id: If4cca74f2c5edf23626fe6053f29928e62ec00d3 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/42709 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Ben Clayton authored
And move LLVM_DIR and LLVM_CONFIG_DIR into the llvm's CMakeLists.txt Bug: b/145758253 Bug: b/152339534 Change-Id: I29e555e09b82dcf77cd9e9d57b5fb8a477473bbe Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/43008 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Ben Clayton authored
-
- 25 Mar, 2020 12 commits
-
-
Nicolas Capens authored
It is typical for apps to have many image views (and buffer views) with the same parameters. This change avoids generating new sampling routines for image views with identical state. The vk::Identifier class compresses the state into a 32-bit value that is used as part of the key for the sampling routine cache. Bug: b/151235334 Change-Id: I00fc19a91639803273d0f7d6b9fed9fc5b481898 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/42388 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
There are only 241 unique format enums at this moment, so they can fit in an 8-bit variable instead of the 32-bit enum. Bug: b/148016460 Change-Id: I00d47a87ac0d053aee44a5d18f3c96d78c0f7cb0 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/42528 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Nicolas Capens authored
To avoid re-generating sampling routines for sampler with identical state, keep a map of sampler state to 32-bit integer identifiers. Bug: b/151235334 Change-Id: I105151675afbf29bd29585e866b8cd976f66fb49 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/42468 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Nicolas Capens authored
This enables deriving the state structure from Memset<> so we can ensure it is fully zero-initialized and becomes comparable, while vk::Sampler holds the identifier for the state. Bug: b/151235334 Change-Id: I23a09eda9b50409c761bdd6ed10911ec159dc3ba Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/42768 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
Previously the compiler would implicitly declare a copy constructor and assignment operator for classes derived from Memset<>, if they didn't have user-defined ones. This can cause them to have uninitialized padding bytes. By defining them ourselves using memcpy() we can ensure they're zero-initialized. Also define equality and less-than operators. The latter makes classes derived from Memset<> suitable as std::map<> keys. is_memcmparable<> now no longer works on classed derived from Memset<>, because it uses std::is_trivially_copyable<> which isn't true when a user-defined copy constructor or assignment operator is provided. Instead just rely on Memset<>'s new equality operators. Bug: b/131246679 Change-Id: I6e4963db8186955d8d3d3ef356fa42ef6a024c64 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/42728 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
Not referenced or built by any build system yet. llvm-10-update: d32170dbd Bug: b/152339534 Change-Id: Ifeb90a8c6fb096f4e9a457a3d141f509f5d50800
-
Ben Clayton authored
Upstream llvm now lives in a mono-repo along with clang, libc, lldb and a whole bunch of other projects (~90k files at time of writing). SwiftShader only requires the llvm project from this repo, and does not wish to pull in everything else. This script performs the following: * The llvm10-clean branch is fetched and checked out. * A sparse checkout of the llvm project is made to a temporary directory. * The third_party/llvm-10.0/llvm is replaced with the latest LLVM version. * This is committed and pushed. * The original branch is checked out again, and a merge from llvm10-clean to the original branch is made. Bug: b/152339534 Change-Id: I75a7bf9e3f4deb7cbf6ff3f7f9428f07b8422800 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/42968Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Antonio Maiorano authored
The regres daily run will now first build and run SwiftShader/Subzero, followed by SwiftShader/LLVM, both uploading to the same CL. This allows us to see if there are any diffs between the two, and we can still merge the latest LLVM version. * Also added -dailyonly to run the daily only and quit. * Also added -limit to limit the number of tests that are run for testing. Bug: b/152216043 Change-Id: I5923695d39316a43f867ee0e82fb33f65a66607e Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/42808Tested-by:
Antonio Maiorano <amaiorano@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com>
-
Ben Clayton authored
The base change moved the LLVM rules out to a separate CMakeLists.txt file, while trying to keep the behaviour as close as possible to original. `LLVM_INCLUDE_DIR` is not needed to be exposed if we made it a public include directory on the llvm target, so do that. Bug: b/145758253 Bug: b/152339534 Change-Id: I6e409da409d9a28847ac5bb4074899d70bb38145 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/42971Reviewed-by:
Antonio Maiorano <amaiorano@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Ben Clayton authored
This is a copy-paste, with an additional `set()` with `PARENT_SCOPE` to expose `LLVM_INCLUDE_DIR` to the master `CMakeLists.txt` Bug: b/145758253 Bug: b/152339534 Change-Id: I40c2316d4a08689b60d56fd5d485a5c8044a5693 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/42950Reviewed-by:
Antonio Maiorano <amaiorano@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Ben Clayton authored
Bug: none Change-Id: I72e708c562f7b3eadb6d7f2360d1c99fd31bd872 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/42949 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Ben Clayton authored
llvm-10-update: d32170dbd Change-Id: I654944085579e1e7a738ae8611bbaea27ccf0ccc
-
- 24 Mar, 2020 6 commits
-
-
Ben Clayton authored
`shuffle` will randomize the order in which the tests are run. `limit` will run (post-shuffle) at most this number of tests. `no-results` will disable emission of the `results.json` file. These are useful for testing a random subset of the filtered test list. Change-Id: Ied54b4fd57c9e02fa6a9e63b808417fdc8f73a43 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/42710Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Ben Clayton authored
* changes: Update Marl to 16e1dc37c Squashed 'third_party/marl/' changes from ca8408f68..16e1dc37c
-
Nicolas Capens authored
The sampling routine no longer requires a sampler parameter, since all data is treated as state instead. Bug: b/151957215 Change-Id: I1917bf78ef18f6726ed6c87525f0bc42356d5c19 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/42589Tested-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Nicolas Capens authored
Treat floating-point sampler values as state that is baked into the sampling routine, instead of reading it from memory. This offers more opportunities for optimizing the generated code. Bug: b/151957215 Change-Id: If41455dece60307a54d97463e9ad26ed052f2588 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/42588Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
Contains more optimizations for coroutine usage, better teardown behavior for single-threaded workers, and more cmake-idiomatic linking of pthreads. x86 fixes were already cherry-picked. Changes: 16e1dc37c Add missing copyright header to marl-config.cmake.in 09b759550 CMake: link with pthread in a CMake way (#108) 47afda398 Kokoro+ubuntu: enable x86 and clang testing f421c8b4f Kokoro+ubuntu: Plubming for x86 & clang 69797fcf0 Fixes for x86. 3d6365b82 Scheduler: add wait() overloads that do not take a lock db1e8c767 Scheduler: block until all threads are unbound. Commands: git subtree pull --prefix third_party/marl https://github.com/google/marl master --squash Bug: b/140546382 Change-Id: I9862d8e2996db1e97e69d008125eeaf86da434c3 -
Ben Clayton authored
16e1dc37c Add missing copyright header to marl-config.cmake.in 09b759550 CMake: link with pthread in a CMake way (#108) 47afda398 Kokoro+ubuntu: enable x86 and clang testing f421c8b4f Kokoro+ubuntu: Plubming for x86 & clang 69797fcf0 Fixes for x86. 3d6365b82 Scheduler: add wait() overloads that do not take a lock db1e8c767 Scheduler: block until all threads are unbound. git-subtree-dir: third_party/marl git-subtree-split: 16e1dc37c5e12c35b93272f0353d0e6e9f200a26
-
- 23 Mar, 2020 3 commits
-
-
Antonio Maiorano authored
Bug: b/145758253 Change-Id: Ie444337ea0efe91820d64400a857136f800cd3d6 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/42788 Presubmit-Ready: Antonio Maiorano <amaiorano@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Antonio Maiorano <amaiorano@google.com>
-
Chris Forbes authored
Bug: b/152218432 Change-Id: I71eb0cbda5ae98ab39d9953fe049368b8341193a Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/42748Tested-by:
Chris Forbes <chrisforbes@google.com> Presubmit-Ready: Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Ben Clayton authored
* changes: Update Marl to ca8408f68 Squashed 'third_party/marl/' changes from 64d123947..ca8408f68
-
- 20 Mar, 2020 1 commit
-
-
Antonio Maiorano authored
Rework how instructions are injected at the top of the CoroutineBegin function by getting rid of replaceEntryNode, which attempted to replace the entry node with a non-entry one. This seemed to work on all targets, except for Windows x86-32 (Win32) when passing enough arguments to Coroutines. In this case, it would crash in the code generated right after this injected code. It looks like the code in replaceEntryNode is not quite right, resulting in Subzero creating needless stack allocs per argument, and ultimately generating invalid offsets from the stack pointer. Instead of fixing replaceEntryNode, I now simply remember the entryNode for CoroutineBegin to use, adding the rest to a separate node for basicBlock, and when finalizing the function, I connect entryNode to the initial basicBlock node via a branch. This way, there is not messing around with function's node list. This not only fixes the crash, but gets rid of the needless stack allocs per arg. Bug: angleproject:4482 Change-Id: I13f9c8c43ee07f35302208d9876e6fbdf0b1ad26 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/42608 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Antonio Maiorano <amaiorano@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 19 Mar, 2020 2 commits
-
-
Alexis Hetu authored
Floating point negative values were first converted to half values, followed with a conversion to 11 bit or 10 bit mini floats by chopping the mantissa and removing the sign bit. Negative values were converted to the same values as positive values since removing the sign bit ended up doing the equivalent of an Abs() call. Clamped the value to 0 before the conversion to solve the issue. Bug: b/146223877 b/147900455 Change-Id: I97decae66dc57a68f175b06902eb6725fc7d5794 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/42548 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Antonio Maiorano authored
Original patch: https://github.com/google/marl/commit/69797fcf044d7c4b077a38c587e5dd168b530d0b Bug: angleproject:4482 Change-Id: I1aea95267e63bd776479c74bc2160ecf83f9e816 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/42549Reviewed-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Antonio Maiorano <amaiorano@google.com>
-
- 18 Mar, 2020 1 commit
-
-
Antonio Maiorano authored
On x86-32, the CALL instruction takes an IP-relative target address. These are emitted as relocatable addresses, which we fix up in rr::loadImage in SubzeroReactor.cpp. The problem is that we were calling loadImage multiple times when compiling Coroutine functions - three times, in fact, since there are three Coroutine functions (create, await, destroy). As such, we would fixup the same relocatable addresses multiple times, but the fixup uses the existing value, so it would become invalid after the second fixup. To fix this, we now only call loadImage once, collecting all entry points at once. Also opportunistically fixed a missing argument to coro::isDone, and added a static_assert to sz::Call to avoid this happening again. Bug: angleproject:4482 Change-Id: If847d02649152abc1a9d8476023dd240465fa736 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/42448 Presubmit-Ready: Antonio Maiorano <amaiorano@google.com> Tested-by:
Antonio Maiorano <amaiorano@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-