diff options
author | William McKinnon <[email protected]> | 2024-09-20 02:06:12 -0400 |
---|---|---|
committer | William McKinnon <[email protected]> | 2024-09-20 02:06:12 -0400 |
commit | be3eea191cb9aecea1ddf4f1399bcbb390027998 (patch) | |
tree | 011f999489895c6bff323ab4abcee05ae598182a /render | |
parent | bf8c9d6745a0e9054dca28d865df97479767c5a8 (diff) |
fixed shadow damage tracking clip
Diffstat (limited to 'render')
-rw-r--r-- | render/fx_renderer/fx_pass.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/render/fx_renderer/fx_pass.c b/render/fx_renderer/fx_pass.c index 627f142..f26f5e9 100644 --- a/render/fx_renderer/fx_pass.c +++ b/render/fx_renderer/fx_pass.c @@ -466,10 +466,10 @@ void fx_render_pass_add_box_shadow(struct fx_gles_render_pass *pass, pixman_region32_t inner_region; pixman_region32_init_rect(&inner_region, - surface_box.x + options->corner_radius * 0.5, - surface_box.y + options->corner_radius * 0.5, - fmax(surface_box.width - options->corner_radius, 0), - fmax(surface_box.height - options->corner_radius, 0)); + surface_box.x + options->corner_radius * 0.3, + surface_box.y + options->corner_radius * 0.3, + fmax(surface_box.width - options->corner_radius * 0.6, 0), + fmax(surface_box.height - options->corner_radius * 0.6, 0)); pixman_region32_subtract(&render_region, options->clip, &inner_region); pixman_region32_fini(&inner_region); @@ -489,7 +489,8 @@ void fx_render_pass_add_box_shadow(struct fx_gles_render_pass *pass, glUniform2f(renderer->shaders.box_shadow.size, shadow_box.width, shadow_box.height); glUniform2f(renderer->shaders.box_shadow.position, shadow_box.x, shadow_box.y); - render(&shadow_box, options->clip, renderer->shaders.box_shadow.pos_attrib); + // TODO: also account for options->clip + render(&shadow_box, &render_region, renderer->shaders.box_shadow.pos_attrib); pixman_region32_fini(&render_region); glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA); |