gtk/gsk/gpu
Benjamin Otte 1273413c7b vulkan: Import GL textures via dmabufs
If the GL texture is exportable to a dmabuf, we can just use our dmabuf
importing code to get that texture into Vulkan.
There is no need to go via host memory in that case.

And if it doesn't work, we just fall back, like before.
2024-07-11 14:14:35 +02:00
..
shaders gpu: Remove the ubershader 2024-07-07 05:19:32 +02: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
gskgldescriptors.c gpu: Handle storage buffers via descriptors 2024-01-07 07:22:52 +01:00
gskgldescriptorsprivate.h gpu: Prepare GL rendering for samplerExternalEOS 2024-01-07 07:22:51 +01:00
gskgldevice.c gsk/gpu: add profiler node for shader loading 2024-03-04 11:54:13 -08:00
gskgldeviceprivate.h gpu: Introduce the concept of "variation" 2024-01-07 07:22:53 +01:00
gskglframe.c gsk: Call glDeleteSync() directly 2024-05-25 11:07:37 +08:00
gskglframeprivate.h gpu: Introduce the concept of "variation" 2024-01-07 07:22:53 +01:00
gskglimage.c gpu: External textures are never mipmap'able 2024-02-16 20:16:38 +01:00
gskglimageprivate.h gpu: Add support for MacOS default framebuffer 2024-01-26 16:55:49 +01:00
gskgpublendmodeop.c gpu: Print some more details 2024-06-15 14:00:46 -04:00
gskgpublendmodeopprivate.h gpu: Add a blend mode shader 2024-01-07 07:22:53 +01:00
gskgpublendop.c gpu: Add a CLEAR blend mode for subsurface hole punching 2024-02-09 04:28:32 +01: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 gpu: Add outline of new GPU renderer 2024-01-07 07:22:49 +01:00
gskgpublurop.c gpu: Add a ShaderOp.print_instance vfunc 2024-03-15 19:49:17 +01:00
gskgpubluropprivate.h gpu: Use variations in the blur shader 2024-01-07 07:22:53 +01:00
gskgpuborderop.c Fix a copy-paste error 2024-06-14 12:30:06 -04:00
gskgpuborderopprivate.h gpu: Make border shader usable for inset/outset 2024-01-07 07:22:50 +01:00
gskgpuboxshadowop.c gpu: Add a ShaderOp.print_instance vfunc 2024-03-15 19:49:17 +01:00
gskgpuboxshadowopprivate.h gpu: Add a box shadow shader 2024-01-07 07:22:51 +01: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 gsk: Rename GSK_DEBUG=glyphcache to GSK_DEBUG=cache 2024-07-07 05:24:45 +02:00
gskgpucacheprivate.h gpu: Split cache and device 2024-07-03 19:55:15 +02:00
gskgpuclearop.c gpu: Keep actual clear values in clear op 2024-06-29 07:12:28 -04:00
gskgpuclearopprivate.h gpu: Copy the clear trick from the Vulkan shader 2024-01-07 07:22:50 +01: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 gpu: Add a ShaderOp.print_instance vfunc 2024-03-15 19:49:17 +01:00
gskgpucolorizeopprivate.h gpu: Refactor image handling 2024-01-07 07:22:50 +01:00
gskgpucolormatrixop.c gpu: Add a ShaderOp.print_instance vfunc 2024-03-15 19:49:17 +01:00
gskgpucolormatrixopprivate.h gpu: Add a color matrix shader 2024-01-07 07:22:52 +01:00
gskgpucolorop.c gpu: Add a ShaderOp.print_instance vfunc 2024-03-15 19:49:17 +01:00
gskgpucoloropprivate.h gpu: Add a color shader 2024-01-07 07:22:50 +01:00
gskgpuconicgradientop.c gpu: Add a ShaderOp.print_instance vfunc 2024-03-15 19:49:17 +01:00
gskgpuconicgradientopprivate.h gpu: Add a conic gradient shader 2024-01-07 07:22:53 +01:00
gskgpucrossfadeop.c gpu: Add a ShaderOp.print_instance vfunc 2024-03-15 19:49:17 +01:00
gskgpucrossfadeopprivate.h gpu: Add a cross-fade shader 2024-01-07 07:22:53 +01:00
gskgpudescriptors.c gpu: Handle storage buffers via descriptors 2024-01-07 07:22:52 +01:00
gskgpudescriptorsprivate.h gpu: Handle storage buffers via descriptors 2024-01-07 07:22:52 +01:00
gskgpudevice.c gsk: Rename GSK_DEBUG=glyphcache to GSK_DEBUG=cache 2024-07-07 05:24:45 +02:00
gskgpudeviceprivate.h gpu: Split cache and device 2024-07-03 19:55:15 +02:00
gskgpudownloadop.c Add a missing include 2024-07-08 22:18:11 -04:00
gskgpudownloadopprivate.h gpu: Add a boolean flag allow_dmabuf to the downloadop 2024-01-07 07:22:52 +01:00
gskgpuframe.c gpu: Transition exported textures into GENERAL layout 2024-07-08 23:22:41 +02:00
gskgpuframeprivate.h gsk: Add gsk_gpu_frame_get_last_op 2024-03-15 20:25:02 +01:00
gskgpuglobalsop.c gpu: Print globals when being verbose 2024-02-13 06:59:58 -05:00
gskgpuglobalsopprivate.h gpu: Add ability to run shaders 2024-01-07 07:22:49 +01:00
gskgpuimage.c gpu: Add dmabuf import for Vulkan 2024-01-07 07:22:51 +01:00
gskgpuimageprivate.h gpu: Add dmabuf import for Vulkan 2024-01-07 07:22:51 +01:00
gskgpulineargradientop.c gpu: Add a ShaderOp.print_instance vfunc 2024-03-15 19:49:17 +01:00
gskgpulineargradientopprivate.h gpu: Handle >7 color stops 2024-01-07 07:22:52 +01:00
gskgpumaskop.c gpu: Print some more details 2024-06-15 14:00:46 -04:00
gskgpumaskopprivate.h gpu: Add a mask shader 2024-01-07 07:22:52 +01:00
gskgpumipmapop.c gsk: Fix blit sizes while generating mipmaps on vk 2024-02-10 10:59:44 -05:00
gskgpumipmapopprivate.h gpu: Add support for texture-scale nodes 2024-01-07 07:22:51 +01:00
gskgpunodeprocessor.c gpu: All nodes are implemented 2024-07-11 13:34:37 +02:00
gskgpunodeprocessorprivate.h gpu: Transition exported textures into GENERAL layout 2024-07-08 23:22:41 +02:00
gskgpuop.c gpu: Add a CommandState struct to the command vfuncs 2024-01-07 07:22:51 +01:00
gskgpuopprivate.h Fix typos throughout 2024-01-07 20:44:05 -05:00
gskgpuprint.c gpu: Print more info for images 2024-06-09 15:59:32 -04:00
gskgpuprintprivate.h gpu: debug-print the used shader clip 2024-02-11 20:04:54 +01:00
gskgpuradialgradientop.c gpu: Add a ShaderOp.print_instance vfunc 2024-03-15 19:49:17 +01:00
gskgpuradialgradientopprivate.h gpu: Add a radial gradient shader 2024-01-07 07:22:53 +01:00
gskgpurenderer.c gpu: Add GSK_GPU_DISABLE=occlusion 2024-07-08 15:28:14 +02:00
gskgpurenderer.h gpu: Add outline of new GPU renderer 2024-01-07 07:22:49 +01:00
gskgpurendererprivate.h gpu: Refactor waiting for frames 2024-03-14 06:06:33 +01:00
gskgpurenderpassop.c gpu: Transition exported textures into GENERAL layout 2024-07-08 23:22:41 +02:00
gskgpurenderpassopprivate.h gpu: Transition exported textures into GENERAL layout 2024-07-08 23:22:41 +02:00
gskgpuroundedcolorop.c gpu: Add a ShaderOp.print_instance vfunc 2024-03-15 19:49:17 +01:00
gskgpuroundedcoloropprivate.h gpu: Add a rounded color shader 2024-01-07 07:22:50 +01: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
gskgpushaderop.c gl: Move GL_ARB_base_instance check 2024-03-16 13:52:28 +01:00
gskgpushaderopprivate.h gpu: Add GskGpuShaderOp.n_ops 2024-03-15 19:49:17 +01:00
gskgpustraightalphaop.c gpu: Add a ShaderOp.print_instance vfunc 2024-03-15 19:49:17 +01:00
gskgpustraightalphaopprivate.h gpu: Handle alpha in image_op() wrapper 2024-01-07 07:22:53 +01:00
gskgputextureop.c gpu: Add a ShaderOp.print_instance vfunc 2024-03-15 19:49:17 +01:00
gskgputextureopprivate.h gpu: Refactor image handling 2024-01-07 07:22:50 +01:00
gskgputypesprivate.h gpu: Transition exported textures into GENERAL layout 2024-07-08 23:22:41 +02:00
gskgpuuploadop.c gsk: Add a warning for inefficient texture import 2024-04-26 11:04:47 -04:00
gskgpuuploadopprivate.h gsk: Stop passing scale to glyph upload op 2024-03-02 18:39:14 -05:00
gsknglrenderer.c gpu: Remove the ubershader 2024-07-07 05:19:32 +02:00
gsknglrendererprivate.h gpu: Add outline of new GPU renderer 2024-01-07 07:22:49 +01:00
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
gskvulkandescriptors.c gskvulkandescriptors.c: Don't return value from void-rettype function 2024-04-24 16:19:43 +08:00
gskvulkandescriptorsprivate.h gpu: sync dmabufs via semaphores 2024-01-07 07:22:52 +01:00
gskvulkandevice.c gskvulkandevice.c: Put Vk[Pipeline|RenderPass] in structures 2024-05-29 18:16:22 +08:00
gskvulkandeviceprivate.h gdk: Remove all VulkanContext API 2024-01-07 14:47:22 +01:00
gskvulkanframe.c vulkan: Import GL textures via dmabufs 2024-07-11 14:14:35 +02:00
gskvulkanframeprivate.h gpu: sync dmabufs via semaphores 2024-01-07 07:22:52 +01:00
gskvulkanimage.c vulkan: Refactor gsk_vulkan_image_new_for_dmabuf() 2024-07-11 14:14:35 +02:00
gskvulkanimageprivate.h vulkan: Refactor gsk_vulkan_image_new_for_dmabuf() 2024-07-11 14:14:35 +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
gskvulkanrealdescriptors.c gpu: Split cache and device 2024-07-03 19:55:15 +02:00
gskvulkanrealdescriptorsprivate.h gpu: Make VulkanRealDescriptor keep the frame 2024-01-07 07:22:52 +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
gskvulkansubdescriptors.c gpu: Handle storage buffers via descriptors 2024-01-07 07:22:52 +01:00
gskvulkansubdescriptorsprivate.h gpu: Add back single descriptors set usage with descriptor indexing 2024-01-07 07:22:51 +01:00