- 05 Apr, 2019 3 commits
-
-
Ben Clayton authored
The logic did not handle desciptor arrays, or the descriptor overflow case. Bug: b/123244275 Tests: *with_template* Change-Id: Idf3f70848136865d1d76dc4f2f41b4c35d9230db Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28388Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Presubmit-Ready: Ben Clayton <bclayton@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
Rename Object::Kind::Value to Object::Kind::Intermediate. Rename SpirvRoutine::Value to SpirvRoutine::Variable. Change-Id: I1dba30687cbf979d80b0deeca7a96e64a88c94db Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28393 Presubmit-Ready: Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
SwiftShader Regression Bot authored
Change-Id: I45b04d1043a83a3732aab59a9009bdbbb1ee56ba Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28397Reviewed-by:
Ben Clayton <bclayton@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
- 04 Apr, 2019 5 commits
-
-
Ben Clayton authored
Just a safety belt that we're not doing stupid things. Change-Id: I092b0755d151a559f793e1a9f30b17ef52626d10 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28389 Presubmit-Ready: Ben Clayton <bclayton@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Stephen White authored
From the build directory, run: cmake -DCMAKE_TOOLCHAIN_FILE=../build/android.toolchain.cmake .. Everything compiles and links. unittests, vk-unittests and ReactorUnitTests are known to work. A "rundroid.sh" script is provided to upload and run Android binaries. This CL has contains the first draft of an NDK-based FrameBuffer implementation. It stubs out the gralloc calls in Image (consequence: EGLImage likely won't work). NOTE: a small CMake patch is necessary; hopefully we'll find a way around this or land it in CMake: diff cmake-3.10/Modules/Platform/Android/Determine-Compiler-NDK.cmake.bak cmake-3.10/Modules/Platform/Android/Determine-Compiler-NDK.cmake 231c231 < set(_ANDROID_TOOL_C_COMPILER_EXTERNAL_TOOLCHAIN ${CMAKE_ANDROID_NDK}/toolchains/${_ANDROID_TOOL_NAME}/prebuilt/${_ANDROID_HOST_DIR}) --- > set(_ANDROID_TOOL_C_COMPILER_EXTERNAL_TOOLCHAIN ${CMAKE_ANDROID_NDK}/toolchains/${_ANDROID_TOOL_LLVM_NAME}/prebuilt/${_ANDROID_HOST_DIR}) Bug: b/129942368 Change-Id: I107a2f719256b6477ad105054ca68c676c05ec5c Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27869 Presubmit-Ready: Stephen White <senorblanco@chromium.org> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:Stephen White <senorblanco@chromium.org> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Cody Schuffelen authored
This fixes one deadlock in Android's use of SwiftShader. Now fixed for ASAN/tsan. Bug: b/124530765 Test: atest CtsGraphicsTestCases:android.graphics.cts.BitmapTest#testDrawingHardwareBitmapNotLeaking -- --abi x86 Test: b/124530765#comment53 Signed-off-by:
Cody Schuffelen <schuffelen@google.com> Change-Id: Iacb04c0ac515eca1849d365c20efa84d58b75f72 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28308 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Ben Clayton authored
... so we can use it for the non-indexed case. Bug: b/118386749 Tests: dEQP-VK.draw.basic_draw.* Change-Id: I21f1616db0b6613f8db6bff61f6aa1dfcf67c253 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28356 Presubmit-Ready: Ben Clayton <bclayton@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
SwiftShader Regression Bot authored
Change-Id: Ie0776ebefe7d83eee26b98b9dbc84efa30dd2cad Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28357Reviewed-by:
Ben Clayton <bclayton@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
- 03 Apr, 2019 15 commits
-
-
Ben Clayton authored
Tests: *dynamic* Bug: b/126330097 Change-Id: I7e4f7e3d921acb72878b7728216415ba66f63ec7 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28249Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Alexis Hetu authored
Replaced DrawType by VkPrimitiveTopology and VkIndexType. Bug b/118386749 Change-Id: I6cd9a263b823e32c19ab85df7978cd674a757f1f Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/22848Tested-by:
Alexis Hétu <sugoi@google.com> Presubmit-Ready: Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Chris Forbes authored
Bug: b/124056625 Change-Id: I2e5650f81516da1e8f18775cb4b10ff5cfbb8a80 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28328 Presubmit-Ready: Chris Forbes <chrisforbes@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com>
-
Ben Clayton authored
A lot of the Regres timeouts we are seeing are in LLVM code generation. These appear to happen for shaders with a pathological number of loads and stores - most likely created by glslang. Each of these loads and stores produce a bunch of branches in the LLVM IR (due to lane masking), which then choke LLVM. Tests: dEQP-VK.ssbo.layout.* Change-Id: I0bb654d9001d0d6bdd02244844bed8e73ce8d9d4 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28348 Presubmit-Ready: Ben Clayton <bclayton@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
Bug: b/128527271 Change-Id: I4bf01e7915735d7fd3dc827fd67873fff75a756f Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28354 Presubmit-Ready: Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Ben Clayton authored
Nothing reads these, save the SSD R/W cycles! Change-Id: Ic49a40387672a1e5aaedb169d9d46f61daedc430 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28353Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Ben Clayton authored
Change-Id: Ia8793c5274985a8474407a42628b054136de8aa9 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28352Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Ben Clayton authored
Change-Id: I8aed6a72c4b9a2a575e441b846c581a67f82cf9b Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28351Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Ben Clayton authored
Only the parent process was being killed, allowing children to accumulate, eventually bringing down the machine. Change-Id: I84e43265e53fe17058b3e3568919f6fad704f94f Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28350Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Ben Clayton authored
* Shuffle the test lists to mix heavy-load tests with lighter ones. * Bump the test timeout to 10 minutes. Change-Id: I886b08993a39ce78fd198ac4a1ce06f7378dbb20 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28349Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
SwiftShader Regression Bot authored
Change-Id: I91eb237cd3a501eb06054b3069661de5869d8678 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28255Reviewed-by:
Ben Clayton <bclayton@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Nicolas Capens authored
Uses llvm.vcxproj generated by build/cmake.sh Bug b/115344057 Change-Id: I09041d219f194e5ec97daad6b1b247a565909e98 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28110 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Nicolas Capens authored
Prevents linking issues with LLVM 7.0. Bug b/115344057 Change-Id: I7270c2bcf6095b1ec9911074b3119f87680a7cad Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28168 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Nicolas Capens authored
Fixes linking for MSVC build. Bug b/115344057 Change-Id: I9a38d987f0cf8c20c670ccdb1c38dd49681bb941 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27968 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Nicolas Capens authored
The CMake build derives the .def name from the project name, which is libvk_swiftshader. Bug b/115344057 Bug b/116336664 Change-Id: I236839b2da4531e01f5260705c189d9ae8df9769 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27988 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
- 02 Apr, 2019 3 commits
-
-
Ben Clayton authored
This is per-user data and can easily contain paths to directories outside of the project. Also remove .vscode/launch.json. Change-Id: Iefedc52ec8446d4b6de5e6026761359ac9ac1a0f Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28069 Presubmit-Ready: Ben Clayton <bclayton@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Nicolas Capens authored
Subzero does not appear to preserve function arguments passed in as registers onto the stack by itself. Any scratch registers can get reused for local variable register allocation. This workaround simply materializes each concrete Reactor variable constructed from an argument on definition. It does not ensure that arguments turned into variables at a later point are properly preserved. Also this solution does not centralize the materialization, making it bug prone when new concrete Reactor types are implemented. Bug b/129757459 Change-Id: I1007ea0e7204d05e60203b2e896589a03fc515a9 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28309Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com>
-
SwiftShader Regression Bot authored
Change-Id: I3d7474e24faccf30a11a9c9bfdae69aa1ae918bf Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28251Reviewed-by:
Ben Clayton <bclayton@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
- 01 Apr, 2019 5 commits
-
-
Nicolas Capens authored
With Reactor variables now merely tracking the last assigned rvalue if used within a single basic block, we can avoid the unsafe replace() operation on SpirvShader::Intermediate. This effectively reverts https://swiftshader-review.googlesource.com/c/SwiftShader/+/27769 Bug b/129356087 Bug b/128527271 Change-Id: Ibfafc6960ac7e10b898ff8804752b928a7fc1988 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28109Tested-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com>
-
Nicolas Capens authored
Variables which are only used within a single basic block and don't have their address taken, don't require allocating stack memory. Instead they can track the latest rvalue that has been assigned to them. Allocating stack memory is necessary for variables that are assigned to in divergent basic blocks since there is no single rvalue to track after the merge point (unless we inserted phi instructions, but that is outside of the scope of this change). Because Reactor can't look forward to check whether a variable will be used in divergent basic blocks, we keep the set of variables that may not have been materialized yet, meaning they have no stack address yet. When a branch is encountered, they are all materialized. Variables not yet materialized at a Return() are 'killed' to prevent materializing afterwards, which would cause the terminator ret instruction to not be the last instruction of the basic block. Note that this change creates a dependency of the Nucleus implementation on Variable, which is currently defined in a higher layer in Reactor.hpp. Since Variable doesn't depend on anything else in Reactor.hpp it could be made part of Nucleus, or an in-between layer could be added. Bug b/129356087 Change-Id: Ie8c09e34c8befb9787a5c0bca7a20e770bcbf8d3 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27928Tested-by:
Nicolas Capens <nicolascapens@google.com> Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com>
-
Nicolas Capens authored
The Array<> assignment operator gets auto-generated, but is unsafe as it overwrites the Variable address field. Also delete the Variable assignment operator. Bug b/129356087 Change-Id: If6d5945f2a56f9a81bbc1491a524e3f17c1561da Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28088 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com>
-
Nicolas Capens authored
Bug b/129356087 Change-Id: Iab3325d74e783fd158b49ca8f6512641bf7f89ec Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28008 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
It took me quite a while to figure out what this class was doing. Change-Id: I97ab2576e309ee6ca69dd741fd47a86d8cdc6313 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/25248 Presubmit-Ready: Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 31 Mar, 2019 1 commit
-
-
Nicolas Capens authored
This reverts commit 20b950a2. Reason for revert: This is causing regressions in Chrome tests (https://chromium-review.googlesource.com/1546268) as well as google3 presubmit tests (cl/241036666). In both cases there's a timeout. Bug: b/124530765 Change-Id: I570c4df5db9557a1ba7e46b07ba425f63cfa6744 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28268Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
- 30 Mar, 2019 3 commits
-
-
Ben Clayton authored
C++ now provides this template magic so you don't have to. Also remove Arg(Function<Return(Arguments...)> &) function that wasn't referenced and wouldn't compile if it were. Bug: b/126126820 Bug: b/129403963 Change-Id: I939e4f7cb95c32b8e663df7da6211460c5de605f Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/25749 Presubmit-Ready: Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Ben Clayton <headlessclayton@gmail.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Ben Clayton authored
My previous attempt to document this wasn't great. Reworked the text and diagram to better illustrate what's going on. Still using 'interleaved-by-lane' terminology for now. Bug: b/126330097 Change-Id: Ia6031f06f9eab0f1f05d80151d9a89de5525b5eb Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26529Reviewed-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Ben Clayton <headlessclayton@gmail.com>
-
SwiftShader Regression Bot authored
Change-Id: I22da31a6704e8556c9b3ac03e4b71542b2993ecd Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28250Reviewed-by:
Ben Clayton <bclayton@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
- 29 Mar, 2019 5 commits
-
-
Ben Clayton authored
Emit loops in forward direction. While traversing backwards from the loop back-edge means you don't have to worry about flowing down the merge block, it can lead to blocks being generated in orders that can break the visit-once logic. Don't consider flows passing through the return block as a back edge. Strip unreachable blocks from ins - nothing should ever consider them. Tests: dEQP-VK.glsl.loops.* Bug: b/128527271 Change-Id: I497a06f5ce65d54b39294e4016b2df6d2c70487c Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28188Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Ben Clayton authored
Given the following situation: ``` >->- alive >->->-> \ >-> alive / unreachable >-> ``` We would attempt to codegen the dead block (all blocks ensure their in's are processed first). However dEQP-VK.spirv_assembly.instruction.graphics.conditional_branch.same_labels_false_frag seems to have dead blocks that use values from blocks it couldn't possibly use (as it has no ins). While this is probably just a broken test, it is still good to harden up the compiler to pathological cases like this. Tests: dEQP-VK.spirv_assembly.instruction.compute.* Tests: dEQP-VK.spirv_assembly.instruction.graphics.* Bug: b/128527271 Change-Id: Ibaacf6a58cf7ab6e73771b58cfe67f0c394e53c6 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27948Tested-by:Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Cody Schuffelen authored
This fixes one deadlock in Android's use of SwiftShader. Bug: b/124530765 Test: atest CtsGraphicsTestCases:android.graphics.cts.BitmapTest#testDrawingHardwareBitmapNotLeaking -- --abi x86 Signed-off-by:
Cody Schuffelen <schuffelen@google.com> Change-Id: I0a8a2674c94ae4fb8b3edb1a2b070b8b3568f8f2 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27408 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Ben Clayton authored
Names are difficult to match against values in SpirvShader. Change-Id: I313534c828b63bb73e8d72fa5475acfb93982bcd Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28190 Presubmit-Ready: Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
- Descriptor set pool allocation did not take the layout pointer into account. - Allocating descriptor sets from the pool was not tracking the first node. - The pointer to a second allocation node was offset from null instead of the pool base address. - Added assert that the descriptor update type matches the layout. - Refactoring to avoid duplicate casting of handles. Bug b/123244275 Tests: dEQP-VK.api.object_management.* Change-Id: Idf7aeb8d2597b30038ba1e9e371d99f09639f13c Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28230 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-