Benjamin Otte
f1b1aacc34
vulkan: Stop differentiating rounded from cicular corners
...
Our shaders can handle both, so don'ttry to tell them apart anymore.
Removes a lot of unnecessary fallbacks.
2023-06-04 19:42:01 +02:00
Benjamin Otte
b791aa0301
vulkan: Clip using scissors
...
If we have a rectangular clip without transforms, we can use
scissoring. This works particularly well because it allows intersecting
rounded rectangles with regular rectangles in all cases:
Use the scissor rect for the rectangle and the normal clipping code for
the rounded rectangle.
2023-06-04 19:42:01 +02:00
Benjamin Otte
0fee26252c
vulkan: Don't draw fully clipped nodes
...
... if they are container nodes. Other nodes will get culled by the
vertex shader.
2023-06-04 19:42:01 +02:00
Benjamin Otte
7f5504bea4
vulkan: Set the initial clip rect
...
Instead of rendering unclipped, set the clip region to the extents of
the current clip region.
2023-06-04 19:42:01 +02:00
Benjamin Otte
a09580b9ef
vulkan: Split scale from matrix
...
Now, the scale is no longer part of the matrix. This allows shaders to
transform points by the scale which increases accuracy for antialiasing.
2023-06-04 19:42:01 +02:00
Benjamin Otte
b02e054592
vulkan: Add offset to the Vulkan clip checks
...
This was forgotten when tracking the offset was added, so code was
actually selecting the wrong shaders.
2023-06-04 19:42:01 +02:00
Matthias Clasen
a1c5a806b3
Convert headers to #pragma once
...
The conversion was done by guard2one.
2023-03-31 15:11:10 -04:00
Benjamin Otte
91932ada63
vulkan: Handle simple transforms in the clipping code
...
Requires pushing the GskTransform into the clipping code so that we
can actually look at its category.
2021-03-05 19:36:36 -05:00
Matthias Clasen
3771c95c72
gsk: Move Vulkan sources to a subdirectory
...
Following what was already done for GL.
2018-01-06 09:36:55 -05:00