- 28 Jul, 2020 4 commits
-
-
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 7 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>
-
Antonio Maiorano authored
Delete all code that supported using LLVM version < 10. Bug: b/152339534 Change-Id: I997c478b0aca6940cdd3a121eec15827eae47574 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/46728 Kokoro-Result: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Antonio Maiorano <amaiorano@google.com>
-
Antonio Maiorano authored
Also set the Subzero ones to use 10.0. This is only necessary so that CMake is able to add the llvm-10.0 subdirectory, despite the target not being built. Bug: b/152339534 Change-Id: Ieacd6cff8559c07370a311a766e2d9a28f8dc73a Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/46749 Kokoro-Result: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Antonio Maiorano <amaiorano@google.com>
-
Antonio Maiorano authored
Some of the files for LLVM 10 were conditionally compiled for Debug builds; however, two of these were also in the main source list: ${LLVM_DIR}/lib/Analysis/RegionInfo.cpp ${LLVM_DIR}/lib/Support/Debug.cpp This lead to linker errors for missing symbols when, for e.g., Support/Debug.cpp was built because Support/circular_raw_ostream.cpp was not compiled. I decided to just fold in these few Debug-only sources into the main list to keep it simple and similar to how LLVM 7 was being built. Bug: b/152339534 Change-Id: Ie4dda85b3323f5036d29fd80908b1925b6c86853 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/46708 Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:Antonio Maiorano <amaiorano@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
SwiftShader Regression Bot authored
Reactor backend: Subzero Change-Id: I8e8af15a9b0406c9470a3e23d02345fe27740a51 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/46448Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
This allows authors as well as reviewers to avoid wasting CPU cycles on changes which require revision or won't be accepted. Change-Id: I57946609462149d29229b613d0a4c68a21ccb154 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/46548 Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com>
-
- 20 Jul, 2020 4 commits
-
-
Mark Mentovai authored
0c60dc5c broke Chromium’s macOS arm64 build (https://ci.chromium.org/p/chromium/builders/ci/mac-arm64) when it switched the GN build from llvm 7 to 10, because the GN build of llvm 10 mistakenly omitted llvm/lib/Support/RWMutex.cpp. Bug: chromium:1107585 Change-Id: I7b1aa82007e190c19a0ac50a09ce81ab23ba38d5 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/46748Reviewed-by:
Antonio Maiorano <amaiorano@google.com> Tested-by:
Antonio Maiorano <amaiorano@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com>
-
David Dorwin authored
Replaces "fxb/#" with the Monorail syntax "fuchsia:#". This updates https://swiftshader-review.googlesource.com/c/SwiftShader/+/44129. Bug: None Change-Id: I9dc0e617cdec2d1a8b980ee7aca2c718ce4021d6 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/46328 Kokoro-Result: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
David Dorwin <ddorwin@google.com>
-
Antonio Maiorano authored
The latest version of PowerVR_Examples includes a fix that I authored to generate files in the binary directory so that the source directory remains clean: https://github.com/powervr-graphics/Native_SDK/pull/52 (They manually applied my changes, so it was not merged directly). Bug: b/161699652 Change-Id: Ic5747a17284489d7af523ce0c149916376eb2054 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/46688Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Antonio Maiorano <amaiorano@google.com>
-
Nicolas Capens authored
The _PACK32 formats have non-packed equivalents with the exact same data layout, so there's no reason not to have them support the same features. Also add missing switch cases to avoid debug asserts, and remove 3-byte formats which we don't support at all. Bug: b/158259842 Tests: dEQP-VK.*pack32* Change-Id: Ie655571d50f1af3d97204466f9053b81e32f1490 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/45908 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com>
-
- 18 Jul, 2020 1 commit
-
-
Nicolas Capens authored
https://ci.chromium.org/p/chromium/builders/ci/UBSan%20vptr%20Release ERROR at //third_party/swiftshader/third_party/llvm-10.0/BUILD.gn:132:5: Undefined identifier. sources += [ "llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp" ] ^------ Bug: b/152339534 Change-Id: I59ae43c44ed22b95c836188897497723adcb9a23 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/46668Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
- 17 Jul, 2020 4 commits
-
-
Antonio Maiorano authored
* Fix std::shared_mutex not found when compiling with clang-cl. LLVM's RWMutex assumes _MSC_VER is defined only when using the msvc compiler, but clang-cl also defines it, which uses libc++ that does not define std::shared_mutex for pre-C++17. To fix it, we also make sure __clang__ is not defined (_MSC_VER and __clang__ implies clang-cl). I will make a similar upstream fix. * Fix missing ___chkstk symbol linker error * Fix "warning C4018: '>': signed/unsigned mismatch" by disabling the warning. Bug: b/152339534 Bug: b/161554059 Bug: chromium:1106623 Bug: angleproject:4851 Change-Id: I8639417e3ff78d82477b5ff9699f63507ec2a4ec Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/46628Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Antonio Maiorano <amaiorano@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com>
-
Nicolas Capens authored
They are broken, and we now have extensive build coverage through Kokoro. Bug: b/115784742 Change-Id: Id08da60aa4d361ece17f4bdc1a1b4ceacf7a94a8 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/46588 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com>
-
Nicolas Capens authored
Note the .clang-format config file is now incompatible with clang-format version 8 due to the use of AfterCaseLabel, which is necessary to match the current formatting. Also add amaiorano@google.com as a project owner. Bug: b/144825072 Change-Id: Ifd8ceae65245f0bc12143095ab5336f177f4a78f Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/43451 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Antonio Maiorano authored
Three files were duplicated in the same source_set for LLVM 10, but with different case: "llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp", "llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp", "llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp", "llvm/lib/DebugInfo/DWARF/DWARFCompileUnit.cpp", "llvm/lib/DebugInfo/DWARF/DWARFExpression.cpp", "llvm/lib/DebugInfo/DWARF/DWARFCompileUnit.cpp", GN/Ninja doesn't like this, and it only failed on Mac for some reason (See https://bugs.chromium.org/p/gn/issues/detail?id=180). Split out the DebugInfo files into a separate source_set to fix this. Bug: b/152339534 Change-Id: I294d48945ac5b47971b8387948bbd05767f7095c Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/46568Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Antonio Maiorano <amaiorano@google.com>
-