summaryrefslogtreecommitdiff
path: root/sway/desktop/fx_renderer/fx_stencilbuffer.c
diff options
context:
space:
mode:
authorErik Reider <[email protected]>2023-06-03 00:53:41 +0200
committerGitHub <[email protected]>2023-06-02 18:53:41 -0400
commit212c51f62cc06885606879fe2deca207d6fd6a60 (patch)
tree023982a8e26972aa798cd05cc82ecc3afb537ddc /sway/desktop/fx_renderer/fx_stencilbuffer.c
parent22327ef300a60294e8a1bc847aac4d4576d3f6c6 (diff)
fix: update stencil if the output size changes (#178)
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;
+}