[PATCH 3/5] gdi32: Add D3DKMTCheckVidPnExclusiveOwnership stub.
Zhiyi Zhang
zzhang at codeweavers.com
Thu Jul 4 08:29:03 CDT 2019
Signed-off-by: Zhiyi Zhang <zzhang at codeweavers.com>
---
.../api-ms-win-dx-d3dkmt-l1-1-0.spec | 2 +-
dlls/d3d11/d3d11.spec | 1 +
dlls/gdi32/dibdrv/dc.c | 2 ++
dlls/gdi32/driver.c | 22 +++++++++++++++++++
dlls/gdi32/enhmfdrv/dc.c | 1 +
dlls/gdi32/enhmfdrv/init.c | 1 +
dlls/gdi32/freetype.c | 1 +
dlls/gdi32/gdi32.spec | 1 +
dlls/gdi32/mfdrv/init.c | 1 +
dlls/gdi32/path.c | 1 +
dlls/wineandroid.drv/init.c | 1 +
dlls/winemac.drv/gdi.c | 1 +
dlls/wineps.drv/init.c | 1 +
dlls/winex11.drv/init.c | 1 +
dlls/winex11.drv/xrender.c | 1 +
include/ddk/d3dkmthk.h | 1 +
include/wine/gdi_driver.h | 3 ++-
17 files changed, 40 insertions(+), 2 deletions(-)
diff --git a/dlls/api-ms-win-dx-d3dkmt-l1-1-0/api-ms-win-dx-d3dkmt-l1-1-0.spec b/dlls/api-ms-win-dx-d3dkmt-l1-1-0/api-ms-win-dx-d3dkmt-l1-1-0.spec
index c14ebc68e9..0f68d777f0 100644
--- a/dlls/api-ms-win-dx-d3dkmt-l1-1-0/api-ms-win-dx-d3dkmt-l1-1-0.spec
+++ b/dlls/api-ms-win-dx-d3dkmt-l1-1-0/api-ms-win-dx-d3dkmt-l1-1-0.spec
@@ -5,7 +5,7 @@
@ stub D3DKMTCheckMonitorPowerState
@ stub D3DKMTCheckOcclusion
@ stub D3DKMTCheckSharedResourceAccess
-@ stub D3DKMTCheckVidPnExclusiveOwnership
+@ stdcall D3DKMTCheckVidPnExclusiveOwnership(ptr) gdi32.D3DKMTCheckVidPnExclusiveOwnership
@ stdcall D3DKMTCloseAdapter(ptr) gdi32.D3DKMTCloseAdapter
@ stub D3DKMTConfigureSharedResource
@ stub D3DKMTCreateAllocation
diff --git a/dlls/d3d11/d3d11.spec b/dlls/d3d11/d3d11.spec
index 606ddae3e3..383ed6aa9c 100644
--- a/dlls/d3d11/d3d11.spec
+++ b/dlls/d3d11/d3d11.spec
@@ -5,6 +5,7 @@
@ stdcall D3D11CreateDevice(ptr long ptr long ptr long long ptr ptr ptr)
@ stdcall D3D11CreateDeviceAndSwapChain(ptr long ptr long ptr long long ptr ptr ptr ptr ptr)
@ stdcall D3D11On12CreateDevice(ptr long ptr long ptr long long ptr ptr ptr)
+@ stdcall D3DKMTCheckVidPnExclusiveOwnership(ptr) gdi32.D3DKMTCheckVidPnExclusiveOwnership
@ stdcall D3DKMTCloseAdapter(ptr) gdi32.D3DKMTCloseAdapter
@ stub D3DKMTCreateAllocation
@ stub D3DKMTCreateContext
diff --git a/dlls/gdi32/dibdrv/dc.c b/dlls/gdi32/dibdrv/dc.c
index 10c3fc6f69..fe1ef1e0fc 100644
--- a/dlls/gdi32/dibdrv/dc.c
+++ b/dlls/gdi32/dibdrv/dc.c
@@ -520,6 +520,7 @@ const struct gdi_dc_funcs dib_driver =
dibdrv_StrokePath, /* pStrokePath */
NULL, /* pUnrealizePalette */
NULL, /* pWidenPath */
+ NULL, /* pD3DKMTCheckVidPnExclusiveOwnership */
NULL, /* pD3DKMTSetVidPnSourceOwner */
dibdrv_wine_get_wgl_driver, /* wine_get_wgl_driver */
NULL, /* wine_get_vulkan_driver */
@@ -1144,6 +1145,7 @@ static const struct gdi_dc_funcs window_driver =
NULL, /* pStrokePath */
NULL, /* pUnrealizePalette */
NULL, /* pWidenPath */
+ NULL, /* pD3DKMTCheckVidPnExclusiveOwnership */
NULL, /* pD3DKMTSetVidPnSourceOwner */
windrv_wine_get_wgl_driver, /* wine_get_wgl_driver */
NULL, /* wine_get_vulkan_driver */
diff --git a/dlls/gdi32/driver.c b/dlls/gdi32/driver.c
index 71a52ed9fc..9da7ba1734 100644
--- a/dlls/gdi32/driver.c
+++ b/dlls/gdi32/driver.c
@@ -753,6 +753,11 @@ static BOOL nulldrv_UnrealizePalette( HPALETTE palette )
return FALSE;
}
+static NTSTATUS WINAPI nulldrv_D3DKMTCheckVidPnExclusiveOwnership( const D3DKMT_CHECKVIDPNEXCLUSIVEOWNERSHIP *desc )
+{
+ return STATUS_PROCEDURE_NOT_FOUND;
+}
+
static NTSTATUS WINAPI nulldrv_D3DKMTSetVidPnSourceOwner( const D3DKMT_SETVIDPNSOURCEOWNER *desc )
{
return STATUS_PROCEDURE_NOT_FOUND;
@@ -897,6 +902,7 @@ const struct gdi_dc_funcs null_driver =
nulldrv_StrokePath, /* pStrokePath */
nulldrv_UnrealizePalette, /* pUnrealizePalette */
nulldrv_WidenPath, /* pWidenPath */
+ nulldrv_D3DKMTCheckVidPnExclusiveOwnership, /* pD3DKMTCheckVidPnExclusiveOwnership */
nulldrv_D3DKMTSetVidPnSourceOwner, /* pD3DKMTSetVidPnSourceOwner */
nulldrv_wine_get_wgl_driver, /* wine_get_wgl_driver */
nulldrv_wine_get_vulkan_driver, /* wine_get_vulkan_driver */
@@ -1473,3 +1479,19 @@ NTSTATUS WINAPI D3DKMTSetVidPnSourceOwner( const D3DKMT_SETVIDPNSOURCEOWNER *des
* released before showing the new window */
return get_display_driver()->pD3DKMTSetVidPnSourceOwner( desc );
}
+
+/******************************************************************************
+ * D3DKMTCheckVidPnExclusiveOwnership [GDI32.@]
+ */
+NTSTATUS WINAPI D3DKMTCheckVidPnExclusiveOwnership( const D3DKMT_CHECKVIDPNEXCLUSIVEOWNERSHIP *desc )
+{
+ TRACE("(%p)\n", desc);
+
+ if (!get_display_driver()->pD3DKMTCheckVidPnExclusiveOwnership)
+ return STATUS_PROCEDURE_NOT_FOUND;
+
+ if (!desc || !desc->hAdapter)
+ return STATUS_INVALID_PARAMETER;
+
+ return get_display_driver()->pD3DKMTCheckVidPnExclusiveOwnership( desc );
+}
diff --git a/dlls/gdi32/enhmfdrv/dc.c b/dlls/gdi32/enhmfdrv/dc.c
index 80e54685c7..450f80f6ba 100644
--- a/dlls/gdi32/enhmfdrv/dc.c
+++ b/dlls/gdi32/enhmfdrv/dc.c
@@ -950,6 +950,7 @@ static const struct gdi_dc_funcs emfpath_driver =
NULL, /* pStrokePath */
NULL, /* pUnrealizePalette */
NULL, /* pWidenPath */
+ NULL, /* pD3DKMTCheckVidPnExclusiveOwnership */
NULL, /* pD3DKMTSetVidPnSourceOwner */
NULL, /* wine_get_wgl_driver */
NULL, /* wine_get_vulkan_driver */
diff --git a/dlls/gdi32/enhmfdrv/init.c b/dlls/gdi32/enhmfdrv/init.c
index 6938e45cbd..d13f3b2b9d 100644
--- a/dlls/gdi32/enhmfdrv/init.c
+++ b/dlls/gdi32/enhmfdrv/init.c
@@ -163,6 +163,7 @@ static const struct gdi_dc_funcs emfdrv_driver =
EMFDRV_StrokePath, /* pStrokePath */
NULL, /* pUnrealizePalette */
EMFDRV_WidenPath, /* pWidenPath */
+ NULL, /* pD3DKMTCheckVidPnExclusiveOwnership */
NULL, /* pD3DKMTSetVidPnSourceOwner */
NULL, /* wine_get_wgl_driver */
NULL, /* wine_get_vulkan_driver */
diff --git a/dlls/gdi32/freetype.c b/dlls/gdi32/freetype.c
index b571611c13..dceb1fae38 100644
--- a/dlls/gdi32/freetype.c
+++ b/dlls/gdi32/freetype.c
@@ -9236,6 +9236,7 @@ static const struct gdi_dc_funcs freetype_funcs =
NULL, /* pStrokePath */
NULL, /* pUnrealizePalette */
NULL, /* pWidenPath */
+ NULL, /* pD3DKMTCheckVidPnExclusiveOwnership */
NULL, /* pD3DKMTSetVidPnSourceOwner */
NULL, /* wine_get_wgl_driver */
NULL, /* wine_get_vulkan_driver */
diff --git a/dlls/gdi32/gdi32.spec b/dlls/gdi32/gdi32.spec
index 597002c9a8..4d71b75d19 100644
--- a/dlls/gdi32/gdi32.spec
+++ b/dlls/gdi32/gdi32.spec
@@ -80,6 +80,7 @@
@ stdcall CreateScalableFontResourceA(long str str str)
@ stdcall CreateScalableFontResourceW(long wstr wstr wstr)
@ stdcall CreateSolidBrush(long)
+@ stdcall D3DKMTCheckVidPnExclusiveOwnership(ptr)
@ stdcall D3DKMTCloseAdapter(ptr)
@ stdcall D3DKMTCreateDCFromMemory(ptr)
@ stdcall D3DKMTCreateDevice(ptr)
diff --git a/dlls/gdi32/mfdrv/init.c b/dlls/gdi32/mfdrv/init.c
index fb568f1838..52181cd60f 100644
--- a/dlls/gdi32/mfdrv/init.c
+++ b/dlls/gdi32/mfdrv/init.c
@@ -226,6 +226,7 @@ static const struct gdi_dc_funcs MFDRV_Funcs =
MFDRV_StrokePath, /* pStrokePath */
NULL, /* pUnrealizePalette */
MFDRV_WidenPath, /* pWidenPath */
+ NULL, /* pD3DKMTCheckVidPnExclusiveOwnership */
NULL, /* pD3DKMTSetVidPnSourceOwner */
NULL, /* wine_get_wgl_driver */
NULL, /* wine_get_vulkan_driver */
diff --git a/dlls/gdi32/path.c b/dlls/gdi32/path.c
index 23c0162f64..9a671db46c 100644
--- a/dlls/gdi32/path.c
+++ b/dlls/gdi32/path.c
@@ -2248,6 +2248,7 @@ const struct gdi_dc_funcs path_driver =
NULL, /* pStrokePath */
NULL, /* pUnrealizePalette */
NULL, /* pWidenPath */
+ NULL, /* pD3DKMTCheckVidPnExclusiveOwnership */
NULL, /* pD3DKMTSetVidPnSourceOwner */
NULL, /* wine_get_wgl_driver */
NULL, /* wine_get_vulkan_driver */
diff --git a/dlls/wineandroid.drv/init.c b/dlls/wineandroid.drv/init.c
index ec6c689b49..a73b025d4d 100644
--- a/dlls/wineandroid.drv/init.c
+++ b/dlls/wineandroid.drv/init.c
@@ -411,6 +411,7 @@ static const struct gdi_dc_funcs android_drv_funcs =
NULL, /* pStrokePath */
NULL, /* pUnrealizePalette */
NULL, /* pWidenPath */
+ NULL, /* pD3DKMTCheckVidPnExclusiveOwnership */
NULL, /* pD3DKMTSetVidPnSourceOwner */
ANDROID_wine_get_wgl_driver, /* wine_get_wgl_driver */
NULL, /* wine_get_vulkan_driver */
diff --git a/dlls/winemac.drv/gdi.c b/dlls/winemac.drv/gdi.c
index 32aeba04b4..5adf86c9de 100644
--- a/dlls/winemac.drv/gdi.c
+++ b/dlls/winemac.drv/gdi.c
@@ -390,6 +390,7 @@ static const struct gdi_dc_funcs macdrv_funcs =
NULL, /* pStrokePath */
NULL, /* pUnrealizePalette */
NULL, /* pWidenPath */
+ NULL, /* pD3DKMTCheckVidPnExclusiveOwnership */
NULL, /* pD3DKMTSetVidPnSourceOwner */
macdrv_wine_get_wgl_driver, /* wine_get_wgl_driver */
macdrv_wine_get_vulkan_driver, /* wine_get_vulkan_driver */
diff --git a/dlls/wineps.drv/init.c b/dlls/wineps.drv/init.c
index 2183029058..e82b0c8ee3 100644
--- a/dlls/wineps.drv/init.c
+++ b/dlls/wineps.drv/init.c
@@ -908,6 +908,7 @@ static const struct gdi_dc_funcs psdrv_funcs =
PSDRV_StrokePath, /* pStrokePath */
NULL, /* pUnrealizePalette */
NULL, /* pWidenPath */
+ NULL, /* pD3DKMTCheckVidPnExclusiveOwnership */
NULL, /* pD3DKMTSetVidPnSourceOwner */
NULL, /* wine_get_wgl_driver */
NULL, /* wine_get_vulkan_driver */
diff --git a/dlls/winex11.drv/init.c b/dlls/winex11.drv/init.c
index baed875ba5..49d334ef62 100644
--- a/dlls/winex11.drv/init.c
+++ b/dlls/winex11.drv/init.c
@@ -471,6 +471,7 @@ static const struct gdi_dc_funcs x11drv_funcs =
X11DRV_StrokePath, /* pStrokePath */
X11DRV_UnrealizePalette, /* pUnrealizePalette */
NULL, /* pWidenPath */
+ NULL, /* pD3DKMTCheckVidPnExclusiveOwnership */
NULL, /* pD3DKMTSetVidPnSourceOwner */
X11DRV_wine_get_wgl_driver, /* wine_get_wgl_driver */
X11DRV_wine_get_vulkan_driver, /* wine_get_vulkan_driver */
diff --git a/dlls/winex11.drv/xrender.c b/dlls/winex11.drv/xrender.c
index e8dbf27c0d..addd0ea1b1 100644
--- a/dlls/winex11.drv/xrender.c
+++ b/dlls/winex11.drv/xrender.c
@@ -2284,6 +2284,7 @@ static const struct gdi_dc_funcs xrender_funcs =
NULL, /* pStrokePath */
NULL, /* pUnrealizePalette */
NULL, /* pWidenPath */
+ NULL, /* pD3DKMTCheckVidPnExclusiveOwnership */
NULL, /* pD3DKMTSetVidPnSourceOwner */
NULL, /* wine_get_wgl_driver */
NULL, /* wine_get_vulkan_driver */
diff --git a/include/ddk/d3dkmthk.h b/include/ddk/d3dkmthk.h
index 05e2e65aea..717fdb3579 100644
--- a/include/ddk/d3dkmthk.h
+++ b/include/ddk/d3dkmthk.h
@@ -165,6 +165,7 @@ extern "C"
{
#endif /* __cplusplus */
+NTSTATUS WINAPI D3DKMTCheckVidPnExclusiveOwnership(const D3DKMT_CHECKVIDPNEXCLUSIVEOWNERSHIP *desc);
NTSTATUS WINAPI D3DKMTCloseAdapter(const D3DKMT_CLOSEADAPTER *desc);
NTSTATUS WINAPI D3DKMTCreateDevice(D3DKMT_CREATEDEVICE *desc);
NTSTATUS WINAPI D3DKMTCreateDCFromMemory(D3DKMT_CREATEDCFROMMEMORY *desc);
diff --git a/include/wine/gdi_driver.h b/include/wine/gdi_driver.h
index fac25349d1..8ae641b1ee 100644
--- a/include/wine/gdi_driver.h
+++ b/include/wine/gdi_driver.h
@@ -194,6 +194,7 @@ struct gdi_dc_funcs
BOOL (*pStrokePath)(PHYSDEV);
BOOL (*pUnrealizePalette)(HPALETTE);
BOOL (*pWidenPath)(PHYSDEV);
+ NTSTATUS (*pD3DKMTCheckVidPnExclusiveOwnership)(const D3DKMT_CHECKVIDPNEXCLUSIVEOWNERSHIP *);
NTSTATUS (*pD3DKMTSetVidPnSourceOwner)(const D3DKMT_SETVIDPNSOURCEOWNER *);
struct opengl_funcs * (*wine_get_wgl_driver)(PHYSDEV,UINT);
const struct vulkan_funcs * (*wine_get_vulkan_driver)(PHYSDEV,UINT);
@@ -203,7 +204,7 @@ struct gdi_dc_funcs
};
/* increment this when you change the DC function table */
-#define WINE_GDI_DRIVER_VERSION 50
+#define WINE_GDI_DRIVER_VERSION 51
#define GDI_PRIORITY_NULL_DRV 0 /* null driver */
#define GDI_PRIORITY_FONT_DRV 100 /* any font driver */
--
2.20.1
More information about the wine-devel
mailing list