summaryrefslogtreecommitdiff
path: root/src/render/Renderer.cpp
diff options
context:
space:
mode:
authorVaxry <43317083+vaxerski@users.noreply.github.com>2025-09-22 14:01:59 +0200
committerGitHub <noreply@github.com>2025-09-22 13:01:59 +0100
commit70a7047ee175d2e7fca1575d50a3738ac40fd2c6 (patch)
tree8371f4e111c1228c7f293ca094ebf24525d57080 /src/render/Renderer.cpp
parent26f293523ad6b7c8120b2e21a1dd6d0e5b512863 (diff)
renderer: fix uv scaling detection (#11789)
Diffstat (limited to 'src/render/Renderer.cpp')
-rw-r--r--src/render/Renderer.cpp4
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;