diff --git a/src/copy_device.rs b/src/copy_device.rs
index 70191dd0..3f34a533 100644
--- a/src/copy_device.rs
+++ b/src/copy_device.rs
@@ -5,7 +5,6 @@ use {
format::{FORMATS, Format},
gfx_api::FdSync,
io_uring::IoUring,
- rect::{Rect, Region},
utils::{
clonecell::CloneCell,
errorfmt::ErrorFmt,
@@ -21,12 +20,10 @@ use {
},
vulkan_core::{
self, VULKAN_API_VERSION, VulkanCoreError, VulkanCoreInstance, device::VulkanDeviceInf,
- map_extension_properties, sync::VulkanDeviceSyncExt,
- timeline_semaphore::VulkanDeviceTimelineSemaphoreExt,
+ map_extension_properties, timeline_semaphore::VulkanDeviceTimelineSemaphoreExt,
},
},
ahash::AHashMap,
- arrayvec::ArrayVec,
ash::{
Device,
ext::{
@@ -35,12 +32,9 @@ use {
},
khr::{external_fence_fd, external_memory_fd, external_semaphore_fd},
vk::{
- self, AccessFlags2, BindImageMemoryInfo, BindImagePlaneMemoryInfo, BlitImageInfo2,
- BufferCopy2, BufferCreateInfo, BufferImageCopy2, BufferMemoryBarrier2,
- BufferUsageFlags, CommandBuffer, CommandBufferAllocateInfo, CommandBufferBeginInfo,
- CommandBufferSubmitInfo, CommandBufferUsageFlags, CommandPoolCreateFlags,
- CommandPoolCreateInfo, CopyBufferInfo2, CopyBufferToImageInfo2, CopyImageInfo2,
- CopyImageToBufferInfo2, DependencyInfo, DeviceCreateInfo, DeviceMemory,
+ self, BindImageMemoryInfo, BindImagePlaneMemoryInfo, BufferCopy2, BufferCreateInfo,
+ BufferImageCopy2, BufferUsageFlags, CommandBuffer, CommandBufferAllocateInfo,
+ CommandPoolCreateFlags, CommandPoolCreateInfo, DeviceCreateInfo, DeviceMemory,
DeviceQueueCreateInfo, DrmFormatModifierPropertiesEXT,
DrmFormatModifierPropertiesListEXT, ExportMemoryAllocateInfo, Extent3D,
ExternalBufferProperties, ExternalFenceFeatureFlags, ExternalFenceHandleTypeFlags,
@@ -48,23 +42,21 @@ use {
ExternalMemoryBufferCreateInfo, ExternalMemoryBufferCreateInfoKHR,
ExternalMemoryFeatureFlags, ExternalMemoryHandleTypeFlags,
ExternalMemoryImageCreateInfo, ExternalSemaphoreFeatureFlags,
- ExternalSemaphoreHandleTypeFlags, ExternalSemaphoreProperties, Filter,
- FormatFeatureFlags, FormatProperties2, ImageAspectFlags, ImageBlit2, ImageCopy2,
- ImageCreateFlags, ImageCreateInfo, ImageDrmFormatModifierExplicitCreateInfoEXT,
- ImageFormatProperties2, ImageLayout, ImageMemoryBarrier2, ImageMemoryRequirementsInfo2,
- ImagePlaneMemoryRequirementsInfo, ImageSubresourceLayers, ImageSubresourceRange,
- ImageTiling, ImageType, ImageUsageFlags, ImportMemoryFdInfoKHR,
- ImportSemaphoreFdInfoKHR, MemoryAllocateInfo, MemoryDedicatedAllocateInfo,
- MemoryFdPropertiesKHR, MemoryGetFdInfoKHR, MemoryPropertyFlags, MemoryRequirements2,
- MemoryType, Offset3D, PhysicalDevice, PhysicalDeviceDrmPropertiesEXT,
+ ExternalSemaphoreHandleTypeFlags, ExternalSemaphoreProperties, FormatFeatureFlags,
+ FormatProperties2, ImageAspectFlags, ImageBlit2, ImageCopy2, ImageCreateFlags,
+ ImageCreateInfo, ImageDrmFormatModifierExplicitCreateInfoEXT, ImageFormatProperties2,
+ ImageLayout, ImageMemoryRequirementsInfo2, ImagePlaneMemoryRequirementsInfo,
+ ImageTiling, ImageType, ImageUsageFlags, ImportMemoryFdInfoKHR, ImportSemaphoreFdInfoKHR,
+ MemoryAllocateInfo, MemoryDedicatedAllocateInfo, MemoryFdPropertiesKHR,
+ MemoryGetFdInfoKHR, MemoryPropertyFlags, MemoryRequirements2, MemoryType,
+ PhysicalDevice, PhysicalDeviceDrmPropertiesEXT,
PhysicalDeviceExternalBufferInfo, PhysicalDeviceExternalFenceInfo,
PhysicalDeviceExternalImageFormatInfoKHR, PhysicalDeviceExternalSemaphoreInfo,
PhysicalDeviceFeatures2, PhysicalDeviceImageDrmFormatModifierInfoEXT,
PhysicalDeviceImageFormatInfo2, PhysicalDeviceProperties2,
PhysicalDeviceSynchronization2Features, PhysicalDeviceTimelineSemaphoreFeatures,
- PipelineStageFlags2, QUEUE_FAMILY_FOREIGN_EXT, Queue, QueueFlags, SampleCountFlags,
- SemaphoreCreateInfo, SemaphoreImportFlags, SemaphoreSubmitInfo, SharingMode,
- SubmitInfo2, SubresourceLayout, WHOLE_SIZE,
+ Queue, QueueFlags, SampleCountFlags, SemaphoreCreateInfo, SemaphoreImportFlags,
+ SharingMode, SubresourceLayout,
},
},
bstr::ByteSlice,
@@ -85,6 +77,7 @@ use {
vk::{Buffer, CommandPool, Image, Semaphore},
};
+mod execute;
mod queue_allocation;
mod registry;
@@ -1275,429 +1268,6 @@ impl CopyDeviceInner {
}
}
-impl CopyDeviceCopy {
- fn ensure_not_busy(&self) -> Result<(), CopyDeviceError> {
- let slf = &*self.inner;
- if let Some(sync) = slf.busy.get()
- && sync.is_unsignaled()
- {
- return Err(CopyDeviceError::Busy);
- }
- slf.busy.take();
- Ok(())
- }
-
- pub fn execute(
- &self,
- sync: Option<&FdSync>,
- region: Option<&Region>,
- ) -> Result