1. 11 Jan, 2020 2 commits
  2. 10 Jan, 2020 5 commits
  3. 09 Jan, 2020 5 commits
  4. 08 Jan, 2020 14 commits
  5. 07 Jan, 2020 4 commits
  6. 06 Jan, 2020 10 commits
    • SPIRV-Tools: Update Android.bp to fix build. · 068dd89c
      Ben Clayton authored
      Mirror the rather significant changes in Android.mk from:
      https://github.com/KhronosGroup/SPIRV-Tools/commit/64f36ea5296ec023f65f75d72196d3ff7ae7c7b2?diff=split
      
      Bug: b/123642959
      Change-Id: Iaf82487e768dd0062a97cfe8ebff4e7f85816141
      Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/39876Reviewed-by: 's avatarChris Forbes <chrisforbes@google.com>
      Tested-by: 's avatarBen Clayton <bclayton@google.com>
    • Limit Vulkan memory allocation size to 1 GiB · a57e2eca
      Nicolas Capens authored
      Memory offset calculations in 32-bit SIMD elements limit us to
      addressing at most 4 GiB. Signed arithmetic further restricts it to
      2 GiB.
      
      The legacy OpenGL ES implementation limits image allocations to 1 GiB,
      to discourage excessive memory usage which wouldn't typically succeed
      on other (mobile) implementations anyway. So until we have a strong use
      case which requires more, let's impose the same limit.
      
      Bug: b/146515574
      Change-Id: Iaa7bd22789fd20b4e7975d3d2ffee2a8f90b006a
      Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/39828
      Presubmit-Ready: Nicolas Capens <nicolascapens@google.com>
      Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
      Reviewed-by: 's avatarAlexis Hétu <sugoi@google.com>
      Tested-by: 's avatarNicolas Capens <nicolascapens@google.com>
    • IDs: Move inline impls below class. · 19b43a60
      Ben Clayton authored
      Addresses comments on:
      https://swiftshader-review.googlesource.com/c/SwiftShader/+/38891/1/src/Vulkan/Debug/ID.hpp#34
      
      Bug: b/145351270
      Change-Id: If1aabf0b2d2ac7e992bfd59a19eeeba57cb7f84e
      Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/39248Tested-by: 's avatarBen Clayton <bclayton@google.com>
      Reviewed-by: 's avatarAntonio Maiorano <amaiorano@google.com>
      Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
    • Pipeline: Store builtins on SpirvRoutine... · 5beaef93
      Ben Clayton authored
      ... even if they're not directly used by the SPIR-V shader code.
      This will let the debugger display these values in the locals window.
      
      Bug: b/145351270
      Change-Id: I1d390e95bf38e89b072ef374e6a35cd8222a45c6
      Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38912Tested-by: 's avatarBen Clayton <bclayton@google.com>
      Presubmit-Ready: Ben Clayton <bclayton@google.com>
      Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
      Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com>
    • Style: clang-format the tests source too · 0b4bc585
      Ben Clayton authored
      Move the `.clang-format` rule up one level from `./src` to `.`.
      Add a `.clang-format` file to `./third_party` that disables formatting.
      Update `./src/clang-format-all.sh` to include `./tests`.
      Format all source files in `./tests`.
      
      Bug: b/144825072
      Change-Id: I01c7ae37a7b1fe8d63ee143107da8acefba20e76
      Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/39873
      Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
      Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com>
      Reviewed-by: 's avatarAntonio Maiorano <amaiorano@google.com>
      Tested-by: 's avatarBen Clayton <bclayton@google.com>
    • Merge changes Id1120acb,Ifc6afcda,I8b5da04a,I9389ad9e,I35d60f68 · 4be96b5f
      Ben Clayton authored
      * changes:
        Update SPIRV-Tools to 8aa423930
        Squashed 'third_party/SPIRV-Tools/' changes from c3f22f7cb..8aa423930
        VulkanUnitTests: Fix SPIR-V validation issue
        Update SPIRV-Headers to 204cd131c
        Squashed 'third_party/SPIRV-Headers/' changes from af64a9e82..204cd131c
    • Improve 1010102 blend precision · 3716c206
      Alexis Hetu authored
      Making sure we extend 1010102 to the full 16 bit range
      fixes 51 of the 53 failures found in ToT dEQP-VK.*a2b10*
      
      Also added a utility function to OR all elements of an
      int vector, which allows us to use more vector operations
      (as opposed to scalar) while improving the readability.
      
      Bug: b/146633956
      Change-Id: If8b946c45cf27f5868d7a97166e21dba565ed72f
      Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/39768Tested-by: 's avatarAlexis Hétu <sugoi@google.com>
      Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com>
    • Update SPIRV-Tools to 8aa423930 · 4fcf9900
      Ben Clayton authored
      Contains initial support for OpenCL.DebugInfo.100 extended instruction set
      
      Changes:
        8aa423930 Avoid pessimizing std::move (#3124)
        fad92f1e7 Fix typo in validation message (#3122)
        578c5ac13 Change default version for CreatInstBindlessCheckPass to 2 (#3119)
        9215c1b7d Fix convert-relax-to-half invalid code (#3099) (#3106)
        64f36ea52 Support OpenCL.DebugInfo.100 extended instruction set (#3080)
        e01bc6d4e spirv-fuzz: Always add new globals to entry point interfaces (#3113)
        dcb7169bb spirv-fuzz: Transformation to add a new function to a module (#3114)
        2e41d5ece spirv-fuzz: Avoid passing access chains as parameters (#3112)
        e70b009b0 Add support for SPV_KHR_non_semantic_info (#3110)
        38d7fbaad spirv-fuzz: Transformations to add types, constants and variables (#3101)
        fccbc00ac Make Instrumentation format version 2 the default (Step 1) (#3096)
        96354f504 spirv-fuzz: Fuzzer pass to merge blocks (#3097)
        5c019b592 Start SPIRV-Tools v2020.1
        c413b982c Finalize SPIRV-Tools v2019.5
        2afbe9051 Update CHANGES
        00ca4e5bd Don't crash when folding construct of empty struct (#3092)
        0a2b38d08 spirv-fuzz: function outlining fuzzer pass (#3078)
        983b5b4fc spirv-fuzz: Use validator to check break/continue dominance conditions (#3089)
        e82a42860 WebGPU: Array size at most max signed int + 1 (#3077)
        0a5d99d02 Permit the debug instructions in WebGPU SPIR-V - remove from the optimizer (#3083)
        af7410597 graphics robust access: use signed clamp (#3073)
        3ed458604 Folding: perform add and sub on mismatched integer types (#3084)
        47f3eb426 spirv-fuzz: Fix invalid tests (#3079)
        b334829a9 Validate nested constructs (#3068)
        52e9cc930 spirv-fuzz: Improve debugging facilities (#3074)
        54385458c Handle unreachable block when computing register pressure (#3070)
        868ca3954 Improve RegisterSizePasses (#3059)
        f31f26f73 utils/vscode: Add install.bat (#3071)
        03957e8a9 build: cmake: Add support for Fuchsia. (#3062)
        a62012ced Add test with explicit example of stripping reflection info (#3064)
        8312c523e Permit the debug instructions in WebGPU SPIR-V (#3063)
        85f3e93d1 Respect CMAKE_INSTALL_LIBDIR in installed CMake files (#3054)
        45dde9ad6 Add missing dealloc (#3061)
        2ee9aaa28 Initialize binary for use as guard later (#3058)
        0391d0823 Handle OpPhi with no in operands in value numbering (#3056)
        ca703c887 Kill the id-to-func map after wrap-opkill (#3055)
        57b4cb40b Convert stderr and stdout in status to strings on assignment (#3049)
      
      Commands:
        git subtree pull --prefix third_party/SPIRV-Tools https://github.com/KhronosGroup/SPIRV-Tools master --squash
      
      Bug: b/123642959
      Change-Id: Id1120acb6126f62c3928774c985fcc09d2619584
    • Squashed 'third_party/SPIRV-Tools/' changes from c3f22f7cb..8aa423930 · 0b54f13d
      Ben Clayton authored
      8aa423930 Avoid pessimizing std::move (#3124)
      fad92f1e7 Fix typo in validation message (#3122)
      578c5ac13 Change default version for CreatInstBindlessCheckPass to 2 (#3119)
      9215c1b7d Fix convert-relax-to-half invalid code (#3099) (#3106)
      64f36ea52 Support OpenCL.DebugInfo.100 extended instruction set (#3080)
      e01bc6d4e spirv-fuzz: Always add new globals to entry point interfaces (#3113)
      dcb7169bb spirv-fuzz: Transformation to add a new function to a module (#3114)
      2e41d5ece spirv-fuzz: Avoid passing access chains as parameters (#3112)
      e70b009b0 Add support for SPV_KHR_non_semantic_info (#3110)
      38d7fbaad spirv-fuzz: Transformations to add types, constants and variables (#3101)
      fccbc00ac Make Instrumentation format version 2 the default (Step 1) (#3096)
      96354f504 spirv-fuzz: Fuzzer pass to merge blocks (#3097)
      5c019b592 Start SPIRV-Tools v2020.1
      c413b982c Finalize SPIRV-Tools v2019.5
      2afbe9051 Update CHANGES
      00ca4e5bd Don't crash when folding construct of empty struct (#3092)
      0a2b38d08 spirv-fuzz: function outlining fuzzer pass (#3078)
      983b5b4fc spirv-fuzz: Use validator to check break/continue dominance conditions (#3089)
      e82a42860 WebGPU: Array size at most max signed int + 1 (#3077)
      0a5d99d02 Permit the debug instructions in WebGPU SPIR-V - remove from the optimizer (#3083)
      af7410597 graphics robust access: use signed clamp (#3073)
      3ed458604 Folding: perform add and sub on mismatched integer types (#3084)
      47f3eb426 spirv-fuzz: Fix invalid tests (#3079)
      b334829a9 Validate nested constructs (#3068)
      52e9cc930 spirv-fuzz: Improve debugging facilities (#3074)
      54385458c Handle unreachable block when computing register pressure (#3070)
      868ca3954 Improve RegisterSizePasses (#3059)
      f31f26f73 utils/vscode: Add install.bat (#3071)
      03957e8a9 build: cmake: Add support for Fuchsia. (#3062)
      a62012ced Add test with explicit example of stripping reflection info (#3064)
      8312c523e Permit the debug instructions in WebGPU SPIR-V (#3063)
      85f3e93d1 Respect CMAKE_INSTALL_LIBDIR in installed CMake files (#3054)
      45dde9ad6 Add missing dealloc (#3061)
      2ee9aaa28 Initialize binary for use as guard later (#3058)
      0391d0823 Handle OpPhi with no in operands in value numbering (#3056)
      ca703c887 Kill the id-to-func map after wrap-opkill (#3055)
      57b4cb40b Convert stderr and stdout in status to strings on assignment (#3049)
      
      git-subtree-dir: third_party/SPIRV-Tools
      git-subtree-split: 8aa423930db37e37086665efcc55944d577c06e5
    • VulkanUnitTests: Fix SPIR-V validation issue · ed2a3387
      Ben Clayton authored
      `LoopDivergentMergePhi` was attempting to use the same merge block for a `OpLoopMerge` and a `OpSelectionMerge`. This is not legal, and was caught by improvements to the SPIR-V tools validator.
      
      The fix is simple: Add a new merge block for the inner `OpSelectionMerge` that immediately jumps to the merge block for the `OpLoopMerge`.
      
      Bug: b/123642959
      Bug: b/133440380
      Bug: b/133481698
      Change-Id: I8b5da04a1cd2db3e44bb5b50f1619a8565e5bc9d