Crate rutabaga_gfx

Source
Expand description

A crate for handling 2D and 3D virtio-gpu hypercalls, along with graphics swapchain allocation and mapping.

Macros§

checked_arithmetic
checked_range

Structs§

DeviceId
A unique identifier for a device.
DrmFormat
A fourcc format identifier.
GfxstreamFlags
gfxstream flag struct.
ImageAllocationInfo
Information required to allocate a swapchain image.
ImageMemoryRequirements
The memory requirements, compression and layout of a swapchain image.
Resource3DInfo
Metadata associated with a swapchain, video or camera image.
ResourceCreate3D
ResourceCreateBlob
Rutabaga
The global libary handle used to query capability sets, create resources and contexts.
RutabagaBuilder
Rutabaga Builder, following the Rust builder pattern.
RutabagaChannel
Information needed to open an OS-specific RutabagaConnection (TBD). Only Linux hosts are considered at the moment.
RutabagaDebug
Convenience struct for debug data
RutabagaDescriptor
Wraps a RawDescriptor and safely closes it when self falls out of scope.
RutabagaFence
Convenience struct for Rutabaga fences
RutabagaGralloc
A container for a variety of allocation backends.
RutabagaGrallocFlags
Usage flags for constructing a buffer object.
RutabagaHandle
Handle to OS-specific memory or synchronization objects.
RutabagaHandler
RutabagaIovec
Represents a buffer. base contains the address of a buffer, while len contains the length of the buffer.
RutabagaMapping
Transfer3D
Transfers {to, from} 1D buffers, 2D textures, 3D textures, and cubemaps.
VirglRendererFlags
virglrenderer flag struct.
VulkanInfo
Memory index and physical device id of the associated VkDeviceMemory.

Enums§

RutabagaComponentType
Enumeration of possible rutabaga components.
RutabagaError
An error generated while using this crate.
RutabagaWsi

Constants§

RUTABAGA_BLOB_FLAG_USE_CROSS_DEVICE
RUTABAGA_BLOB_FLAG_USE_MAPPABLE
RUTABAGA_BLOB_FLAG_USE_SHAREABLE
RUTABAGA_BLOB_MEM_GUEST
Blob resource creation parameters.
RUTABAGA_BLOB_MEM_HOST3D
RUTABAGA_BLOB_MEM_HOST3D_GUEST
RUTABAGA_CAPSET_CROSS_DOMAIN
RUTABAGA_CAPSET_DRM
RUTABAGA_CAPSET_GFXSTREAM_COMPOSER
RUTABAGA_CAPSET_GFXSTREAM_GLES
RUTABAGA_CAPSET_GFXSTREAM_MAGMA
RUTABAGA_CAPSET_GFXSTREAM_VULKAN
RUTABAGA_CAPSET_VENUS
RUTABAGA_CAPSET_VIRGL
Rutabaga capsets.
RUTABAGA_CAPSET_VIRGL2
RUTABAGA_CHANNEL_TYPE_CAMERA
RUTABAGA_CHANNEL_TYPE_WAYLAND
Rutabaga channel types
RUTABAGA_CONTEXT_INIT_CAPSET_ID_MASK
Rutabaga context init capset id mask.
RUTABAGA_DEBUG_ERROR
Rutabaga debug types
RUTABAGA_DEBUG_INFO
RUTABAGA_DEBUG_WARNING
RUTABAGA_FENCE_HANDLE_TYPE_OPAQUE_FD
RUTABAGA_FENCE_HANDLE_TYPE_OPAQUE_WIN32
RUTABAGA_FENCE_HANDLE_TYPE_SYNC_FD
RUTABAGA_FENCE_HANDLE_TYPE_ZIRCON
RUTABAGA_FLAG_FENCE
Rutabaga flags for creating fences.
RUTABAGA_FLAG_FENCE_SHAREABLE
RUTABAGA_FLAG_INFO_RING_IDX
RUTABAGA_MAP_ACCESS_MASK
Access flags (not in virtio_gpu spec)
RUTABAGA_MAP_ACCESS_READ
RUTABAGA_MAP_ACCESS_RW
RUTABAGA_MAP_ACCESS_WRITE
RUTABAGA_MAP_CACHE_CACHED
RUTABAGA_MAP_CACHE_MASK
Mapped memory caching flags (see virtio_gpu spec)
RUTABAGA_MAP_CACHE_UNCACHED
RUTABAGA_MAP_CACHE_WC
RUTABAGA_MEM_HANDLE_TYPE_DMABUF
RUTABAGA_MEM_HANDLE_TYPE_OPAQUE_FD
Rutabaga handle types (memory and sync in same namespace)
RUTABAGA_MEM_HANDLE_TYPE_OPAQUE_WIN32
RUTABAGA_MEM_HANDLE_TYPE_SHM
RUTABAGA_MEM_HANDLE_TYPE_ZIRCON
RUTABAGA_PIPE_BIND_RENDER_TARGET
RUTABAGA_PIPE_TEXTURE_2D
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§

AsRawDescriptor
Trait for returning the underlying raw descriptor, without giving up ownership of the descriptor.
RutabagaFromRawDescriptor
RutabagaIntoRawDescriptor
Trait for forfeiting ownership of the current raw descriptor, and returning the raw descriptor
RutabagaMappedRegion
Safety

Functions§

calculate_capset_mask
calculate_capset_names

Type Aliases§

RutabagaDebugHandler
RutabagaFenceHandler
RutabagaResult
The result of an operation in this crate.