1. 11 Jan, 2021 1 commit
    • Implement VK_EXT_separate_stencil_usage · 009667d5
      Sean Risser authored
      This extension allows users to query and specify different usages for
      the main image and the stencil. SwiftShader does not use an image's
      usage for non-debug purposes outside of
      vkGetPhysicalDeviceImageFormatProperties2. This applies to separate
      stencil usage as well.
      
      Bug: b/176098507
      Tests: dEQP-VK.pipeline.sampler.separate_stencil_usage.*
      Tests: dEQP-VK.renderpass.suballocation.multisample.separate_stencil_usage.*
      Tests: dEQP-VK.renderpass2.suballocation.multisample.separate_stencil_usage.*
      Change-Id: Iea74a9fa0de8cdcc51bdc613cdc0754e0f327fd5
      Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/51368Tested-by: 's avatarSean Risser <srisser@google.com>
      Commit-Queue: Sean Risser <srisser@google.com>
      Kokoro-Result: kokoro <noreply+kokoro@google.com>
      Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com>
  2. 10 Jan, 2021 1 commit
  3. 08 Jan, 2021 5 commits
  4. 07 Jan, 2021 3 commits
  5. 05 Jan, 2021 1 commit
  6. 30 Dec, 2020 1 commit
    • Add support for Vulkan12Properties · ff29e249
      Sean Risser authored
      VkPhysicalDeviceVulkan12Properties was added to the core spec by Vulkan
      1.2. It allows users to query the following properties simultaneously:
          * VkPhysicalDeviceDriverProperties
          * VkPhysicalDeviceFloatControlsProperties
          * VkPhysicalDeviceDescriptorIndexingProperties
          * VkPhysicalDeviceDepthStencilResolveProperties
          * VkPhysicalDeviceSamplerFilterMinmaxProperties
          * VkPhysicalDeviceTimelineSemaphoreProperties
          * and framebufferIntegerColorSampleCounts
      
      All these structs are a part of the core spec and must be supported.
      
      Bug: b/176498010
      Change-Id: I82b06f219d2ee091139964ee8b19f05e1c64e3a8
      Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/51408
      Kokoro-Result: kokoro <noreply+kokoro@google.com>
      Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com>
      Tested-by: 's avatarSean Risser <srisser@google.com>
      Commit-Queue: Sean Risser <srisser@google.com>
  7. 17 Dec, 2020 2 commits
    • Optimize reciprocal sqrt operation · 1cc5b335
      Antonio Maiorano authored
      This change deprecates rr::RcpSqrt_pp with rr::RcpSqrt. As with Rcp,
      RcpSqrt computes the result using Newton-Rhapson if it's faster and the
      initial approximation intrinsic is available on the current target.
      Currently, only LLVM on Intel will use NR for RelaxedPrecision. Note
      that passing in Precision::Relaxed will produce a faster, but less
      precise reciprocal sqrt.
      
      Also made it so that SprivShader instruction GLSLstd450InverseSqrt now
      invokes RcpSqrt(x, Precision::Full) instead of performing 1/sqrt(x).
      Note that the Vulkan spec states that inversesqrt()'s precision is 2
      ULP, and sqrt()'s precision is inherited from 1.0 / inversesqrt();
      however, our rr::Sqrt is implemented in terms of x86's sqrt intrinsic on
      x86, or as calls to sqrt from Math.h.
      
      Bug: b/169760262
      Change-Id: I65ba9a64d1db934c523dda11c1a2c186059d220b
      Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/51268
      Commit-Queue: Antonio Maiorano <amaiorano@google.com>
      Kokoro-Result: kokoro <noreply+kokoro@google.com>
      Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com>
      Tested-by: 's avatarAntonio Maiorano <amaiorano@google.com>
    • Optimize reciprocal operation · d1561871
      Antonio Maiorano authored
      This change deprecates rr::Rcp_pp with rr::Rcp, which makes sure to
      correctly compute the reciprocal using the Newton-Rhapson refinement
      only if the current target supports the required instrinsic, otherwise
      using 1 / x. Currently, only LLVM on Intel will use NR. Note that
      passing in Precision::Relaxed will produce a faster, but less precise
      reciprocal.
      
      Also removed PixelProgram::linearToSRGB as it's unused.
      
      Bug: b/169760262
      Bug: b/149574741
      Change-Id: I4a2f943aa60116c4397d7a8ae18583a260824788
      Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/50648Reviewed-by: 's avatarAlexis Hétu <sugoi@google.com>
      Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com>
      Tested-by: 's avatarAntonio Maiorano <amaiorano@google.com>
      Commit-Queue: Antonio Maiorano <amaiorano@google.com>
  8. 15 Dec, 2020 1 commit
  9. 14 Dec, 2020 5 commits
  10. 12 Dec, 2020 1 commit
  11. 11 Dec, 2020 7 commits
  12. 10 Dec, 2020 4 commits
  13. 09 Dec, 2020 8 commits