Loading...
Searching...
No Matches
KmsOutputNode.hpp
Go to the documentation of this file.
1#pragma once
2
42#include <Gfx/Graph/OutputNode.hpp>
43
44#include <score_plugin_gfx_export.h>
45
46#include <cstdint>
47#include <memory>
48#include <string>
49
50namespace score::gfx
51{
52
54{
56 std::string device;
57
59 std::uint32_t connectorId{0};
60
62 std::uint32_t width{0}, height{0};
63 double refreshRate{0.0};
64
67 bool tearing{false};
68
71 std::size_t bufferCount{3};
72
75 bool verbose{true};
76};
77
81class SCORE_PLUGIN_GFX_EXPORT KmsOutputNode : public score::gfx::OutputNode
82{
83public:
84 explicit KmsOutputNode(KmsOutputSettings settings);
85 ~KmsOutputNode() override;
86
87 void setRenderer(std::shared_ptr<RenderList>) override;
88 RenderList* renderer() const override;
89
90 OutputNodeRenderer* createRenderer(RenderList& r) const noexcept override;
91
92 void startRendering() override;
93 void render() override;
94 void stopRendering() override;
95 bool canRender() const override;
96 void onRendererChange() override;
97
98 void createOutput(OutputConfiguration conf) override;
99 void destroyOutput() override;
100 std::shared_ptr<RenderState> renderState() const override;
101
102 Configuration configuration() const noexcept override;
103
106 TextureRenderTarget currentRenderTarget() const noexcept override;
107
109 std::string engagedDescription() const;
110
111 struct Impl;
112
113private:
114 std::unique_ptr<Impl> d;
115};
116
117}
OutputNode scanning out directly through DRM/KMS.
Definition KmsOutputNode.hpp:82
Base class for sink nodes (QWindow, spout, syphon, NDI output, ...)
Definition OutputNode.hpp:54
Definition OutputNode.hpp:36
List of nodes to be rendered to an output.
Definition RenderList.hpp:30
Graphics rendering pipeline for ossia score.
Definition Filter/PreviewWidget.hpp:11
Definition KmsOutputNode.cpp:533
Definition KmsOutputNode.hpp:54
std::uint32_t width
0x0 picks the connector's preferred mode.
Definition KmsOutputNode.hpp:62
std::size_t bufferCount
Definition KmsOutputNode.hpp:71
bool tearing
Definition KmsOutputNode.hpp:67
std::uint32_t connectorId
0 picks the first connected connector.
Definition KmsOutputNode.hpp:59
std::string device
Card node. Empty picks the first one with a connected connector.
Definition KmsOutputNode.hpp:56
bool verbose
Definition KmsOutputNode.hpp:75
Definition OutputNode.hpp:15
Definition OutputNode.hpp:84
Useful abstraction for storing all the data related to a render target.
Definition score-plugin-gfx/Gfx/Graph/Utils.hpp:152