Signed-off-by: Chip Davis cdavis@codeweavers.com --- v2: Fix enumerant values. --- 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..577a1b6161ab 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 = 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); NTSTATUS WINAPI D3DKMTSetVidPnSourceOwner(const D3DKMT_SETVIDPNSOURCEOWNER *desc);
#ifdef __cplusplus
Chip Davis cdavis@codeweavers.com wrote:
+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;
It seems like DUMMYUNIONNAME and DUMMYSTRUCTNAME are missing.
January 29, 2020 1:23 AM, "Dmitry Timoshkov" dmitry@baikal.ru wrote:
Chip Davis cdavis@codeweavers.com wrote:
+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;
It seems like DUMMYUNIONNAME and DUMMYSTRUCTNAME are missing.
I thought so, too, but our whole file was like that when I found it.
Chip
January 29, 2020 1:28 AM, "Chip Davis" cdavis@codeweavers.com wrote:
January 29, 2020 1:23 AM, "Dmitry Timoshkov" dmitry@baikal.ru wrote:
Chip Davis cdavis@codeweavers.com wrote:
+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;
It seems like DUMMYUNIONNAME and DUMMYSTRUCTNAME are missing.
I thought so, too, but our whole file was like that when I found it.
Never mind--it's just D3DKMT_QUERYSTATISTICS that's like that.
Chip
Chip