Crate surfman[][src]

Expand description

Cross-platform GPU device and surface management.

You can use this crate to multithread a graphics application so that rendering happens on multiple threads, sharing textures among them in the most efficient manner. It may also be useful as a lightweight framework for just initializing rendering in native applications. This is in contrast to crates like SDL, GLFW, winit, and Glutin, all of which have a broader focus in that they manage windowing and the event loop as well.

Re-exports

pub use platform::default::connection::Connection;
pub use platform::default::connection::NativeConnection;
pub use platform::default::context::Context;
pub use platform::default::device::Adapter;
pub use platform::default::device::Device;
pub use platform::default::device::NativeDevice;
pub use platform::default::surface::NativeWidget;
pub use platform::default::surface::Surface;
pub use platform::default::surface::SurfaceTexture;
pub use crate::error::Error;
pub use crate::error::WindowingApiError;

Modules

connection

The abstract interface that all connections conform to.

device

The abstract interface that all devices conform to.

error

Various errors that methods can produce.

macros

A macro for use in the top-level crate.

platform

Platform-specific backends.

Macros

declare_surfman

When using surfman, you should place this macro at the top of your crate, like so:

Structs

ContextAttributeFlags

Various flags that control attributes of the context and/or surfaces created from that context.

ContextAttributes

Attributes that control aspects of a context and/or surfaces created from that context.

ContextDescriptor

Information needed to create a context. Some APIs call this a “config” or a “pixel format”.

ContextID

A unique ID among all currently-allocated contexts.

GLVersion

Describes the OpenGL version that is requested when a context is created.

NativeContext

Wrapper for a native EGLContext.

SurfaceID

A unique ID per allocated surface.

SurfaceInfo

Various data about the surface.

SystemSurfaceInfo

Various data about the surface.

Enums

GLApi

The API (OpenGL or OpenGL ES).

SurfaceAccess

Specifies how and if the CPU has direct access to the surface data.

SurfaceType

Information specific to the type of surface: generic or widget.