summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuri Benditovich <yuri.benditovich@daynix.com>2020-02-27 12:02:54 +0200
committerFrediano Ziglio <fziglio@redhat.com>2020-03-02 16:52:11 +0000
commite318b56cb8f69ac9d649f6b93d058a579d6bfa57 (patch)
tree707b3a29d9636a3994d1151009210df1abaa3bf5
parent7a7928db8710339ccf95698908d03eca90d84034 (diff)
Enable screen rotation of 180 and 270 degrees
https://bugzilla.redhat.com/show_bug.cgi?id=1791804 Currently the screen can be shown as Landscape and Portrait (90 deg. rotation). Allowing also Flipped Portrait (270 deg. rotation) and Flipped Landscape (180 deg). Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com> Acked-by: Marek Kedzierski <mkedzier@redhat.com>
-rwxr-xr-xqxldod/QxlDod.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/qxldod/QxlDod.cpp b/qxldod/QxlDod.cpp
index 95c0e97..6e97360 100755
--- a/qxldod/QxlDod.cpp
+++ b/qxldod/QxlDod.cpp
@@ -1299,8 +1299,8 @@ NTSTATUS QxlDod::EnumVidPnCofuncModality(_In_ CONST DXGKARG_ENUMVIDPNCOFUNCMODAL
LocalVidPnPresentPath.ContentTransformation.RotationSupport.Identity = 1;
// Sample supports only Rotate90
LocalVidPnPresentPath.ContentTransformation.RotationSupport.Rotate90 = 1;
- LocalVidPnPresentPath.ContentTransformation.RotationSupport.Rotate180 = 0;
- LocalVidPnPresentPath.ContentTransformation.RotationSupport.Rotate270 = 0;
+ LocalVidPnPresentPath.ContentTransformation.RotationSupport.Rotate180 = 1;
+ LocalVidPnPresentPath.ContentTransformation.RotationSupport.Rotate270 = 1;
SupportFieldsModified = TRUE;
}
} // End: ROTATION
@@ -1639,6 +1639,8 @@ NTSTATUS QxlDod::SetSourceModeAndPath(CONST D3DKMDT_VIDPN_SOURCE_MODE* pSourceMo
if (pCurrentBddMode->DispInfo.Width == pModeInfo->VisScreenWidth &&
pCurrentBddMode->DispInfo.Height == pModeInfo->VisScreenHeight )
{
+ DbgPrint(TRACE_LEVEL_INFORMATION, ("%s: %dx%d, rotation %d\n", __FUNCTION__,
+ pCurrentBddMode->SrcModeHeight, pCurrentBddMode->SrcModeWidth, pCurrentBddMode->Rotation));
Status = m_pHWDevice->SetCurrentMode(m_pHWDevice->GetModeNumber(ModeIndex));
if (NT_SUCCESS(Status))
{
@@ -1684,6 +1686,8 @@ NTSTATUS QxlDod::IsVidPnPathFieldsValid(CONST D3DKMDT_VIDPN_PRESENT_PATH* pPath)
}
else if ((pPath->ContentTransformation.Rotation != D3DKMDT_VPPR_IDENTITY) &&
(pPath->ContentTransformation.Rotation != D3DKMDT_VPPR_ROTATE90) &&
+ (pPath->ContentTransformation.Rotation != D3DKMDT_VPPR_ROTATE180) &&
+ (pPath->ContentTransformation.Rotation != D3DKMDT_VPPR_ROTATE270) &&
(pPath->ContentTransformation.Rotation != D3DKMDT_VPPR_NOTSPECIFIED) &&
(pPath->ContentTransformation.Rotation != D3DKMDT_VPPR_UNINITIALIZED))
{