1. 26 Sep, 2019 2 commits
  2. 25 Sep, 2019 2 commits
  3. 24 Sep, 2019 7 commits
  4. 23 Sep, 2019 1 commit
  5. 20 Sep, 2019 7 commits
  6. 19 Sep, 2019 2 commits
  7. 18 Sep, 2019 3 commits
  8. 17 Sep, 2019 1 commit
  9. 16 Sep, 2019 6 commits
  10. 14 Sep, 2019 2 commits
    • Update Marl to bf3e23083 · e901e9b5
      Nicolas Capens authored
      bf3e23083 pool.h: Don't over-qualify Loan type parameters
      dc76e9653 CMake: Fix configuration file installation path
      fca4771b4 Scheduler: Increase max number of threads from 64 to 256.
      1b3fd77b2 debug: Add MARL_WARN for printing warnings
      3928f44d6 [Grammar] Fix passive tense.
      a2918916e CMake: Add install target (#21)
      1ec7c36cf examples/primes.cpp: Add missing header including
      ed21a07a1 Minor cleanup
      
      Commands:
      git subtree pull --prefix third_party/marl https://github.com/google/marl bf3e23083979c3bd3de1c77346b655eec423b3bc --squash
      
      Bug: b/141003126
      Change-Id: I5e9afad957d52919c48a60d8db49c04e43102870
    • Squashed 'third_party/marl/' changes from 59068ee4c..bf3e23083 · 73634a19
      Nicolas Capens authored
      bf3e23083 pool.h: Don't over-qualify Loan type parameters
      dc76e9653 CMake: Fix configuration file installation path
      fca4771b4 Scheduler: Increase max number of threads from 64 to 256.
      1b3fd77b2 debug: Add MARL_WARN for printing warnings
      3928f44d6 [Grammar] Fix passive tense.
      a2918916e CMake: Add install target (#21)
      1ec7c36cf examples/primes.cpp: Add missing header including
      ed21a07a1 Minor cleanup
      
      git-subtree-dir: third_party/marl
      git-subtree-split: bf3e23083979c3bd3de1c77346b655eec423b3bc
  11. 13 Sep, 2019 3 commits
  12. 12 Sep, 2019 4 commits
    • [memfd] Create support class for Linux memfd-backed region. · c9fa9fe9
      David 'Digit' Turner authored
      This creates a new helper class to allocate memfd-backed shared
      memory regions with the Linux kernel. The feature has been
      supported since at least Linux 3.17, which is sufficient for
      a large number of desktop Linux and Android devices.
      
      However, only recent version of GLibc or the Android C library
      expose memfd_create(), so keep implementing it as a direct syscall.
      
      NOTE: There is a similar function named memfd_create() inside
            of src/Reactor/ExecutableMemory.cpp, but it is easier to
            keep them separate for now to avoid introducing subtle
            dependency issues in the CMakeLists.txt file.
      
      This will used in future CLs that implement Vulkan external
      semaphores and external memory on Linux and Android for SwiftShader.
      
      Bug: b/140419396
      
      Change-Id: I378c34760930d8fef7d0659128ededb5227c323f
      Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/35128Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com>
      Tested-by: 's avatarDavid Turner <digit@google.com>
      Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
    • Assert Reactor Float constants are finite · d94d6a3d
      Nicolas Capens authored
      C++11 does not have a way to write an infinite or NaN literal, nor does
      it allow division by zero as a constant expression. Thus we should not
      accept inf or NaN as a Reactor Float constant, as this would typically
      indicate a bug, and avoids undefined behavior.
      
      This also prevents the issue of the LLVM JIT only taking double values
      for constructing floating-point constants. During the conversion from
      single-precision to double, a signaling NaN can become a quiet NaN, thus
      altering its bit pattern. Hence this assert is also helpful for
      detecting cases where integers are being reinterpreted as float and then
      bitcast to integer again, which does not guarantee preserving the
      integer value.
      
      Should infinity and NaN constants be required, methods like infinity(),
      quiet_NaN(), and signaling_NaN() should be added to the Float class.
      
      For cases where binary float data must be preserved exactly, one can
      construct a Reactor Int value and bitcast as Float.
      
      Bug: b/140302841
      Change-Id: I72cf7e6fe82913cffcb1e0de282bc6839f65226d
      Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/35868
      Presubmit-Ready: Nicolas Capens <nicolascapens@google.com>
      Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
      Tested-by: 's avatarNicolas Capens <nicolascapens@google.com>
      Reviewed-by: 's avatarChris Forbes <chrisforbes@google.com>
    • Fix construction of SPIR-V constant float objects · baf328ab
      Nicolas Capens authored
      Constructing a constant SIMD::Float is not guaranteed to preserve the
      data's exact bit pattern, but SPIR-V provides 32-bit words representing
      "the bit pattern for the constant". Thus we must first construct an
      integer constant, and bitcast to float.
      
      Bug: b/140302841
      Change-Id: I1a84dab9d1adbdc15f8a3b2fc639c637d2841174
      Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/36208
      Presubmit-Ready: Nicolas Capens <nicolascapens@google.com>
      Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
      Tested-by: 's avatarNicolas Capens <nicolascapens@google.com>
      Reviewed-by: 's avatarChris Forbes <chrisforbes@google.com>
    • Fix passing sampler offset operands unchanged · a070dcf0
      Nicolas Capens authored
      All sampler operands are passed through an array of float values. Offset
      operands are integers, but we were retrieving them from the SPIR-V
      constant object interpreted as floating-point data, and then creating
      Float constants from them. This may alter their bit pattern,
      specifically values corresponding to sNaN may become qNaN.
      
      Instead create Reactor integer constants and bitcast them to Float.
      
      Bug: b/140302841
      Change-Id: I06aceb7b2a97d5f5ce9009f5ba97238602cdc126
      Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/35910
      Presubmit-Ready: Nicolas Capens <nicolascapens@google.com>
      Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
      Tested-by: 's avatarNicolas Capens <nicolascapens@google.com>
      Reviewed-by: 's avatarChris Forbes <chrisforbes@google.com>