mirror of
https://github.com/reactos/reactos.git
synced 2025-04-04 20:50:41 +00:00
[WIN32SS] Enable multidisplay driver when required
For now, it is only a stub which returns an error.
This commit is contained in:
parent
f3f4cc0f25
commit
9400063aae
3 changed files with 44 additions and 5 deletions
|
@ -77,6 +77,7 @@ list(APPEND SOURCE
|
||||||
gdi/eng/mem.c
|
gdi/eng/mem.c
|
||||||
gdi/eng/engmisc.c
|
gdi/eng/engmisc.c
|
||||||
gdi/eng/mouse.c
|
gdi/eng/mouse.c
|
||||||
|
gdi/eng/multidisp.c
|
||||||
gdi/eng/paint.c
|
gdi/eng/paint.c
|
||||||
gdi/eng/pathobj.c
|
gdi/eng/pathobj.c
|
||||||
gdi/eng/pdevobj.c
|
gdi/eng/pdevobj.c
|
||||||
|
|
24
win32ss/gdi/eng/multidisp.c
Normal file
24
win32ss/gdi/eng/multidisp.c
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS Win32k subsystem
|
||||||
|
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
|
||||||
|
* FILE: win32ss/gdi/eng/multidisp.c
|
||||||
|
* PURPOSE: Multi-Display driver
|
||||||
|
* PROGRAMMERS:
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* INCLUDES *******************************************************************/
|
||||||
|
|
||||||
|
#include <win32k.h>
|
||||||
|
#define NDEBUG
|
||||||
|
#include <debug.h>
|
||||||
|
|
||||||
|
BOOL
|
||||||
|
APIENTRY
|
||||||
|
MultiEnableDriver(
|
||||||
|
_In_ ULONG iEngineVersion,
|
||||||
|
_In_ ULONG cj,
|
||||||
|
_Inout_bytecount_(cj) PDRVENABLEDATA pded)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
return FALSE;
|
||||||
|
}
|
|
@ -14,6 +14,13 @@ DBG_DEFAULT_CHANNEL(EngPDev);
|
||||||
static PPDEVOBJ gppdevList = NULL;
|
static PPDEVOBJ gppdevList = NULL;
|
||||||
static HSEMAPHORE ghsemPDEV;
|
static HSEMAPHORE ghsemPDEV;
|
||||||
|
|
||||||
|
BOOL
|
||||||
|
APIENTRY
|
||||||
|
MultiEnableDriver(
|
||||||
|
_In_ ULONG iEngineVersion,
|
||||||
|
_In_ ULONG cj,
|
||||||
|
_Inout_bytecount_(cj) PDRVENABLEDATA pded);
|
||||||
|
|
||||||
CODE_SEG("INIT")
|
CODE_SEG("INIT")
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
|
@ -456,6 +463,9 @@ PDEVOBJ_Create(
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Try to get a display driver */
|
/* Try to get a display driver */
|
||||||
|
if (ldevtype == LDEV_DEVICE_META)
|
||||||
|
pldev = LDEVOBJ_pLoadInternal(MultiEnableDriver, ldevtype);
|
||||||
|
else
|
||||||
pldev = LDEVOBJ_pLoadDriver(pdm->dmDeviceName, ldevtype);
|
pldev = LDEVOBJ_pLoadDriver(pdm->dmDeviceName, ldevtype);
|
||||||
if (!pldev)
|
if (!pldev)
|
||||||
{
|
{
|
||||||
|
@ -877,11 +887,15 @@ PDEVOBJ_lChangeDisplaySettings(
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* FIXME: currently, only use the first display */
|
/* Enable MultiDriver */
|
||||||
UNIMPLEMENTED;
|
pmdev->ppdevGlobal = PDEVOBJ_Create(NULL, (PDEVMODEW)pmdev, 0, LDEV_DEVICE_META);
|
||||||
|
if (!pmdev->ppdevGlobal)
|
||||||
|
{
|
||||||
|
WARN("Failed to create meta-device. Using only first display\n");
|
||||||
PDEVOBJ_vReference(pmdev->dev[0].ppdev);
|
PDEVOBJ_vReference(pmdev->dev[0].ppdev);
|
||||||
pmdev->ppdevGlobal = pmdev->dev[0].ppdev;
|
pmdev->ppdevGlobal = pmdev->dev[0].ppdev;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (pmdevOld)
|
if (pmdevOld)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue