diff options
author | Yuri Benditovich <yuri.benditovich@daynix.com> | 2020-02-27 12:02:54 +0200 |
---|---|---|
committer | Frediano Ziglio <fziglio@redhat.com> | 2020-03-02 16:52:11 +0000 |
commit | e318b56cb8f69ac9d649f6b93d058a579d6bfa57 (patch) | |
tree | 707b3a29d9636a3994d1151009210df1abaa3bf5 | |
parent | 7a7928db8710339ccf95698908d03eca90d84034 (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-x | qxldod/QxlDod.cpp | 8 |
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))
{
|