gtk/gsk/vulkan
Benjamin Otte 70c9521cae vulkan: Put the vertex buffer into the render object
Renderpasses get recreated every frame, but we keep render objects
around. So if we keep the vertex buffer in the render object, we can
also keep it around and just reuse it.

Also, we only need one buffer for all the render passes, which is
another bonus.

The initial buffer size is chosen at 128kB. Maximized Nautilus,
gnome-text-editor with an open file and widget-factory take ~100kB when
doing a full redraw. Other apps are between 30-50kB usually.

So I chose a value that is not too big, but catches ~90% of cases.
2023-07-16 12:13:00 +02:00
..
resources vulkan: Repurpose mask shader 2023-07-16 12:13:00 +02:00
gskvulkanblendmodeop.c vulkan: Add infrastructure for printing ops 2023-07-16 12:13:00 +02:00
gskvulkanblendmodeopprivate.h vulkan: Port blend mode to new ops 2023-07-16 12:12:36 +02:00
gskvulkanblurop.c vulkan: Add infrastructure for printing ops 2023-07-16 12:13:00 +02:00
gskvulkanbluropprivate.h vulkan: Add a blur op and use it 2023-07-16 12:12:36 +02:00
gskvulkanborderop.c vulkan: Add infrastructure for printing ops 2023-07-16 12:13:00 +02:00
gskvulkanborderopprivate.h vulkan: Make border shader use new ops 2023-07-16 12:12:36 +02:00
gskvulkanbuffer.c vulkan: Put the vertex buffer into the render object 2023-07-16 12:13:00 +02:00
gskvulkanbufferprivate.h vulkan: Put the vertex buffer into the render object 2023-07-16 12:13:00 +02:00
gskvulkanclip.c vulkan: Create pipeline differently for ops 2023-07-16 12:12:36 +02:00
gskvulkanclipprivate.h vulkan: Create pipeline differently for ops 2023-07-16 12:12:36 +02:00
gskvulkancolormatrixop.c vulkan: Add infrastructure for printing ops 2023-07-16 12:13:00 +02:00
gskvulkancolormatrixopprivate.h vulkan: Factor out call to opacity op 2023-07-16 12:12:36 +02:00
gskvulkancolorop.c vulkan: Add infrastructure for printing ops 2023-07-16 12:13:00 +02:00
gskvulkancoloropprivate.h vulkan: Convert color op to new method 2023-07-16 12:12:36 +02:00
gskvulkancommandpool.c vulkan: Add gskvulkanprivate.h 2023-07-16 12:13:00 +02:00
gskvulkancommandpoolprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskvulkancrossfadeop.c vulkan: Add infrastructure for printing ops 2023-07-16 12:13:00 +02:00
gskvulkancrossfadeopprivate.h vulkan: Factor out call to opacity op 2023-07-16 12:12:36 +02:00
gskvulkanglyphcache.c vulkan: Make glyphs use new node ops 2023-07-16 12:13:00 +02:00
gskvulkanglyphcacheprivate.h vulkan: Make glyphs use new node ops 2023-07-16 12:13:00 +02:00
gskvulkanglyphop.c vulkan: Add infrastructure for printing ops 2023-07-16 12:13:00 +02:00
gskvulkanglyphopprivate.h vulkan: Add a glyph shader 2023-07-16 12:12:59 +02:00
gskvulkanimage.c vulkan: Add gskvulkanprivate.h 2023-07-16 12:13:00 +02:00
gskvulkanimageprivate.h vulkan: Add infrastructure for printing ops 2023-07-16 12:13:00 +02:00
gskvulkaninsetshadowop.c vulkan: Add infrastructure for printing ops 2023-07-16 12:13:00 +02:00
gskvulkaninsetshadowopprivate.h vulkan: Port inset and outset shadow to new ops 2023-07-16 12:12:36 +02:00
gskvulkanlineargradientop.c vulkan: Add infrastructure for printing ops 2023-07-16 12:13:00 +02:00
gskvulkanlineargradientopprivate.h vulkan: Port linear gradient to new ops 2023-07-16 12:12:36 +02:00
gskvulkanmaskop.c vulkan: Add infrastructure for printing ops 2023-07-16 12:13:00 +02:00
gskvulkanmaskopprivate.h vulkan: Repurpose mask shader 2023-07-16 12:13:00 +02:00
gskvulkanmemory.c vulkan: Add gskvulkanprivate.h 2023-07-16 12:13:00 +02:00
gskvulkanmemoryprivate.h vulkan: Add gsk_vulkan_memory_can_map() 2023-06-14 03:34:07 +02:00
gskvulkanoffscreenop.c vulkan: Put the vertex buffer into the render object 2023-07-16 12:13:00 +02:00
gskvulkanoffscreenopprivate.h vulkan: Remove all the semaphores 2023-07-16 12:13:00 +02:00
gskvulkanop.c vulkan: Add infrastructure for printing ops 2023-07-16 12:13:00 +02:00
gskvulkanopprivate.h vulkan: Add VulkanOp->next 2023-07-16 12:13:00 +02:00
gskvulkanoutsetshadowop.c vulkan: Add infrastructure for printing ops 2023-07-16 12:13:00 +02:00
gskvulkanoutsetshadowopprivate.h vulkan: Port inset and outset shadow to new ops 2023-07-16 12:12:36 +02:00
gskvulkanprivate.h vulkan: Add VulkanOp->next 2023-07-16 12:13:00 +02:00
gskvulkanpushconstantsop.c vulkan: Add infrastructure for printing ops 2023-07-16 12:13:00 +02:00
gskvulkanpushconstantsopprivate.h vulkan: Turn push constants into an op 2023-07-16 12:13:00 +02:00
gskvulkanrender.c vulkan: Put the vertex buffer into the render object 2023-07-16 12:13:00 +02:00
gskvulkanrenderer.c vulkan: Pass the node when setting up 2023-07-16 12:13:00 +02:00
gskvulkanrenderer.h vulkan: Renaming fix 2023-06-19 14:13:03 +02:00
gskvulkanrendererprivate.h vulkan: Make glyphs use new node ops 2023-07-16 12:13:00 +02:00
gskvulkanrenderpass.c vulkan: Put the vertex buffer into the render object 2023-07-16 12:13:00 +02:00
gskvulkanrenderpassprivate.h vulkan: Put the vertex buffer into the render object 2023-07-16 12:13:00 +02:00
gskvulkanrenderprivate.h vulkan: Don't intern strings 2023-07-16 12:13:00 +02:00
gskvulkanscissorop.c vulkan: Add infrastructure for printing ops 2023-07-16 12:13:00 +02:00
gskvulkanscissoropprivate.h vulkan: Initialize ops differently 2023-07-16 12:12:36 +02:00
gskvulkantextureop.c vulkan: Add infrastructure for printing ops 2023-07-16 12:13:00 +02:00
gskvulkantextureopprivate.h vulkan: Create pipeline differently for ops 2023-07-16 12:12:36 +02:00
gskvulkanuploadcairoop.c vulkan: Add infrastructure for printing ops 2023-07-16 12:13:00 +02:00
gskvulkanuploadcairoopprivate.h vulkan: Initialize ops differently 2023-07-16 12:12:36 +02:00
gskvulkanuploadop.c vulkan: Add infrastructure for printing ops 2023-07-16 12:13:00 +02:00
gskvulkanuploadopprivate.h vulkan: Initialize ops differently 2023-07-16 12:12:36 +02:00