Signed-off-by: Chip Davis cdavis@codeweavers.com --- dlls/gdi32/driver.c | 9 +++++++++ dlls/gdi32/gdi32.spec | 1 + include/ddk/d3dkmthk.h | 22 ++++++++++++++++++++++ 3 files changed, 32 insertions(+)
diff --git a/dlls/gdi32/driver.c b/dlls/gdi32/driver.c index d84584da8695..90977383a58f 100644 --- a/dlls/gdi32/driver.c +++ b/dlls/gdi32/driver.c @@ -1470,6 +1470,15 @@ NTSTATUS WINAPI D3DKMTQueryStatistics(D3DKMT_QUERYSTATISTICS *stats) return STATUS_SUCCESS; }
+/****************************************************************************** + * D3DKMTSetQueuedLimit [GDI32.@] + */ +NTSTATUS WINAPI D3DKMTSetQueuedLimit( D3DKMT_SETQUEUEDLIMIT *desc ) +{ + FIXME( "(%p): stub\n", desc ); + return STATUS_NOT_IMPLEMENTED; +} + /****************************************************************************** * D3DKMTSetVidPnSourceOwner [GDI32.@] */ diff --git a/dlls/gdi32/gdi32.spec b/dlls/gdi32/gdi32.spec index 8faa2978f496..725afebb8eb8 100644 --- a/dlls/gdi32/gdi32.spec +++ b/dlls/gdi32/gdi32.spec @@ -90,6 +90,7 @@ @ stdcall D3DKMTOpenAdapterFromGdiDisplayName(ptr) @ stdcall D3DKMTOpenAdapterFromHdc(ptr) @ stdcall D3DKMTQueryStatistics(ptr) +@ stdcall D3DKMTSetQueuedLimit(ptr) @ stdcall D3DKMTSetVidPnSourceOwner(ptr) @ stdcall DPtoLP(long ptr long) @ stdcall DeleteColorSpace(long) diff --git a/include/ddk/d3dkmthk.h b/include/ddk/d3dkmthk.h index 6d6a1d68cd0c..f9dd2d85eed3 100644 --- a/include/ddk/d3dkmthk.h +++ b/include/ddk/d3dkmthk.h @@ -597,6 +597,27 @@ typedef struct _D3DKMT_QUERYSTATISTICS }; } D3DKMT_QUERYSTATISTICS;
+typedef enum _D3DKMT_QUEUEDLIMIT_TYPE +{ + D3DKMT_SET_QUEUEDLIMIT_PRESENT, + D3DKMT_GET_QUEUEDLIMIT_PRESENT +} D3DKMT_QUEUEDLIMIT_TYPE; + +typedef struct _D3DKMT_SETQUEUEDLIMIT +{ + D3DKMT_HANDLE hDevice; + D3DKMT_QUEUEDLIMIT_TYPE Type; + union + { + UINT QueuedPresentLimit; + struct + { + D3DDDI_VIDEO_PRESENT_SOURCE_ID VidPnSourceId; + UINT QueuedPendingFlipLimit; + }; + }; +} D3DKMT_SETQUEUEDLIMIT; + #ifdef __cplusplus extern "C" { @@ -610,6 +631,7 @@ NTSTATUS WINAPI D3DKMTDestroyDCFromMemory(const D3DKMT_DESTROYDCFROMMEMORY *desc NTSTATUS WINAPI D3DKMTDestroyDevice(const D3DKMT_DESTROYDEVICE *desc); NTSTATUS WINAPI D3DKMTOpenAdapterFromGdiDisplayName(D3DKMT_OPENADAPTERFROMGDIDISPLAYNAME *desc); NTSTATUS WINAPI D3DKMTQueryStatistics(D3DKMT_QUERYSTATISTICS *stats); +NTSTATUS WINAPI D3DKMTSetQueuedLimit(D3DKMT_SETQUEUEDLIMIT *desc); NTSTATUS WINAPI D3DKMTSetVidPnSourceOwner(const D3DKMT_SETVIDPNSOURCEOWNER *desc);
#ifdef __cplusplus
On Sun, Jan 26, 2020 at 05:59:46PM -0600, Chip Davis wrote:
Signed-off-by: Chip Davis cdavis@codeweavers.com diff --git a/include/ddk/d3dkmthk.h b/include/ddk/d3dkmthk.h index 6d6a1d68cd0c..f9dd2d85eed3 100644 --- a/include/ddk/d3dkmthk.h +++ b/include/ddk/d3dkmthk.h @@ -597,6 +597,27 @@ typedef struct _D3DKMT_QUERYSTATISTICS }; } D3DKMT_QUERYSTATISTICS;
+typedef enum _D3DKMT_QUEUEDLIMIT_TYPE +{
- D3DKMT_SET_QUEUEDLIMIT_PRESENT,
This should be = 1
- D3DKMT_GET_QUEUEDLIMIT_PRESENT
+} D3DKMT_QUEUEDLIMIT_TYPE;
+typedef struct _D3DKMT_SETQUEUEDLIMIT +{
- D3DKMT_HANDLE hDevice;
- D3DKMT_QUEUEDLIMIT_TYPE Type;
- union
- {
UINT QueuedPresentLimit;
struct
{
D3DDDI_VIDEO_PRESENT_SOURCE_ID VidPnSourceId;
UINT QueuedPendingFlipLimit;
};
- };
+} D3DKMT_SETQUEUEDLIMIT;
#ifdef __cplusplus extern "C" { @@ -610,6 +631,7 @@ NTSTATUS WINAPI D3DKMTDestroyDCFromMemory(const D3DKMT_DESTROYDCFROMMEMORY *desc NTSTATUS WINAPI D3DKMTDestroyDevice(const D3DKMT_DESTROYDEVICE *desc); NTSTATUS WINAPI D3DKMTOpenAdapterFromGdiDisplayName(D3DKMT_OPENADAPTERFROMGDIDISPLAYNAME *desc); NTSTATUS WINAPI D3DKMTQueryStatistics(D3DKMT_QUERYSTATISTICS *stats); +NTSTATUS WINAPI D3DKMTSetQueuedLimit(D3DKMT_SETQUEUEDLIMIT *desc);
Missing const.
Huw.
January 28, 2020 4:24 AM, "Huw Davies" huw@codeweavers.com wrote:
- D3DKMT_GET_QUEUEDLIMIT_PRESENT
+} D3DKMT_QUEUEDLIMIT_TYPE;
+typedef struct _D3DKMT_SETQUEUEDLIMIT +{
- D3DKMT_HANDLE hDevice;
- D3DKMT_QUEUEDLIMIT_TYPE Type;
- union
- {
- UINT QueuedPresentLimit;
- struct
- {
- D3DDDI_VIDEO_PRESENT_SOURCE_ID VidPnSourceId;
- UINT QueuedPendingFlipLimit;
- };
- };
+} D3DKMT_SETQUEUEDLIMIT;
#ifdef __cplusplus extern "C" { @@ -610,6 +631,7 @@ NTSTATUS WINAPI D3DKMTDestroyDCFromMemory(const D3DKMT_DESTROYDCFROMMEMORY *desc NTSTATUS WINAPI D3DKMTDestroyDevice(const D3DKMT_DESTROYDEVICE *desc); NTSTATUS WINAPI D3DKMTOpenAdapterFromGdiDisplayName(D3DKMT_OPENADAPTERFROMGDIDISPLAYNAME *desc); NTSTATUS WINAPI D3DKMTQueryStatistics(D3DKMT_QUERYSTATISTICS *stats); +NTSTATUS WINAPI D3DKMTSetQueuedLimit(D3DKMT_SETQUEUEDLIMIT *desc);
Missing const.
This is an in/out parameter. Confusingly, it can also be used to get the limit.
Chip