[Spice-devel] [PATCH] Add support for resolution 800x600
Christophe de Dinechin
cdupontd at redhat.com
Mon Feb 19 13:45:49 UTC 2018
> On 19 Feb 2018, at 14:35, Frediano Ziglio <fziglio at redhat.com> wrote:
>
>>
>> https://bugzilla.redhat.com/show_bug.cgi?id=1477492
>> https://docs.microsoft.com/en-us/windows-hardware/design/minimum/minimum-hardware-requirements-overview
>> requires 800x600 to be supported.
>>
>> Signed-off-by: Yuri Benditovich <yuri.benditovich at daynix.com>
>> ---
>> qxldod/QxlDod.cpp | 28 ++++++++++++++--------------
>> qxldod/QxlDod.h | 6 ++++--
>> 2 files changed, 18 insertions(+), 16 deletions(-)
>>
>> diff --git a/qxldod/QxlDod.cpp b/qxldod/QxlDod.cpp
>> index 4f508bd..ee97b09 100755
>> --- a/qxldod/QxlDod.cpp
>> +++ b/qxldod/QxlDod.cpp
>> @@ -2572,15 +2572,15 @@ NTSTATUS
>> VgaDevice::GetModeList(DXGK_DISPLAY_INFORMATION* pDispInfo)
>>
>> DbgPrint(TRACE_LEVEL_INFORMATION, ("ModeTemp = 0x%X %dx%d@%d\n",
>> ModeTemp, tmpModeInfo.XResolution, tmpModeInfo.YResolution,
>> tmpModeInfo.BitsPerPixel));
>>
>> - if (tmpModeInfo.XResolution >= MIN_WIDTH_SIZE &&
>> - tmpModeInfo.YResolution >= MIN_HEIGHT_SIZE &&
>> + if (tmpModeInfo.XResolution >= MINIMAL_WIDTH &&
>> + tmpModeInfo.YResolution >= MINIMAL_HEIGHT &&
>> tmpModeInfo.BitsPerPixel == BitsPerPixel &&
>> tmpModeInfo.PhysBasePtr != 0)
>> {
>> m_ModeNumbers[SuitableModeCount] = ModeTemp;
>> SetVideoModeInfo(SuitableModeCount, &tmpModeInfo);
>> - if (tmpModeInfo.XResolution == MIN_WIDTH_SIZE &&
>> - tmpModeInfo.YResolution == MIN_HEIGHT_SIZE)
>> + if (tmpModeInfo.XResolution == INITIAL_WIDTH &&
>> + tmpModeInfo.YResolution == INITIAL_HEIGHT)
>> {
>> m_CurrentMode = (USHORT)SuitableModeCount;
>> }
>> @@ -3186,8 +3186,8 @@ NTSTATUS
>> QxlDevice::GetModeList(DXGK_DISPLAY_INFORMATION* pDispInfo)
>> UINT BitsPerPixel = BPPFromPixelFormat(pDispInfo->ColorFormat);
>> if (Width == 0 || Height == 0 || BitsPerPixel != QXL_BPP)
>> {
>> - Width = MIN_WIDTH_SIZE;
>> - Height = MIN_HEIGHT_SIZE;
>> + Width = MINIMAL_WIDTH;
>> + Height = MINIMAL_HEIGHT;
>> BitsPerPixel = QXL_BPP;
>> }
>>
>
> Why not setting to the initial values here?
>
>> @@ -3200,14 +3200,14 @@ NTSTATUS
>> QxlDevice::GetModeList(DXGK_DISPLAY_INFORMATION* pDispInfo)
>>
>> DbgPrint(TRACE_LEVEL_INFORMATION, ("%s: modes[%d] x_res = %d, y_res
>> = %d, bits = %d BitsPerPixel = %d\n", __FUNCTION__, CurrentMode,
>> tmpModeInfo->x_res, tmpModeInfo->y_res, tmpModeInfo->bits,
>> BitsPerPixel));
>>
>> - if (tmpModeInfo->x_res >= MIN_WIDTH_SIZE &&
>> - tmpModeInfo->y_res >= MIN_HEIGHT_SIZE &&
>> + if (tmpModeInfo->x_res >= MINIMAL_WIDTH &&
>> + tmpModeInfo->y_res >= MINIMAL_HEIGHT &&
>> tmpModeInfo->bits == QXL_BPP)
>> {
>> m_ModeNumbers[SuitableModeCount] = SuitableModeCount;
>> SetVideoModeInfo(SuitableModeCount, tmpModeInfo);
>> - if (tmpModeInfo->x_res == MIN_WIDTH_SIZE &&
>> - tmpModeInfo->y_res == MIN_HEIGHT_SIZE)
>> + if (tmpModeInfo->x_res == INITIAL_WIDTH &&
>> + tmpModeInfo->y_res == INITIAL_HEIGHT)
>> {
>> m_CurrentMode = SuitableModeCount;
>> }
>> @@ -4883,9 +4883,9 @@ NTSTATUS
>> QxlDevice::SetCustomDisplay(QXLEscapeSetCustomDisplay* custom_display)
>> UINT yres = custom_display->yres;
>> UINT bpp = QXL_BPP;
>> DbgPrint(TRACE_LEVEL_WARNING, ("%s - %d (%dx%d#%d)\n", __FUNCTION__,
>> m_Id, xres, yres, bpp));
>> - if (xres < MIN_WIDTH_SIZE || yres < MIN_HEIGHT_SIZE) {
>> + if (xres < MINIMAL_WIDTH || yres < MINIMAL_HEIGHT) {
>> DbgPrint(TRACE_LEVEL_VERBOSE, ("%s: (%dx%d#%d) less than (%dx%d)\n",
>> __FUNCTION__,
>> - xres, yres, bpp, MIN_WIDTH_SIZE, MIN_HEIGHT_SIZE));
>> + xres, yres, bpp, MINIMAL_WIDTH, MINIMAL_HEIGHT));
>> }
>> m_CustomMode =(USHORT) ((m_CustomMode == m_ModeCount-1)? m_ModeCount -
>> 2 : m_ModeCount - 1);
>>
>> @@ -5147,8 +5147,8 @@ NTSTATUS
>> HwDeviceInterface::AcquireDisplayInfo(DXGK_DISPLAY_INFORMATION& DispInf
>> if (DispInfo.Width == 0)
>> {
>> DispInfo.ColorFormat = D3DDDIFMT_A8R8G8B8;
>> - DispInfo.Width = MIN_WIDTH_SIZE;
>> - DispInfo.Height = MIN_HEIGHT_SIZE;
>> + DispInfo.Width = INITIAL_WIDTH;
>> + DispInfo.Height = INITIAL_HEIGHT;
>> DispInfo.Pitch = DispInfo.Width *
>> BPPFromPixelFormat(DispInfo.ColorFormat) / BITS_PER_BYTE;
>> DispInfo.TargetId = 0;
>> }
>> diff --git a/qxldod/QxlDod.h b/qxldod/QxlDod.h
>> index 695b83a..ba7e6a7 100755
>> --- a/qxldod/QxlDod.h
>> +++ b/qxldod/QxlDod.h
>> @@ -19,8 +19,10 @@
>> #define BITS_PER_BYTE 8
>>
>> #define POINTER_SIZE 64
>> -#define MIN_WIDTH_SIZE 1024
>> -#define MIN_HEIGHT_SIZE 768
>> +#define MINIMAL_WIDTH 800
>> +#define MINIMAL_HEIGHT 600
>> +#define INITIAL_WIDTH 1024
>> +#define INITIAL_HEIGHT 768
>> #define QXL_BPP 32
>> #define VGA_BPP 24
>>
>
> Patch is good but the renames MIN_WIDTH_SIZE -> MINIMAL_WIDTH and MIN_HEIGHT_SIZE -> MINIMAL_HEIGHT
> are not really necessary and I don't think the new names are more clear than the old ones.
Well, clearer I don’t know, but closer to regular English syntax, they are. “Min width size” means the size of the width, which does not make much sense. So unless you strongly object, I’d keep that rename.
>
> Frediano
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/spice-devel
More information about the Spice-devel
mailing list