Skip to content

feat: add fence for shared texture memory#375

Open
pepperoni505 wants to merge 3 commits into
wcandillon:mainfrom
pepperoni505:feat/fences
Open

feat: add fence for shared texture memory#375
pepperoni505 wants to merge 3 commits into
wcandillon:mainfrom
pepperoni505:feat/fences

Conversation

@pepperoni505
Copy link
Copy Markdown
Contributor

Closes #369

Adds GPUSharedFence, exposing Dawn's shared-fence primitives so GPUSharedTextureMemory can be synchronized across queues/APIs. Until now beginAccess/endAccess only 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).

pepperoni505 and others added 3 commits June 2, 2026 00:24
@wcandillon
Copy link
Copy Markdown
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.
So now my mental model on how to approach this is a bit tidier than yesterday.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

SharedTextureMemory: expose fences on beginAccess/endAccess?

2 participants