From c0d49f296e2064047d12dd832d4018528045d387 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 5 Jan 2024 19:23:49 -0500 Subject: [PATCH] Update docs Update the docs for environment variables that we parse to include GDK_VULKAN_SKIP and GSK_GPU_SKIP. --- docs/reference/gtk/running.md | 100 +++++++++++++++++++++++++++------- 1 file changed, 80 insertions(+), 20 deletions(-) diff --git a/docs/reference/gtk/running.md b/docs/reference/gtk/running.md index 60c3b07cc6..b7c6dab2b2 100644 --- a/docs/reference/gtk/running.md +++ b/docs/reference/gtk/running.md @@ -274,49 +274,46 @@ are only available when GTK has been configured with `-Ddebug=true`. `renderer` : General renderer information -`cairo` -: cairo renderer information - `opengl` : OpenGL renderer information -`shaders` -: Shaders - -`surface` -: Surfaces - `vulkan` : Vulkan renderer information +`shaders` +: Information about shaders + +`surface` +: Information about surfaces + `fallback` -: Information about fallbacks +: Information about fallback usage in renderers `glyphcache` : Information about glyph caching +`verbose` +: Print verbose output while rendering + A number of options affect behavior instead of logging: -`diff` -: Show differences - `geometry` -: Show borders +: Show borders (when using cairo) `full-redraw` -: Force full redraws for every frame +: Force full redraws `sync` : Sync after each frame +`staging` +: Use a staging image for texture upload (Vulkan only) + `offload-disable` : Disable graphics offload to subsurfaces -`vulkan-staging-image` -: Use a staging image for Vulkan texture upload - -`vulkan-staging-buffer` -: Use a staging buffer for Vulkan texture upload +`cairo` +: Overlay error pattern over cairo drawing (finds fallbacks) The special value `all` can be used to turn on all debug options. The special value `help` can be used to obtain a list of all supported debug options. @@ -357,6 +354,40 @@ the default selection of the device that is used for Vulkan rendering. The special value `list` can be used to obtain a list of all Vulkan devices. +### `GDK_VULKAN_SKIP` + +This variable can be set to a list of values, which cause GDK to +disable features of the Vulkan support. +Note that these features may already be disabled if the Vulkan driver +does not support them. + +`dmabuf` +: Never import Dmabufs + +`ycbr` +: Do not support Ycbcr textures + +`descriptor-indexing` +: Force slow descriptor set layout codepath + +`dynamic-indexing` +: Hardcode small number of buffer and texure arrays + +`nonuniform-indexing` +: Split draw calls to ensure uniform texture accesses + +`semaphore-export` +: Disable sync of exported dmabufs + +`semaphore-import` +: Disable sync of imported dmabufs + +`incremental-present` +: Do not send damage regions + +The special value `all` can be used to turn on all values. The special +value `help` can be used to obtain a list of all supported values. + ### `GSK_RENDERER` If set, selects the GSK renderer to use. The following renderers can @@ -378,6 +409,9 @@ using and the GDK backend supports them: `gl` : Selects the "gl" OpenGL renderer +`ngl` +: Selects the "ngl" OpenGL renderer + `vulkan` : Selects the Vulkan renderer @@ -395,6 +429,32 @@ to rememdy this on the GTK side; the best bet before trying the above workarounds is to try to update your graphics drivers and Nahimic installation. +### `GSK_GPU_SKIP` + +This variable can be set to a list of values, which cause GSK to +disable certain optimizations of the "ngl" and "vulkan" renderer. + +`uber` +: Don't use the uber shader + +`clear` +: Use shaders instead of vkCmdClearAttachment()/glClear() + +`blit` +: Use shaders instead of vkCmdBlit()/glBlitFramebuffer() + +`gradients` +: Don't supersample gradients + +`mipmap` +: Avoid creating mipmaps + +`gl-baseinstance` +: Assume no ARB/EXT_base_instance support + +The special value `all` can be used to turn on all values. The special +value `help` can be used to obtain a list of all supported values. + ### `GSK_MAX_TEXTURE_SIZE` Limit texture size to the minimum of this value and the OpenGL limit