summaryrefslogtreecommitdiff
path: root/include/sway
diff options
context:
space:
mode:
authorErik Reider <[email protected]>2023-05-18 01:39:48 +0200
committerGitHub <[email protected]>2023-05-17 19:39:48 -0400
commitacafb20b114ea93f971e118da0233c07157286c0 (patch)
treec176bdc1dd1c62a4eb82394dccdebd57f58f2ecb /include/sway
parent2c4fe20456851b6b8dc14b6bdc0cf9bee527a9ee (diff)
Move stencil into each framebuffer (#156)
* Move stencil into each framebuffer Also fixes the stencil being added to the wrong framebuffer * Initialize texture members on framebuffer init * removed bind arg * renamed init to create, changed existing create to update * moved stencil buffer creation to new function * removed some now misleading comments --------- Co-authored-by: William McKinnon <[email protected]>
Diffstat (limited to 'include/sway')
-rw-r--r--include/sway/desktop/fx_renderer/fx_framebuffer.h7
-rw-r--r--include/sway/desktop/fx_renderer/fx_renderer.h2
2 files changed, 6 insertions, 3 deletions
diff --git a/include/sway/desktop/fx_renderer/fx_framebuffer.h b/include/sway/desktop/fx_renderer/fx_framebuffer.h
index 289b4d87..39eeb257 100644
--- a/include/sway/desktop/fx_renderer/fx_framebuffer.h
+++ b/include/sway/desktop/fx_renderer/fx_framebuffer.h
@@ -10,11 +10,16 @@
struct fx_framebuffer {
struct fx_texture texture;
GLuint fb;
+ GLuint stencil_buffer;
};
+struct fx_framebuffer fx_framebuffer_create();
+
void fx_framebuffer_bind(struct fx_framebuffer *buffer);
-void fx_framebuffer_create(struct fx_framebuffer *buffer, int width, int height, bool bind);
+void fx_framebuffer_update(struct fx_framebuffer *buffer, int width, int height);
+
+void fx_framebuffer_add_stencil_buffer(struct fx_framebuffer *buffer, int width, int height);
void fx_framebuffer_release(struct fx_framebuffer *buffer);
diff --git a/include/sway/desktop/fx_renderer/fx_renderer.h b/include/sway/desktop/fx_renderer/fx_renderer.h
index bdbcefe1..90b68f1c 100644
--- a/include/sway/desktop/fx_renderer/fx_renderer.h
+++ b/include/sway/desktop/fx_renderer/fx_renderer.h
@@ -119,8 +119,6 @@ struct fx_renderer {
int viewport_width, viewport_height;
- GLuint stencil_buffer_id;
-
struct fx_framebuffer wlr_buffer; // Just the framebuffer used by wlroots
struct fx_framebuffer main_buffer; // The main FB used for rendering
struct fx_framebuffer blur_buffer; // Contains the blurred background for tiled windows