Benjamin Otte
493b83ff24
gpu: Optimize box-shadow shader
...
Like in the border shader, don't draw the (potentially large for the
window's shadow) inside part that is transparent.
2024-01-07 07:22:53 +01:00
Benjamin Otte
334e380d31
gpu: Handle overlapping rounded rect corners
...
Have a fallback in place for the most egregious abuses of rounded
corners, like
0 0 50 50 / 50 0
and the like.
Fixes obscure border colors.
2024-01-07 07:22:51 +01:00
Benjamin Otte
64a67ac3a8
gpu: Turn globals into macros
...
This way, we can be more flexible in refactoring how we handle globals
(guess what we're gonna do next).
2024-01-07 07:22:50 +01:00
Benjamin Otte
8271687ef6
gpu: Make border shader usable for inset/outset
...
... and use it for those when unblurred.
2024-01-07 07:22:50 +01:00
Benjamin Otte
1a85d569e3
gpu: Add ability to run shaders
...
This heaves over an inital chunk of code from the Vulkan renderer to
execute shaders.
The only shader that exists for now is a shader that draws a single
texture.
We use that to replace the blit op we were doing before.
2024-01-07 07:22:49 +01:00