jay-compositor 1.15.0

The Jay compositor
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use crate::eventfd_cache::EventfdCache;
use crate::syncobj::SyncobjCtx;
use crate::vulkan_core::VulkanCoreInstance;
use ash::Device;
use ash::khr::external_fence_fd;
use ash::khr::external_semaphore_fd;
use std::rc::Rc;

pub trait VulkanDeviceInf: Sized {
    fn instance(&self) -> &VulkanCoreInstance;
    fn device(&self) -> &Device;
    fn external_fence_fd(&self) -> &external_fence_fd::Device;
    fn external_semaphore_fd(&self) -> &external_semaphore_fd::Device;
    fn supports_timeline_opaque_export(&self) -> bool;
    fn sync_ctx(&self) -> Option<&Rc<SyncobjCtx>>;
    fn eventfd_cache(&self) -> &Rc<EventfdCache>;
}