Allow bytes to be bound as input/output planes #79
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.
This adds a major interoperability item to
image-canvas. You can now create a plane of referenced byte data (PlaneDataRef/PlaneDataMut) and bind these to theConverterRunlike you would bind any other plane. This allows you to read texel inputs and write texel outputs to unaligned ranges of memory or otherwise memory that is controlled by the library. We thus complete a part of the promise of having all texels be Pod, that is we do not enforce invariant on the data part itself.Note the minimalism of this PR, many of the lines are spent on making sure that we propagate some simplifications down to
image-texel(cloning the layout) and book-keeping to just duplicate the indexing and buffers we have for other plane types. This is owed to having preparedUnaligned<T>in previous PRs, this new plane type and capability forDataRefis a straightforward application of this concept.