11#include <drm_fourcc.h>
25 m_feedbacks.push_back(std::move(feedback));
31 for (
const auto &feedback : m_feedbacks) {
32 feedback->presented(refreshDuration, timestamp, mode);
53 m_presentationMode = mode;
58 return m_presentationMode;
93 return QHash<uint32_t, QList<uint64_t>>{{DRM_FORMAT_XRGB8888, QList<uint64_t>{DRM_FORMAT_MOD_LINEAR}}};
108#include "moc_renderbackend.cpp"
OutputFrame(RenderLoop *loop)
std::optional< ContentType > contentType() const
PresentationMode presentationMode() const
void addFeedback(std::unique_ptr< PresentationFeedback > &&feedback)
void setPresentationMode(PresentationMode mode)
void setContentType(ContentType type)
void presented(std::chrono::nanoseconds refreshDuration, std::chrono::nanoseconds timestamp, std::chrono::nanoseconds renderTime, PresentationMode mode)
virtual bool testImportBuffer(GraphicsBuffer *buffer)
virtual GraphicsBufferAllocator * graphicsBufferAllocator() const
virtual OverlayWindow * overlayWindow() const
virtual std::unique_ptr< SurfaceTexture > createSurfaceTextureX11(SurfacePixmapX11 *pixmap)
virtual bool checkGraphicsReset()
RenderBackend(QObject *parent=nullptr)
virtual OutputLayer * cursorLayer(Output *output)
virtual QHash< uint32_t, QList< uint64_t > > supportedFormats() const
virtual std::unique_ptr< SurfaceTexture > createSurfaceTextureWayland(SurfacePixmap *pixmap)
static RenderLoopPrivate * get(RenderLoop *loop)
void notifyFrameCompleted(std::chrono::nanoseconds timestamp, std::chrono::nanoseconds renderTime, PresentationMode mode=PresentationMode::VSync)