-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mutable self for memory mapping #33
Comments
Actually, just realized this wouldn't help us, since we have |
The problem still stands though. Gpu-alloc should work well with Vulkan semantics, which gfx-hal now reflects more precisely, and currently it would require something like |
Perhaps |
Mapping related operations are already synchronized by |
I believe what "explicit synchronization" means in Vulkan is not "all calls to this function using the same value of X must be serialized" but rather a more stronger "all access to value X must be serialized around calling this function". This means, calling |
|
I think that basically means |
@Ralith pointed out to the relevant spec text:
|
1136: Changed Arc<B::Memory> to Arc<Mutex<B::Memory>> in GpuAllocator r=kvark a=ElArtista Work around for blocker zakarumych/gpu-alloc#33, makes wgpu compatible with latest gfx Co-authored-by: TheArtist <[email protected]>
@Wumpf has landed a workaround in |
Now those methods require &mut M e.g. externally synchronized memory object Fixes #33
Now those methods require &mut M e.g. externally synchronized memory object Fixes #33
It used to be the case that mapping memory worked with
&self
. This changed with gfx-rs/gfx#3551, according to Vulkan's synchronization semantics. Now, working with gpu-alloc is more difficult. Perhaps, theMemoryDevice
trait here can be changed to work with&mut Memory
instead when mapping/unmapping?The text was updated successfully, but these errors were encountered: