Open
Conversation
ids1024
reviewed
Jan 27, 2026
src/lib.rs
Outdated
| /// Set the buffer as optimized for only being written to. | ||
| /// | ||
| /// Setting this allows the underlying storage to bypass certain caches and reduce cache | ||
| /// pollution. In turn, this may make reading from the buffer data perform very poorly. |
Member
There was a problem hiding this comment.
So it's not really "write only", but more optimized for not reading? Though I guess it should generally be treated the same...
Not sure if any other name would be more appropriate for this method. Maybe not.
Member
Author
There was a problem hiding this comment.
Maybe write_optimized? Or read_penalized?
Member
Author
|
I just found gfx-rs/wgpu#8897, we might have to make this method |
Disallowing reading is overly restrictive, and we don't use write-combined memory anywhere yet anyhow.
2ac7aa8 to
51f29e0
Compare
Member
Author
|
I've changed this PR to only be a docs update to allow reading from the buffer, we can reconsider the |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
In #313, I added a note that reading from the pixel buffer is discouraged, because I wanted to set
kIOSurfaceMapWriteCombineCacheon macOS once I got around to implementing properIOSurfacesupport. See e.g. the following links for a few places where it's used in the wild:I thought this was fine, because I couldn't see a use-case where you'd need to read from the pixel buffer, but that was perhaps a bit hasty, I found at least one use-case: converting the alpha mode (premultiplying components or making the alpha channel opaque) by modifying the buffer in-place in a separate step before presenting it buffer.
This means that the argument for only having the mutable version instead of distinct
pixels/pixels_mut,pixel_rows/pixel_rows_mutandpixels_iter/pixels_iter_mutmethods is a bit weaker.WDYT? Should we provide both immutable and mutable methods on
Buffer<'_>?