Crate rutabaga_gfx
source ·Expand description
A crate for handling 2D and 3D virtio-gpu hypercalls, along with graphics swapchain allocation and mapping.
Modules§
- The cross-domain component type, specialized for allocating and sharing resources across domain boundaries.
- gfxstream: Handles 3D virtio-gpu hypercalls using gfxstream.
- Stub impplementation of the native interface of gfxstream_backend.so.
- ipc 🔒
- macros 🔒Macros for rutabaga_gfx.
- renderer_utils: Utility functions and structs used by virgl_renderer and gfxstream.
- rutabaga_2d: Handles 2D virtio-gpu hypercalls.
- rutabaga_core: Cross-platform, Rust-based, Wayland and Vulkan centric GPU virtualization.
- 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_utils: Utility enums, structs, and implementations needed by the rest of the crate.
- 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
- 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.
- 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.
- An error generated while using this crate.
Constants§
- Blob resource creation parameters.
- Rutabaga capsets.
- Rutabaga channel types
- Rutabaga context init capset id mask.
- Rutabaga debug types
- Rutabaga flags for creating fences.
- Access flags (not in virtio_gpu spec)
- Mapped memory caching flags (see virtio_gpu spec)
- Rutabaga handle types (memory and sync in same namespace)
- 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.