diff options
| author | Vaxry <43317083+vaxerski@users.noreply.github.com> | 2025-09-22 14:01:59 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-09-22 13:01:59 +0100 |
| commit | 70a7047ee175d2e7fca1575d50a3738ac40fd2c6 (patch) | |
| tree | 8371f4e111c1228c7f293ca094ebf24525d57080 /src/render/Renderer.cpp | |
| parent | 26f293523ad6b7c8120b2e21a1dd6d0e5b512863 (diff) | |
renderer: fix uv scaling detection (#11789)
Diffstat (limited to 'src/render/Renderer.cpp')
| -rw-r--r-- | src/render/Renderer.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index af983926..65d8a074 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -1125,7 +1125,7 @@ void CHyprRenderer::calculateUVForSurface(PHLWINDOW pWindow, SP<CWLSurfaceResour // there is no way to fix this if that's the case if (*PEXPANDEDGES) { const auto MONITOR_WL_SCALE = std::ceil(pMonitor->m_scale); - const bool SCALE_UNAWARE = MONITOR_WL_SCALE != pSurface->m_current.scale && !pSurface->m_current.viewport.hasDestination; + const bool SCALE_UNAWARE = MONITOR_WL_SCALE == pSurface->m_current.scale || !pSurface->m_current.viewport.hasDestination; const auto EXPECTED_SIZE = ((pSurface->m_current.viewport.hasDestination ? pSurface->m_current.viewport.destination : (pSurface->m_current.viewport.hasSource ? pSurface->m_current.viewport.source.size() / pSurface->m_current.scale : projSize)) * @@ -1133,7 +1133,7 @@ void CHyprRenderer::calculateUVForSurface(PHLWINDOW pWindow, SP<CWLSurfaceResour .round(); const auto RATIO = projSize / EXPECTED_SIZE; - if (!SCALE_UNAWARE) { + if (!SCALE_UNAWARE || MONITOR_WL_SCALE == 1) { if (*PEXPANDEDGES && !SCALE_UNAWARE && (RATIO.x > 1 || RATIO.y > 1)) { const auto FIX = RATIO.clamp(Vector2D{1, 1}, Vector2D{1000000, 1000000}); uvBR = uvBR * FIX; |
