gdk: Add GDK_DEBUG=hdr

Forces request_hdr = TRUE for all requests.

Backends should also use this when choosing whether to honor HDR
requests for low quality compositors - as long as the compositor
pretends to support HDR, shovel HDR at it.
This commit is contained in:
Benjamin Otte 2021-10-02 22:38:05 +02:00
parent 7ede468849
commit 5eb42dd9f3
3 changed files with 6 additions and 0 deletions

View File

@ -129,6 +129,7 @@ static const GdkDebugKey gdk_debug_keys[] = {
{ "vulkan-disable", GDK_DEBUG_VULKAN_DISABLE, "Disable Vulkan support" },
{ "vulkan-validate", GDK_DEBUG_VULKAN_VALIDATE, "Load the Vulkan validation layer" },
{ "default-settings",GDK_DEBUG_DEFAULT_SETTINGS, "Force default values for xsettings", TRUE },
{ "hdr", GDK_DEBUG_HDR, "Use HDR rendering if possible", TRUE },
};

View File

@ -50,6 +50,7 @@ typedef enum {
GDK_DEBUG_VULKAN_DISABLE = 1 << 21,
GDK_DEBUG_VULKAN_VALIDATE = 1 << 22,
GDK_DEBUG_DEFAULT_SETTINGS= 1 << 23,
GDK_DEBUG_HDR = 1 << 24,
} GdkDebugFlags;
extern guint _gdk_debug_flags;

View File

@ -22,6 +22,7 @@
#include "gdkdrawcontextprivate.h"
#include "gdkdebug.h"
#include "gdkintl.h"
#include "gdkprofilerprivate.h"
#include "gdksurfaceprivate.h"
@ -361,6 +362,9 @@ gdk_draw_context_begin_frame_full (GdkDrawContext *context,
return;
}
if (GDK_DISPLAY_DEBUG_CHECK (priv->display, HDR))
request_hdr = TRUE;
priv->frame_region = cairo_region_copy (region);
priv->surface->paint_context = g_object_ref (context);