summaryrefslogtreecommitdiff
path: root/src/render/Renderer.cpp
diff options
context:
space:
mode:
authorvaxerski <vaxry@vaxry.net>2023-06-11 21:33:50 +0200
committervaxerski <vaxry@vaxry.net>2023-06-11 21:33:59 +0200
commit64ce06a3536898ddae7146e8f649361ce081c8d6 (patch)
tree160c9342191ccd0ddac36e584344290b1cff5c41 /src/render/Renderer.cpp
parente1edfde539557d175f8c48d94996469426da7c47 (diff)
xwayland: add nearest neighbor filtering as an opt
Diffstat (limited to 'src/render/Renderer.cpp')
-rw-r--r--src/render/Renderer.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp
index 6d995875..939b5783 100644
--- a/src/render/Renderer.cpp
+++ b/src/render/Renderer.cpp
@@ -324,8 +324,14 @@ void CHyprRenderer::renderWindow(CWindow* pWindow, CMonitor* pMonitor, timespec*
for (auto& wd : pWindow->m_dWindowDecorations)
wd->draw(pMonitor, renderdata.alpha * renderdata.fadeAlpha, offset);
+ static auto* const PXWLUSENN = &g_pConfigManager->getConfigValuePtr("xwayland:use_nearest_neighbor")->intValue;
+ if (pWindow->m_bIsX11 && *PXWLUSENN)
+ g_pHyprOpenGL->m_RenderData.useNearestNeighbor = true;
+
wlr_surface_for_each_surface(pWindow->m_pWLSurface.wlr(), renderSurface, &renderdata);
+ g_pHyprOpenGL->m_RenderData.useNearestNeighbor = false;
+
if (renderdata.decorate && pWindow->m_sSpecialRenderData.border) {
static auto* const PROUNDING = &g_pConfigManager->getConfigValuePtr("decoration:rounding")->intValue;