diff options
| author | Vaxry <43317083+vaxerski@users.noreply.github.com> | 2023-11-24 10:54:21 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-11-24 10:54:21 +0000 |
| commit | 2ebfd0c7456eff7e9c03d379d1dfbc611dc26672 (patch) | |
| tree | 9fa0d65224283e717ef7a06bb60870a5d319e13e /src/helpers/Monitor.hpp | |
| parent | e40e486f61f2643578b9977b86f408799dbc75fd (diff) | |
renderer: Move to a full Hyprland GL rendering pipeline (#3920)
Also updates wlroots
Diffstat (limited to 'src/helpers/Monitor.hpp')
| -rw-r--r-- | src/helpers/Monitor.hpp | 54 |
1 files changed, 28 insertions, 26 deletions
diff --git a/src/helpers/Monitor.hpp b/src/helpers/Monitor.hpp index 2aa7e7eb..f354ca6d 100644 --- a/src/helpers/Monitor.hpp +++ b/src/helpers/Monitor.hpp @@ -50,32 +50,33 @@ class CMonitor { drmModeModeInfo customDrmMode = {}; // WLR stuff - wlr_damage_ring damage; - wlr_output* output = nullptr; - float refreshRate = 60; - int framesToSkip = 0; - int forceFullFrames = 0; - bool noFrameSchedule = false; - bool scheduledRecalc = false; - wl_output_transform transform = WL_OUTPUT_TRANSFORM_NORMAL; - bool gammaChanged = false; - float xwaylandScale = 1.f; - - bool dpmsStatus = true; - bool vrrActive = false; // this can be TRUE even if VRR is not active in the case that this display does not support it. - bool enabled10bit = false; // as above, this can be TRUE even if 10 bit failed. - bool createdByUser = false; - uint32_t drmFormat = DRM_FORMAT_INVALID; - bool isUnsafeFallback = false; - - bool pendingFrame = false; // if we schedule a frame during rendering, reschedule it after - bool renderingActive = false; - - wl_event_source* renderTimer = nullptr; // for RAT - bool RATScheduled = false; - CTimer lastPresentationTimer; - - SMonitorRule activeMonitorRule; + wlr_damage_ring damage; + wlr_output* output = nullptr; + float refreshRate = 60; + int framesToSkip = 0; + int forceFullFrames = 0; + bool noFrameSchedule = false; + bool scheduledRecalc = false; + wl_output_transform transform = WL_OUTPUT_TRANSFORM_NORMAL; + bool gammaChanged = false; + float xwaylandScale = 1.f; + std::array<float, 9> projMatrix = {0}; + + bool dpmsStatus = true; + bool vrrActive = false; // this can be TRUE even if VRR is not active in the case that this display does not support it. + bool enabled10bit = false; // as above, this can be TRUE even if 10 bit failed. + bool createdByUser = false; + uint32_t drmFormat = DRM_FORMAT_INVALID; + bool isUnsafeFallback = false; + + bool pendingFrame = false; // if we schedule a frame during rendering, reschedule it after + bool renderingActive = false; + + wl_event_source* renderTimer = nullptr; // for RAT + bool RATScheduled = false; + CTimer lastPresentationTimer; + + SMonitorRule activeMonitorRule; // mirroring CMonitor* pMirrorOf = nullptr; @@ -123,6 +124,7 @@ class CMonitor { void setSpecialWorkspace(const int& id); void moveTo(const Vector2D& pos); Vector2D middle(); + void updateMatrix(); bool m_bEnabled = false; bool m_bRenderingInitPassed = false; |
