From f5af40afce9d453dbf2e5bab739520e1cb80ab12 Mon Sep 17 00:00:00 2001 From: Tom Englund Date: Thu, 10 Jul 2025 10:44:59 +0200 Subject: renderpass: use unique ptr instead of shared ptr lets use unique ptrs instead of refcounting shared ptr when its not needed, use rvalue reference to construct in vector directly. --- src/render/Renderer.cpp | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) (limited to 'src/render/Renderer.cpp') diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index da52eaef..78b6fc07 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -529,7 +529,7 @@ void CHyprRenderer::renderWindow(PHLWINDOW pWindow, PHLMONITOR pMonitor, const T CRectPassElement::SRectData data; data.color = CHyprColor(0, 0, 0, *PDIMAROUND * fullAlpha); data.box = monbox; - m_renderPass.add(makeShared(data)); + m_renderPass.add(makeUnique(data)); } renderdata.pos.x += pWindow->m_floatingOffset.x; @@ -585,7 +585,7 @@ void CHyprRenderer::renderWindow(PHLWINDOW pWindow, PHLMONITOR pMonitor, const T data.blur = true; data.blurA = renderdata.fadeAlpha; data.xray = g_pHyprOpenGL->shouldUseNewBlurOptimizations(nullptr, pWindow); - m_renderPass.add(makeShared(data)); + m_renderPass.add(makeUnique(data)); renderdata.blur = false; } @@ -596,7 +596,7 @@ void CHyprRenderer::renderWindow(PHLWINDOW pWindow, PHLMONITOR pMonitor, const T renderdata.texture = s->m_current.texture; renderdata.surface = s; renderdata.mainSurface = s == pWindow->m_wlSurface->resource(); - m_renderPass.add(makeShared(renderdata)); + m_renderPass.add(makeUnique(renderdata)); renderdata.surfaceCounter++; }, nullptr); @@ -664,7 +664,7 @@ void CHyprRenderer::renderWindow(PHLWINDOW pWindow, PHLMONITOR pMonitor, const T renderdata.texture = s->m_current.texture; renderdata.surface = s; renderdata.mainSurface = false; - m_renderPass.add(makeShared(renderdata)); + m_renderPass.add(makeUnique(renderdata)); renderdata.surfaceCounter++; }, data); @@ -703,7 +703,7 @@ void CHyprRenderer::renderLayer(PHLLS pLayer, PHLMONITOR pMonitor, const Time::s CRectPassElement::SRectData data; data.box = {0, 0, g_pHyprOpenGL->m_renderData.pMonitor->m_transformedSize.x, g_pHyprOpenGL->m_renderData.pMonitor->m_transformedSize.y}; data.color = CHyprColor(0, 0, 0, *PDIMAROUND * pLayer->m_alpha->value()); - m_renderPass.add(makeShared(data)); + m_renderPass.add(makeUnique(data)); } if (pLayer->m_fadingOut) { @@ -741,7 +741,7 @@ void CHyprRenderer::renderLayer(PHLLS pLayer, PHLMONITOR pMonitor, const Time::s renderdata.texture = s->m_current.texture; renderdata.surface = s; renderdata.mainSurface = s == pLayer->m_surface->resource(); - m_renderPass.add(makeShared(renderdata)); + m_renderPass.add(makeUnique(renderdata)); renderdata.surfaceCounter++; }, &renderdata); @@ -762,7 +762,7 @@ void CHyprRenderer::renderLayer(PHLLS pLayer, PHLMONITOR pMonitor, const Time::s renderdata.texture = popup->m_wlSurface->resource()->m_current.texture; renderdata.surface = popup->m_wlSurface->resource(); renderdata.mainSurface = false; - m_renderPass.add(makeShared(renderdata)); + m_renderPass.add(makeUnique(renderdata)); renderdata.surfaceCounter++; }, &renderdata); @@ -797,7 +797,7 @@ void CHyprRenderer::renderIMEPopup(CInputPopup* pPopup, PHLMONITOR pMonitor, con renderdata.texture = s->m_current.texture; renderdata.surface = s; renderdata.mainSurface = s == SURF; - m_renderPass.add(makeShared(renderdata)); + m_renderPass.add(makeUnique(renderdata)); renderdata.surfaceCounter++; }, &renderdata); @@ -818,7 +818,7 @@ void CHyprRenderer::renderSessionLockSurface(WP pSurface, P renderdata.texture = s->m_current.texture; renderdata.surface = s; renderdata.mainSurface = s == pSurface->surface->surface(); - m_renderPass.add(makeShared(renderdata)); + m_renderPass.add(makeUnique(renderdata)); renderdata.surfaceCounter++; }, &renderdata); @@ -851,11 +851,11 @@ void CHyprRenderer::renderAllClientsForWorkspace(PHLMONITOR pMonitor, PHLWORKSPA RENDERMODIFDATA.modifs.emplace_back(std::make_pair<>(SRenderModifData::eRenderModifType::RMOD_TYPE_SCALE, scale)); if (!RENDERMODIFDATA.modifs.empty()) - g_pHyprRenderer->m_renderPass.add(makeShared(CRendererHintsPassElement::SData{RENDERMODIFDATA})); + g_pHyprRenderer->m_renderPass.add(makeUnique(CRendererHintsPassElement::SData{RENDERMODIFDATA})); CScopeGuard x([&RENDERMODIFDATA] { if (!RENDERMODIFDATA.modifs.empty()) { - g_pHyprRenderer->m_renderPass.add(makeShared(CRendererHintsPassElement::SData{SRenderModifData{}})); + g_pHyprRenderer->m_renderPass.add(makeUnique(CRendererHintsPassElement::SData{SRenderModifData{}})); } }); @@ -863,7 +863,7 @@ void CHyprRenderer::renderAllClientsForWorkspace(PHLMONITOR pMonitor, PHLWORKSPA // allow rendering without a workspace. In this case, just render layers. if (*PRENDERTEX /* inverted cfg flag */) - m_renderPass.add(makeShared(CClearPassElement::SClearData{CHyprColor(*PBACKGROUNDCOLOR)})); + m_renderPass.add(makeUnique(CClearPassElement::SClearData{CHyprColor(*PBACKGROUNDCOLOR)})); else g_pHyprOpenGL->clearWithTex(); // will apply the hypr "wallpaper" @@ -888,7 +888,7 @@ void CHyprRenderer::renderAllClientsForWorkspace(PHLMONITOR pMonitor, PHLWORKSPA if (!*PXPMODE) { if (*PRENDERTEX /* inverted cfg flag */) - m_renderPass.add(makeShared(CClearPassElement::SClearData{CHyprColor(*PBACKGROUNDCOLOR)})); + m_renderPass.add(makeUnique(CClearPassElement::SClearData{CHyprColor(*PBACKGROUNDCOLOR)})); else g_pHyprOpenGL->clearWithTex(); // will apply the hypr "wallpaper" @@ -919,7 +919,7 @@ void CHyprRenderer::renderAllClientsForWorkspace(PHLMONITOR pMonitor, PHLWORKSPA data.box = {translate.x, translate.y, pMonitor->m_transformedSize.x * scale, pMonitor->m_transformedSize.y * scale}; data.color = CHyprColor(0, 0, 0, *PDIMSPECIAL * (ANIMOUT ? (1.0 - SPECIALANIMPROGRS) : SPECIALANIMPROGRS)); - g_pHyprRenderer->m_renderPass.add(makeShared(data)); + g_pHyprRenderer->m_renderPass.add(makeUnique(data)); } if (*PBLURSPECIAL && *PBLUR) { @@ -929,7 +929,7 @@ void CHyprRenderer::renderAllClientsForWorkspace(PHLMONITOR pMonitor, PHLWORKSPA data.blur = true; data.blurA = (ANIMOUT ? (1.0 - SPECIALANIMPROGRS) : SPECIALANIMPROGRS); - g_pHyprRenderer->m_renderPass.add(makeShared(data)); + g_pHyprRenderer->m_renderPass.add(makeUnique(data)); } } @@ -1374,7 +1374,7 @@ void CHyprRenderer::renderMonitor(PHLMONITOR pMonitor, bool commit) { CRectPassElement::SRectData data; data.box = {0, 0, pMonitor->m_transformedSize.x, pMonitor->m_transformedSize.y}; data.color = CHyprColor(1.0, 0.0, 1.0, 100.0 / 255.0); - m_renderPass.add(makeShared(data)); + m_renderPass.add(makeUnique(data)); damageBlinkCleanup = 1; } else if (*PDAMAGEBLINK) { damageBlinkCleanup++; @@ -2474,7 +2474,7 @@ void CHyprRenderer::renderSnapshot(PHLWINDOW pWindow) { data.box = {0, 0, g_pHyprOpenGL->m_renderData.pMonitor->m_pixelSize.x, g_pHyprOpenGL->m_renderData.pMonitor->m_pixelSize.y}; data.color = CHyprColor(0, 0, 0, *PDIMAROUND * pWindow->m_alpha->value()); - m_renderPass.add(makeShared(data)); + m_renderPass.add(makeUnique(data)); } if (shouldBlur(pWindow)) { @@ -2487,7 +2487,7 @@ void CHyprRenderer::renderSnapshot(PHLWINDOW pWindow) { data.roundingPower = pWindow->roundingPower(); data.xray = pWindow->m_windowData.xray.valueOr(false); - m_renderPass.add(makeShared(std::move(data))); + m_renderPass.add(makeUnique(std::move(data))); } CTexPassElement::SRenderData data; @@ -2497,7 +2497,7 @@ void CHyprRenderer::renderSnapshot(PHLWINDOW pWindow) { data.a = pWindow->m_alpha->value(); data.damage = fakeDamage; - m_renderPass.add(makeShared(std::move(data))); + m_renderPass.add(makeUnique(std::move(data))); } void CHyprRenderer::renderSnapshot(PHLLS pLayer) { @@ -2539,7 +2539,7 @@ void CHyprRenderer::renderSnapshot(PHLLS pLayer) { if (SHOULD_BLUR) data.ignoreAlpha = pLayer->m_ignoreAlpha ? pLayer->m_ignoreAlphaValue : 0.01F /* ignore the alpha 0 regions */; - m_renderPass.add(makeShared(std::move(data))); + m_renderPass.add(makeUnique(std::move(data))); } bool CHyprRenderer::shouldBlur(PHLLS ls) { -- cgit v1.2.3