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

RRSCorecore () 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.
 
RCorecore () const noexcept
 Returns the RCore instance that owns this device.
 
RGLDeviceasGL () noexcept
 Attempts to cast this device to an RGLDevice.
 
RRSDeviceasRS () noexcept
 Attempts to cast this device to an RRSDevice.
 
RVKDeviceasVK () noexcept
 Attempts to cast this device to an RVKDevice.
 
const Capscaps () 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.