summaryrefslogtreecommitdiff
path: root/miniport/qxl.c
diff options
context:
space:
mode:
Diffstat (limited to 'miniport/qxl.c')
-rw-r--r--miniport/qxl.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/miniport/qxl.c b/miniport/qxl.c
index 55e55d3..58ba15e 100644
--- a/miniport/qxl.c
+++ b/miniport/qxl.c
@@ -469,6 +469,8 @@ VP_STATUS FillVidModeInfo(VIDEO_MODE_INFORMATION *pMode, ULONG xres, ULONG yres,
/* Fills given video mode structure */
VP_STATUS FillVidModeInfo(VIDEO_MODE_INFORMATION *pMode, ULONG xres, ULONG yres, ULONG bpp, ULONG index)
{
+ unsigned bytes_pp = (bpp + 7) / 8;
+
if (xres <= 0 || yres <= 0)
return ERROR_INVALID_DATA;
@@ -479,7 +481,7 @@ VP_STATUS FillVidModeInfo(VIDEO_MODE_INFORMATION *pMode, ULONG xres, ULONG yres,
pMode->ModeIndex = index;
pMode->VisScreenWidth = xres;
pMode->VisScreenHeight = yres;
- pMode->ScreenStride = xres * ((bpp + 7) / 8);
+ pMode->ScreenStride = (xres * bytes_pp + 3) & ~0x3; /* Pixman requirement */
pMode->NumberOfPlanes = 1;
pMode->BitsPerPlane = bpp;
pMode->Frequency = 60;