1. 15 Oct, 2020 2 commits
  2. 14 Oct, 2020 3 commits
  3. 11 Oct, 2020 1 commit
  4. 10 Oct, 2020 2 commits
  5. 09 Oct, 2020 4 commits
    • Fix depth bias calculations · 0aca3ca9
      Nicolas Capens authored
      We were simply adding the constant depth bias to the z coordinate,
      instead of interpreting it as relative to the minimum resolvable
      difference. In the legacy OpenGL ES code stack we're multiplying it by
      2^-23, but this assumes a 32-bit floating-point depth format, while
      Vulkan must also support 16-bit integer depth, and doesn't take the
      exponent of the z values of the polygon into account.
      
      This change fixes the issue for both integer depth formats, which have a
      constant minimum resolvable difference, and floating-point depth
      formats, where the maximum exponent of the z values is used to determine
      the minimum resolvable difference per polygon.
      
      The viewport's depth range transform was corrected to be performed
      before the depth bias offset.
      
      Also the depth bias clamp operation was corrected to be performed only
      on the bias value, not the polygon's z value for vertex 0.
      
      We were also converting scalars to vectors a bit earlier than necessary,
      so this was refactored to happen later to simplify the calculations.
      
      The bias is added per fragment, after z interpolation, instead of being
      added to the 'C' factor of the plane equation. That's because we compute
      'y * B + C' per row, and then add 'x * A' per fragment. When the bias is
      included in 'C', the additions cause loss of precision greater than the
      minimum resolvable difference, and dEQP-GLES3.functional.polygon_offset
      fails because it uses a 'units' depth bias of 1.
      
      Note this change is intentionally unoptimized, to serve as a spec-
      compliant reference implementation. dEQP has poor test coverage for this
      functionality so we need to start off with something that is easy to
      reference against the spec.
      
      Bug: b/139341727
      Fixes: b/160463658
      Change-Id: Ief1dd609d8ac974e76b1b785a924b09b448297a2
      Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/48629
      Presubmit-Ready: Nicolas Capens <nicolascapens@google.com>
      Tested-by: 's avatarNicolas Capens <nicolascapens@google.com>
      Kokoro-Result: kokoro <noreply+kokoro@google.com>
      Reviewed-by: 's avatarAntonio Maiorano <amaiorano@google.com>
    • Move interpolant clamping out of interpolate() · e8ce1f83
      Nicolas Capens authored
      Vulkan never clamps interpolants, except for depth values (specifically
      for fixed-point formats, and for floating-point formats when the
      unrestricted depth extension is not enabled).
      
      This change moves the clamping operation out of interpolate(), which
      makes it easier to see depth clamping being performed when necessary,
      and will facilitate changes in applying depth bias.
      
      Bug: b/139341727
      Change-Id: I8cef29d63fef00308ef2f813b4feb687c83baa86
      Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/49148
      Presubmit-Ready: Nicolas Capens <nicolascapens@google.com>
      Kokoro-Result: kokoro <noreply+kokoro@google.com>
      Tested-by: 's avatarNicolas Capens <nicolascapens@google.com>
      Reviewed-by: 's avatarSean Risser <srisser@google.com>
      Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com>
    • SpirvShaderDebugger: Fix store() of arrays · 51b03d58
      Ben Clayton authored
      ```
      template<typename T, std::size_t N>
      void store(const rr::RValue<rr::Pointer<rr::Byte>> &ptr, const std::array<T, N> &val)
      ```
      
      was completely broken as it was using `sizeof(T)` for element offsets.
      All uses of this overload use Reactor values for T, and so `sizeof(T)` evaluates to the size of the compiler type, not the runtime data type.
      
      Also remove the useless `for(int i = 0; i < N; i++)` in `buildGlobal()`.
      This iterator isn't used, so we're just doing the same calls to `put()` `N` times.
      
      Bug: b/170383642
      Change-Id: I9ba9efce07e886087124118122de56a4d31c5503
      Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/49129
      Kokoro-Result: kokoro <noreply+kokoro@google.com>
      Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com>
      Tested-by: 's avatarBen Clayton <bclayton@google.com>
    • SpirvShaderDebugger: Improve ASSERT() messages · 19612714
      Ben Clayton authored
      DXC is producing duplicate definitions for local variables.
      Give more context in the `ASSERT()` so it's easier to diagnose whats going wrong.
      
      Bug: b/170378370
      Change-Id: Ic8c8f24a6dbd8ce23e04eb4f0265363b44bc174c
      Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/49128
      Kokoro-Result: kokoro <noreply+kokoro@google.com>
      Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com>
      Tested-by: 's avatarBen Clayton <bclayton@google.com>
  6. 08 Oct, 2020 1 commit
  7. 07 Oct, 2020 1 commit
  8. 06 Oct, 2020 3 commits
  9. 05 Oct, 2020 4 commits
  10. 02 Oct, 2020 5 commits
    • Regres: List regressions before summary · b3c1e71e
      Nicolas Capens authored
      Previously we had to click on the Gerrit comment posted by Regres to
      unfold the single-line snippet into the full comment, to check whether
      any regressions occured. This change makes "--- No change in
      test results ---" come first so we can see at a glance without opening
      the full comment that no regressions have occured, or be informed about
      changes in test results.
      
      Change-Id: Ia4d9bbb0f1db81df943c009af91fc43c9b71ade7
      Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/48928Tested-by: 's avatarNicolas Capens <nicolascapens@google.com>
      Kokoro-Result: kokoro <noreply+kokoro@google.com>
      Reviewed-by: 's avatarAntonio Maiorano <amaiorano@google.com>
    • Added support for AndroidHardwareBuffer · 16636f48
      Trevor David Black authored
      Bug: b/141698760
      Change-Id: I8d3895b2ee79a0ba71f20917ae1edc83dd19dab8
      Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/48508Reviewed-by: 's avatarTrevor Black <vantablack@google.com>
      Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com>
      Kokoro-Result: Trevor Black <vantablack@google.com>
      Kokoro-Result: kokoro <noreply+kokoro@google.com>
      Presubmit-Ready: Trevor Black <vantablack@google.com>
      Tested-by: 's avatarTrevor Black <vantablack@google.com>
    • Update Marl to f1c446ccd · 26e27c5e
      Ben Clayton authored
      Notable changes:
       * Fixed instances of bugprone-move-forwarding-reference.
         See: https://swiftshader-review.googlesource.com/c/SwiftShader/+/48868
              chromium:1134310
       * Fiber stack size can now be configured.
       * Only public API symbols are now exported, allowing for creation of
         shared libraries / dlls.
      
      Changes:
          f1c446ccdc0 Fix instances of bugprone-move-forwarding-reference
          8719a54cbe0 Kokoro: Get tar directories around the right way!
          3a21f30c54e Kokoro: Package build artifacts into a .tar
          57da063f48f Kokoro: Fix line continuation in release.bat
          ecaa2602da1 Kokoro: Rename release script names
          787cf0686d2 Kokoro: Add release configs
          3ce8637191a Kokoro: Test ucontext fibers on linux.
          62f0a0f9e39 osfiber_ucontext: Fix memory leak & warning
          20dc482b9a0 CMake: Add flag for ucontext fibers
          3815666523e Kokoro: Fix define_artifacts.regex
          f51513856b6 Kokoro: Add define_artifacts action
          d2d77650ec1 CMake: Put marl-benchmarks in a named FOLDER
          95e505a3071 Fix markdown lint warnings in README.md
          71d86a2bc04 Kokoro: Add config for continuous + so builds
          5f897319c18 Reduce scheduler fiber stack size for tests
          bc65ef5ebe5 Scheduler: Make the fiber stack size configurable
          b61e279881c Remove deprecated scheduler [gs]etters
          1a28daf0d89 Add license checker config and kokoro presubmit
          3448974c1b0 Add marl::DAG - a AoT declarative task graph
          9e77dcdd5a4 Kokoro: Migrate to new Windows VM instance
          ac517aa6784 Fix schedule() with function arguments
          834e558a138 Add missing include to export.h
          1e8acb5695e MSVC build fixes.
          84f047c114c Migrate from VERSION to CHANGES.md
          0a1012317ab Annotate all public API inlines with MARL_NO_EXPORT
          3689793cb1d Only notify one fiber in ConditionVariable::notify_one()
          596e172322d CMake: Use -fvisibility=hidden by default
          1d51df92c71 Disable by default deprecated scheduler [gs]etters
          45be9b24830 README: Add FreeBSD and iOS to the list of OSes
          4d68ade048a Export DLL public symbols for building marl as dll
          1efb1e70228 Kokoro: Add configs for Android
      
      Commands:
          ./third_party/update-marl.sh --squash
      
      Bug: b/140546382
      Bug: chromium:1134310
      Change-Id: I48e99f1100d9a1e92a2b34c5764b5c604a1f2fe8
    • Squashed 'third_party/marl/' changes from d29553a3730..f1c446ccdc0 · 269f38fd
      Ben Clayton authored
      f1c446ccdc0 Fix instances of bugprone-move-forwarding-reference
      8719a54cbe0 Kokoro: Get tar directories around the right way!
      3a21f30c54e Kokoro: Package build artifacts into a .tar
      57da063f48f Kokoro: Fix line continuation in release.bat
      ecaa2602da1 Kokoro: Rename release script names
      787cf0686d2 Kokoro: Add release configs
      3ce8637191a Kokoro: Test ucontext fibers on linux.
      62f0a0f9e39 osfiber_ucontext: Fix memory leak & warning
      20dc482b9a0 CMake: Add flag for ucontext fibers
      3815666523e Kokoro: Fix define_artifacts.regex
      f51513856b6 Kokoro: Add define_artifacts action
      d2d77650ec1 CMake: Put marl-benchmarks in a named FOLDER
      95e505a3071 Fix markdown lint warnings in README.md
      71d86a2bc04 Kokoro: Add config for continuous + so builds
      5f897319c18 Reduce scheduler fiber stack size for tests
      bc65ef5ebe5 Scheduler: Make the fiber stack size configurable
      b61e279881c Remove deprecated scheduler [gs]etters
      1a28daf0d89 Add license checker config and kokoro presubmit
      3448974c1b0 Add marl::DAG - a AoT declarative task graph
      9e77dcdd5a4 Kokoro: Migrate to new Windows VM instance
      ac517aa6784 Fix schedule() with function arguments
      834e558a138 Add missing include to export.h
      1e8acb5695e MSVC build fixes.
      84f047c114c Migrate from VERSION to CHANGES.md
      0a1012317ab Annotate all public API inlines with MARL_NO_EXPORT
      3689793cb1d Only notify one fiber in ConditionVariable::notify_one()
      596e172322d CMake: Use -fvisibility=hidden by default
      1d51df92c71 Disable by default deprecated scheduler [gs]etters
      45be9b24830 README: Add FreeBSD and iOS to the list of OSes
      4d68ade048a Export DLL public symbols for building marl as dll
      1efb1e70228 Kokoro: Add configs for Android
      
      git-subtree-dir: third_party/marl
      git-subtree-split: f1c446ccdc0c611d1aeec4a6266a77693ae48c92
    • Use vndk/window.h instead of the system one · 375fee94
      Yiwei Zhang authored
      Bug: b/159763893
      Change-Id: I9c662b726ccd77d8974cefb8bacfee8994f8c7b1
      Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/48829
      Kokoro-Result: kokoro <noreply+kokoro@google.com>
      Reviewed-by: 's avatarTrevor Black <vantablack@google.com>
      Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com>
      Tested-by: 's avatarYiwei Zhang <zzyiwei@google.com>
  11. 01 Oct, 2020 2 commits
  12. 30 Sep, 2020 3 commits
  13. 29 Sep, 2020 9 commits