1 // Copyright 2018 The ChromiumOS Authors 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 //! A crate for handling 2D and 3D virtio-gpu hypercalls, along with graphics 6 //! swapchain allocation and mapping. 7 8 mod cross_domain; 9 mod generated; 10 mod gfxstream; 11 mod gfxstream_stub; 12 #[macro_use] 13 mod macros; 14 mod bytestream; 15 mod ipc; 16 #[cfg(any(feature = "gfxstream", feature = "virgl_renderer"))] 17 mod renderer_utils; 18 mod rutabaga_2d; 19 mod rutabaga_core; 20 mod rutabaga_gralloc; 21 mod rutabaga_os; 22 mod rutabaga_utils; 23 mod snapshot; 24 mod virgl_renderer; 25 26 pub use crate::rutabaga_core::calculate_capset_mask; 27 pub use crate::rutabaga_core::calculate_capset_names; 28 pub use crate::rutabaga_core::Rutabaga; 29 pub use crate::rutabaga_core::RutabagaBuilder; 30 pub use crate::rutabaga_gralloc::DrmFormat; 31 pub use crate::rutabaga_gralloc::ImageAllocationInfo; 32 pub use crate::rutabaga_gralloc::ImageMemoryRequirements; 33 pub use crate::rutabaga_gralloc::RutabagaGralloc; 34 pub use crate::rutabaga_gralloc::RutabagaGrallocBackendFlags; 35 pub use crate::rutabaga_gralloc::RutabagaGrallocFlags; 36 pub use crate::rutabaga_os::AsBorrowedDescriptor as RutabagaAsBorrowedDescriptor; 37 pub use crate::rutabaga_os::AsRawDescriptor; 38 pub use crate::rutabaga_os::FromRawDescriptor as RutabagaFromRawDescriptor; 39 pub use crate::rutabaga_os::IntoRawDescriptor as RutabagaIntoRawDescriptor; 40 pub use crate::rutabaga_os::MappedRegion as RutabagaMappedRegion; 41 pub use crate::rutabaga_os::OwnedDescriptor as RutabagaDescriptor; 42 pub use crate::rutabaga_os::RawDescriptor as RutabagaRawDescriptor; 43 pub use crate::rutabaga_utils::*; 44 45 pub mod kumquat_support { 46 pub use crate::bytestream::Reader as RutabagaReader; 47 pub use crate::bytestream::Writer as RutabagaWriter; 48 pub use crate::ipc::kumquat_gpu_protocol; 49 pub use crate::ipc::RutabagaStream; 50 pub use crate::rutabaga_os::Event as RutabagaEvent; 51 pub use crate::rutabaga_os::Listener as RutabagaListener; 52 pub use crate::rutabaga_os::MemoryMapping as RutabagaMemoryMapping; 53 pub use crate::rutabaga_os::SharedMemory as RutabagaSharedMemory; 54 pub use crate::rutabaga_os::Tube as RutabagaTube; 55 pub use crate::rutabaga_os::TubeType as RutabagaTubeType; 56 pub use crate::rutabaga_os::WaitContext as RutabagaWaitContext; 57 pub use crate::rutabaga_os::WaitTimeout as RutabagaWaitTimeout; 58 pub use crate::rutabaga_os::WritePipe as RutabagaWritePipe; 59 pub use crate::rutabaga_os::DEFAULT_RAW_DESCRIPTOR as RUTABAGA_DEFAULT_RAW_DESCRIPTOR; 60 } 61