summaryrefslogtreecommitdiff
path: root/src/render/Renderbuffer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/render/Renderbuffer.cpp')
-rw-r--r--src/render/Renderbuffer.cpp13
1 files changed, 5 insertions, 8 deletions
diff --git a/src/render/Renderbuffer.cpp b/src/render/Renderbuffer.cpp
index d7a77b74..bb638e20 100644
--- a/src/render/Renderbuffer.cpp
+++ b/src/render/Renderbuffer.cpp
@@ -16,9 +16,12 @@ CRenderbuffer::~CRenderbuffer() {
unbind();
m_framebuffer.release();
- glDeleteRenderbuffers(1, &m_rbo);
- g_pHyprOpenGL->m_proc.eglDestroyImageKHR(g_pHyprOpenGL->m_eglDisplay, m_image);
+ if (m_rbo)
+ glDeleteRenderbuffers(1, &m_rbo);
+
+ if (m_image != EGL_NO_IMAGE_KHR)
+ g_pHyprOpenGL->m_proc.eglDestroyImageKHR(g_pHyprOpenGL->m_eglDisplay, m_image);
}
CRenderbuffer::CRenderbuffer(SP<Aquamarine::IBuffer> buffer, uint32_t format) : m_hlBuffer(buffer), m_drmFormat(format) {
@@ -58,16 +61,10 @@ bool CRenderbuffer::good() {
}
void CRenderbuffer::bind() {
- glBindRenderbuffer(GL_RENDERBUFFER, m_rbo);
- bindFB();
-}
-
-void CRenderbuffer::bindFB() {
m_framebuffer.bind();
}
void CRenderbuffer::unbind() {
- glBindRenderbuffer(GL_RENDERBUFFER, 0);
m_framebuffer.unbind();
}