- 06 Aug, 2020 1 commit
-
-
Nicolas Capens authored
This ensures that if the sample or layer coordinate were not forced to be in range but the 'valid' mask indicates whether they're in range, we sample texel 0 instead of potentially outside the image memory. Note this does not yet validate the sample coordinate. Bug: b/162419571 Change-Id: I08561862cbf371c1109c8949cd90557110d4ee24 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/47228 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com>
-
- 04 Aug, 2020 3 commits
-
-
SwiftShader Regression Bot authored
Reactor backend: Subzero Change-Id: Ib5c1f626806c22e49be4e3cfb3286d87ad4bc749 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/47448Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Sean Risser <srisser@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com>
-
Dirk Pranke authored
I stumbled across this while bringing up the Chromium build under Python3. The change should allow the code to work under both 2 and 3 now. Bug: chromium:1112479 Change-Id: I5ae0cafdd453a12b53a0fa5392ad46cba60f4ed4 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/47308Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
This extension was never actually implemented. While it has been promoted to 'core' in Vulkan 1.1, the storageBuffer16BitAccess feature bit indicates whether or not the implementation supports the functionality. Bug: b/162742397 Test: dEQP-VK.info.device_mandatory_features Change-Id: I3e2871ce09975db3da2ad1f042d6955dbd565479 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/47408 Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Sean Risser <srisser@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 03 Aug, 2020 1 commit
-
-
Nicolas Capens authored
Bug: docs update Change-Id: I0e0a596456d4c534adb6a8f57455d3cfb9cb65b9 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/47289 Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Sean Risser <srisser@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 02 Aug, 2020 1 commit
-
-
SwiftShader Regression Bot authored
Reactor backend: Subzero Change-Id: I25a37b74498d3a287ed8d78c6a16ca08c3973688 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/47328Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com>
-
- 30 Jul, 2020 3 commits
-
-
SwiftShader Regression Bot authored
Reactor backend: Subzero Change-Id: I5d78eb4b823a056a07be57932c51391661d4f845 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/47268Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
third_party/subzero is a fork which we are responsible for. Many of the non-PC words were in files we actually have no use for, so they've been removed altogether. Bug: b/162338339 Bug: chromium:1097202 Change-Id: Iaa531dd8788efaf25a640786b78d15d4648b2dd9 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/47208Reviewed-by:
Alexis Hétu <sugoi@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Sean Risser authored
Swiftshader already counts all the fragments for this feature, it just needed to be enabled in VkPhysicalDevice.cpp. The occlusion_query tests that remain unsupported require VK_EXT_host_query_reset. This is unsupported in SwiftShader as of now, though it is required for Vulkan 1.2 conformance. Bug: b/148241855 Tests: dEQP-VK.query_pool.occlusion_query.* Change-Id: Ib03df4225ed49865c648368ebf0547bfc3d117f7 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/47148Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Sean Risser <srisser@google.com>
-
- 29 Jul, 2020 4 commits
-
-
Antonio Maiorano authored
Change-Id: If82af55254be64d6dbe1f9d758f7e2d440b9577a Bug: b/152028822 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/47248Tested-by:
Antonio Maiorano <amaiorano@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Antonio Maiorano authored
Change-Id: Iaeb2d94609f8ef6d6c66f537aa3273a59d1610b4 Bug: b/152028822 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/47229Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Antonio Maiorano <amaiorano@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com>
-
SwiftShader Regression Bot authored
Reactor backend: Subzero Change-Id: I887f6f46e4330ddf0ad317cdb3aad4cdeed9918f Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/47028Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com>
-
Alexis Hetu authored
Added a mask to prevent writing to unused outputs Bug: b/162348737 Change-Id: I72b86cf2f6d0f9f07992cc63bc55fe9e45822e1d Tests: dEQP-VK.draw.output_location.array.* Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/47168 Presubmit-Ready: Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Alexis Hétu <sugoi@google.com>
-
- 28 Jul, 2020 5 commits
-
-
Nicolas Capens authored
The feature is currently always enabled, so we ignore the creation flag for now. Bug: b/159329067 Tests: dEQP-VK.robustness.image_robustness.* Change-Id: I5385196afd93e3deeaec5713f301af4fed4ef15e Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/46828 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Nicolas Capens authored
VK_EXT_image_robustness requires returning zero on out-of-bounds image accesses. OpImageFetch was previously merely clamping the coordinates to be in-bounds. This change reuses some of the functionality for VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER to perform texel replacement. Bug: b/159329067 Tests: dEQP-VK.robustness.image_robustness.* Change-Id: I8c00b8de2793b0b7028230cb180d308a4b9b60ec Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/47095 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Nicolas Capens authored
VK_EXT_image_robustness requires loads and stores using a pointer produced by OpImageTexelPointer to be bounds checked. Out-of-bounds reads must result in [0,0,0,0] or [0,0,0,1] values. We always return all-zero. Out-of-bounds writes must be ignored. This also includes the read-modify-write operations performed by atomic instructions. Bug: b/159329067 Tests: dEQP-VK.robustness.image_robustness.* Change-Id: I4f5c2e8ae0bc89e61207fd1f7f1c449a35ca621e Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/47069 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Antonio Maiorano authored
This change adds CMake targets that setup and build ANGLE by invoking gclient and gn. The 'angle-setup' target should run only once (if the .gclient file does not exist), and the 'angle' target will build if any source file under angle/src is modfied. The 'angle' target builds libEGL and libGLESv2 into ${CMAKE_BINARY_DIR}/bin-angle. Furthermore, if building PowerVR examples are enabled (SWIFTSHADER_BUILD_PVR), the PVR output folder, ${CMAKE_BINARY_DIR}/bin, gets copied to ${CMAKE_BINARY_DIR}/bin-angle first. Finally, a script named 'export-swangle-env.bat/sh' also gets copied to ${CMAKE_BINARY_DIR}/bin-angle, which sets environment variables so that the PowerVR examples will run on "SWANGLE" (that is, on ANGLE on SwiftShaderVK). Example on Linux: cd SwiftShader/build cmake -DSWIFTSHADER_BUILD_PVR=1 -DSWIFTSHADER_BUILD_ANGLE=1 .. cmake --build . --target angle source bin-angle/export-swangle-env.sh ./bin-angle/OpenGLESBumpmap On Windows, run bin-angle\export-swangle-env.bat, and execute the examples from the bin-angle directory. Bug: b/152028822 Change-Id: Idd06fb1b6f14b47740692352d353f3a0c9588a90 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/47109Tested-by:Antonio Maiorano <amaiorano@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Antonio Maiorano authored
Bug: b/152028822 Change-Id: I13499a0b13f074d876f6038ab776d5de6e27cd3a Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/47108Tested-by:
Antonio Maiorano <amaiorano@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 27 Jul, 2020 8 commits
-
-
Alexis Hetu authored
Bug: b/123642959 Change-Id: I9ee44d6f3ae332f50110a4108481103dca998c77 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/47098 Presubmit-Ready: Alexis Hétu <sugoi@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Alexis Hétu authored
* changes: Update SPIR-V Headers to 979924c8b Squashed 'third_party/SPIRV-Headers/' changes from f8bf11a02..979924c8b
-
Alexis Hétu authored
* changes: Update SPIR-V Tools to 8a5500656 Squashed 'third_party/SPIRV-Tools/' changes from 55af3902f..8a5500656
-
Nicolas Caramelli authored
Bug: b/161736397 Change-Id: Ia795a1dcf201cc33027f520c0af8d5839d873af9 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/46768Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Caramelli <caramelli.devel@gmail.com>
-
Alexis Hetu authored
Changes: 979924c8b Support SPV_KHR_terminate_invocation (#163) 7f2ae1193 Merge pull request #162 from vkushwaha-nv/SPV_EXT_shader_atomic_float 7083cb52e Add changes for SPV_EXT_shader_atomic_float 308bd0742 Merge pull request #160 from dj2/reg_tint 5ce353315 Register the Tint compiler 11d7637e7 Merge pull request #159 from dneto0/fix-quotes 291d7bf7a spir-v.xml: Use plain ASCII quotes in comment ed09fc149 Merge pull request #158 from mkinsner/mkinsner/fpfastmath_allocation_mechanism f2d2ca132 Rebuild headers against the previous grammar commit. 9e2b21a74 Merge pull request #150 from MrSidims/private/MrSidims/UpstreamIntelExt 7d343e9c0 Apply suggestions dfa87b6d4 Add Intel specific definitions from KhronosGroup/SPIRV-LLVM-Translator ae6e15156 Header build from previous grammar update. 8012d1c86 Merge pull request #152 from MrSidims/private/MrSidims/FunctionPointers 982a08f59 Propose bit allocation mechanism for the FP Fast Math Mode bitfield, following from the mechanism previously added for the loop control bitfield. ac638f181 Merge pull request #157 from dneto0/update-example 1fa1a92e0 Update example to use unified1 headers c0df742ec Update headers to SPIR-V 1.5 Revision 3 375789625 Add a bunch of missing "version" : "None" for ray tracing. 6300597a6 Rebuild the headers with the fixed grammar file. c26f7e838 Add missing "version" : "None" for ShaderCallKHR 445017dc7 Grammar: The ray-tracing updates were not done in numerical ordering. 2ad0492fb Discuss generator magic number reservations. 9995e294c Add SPV_INTEL_function_pointers preview extension Commands: ./third_party/update-spirvheaders.sh Bug: b/123642959 Change-Id: Icf7b69da64e742a2e43fa6d7d9c42addf0d5aee2 -
Alexis Hetu authored
979924c8b Support SPV_KHR_terminate_invocation (#163) 7f2ae1193 Merge pull request #162 from vkushwaha-nv/SPV_EXT_shader_atomic_float 7083cb52e Add changes for SPV_EXT_shader_atomic_float 308bd0742 Merge pull request #160 from dj2/reg_tint 5ce353315 Register the Tint compiler 11d7637e7 Merge pull request #159 from dneto0/fix-quotes 291d7bf7a spir-v.xml: Use plain ASCII quotes in comment ed09fc149 Merge pull request #158 from mkinsner/mkinsner/fpfastmath_allocation_mechanism f2d2ca132 Rebuild headers against the previous grammar commit. 9e2b21a74 Merge pull request #150 from MrSidims/private/MrSidims/UpstreamIntelExt 7d343e9c0 Apply suggestions dfa87b6d4 Add Intel specific definitions from KhronosGroup/SPIRV-LLVM-Translator ae6e15156 Header build from previous grammar update. 8012d1c86 Merge pull request #152 from MrSidims/private/MrSidims/FunctionPointers 982a08f59 Propose bit allocation mechanism for the FP Fast Math Mode bitfield, following from the mechanism previously added for the loop control bitfield. ac638f181 Merge pull request #157 from dneto0/update-example 1fa1a92e0 Update example to use unified1 headers c0df742ec Update headers to SPIR-V 1.5 Revision 3 375789625 Add a bunch of missing "version" : "None" for ray tracing. 6300597a6 Rebuild the headers with the fixed grammar file. c26f7e838 Add missing "version" : "None" for ShaderCallKHR 445017dc7 Grammar: The ray-tracing updates were not done in numerical ordering. 2ad0492fb Discuss generator magic number reservations. 9995e294c Add SPV_INTEL_function_pointers preview extension git-subtree-dir: third_party/SPIRV-Headers git-subtree-split: 979924c8bc839e4cb1b69d03d48398551f369ce7
-
Alexis Hetu authored
Changes: 8a5500656 spirv-fuzz: adds TransformationReplaceLoadStoreWithCopyMemory (#3586) 7c901a49c Preserve OpenCL.DebugInfo.100 through private-to-local pass (#3571) 767518e8e spirv-fuzz: Relax type checking for int contants (#3573) f8920bcfa spirv-fuzz: Generalise transformation access chain (#3546) 98ac9fd6d spirv-fuzz: Split blocks starting with OpPhi before trying to outline (#3581) 059ab0819 spirv-fuzz: Set message consumer in replayer when shrinking (#3591) d6306537d spirv-fuzz: Don't use default parameters (#3583) 969f02864 Change DEPS rolling script to point at external/ (#3584) 1aaf5c613 spirv-fuzz: Create a helper in fuzzerutil to reuse function type (#3572) 89b3bc5a8 spirv-fuzz: Test usages of IdIsIrrelevant fact (#3578) 9dc1bfa31 spirv-fuzz: adds TransformationReplaceCopyMemoryWithLoadStore (#3575) 586a12b9d spirv-fuzz: adds TransformationReplaceCopyObjectWithStoreLoad (#3567) 0b84727f2 Start SPIRV-Tools v2020.5 895927bd3 Finalize SPIRV-Tools v2020.4 bc2f78b7d spirv-fuzz: Fix usages of irrelevant constants (#3566) a0d8dc2b4 Update CHANGES f3cec9366 Support SPV_KHR_terminate_invocation (#3568) dca2c86bc Sink pointer instructions in merge return (#3569) cf7e922e7 Preserve OpenCL.DebugInfo.100 through elim-dead-code-aggressive (#3542) fe9e5db89 spirv-fuzz: TransformationReplaceParamsWithStruct (#3455) e4aebf99f Add changes for SPV_EXT_shader_atomic_float (#3562) 5dc96d5d2 spirv-fuzz: Use irrelevant constants (#3565) 98395b834 spirv-fuzz: Extend TransformationRecordSynonymousConstants to allow composite constants (#3537) a3b0adc30 spirv-fuzz: Add is_irrelevant parameter (#3563) 8b5ed4448 spirv-fuzz: Add IdIsIrrelevant fact (#3561) c10d6cebb spirv-fuzz: refactor to use RemoveAtRandomIndex (#3560) 0d8fe0fba spirv-fuzz: add TransformationAddRelaxedDecoration (#3545) 717e7877c Store location values sparsely (#3488) d5766f280 Permit Simple and GLSL450 memory model in WEBGPU_0 (#3463) bcc78b3e9 spirv-fuzz: support floating-point in TransformationInvertComparisonOperator (#3551) fb32c4074 Change MaybeApplyTransformation to return a boolean (#3555) 7dfd9b868 spirv-fuzz: Implement MaybeApplyTransformation helper function (#3540) de1ff50f2 spirv-fuzz: Assert false in IsApplicable method of TransformationAccessChain (#3528) 680c77fa6 spirv-fuzz: Add support for OpBitcast to TransformationEquationInstruction (#3523) b0206b0f6 spirv-fuzz: Add support for OpConvert to TransformationEquationInstruction (#3472) 7221ccf85 Fix reachability in the validator (#3541) 2fa735dc0 spirv-fuzz: Remove TransformationCopyObject (#3531) 8e0215afe spirv-opt: Add support for OpLabel to dominator analysis (#3516) f12c40f5a spirv-fuzz: Fuzzer pass to interchange zero-like constants (#3524) 3e7238c68 spirv-fuzz: Add replay range option (#3535) 4c33fb0d3 Rewrite KillDebugDeclares() (#3513) 362276978 spirv-fuzz: Fix instruction insertion issue (#3521) 91d921e89 spirv-fuzz: Implement the OpMatrixTimesMatrix linear algebra case (#3527) 282392dda Add support to GPU-AV instrumentation for Task and Mesh shaders (#3512) c9b254d04 spirv-fuzz: Support adding dead break from back-edge block (#3519) fe4dca516 Support OpPhi when replacing boolean constant operand (#3518) 40c3c1cac spirv-fuzz: TransformationAddSynonyms (#3447) 13dc28ce7 spirv-fuzz: Remove unused functions (#3510) 282962362 spirv-fuzz: Minor refactoring (#3507) cf8c86a2d Preserve OpenCL.DebugInfo.100 through elim-local-single-store (#3498) a687057a8 Preserve debug info in vector DCE pass (#3497) 5f8cdd8b4 Implement transformation to record synonymous constants. (#3494) 94667fbf6 Fix build failure (#3508) 44428352b Upgrade elim-local-single-block for OpenCL.DebugInfo.100 (#3451) de56c34bd spirv-fuzz: TransformationReplaceParameterWithGlobal (#3434) 11946e640 Implement the OpMatrixTimesVector linear algebra case (#3500) f8eddbbe5 Preserve OpenCL.100.DebugInfo in reduce-load-size pass (#3492) daa3b47ed spirv-fuzz: Add image sample unused components transformation (#3439) 7afbc0c8b spirv-fuzz: Add variables with workgroup storage class (#3485) 2fbeb04b6 spirv-fuzz: Implement the OpVectorTimesMatrix linear algebra case (#3489) 6d61c1159 spirv-fuzz: fuzzerutil::MaybeGetConstant* #3487 6a4da9da4 Debug info preservation in copy-prop-array pass (#3444) bd2a9ea85 spirv-fuzz: TransformationInvertComparisonOperator (#3475) 2c1ff230c Fix regression (#3481) 4a92579a4 spirv-fuzz: Add fuzzerutil::FindOrCreate* (#3479) fba90d6b0 spirv-fuzz: Add FuzzerPassAddCopyMemoryInstructions (#3391) ab10489a0 spirv-fuzz: Add one parameter at a time (#3469) fc0dc3a9c Fix ADCE pass bug for mulitple entries (#3470) 91c50e3fc Add gl_BaseInstance to the name mapper. (#3462) c3680adbd Implement the OpMatrixTimesScalar linear algebra case (#3450) efaae24d0 Clear debug information for kill and replacement (#3459) a1fb255a2 Validate location assignments (#3308) 7a1af5878 Support OpCompositeExtract pattern in desc_sroa (#3456) 29ba53f2a spirv-fuzz: Implement FuzzerPassAddParameters (#3399) 71a5b6770 spirv-fuzz: Add GetParameters (#3454) 8e586e46a spirv-fuzz: Permute OpPhi instruction operands (#3421) 36b5bb701 Add support for different default/trunks in roll-deps (#3442) d4b9f576e [spirv-opt] debug info preservation in ssa-rewrite (#3356) 2a1b8c062 Updated desc_sroa to support flattening structures (#3448) 33cf7c425 spirv-fuzz: Refactor variable creation (#3414) d5306c8e8 spirv-fuzz: Swap operands in OpBranchConditional (#3423) 545d158a2 Use structured order to unroll loops. (#3443) 5342930f9 Debug info preservation in dead branch elimination (#3425) 99651228b Add RemoveParameter method (#3437) 57d9e360c Fix return type (#3435) a7112d544 Eliminate branches with condition of OpConstantNull (#3438) 949470354 spirv-fuzz: Implement vector shuffle fuzzer pass (#3412) 12a4fb3bc spirv-fuzz: Add replace linear algebra instruction transformation (#3402) 52a5f074e Update access control lists. (#3433) 30bf46dbe Fix operand access (#3427) 5543d5faa Debug info preservation in ccp pass (#3420) 458140aed Fix round trip tests that weren't instantiated (#3417) e49896709 spirv-fuzz: Add a test (#3238) c01f826bc spirv-fuzz: Add support for OpSpecConstant* (#3373) 7c213720b spirv-fuzz: Fix replayer bug (#3401) 9ed0fef6e Add value instruction condition (#3385) ffaecad32 Fix instruction function use (#3390) 94808bd0f spirv-fuzz: Fix regression (#3396) 74130f2d3 Fix googletest inclusion (#3398) 636f449e1 Add tests for merge-return debug info preservation (#3389) f050cca7e spirv-fuzz: Add push id through variable transformation (#3359) 8dfdbeff8 Rolling 4 dependencies (#3380) 20e7fc505 Start SPIRV-Tools v2020.4 e128ab0d6 Finalize SPIRV-Tools v2020.3 9b8a6a144 Update CHANGES d3d89bb90 spirv-fuzz: Support bit width argument for int and float types (#3378) Commands: ./third_party/update-spirvtools.sh Bug: b/123642959 Change-Id: Id54668de78b22bf61434d050162e06de30366d52 -
Alexis Hetu authored
8a5500656 spirv-fuzz: adds TransformationReplaceLoadStoreWithCopyMemory (#3586) 7c901a49c Preserve OpenCL.DebugInfo.100 through private-to-local pass (#3571) 767518e8e spirv-fuzz: Relax type checking for int contants (#3573) f8920bcfa spirv-fuzz: Generalise transformation access chain (#3546) 98ac9fd6d spirv-fuzz: Split blocks starting with OpPhi before trying to outline (#3581) 059ab0819 spirv-fuzz: Set message consumer in replayer when shrinking (#3591) d6306537d spirv-fuzz: Don't use default parameters (#3583) 969f02864 Change DEPS rolling script to point at external/ (#3584) 1aaf5c613 spirv-fuzz: Create a helper in fuzzerutil to reuse function type (#3572) 89b3bc5a8 spirv-fuzz: Test usages of IdIsIrrelevant fact (#3578) 9dc1bfa31 spirv-fuzz: adds TransformationReplaceCopyMemoryWithLoadStore (#3575) 586a12b9d spirv-fuzz: adds TransformationReplaceCopyObjectWithStoreLoad (#3567) 0b84727f2 Start SPIRV-Tools v2020.5 895927bd3 Finalize SPIRV-Tools v2020.4 bc2f78b7d spirv-fuzz: Fix usages of irrelevant constants (#3566) a0d8dc2b4 Update CHANGES f3cec9366 Support SPV_KHR_terminate_invocation (#3568) dca2c86bc Sink pointer instructions in merge return (#3569) cf7e922e7 Preserve OpenCL.DebugInfo.100 through elim-dead-code-aggressive (#3542) fe9e5db89 spirv-fuzz: TransformationReplaceParamsWithStruct (#3455) e4aebf99f Add changes for SPV_EXT_shader_atomic_float (#3562) 5dc96d5d2 spirv-fuzz: Use irrelevant constants (#3565) 98395b834 spirv-fuzz: Extend TransformationRecordSynonymousConstants to allow composite constants (#3537) a3b0adc30 spirv-fuzz: Add is_irrelevant parameter (#3563) 8b5ed4448 spirv-fuzz: Add IdIsIrrelevant fact (#3561) c10d6cebb spirv-fuzz: refactor to use RemoveAtRandomIndex (#3560) 0d8fe0fba spirv-fuzz: add TransformationAddRelaxedDecoration (#3545) 717e7877c Store location values sparsely (#3488) d5766f280 Permit Simple and GLSL450 memory model in WEBGPU_0 (#3463) bcc78b3e9 spirv-fuzz: support floating-point in TransformationInvertComparisonOperator (#3551) fb32c4074 Change MaybeApplyTransformation to return a boolean (#3555) 7dfd9b868 spirv-fuzz: Implement MaybeApplyTransformation helper function (#3540) de1ff50f2 spirv-fuzz: Assert false in IsApplicable method of TransformationAccessChain (#3528) 680c77fa6 spirv-fuzz: Add support for OpBitcast to TransformationEquationInstruction (#3523) b0206b0f6 spirv-fuzz: Add support for OpConvert to TransformationEquationInstruction (#3472) 7221ccf85 Fix reachability in the validator (#3541) 2fa735dc0 spirv-fuzz: Remove TransformationCopyObject (#3531) 8e0215afe spirv-opt: Add support for OpLabel to dominator analysis (#3516) f12c40f5a spirv-fuzz: Fuzzer pass to interchange zero-like constants (#3524) 3e7238c68 spirv-fuzz: Add replay range option (#3535) 4c33fb0d3 Rewrite KillDebugDeclares() (#3513) 362276978 spirv-fuzz: Fix instruction insertion issue (#3521) 91d921e89 spirv-fuzz: Implement the OpMatrixTimesMatrix linear algebra case (#3527) 282392dda Add support to GPU-AV instrumentation for Task and Mesh shaders (#3512) c9b254d04 spirv-fuzz: Support adding dead break from back-edge block (#3519) fe4dca516 Support OpPhi when replacing boolean constant operand (#3518) 40c3c1cac spirv-fuzz: TransformationAddSynonyms (#3447) 13dc28ce7 spirv-fuzz: Remove unused functions (#3510) 282962362 spirv-fuzz: Minor refactoring (#3507) cf8c86a2d Preserve OpenCL.DebugInfo.100 through elim-local-single-store (#3498) a687057a8 Preserve debug info in vector DCE pass (#3497) 5f8cdd8b4 Implement transformation to record synonymous constants. (#3494) 94667fbf6 Fix build failure (#3508) 44428352b Upgrade elim-local-single-block for OpenCL.DebugInfo.100 (#3451) de56c34bd spirv-fuzz: TransformationReplaceParameterWithGlobal (#3434) 11946e640 Implement the OpMatrixTimesVector linear algebra case (#3500) f8eddbbe5 Preserve OpenCL.100.DebugInfo in reduce-load-size pass (#3492) daa3b47ed spirv-fuzz: Add image sample unused components transformation (#3439) 7afbc0c8b spirv-fuzz: Add variables with workgroup storage class (#3485) 2fbeb04b6 spirv-fuzz: Implement the OpVectorTimesMatrix linear algebra case (#3489) 6d61c1159 spirv-fuzz: fuzzerutil::MaybeGetConstant* #3487 6a4da9da4 Debug info preservation in copy-prop-array pass (#3444) bd2a9ea85 spirv-fuzz: TransformationInvertComparisonOperator (#3475) 2c1ff230c Fix regression (#3481) 4a92579a4 spirv-fuzz: Add fuzzerutil::FindOrCreate* (#3479) fba90d6b0 spirv-fuzz: Add FuzzerPassAddCopyMemoryInstructions (#3391) ab10489a0 spirv-fuzz: Add one parameter at a time (#3469) fc0dc3a9c Fix ADCE pass bug for mulitple entries (#3470) 91c50e3fc Add gl_BaseInstance to the name mapper. (#3462) c3680adbd Implement the OpMatrixTimesScalar linear algebra case (#3450) efaae24d0 Clear debug information for kill and replacement (#3459) a1fb255a2 Validate location assignments (#3308) 7a1af5878 Support OpCompositeExtract pattern in desc_sroa (#3456) 29ba53f2a spirv-fuzz: Implement FuzzerPassAddParameters (#3399) 71a5b6770 spirv-fuzz: Add GetParameters (#3454) 8e586e46a spirv-fuzz: Permute OpPhi instruction operands (#3421) 36b5bb701 Add support for different default/trunks in roll-deps (#3442) d4b9f576e [spirv-opt] debug info preservation in ssa-rewrite (#3356) 2a1b8c062 Updated desc_sroa to support flattening structures (#3448) 33cf7c425 spirv-fuzz: Refactor variable creation (#3414) d5306c8e8 spirv-fuzz: Swap operands in OpBranchConditional (#3423) 545d158a2 Use structured order to unroll loops. (#3443) 5342930f9 Debug info preservation in dead branch elimination (#3425) 99651228b Add RemoveParameter method (#3437) 57d9e360c Fix return type (#3435) a7112d544 Eliminate branches with condition of OpConstantNull (#3438) 949470354 spirv-fuzz: Implement vector shuffle fuzzer pass (#3412) 12a4fb3bc spirv-fuzz: Add replace linear algebra instruction transformation (#3402) 52a5f074e Update access control lists. (#3433) 30bf46dbe Fix operand access (#3427) 5543d5faa Debug info preservation in ccp pass (#3420) 458140aed Fix round trip tests that weren't instantiated (#3417) e49896709 spirv-fuzz: Add a test (#3238) c01f826bc spirv-fuzz: Add support for OpSpecConstant* (#3373) 7c213720b spirv-fuzz: Fix replayer bug (#3401) 9ed0fef6e Add value instruction condition (#3385) ffaecad32 Fix instruction function use (#3390) 94808bd0f spirv-fuzz: Fix regression (#3396) 74130f2d3 Fix googletest inclusion (#3398) 636f449e1 Add tests for merge-return debug info preservation (#3389) f050cca7e spirv-fuzz: Add push id through variable transformation (#3359) 8dfdbeff8 Rolling 4 dependencies (#3380) 20e7fc505 Start SPIRV-Tools v2020.4 e128ab0d6 Finalize SPIRV-Tools v2020.3 9b8a6a144 Update CHANGES d3d89bb90 spirv-fuzz: Support bit width argument for int and float types (#3378) git-subtree-dir: third_party/SPIRV-Tools git-subtree-split: 8a5500656ec0b495bb9d4f23257c3d21123225a9
-
- 26 Jul, 2020 2 commits
-
-
Nicolas Capens authored
Includes VK_EXT_image_robustness definitions. https://github.com/KhronosGroup/Vulkan-Headers revision 83825d55c7d522931124696ecb07ed48f2693e5c tag v1.2.148 Bug: b/159329067 Change-Id: Ic993487408dd9e80b04acd415bb4487c3f1fac57 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/46788 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Nicolas Capens authored
While LLVM 8 provides CreateBinaryIntrinsic() and CreateUnaryIntrinsic() as part of the IRBuilder<> API, they implicity append the operand type to the intrinsic name. This only works for 'abstract' intrinsics such as 'sqrt'. For intrinsics corresponding to specific native instructions, it causing symbol resolution to fail. This change adds createInstruction() functions to simplify the creation of these native intrinsics. Also remove some macros which were needed for compatibility with LLVM 7. Bug: b/152339534 Change-Id: Id985941d9725c8746df05c58520810feb73bfe19 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/37088 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com>
-
- 24 Jul, 2020 1 commit
-
-
Antonio Maiorano authored
We no longer build or support LLVM < 10. Bug: b/152339534 Change-Id: I2481a3ad824e559e8f62c56f3c15d7b6fc0f83e8 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/46729Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Antonio Maiorano <amaiorano@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com>
-
- 23 Jul, 2020 6 commits
-
-
Alexis Hetu authored
This first implementation ignores all optional functionality, so this is a very bare-bones implementation of VK_EXT_debug_utils. Bug: b/119321052 Change-Id: I8ef189b957b6d1b433846de945b7852c3d6e8190 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/46968 Presubmit-Ready: Alexis Hétu <sugoi@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Sean Risser authored
Enabled depthBiasClamp in SwiftShader's PhysicalDeviceFeatures, which will also enable any dEQP tests that rely on it. Bug: b/160463658 Tests: dEQP-VK.dynamic_state.rs_state.depth_bias_clamp Change-Id: Ida3ae12d30fb70a3bd7e508e276fb9a1bfc96231 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/46848 Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Sean Risser <srisser@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Michael Spang authored
The VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO extension structure is safe to ignore for Linux and Fuchsia. We already ignored it for private allocations (see vkAllocateMemory). Some drivers can do a better job of allocating if they know that a VkDeviceMemory will contain exactly one object with known properties. This is the case for NVIDIA, but not SwiftShader. For external memory, on some platforms (including Android) the shareable object isn't just a flat blob of memory, it carries format/dimensions etc. The AHardwareBufferExternalMemory implementation in VkDeviceMemoryExternalAndroid.hpp obtains the image/buffer from the VkMemoryDedicatedAllocateInfo structure to pass it to gralloc. External memory on Linux and Fuchsia are just flat memory allocations, so on these platforms we can ignore the dedicated allocation info. Bug: b/156200449 Change-Id: Ia7838bb8a39aac2a1908f314d146ad11f1be79d2 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/45048 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com>
-
Nicolas Capens authored
Revision https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS/+/dc4441d7695aadce377cdaa270f0027f94471a99 Branch https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS/+log/refs/heads/vulkan-cts-1.2.3 Includes the following changes of particular interest to SwiftShader: * VK_EXT_image_robustness tests https://gitlab.khronos.org/vulkan/vulkan/-/merge_requests/3788 https://gerrit.khronos.org/#/c/5771/ * Test multiple fragment output locations https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/2179 * Test OpArrayLength with stride larger than element size https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/2236 * Test negative value conversion to b10g11r11 float format https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/2271 * Test exact sampling with linear filtering over a solid color https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/2226 * Test filtering of YCbCr formats https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/2185 * Validate samplerless descriptor writes https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/2172 * Test exact sampling cases https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/2170 * Add image clearing tests with multiple subresource ranges https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/2169 Failures from 1.2.1 carried over: * dEQP-VK.texture.explicit_lod.2d.sizes.31x55_linear_linear_mipmap_linear_repeat * dEQP-VK.texture.explicit_lod.2d.sizes.31x55_linear_linear_mipmap_nearest_repeat * dEQP-VK.texture.explicit_lod.2d.sizes.31x55_nearest_linear_mipmap_linear_repeat * dEQP-VK.texture.explicit_lod.2d.sizes.31x55_nearest_linear_mipmap_nearest_repeat * dEQP-VK.texture.explicit_lod.2d.sizes.57x35_linear_linear_mipmap_linear_repeat * dEQP-VK.texture.explicit_lod.2d.sizes.57x35_linear_linear_mipmap_nearest_repeat * dEQP-VK.texture.explicit_lod.2d.sizes.57x35_nearest_linear_mipmap_linear_repeat * dEQP-VK.texture.explicit_lod.2d.sizes.57x35_nearest_linear_mipmap_nearest_repeat Asserts from 1.2.1 carried over: * dEQP-VK.graphicsfuzz.always-false-if-in-do-while * dEQP-VK.graphicsfuzz.do-while-with-always-true-if * dEQP-VK.graphicsfuzz.return-before-writing-wrong-color Change-Id: I50e6a635f5fe384321115bfcbdcd7002c455650c Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/46608 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Antonio Maiorano authored
For now, warn the user that we don't support building PowerVR examples against SwiftShader on MacOS. We may eventually add support, see b/161976310. Bug: b/155827755 Bug: b/161976310 Change-Id: I52216664567f1c18f59dc302dd720128ed28fe7d Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/46988Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Antonio Maiorano <amaiorano@google.com>
-
Nicolas Capens authored
The Radial Windows OS image for Kokoro comes with CMake 3.17.3, and we only demand CMake 3.13 at the moment. The previous image had an older version, so we had to update it before every build. Bug: b/161221236 Change-Id: I5c3cdc3728c9c7ec5fb3fe43841d7f7cc3245abc Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/46528 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
- 22 Jul, 2020 3 commits
-
-
Antonio Maiorano authored
Before this commit, when debugging with the ReactorDebugInfo feature, variables were being incorrectly displayed in the debugger. For instance, given: Int a = 1; Int b = 2; The debugger would not display 'a', and would display 'b' as containing the value '1'. The reason for this was that while the Int constructor for 'a' was executing, we invoke boost::stacktrace() to determine the variable's source location (file and line number); however, the stack trace would return the return address of the constructor call, which would be on the next line -- that of 'Int b'. To fix this, knowing that all ReactorDebugInfo emits come from function calls in Reactor code, we assume that all backtrace addresses point to the next instruction following the call, thus we subtract 1 from these addresses. When resolving the file and line number, this gets back the previous instruction's location. There are likely corner cases where this doesn't work, but it's better than what we have now. Bug: b/161821289 Change-Id: Ie92ead393f321fc1a26fc019d6450bfddb7a5e24 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/46868Reviewed-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Antonio Maiorano <amaiorano@google.com>
-
Antonio Maiorano authored
Added more missing files required to build with 'is_debug=true' when LLVM 10 is used as the backend. Bug: chromium:1108382 Bug: angleproject:4861 Change-Id: I24f5686b96d04508934a59dcc3dd14b799fbd93a Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/46928Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Antonio Maiorano <amaiorano@google.com>
-
Tomek Ponitka authored
Changed the algorithm to compute the copySize value. Earlier, in the isEntireRow && isSingleSlice case we were putting copySize = imageExtent.height * imageRowPitchBytes which is wrong in the case when imageRowPitchBytes is the same as bufferRowPitchBytes, but also contains some extra padding. For example, for copying to the whole 127 x 64 texture with RGBA8 format with bufferRowPitchBytes = 4 * 128 and buffer size = 4 * (63 * 128 + 127) will produce an assertion error. Bug: swiftshader:152 Change-Id: If7524534ff268a70b77cfeda8611abc99f148888 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/46908Tested-by:
Tomek Ponitka <tommek@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 21 Jul, 2020 2 commits
-
-
Nicolas Capens authored
Subzero requires specifying the target CPU features at construction, and doesn't use this legacy LLVM support code. It is conceivable that this code was putting build host specific information into static variables, thus not producing the same binary when built on different machines. Bug: chromium:937268 Bug: b/155971541 Change-Id: I8934c4abfebc3901ef50edfe86a0122b1b50e319 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/46689Reviewed-by:
Antonio Maiorano <amaiorano@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com>
-
Antonio Maiorano authored
The LLVM debugging API changed since LLVM 7. Updated the code to work with the new API. Also enabled Kokoro builds with REACTOR_EMIT_DEBUG_INFO and REACTOR_EMIT_PRINT_LOCATION on LLVM 10. Bug: b/152339534 Change-Id: Ia3af789077842013aad74ac8af5f3e5582801963 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/46730Tested-by:
Antonio Maiorano <amaiorano@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com>
-