GUACAMOLE-2063: Enable support for RDP orders that are enabled by default in FreeRDP.
This commit is contained in:
parent
95466a1ae9
commit
3f5d0b49cd
@ -1535,6 +1535,9 @@ void guac_rdp_push_settings(guac_client* client,
|
||||
freerdp_settings_set_bool(rdp_settings, FreeRDP_FrameMarkerCommandEnabled, TRUE);
|
||||
freerdp_settings_set_bool(rdp_settings, FreeRDP_SurfaceFrameMarkerEnabled, TRUE);
|
||||
|
||||
freerdp_settings_set_bool(rdp_settings, FreeRDP_FastPathInput, TRUE);
|
||||
freerdp_settings_set_bool(rdp_settings, FreeRDP_FastPathOutput, TRUE);
|
||||
|
||||
/* Enable RemoteFX / Graphics Pipeline */
|
||||
if (guac_settings->enable_gfx) {
|
||||
|
||||
@ -1548,7 +1551,6 @@ void guac_rdp_push_settings(guac_client* client,
|
||||
}
|
||||
|
||||
/* Required for RemoteFX / Graphics Pipeline */
|
||||
freerdp_settings_set_bool(rdp_settings, FreeRDP_FastPathOutput, TRUE);
|
||||
freerdp_settings_set_uint32(rdp_settings, FreeRDP_ColorDepth, RDP_GFX_REQUIRED_DEPTH);
|
||||
freerdp_settings_set_bool(rdp_settings, FreeRDP_SoftwareGdi, TRUE);
|
||||
|
||||
@ -1733,19 +1735,6 @@ void guac_rdp_push_settings(guac_client* client,
|
||||
freerdp_settings_set_uint32(rdp_settings, FreeRDP_OsMinorType, OSMINORTYPE_UNSPECIFIED);
|
||||
freerdp_settings_set_bool(rdp_settings, FreeRDP_DesktopResize, TRUE);
|
||||
|
||||
/* Claim support only for specific updates, independent of FreeRDP defaults */
|
||||
BYTE* order_support = freerdp_settings_get_pointer_writable(rdp_settings, FreeRDP_OrderSupport);
|
||||
if (order_support) {
|
||||
ZeroMemory(order_support, GUAC_RDP_ORDER_SUPPORT_LENGTH);
|
||||
order_support[NEG_DSTBLT_INDEX] = TRUE;
|
||||
order_support[NEG_SCRBLT_INDEX] = TRUE;
|
||||
order_support[NEG_MEMBLT_INDEX] = !guac_settings->disable_bitmap_caching;
|
||||
order_support[NEG_MEMBLT_V2_INDEX] = !guac_settings->disable_bitmap_caching;
|
||||
order_support[NEG_GLYPH_INDEX_INDEX] = !guac_settings->disable_glyph_caching;
|
||||
order_support[NEG_FAST_INDEX_INDEX] = !guac_settings->disable_glyph_caching;
|
||||
order_support[NEG_FAST_GLYPH_INDEX] = !guac_settings->disable_glyph_caching;
|
||||
}
|
||||
|
||||
#ifdef HAVE_RDPSETTINGS_ALLOWUNANOUNCEDORDERSFROMSERVER
|
||||
/* Do not consider server use of unannounced orders to be a fatal error */
|
||||
freerdp_settings_set_bool(rdp_settings, FreeRDP_AllowUnanouncedOrdersFromServer, TRUE);
|
||||
@ -1780,6 +1769,8 @@ void guac_rdp_push_settings(guac_client* client,
|
||||
rdp_settings->FrameMarkerCommandEnabled = TRUE;
|
||||
rdp_settings->SurfaceFrameMarkerEnabled = TRUE;
|
||||
|
||||
rdp_settings->FastPathInput = TRUE;
|
||||
rdp_settings->FastPathOutput = TRUE;
|
||||
|
||||
/* Enable RemoteFX / Graphics Pipeline */
|
||||
if (guac_settings->enable_gfx) {
|
||||
@ -1794,7 +1785,6 @@ void guac_rdp_push_settings(guac_client* client,
|
||||
}
|
||||
|
||||
/* Required for RemoteFX / Graphics Pipeline */
|
||||
rdp_settings->FastPathOutput = TRUE;
|
||||
rdp_settings->ColorDepth = RDP_GFX_REQUIRED_DEPTH;
|
||||
rdp_settings->SoftwareGdi = TRUE;
|
||||
|
||||
@ -1979,16 +1969,6 @@ void guac_rdp_push_settings(guac_client* client,
|
||||
rdp_settings->OsMinorType = OSMINORTYPE_UNSPECIFIED;
|
||||
rdp_settings->DesktopResize = TRUE;
|
||||
|
||||
/* Claim support only for specific updates, independent of FreeRDP defaults */
|
||||
ZeroMemory(rdp_settings->OrderSupport, GUAC_RDP_ORDER_SUPPORT_LENGTH);
|
||||
rdp_settings->OrderSupport[NEG_DSTBLT_INDEX] = TRUE;
|
||||
rdp_settings->OrderSupport[NEG_SCRBLT_INDEX] = TRUE;
|
||||
rdp_settings->OrderSupport[NEG_MEMBLT_INDEX] = !guac_settings->disable_bitmap_caching;
|
||||
rdp_settings->OrderSupport[NEG_MEMBLT_V2_INDEX] = !guac_settings->disable_bitmap_caching;
|
||||
rdp_settings->OrderSupport[NEG_GLYPH_INDEX_INDEX] = !guac_settings->disable_glyph_caching;
|
||||
rdp_settings->OrderSupport[NEG_FAST_INDEX_INDEX] = !guac_settings->disable_glyph_caching;
|
||||
rdp_settings->OrderSupport[NEG_FAST_GLYPH_INDEX] = !guac_settings->disable_glyph_caching;
|
||||
|
||||
#ifdef HAVE_RDPSETTINGS_ALLOWUNANOUNCEDORDERSFROMSERVER
|
||||
/* Do not consider server use of unannounced orders to be a fatal error */
|
||||
rdp_settings->AllowUnanouncedOrdersFromServer = TRUE;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user