summaryrefslogtreecommitdiff
path: root/src/render/pass
diff options
context:
space:
mode:
authorUjinT34 <41110182+UjinT34@users.noreply.github.com>2026-03-07 00:44:10 +0300
committerGitHub <noreply@github.com>2026-03-06 21:44:10 +0000
commit4152ac76d0813d9d0f67d2f04653a13fa6e17433 (patch)
treec341f1883cf5a182d32e4ad00192ba8786a9bb75 /src/render/pass
parenta5858018d896e0e0f0db517f893cd9a0936dd881 (diff)
renderer: refactor Texture, Framebuffer and Renderbuffer (#13437)
Part 1 of the renderer refactors
Diffstat (limited to 'src/render/pass')
-rw-r--r--src/render/pass/FramebufferElement.cpp14
-rw-r--r--src/render/pass/Pass.cpp2
-rw-r--r--src/render/pass/Pass.hpp4
-rw-r--r--src/render/pass/SurfacePassElement.hpp4
-rw-r--r--src/render/pass/TexPassElement.hpp4
-rw-r--r--src/render/pass/TextureMatteElement.cpp4
-rw-r--r--src/render/pass/TextureMatteElement.hpp6
7 files changed, 19 insertions, 19 deletions
diff --git a/src/render/pass/FramebufferElement.cpp b/src/render/pass/FramebufferElement.cpp
index 77a29fba..bc7c686a 100644
--- a/src/render/pass/FramebufferElement.cpp
+++ b/src/render/pass/FramebufferElement.cpp
@@ -6,7 +6,7 @@ CFramebufferElement::CFramebufferElement(const CFramebufferElement::SFramebuffer
}
void CFramebufferElement::draw(const CRegion& damage) {
- CFramebuffer* fb = nullptr;
+ SP<IFramebuffer> fb = nullptr;
if (m_data.main) {
switch (m_data.framebufferID) {
@@ -22,12 +22,12 @@ void CFramebufferElement::draw(const CRegion& damage) {
} else {
switch (m_data.framebufferID) {
- case FB_MONITOR_RENDER_EXTRA_OFFLOAD: fb = &g_pHyprOpenGL->m_renderData.pCurrentMonData->offloadFB; break;
- case FB_MONITOR_RENDER_EXTRA_MIRROR: fb = &g_pHyprOpenGL->m_renderData.pCurrentMonData->mirrorFB; break;
- case FB_MONITOR_RENDER_EXTRA_MIRROR_SWAP: fb = &g_pHyprOpenGL->m_renderData.pCurrentMonData->mirrorSwapFB; break;
- case FB_MONITOR_RENDER_EXTRA_OFF_MAIN: fb = &g_pHyprOpenGL->m_renderData.pCurrentMonData->offMainFB; break;
- case FB_MONITOR_RENDER_EXTRA_MONITOR_MIRROR: fb = &g_pHyprOpenGL->m_renderData.pCurrentMonData->monitorMirrorFB; break;
- case FB_MONITOR_RENDER_EXTRA_BLUR: fb = &g_pHyprOpenGL->m_renderData.pCurrentMonData->blurFB; break;
+ case FB_MONITOR_RENDER_EXTRA_OFFLOAD: fb = g_pHyprOpenGL->m_renderData.pCurrentMonData->offloadFB; break;
+ case FB_MONITOR_RENDER_EXTRA_MIRROR: fb = g_pHyprOpenGL->m_renderData.pCurrentMonData->mirrorFB; break;
+ case FB_MONITOR_RENDER_EXTRA_MIRROR_SWAP: fb = g_pHyprOpenGL->m_renderData.pCurrentMonData->mirrorSwapFB; break;
+ case FB_MONITOR_RENDER_EXTRA_OFF_MAIN: fb = g_pHyprOpenGL->m_renderData.pCurrentMonData->offMainFB; break;
+ case FB_MONITOR_RENDER_EXTRA_MONITOR_MIRROR: fb = g_pHyprOpenGL->m_renderData.pCurrentMonData->monitorMirrorFB; break;
+ case FB_MONITOR_RENDER_EXTRA_BLUR: fb = g_pHyprOpenGL->m_renderData.pCurrentMonData->blurFB; break;
}
if (!fb) {
diff --git a/src/render/pass/Pass.cpp b/src/render/pass/Pass.cpp
index 3c82c84c..a4436516 100644
--- a/src/render/pass/Pass.cpp
+++ b/src/render/pass/Pass.cpp
@@ -216,7 +216,7 @@ void CRenderPass::renderDebugData() {
std::unordered_map<CWLSurfaceResource*, float> offsets;
// render focus stuff
- auto renderHLSurface = [&offsets](SP<CTexture> texture, SP<CWLSurfaceResource> surface, const CHyprColor& color) {
+ auto renderHLSurface = [&offsets](SP<ITexture> texture, SP<CWLSurfaceResource> surface, const CHyprColor& color) {
if (!surface || !texture)
return;
diff --git a/src/render/pass/Pass.hpp b/src/render/pass/Pass.hpp
index 435b5301..b45af88b 100644
--- a/src/render/pass/Pass.hpp
+++ b/src/render/pass/Pass.hpp
@@ -4,7 +4,7 @@
#include "PassElement.hpp"
class CGradientValueData;
-class CTexture;
+class ITexture;
class CRenderPass {
public:
@@ -36,7 +36,7 @@ class CRenderPass {
struct {
bool present = false;
- SP<CTexture> keyboardFocusText, pointerFocusText, lastWindowText;
+ SP<ITexture> keyboardFocusText, pointerFocusText, lastWindowText;
} m_debugData;
friend class CHyprOpenGLImpl;
diff --git a/src/render/pass/SurfacePassElement.hpp b/src/render/pass/SurfacePassElement.hpp
index f4dbb45a..058744de 100644
--- a/src/render/pass/SurfacePassElement.hpp
+++ b/src/render/pass/SurfacePassElement.hpp
@@ -4,7 +4,7 @@
#include "../../helpers/time/Time.hpp"
class CWLSurfaceResource;
-class CTexture;
+class ITexture;
class CSyncTimeline;
class CSurfacePassElement : public IPassElement {
@@ -16,7 +16,7 @@ class CSurfacePassElement : public IPassElement {
void* data = nullptr;
SP<CWLSurfaceResource> surface = nullptr;
- SP<CTexture> texture = nullptr;
+ SP<ITexture> texture = nullptr;
bool mainSurface = true;
double w = 0, h = 0;
int rounding = 0;
diff --git a/src/render/pass/TexPassElement.hpp b/src/render/pass/TexPassElement.hpp
index a922843d..770e8b05 100644
--- a/src/render/pass/TexPassElement.hpp
+++ b/src/render/pass/TexPassElement.hpp
@@ -3,13 +3,13 @@
#include <optional>
class CWLSurfaceResource;
-class CTexture;
+class ITexture;
class CSyncTimeline;
class CTexPassElement : public IPassElement {
public:
struct SRenderData {
- SP<CTexture> tex;
+ SP<ITexture> tex;
CBox box;
float a = 1.F;
float blurA = 1.F;
diff --git a/src/render/pass/TextureMatteElement.cpp b/src/render/pass/TextureMatteElement.cpp
index aeeeabc6..8023df8b 100644
--- a/src/render/pass/TextureMatteElement.cpp
+++ b/src/render/pass/TextureMatteElement.cpp
@@ -9,11 +9,11 @@ void CTextureMatteElement::draw(const CRegion& damage) {
if (m_data.disableTransformAndModify) {
g_pHyprOpenGL->pushMonitorTransformEnabled(true);
g_pHyprOpenGL->setRenderModifEnabled(false);
- g_pHyprOpenGL->renderTextureMatte(m_data.tex, m_data.box, *m_data.fb);
+ g_pHyprOpenGL->renderTextureMatte(m_data.tex, m_data.box, m_data.fb);
g_pHyprOpenGL->setRenderModifEnabled(true);
g_pHyprOpenGL->popMonitorTransformEnabled();
} else
- g_pHyprOpenGL->renderTextureMatte(m_data.tex, m_data.box, *m_data.fb);
+ g_pHyprOpenGL->renderTextureMatte(m_data.tex, m_data.box, m_data.fb);
}
bool CTextureMatteElement::needsLiveBlur() {
diff --git a/src/render/pass/TextureMatteElement.hpp b/src/render/pass/TextureMatteElement.hpp
index 57d0e1e3..273c6474 100644
--- a/src/render/pass/TextureMatteElement.hpp
+++ b/src/render/pass/TextureMatteElement.hpp
@@ -2,14 +2,14 @@
#include "PassElement.hpp"
#include "../Framebuffer.hpp"
-class CTexture;
+class ITexture;
class CTextureMatteElement : public IPassElement {
public:
struct STextureMatteData {
CBox box;
- SP<CTexture> tex;
- SP<CFramebuffer> fb;
+ SP<ITexture> tex;
+ SP<IFramebuffer> fb;
bool disableTransformAndModify = false;
};