diff options
author | tcmal <me@aria.rip> | 2024-08-25 17:44:24 +0100 |
---|---|---|
committer | tcmal <me@aria.rip> | 2024-08-25 17:44:24 +0100 |
commit | 4f068467c4954fb79e6ce297ae1ac0fdd2bdf16a (patch) | |
tree | 4b3ec44d068f71ab80e8c85a6515a8862407ac56 /stockton-skeleton/src/buffers | |
parent | 5e6396ed225be9a9991705de10174b3cf085f8f0 (diff) |
WIP refactor(skeleton): type state for context
also some api improvements
closes #2
related: #7
Diffstat (limited to 'stockton-skeleton/src/buffers')
-rw-r--r-- | stockton-skeleton/src/buffers/image.rs | 16 | ||||
-rw-r--r-- | stockton-skeleton/src/buffers/staged.rs | 4 | ||||
-rw-r--r-- | stockton-skeleton/src/buffers/staging.rs | 4 |
3 files changed, 8 insertions, 16 deletions
diff --git a/stockton-skeleton/src/buffers/image.rs b/stockton-skeleton/src/buffers/image.rs index 4278585..820561f 100644 --- a/stockton-skeleton/src/buffers/image.rs +++ b/stockton-skeleton/src/buffers/image.rs @@ -73,7 +73,7 @@ impl<P: MemoryPool> BoundImageView<P> { .write() .map_err(|_| LockPoisoned::MemoryPool)?; - let mut device = context.device().write().map_err(|_| LockPoisoned::Device)?; + let mut device = context.lock_device()?; let row_alignment_mask = context .physical_device_properties() .limits @@ -149,11 +149,7 @@ impl<P: MemoryPool> BoundImageView<P> { /// Destroy all vulkan objects. Must be called before dropping. pub fn deactivate_with_context(self, context: &mut RenderingContext) { - let mut device = context - .device() - .write() - .map_err(|_| LockPoisoned::Device) - .unwrap(); + let mut device = context.lock_device().unwrap(); let mut pool = context .existing_memory_pool::<P>() .unwrap() @@ -227,7 +223,7 @@ impl<P: MemoryPool> SampledImage<P> { .write() .map_err(|_| LockPoisoned::MemoryPool)?; - let mut device = context.device().write().map_err(|_| LockPoisoned::Device)?; + let mut device = context.lock_device()?; let row_alignment_mask = context .physical_device_properties() .limits @@ -267,11 +263,7 @@ impl<P: MemoryPool> SampledImage<P> { /// Destroy all vulkan objects. Must be called before dropping. pub fn deactivate_with_context(self, context: &mut RenderingContext) { - let mut device = context - .device() - .write() - .map_err(|_| LockPoisoned::Device) - .unwrap(); + let mut device = context.lock_device().unwrap(); let mut pool = context .existing_memory_pool::<P>() .unwrap() diff --git a/stockton-skeleton/src/buffers/staged.rs b/stockton-skeleton/src/buffers/staged.rs index ec42102..2ece045 100644 --- a/stockton-skeleton/src/buffers/staged.rs +++ b/stockton-skeleton/src/buffers/staged.rs @@ -56,7 +56,7 @@ where context.ensure_memory_pool::<SP>()?; // Lock the device and memory pools - let mut device = context.device().write().map_err(|_| LockPoisoned::Device)?; + let mut device = context.lock_device()?; let mut mempool = context .existing_memory_pool::<P>() .unwrap() @@ -111,7 +111,7 @@ where /// Destroy all Vulkan objects. Should be called before dropping. pub fn deactivate(mut self, context: &mut RenderingContext) { unsafe { - let device = &mut *context.device().write().unwrap(); + let device = &mut *context.lock_device().unwrap(); self.staged_memory.unmap(device).unwrap(); diff --git a/stockton-skeleton/src/buffers/staging.rs b/stockton-skeleton/src/buffers/staging.rs index 44d0c2d..35cac00 100644 --- a/stockton-skeleton/src/buffers/staging.rs +++ b/stockton-skeleton/src/buffers/staging.rs @@ -27,7 +27,7 @@ where pub fn from_context(context: &mut RenderingContext, size: u64) -> Result<Self> { context.ensure_memory_pool::<P>()?; - let mut device = context.device().write().map_err(|_| LockPoisoned::Device)?; + let mut device = context.lock_device()?; let mut mempool = context .existing_memory_pool() .unwrap() @@ -70,7 +70,7 @@ where } pub fn deactivate_context(self, context: &mut RenderingContext) { - let mut device = context.device().write().unwrap(); + let mut device = context.lock_device().unwrap(); let mut mempool = context.existing_memory_pool().unwrap().write().unwrap(); self.deactivate_device_pool(&mut device, &mut mempool) |