pass: remove renderer finalDamage since it's unused (#9996)

This commit is contained in:
Ikalco 2025-04-09 10:50:06 -05:00 committed by GitHub
parent 4f991610d0
commit 0a7e2cb152
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 10 additions and 21 deletions

View File

@ -701,7 +701,6 @@ void CHyprOpenGLImpl::beginSimple(PHLMONITOR pMonitor, const CRegion& damage, SP
initShaders(); initShaders();
m_RenderData.damage.set(damage); m_RenderData.damage.set(damage);
m_RenderData.finalDamage.set(damage);
m_bFakeFrame = true; m_bFakeFrame = true;
@ -715,7 +714,7 @@ void CHyprOpenGLImpl::beginSimple(PHLMONITOR pMonitor, const CRegion& damage, SP
m_RenderData.simplePass = true; m_RenderData.simplePass = true;
} }
void CHyprOpenGLImpl::begin(PHLMONITOR pMonitor, const CRegion& damage_, CFramebuffer* fb, std::optional<CRegion> finalDamage) { void CHyprOpenGLImpl::begin(PHLMONITOR pMonitor, const CRegion& damage_, CFramebuffer* fb) {
m_RenderData.pMonitor = pMonitor; m_RenderData.pMonitor = pMonitor;
#ifndef GLES2 #ifndef GLES2
@ -766,7 +765,6 @@ void CHyprOpenGLImpl::begin(PHLMONITOR pMonitor, const CRegion& damage_, CFrameb
m_RenderData.pCurrentMonData->monitorMirrorFB.release(); m_RenderData.pCurrentMonData->monitorMirrorFB.release();
m_RenderData.damage.set(damage_); m_RenderData.damage.set(damage_);
m_RenderData.finalDamage.set(finalDamage.value_or(damage_));
m_bFakeFrame = fb; m_bFakeFrame = fb;
@ -791,7 +789,6 @@ void CHyprOpenGLImpl::end() {
// end the render, copy the data to the main framebuffer // end the render, copy the data to the main framebuffer
if (m_bOffloadedFramebuffer) { if (m_bOffloadedFramebuffer) {
m_RenderData.damage = m_RenderData.finalDamage;
m_bEndFrame = true; m_bEndFrame = true;
CBox monbox = {0, 0, m_RenderData.pMonitor->vecTransformedSize.x, m_RenderData.pMonitor->vecTransformedSize.y}; CBox monbox = {0, 0, m_RenderData.pMonitor->vecTransformedSize.x, m_RenderData.pMonitor->vecTransformedSize.y};
@ -863,9 +860,8 @@ void CHyprOpenGLImpl::end() {
RASSERT(false, "glGetError at Opengl::end() returned GL_CONTEXT_LOST. Cannot continue until proper GPU reset handling is implemented."); RASSERT(false, "glGetError at Opengl::end() returned GL_CONTEXT_LOST. Cannot continue until proper GPU reset handling is implemented.");
} }
void CHyprOpenGLImpl::setDamage(const CRegion& damage_, std::optional<CRegion> finalDamage) { void CHyprOpenGLImpl::setDamage(const CRegion& damage_) {
m_RenderData.damage.set(damage_); m_RenderData.damage.set(damage_);
m_RenderData.finalDamage.set(finalDamage.value_or(damage_));
} }
// TODO notify user if bundled shader is newer than ~/.config override // TODO notify user if bundled shader is newer than ~/.config override

View File

@ -125,7 +125,6 @@ struct SCurrentRenderData {
CFramebuffer* outFB = nullptr; // out to render to (if offloaded, etc) CFramebuffer* outFB = nullptr; // out to render to (if offloaded, etc)
CRegion damage; CRegion damage;
CRegion finalDamage; // damage used for funal off -> main
SRenderModifData renderModif; SRenderModifData renderModif;
float mouseZoomFactor = 1.f; float mouseZoomFactor = 1.f;
@ -172,7 +171,7 @@ class CHyprOpenGLImpl {
CHyprOpenGLImpl(); CHyprOpenGLImpl();
~CHyprOpenGLImpl(); ~CHyprOpenGLImpl();
void begin(PHLMONITOR, const CRegion& damage, CFramebuffer* fb = nullptr, std::optional<CRegion> finalDamage = {}); void begin(PHLMONITOR, const CRegion& damage, CFramebuffer* fb = nullptr);
void beginSimple(PHLMONITOR, const CRegion& damage, SP<CRenderbuffer> rb = nullptr, CFramebuffer* fb = nullptr); void beginSimple(PHLMONITOR, const CRegion& damage, SP<CRenderbuffer> rb = nullptr, CFramebuffer* fb = nullptr);
void end(); void end();
@ -227,7 +226,7 @@ class CHyprOpenGLImpl {
SP<CTexture> loadAsset(const std::string& file); SP<CTexture> loadAsset(const std::string& file);
SP<CTexture> renderText(const std::string& text, CHyprColor col, int pt, bool italic = false, const std::string& fontFamily = "", int maxWidth = 0); SP<CTexture> renderText(const std::string& text, CHyprColor col, int pt, bool italic = false, const std::string& fontFamily = "", int maxWidth = 0);
void setDamage(const CRegion& damage, std::optional<CRegion> finalDamage = {}); void setDamage(const CRegion& damage);
void ensureBackgroundTexturePresence(); void ensureBackgroundTexturePresence();

View File

@ -1292,7 +1292,7 @@ void CHyprRenderer::renderMonitor(PHLMONITOR pMonitor) {
pMonitor->forceFullFrames = 10; pMonitor->forceFullFrames = 10;
} }
CRegion damage, finalDamage; CRegion damage;
if (!beginRender(pMonitor, damage, RENDER_MODE_NORMAL)) { if (!beginRender(pMonitor, damage, RENDER_MODE_NORMAL)) {
Debug::log(ERR, "renderer: couldn't beginRender()!"); Debug::log(ERR, "renderer: couldn't beginRender()!");
return; return;
@ -1302,10 +1302,8 @@ void CHyprRenderer::renderMonitor(PHLMONITOR pMonitor) {
if (*PDAMAGETRACKINGMODE == DAMAGE_TRACKING_NONE || *PDAMAGETRACKINGMODE == DAMAGE_TRACKING_MONITOR || pMonitor->forceFullFrames > 0 || damageBlinkCleanup > 0) if (*PDAMAGETRACKINGMODE == DAMAGE_TRACKING_NONE || *PDAMAGETRACKINGMODE == DAMAGE_TRACKING_MONITOR || pMonitor->forceFullFrames > 0 || damageBlinkCleanup > 0)
damage = {0, 0, (int)pMonitor->vecTransformedSize.x * 10, (int)pMonitor->vecTransformedSize.y * 10}; damage = {0, 0, (int)pMonitor->vecTransformedSize.x * 10, (int)pMonitor->vecTransformedSize.y * 10};
finalDamage = damage;
// update damage in renderdata as we modified it // update damage in renderdata as we modified it
g_pHyprOpenGL->setDamage(damage, finalDamage); g_pHyprOpenGL->setDamage(damage);
if (pMonitor->forceFullFrames > 0) { if (pMonitor->forceFullFrames > 0) {
pMonitor->forceFullFrames -= 1; pMonitor->forceFullFrames -= 1;
@ -1317,7 +1315,7 @@ void CHyprRenderer::renderMonitor(PHLMONITOR pMonitor) {
bool renderCursor = true; bool renderCursor = true;
if (!finalDamage.empty()) { if (!damage.empty()) {
if (pMonitor->solitaryClient.expired()) { if (pMonitor->solitaryClient.expired()) {
if (pMonitor->isMirror()) { if (pMonitor->isMirror()) {
g_pHyprOpenGL->blend(false); g_pHyprOpenGL->blend(false);

View File

@ -120,7 +120,6 @@ CRegion CRenderPass::render(const CRegion& damage_) {
if (damage.empty()) { if (damage.empty()) {
g_pHyprOpenGL->m_RenderData.damage = damage; g_pHyprOpenGL->m_RenderData.damage = damage;
g_pHyprOpenGL->m_RenderData.finalDamage = damage;
return damage; return damage;
} }
@ -150,16 +149,13 @@ CRegion CRenderPass::render(const CRegion& damage_) {
blurRegion.intersect(damage).expand(oneBlurRadius()); blurRegion.intersect(damage).expand(oneBlurRadius());
g_pHyprOpenGL->m_RenderData.finalDamage = blurRegion.copy().add(damage);
// FIXME: why does this break on * 1.F ? // FIXME: why does this break on * 1.F ?
// used to work when we expand all the damage... I think? Well, before pass. // used to work when we expand all the damage... I think? Well, before pass.
// moving a window over blur shows the edges being wonk. // moving a window over blur shows the edges being wonk.
blurRegion.expand(oneBlurRadius() * 1.5F); blurRegion.expand(oneBlurRadius() * 1.5F);
damage = blurRegion.copy().add(damage); damage = blurRegion.copy().add(damage);
} else }
g_pHyprOpenGL->m_RenderData.finalDamage = damage;
if (std::ranges::any_of(m_vPassElements, [](const auto& el) { return el->element->disableSimplification(); })) { if (std::ranges::any_of(m_vPassElements, [](const auto& el) { return el->element->disableSimplification(); })) {
for (auto& el : m_vPassElements) { for (auto& el : m_vPassElements) {