Crate rutabaga_gfx
source Β·Expand description
A crate for handling 2D and 3D virtio-gpu hypercalls, along with graphics swapchain allocation and mapping.
ModulesΒ§
- bytestream π
- cross_domain πThe cross-domain component type, specialized for allocating and sharing resources across domain boundaries.
- generated π
- gfxstream πgfxstream: Handles 3D virtio-gpu hypercalls using gfxstream.
- gfxstream_stub πStub impplementation of the native interface of gfxstream_backend.so.
- ipc π
- macros πMacros for rutabaga_gfx.
- renderer_utils πrenderer_utils: Utility functions and structs used by virgl_renderer and gfxstream.
- rutabaga_2d πrutabaga_2d: Handles 2D virtio-gpu hypercalls.
- rutabaga_core πrutabaga_core: Cross-platform, Rust-based, Wayland and Vulkan centric GPU virtualization.
- rutabaga_gralloc πThis module implements cross-platform allocation of window system buffers. In addition, it may perform mappings of GPU buffers. This is based on βgrallocβ, a well-known Android hardware abstaction layer (HAL).
- rutabaga_os π
- rutabaga_utils πrutabaga_utils: Utility enums, structs, and implementations needed by the rest of the crate.
- snapshot π
- virgl_renderer πvirgl_renderer: Handles 3D virtio-gpu hypercalls using virglrenderer. External code found at https://gitlab.freedesktop.org/virgl/virglrenderer/.
MacrosΒ§
StructsΒ§
- A unique identifier for a device.
- A fourcc format identifier.
- gfxstream flag struct.
- Information required to allocate a swapchain image.
- The memory requirements, compression and layout of a swapchain image.
- Metadata associated with a swapchain, video or camera image.
- The global libary handle used to query capability sets, create resources and contexts.
- Rutabaga Builder, following the Rust builder pattern.
- Information needed to open an OS-specific RutabagaConnection (TBD). Only Linux hosts are considered at the moment.
- Convenience struct for debug data
- An error generated while using this crate.
- Convenience struct for Rutabaga fences
- A container for a variety of allocation backends.
- Usage flags for constructing rutabaga gralloc backend
- Usage flags for constructing a buffer object.
- Handle to OS-specific memory or synchronization objects.
- Import Data for resource_import
- Represents a buffer.
base
contains the address of a buffer, whilelen
contains the length of the buffer. - Transfers {to, from} 1D buffers, 2D textures, 3D textures, and cubemaps.
- virglrenderer flag struct.
- Memory index and physical device id of the associated VkDeviceMemory.
EnumsΒ§
- Enumeration of possible rutabaga components.
- A list specifying general categories of rutabaga_gfx error.
ConstantsΒ§
- Blob resource creation parameters.
- Rutabaga capsets.
- Rutabaga channel types
- Rutabaga context init capset id mask.
- Rutabaga debug types
- Rutabaga flags for creating fences.
- Rutabaga handle types (memory and sync in same namespace)
- Rutabaga import flags
- Access flags (not in virtio_gpu spec)
- Mapped memory caching flags (see virtio_gpu spec)
- 3D resource creation parameters. Also used to create 2D resource. Constants based on Mesaβs (internal) Gallium interface. Not in the virtio-gpu spec, but should be since dumb resources canβt work with gfxstream/virglrenderer without this.
TraitsΒ§
- Trait for returning the underlying raw descriptor, without giving up ownership of the descriptor.
- Trait for forfeiting ownership of the current raw descriptor, and returning the raw descriptor
- Safety
FunctionsΒ§
Type AliasesΒ§
- The result of an operation in this crate.