lib: move ravg and add arena copy methods #3134
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The ravg header that is in use in rusty/w40 has been developed as a header, with all the caveats this includes (increased code/size verification due to overly aggressive inlining). There is demand for ravg-related features in scx_lavd which will probably require further development of the feature. Move the code to lib/ in preparation for that.
The main limitation of the current code is that it cannot handle arena arguments. This is required in lavd. There is no way to allow the same function to accept arena and non-arena arguments, so for now add copy helpers between arena and non-arena versions of the same struct. These can be combined with temporary stack arguments to pass arena data to the ravg routines.