summaryrefslogtreecommitdiff
path: root/sway/desktop/fx_renderer/fx_stencilbuffer.c
diff options
context:
space:
mode:
Diffstat (limited to 'sway/desktop/fx_renderer/fx_stencilbuffer.c')
-rw-r--r--sway/desktop/fx_renderer/fx_stencilbuffer.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/sway/desktop/fx_renderer/fx_stencilbuffer.c b/sway/desktop/fx_renderer/fx_stencilbuffer.c
new file mode 100644
index 00000000..5b99ff79
--- /dev/null
+++ b/sway/desktop/fx_renderer/fx_stencilbuffer.c
@@ -0,0 +1,21 @@
+#include <assert.h>
+#include <wlr/render/gles2.h>
+
+#include "sway/desktop/fx_renderer/fx_stencilbuffer.h"
+
+struct fx_stencilbuffer fx_stencilbuffer_create() {
+ return (struct fx_stencilbuffer) {
+ .rb = -1,
+ .width = -1,
+ .height = -1,
+ };
+}
+
+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;
+}