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

Optimise primitive_restart::upload_untouched() #6881

Merged

Commits on Oct 29, 2019

  1. rsx: Optimise primitive_restart::upload_untouched() with SSE4.1

    This optimisation is only applied when skip_restart is false.
    
    I’ve only tested the u16 codepath, as it is the one used in NieR.
    
    In some very unscientific profiling, this function used to take 2.76% of
    the total frame time at the save point of the port town, it now takes
    about 0.40%.
    linkmauve committed Oct 29, 2019
    Configuration menu
    Copy the full SHA
    ed13d87 View commit details
    Browse the repository at this point in the history
  2. rsx: Mark all SSE4.1 functions with attributes on gcc and clang

    This assures the compiler we will take care of only calling these
    functions after having checked that the CPU does support these
    instructions.
    linkmauve committed Oct 29, 2019
    Configuration menu
    Copy the full SHA
    52d1bc3 View commit details
    Browse the repository at this point in the history
  3. rsx: Remove redefinition of SSE4.1 instructions

    Now that clang is aware that our functions are compiled with SSE4.1, it
    lets us generate this code using its intrinsics.
    linkmauve committed Oct 29, 2019
    Configuration menu
    Copy the full SHA
    3b63e7f View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    c3554b8 View commit details
    Browse the repository at this point in the history
  5. rsx: Optimise vector to scalar conversion

    This is done using minpos and srli intrinsics and generate less code
    than before.
    
    Thanks Nekotekina for the suggestion!
    linkmauve committed Oct 29, 2019
    Configuration menu
    Copy the full SHA
    12e624e View commit details
    Browse the repository at this point in the history