diff options
| author | UjinT34 <41110182+UjinT34@users.noreply.github.com> | 2026-03-07 16:47:13 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-03-07 13:47:13 +0000 |
| commit | 73fca55e7c9dd19222c8c0cc331ddebf4c4bfddf (patch) | |
| tree | 58d0905be7e4f854ab5c8daf869b0bef210d99f1 /src/render/Renderer.hpp | |
| parent | 966f20d305345b3042dc1d37a1dd8833f3a4783b (diff) | |
renderer: move m_renderData to renderer (#13474)
Diffstat (limited to 'src/render/Renderer.hpp')
| -rw-r--r-- | src/render/Renderer.hpp | 48 |
1 files changed, 48 insertions, 0 deletions
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<IFramebuffer> currentFB = nullptr; // current rendering to + SP<IFramebuffer> mainFB = nullptr; // main to render to + SP<IFramebuffer> 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<CWLSurfaceResource> 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<CWLSurfaceResource> 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<IRenderbuffer> getOrCreateRenderbuffer(SP<Aquamarine::IBuffer> buffer, uint32_t fmt); // TODO? move to protected and fix CPointerManager::renderHWCursorBuffer + SRenderData m_renderData; // TODO? move to protected and fix CRenderPass SP<ITexture> m_screencopyDeniedTexture; // TODO? make readonly uint m_failedAssetsNo = 0; // TODO? make readonly bool m_reloadScreenShader = true; // at launch it can be set |
