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 virgl_renderer; 24 25 pub use crate::rutabaga_core::calculate_capset_mask; 26 pub use crate::rutabaga_core::calculate_capset_names; 27 pub use crate::rutabaga_core::Rutabaga; 28 pub use crate::rutabaga_core::RutabagaBuilder; 29 pub use crate::rutabaga_gralloc::DrmFormat; 30 pub use crate::rutabaga_gralloc::ImageAllocationInfo; 31 pub use crate::rutabaga_gralloc::ImageMemoryRequirements; 32 pub use crate::rutabaga_gralloc::RutabagaGralloc; 33 pub use crate::rutabaga_gralloc::RutabagaGrallocBackendFlags; 34 pub use crate::rutabaga_gralloc::RutabagaGrallocFlags; 35 pub use crate::rutabaga_os::AsBorrowedDescriptor as RutabagaAsBorrowedDescriptor; 36 pub use crate::rutabaga_os::AsRawDescriptor; 37 pub use crate::rutabaga_os::FromRawDescriptor as RutabagaFromRawDescriptor; 38 pub use crate::rutabaga_os::IntoRawDescriptor as RutabagaIntoRawDescriptor; 39 pub use crate::rutabaga_os::MappedRegion as RutabagaMappedRegion; 40 pub use crate::rutabaga_os::OwnedDescriptor as RutabagaDescriptor; 41 pub use crate::rutabaga_os::RawDescriptor as RutabagaRawDescriptor; 42 pub use crate::rutabaga_utils::*; 43 44 pub mod kumquat_support { 45 pub use crate::bytestream::Reader as RutabagaReader; 46 pub use crate::bytestream::Writer as RutabagaWriter; 47 pub use crate::ipc::kumquat_gpu_protocol; 48 pub use crate::ipc::RutabagaStream; 49 pub use crate::rutabaga_os::Event as RutabagaEvent; 50 pub use crate::rutabaga_os::Listener as RutabagaListener; 51 pub use crate::rutabaga_os::MemoryMapping as RutabagaMemoryMapping; 52 pub use crate::rutabaga_os::SharedMemory as RutabagaSharedMemory; 53 pub use crate::rutabaga_os::Tube as RutabagaTube; 54 pub use crate::rutabaga_os::TubeType as RutabagaTubeType; 55 pub use crate::rutabaga_os::WaitContext as RutabagaWaitContext; 56 pub use crate::rutabaga_os::WaitTimeout as RutabagaWaitTimeout; 57 pub use crate::rutabaga_os::WritePipe as RutabagaWritePipe; 58 pub use crate::rutabaga_os::DEFAULT_RAW_DESCRIPTOR as RUTABAGA_DEFAULT_RAW_DESCRIPTOR; 59 } 60