diff --git a/vulkano/src/buffer/cpu_access.rs b/vulkano/src/buffer/cpu_access.rs index 2a0e693c83..62d8ba826f 100644 --- a/vulkano/src/buffer/cpu_access.rs +++ b/vulkano/src/buffer/cpu_access.rs @@ -200,17 +200,7 @@ impl CpuAccessibleBuffer { |_| AllocFromRequirementsFilter::Allowed)?; debug_assert!((mem.offset() % mem_reqs.alignment) == 0); debug_assert!(mem.mapped_memory().is_some()); - match mem.mapped_memory() { - Some(ref mm) => { - mm.disable_map() - }, - None => eprintln!("Failed to get memory to disable map"), - } buffer.bind_memory(mem.memory(), mem.offset())?; - match mem.mapped_memory() { - Some(ref mm) => mm.activate_map(), - None => eprintln!("Failed to get memory to re map"), - } Ok(Arc::new(CpuAccessibleBuffer { inner: buffer, diff --git a/vulkano/src/memory/device_memory.rs b/vulkano/src/memory/device_memory.rs index 0a12208999..ab9958a329 100644 --- a/vulkano/src/memory/device_memory.rs +++ b/vulkano/src/memory/device_memory.rs @@ -15,7 +15,7 @@ use std::ops::DerefMut; use std::ops::Range; use std::os::raw::c_void; use std::ptr; -use std::sync::{Arc, Mutex}; +use std::sync::Arc; use Error; use OomError; @@ -188,7 +188,7 @@ impl DeviceMemory { Ok(MappedDeviceMemory { memory: mem, - pointer: Mutex::new(ptr), + pointer: ptr, coherent: coherent, }) } @@ -283,7 +283,7 @@ impl Drop for DeviceMemory { /// ``` pub struct MappedDeviceMemory { memory: DeviceMemory, - pointer: Mutex<*mut c_void>, + pointer: *mut c_void, coherent: bool, } @@ -306,29 +306,6 @@ impl MappedDeviceMemory { self.memory } - pub fn disable_map(&self) { - unsafe { - let device = self.memory.device(); - let vk = device.pointers(); - vk.UnmapMemory(device.internal_object(), self.memory.memory); - } - } - - pub fn activate_map(&self) { - unsafe{ - let device = self.memory.device(); - let vk = device.pointers(); - let mut ptr = self.pointer.lock().unwrap(); - check_errors(vk.MapMemory(device.internal_object(), - self.memory.memory, - 0, - self.memory.size as vk::DeviceSize, - 0, /* reserved flags */ - &mut *ptr)).expect("Failed to remap"); - } - - } - /// Gives access to the content of the memory. /// /// This function takes care of calling `vkInvalidateMappedMemoryRanges` and @@ -348,8 +325,7 @@ impl MappedDeviceMemory { where T: Content { let vk = self.memory.device().pointers(); - let ptr: *const c_void = *self.pointer.lock().unwrap(); - let pointer = T::ref_from_ptr((ptr as usize + range.start) as *mut _, + let pointer = T::ref_from_ptr((self.pointer as usize + range.start) as *mut _, range.end - range.start) .unwrap(); // TODO: error