diff options
| author | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-07-27 13:30:55 +0200 |
|---|---|---|
| committer | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-07-27 13:30:55 +0200 |
| commit | c9c4b14ef2c20b06d9074d2e50955438d88738bf (patch) | |
| tree | 3c71a0e9ff40fe003626b19dcece64da142cea98 /src/render | |
| parent | cb1a36faf0e93ee4595fe8424420b99014fdbf69 (diff) | |
optimize xwayland has_alpha blur
Diffstat (limited to 'src/render')
| -rw-r--r-- | src/render/Renderer.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index 11e0384b..bf6b7116 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -36,10 +36,14 @@ void renderSurface(struct wlr_surface* surface, int x, int y, void* data) { float rounding = RDATA->dontRound ? 0 : RDATA->rounding == -1 ? *PROUNDING : RDATA->rounding; if (RDATA->surface && surface == RDATA->surface) { - if (RDATA->blur) - g_pHyprOpenGL->renderTextureWithBlur(TEXTURE, &windowBox, RDATA->fadeAlpha * RDATA->alpha, surface, rounding); - else + if (wlr_surface_is_xwayland_surface(surface) && !wlr_xwayland_surface_from_wlr_surface(surface)->has_alpha) { g_pHyprOpenGL->renderTexture(TEXTURE, &windowBox, RDATA->fadeAlpha * RDATA->alpha, rounding, true); + } else { + if (RDATA->blur) + g_pHyprOpenGL->renderTextureWithBlur(TEXTURE, &windowBox, RDATA->fadeAlpha * RDATA->alpha, surface, rounding); + else + g_pHyprOpenGL->renderTexture(TEXTURE, &windowBox, RDATA->fadeAlpha * RDATA->alpha, rounding, true); + } } else { if (RDATA->surface && wlr_surface_is_xdg_surface(RDATA->surface)) { |
