gtk/gsk/gpu
Benjamin Otte c7fabe2897 gpu: Be more aggressive about GC'ing dead textures
When we encounter many dead textures, we want to GC. Textures can take
up fds (potentially even more than 1) and when we are not collecting
them quickly enough, we may run out of fds.

So GC when more then 50 dead textures exist.

An example for this happening is recent Mesa with llvmpipe udmabuf
support, which takes 2 fds per texture and the test in
testsuite/gdk/memorytexture that creates 800 textures of ~1 pixel each,
which it diligently releases but doesn't GC.

Related: #6917
2024-08-21 09:45:05 +02:00
..
shaders gsk: Apply the same transfer fixes 2024-08-14 13:21:28 -04:00
gskglbuffer.c gl: Add buffer implementation using persistent mapping 2024-03-16 20:55:26 +01:00
gskglbufferprivate.h gl: Add buffer implementation using persistent mapping 2024-03-16 20:55:26 +01:00
gskgldevice.c gpu: Add shader name to error message 2024-07-25 18:53:55 +02:00
gskgldeviceprivate.h gpu: Remove descriptors 2024-07-22 19:40:24 +02:00
gskglframe.c gpu: Remove descriptors 2024-07-22 19:40:24 +02:00
gskglframeprivate.h gpu: Remove descriptors 2024-07-22 19:40:24 +02:00
gskglimage.c gpu: create SRGB images 2024-07-11 14:57:20 +02:00
gskglimageprivate.h gpu: create SRGB images 2024-07-11 14:57:20 +02:00
gskgpublendmodeop.c gpu: Remove descriptors 2024-07-22 19:40:24 +02:00
gskgpublendmodeopprivate.h gpu: Remove descriptors 2024-07-22 19:40:24 +02:00
gskgpublendop.c gpu: Add GSK_GPU_BLEND_NONE 2024-07-13 10:56:47 +02:00
gskgpublendopprivate.h gpu: Make blend modes configurable 2024-01-07 07:22:52 +01:00
gskgpublitop.c gsk: Remove unnecessary G_GNUC_FALLTHROUGH 2024-02-13 18:29:03 +01:00
gskgpublitopprivate.h
gskgpublurop.c gsk: Change the blur op api 2024-08-09 20:09:31 -04:00
gskgpubluropprivate.h gsk: Change the blur op api 2024-08-09 20:09:31 -04:00
gskgpuborderop.c gsk: Change the border op api 2024-08-06 07:35:00 -04:00
gskgpuborderopprivate.h gsk: Change the border op api 2024-08-06 07:35:00 -04:00
gskgpuboxshadowop.c Change box shadow op api 2024-08-08 15:43:49 -04:00
gskgpuboxshadowopprivate.h Change box shadow op api 2024-08-08 15:43:49 -04:00
gskgpubuffer.c gsk: Cosmetics 2024-04-28 23:54:55 -04:00
gskgpubufferprivate.h gsk/gpu: avoid unnecessary buffer uploads 2024-03-08 13:55:57 -08:00
gskgpucache.c gpu: Be more aggressive about GC'ing dead textures 2024-08-21 09:45:05 +02:00
gskgpucacheprivate.h gpu: Be more aggressive about GC'ing dead textures 2024-08-21 09:45:05 +02:00
gskgpuclearop.c gsk: Change the clear op api 2024-08-05 11:11:14 -04:00
gskgpuclearopprivate.h gsk: Change the clear op api 2024-08-05 11:11:14 -04:00
gskgpuclip.c gpu: Implement transform support for dihedral transforms 2024-07-10 21:34:12 +02:00
gskgpuclipprivate.h gpu: Implement transform support for dihedral transforms 2024-07-10 21:34:12 +02:00
gskgpucolorizeop.c gsk: Change the colorize op api 2024-08-09 20:09:30 -04:00
gskgpucolorizeopprivate.h gsk: Change the colorize op api 2024-08-09 20:09:30 -04:00
gskgpucolormatrixop.c gpu: Remove descriptors 2024-07-22 19:40:24 +02:00
gskgpucolormatrixopprivate.h gpu: Remove descriptors 2024-07-22 19:40:24 +02:00
gskgpucolorop.c gsk: Change color op apis 2024-08-05 11:11:14 -04:00
gskgpucoloropprivate.h gsk: Change color op apis 2024-08-05 11:11:14 -04:00
gskgpucolorstatesprivate.h gpu: Add an assertion 2024-08-14 08:30:55 +02:00
gskgpuconicgradientop.c gpu: Remove descriptors 2024-07-22 19:40:24 +02:00
gskgpuconicgradientopprivate.h gpu: Make conic gradient op obey ccs 2024-07-11 14:57:20 +02:00
gskgpuconvertcicpop.c gpu: More debug spew 2024-07-26 07:22:45 -04:00
gskgpuconvertcicpopprivate.h gsk: Add a cicp convert shader 2024-07-24 08:16:08 -06:00
gskgpuconvertop.c gpu: Remove descriptors 2024-07-22 19:40:24 +02:00
gskgpuconvertopprivate.h gpu: Remove descriptors 2024-07-22 19:40:24 +02:00
gskgpucrossfadeop.c gpu: The colorstate op doesn't need a colorstates arg 2024-08-20 01:05:20 +02:00
gskgpucrossfadeopprivate.h gpu: The colorstate op doesn't need a colorstates arg 2024-08-20 01:05:20 +02:00
gskgpudevice.c gpu: Be more aggressive about GC'ing dead textures 2024-08-21 09:45:05 +02:00
gskgpudeviceprivate.h gpu: Clean up headers 2024-07-22 01:28:40 +02:00
gskgpudownloadop.c gsk: Drop some unused code 2024-08-07 08:39:53 -04:00
gskgpudownloadopprivate.h gsk: Drop some unused code 2024-08-07 08:39:53 -04:00
gskgpuframe.c gdk: Pass the opaque rect to begin_frame() actually 2024-08-10 01:40:46 +02:00
gskgpuframeprivate.h gdk: Pass the opaque rect to begin_frame() actually 2024-08-10 01:40:46 +02:00
gskgpuglobalsop.c gpu: Completely revamp descriptor set handling 2024-07-22 19:40:24 +02:00
gskgpuglobalsopprivate.h gpu: Add ability to run shaders 2024-01-07 07:22:49 +01:00
gskgpuimage.c ngl: Mark backbuffers as srgb 2024-07-11 14:57:20 +02:00
gskgpuimageprivate.h gpu: Add dmabuf import for Vulkan 2024-01-07 07:22:51 +01:00
gskgpulineargradientop.c gpu: Remove descriptors 2024-07-22 19:40:24 +02:00
gskgpulineargradientopprivate.h gpu: Make linear gradient op obey ccs 2024-07-11 14:57:20 +02:00
gskgpumaskop.c gpu: Remove descriptors 2024-07-22 19:40:24 +02:00
gskgpumaskopprivate.h gpu: Remove descriptors 2024-07-22 19:40:24 +02:00
gskgpumipmapop.c gpu: Remove descriptors 2024-07-22 19:40:24 +02:00
gskgpumipmapopprivate.h gpu: Add support for texture-scale nodes 2024-01-07 07:22:51 +01:00
gskgpunodeprocessor.c gpu: The colorstate op doesn't need a colorstates arg 2024-08-20 01:05:20 +02:00
gskgpunodeprocessorprivate.h gpu: Pass the clip region even further down 2024-08-07 23:26:03 +02:00
gskgpuop.c gpu: Add a CommandState struct to the command vfuncs 2024-01-07 07:22:51 +01:00
gskgpuopprivate.h gpu: Add the same cache as the GL shader uses 2024-07-22 19:40:24 +02:00
gskgpuprint.c gpu: Remove descriptors 2024-07-22 19:40:24 +02:00
gskgpuprintprivate.h gpu: Remove descriptors 2024-07-22 19:40:24 +02:00
gskgpuradialgradientop.c gpu: Remove descriptors 2024-07-22 19:40:24 +02:00
gskgpuradialgradientopprivate.h gpu: Make radial gradient op obey ccs 2024-07-11 14:57:20 +02:00
gskgpurenderer.c gdk: Beef up gdk_parse_debug_var 2024-08-19 20:40:32 -04:00
gskgpurenderer.h
gskgpurendererprivate.h gpu: Refactor waiting for frames 2024-03-14 06:06:33 +01:00
gskgpurenderpassop.c gpu: Rename function 2024-08-03 20:59:40 -04:00
gskgpurenderpassopprivate.h gpu: Convert values to float[4] from GdkRGBA 2024-07-13 02:07:15 +02:00
gskgpuroundedcolorop.c gsk: Change color op apis 2024-08-05 11:11:14 -04:00
gskgpuroundedcoloropprivate.h gsk: Change color op apis 2024-08-05 11:11:14 -04:00
gskgpuscissorop.c gpu: Add a CommandState struct to the command vfuncs 2024-01-07 07:22:51 +01:00
gskgpuscissoropprivate.h gpu: Add scissor operation 2024-01-07 07:22:49 +01:00
gskgpushaderflagsprivate.h gpu: Compile with AMD's compiler, too 2024-07-22 19:40:24 +02:00
gskgpushaderop.c gpu: Completely revamp YCbCr handling 2024-07-22 19:40:24 +02:00
gskgpushaderopprivate.h gsk: Change color op apis 2024-08-05 11:11:14 -04:00
gskgputextureop.c gpu: Remove descriptors 2024-07-22 19:40:24 +02:00
gskgputextureopprivate.h gpu: Remove descriptors 2024-07-22 19:40:24 +02:00
gskgputypesprivate.h gpu: Remove descriptors 2024-07-22 19:40:24 +02:00
gskgpuuploadop.c gpu: Don't mess up color states 2024-07-26 17:34:48 -04:00
gskgpuuploadopprivate.h gsk: Stop passing scale to glyph upload op 2024-03-02 18:39:14 -05:00
gsknglrenderer.c gsk: Clear current context after unrealize() 2024-08-10 01:40:45 +02:00
gsknglrendererprivate.h
gskvulkanbuffer.c vulkan: Prefer cached buffer memory 2024-03-16 22:32:49 +01:00
gskvulkanbufferprivate.h gpu: Add ability to run shaders 2024-01-07 07:22:49 +01:00
gskvulkandevice.c gpu: Allocate Vulkan descriptor pools dynamically 2024-07-22 19:40:24 +02:00
gskvulkandeviceprivate.h vulkan: Turn debug messages into warnings 2024-08-08 04:41:16 +02:00
gskvulkanframe.c gdk: Pass the opaque rect to begin_frame() actually 2024-08-10 01:40:46 +02:00
gskvulkanframeprivate.h gpu: sync dmabufs via semaphores 2024-01-07 07:22:52 +01:00
gskvulkanimage.c vulkan: Don't try srgb for the atlas 2024-08-01 14:43:49 -04:00
gskvulkanimageprivate.h gpu: Completely revamp YCbCr handling 2024-07-22 19:40:24 +02:00
gskvulkanmemory.c gskvulkanmemory.c: Use VK_NULL_HANDLE for VkDeviceMemory 2024-05-29 12:57:07 +08:00
gskvulkanmemoryprivate.h gdk: Don't include vulkan.h in public API anymore 2024-01-07 14:47:22 +01:00
gskvulkanrenderer.c gpu: Remove the ubershader 2024-07-07 05:19:32 +02:00
gskvulkanrenderer.h gsk: include Vulkan renderer in public header 2024-01-07 14:47:22 +01:00
gskvulkanycbcr.c gpu: Completely revamp YCbCr handling 2024-07-22 19:40:24 +02:00
gskvulkanycbcrprivate.h gpu: Completely revamp YCbCr handling 2024-07-22 19:40:24 +02:00