OSDN Git Service
Chris Forbes [Sat, 16 Mar 2019 01:37:58 +0000 (18:37 -0700)]
Propagate image view clear aspect mask to image clear
The mask was previously dropped on the floor here, and the imageview's
only mask used instead. This would produce incorrect results when a
renderpass begin operation had different load ops for depth vs stencil aspect.
Bug: b/
128715612
Change-Id: I2bf4051e16c027737b65cd5bc5193a94cf891c36
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27428
Tested-by: Chris Forbes <chrisforbes@google.com>
Presubmit-Ready: Chris Forbes <chrisforbes@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Chris Forbes [Fri, 15 Mar 2019 21:50:47 +0000 (14:50 -0700)]
Add support for OpFRem
This is the `other` remainder from OpFMod, which we already had.
Uses the existing RValue<Float4> % RValue<Float4> operator wiring; the
only plumbing I had to fix was that llvm emits a call to fmodf, which
was made available in ExternalFunctionSymbolResolver.
Test: dEQP-VK.spirv_assembly.instruction.compute.opfrem.all
Test: dEQP-VK.spirv_assembly.instruction.graphics.frem.*
Bug: b/
126873455
Change-Id: I81fbfd8f9e5cab6ac2f16319edda031a122e3a4d
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27370
Tested-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>
Chris Forbes [Fri, 15 Mar 2019 20:43:36 +0000 (13:43 -0700)]
Add support for OpFMod
Bug: b/
126873455
Test: dEQP-VK.glsl.operator.common_functions.mod.*
Change-Id: I7f261e7bd4dda72b18594cd7e2ee7044bc60466b
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27369
Tested-by: Chris Forbes <chrisforbes@google.com>
Presubmit-Ready: Chris Forbes <chrisforbes@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Chris Forbes [Fri, 15 Mar 2019 19:27:34 +0000 (12:27 -0700)]
Add support for OpInBoundsAccessChain
This can be treated exactly the same as OpAccessChain.
Bug: b/
128690261
Bug: b/
127950082
Test: dEQP-VK.spirv_assembly.instruction.compute.opinboundsaccesschain.*
Change-Id: I65312ad48e461ec83e6999c6a899820e91e2a68b
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27368
Tested-by: Chris Forbes <chrisforbes@google.com>
Presubmit-Ready: Chris Forbes <chrisforbes@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Nicolas Capens [Fri, 15 Mar 2019 21:22:42 +0000 (17:22 -0400)]
Remove Reactor argument tests for small integers
Booleans and integer types smaller than 32-bit are not readily
supported as arguments by Subzero.
Was broken by https://swiftshader-review.googlesource.com/27251
Change-Id: I0803037100b107ca9f7b627c2effd0493b8ab1a8
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27390
Tested-by: Nicolas Capens <nicolascapens@google.com>
Presubmit-Ready: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Ben Clayton [Fri, 15 Mar 2019 20:41:33 +0000 (20:41 +0000)]
Revert "VkDebug: Update macros to address issues in b/
127433389"
Breaks windows build.
This reverts commit
36411219ff2b1c1c3a783b6577b812e0bc5f2293.
Change-Id: I89286d25ed0e362f16e981d3c4d39a4661ee02c2
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27329
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>
Nicolas Capens [Fri, 15 Mar 2019 20:18:29 +0000 (16:18 -0400)]
Add Python path to Kokoro batch script
Bug b/
123360006
Change-Id: Ie29b1fea3607ad0da2fb48cf3a5248e976c2cf5f
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27389
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Chris Forbes <chrisforbes@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Chris Forbes [Fri, 15 Mar 2019 17:31:08 +0000 (10:31 -0700)]
Add support for OpVectorInsertDynamic, OpVectorExtractDynamic
Bug: b/
126873455
Tests: dEQP-VK.spirv_assembly.*
Change-Id: I8b6b6329b37469b9779178488f96fc62c341997b
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27308
Tested-by: Chris Forbes <chrisforbes@google.com>
Presubmit-Ready: Chris Forbes <chrisforbes@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Chris Forbes [Thu, 14 Mar 2019 19:55:20 +0000 (12:55 -0700)]
Add support for OpSRem
Test: dEQP-VK.spirv_assembly.*srem*
Bug: b/
126873455
Change-Id: I9f5f519f7dac72ef7c7b45e88451fcb9dae0b3f8
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27270
Tested-by: Chris Forbes <chrisforbes@google.com>
Presubmit-Ready: Chris Forbes <chrisforbes@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Chris Forbes [Thu, 14 Mar 2019 20:07:37 +0000 (13:07 -0700)]
Remove asserts on depth bounds values
We don't support the depth bounds test so these values do nothing; there
is no validity requirement placed on these values
Bug: b/
118386749
Change-Id: I6e75181df6c2b497e91e2fa7a2029d408f8bacbe
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27269
Tested-by: Chris Forbes <chrisforbes@google.com>
Presubmit-Ready: Chris Forbes <chrisforbes@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Chris Forbes [Thu, 14 Mar 2019 20:07:08 +0000 (13:07 -0700)]
Remove asserts blocking specialization constant use
These have been fully implemented for some time.
Bug: b/
124058197
Change-Id: I8146c0902aa0c4caa974e5af5b1a36104846934c
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27268
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Tested-by: Chris Forbes <chrisforbes@google.com>
Presubmit-Ready: Chris Forbes <chrisforbes@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Chris Forbes [Thu, 14 Mar 2019 21:19:04 +0000 (14:19 -0700)]
Run spirv-opt pass to eliminate dead functions after inlining
The inliner leaves the original functions. If we want the simplicity of
not thinking about functions, we have to remove them.
Change-Id: I0d0c7f8d3de21095b52d86a4c62015287eda32cc
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27272
Tested-by: Chris Forbes <chrisforbes@google.com>
Presubmit-Ready: Chris Forbes <chrisforbes@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Ben Clayton [Wed, 13 Mar 2019 09:16:50 +0000 (09:16 +0000)]
ComputeProgram: Add subgroup builtins.
Test: dEQP-VK.subgroups.builtin_var.compute.*
Bug: b/
126871859
Change-Id: If1585778ca5a85e2b8a66f4ddf6a58050620a112
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27089
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Chris Forbes <chrisforbes@google.com>
Tested-by: Ben Clayton <bclayton@google.com>
Alexis Hetu [Fri, 15 Mar 2019 15:41:04 +0000 (11:41 -0400)]
DescriptorSetLayout destruction fix
Extra useless deallocations weren't cleaned up properly.
Removed them.
Bug b/
123244275
Change-Id: I418a4c09a870748551a92c1abb3986e94b32ba92
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27289
Tested-by: Alexis Hétu <sugoi@google.com>
Presubmit-Ready: Alexis Hétu <sugoi@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Alexis Hetu [Fri, 15 Mar 2019 12:32:49 +0000 (08:32 -0400)]
sRGB filtering fix
Enable sRGB conversion when filtering sRGB images
Tests: dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.generate_mipmaps.*
Bug b/
119620767
Change-Id: If56a3f74fbf3ee576d9baab44722a13a1ad0d436
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27288
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Alexis Hetu [Thu, 14 Mar 2019 19:10:51 +0000 (15:10 -0400)]
CubeMap fixes
The following changes are done in this cl:
- Added multilayer support in Blitter::blit()
- Fixed Image::texelOffsetBytesInStorage() for cubes, since there's
a 1 pixel border around it, so pixel offset (0,0,0) should be an
extra line (1 pixel offset in Y) + 1 pixel (1 pixel offset in X)
from the beginning of the buffer
- Added a number of out of bounds memory access asserts, which
helped debug this issue.
Fixed failures in:
dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.generate_mipmaps.*
Note: The only failures left in that category are related to filtering
sRGB images, which most likely happens in the wrong colorspace.
Tests: dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.generate_mipmaps.*
Bug b/
119620767
Change-Id: I6f18271cb23070eb8f2de3b1d5b35b7021c0ca8b
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27229
Reviewed-by: Chris Forbes <chrisforbes@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Alexis Hétu <sugoi@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Alexis Hetu [Fri, 15 Mar 2019 16:12:00 +0000 (12:12 -0400)]
Dedicated allocation verification
Added the ability to set the VkMemoryDedicatedRequirements
structure in vkGetBufferMemoryRequirements2. Note that this
cl adds no support for dedicated allocations.
Passes all tests in the Tests section below.
Change-Id: Ib5bc2775e66e810d1ca2d52672eb2cca71e85f5e
Tests: dEQP-VK.api.buffer.dedicated_alloc.*
Tests: dEQP-VK.api.buffer_view.create.*
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27290
Presubmit-Ready: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Chris Forbes <chrisforbes@google.com>
Tested-by: Alexis Hétu <sugoi@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Ben Clayton [Fri, 15 Mar 2019 09:56:47 +0000 (09:56 +0000)]
Reactor: Add tests for casts from C to Reactor types
Change-Id: I20e249c56167fc9c37adc02b798cb60781cc757b
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27251
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>
Ben Clayton [Tue, 12 Mar 2019 20:05:04 +0000 (20:05 +0000)]
SpirvRoutine: Add activeLaneMask to conditionally load / store per lane.
Use this to disable reads and writes on compute shader lanes that are not part of the subgroup.
Bug: b/
126871859
Bug: b/
128527271
Change-Id: Idd7ad240a8f09e6e47db34b6ed5b0ec7ba959d39
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27009
Presubmit-Ready: Ben Clayton <bclayton@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Tested-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Chris Forbes <chrisforbes@google.com>
Ben Clayton [Fri, 15 Mar 2019 10:06:06 +0000 (10:06 +0000)]
Reactor: Fix cast from bool -> RValue<Bool>.
This was previously taking the IntLiteral<T> path, resulting in an integer type instead of a bool type.
Bug: b/
128636885
Change-Id: I1a36a7ba0e7009431dc44645f90454d389be721b
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27250
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>
Ben Clayton [Tue, 5 Mar 2019 11:57:31 +0000 (11:57 +0000)]
VkDebug: Update macros to address issues in b/
127433389
Also add WARN() and ASSERT_MSG().
Bug: b/
127433389
Change-Id: I2549e9a79b3168cfc419d6564f0c111f95246452
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26148
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Chris Forbes <chrisforbes@google.com>
Tested-by: Ben Clayton <bclayton@google.com>
Ben Clayton [Wed, 13 Mar 2019 19:57:42 +0000 (19:57 +0000)]
SpirvShader: Implement OpBranch
Bug: b/
128527271
Change-Id: I367ed0d578e36a56baf4b8c4c2256ee4de1297cc
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27097
Presubmit-Ready: Ben Clayton <bclayton@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Chris Forbes <chrisforbes@google.com>
Tested-by: Ben Clayton <bclayton@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Ben Clayton [Wed, 13 Mar 2019 11:24:46 +0000 (11:24 +0000)]
Reactor: Add even more RR_WATCH_FMT_ overloads
Yes, I really do find myself using 12 in a single call.
Change-Id: Ibbf21d9a400b0f79b2b7385588d6441ea710b3ac
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27091
Tested-by: Ben Clayton <bclayton@google.com>
Presubmit-Ready: Ben Clayton <bclayton@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
SwiftShader Regression Bot [Fri, 15 Mar 2019 05:44:07 +0000 (05:44 +0000)]
Regres: Update test lists @
1b8cd2d9
Change-Id: I313c00b299230827cc2bd4c174e840dcd923fae9
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27249
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Ben Clayton <bclayton@google.com>
Dan Sinclair [Thu, 14 Mar 2019 14:51:05 +0000 (10:51 -0400)]
Copy build artifacts to CMAKE_BINARY_DIR.
Currently when the build executes it copies things like .so files and
the vulkan .icd file to the CMAKE_CURRENT_SOURCE_DIR/out/<platform>
directory. This is fine in a normal swiftshader build but if you embed
swiftshader into another project this ends up being something like:
third_party/swiftshader/out/<platform> which is not what is desired.
This CL changes the files to get written to the CMAKE_BINARY_DIR. This
means it will go into the directory form which cmake was run. This means
for a build setup as per the README, build/<platform>.
This also allows generating different .icd and .so files for Release and
Debug if you setup different build directories.
Bug: b/
123752208
Change-Id: If2e8c70ca2d35351c02f7bbe56ff77a04d538373
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27188
Presubmit-Ready: Ben Clayton <bclayton@google.com>
Tested-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Ben Clayton [Wed, 13 Mar 2019 19:48:31 +0000 (19:48 +0000)]
SpirvShader: Split instructions into blocks.
First step towards flow control.
Bug: b/
128527271
Change-Id: I7e031ccc22148e37dc058150edc93d28de54f4c4
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27096
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>
Nicolas Capens [Thu, 14 Mar 2019 18:52:59 +0000 (14:52 -0400)]
Fix allocation of low-alignment memory
posix_memalign() returns EINVAL if the alignment argument is not a
multiple of sizeof(void*). Use regular malloc() for those cases.
malloc() is specified to allocate memory which is "suitably aligned for
any built-in type".
Bug b/
128618202
Change-Id: Ibee07be89f2a5bd6be770c35710b20b0c752dfd1
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27228
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>
Ben Clayton [Thu, 14 Mar 2019 19:32:41 +0000 (19:32 +0000)]
SpirvShader: Fix for integer overflow in SDiv and SMod.
See b/
128614198 for context.
Tests: dEQP-VK.glsl.operator.binary_operator.div.*ivec*
Tests: dEQP-VK.glsl.operator.binary_operator.mod.*ivec*
Bug: b/
128614198
Change-Id: I3c517a18ce003466b1ba382f1896b356e543f5d5
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27248
Presubmit-Ready: Ben Clayton <bclayton@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Chris Forbes <chrisforbes@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Tested-by: Ben Clayton <bclayton@google.com>
Ben Clayton [Wed, 13 Mar 2019 18:19:20 +0000 (18:19 +0000)]
SpirvShader: ObjectID -> Object::ID, TypeID -> Type::ID.
Minor bit of refactoring to reduce the number of SpirvShader child typenames.
Bug: b/
126126820
Change-Id: I0a3ae5f10b34eac2ae648ccf5f4b15c67bca0a13
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27094
Presubmit-Ready: Ben Clayton <bclayton@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Reviewed-by: Chris Forbes <chrisforbes@google.com>
Tested-by: Ben Clayton <bclayton@google.com>
Chris Forbes [Thu, 14 Mar 2019 15:15:25 +0000 (08:15 -0700)]
Protect against DBZ in OpUMod also
Bug: b/
127962486
Test: dEQP-VK.glsl.operator.binary_operator.mod.*
Change-Id: I6aee79c99b50f936512e9d9b4b51a07006445694
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27208
Tested-by: Chris Forbes <chrisforbes@google.com>
Presubmit-Ready: Chris Forbes <chrisforbes@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Nicolas Capens [Wed, 13 Mar 2019 21:20:34 +0000 (17:20 -0400)]
Update CONTRIBUTORS
Change-Id: Icd6c52252988cd9765bf28fe2d91f44867df88c6
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27110
Reviewed-by: Ben Clayton <bclayton@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
Ben Clayton [Tue, 12 Mar 2019 20:05:43 +0000 (20:05 +0000)]
Reactor: Add a PrintValue for Bool types.
Change-Id: I34eb45ef6c69536353449c980745a00afc65de46
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27010
Tested-by: Ben Clayton <bclayton@google.com>
Presubmit-Ready: Ben Clayton <bclayton@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Ben Clayton [Thu, 14 Mar 2019 12:21:53 +0000 (12:21 +0000)]
SpirvShader: Fix int DBZ failures by masking away zeros.
The Vulkan spec says:
"division by zero produces an unspecified result but must not lead to Vulkan interruption or termination".
Tests: dEQP-VK.glsl.operator.binary_operator.mod.*
Tests: dEQP-VK.glsl.operator.binary_operator.div.*
Bug: b/
127962486
Change-Id: I62e7c29a6e944512db7a8a96b0bb87488aa7be73
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27171
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Ben Clayton <bclayton@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Ben Clayton [Fri, 8 Mar 2019 09:32:34 +0000 (09:32 +0000)]
SpirvShader: Replace Intermediate::operator[] with typed getters.
Simplifies things throughout the cpp.
Bug: b/
128539387
Change-Id: I7abbe4731d82877204976d654859cba88d1a3047
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26531
Tested-by: Ben Clayton <headlessclayton@gmail.com>
Reviewed-by: Chris Forbes <chrisforbes@google.com>
Ben Clayton [Fri, 8 Mar 2019 08:37:24 +0000 (08:37 +0000)]
SpirvShader: Overload Intermediate::emplace for Int and UInt.
Removes a load of noise throughout the cpp file.
Bug: b/
128539387
Change-Id: Ic9fa9361c4b7dc6258833e2ce58db50b5e81b11d
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26530
Tested-by: Ben Clayton <headlessclayton@gmail.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Chris Forbes <chrisforbes@google.com>
SwiftShader Regression Bot [Thu, 14 Mar 2019 05:45:01 +0000 (05:45 +0000)]
Regres: Update test lists @
868ed908
Change-Id: Ic0153dc04839fe44093091564dc181d394b32d12
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27099
Reviewed-by: Ben Clayton <bclayton@google.com>
Tested-by: Ben Clayton <bclayton@google.com>
Chris Forbes [Thu, 14 Mar 2019 00:39:45 +0000 (17:39 -0700)]
Add support for remaining GLSL builtin geometric functions
Bug: b/
127804400
Test: dEQP-VK.glsl.operator.geometric.*
Change-Id: I63d852c2978be4c1966886cf24c489cc7c286964
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27128
Tested-by: Chris Forbes <chrisforbes@google.com>
Presubmit-Ready: Chris Forbes <chrisforbes@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Nicolas Capens [Wed, 13 Mar 2019 03:00:24 +0000 (23:00 -0400)]
Refactor common Reactor implementations
Some functions in LLVMReactor.cpp and SubzeroReactor.cpp were identical
and have been moved into a common Reactor.cpp.
Bug swiftshader:21
Change-Id: Ib079757f9e35f83b1103e2791227f02775e034d3
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27068
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Alexis Hetu [Wed, 13 Mar 2019 14:33:10 +0000 (10:33 -0400)]
Change scissor type from sw::Rect to VkRect2D
Removed sw::Rect from Renderer.
Bug b/
126883332
Change-Id: I01ff418745c19739b4692c7cec56ae54fe91a8fc
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27109
Tested-by: Alexis Hétu <sugoi@google.com>
Presubmit-Ready: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Alexis Hetu [Wed, 13 Mar 2019 12:05:02 +0000 (08:05 -0400)]
Remove old Framebuffer code from Vulkan
Framebuffer related code is being implemented properly
in VkSurfaceKHR.cpp and related files, so old OpenGL
framebuffer code can be removed to avoid confusion.
Bug b/
124265819
Change-Id: I08a87c17e8b029c6f82d252e1ff1ef810ab200ae
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27108
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Alexis Hetu [Tue, 12 Mar 2019 20:32:04 +0000 (16:32 -0400)]
Remove precacheDLL
Remove leftover variables not cleaned up in:
https://swiftshader-review.googlesource.com/c/SwiftShader/+/7250
Change-Id: Ia2e66c15e5cadeed32f564c60d5105c17319e9d4
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27028
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>
Dan Sinclair [Mon, 11 Mar 2019 14:48:19 +0000 (10:48 -0400)]
[cmake] Check for deps before adding.
When embedding SwitftShader into a third party application, the top
level cmake files may already include googletest and SPIRV-Tools. This
CL updates the SwiftShader tests to only try to pull in googletest if
the `gtest` target is not found and only pull in SPIRV-Tools if the
`SPIRV-Tools` target is not found.
Change-Id: I3c3ebb528725017dbbb80aa05b01ee2de8d4a2d1
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26788
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Dan Sinclair <dsinclair@google.com>
Alexis Hetu [Tue, 12 Mar 2019 18:19:22 +0000 (14:19 -0400)]
Removed references to sw::Surface
Removed sw::Surface dependency from:
- Blitter
- Context
- PixelProcessor
- PixelRoutine
- Renderer
- VkFramebuffer
No behavior changes should be happen with this cl.
Bug b/
126883332
Change-Id: I4146f043ba8e5008eb3d44465c26a0f34a2e1acc
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26969
Tested-by: Alexis Hétu <sugoi@google.com>
Presubmit-Ready: Alexis Hétu <sugoi@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Chris Forbes <chrisforbes@google.com>
Ben Clayton [Tue, 12 Mar 2019 15:58:02 +0000 (15:58 +0000)]
src/Pipeline/ComputeProgram: Remove unused parameter numDescriptorSets
Change-Id: I1881916302d6652144138106d0744e9bbd2b45c8
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27008
Presubmit-Ready: Ben Clayton <bclayton@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Tested-by: Ben Clayton <bclayton@google.com>
SwiftShader Regression Bot [Wed, 13 Mar 2019 07:03:50 +0000 (07:03 +0000)]
Regres: Update test lists @
bea47513
Change-Id: I5d87130b1c52cd7c3e2a21d1a1f0fcbe6d2b40ed
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27049
Reviewed-by: Ben Clayton <bclayton@google.com>
Tested-by: Ben Clayton <bclayton@google.com>
Chris Forbes [Tue, 12 Mar 2019 21:50:55 +0000 (14:50 -0700)]
Add support for D16_UNORM depth test & write
D16_UNORM depth operations are performed in fixed point to avoid quirks
of ushort <-> float roundtrip
Some slight oddities to work around missing primitives:
- We only have CmpEQ, CmpGT. This matches SSE hardware reality.
Everything else is made out of negations and operand swaps.
- We only have *signed* CmpGT. Make an unsigned CmpGT by biasing both
16-bit operands by -0x8000.
- In non-quad-layout we don't have a good way to separate .xy and .zw
halfs; reading via masked short4 reads, writing via individual
component writes.
Bug: b/
128363727
Test: dEQP-VK.pipeline.depth.format.*
Change-Id: I9c8b249470a9c91589c91135988dc4d1a58bbc5f
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27030
Tested-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>
Chris Forbes [Tue, 12 Mar 2019 20:42:28 +0000 (13:42 -0700)]
Remove very early depth test
Bug: b/
128363727
Change-Id: Ia595876610b077c4be366174264de7a55f14dc4c
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27029
Tested-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>
Chris Forbes [Fri, 1 Mar 2019 22:18:30 +0000 (14:18 -0800)]
Subzero MulHigh implementation for Int4/UInt4
Also add implementations of multiplication and right shift for Long type.
Bug b/
126873455
Change-Id: I9952c2b9a3feca6a7741cd02e2295340935e4447
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/25988
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Chris Forbes <chrisforbes@google.com>
Hernan Liatis [Tue, 12 Mar 2019 18:34:24 +0000 (11:34 -0700)]
Wait semaphores for VkQueuePresentKHR
Bug: b/
124265819
Change-Id: I7c84c3be8fb13a4ef798f90b8c610ebeafa82b5c
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26970
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Hernan Liatis <hliatis@google.com>
Hernan Liatis [Sat, 9 Mar 2019 01:57:41 +0000 (17:57 -0800)]
Handle oldSwapchains
When we create a new swapchain, we can pass in a
parent swapchain from the same surface. The old
swapchain is no longer associated with the surface
and "retires" by deleting all non-acquired images.
Bug: b/
124265819
Change-Id: I31315045c926b929483d1b6cb1fc3d9f7aa87b94
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26668
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Hernan Liatis <hliatis@google.com>
Chris Forbes [Tue, 12 Mar 2019 20:01:45 +0000 (13:01 -0700)]
Remove complementary depth buffer option for Vulkan
Bug: b/
128363727
Change-Id: Id75e138deda980f57b7bd07192b1353b2b414fd8
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26988
Tested-by: Chris Forbes <chrisforbes@google.com>
Presubmit-Ready: Chris Forbes <chrisforbes@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Hernan Liatis [Wed, 6 Mar 2019 23:31:04 +0000 (15:31 -0800)]
Fix resizing issues
In summary, this change associates a 1:1
correspondance between a VkImage and XImage.
This will fix resize issues as well as prepare
to implement createInfo->oldSwapchain.
Bug: b/
124265819
Change-Id: I42e8e1e7b5c9a5b64820156603dca10e2ab828ca
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26368
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Hernan Liatis <hliatis@google.com>
Alexis Hetu [Tue, 12 Mar 2019 15:50:20 +0000 (11:50 -0400)]
Warning fix
Removed unused variable
Change-Id: I9236d02e04fb58a081c608d16f4e1eadf81dde16
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26949
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Nicolas Capens [Tue, 12 Mar 2019 15:23:28 +0000 (11:23 -0400)]
Fix Visual Studio build of VulkanUnitTests
- Make VulkanUnitTests depend on SPIRV-Tools.
- Build Vulkan DLLs but don't link statically with VulkanUnitTests.
- Don't use Unicode character set.
- Statically link runtime library.
- Fix narrowing conversion from 'VkCommandBufferUsageFlagBits' to
'VkCommandBufferUsageFlags'.
Bug swiftshader:125
Change-Id: I7dbdc25c829cc76b5e05cd57cd9f85bf2d4e0903
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26948
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
Hernan Liatis [Fri, 1 Mar 2019 23:06:13 +0000 (15:06 -0800)]
vkAcquireNextImageKHR and vkQueuePresentKHR
The following changes will allow to present
to the screen. However, do not adjust the
size of the window.
Bug: b/
124265819
Change-Id: Iaa42f458af9555e91d47238397112324ec080a67
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26008
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Hernan Liatis <hliatis@google.com>
Chris Forbes [Tue, 12 Mar 2019 01:28:55 +0000 (18:28 -0700)]
Plumb depth format through to PixelProcessor::State
I need this in order to support depth formats that arent D32F.
Bug: b/
128363727
Change-Id: I7016351207e433e668053ebaf4dbeb9f2f7936f2
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26888
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Chris Forbes <chrisforbes@google.com>
Presubmit-Ready: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Mon, 11 Mar 2019 21:34:12 +0000 (14:34 -0700)]
Fix image format properties query in various edge cases
- Many cases where sampleCounts is required to be VK_SAMPLE_COUNT_1_BIT by spec
- Missing feature flags for ETC2 formats
- Max array layers must be 1 for 3D
See 38.1.1 Supported Sample Counts for details of sample count
requirements
Bug: b/
128344974
Test: dEQP-VK.api.info.image_format_properties*
Change-Id: I3ffe747a8cc8d06e0d33aa0937bd2b7ecd045ff5
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26871
Tested-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>
Alexis Hetu [Mon, 11 Mar 2019 21:34:13 +0000 (17:34 -0400)]
Add utility functions from sw::Surface to vk::Format
In order to eventually remove sw::Surface, some utility
functions used by vk::Image were copied to vk::Format.
Bug b/
126883332
Change-Id: Ie8404b70adc3336d536dcd5c0ec26b63e46c5174
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26872
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Ben Clayton [Tue, 12 Mar 2019 08:55:15 +0000 (08:55 +0000)]
tests/regres/export_to_sheets: Fix off-by-one in loop
We weren't looking at the most recent change.
Kinda important when that's typically the new test list you're trying to export.
Change-Id: I0e312dbde0ae54feb0641a658eebc73bbdb47eaa
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26928
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Ben Clayton <bclayton@google.com>
Ben Clayton [Fri, 1 Mar 2019 14:33:35 +0000 (14:33 +0000)]
tests: Add a unit test for a simple memcpy compute shader
Bug: b/
126871859
Change-Id: I0b3db6c033419a2ad54453d470960330d4f337cc
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/25909
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>
Ben Clayton [Fri, 8 Mar 2019 12:02:05 +0000 (12:02 +0000)]
Vulkan: Very rough first implementation of compute shaders
This is by no means finished:
* ComputeProgram holds the codegen and the invoke logic. ComputeProgram::run() should probably be moved somewhere else (maybe Renderer?).
* ComputeProgram::run() is currently fully single threaded.
* The compute routines are currently not cached.
With that said, this is enough to start passing a whole bunch of dEQP compute tests.
Test: *.compute.*
Bug: b/
126871859
Change-Id: Ic6a76826b2fec0d34d54e0bed564b360ea0610c0
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26551
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>
Ben Clayton [Mon, 11 Mar 2019 15:11:24 +0000 (15:11 +0000)]
Add vulkan unit tests to Kokoro
Change-Id: I6e695dd5221da6d9f7f198bc2af8aee00eda8881
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26808
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 [Tue, 12 Mar 2019 06:38:51 +0000 (06:38 +0000)]
Regres: Update test lists @
3364227f
Change-Id: I15fb0452789a7a3e3f84453a1b2d9a1b969d510f
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26908
Reviewed-by: Ben Clayton <bclayton@google.com>
Tested-by: Ben Clayton <bclayton@google.com>
Alexis Hetu [Fri, 1 Mar 2019 16:55:59 +0000 (11:55 -0500)]
Allow the Blitter to clear and blit vk::Image objects directly
The sw::Surface object was the intermediate representation of an
image used between the vk::Image and the Blitter. This cl removes
the need for an intermediate representation by having the Blitter
use the vk::Image directly.
There should be no regression for the clear and blit tests.
Bug b/
126883332
Change-Id: Icbc15470e3ad112ed78f4f62d6d82c66e3e37a20
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/25928
Tested-by: Alexis Hétu <sugoi@google.com>
Presubmit-Ready: Alexis Hétu <sugoi@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Reviewed-by: Chris Forbes <chrisforbes@google.com>
Ben Clayton [Fri, 1 Feb 2019 13:08:23 +0000 (13:08 +0000)]
tests: Add a Driver class to abstract the vulkan implementation
The idea here is that we can build a number of fine granularity SPIR-V tests, which we can also verify against any optional system Vulkan hardware.
This CL adds support for building and running the Vulkan unit tests on mac and linux.
Bug: b/
123749916
Change-Id: I01a4e2a914ffd5473d271013957fa3dddbc43645
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/24328
Presubmit-Ready: Ben Clayton <bclayton@google.com>
Tested-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Chris Forbes <chrisforbes@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Nicolas Capens [Mon, 11 Mar 2019 14:39:51 +0000 (10:39 -0400)]
Add reactor unit tests to Kokoro
Bug b/
123360006
Change-Id: I4132ebf474f8055554126529839c33fd87d75499
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26768
Tested-by: Nicolas Capens <nicolascapens@google.com>
Presubmit-Ready: Ben Clayton <bclayton@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Nicolas Capens [Fri, 8 Mar 2019 22:26:43 +0000 (17:26 -0500)]
Refactor emulated vector type handling for LLVM
- Add clarifying comments.
- Add self-explanatory helper functions.
- Fix typeSize to handle all Reactor types.
- Use uintptr_t base type for emulated type enum.
Prevents 0x########
00000000 from being interpreted as emulated type.
Bug b/
126028338
Change-Id: Ib38cf9b59f58c0f6046f9c84a6152849791bb4ed
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26648
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Ben Clayton [Fri, 8 Mar 2019 12:04:00 +0000 (12:04 +0000)]
SpirvShader: Implement SMod.
Test: *smod*
Bug: b/
126873455
Change-Id: If946e72d23aa9386b85cffe96b02ab63195f0a24
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26549
Tested-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Ben Clayton [Mon, 11 Mar 2019 11:44:43 +0000 (11:44 +0000)]
Add test/regres/export_to_sheets.go
Exports the latest test data to a Google Sheets document.
Change-Id: Ia1b38464daf7117da571d536e7ff029023b9de58
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26748
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Ben Clayton <bclayton@google.com>
Nicolas Capens [Fri, 8 Mar 2019 22:45:37 +0000 (17:45 -0500)]
Rename Win32 configuration to x86
This causes Visual Studio to default to the x64 configuration, which is
64-bit instead of 32-bit.
Change-Id: Ifb1246216c726e6ad0dcc7891f2f3a8f89aeff7c
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26649
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
Ben Clayton [Fri, 8 Mar 2019 16:51:42 +0000 (16:51 +0000)]
SpirvShader: Handle OpTypeRuntimeArray in WalkAccessChain.
Fixes tests that turned from PASS -> CRASH by adding compute shader support.
Bug: b/
120799499
Change-Id: I72190eef98223851cba3d61a98d54ab2f6e2a0a7
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26553
Tested-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Chris Forbes <chrisforbes@google.com>
SwiftShader Regression Bot [Mon, 11 Mar 2019 07:30:57 +0000 (07:30 +0000)]
Regres: Update test lists @
ebefaf7c
Change-Id: If451dc09203631737739b30d385fbf8a215b2b46
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26728
Reviewed-by: Ben Clayton <bclayton@google.com>
Tested-by: Ben Clayton <bclayton@google.com>
Ben Clayton [Fri, 8 Mar 2019 19:29:49 +0000 (19:29 +0000)]
Regres: Drop support for tests results only on new change
The test list from the latest patchset is now run on the parent.
Missing tests are a bug.
Change-Id: I149e235968acad4988d0fcff78d8a8796aaf118c
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26559
Tested-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Ben Clayton [Fri, 8 Mar 2019 19:26:24 +0000 (19:26 +0000)]
Regres: Scan commit message for additional test lists.
Change-Id: Ib0beec96a6efafa0ee6fb8a43e15142206d3cd4d
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26558
Tested-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Ben Clayton [Fri, 8 Mar 2019 17:10:48 +0000 (17:10 +0000)]
Regres: Run latest PS testlists on parent.
This is better than running potentially two different test lists for both.
Requires caching the parent test results with the testlist's hash as a cache key.
Change-Id: Ic153e65395fc1c3f02a66bbb1df60731ce28901b
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26557
Tested-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Ben Clayton [Fri, 8 Mar 2019 09:45:25 +0000 (09:45 +0000)]
SpirvShader: Fix unused local warning in release builds.
Bug: b/
123933266
Change-Id: I4585c881ea7328b03b7c98bd5b4c255a399a0a70
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26532
Reviewed-by: Chris Forbes <chrisforbes@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Ben Clayton <bclayton@google.com>
SwiftShader Regression Bot [Sat, 9 Mar 2019 06:36:21 +0000 (06:36 +0000)]
Regres: Update test lists @
856ebf87
Change-Id: I6cd54eefee8e4fe0a20799bf6bce85ddd53df9d5
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26708
Reviewed-by: Ben Clayton <bclayton@google.com>
Tested-by: Ben Clayton <bclayton@google.com>
Chris Forbes [Fri, 8 Mar 2019 23:30:18 +0000 (15:30 -0800)]
Add support for OpVectorTimesScalar
This gets us the final few cases in the glsl multiplies group.
Test: dEQP-VK.glsl.operator.binary_operator.mul.*
Bug: b/
126873455
Change-Id: Id9ec4ad1754a7e63c8d7e0aa0a0b0b156a03b024
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26651
Presubmit-Ready: Chris Forbes <chrisforbes@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Chris Forbes <chrisforbes@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Chris Forbes [Fri, 8 Mar 2019 22:50:44 +0000 (14:50 -0800)]
Add support for more ExtInst instructions
- FMin
- FMax
- SMin
- SMax
- UMin
- UMax
- Step
- SmoothStep
- FMix
- FClamp
- SClamp
- UClamp
- FSign
- SSign
Test: dEQP-VK.glsl.operator.common_functions.*
Bug: b/
127804400
Change-Id: Ie136d8f0386f6a1db9acbf4e261851ce696e2d95
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26650
Tested-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>
Chris Forbes [Fri, 8 Mar 2019 21:36:40 +0000 (13:36 -0800)]
Add support for Trunc,Ceil,Fract,Round,RoundEven
Mostly trivial; exception is RoundEven, for which I borrowed the
implementation from the GLES side.
Test: dEQP-VK.glsl.operator.common_functions.*
Bug: b/
127804400
Change-Id: I889c3750ebdbc078723890488cf44d89ea77103b
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26628
Tested-by: Chris Forbes <chrisforbes@google.com>
Presubmit-Ready: Chris Forbes <chrisforbes@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Chris Forbes [Fri, 8 Mar 2019 20:16:57 +0000 (12:16 -0800)]
Add support for OpLogicalEqual, OpLogicalNotEqual
Test: dEQP-VK.glsl.operator.bool_compare.*
Test: dEQP-VK.glsl.operator.binary_operator.equal.*
Test: dEQP-VK.glsl.operator.binary_operator.not_equal.*
Bug: b/
126870789
Change-Id: I9d33444d67792274d8027b7d1632235533cfc079
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26574
Tested-by: Chris Forbes <chrisforbes@google.com>
Presubmit-Ready: Chris Forbes <chrisforbes@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Chris Forbes [Fri, 8 Mar 2019 20:02:27 +0000 (12:02 -0800)]
Add support for GLSLstd450Floor ExtInst
Bug: b/
127804400
Test: dEQP-VK.glsl.operator.common_functions.floor.*
Change-Id: Iaefeef8f006673e55d4f85184d7782ac0aafb314
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26572
Presubmit-Ready: Chris Forbes <chrisforbes@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Tested-by: Chris Forbes <chrisforbes@google.com>
Alexis Hetu [Fri, 8 Mar 2019 20:15:20 +0000 (15:15 -0500)]
Build fix
Bug swiftshader:125
Change-Id: If24564a16d880a11e782e5f6b4f035e612255076
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26573
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Chris Forbes <chrisforbes@google.com>
Alexis Hetu [Wed, 27 Feb 2019 17:54:52 +0000 (12:54 -0500)]
Move Blitter ownership from Image to Device
The blitter has a cache which can allow us to reuse already used
routines, so it should be kept in a central location. For that
reason, the blitter ownership was moved from the Image object to
the Device object.
Bug b/
117974925
Change-Id: I825853c381dcbc04701b1d9e7dfa376108294221
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/25728
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Chris Forbes [Fri, 8 Mar 2019 19:31:31 +0000 (11:31 -0800)]
Add support for GLSLstd450Cross ExtInst
Fixes dEQP-VK.glsl.operator.geometric.cross.*
Bug: b/
127804400
Change-Id: I62337ba547048426c76adb1e90a1ebc4079e2a3d
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26571
Tested-by: Chris Forbes <chrisforbes@google.com>
Presubmit-Ready: Chris Forbes <chrisforbes@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Alexis Hetu [Tue, 29 Jan 2019 19:09:36 +0000 (14:09 -0500)]
Descriptor Update Template implementation
Basic implementation of descriptor update template.
Only supports VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET template type.
Bug b/
123244275
Change-Id: Iaf7c1e52bee6d2683a2f34bd2f780396aa953442
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26568
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Chris Forbes <chrisforbes@google.com>
Chris Forbes [Fri, 8 Mar 2019 18:41:05 +0000 (10:41 -0800)]
Fix OpVectorShuffle with mixed vector widths
There is a subtle trap here -- almost all SPIRV instructions require vector
widths to match, but for OpVectorShuffle, the widths of the result
vector and the two sources are completely independent.
Fixes dEQP-VK.glsl.operator.unary_operator.plus.highp_vec2_vertex and many others.
Bug: b/
127959969
Change-Id: Iaa2cc09fb510fa2ab07a6f53599af8dade553a9a
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26570
Presubmit-Ready: Chris Forbes <chrisforbes@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Tested-by: Chris Forbes <chrisforbes@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Ben Clayton [Fri, 8 Mar 2019 17:11:12 +0000 (17:11 +0000)]
Regres: Fix bad binning of QualityWarnings
Change-Id: I0fba3c2969cd61c8e7b6e30628473944f2e5a986
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26555
Tested-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Chris Forbes [Fri, 8 Mar 2019 17:53:03 +0000 (09:53 -0800)]
Add support for OpFMul
Fixes many tests in dEQP-VK.glsl.*
Bug: b/
126873455
Change-Id: If949066bbe1d333755d1d83ab175bc39dcc91d91
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26608
Tested-by: Chris Forbes <chrisforbes@google.com>
Presubmit-Ready: Chris Forbes <chrisforbes@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Chris Forbes [Fri, 8 Mar 2019 17:09:18 +0000 (09:09 -0800)]
Add support for OpAny, OpAll
A step toward being able to run many of dEQP-VK.glsl.*
Bug: b/
126870789
Change-Id: Id53d5a511d7f0fa10994c46254529027ad773542
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26569
Tested-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>
Chris Forbes [Fri, 8 Mar 2019 00:13:56 +0000 (16:13 -0800)]
Collect Offset,MatrixStride,ArrayStride decorations
These decorations are used for all explicit layout storage classes --
Uniform, StorageBuffer, PushConstant.
Bug: b/
120799499
Change-Id: Ida7ee6e2a5145d09792acf39b6e33d039431578b
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26489
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Chris Forbes <chrisforbes@google.com>
Presubmit-Ready: Chris Forbes <chrisforbes@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Chris Forbes [Fri, 8 Mar 2019 15:51:39 +0000 (07:51 -0800)]
Skip remaining debug instructions
Change-Id: Ie4e2c11c495f17bf628b3c828ce81596e3d73e5f
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26588
Reviewed-by: Ben Clayton <bclayton@google.com>
Tested-by: Chris Forbes <chrisforbes@google.com>
Presubmit-Ready: Chris Forbes <chrisforbes@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Chris Forbes [Fri, 8 Mar 2019 01:20:32 +0000 (17:20 -0800)]
Fix inconsistencies in advertised dimensions vs levels
Level count was off by one for the size.
Also change vk::MAX_IMAGE_ARRAY_LAYERS to be the actual value rather
than log2 -- this was a bug waiting to happen somewhere.
Bug: b/
118429780
Change-Id: I783a11571f90c34302a4ead8476009d309880eb6
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26508
Tested-by: Chris Forbes <chrisforbes@google.com>
Presubmit-Ready: Chris Forbes <chrisforbes@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Nicolas Capens [Thu, 7 Mar 2019 20:07:08 +0000 (15:07 -0500)]
Remove literal string from error message.
The lexer doesn't actually keep the string for literals.
Bug chromium:939239
Change-Id: Ib8b28e75e36d1c6beff8afa580fc4c29c23b6eb0
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26428
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
SwiftShader Regression Bot [Fri, 8 Mar 2019 06:30:04 +0000 (06:30 +0000)]
Regres: Update test lists @
3ed33cee
Change-Id: I32f5d800fdbc0c2e672c3b92b64745fe34d23573
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26528
Reviewed-by: Ben Clayton <bclayton@google.com>
Tested-by: Ben Clayton <bclayton@google.com>
Chris Forbes [Thu, 7 Mar 2019 21:38:31 +0000 (13:38 -0800)]
Add support for OpIsInf, OpIsNan
Bug: b/
126873455
Change-Id: I5cac6eedf2d17bed6f01275e6d80cf8227886a8e
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26468
Tested-by: Chris Forbes <chrisforbes@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Ben Clayton [Wed, 27 Feb 2019 23:56:18 +0000 (23:56 +0000)]
Reactor (LLVM): Fix GEP for Pointer<Pointer<T>> types
Also add a bunch of tests.
Bug: b/
126028338
Change-Id: Ic8eb822dce3eff402e2a5f222c5077c6831f4505
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/25748
Tested-by: Ben Clayton <bclayton@google.com>
Presubmit-Ready: Ben Clayton <bclayton@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Chris Forbes [Thu, 7 Mar 2019 17:26:48 +0000 (09:26 -0800)]
Start support for OpExtInst
- OpExtInstImport now enforces correct instruction set
- OpExtInst dispatch done
- Implemented FAbs, SAbs
Bug: b/
127804400
Change-Id: I41b9755afeeb9a61c8294beb610f5e6c77080fa5
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26408
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Chris Forbes <chrisforbes@google.com>
Presubmit-Ready: Chris Forbes <chrisforbes@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Ben Clayton [Tue, 5 Mar 2019 17:38:16 +0000 (17:38 +0000)]
SpirvShader: Implement Uniform and StorageBuffer access
Bug: b/
126330097
Change-Id: Ia612ddf785b79b88a59c30b1e436470bb3fba3e8
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26228
Reviewed-by: Chris Forbes <chrisforbes@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Ben Clayton <bclayton@google.com>
Ben Clayton [Wed, 27 Feb 2019 14:57:18 +0000 (14:57 +0000)]
SpirvShader: Add PhysicalPointers
And add load / store paths to deal with data layouts that are not interleaved by lane.
Bug: b/
126330097
Change-Id: Id7730a606d623ffe74ae57668216f05159972f10
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/25710
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Ben Clayton <bclayton@google.com>