1. 14 Nov, 2019 3 commits
    • Regres: Update test lists @ b2407dd7 · 168bb0dc
      SwiftShader Regression Bot authored
      Change-Id: I7776e0732876b1e057895cad325ce54f3404a2f4
      Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38134
      Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
      Reviewed-by: 's avatarChris Forbes <chrisforbes@google.com>
      Tested-by: 's avatarChris Forbes <chrisforbes@google.com>
    • Rasterize 'Bresenham' line segments as parallelograms · 66ba1f99
      Nicolas Capens authored
      The previous 'connected diamonds' polygon that was used to rasterize
      Bresenham lines suffered from duplicate rasterization of endpoints,
      which violates the diamond exit-rule and is disallowed by the Vulkan
      (and OpenGL) spec.
      
      This change rasterizes Bresenham lines as a parallelogram, as described
      by Vulkan's non-strictLines algorithm.
      
      This satisfied Vulkan's requirements laid out in section 26.10.2
      Bresenham Line Segment Rasterization:
      
      "Implementations may use other line segment rasterization algorithms,
       subject to the following rules:
       - The coordinates of a fragment produced by the algorithm must not
         deviate by more than one unit in either x or y framebuffer
         coordinates from a corresponding fragment produced by the diamond-
         exit rule.
       - The total number of fragments produced by the algorithm must not
         differ from that produced by the diamond-exit rule by no more than
         one.
       - For an x-major line, two fragments that lie in the same framebuffer-
         coordinate column must not be produced (for a y-major line, two
         fragments that lie in the same framebuffer-coordinate row must not be
         produced).
       - If two line segments share a common endpoint, and both segments are
         either x-major (both left-to-right or both right-to-left) or y-mayor
         (both bottom-to-top or both top-to-bottom), then rasterizing both
         segments must not produce duplicate fragments. Fragments also must
         not be omitted so as to interrupt continuity of the connected
         segments."
      
      OpenGL ES line rasterization has not been modified as part of this
      change, to not require rebasing of golden images, but the parallelogram
      algorithm was made available for easy comparison.
      
      Bug: b/80135519
      Change-Id: I09e8b90a393d3a08387d79669d9dbe5f83a0811d
      Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38049
      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>
      Reviewed-by: 's avatarAlexis Hétu <sugoi@google.com>
    • Negative baseVertex support · 90df527f
      Alexis Hetu authored
      baseVertex is a signed integer that's allowed have a negative value.
      In order to support it, the offset was moved from being applied
      on the index buffer memory pointer directly to being applied
      to the indices from the index buffer inside the Vertex routine.
      
      Fixes all issues in the following subcategory using SwANGLE:
      dEQP-GLES31.functional.draw_indirect.*
      
      Bug: b/144353667
      Change-Id: Ia70c258eab25c274553c4955dc2336a42d43f005
      Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38148
      Presubmit-Ready: Alexis Hétu <sugoi@google.com>
      Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
      Tested-by: 's avatarAlexis Hétu <sugoi@google.com>
      Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com>
  2. 13 Nov, 2019 3 commits
  3. 12 Nov, 2019 6 commits
  4. 11 Nov, 2019 6 commits
  5. 09 Nov, 2019 1 commit
  6. 08 Nov, 2019 2 commits
    • Fix PointCoord builtin · ef55c4e7
      Chris Forbes authored
      There were two bugs here:
      
      - Across a 2x2 pixel quad, we were producing a uniform PointCoord value.
        This is not correct, and causes trouble even for size 1 points if the
        derivative of the PointCoord value is ever used, or if the non-helper
        lane is not lane 0 (in which case the live lane may end up having
        PointCoord values outside [0,1].)
      
      - SetupRoutine was using the clipspace position of the vertex. Xf,Yf
        are specified to be in screenspace. It's possible to do this in a
        less redundant way, but currently we don't have unrounded vertex
        positions in screenspace available in the setup program. Just
        reproject for now, as we do in clipping paths etc. Note that we only do
        this if we're drawing points, so most (filled triangle) draws should
        not incur any additional cost.
      
      Bug: b/140680704
      Test: dEQP-VK.glsl.builtin_var.simple.pointcoord*
      Change-Id: If006cc92b86673b6bb747cf60f60e0ed46f5e8e3
      Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/36115Tested-by: 's avatarChris Forbes <chrisforbes@google.com>
      Presubmit-Ready: Chris Forbes <chrisforbes@google.com>
      Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
      Reviewed-by: 's avatarBen Clayton <bclayton@google.com>
    • Kokoro: Allow 'Fixes:' in bug check · c03ce008
      Ben Clayton authored
      This adds to 'Bug:', 'Issue:' and 'Regres:' as accepted CL grep checks.
      
      Fixes: b/143093187
      Change-Id: Iae44d8e8e49f7534bb940ec977edb4afcddc308e
      Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/37449Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com>
      Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
      Tested-by: 's avatarBen Clayton <bclayton@google.com>
  7. 07 Nov, 2019 1 commit
  8. 06 Nov, 2019 2 commits
  9. 05 Nov, 2019 2 commits
  10. 01 Nov, 2019 8 commits
  11. 30 Oct, 2019 2 commits
  12. 29 Oct, 2019 2 commits
  13. 28 Oct, 2019 2 commits