From 73fca55e7c9dd19222c8c0cc331ddebf4c4bfddf Mon Sep 17 00:00:00 2001 From: UjinT34 <41110182+UjinT34@users.noreply.github.com> Date: Sat, 7 Mar 2026 16:47:13 +0300 Subject: renderer: move m_renderData to renderer (#13474) --- src/render/Renderer.hpp | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) (limited to 'src/render/Renderer.hpp') diff --git a/src/render/Renderer.hpp b/src/render/Renderer.hpp index 53ca9f12..70aaca91 100644 --- a/src/render/Renderer.hpp +++ b/src/render/Renderer.hpp @@ -73,6 +73,51 @@ struct SRenderWorkspaceUntilData { PHLWINDOW w; }; +struct SRenderData { + // can be private + Mat3x3 targetProjection; + + // ---------------------- + + // used by public + Vector2D fbSize = {-1, -1}; + PHLMONITORREF pMonitor; + + Mat3x3 projection; + Mat3x3 savedProjection; + Mat3x3 monitorProjection; + + SP currentFB = nullptr; // current rendering to + SP mainFB = nullptr; // main to render to + SP outFB = nullptr; // out to render to (if offloaded, etc) + + CRegion damage; + CRegion finalDamage; // damage used for funal off -> main + + SRenderModifData renderModif; + float mouseZoomFactor = 1.f; + bool mouseZoomUseMouse = true; // true by default + bool useNearestNeighbor = false; + bool blockScreenShader = false; + + Vector2D primarySurfaceUVTopLeft = Vector2D(-1, -1); + Vector2D primarySurfaceUVBottomRight = Vector2D(-1, -1); + + // TODO remove and pass directly + CBox clipBox = {}; // scaled coordinates + CRegion clipRegion; + + uint32_t discardMode = DISCARD_OPAQUE; + float discardOpacity = 0.f; + + PHLLSREF currentLS; + PHLWINDOWREF currentWindow; + WP surface; + + bool transformDamage = true; + bool noSimplify = false; +}; + struct STFRange { float min = 0; float max = 80; @@ -152,7 +197,9 @@ class CHyprRenderer { bool m_directScanoutBlocked = false; void setSurfaceScanoutMode(SP surface, PHLMONITOR monitor); // nullptr monitor resets + void initiateManualCrash(); + const SRenderData& renderData(); bool m_crashingInProgress = false; float m_crashingDistort = 0.5f; @@ -174,6 +221,7 @@ class CHyprRenderer { CRenderPass m_renderPass = {}; SP getOrCreateRenderbuffer(SP buffer, uint32_t fmt); // TODO? move to protected and fix CPointerManager::renderHWCursorBuffer + SRenderData m_renderData; // TODO? move to protected and fix CRenderPass SP m_screencopyDeniedTexture; // TODO? make readonly uint m_failedAssetsNo = 0; // TODO? make readonly bool m_reloadScreenShader = true; // at launch it can be set -- cgit v1.2.3