diff options
| author | Vaxry <43317083+vaxerski@users.noreply.github.com> | 2024-12-22 17:12:09 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-12-22 17:12:09 +0100 |
| commit | e536b02248f370971716b744968776f6880528be (patch) | |
| tree | 5e5755b7894eb44f9259cfe0e1d97899148a8a60 /src/managers/PointerManager.cpp | |
| parent | 1cc1a46c2e154a27750b81307040d3bf7ff0f64f (diff) | |
Renderer: rewrite render scheduling (#8683)
This rewrites renderer scheduling. Occlusion is now unified in a new Pass type.
Diffstat (limited to 'src/managers/PointerManager.cpp')
| -rw-r--r-- | src/managers/PointerManager.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/managers/PointerManager.cpp b/src/managers/PointerManager.cpp index 3e3ece98..bc166825 100644 --- a/src/managers/PointerManager.cpp +++ b/src/managers/PointerManager.cpp @@ -8,6 +8,7 @@ #include "../protocols/core/Compositor.hpp" #include "../protocols/core/Seat.hpp" #include "eventLoop/EventLoopManager.hpp" +#include "../render/pass/TexPassElement.hpp" #include "SeatManager.hpp" #include <cstring> #include <gbm.h> @@ -551,7 +552,15 @@ void CPointerManager::renderSoftwareCursorsFor(PHLMONITOR pMonitor, timespec* no box.x = std::round(box.x); box.y = std::round(box.y); - g_pHyprOpenGL->renderTextureWithDamage(texture, &box, &damage, 1.F, 0, false, false, currentCursorImage.waitTimeline, currentCursorImage.waitPoint); + CTexPassElement::SRenderData data; + data.tex = texture; + data.box = box.round(); + data.syncTimeline = currentCursorImage.waitTimeline; + data.syncPoint = currentCursorImage.waitPoint; + g_pHyprRenderer->m_sRenderPass.add(makeShared<CTexPassElement>(data)); + + currentCursorImage.waitTimeline.reset(); + currentCursorImage.waitPoint = 0; if (currentCursorImage.surface) currentCursorImage.surface->resource()->frame(now); |
