Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: KhronosGroup/SPIRV-Tools
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 9702d47c6fe4
Choose a base ref
...
head repository: KhronosGroup/SPIRV-Tools
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: b8ab80843f67
Choose a head ref
  • 5 commits
  • 22 files changed
  • 3 contributors

Commits on Jul 3, 2019

  1. Fix BUILD.gn for Fuchsia platform build. (#2692)

    In order for the Fuchsia source tree to update its
    version of SPIRV-Tools to a newer upstream, the
    BUILD.gn needs to be slightly altered to take care
    of the fact that it can be used with a different
    GN //build set of rules and configs than the
    Chromium one.
    
    This is done by using |build_with_chromium|, already
    defined by //build_overrides/build.gni, to guard
    Chromium-specific statements.
    
    + Add a target to generate spirv-opt which is used by
      Fuchsia to optimize shaders at build time for some
      of its graphics libraries.
    digit-google authored and zoddicus committed Jul 3, 2019
    Configuration menu
    Copy the full SHA
    a6bfc26 View commit details
    Browse the repository at this point in the history

Commits on Jul 4, 2019

  1. Refactor reducer options (#2709)

    Avoids polluting the global namespace with a constant, and moves constructor to .cpp file as is done for spirv-reduce's options.
    afd authored Jul 4, 2019
    Configuration menu
    Copy the full SHA
    5a93e07 View commit details
    Browse the repository at this point in the history
  2. Do not inline OpKill Instructions (#2713)

    It is illegal to inline an OpKill instruction into a continue construct because the continue header will no longer dominate the backedge.
    
    This commit adds a check for this, and does not inline.
    
    If we still want to be able to inline a function that contains an OpKill, we can add a new pass that will wrap OpKill instructions into its own function with just the single instruction.
    
    I do not believe that this is a common case right now, so I will not do that yet.
    
    Fixes #2433.
    s-perron authored Jul 4, 2019
    Configuration menu
    Copy the full SHA
    fe7cc9c View commit details
    Browse the repository at this point in the history
  3. Perform merge return with single return in loop. (#2714)

    Inlining does not inline functions that have a single return that is in a loop.  This is because the return cannot be replaced by a branch outside of the loop easily.  Merge return knows how to rewrite the function so the return is replaced by a branch.
    
    Fixes #2038.
    s-perron authored Jul 4, 2019
    Configuration menu
    Copy the full SHA
    37e8f79 View commit details
    Browse the repository at this point in the history

Commits on Jul 7, 2019

  1. Shrinker for spirv-fuzz (#2708)

    Adds to spirv-fuzz the option to shrink a sequence of transformations
    that lead to an interesting binary to be generated, to find a smaller
    sub-sequence of transformations that still lead to an interesting (but
    hopefully simpler) binary being generated. The notion of what counts
    as "interesting" comes from a user-provided script, the
    "interestingness function", similar to the way the spirv-reduce tool
    works. The shrinking process will give up after a maximum number of
    steps, which can be configured on the command line.
    
    Tests for the combination of fuzzing and shrinking are included, using
    a variety of interestingness functions.
    afd authored Jul 7, 2019
    Configuration menu
    Copy the full SHA
    b8ab808 View commit details
    Browse the repository at this point in the history
Loading