gtk/gsk/vulkan
Benjamin Otte 684a015c98 vulkan: Add a pipeline cache
Make the display handle the cache, because we only need one.

We store the cache in
  $CACHE_DIR/gtk-4.0/vulkan-pipeline-cache/$UUID.$VERSION
so we regenerate caches for each different device (different UUID) and
each different driver version.

We also keep track of the etag of the cache file, so if 2 different
applications update the cache, we can detect that.
Vulkan allows merging caches, so the 2nd app reloads the new cache file
and merges it into its cache before saving.
2023-06-26 20:28:11 +02:00
..
resources vulkan: Rebuild the precompiled shaders 2023-06-20 20:17:06 +02:00
gskvulkanblendmodepipeline.c vulkan: Split textures and samplers 2023-06-04 19:42:01 +02:00
gskvulkanblendmodepipelineprivate.h vulkan: Split textures and samplers 2023-06-04 19:42:01 +02:00
gskvulkanblurpipeline.c vulkan: Split textures and samplers 2023-06-04 19:42:01 +02:00
gskvulkanblurpipelineprivate.h vulkan: Split textures and samplers 2023-06-04 19:42:01 +02:00
gskvulkanborderpipeline.c vulkan: Remove a function from pipeline impls 2023-06-04 19:42:01 +02:00
gskvulkanborderpipelineprivate.h vulkan: Remove a function from pipeline impls 2023-06-04 19:42:01 +02:00
gskvulkanboxshadowpipeline.c vulkan: Remove a function from pipeline impls 2023-06-04 19:42:01 +02:00
gskvulkanboxshadowpipelineprivate.h vulkan: Remove a function from pipeline impls 2023-06-04 19:42:01 +02:00
gskvulkanbuffer.c vulkan: Use the right flags 2023-06-20 20:15:12 +02:00
gskvulkanbufferprivate.h vulkan: Allow mapping images as "read" and/or "write" 2023-06-19 15:08:00 +02:00
gskvulkanclip.c vulkan: Handle empty rects in intersects_rect() 2023-06-11 03:15:08 +02:00
gskvulkanclipprivate.h vulkan: Stop differentiating rounded from cicular corners 2023-06-04 19:42:01 +02:00
gskvulkancolorpipeline.c vulkan: Remove a function from pipeline impls 2023-06-04 19:42:01 +02:00
gskvulkancolorpipelineprivate.h vulkan: Remove a function from pipeline impls 2023-06-04 19:42:01 +02:00
gskvulkancolortextpipeline.c vulkan: Split textures and samplers 2023-06-04 19:42:01 +02:00
gskvulkancolortextpipelineprivate.h vulkan: Split textures and samplers 2023-06-04 19:42:01 +02:00
gskvulkancommandpool.c gsk: Stop using g_slice 2023-03-14 14:56:42 -04:00
gskvulkancommandpoolprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskvulkancrossfadepipeline.c vulkan: Split textures and samplers 2023-06-04 19:42:01 +02:00
gskvulkancrossfadepipelineprivate.h vulkan: Split textures and samplers 2023-06-04 19:42:01 +02:00
gskvulkaneffectpipeline.c vulkan: Split textures and samplers 2023-06-04 19:42:01 +02:00
gskvulkaneffectpipelineprivate.h vulkan: Split textures and samplers 2023-06-04 19:42:01 +02:00
gskvulkanglyphcache.c gsk: Mark some variables as unused 2023-05-18 13:29:28 -04:00
gskvulkanglyphcacheprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskvulkanimage.c vulkan: Take offscreen fromat from context 2023-06-20 20:15:12 +02:00
gskvulkanimageprivate.h vulkan: Take offscreen fromat from context 2023-06-20 20:15:12 +02:00
gskvulkanlineargradientpipeline.c vulkan: Make gradient shader use buffers 2023-06-08 21:53:06 +02:00
gskvulkanlineargradientpipelineprivate.h vulkan: Make gradient shader use buffers 2023-06-08 21:53:06 +02:00
gskvulkanmemory.c vulkan: Add gsk_vulkan_memory_can_map() 2023-06-14 03:34:07 +02:00
gskvulkanmemoryprivate.h vulkan: Add gsk_vulkan_memory_can_map() 2023-06-14 03:34:07 +02:00
gskvulkanpipeline.c vulkan: Add a pipeline cache 2023-06-26 20:28:11 +02:00
gskvulkanpipelineprivate.h vulkan: Remove a function from pipeline impls 2023-06-04 19:42:01 +02:00
gskvulkanpushconstants.c vulkan: Add scale to push constants 2023-06-04 19:42:01 +02:00
gskvulkanpushconstantsprivate.h vulkan: Add scale to push constants 2023-06-04 19:42:01 +02:00
gskvulkanrender.c vulkan: Use 3 descriptor sets, not 3 bindings 2023-06-20 20:15:12 +02:00
gskvulkanrenderer.c vulkan: Take offscreen fromat from context 2023-06-20 20:15:12 +02:00
gskvulkanrenderer.h vulkan: Renaming fix 2023-06-19 14:13:03 +02:00
gskvulkanrendererprivate.h gsk/vulkan/glyphcache: Rework glyphs 2023-04-08 20:13:13 -03:00
gskvulkanrenderpass.c vulkan: Take offscreen fromat from context 2023-06-20 20:15:12 +02:00
gskvulkanrenderpassprivate.h vulkan: Only use a single pipeline layout 2023-06-04 19:42:01 +02:00
gskvulkanrenderprivate.h vulkan: Use 3 descriptor sets, not 3 bindings 2023-06-20 20:15:12 +02:00
gskvulkanshader.c gsk: Stop using g_slice 2023-03-14 14:56:42 -04:00
gskvulkanshaderprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskvulkantextpipeline.c vulkan: Split textures and samplers 2023-06-04 19:42:01 +02:00
gskvulkantextpipelineprivate.h vulkan: Split textures and samplers 2023-06-04 19:42:01 +02:00
gskvulkantexturepipeline.c vulkan: Split textures and samplers 2023-06-04 19:42:01 +02:00
gskvulkantexturepipelineprivate.h vulkan: Split textures and samplers 2023-06-04 19:42:01 +02:00