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
6d8c8199d9
vulkan: Use rounded rect APIs to improve clips
...
There are a bunch of intersection APIs available these days.
Let's use them.
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
Benjamin Otte
b9bd7124c0
vulkan: Fix typo in clipping code
2023-05-16 18:53:27 +02:00
Matthias Clasen
b12d31d189
Fix spelling errors
...
These were pointed out by codespell.
2022-11-17 22:49:45 -05:00
Benjamin Otte
fea67dea6a
vulkan: Improve rounded rect clipping
...
Handle the case where the inner rounded rect is fully contained
within the outer rounded rect.
2021-03-09 17:43:28 +01:00
Benjamin Otte
9f18c138d1
vulkan: Fix invalid read
...
Look at the right rect to compute circularness
2021-03-09 17:43:28 +01: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
Benjamin Otte
3f9b8f25d8
vulkan: Add missing break statement
2019-04-15 14:38:23 +02: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