Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Transition all pipelines to new draw_flags field for fill rule #399

Merged
merged 6 commits into from
Oct 31, 2023

Commits on Oct 28, 2023

  1. Encode fill rule in "draw flags" and fully abandon "linewidth"

    * Pipelines downstream of flatten (draw_leaf, coarse) now extract the
      fill rule using a "draw flags" field. Flatten still writes this to the
      path bounding-box structure, which gets propagated to the draw info
      list, and eventually translates to the fill rule written to the PTCL.
    
    * draw_leaf no longer deals with transforming the linewidth for strokes.
      This was a leftover from the previous architecture and the logic is no
      longer needed.
    
    * bbox_clear used to contain a duplicate PathBbox data structure. It now
      uses the one from shader/shared/bbox.wgsl
    
    This continues the work outlined in #303
    armansito committed Oct 28, 2023
    Configuration menu
    Copy the full SHA
    c3c6df0 View commit details
    Browse the repository at this point in the history
  2. [cpu_shaders] Support even-odd fill rule in coarse

    Wired up the even-odd fill-rule to the CPU version of coarse.
    armansito committed Oct 28, 2023
    Configuration menu
    Copy the full SHA
    64b8946 View commit details
    Browse the repository at this point in the history
  3. [cpu_shaders} Correctly write PTCL commands for even-odd fill

    The CPU version of the coarse stage was missing logic to correctly
    handle the even-odd fill rule. This change copies over the existing
    logic from the GPU version with some added documentation.
    armansito committed Oct 28, 2023
    Configuration menu
    Copy the full SHA
    d17dd70 View commit details
    Browse the repository at this point in the history
  4. Add fill-rule tests with blends

    Added more draws to the fill_types test scene where different fills
    overlap and blend with each other. This is mostly to validate the
    even-odd fill logic in the `coarse` stage.
    armansito committed Oct 28, 2023
    Configuration menu
    Copy the full SHA
    161a31c View commit details
    Browse the repository at this point in the history

Commits on Oct 31, 2023

  1. [coarse] Remove branch conditionals in even-odd handling

    Moved the per-drawobject tile discard logic near the existing tile
    inclusion code in the main loop. This avoids the branch conditionals
    that were present in each draw tag case branch.
    armansito committed Oct 31, 2023
    Configuration menu
    Copy the full SHA
    7a84914 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4d24ce3 View commit details
    Browse the repository at this point in the history