feat: add fence for shared texture memory#375
Open
pepperoni505 wants to merge 3 commits into
Open
Conversation
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Owner
|
I like it a lot, thank you for the PR. In my case I was flip flopping between 1. enabling people to do everything in JS using the SharedTextureMemory API or 2. pushing the importExternalTexture API. And I realized that it's both 1. and 2. Item 1 makes a lot of sense considering that this is React Native. You want to give full access/control over the native APIs. And I have a list of items there and this PR is part of that list, so again thank you for doing this. And item 2 is also unavoidable anyway for zero-copy YUV texture support on Android. |
2 tasks
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.
Closes #369
Adds
GPUSharedFence, exposing Dawn's shared-fence primitives soGPUSharedTextureMemorycan be synchronized across queues/APIs. Until nowbeginAccess/endAccessonly took the no-fence path, which is fine for single-producer still frames, but it can't safely coordinate an external producer and a GPU consumer on different queues (e.g. a video/camera surface being written while Dawn samples it).