pub trait MappableCompositor: Compositor {
// Required methods
fn map_tile(
&mut self,
id: NativeTileId,
dirty_rect: DeviceIntRect,
valid_rect: DeviceIntRect,
) -> Option<MappedTileInfo>;
fn unmap_tile(&mut self);
fn lock_composite_surface(
&mut self,
ctx: *mut c_void,
external_image_id: ExternalImageId,
composite_info: *mut SWGLCompositeSurfaceInfo,
) -> bool;
fn unlock_composite_surface(
&mut self,
ctx: *mut c_void,
external_image_id: ExternalImageId,
);
}
Expand description
A Compositor variant that supports mapping tiles into CPU memory.
Required Methods§
Sourcefn map_tile(
&mut self,
id: NativeTileId,
dirty_rect: DeviceIntRect,
valid_rect: DeviceIntRect,
) -> Option<MappedTileInfo>
fn map_tile( &mut self, id: NativeTileId, dirty_rect: DeviceIntRect, valid_rect: DeviceIntRect, ) -> Option<MappedTileInfo>
Map a tile’s underlying buffer so it can be used as the backing for a SWGL framebuffer. This is intended to be a replacement for ‘bind’ in any compositors that intend to directly interoperate with SWGL while supporting some form of native layers.
Sourcefn unmap_tile(&mut self)
fn unmap_tile(&mut self)
Unmap a tile that was was previously mapped via map_tile to signal that SWGL is done rendering to the buffer.