vulkan: Emit a renderpass op
authorBenjamin Otte <otte@redhat.com>
Mon, 10 Jul 2023 01:42:55 +0000 (03:42 +0200)
committerBenjamin Otte <otte@redhat.com>
Sun, 16 Jul 2023 10:13:00 +0000 (12:13 +0200)
commit6f76c37fede49970f81cd45f35db70c8f8164a8f
treec5d2659a650246c407a5079ffb5a43573c53b265
parentcc5cab65a19d51c599d607ec2823d9daa950dd9c
vulkan: Emit a renderpass op

... instead of doing the equivalent things manually by creating a
RenderPass and calling the relevant functions.

Now all renderpass operations are indeed stored in ops.

Also reshuffle the command emission code, because we no longer need to
emit the ops for the base renderpass.

As a result we only submit a single command buffer containing all the
render passes instead of once per render pass.
We also bind vertex buffers and descriptor sets only once now at the
start instead of once per renderpass.
gsk/vulkan/gskvulkanrender.c
gsk/vulkan/gskvulkanrenderpassop.c
gsk/vulkan/gskvulkanrenderpassopprivate.h
gsk/vulkan/gskvulkanrenderprivate.h