Ream v0.1.0-1
C++ graphics library for Linux
Loading...
Searching...
No Matches
Public Member Functions | List of all members
RRSDevice Class Reference

Raster (software) implementation of RDevice. More...

#include <RRSDevice.h>

+ Inheritance diagram for RRSDevice:

Public Member Functions

RRSCore & core () noexcept
 Returns the owning Raster core.
 
void wait () noexcept override
 No-op for the Raster backend.
 
- Public Member Functions inherited from RDevice
 ~RDevice () noexcept
 Destructor.
 
int drmFd () const noexcept
 Returns the primary DRM file descriptor.
 
int drmFdReadOnly () const noexcept
 Returns the read-only DRM file descriptor.
 
void * drmUserData () const noexcept
 Returns the user data associated with the DRM device.
 
dev_t id () const noexcept
 Returns the device id (dev_t) of the DRM node.
 
const std::string & drmNode () const noexcept
 Returns the path of the DRM node.
 
const std::string & drmDriverName () const noexcept
 Returns the DRM driver name.
 
RDriver drmDriver () const noexcept
 Returns the detected DRM driver.
 
RCore & core () const noexcept
 Returns the RCore instance that owns this device.
 
RGLDevice * asGL () noexcept
 Attempts to cast this device to an RGLDevice.
 
RRSDevice * asRS () noexcept
 Attempts to cast this device to an RRSDevice.
 
RVKDevice * asVK () noexcept
 Attempts to cast this device to an RVKDevice.
 
const Caps & caps () const noexcept
 Returns the capabilities of this device.
 
- Public Member Functions inherited from RObject
 RObject ()=default
 Constructs a default RObject.
 

Additional Inherited Members

- Public Attributes inherited from RDevice
CZLogger log { RLog }
 Logger for messages related to this device.
 

Detailed Description

Raster (software) implementation of RDevice.

RRSDevice is a CPU software-rendering device owned by RRSCore, and can be obtained from an RDevice via asRS(). Depending on the platform it wraps a Wayland connection (no DRM node), a DRM node (opened for dumb-buffer allocation and GBM), or a pure offscreen software device. Its supported texture/render formats are the intersection of the Skia- and DRM-supported formats, always with linear layout.

Member Function Documentation

◆ core()

RRSCore & core ( )
inlinenoexcept

Returns the owning Raster core.

◆ wait()

void wait ( )
inlineoverridevirtualnoexcept

No-op for the Raster backend.

Software rendering is synchronous, so there is nothing to wait on.

Implements RDevice.