- 07 Feb, 2020 1 commit
-
-
Ben Clayton authored
Bug: b/148660286 Change-Id: I790653cd32736fe5d2ff5d511e42fd232032cadb Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40948 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
- 05 Feb, 2020 2 commits
-
-
Antonio Maiorano authored
Unpoison all buffers we store to. Bug: b/140204746 Change-Id: I211d799b294932affe82cb310ed02d0c0ed5149a Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40908Tested-by:
Antonio Maiorano <amaiorano@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
All places this was raised look like safe usage to me. Also shuffled some CMake code around so that compiler warning settings all sit next to each other. Fixes: b/148842417 Change-Id: I262d0fdacc7a88092cad0890504b0e475f750d47 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40835 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
- 04 Feb, 2020 4 commits
-
-
Ben Clayton authored
These used to assert. Instead of asserting, let the compiler warn about unhandled cases - there's already a `return "<unknown>"` statement below the switch. Credit to Dan Sinclair who did all the hard work here. Bug: None - maintenance fix for legacy code Change-Id: I010a1d6228961a80a15523ff1a2c6db522b7756d Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40833 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Ben Clayton authored
The compiler would produce an `OPCODE_ELSE` with no preceeding `OPCODE_IF`, causing hilarity downstream in the VertexProgram and PixelProgram. Credit to Dan Sinclair who did all the hard work here. Bug: None - surfaced when rolling a new version of SPIR-V cross. Change-Id: I8a937a4d24768dbcc125c3fff834342bd8d0ef29 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40832Reviewed-by:
Antonio Maiorano <amaiorano@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Antonio Maiorano authored
The environment variables were being modified incorrectly, introducing blank lines, which Windows doesn't like, leading to the spawned deqp process having a blank env var table. Change-Id: Id034594219397809667670f9f7fb26f67ee7d87c Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40888Reviewed-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Antonio Maiorano <amaiorano@google.com>
-
Lingfeng Yang authored
this can break the android build. Keep the current vk_swiftshader.lds for the other purposes Bug: b/148822450 Change-Id: I791b216cc05606ebf51f95d051bb658c0be388fe Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40868 Kokoro-Presubmit: Lingfeng Yang <lfy@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Tested-by:
Lingfeng Yang <lfy@google.com>
-
- 31 Jan, 2020 3 commits
-
-
Nicolas Capens authored
This makes a rough distinction between code that mainly only interacts with LLVM's IRBuilder interface, and the part that sets up the JIT and manages module and function creation, memory management, and external symbol resolution. The latter much more often requires changes when LLVM is upgraded than the former, so it's useful to keep them apart as we'll have multiple versions of LLVM in different build environments. Bug: b/148561024 Change-Id: I2ac2d00b4f3bcd277289a4ec6856c9eb7bb6aa24 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40688 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com>
-
Ben Clayton authored
Add a single Reactor Coroutine benchmark so there's something to compile. Bug: b/148660286 Change-Id: Icbc4c44dd5c0f1ab495c3b8eddce6ea90199e987 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40809Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com>
-
Ben Clayton authored
Let's do some benchmarking! Bug: b/148660286 Change-Id: I1e0e9b0ec7cf1cba689d195a176eebaf418c8b56 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40808Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
- 30 Jan, 2020 6 commits
-
-
Nicolas Capens authored
We need to keep a copy of the CPU features for 'mattrs' so they don't get deleted before we pass them into rr::resolveExternalSymbol() by raw pointer. Bug: b/139412871 Change-Id: Iedc2d05fe3ec0d903ffa283994ad95a9cd993e22 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40732 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com>
-
Nicolas Capens authored
Copybara creates Gerrit changes containing a PiperOrigin-RevId: line when importing from Piper, so accept that instead of a Bug: line. Bug: b/148537471 Change-Id: I2c655c90c2873787054db4de22bf2f9c3526bdce Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40731 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com>
-
Antonio Maiorano authored
'v' could be an Ice::Variable or Ice::Constant, both of which derive from Ice::Operand. This was just a slip, the function was always meant to cast to the return type, Ice::Operand*. Bug: chromium:1047150 Change-Id: I88414de1c56504eafae17c483c7bb574b269a587 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40728 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Antonio Maiorano <amaiorano@google.com>
-
Nicolas Capens authored
This enables running tests and applications directly against the driver without the use of a loader. Bug: b/148240133 Change-Id: I7c906ed72a6bd5465a50381d3e91e18383bb23e1 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28370 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>
-
Nicolas Capens authored
Bug: b/139412871 Change-Id: Ia9e49317fa9ce89dcacaa1e5a788518062e4e633 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40730Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com>
-
Ben Clayton authored
The `ErrTimeout` type was promoted to the OS-common .go file, but I forgot to remove it from the unix .go file. Change-Id: Ic30675bd7bc1c5289080c45e21ce9cf19966d3e8 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40708 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
- 29 Jan, 2020 7 commits
-
-
Nicolas Capens authored
vk_swiftshader_icd.json is located under build/Linux. If an out/ directory exists, it was assumed to contain the file instead. Verify the file exists under build/, as well as the ICD's shared library. Change-Id: Iea60dcea6d247d8eb7d984dedae4f4079976fc98 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40649Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com>
-
Nicolas Capens authored
Also correct uses of UNIMPLEMENTED() for functionality that is not advertised as supported, and add spec quotes to justify and document them. This change also enforces requiring that the UNIMPLEMENTED() macro's format string starts with a bug reference of the form b/###. Note we still have to mention the bug ID in a FIXME() comment as well for 'go/todo' issue tracking (until b/148221114 gets fixed). Bug: b/131243109 Change-Id: Ieb28e31f2c6c80a27b833626538e7e223b5fda08 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40509 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Antonio Maiorano authored
Leak was introduced in 5ba2a5b9. There are calls to setUses(operand, nullptr) in the algorithm, that, with the latest changes, would simply replace the existing allocated Uses object with a new one. Fix it so that setUses(operand, nullptr) deletes an existing Uses object on the Operand before allocating and assigning a new one. Bug: b/145754674 Change-Id: Ie1438378595401619831a2da81d4d0d54a606f80 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40628Reviewed-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Antonio Maiorano <amaiorano@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
Change-Id: Iff9400cabd5cbf8e7fcffb042c993e29a3acfdc7 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40608 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Antonio Maiorano authored
Coroutines are emulated by using fibers. Bug: b/145754674 Change-Id: I3f4bf29d26a75a2386ed812dd821d8a7a8276305 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40548Tested-by:
Antonio Maiorano <amaiorano@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Ben Clayton authored
Previously, the builtins were only exposed in the SPIR-V scope. This change utilizes the new `VariableContainer::extend()` functionality so that a single `VariableContainer` is created to hold all the builtins, and this is used as a base for the SPIR-V locals VC, as well as the high-level local scope VCs. As part of this change, I've ditched the concept of non-per-lane builtins. While some builtins are uniform across all lanes, having some at the top level of the watch tree, and others in the `Lane N` tree was just messy and complex to test. Finally, a handful of builtins are also exposed for vertex shaders. Bug: b/148401179 Change-Id: I53fedb716ab9337b0aca515768e114a8eef20f28 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40533 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Ben Clayton authored
This allows VariableContainer to 'inherit' from one another. Variables traversed and searched will try the direct VariableContainer, before falling back to searching the extended VariableContainers. This allows for variable scopes to nest one another. Bug: b/148401179 Change-Id: I58b317386d74ec54b9c1cc4fa223ef9cc50b160c Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40532 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
- 28 Jan, 2020 2 commits
-
-
Nicolas Capens authored
Bug: b/139412871 Change-Id: I7c6b59a19b6f2fdc6feb7420605c9e7935790a90 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40588 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com>
-
Ben Clayton authored
See b/148445528 for more information. Fixes: b/148445528 Change-Id: I0740a5b0ce18db4c3ef0a55a9c679e1b64395b46 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40536Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com>
-
- 27 Jan, 2020 6 commits
-
-
Alexis Hétu authored
This reverts commit 23b26ef1. Reason for revert: Suspecting this cl of breaking the roll Change-Id: I8a1c0e474de6bf0b04e37c0c3c15febf9ee137da Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40569Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Alexis Hétu <sugoi@google.com>
-
Alexis Hetu authored
The sample locations were reordered "for fragment offset computation". The reordering was causing some sample location tests to fail. Fixes SwANGLE tests: dEQP.GLES31/functional_texture_multisample_samples_*_sample_position Bug: b/147387937 b/139793135 Change-Id: I1a62d96517f2be0d625b9e9f8082d6f9e4c6a3f2 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40508Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com>
-
Nicolas Capens authored
Unsuccessful routine creation is a bug that must be caught instead of being silently ignored. Bug: b/148295813 Change-Id: Ic718f0420d6833362944c96a3d172813eba3c207 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40568Tested-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com>
-
Nicolas Capens authored
Add Swizzle() intrinsics for Byte16, Byte8, and Byte4, and add Byte4 constructors and assignment operators. Also move LLVM-specific implementations to the generic Reactor.cpp source file. On x86 these all translate to a pshufb instruction, which is very efficient. Bug: b/148295813 Change-Id: Icf88fe1621623f8104c4a642d560643a01b9ef55 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40549 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com>
-
Ben Clayton authored
Gives an overview of how to build and use the shader debugging functionality. Bug: b/148373999 Change-Id: Ia884379aac03bf40b27c298a909ea2961fe643aa Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40531Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Alexis Hetu authored
VK_EXT_shader_stencil_export is a trivial extension to implement in SwiftShader. Added PixelRoutine::stencilReplaceRef(), which can be trivially modified to output Byte4 instead of Byte8, should the stencil code be refactored. Verified that these tests still pass with SwANGLE dEQP-GLES3.functional.fbo.blit.depth_stencil.depth32f_stencil8_basic dEQP-GLES3.functional.fbo.blit.depth_stencil.depth32f_stencil8_stencil_only dEQP-GLES3.functional.fbo.blit.depth_stencil.depth24_stencil8_basic dEQP-GLES3.functional.fbo.blit.depth_stencil.depth24_stencil8_stencil_only Change-Id: I0cd8ca7310fc5a5130e05fdb546370fc7f31210b Tests: dEQP-VK.pipeline.shader_stencil_export.op_replace Bug: b/148175198 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40488 Presubmit-Ready: Alexis Hétu <sugoi@google.com> Tested-by:
Alexis Hétu <sugoi@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 24 Jan, 2020 6 commits
-
-
Nicolas Capens authored
VK_SUBOPTIMAL_KHR is a success code so it should not override failure codes, but should not get replaced by a VK_SUCCESS result itself. Bug: b/144766511 Change-Id: Ie7721fb3afc36f0b15579deff79dc9bdc9146cd0 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40308 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
Bug: b/144766511 Change-Id: I83da9b20422ef546fcc8fa27cd8d17399b275345 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40290 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Antonio Maiorano authored
Nucleus::createConstantVector was implemented in terms of Subzero's globals API; however, once we generate multiple functions, these globals end up with incorrect addresses in the jitted code. For now, replacing this usage of globals with using externally provided (and allocated) memory via Routine::addConstantData. We can go back to using globals once we fix the problem (b/148086935). Also, this change fixes a problem with loading from a constant pointer, which Subzero interprets as a load with offset. We fix this by casting to a non-const variable when loading. Bug: b/145754674 Change-Id: I6e15385de134d385036eef3e9a255bf0738e4d44 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40451Tested-by:
Antonio Maiorano <amaiorano@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com>
-
Antonio Maiorano authored
* Most use Subzero intrinsics, except for Min/MaxAtomic, which are emulated. * Added unit tests for each implemented function, but am not really testing that they behave as atomic functions. Only that they perform the expected operation. Bug: b/145754674 Change-Id: Ie3ec6e473ee8b448b28bf440da094ac03ac0005b Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/39829Reviewed-by:
Ben Clayton <bclayton@google.com> Tested-by:
Antonio Maiorano <amaiorano@google.com>
-
Ben Clayton authored
This uses regres' test runner, without all the Gerrit functionality. A faster, less frustrating version of dEQP's --deqp-caselist-file. Kudos to paulthomson@ who did all the work here. Change-Id: I1de26e731b197af64aeb60c79da0b75fe13cb338 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40529Reviewed-by:
Antonio Maiorano <amaiorano@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Ben Clayton authored
A directory should only contain either library code, or contain a single `main`. Attempting to have two main packages upsets the go tools. Add a `run.sh` bash script in the root regres folder to `go run` the `cmd/regres/main.go` file, to keep usage simple for non-go people. Change-Id: Ia37ce9a64e1e1a7e23ee3336e6e312cef9e63a9f Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40528 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
- 23 Jan, 2020 3 commits
-
-
Antonio Maiorano authored
Subzero emits incorrect code for FRem operations on vectors. Replace with an emulated version that calls fmodf on each component for now. Bug: b/148139679 Change-Id: Ib541370b71b99649f8c73f982fd12cb3cde25e7f Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40450 Presubmit-Ready: Antonio Maiorano <amaiorano@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Antonio Maiorano <amaiorano@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Nicolas Capens authored
The parent change replaced all UNIMPLEMENTED() with UNSUPPORTED(), since we are now Vulkan 1.1 conformant and the majority of these UNIMPLEMENTED() uses was for functionality that is not mandatory to still implement and is instead part of a currently unsupported feature. This change conservatively restores uses of UNIMPLEMENTED() for things that we might hit with correctly behaving apps. Bugs will be filed for each of these and tests will be added where necessary to provide coverage of these code paths. Bug: b/131243109 Change-Id: Iaf547983c8495ad8d6d0c783a4c656273d8c0195 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40409 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Nicolas Capens authored
Most cases of UNIMPLEMENTED() are actually for functionality that we do not support, and correctly advertise as such. It's expected to be an application bug if these asserts are hit, and not an indication of something we must still implement to be a compliant Vulkan implementation. This change will be immediately followed up by one which restores UNIMPLEMENTED() where it was used correctly. This two-change approach makes it much easier to see what still needs to get done. Bug: b/131243109 Change-Id: Id09b5de5bc73fabfdc3199dcd3091cb72283be65 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40408 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-