xref: /aosp_15_r20/external/crosvm/rutabaga_gfx/src/lib.rs (revision bb4ee6a4ae7042d18b07a98463b9c8b875e44b39)
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