From 96b945aa83ea1ed22b616ca84c30c75227258a82 Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Wed, 24 Jul 2024 14:22:10 +0200 Subject: [PATCH] [settings] Added SurfaceCommandsSupported setting --- include/freerdp/settings_types.h | 5 +++++ include/freerdp/settings_types_private.h | 3 ++- libfreerdp/common/settings_getters.c | 7 +++++++ libfreerdp/common/settings_str.h | 2 ++ libfreerdp/core/capabilities.h | 5 ----- libfreerdp/core/test/settings_property_lists.h | 1 + 6 files changed, 17 insertions(+), 6 deletions(-) diff --git a/include/freerdp/settings_types.h b/include/freerdp/settings_types.h index 4eb9c64c2..2f02e3277 100644 --- a/include/freerdp/settings_types.h +++ b/include/freerdp/settings_types.h @@ -63,6 +63,11 @@ extern "C" * application context) */ +/* Surface Commands Flags */ +#define SURFCMDS_SET_SURFACE_BITS 0x00000002 +#define SURFCMDS_FRAME_MARKER 0x00000010 +#define SURFCMDS_STREAM_SURFACE_BITS 0x00000040 + /* RAIL Support Level */ #define RAIL_LEVEL_SUPPORTED 0x00000001 #define RAIL_LEVEL_DOCKED_LANGBAR_SUPPORTED 0x00000002 diff --git a/include/freerdp/settings_types_private.h b/include/freerdp/settings_types_private.h index 95cc08972..ccc7a0282 100644 --- a/include/freerdp/settings_types_private.h +++ b/include/freerdp/settings_types_private.h @@ -650,7 +650,8 @@ struct rdp_settings SETTINGS_DEPRECATED(ALIGN64 BOOL SurfaceCommandsEnabled); /* 3520 */ SETTINGS_DEPRECATED(ALIGN64 BOOL FrameMarkerCommandEnabled); /* 3521 */ SETTINGS_DEPRECATED(ALIGN64 BOOL SurfaceFrameMarkerEnabled); /* 3522 */ - UINT64 padding3584[3584 - 3523]; /* 3523 */ + SETTINGS_DEPRECATED(ALIGN64 UINT32 SurfaceCommandsSupported); /* 3523 */ + UINT64 padding3584[3584 - 3524]; /* 3524 */ UINT64 padding3648[3648 - 3584]; /* 3584 */ /* diff --git a/libfreerdp/common/settings_getters.c b/libfreerdp/common/settings_getters.c index 6a0311d4b..85cd0160b 100644 --- a/libfreerdp/common/settings_getters.c +++ b/libfreerdp/common/settings_getters.c @@ -1961,6 +1961,9 @@ UINT32 freerdp_settings_get_uint32(const rdpSettings* settings, FreeRDP_Settings case FreeRDP_StaticChannelCount: return settings->StaticChannelCount; + case FreeRDP_SurfaceCommandsSupported: + return settings->SurfaceCommandsSupported; + case FreeRDP_TargetNetAddressCount: return settings->TargetNetAddressCount; @@ -2475,6 +2478,10 @@ BOOL freerdp_settings_set_uint32(rdpSettings* settings, FreeRDP_Settings_Keys_UI settings->StaticChannelCount = cnv.c; break; + case FreeRDP_SurfaceCommandsSupported: + settings->SurfaceCommandsSupported = cnv.c; + break; + case FreeRDP_TargetNetAddressCount: settings->TargetNetAddressCount = cnv.c; break; diff --git a/libfreerdp/common/settings_str.h b/libfreerdp/common/settings_str.h index e99d748f2..645c58743 100644 --- a/libfreerdp/common/settings_str.h +++ b/libfreerdp/common/settings_str.h @@ -434,6 +434,8 @@ static const struct settings_str_entry settings_map[] = { { FreeRDP_StaticChannelArraySize, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_StaticChannelArraySize" }, { FreeRDP_StaticChannelCount, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_StaticChannelCount" }, + { FreeRDP_SurfaceCommandsSupported, FREERDP_SETTINGS_TYPE_UINT32, + "FreeRDP_SurfaceCommandsSupported" }, { FreeRDP_TargetNetAddressCount, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_TargetNetAddressCount" }, { FreeRDP_TcpAckTimeout, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_TcpAckTimeout" }, diff --git a/libfreerdp/core/capabilities.h b/libfreerdp/core/capabilities.h index 48743944f..406921017 100644 --- a/libfreerdp/core/capabilities.h +++ b/libfreerdp/core/capabilities.h @@ -141,11 +141,6 @@ #define COMPDESK_NOT_SUPPORTED 0x0000 #define COMPDESK_SUPPORTED 0x0001 -/* Surface Commands Flags */ -#define SURFCMDS_SET_SURFACE_BITS 0x00000002 -#define SURFCMDS_FRAME_MARKER 0x00000010 -#define SURFCMDS_STREAM_SURFACE_BITS 0x00000040 - /* Bitmap Codec Constants */ #define CARDP_CAPS_CAPTURE_NON_CAC 0x00000001 #define CBY_CAPS 0xCBC0 diff --git a/libfreerdp/core/test/settings_property_lists.h b/libfreerdp/core/test/settings_property_lists.h index 7bd02255f..dbbcbc66a 100644 --- a/libfreerdp/core/test/settings_property_lists.h +++ b/libfreerdp/core/test/settings_property_lists.h @@ -332,6 +332,7 @@ static const size_t uint32_list_indices[] = { FreeRDP_SmartSizingWidth, FreeRDP_StaticChannelArraySize, FreeRDP_StaticChannelCount, + FreeRDP_SurfaceCommandsSupported, FreeRDP_TargetNetAddressCount, FreeRDP_TcpAckTimeout, FreeRDP_TcpConnectTimeout,