From 1a6918f948be034e65c50af8969d090b5e762dc1 Mon Sep 17 00:00:00 2001 From: Erik Reider <35975961+ErikReider@users.noreply.github.com> Date: Tue, 2 Jan 2024 01:15:34 +0100 Subject: Integrated the stencil rb into fx_framebuffer Every fx_framebuffer will now have a stencil buffer --- render/fx_renderer/fx_stencilbuffer.c | 50 ----------------------------------- 1 file changed, 50 deletions(-) delete mode 100644 render/fx_renderer/fx_stencilbuffer.c (limited to 'render/fx_renderer/fx_stencilbuffer.c') diff --git a/render/fx_renderer/fx_stencilbuffer.c b/render/fx_renderer/fx_stencilbuffer.c deleted file mode 100644 index 4f57216..0000000 --- a/render/fx_renderer/fx_stencilbuffer.c +++ /dev/null @@ -1,50 +0,0 @@ -#include -#include -#include - -#include "include/render/fx_renderer/fx_stencilbuffer.h" - -struct fx_stencilbuffer fx_stencilbuffer_create(void) { - return (struct fx_stencilbuffer) { - .rb = -1, - .width = -1, - .height = -1, - }; -} - -void fx_stencilbuffer_init(struct fx_stencilbuffer *stencil_buffer, int width, int height) { - bool first_alloc = false; - - if (stencil_buffer->rb == (uint32_t) -1) { - glGenRenderbuffers(1, &stencil_buffer->rb); - first_alloc = true; - } - - if (first_alloc || stencil_buffer->width != width || stencil_buffer->height != height) { - glBindRenderbuffer(GL_RENDERBUFFER, stencil_buffer->rb); - glRenderbufferStorage(GL_RENDERBUFFER, GL_STENCIL_INDEX8, width, height); - stencil_buffer->width = width; - stencil_buffer->height = height; - - GLenum status = glCheckFramebufferStatus(GL_FRAMEBUFFER); - if (status != GL_FRAMEBUFFER_COMPLETE) { - wlr_log(WLR_ERROR, - "Stencil buffer incomplete, couldn't create! (FB status: %i)", - status); - return; - } - } - - // Reattach the RenderBuffer to the FrameBuffer - glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT, - GL_RENDERBUFFER, stencil_buffer->rb); -} - -void fx_stencilbuffer_release(struct fx_stencilbuffer *stencil_buffer) { - if (stencil_buffer->rb != (uint32_t) -1 && stencil_buffer->rb) { - glDeleteRenderbuffers(1, &stencil_buffer->rb); - } - stencil_buffer->rb = -1; - stencil_buffer->width = -1; - stencil_buffer->height = -1; -} -- cgit v1.2.3