vulkan: Try really hard to use clear
authorBenjamin Otte <otte@redhat.com>
Wed, 12 Jul 2023 09:04:25 +0000 (11:04 +0200)
committerBenjamin Otte <otte@redhat.com>
Sun, 16 Jul 2023 11:16:41 +0000 (13:16 +0200)
commitce042f7ba1af3f7c3ff125311c4eb82ea2e6b13c
tree0250100fd96ed200bfdbf93254d95b042ce9bdd9
parentbb2cd7225eb2eeaf2ab343af916eaeef1ceebb78
vulkan: Try really hard to use clear

Using clear avoids the shader engine (see last commit), so if we can get
pixels out of it, we should.

So we detect the overlap with the rounded corners of the clip region and
emit shaders for those, but then use Clear() for the rest.

With this in place, widget-factory on my integrated Intel TigerLake gets
a 60% performance boost.
gsk/gskroundedrect.c
gsk/gskroundedrectprivate.h
gsk/vulkan/gskvulkanrenderpass.c