Timm Bäder
825608af2a
gl renderer: Remove unused parameter
2017-12-29 05:48:43 +01:00
Timm Bäder
4abbf929ad
gl renderer: Remove some unused uniforms from shader
2017-12-29 05:48:42 +01:00
Timm Bäder
aeaab5557b
gl renderer: Only draw what we have to
2017-12-29 05:48:42 +01:00
Timm Bäder
2bc10fa365
gl renderer: draw all outset shadows
...
Instead of falling back to cairo for most of them.
2017-12-29 05:48:40 +01:00
Timm Bäder
9f2674077a
gl renderer: Properly flip texture in render_texture path
...
Just do this on the CPU instead.
2017-12-28 16:48:35 +01:00
Timm Bäder
a720a63fa3
gl renderer: Insert render target op in render_texture path
2017-12-28 16:48:35 +01:00
Timm Bäder
7a2d30323e
gl renderer: try doing outset box shadows
...
Still fall back in cases we can't handle that way.
2017-12-21 19:12:33 +01:00
Timm Bäder
d211f42091
gl renderer: Remove unused vertex shader
2017-12-21 19:12:32 +01:00
Timm Bäder
f044b01549
gl renderer: Don't crash if the first op is an opacity one
2017-12-21 19:12:32 +01:00
Timm Bäder
490e15021c
gl renderer: Force cross-fade nodes offscreen
2017-12-21 19:12:32 +01:00
Timm Bäder
48be2aed23
gl renderer: Use one function per op type to apply data
2017-12-21 19:12:32 +01:00
Timm Bäder
28499032da
gl renderer: Don't leak gl resources
2017-12-21 19:12:32 +01:00
Timm Bäder
ee27b17a12
gl renderer: Fix indentation mishap
2017-12-21 19:12:32 +01:00
Timm Bäder
a83037c440
gl renderer: Implement cross fade nodes
2017-12-21 19:12:32 +01:00
Timm Bäder
bed03aa319
gl renderer: Fix linear gradient shader color calculation
...
This fixes both the wrong headerbar color and the broken border color in
of the circular button in the widget-factory.
2017-12-21 19:12:32 +01:00
Timm Bäder
eb221ff305
gl renderer: Only take glyph texture alpha into account
...
This way, we can use the very same coloring program to draw text shadows
of fonts with colored glyphs.
2017-12-21 19:12:32 +01:00
Timm Bäder
075e6ac266
gl renderer: Fix shadow nodes if the child is a container
2017-12-21 19:12:32 +01:00
Timm Bäder
18e7d777a2
gl renderer: Move declarations to the beginning of the block
2017-12-21 19:12:32 +01:00
Timm Bäder
e9be72a73e
gl renderer: Fix use of uninitialized values
2017-12-21 19:12:32 +01:00
Timm Bäder
33457b4035
gl renderer: Ensure texture sizes arent 0
...
We already ceil() the given float texture sizes here, so if they are
valid, the result should definitely be > 0. Textures with size 0 can't
be properly used, especially not as render targets, where they will
trigger an assertion failure later in a glCheckFramebuffer call.
2017-12-21 19:12:32 +01:00
Timm Bäder
49c7cf36e4
gl renderer: Fix inset and outset shadows in hidpi
2017-12-21 19:12:32 +01:00
Timm Bäder
b03f08960b
gl renderer: Fix cairo node surface size in hidpi
2017-12-21 19:12:32 +01:00
Timm Bäder
d9e135dcb5
gl renderer: Fix rounded clips in hidpi
2017-12-21 19:12:32 +01:00
Timm Bäder
3411e648b4
gl renderer: Handle borders in hidpi better
2017-12-21 19:12:32 +01:00
Timm Bäder
64400e82b5
gl renderer: Default to 0px clip and border radius
...
Finally fix the division by 0 in the clip code.
2017-12-21 19:12:32 +01:00
Timm Bäder
703c4cf003
gl renderer: Ignore render ops before we have a valid program
2017-12-21 19:12:32 +01:00
Timm Bäder
2d3e87da46
gl renderer: Try to fix border rendering
2017-12-21 19:12:32 +01:00
Timm Bäder
a59f380d31
gl renderer: Use one function per node-type
...
So a profiler can actually tell me what's slow and not just point at
_add_render_ops in all cases.
2017-12-21 19:12:32 +01:00
Timm Bäder
ab53ee7377
gl renderer: Don't render opacity nodes offscreen
...
We already drag a u_alpha uniform around in every shader, so use that
one.
2017-12-21 19:12:32 +01:00
Timm Bäder
fd0b7caa7c
gl renderer: Fix shadow shader
...
We need to take the alpha of the shadow color into account as well.
2017-12-21 19:12:32 +01:00
Timm Bäder
476450b93e
gl renderer: Ignore shadow color matrix nodes...
...
... if the color matrix nodes don't touch the child alpha.
2017-12-21 19:12:32 +01:00
Timm Bäder
98ba28b5d7
gl renderer: Add a helper function
...
We'll use this for the common case of a color matrix node inside a
shadow node.
2017-12-21 19:12:32 +01:00
Timm Bäder
49785974cf
gl renderer: Don't zero initialize render ops GArray
2017-12-21 19:12:32 +01:00
Timm Bäder
7cc868910b
gl renderer: Avoid crashing tooltips
2017-12-21 19:12:31 +01:00
Timm Bäder
39a241b763
gl renderer: Sort border sides by color
2017-12-21 19:12:31 +01:00
Timm Bäder
c9af94f6db
gl renderer: Keep track of border program state
2017-12-21 19:12:31 +01:00
Timm Bäder
f978bf057f
gl renderer: Avoid using a new modelview for shadow nodes
...
We can just move the vertex data directly.
2017-12-21 19:12:31 +01:00
Timm Bäder
7ad8f211c6
gl renderer: Default to GL_LINEAR scaling filters
2017-12-21 19:12:31 +01:00
Timm Bäder
5cdd46e38e
gl renderer: Remove superfluous modelview matrix changes
2017-12-21 19:12:31 +01:00
Timm Bäder
1fce25c7af
gl renderer: Remove unused struct member
2017-12-21 19:12:31 +01:00
Timm Bäder
9479bb6bfc
gl renderer: Keep track of color matrix op state
2017-12-21 19:12:31 +01:00
Timm Bäder
b33d85b594
gl renderer: Avoid consecutive opacity ops
2017-12-21 19:12:31 +01:00
Timm Bäder
a0e033b2cd
gl renderer: Define debug structs inline
2017-12-21 19:12:31 +01:00
Timm Bäder
5d0c279351
gl renderer: Add more detailed render op output
2017-12-21 19:12:31 +01:00
Timm Bäder
7831d9a463
gl renderer: Only draw blurred shadow nodes once
2017-12-21 19:12:31 +01:00
Timm Bäder
7dc6a46cff
gl renderer: Remove consecutive clip ops
2017-12-21 19:12:31 +01:00
Timm Bäder
bb69d64a0f
gl renderer: Rename a macro
2017-12-21 19:12:31 +01:00
Timm Bäder
8463040ad1
gl renderer: Fix debugging output
2017-12-21 19:12:31 +01:00
Timm Bäder
3b7cfd068b
gl renderer: Implement simple border nodes
2017-12-21 19:12:31 +01:00
Timm Bäder
8089cde977
gl renderer: Don't render unblurred text shadows to a texture
...
We can do the same thing by simply drawing the text in the given shadow
color.
2017-12-21 19:12:31 +01:00