forked from reactos/reactos
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[SDK][WIN32SS] Prepare the d3dkmt APIs up to Vista RTM
- Loading branch information
1 parent
6907831
commit d175cc4
Showing
15 changed files
with
2,211 additions
and
15 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,218 @@ | ||
/* | ||
* PROJECT: ReactOS Display Driver Model | ||
* LICENSE: MIT (https://spdx.org/licenses/MIT) | ||
* PURPOSE: Header file for WDDM style DDIs | ||
* COPYRIGHT: Copyright 2024 Justin Miller <[email protected]> | ||
*/ | ||
|
||
#ifndef _D3DKMDDI_H_ | ||
#define _D3DKMDDI_H_ | ||
|
||
#include <d3dkmdt.h> | ||
|
||
typedef struct _DXGK_ALLOCATIONINFOFLAGS_WDDM2_0 | ||
{ | ||
union | ||
{ | ||
struct | ||
{ | ||
UINT CpuVisible : 1; | ||
UINT PermanentSysMem : 1; | ||
UINT Cached : 1; | ||
UINT Protected : 1; | ||
UINT ExistingSysMem : 1; | ||
UINT ExistingKernelSysMem : 1; | ||
UINT FromEndOfSegment : 1; | ||
UINT DisableLargePageMapping : 1; | ||
UINT Overlay : 1; | ||
UINT Capture : 1; | ||
#if (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WDDM2_1) | ||
UINT CreateInVpr : 1; | ||
#else | ||
UINT Reserved00 : 1; | ||
#endif | ||
UINT DXGK_ALLOC_RESERVED17 : 1; | ||
UINT Reserved02 : 1; | ||
#if (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WDDM2_9) | ||
UINT MapApertureCpuVisible : 1; | ||
#else | ||
UINT Reserved03 : 1; | ||
#endif | ||
UINT HistoryBuffer : 1; | ||
UINT AccessedPhysically : 1; | ||
UINT ExplicitResidencyNotification : 1; | ||
UINT HardwareProtected : 1; | ||
UINT CpuVisibleOnDemand : 1; | ||
UINT DXGK_ALLOC_RESERVED16 : 1; | ||
UINT DXGK_ALLOC_RESERVED15 : 1; | ||
UINT DXGK_ALLOC_RESERVED14 : 1; | ||
UINT DXGK_ALLOC_RESERVED13 : 1; | ||
UINT DXGK_ALLOC_RESERVED12 : 1; | ||
UINT DXGK_ALLOC_RESERVED11 : 1; | ||
UINT DXGK_ALLOC_RESERVED10 : 1; | ||
UINT DXGK_ALLOC_RESERVED9 : 1; | ||
UINT DXGK_ALLOC_RESERVED4 : 1; | ||
UINT DXGK_ALLOC_RESERVED3 : 1; | ||
UINT DXGK_ALLOC_RESERVED2 : 1; | ||
UINT DXGK_ALLOC_RESERVED1 : 1; | ||
UINT DXGK_ALLOC_RESERVED0 : 1; | ||
}; | ||
UINT Value; | ||
}; | ||
} DXGK_ALLOCATIONINFOFLAGS_WDDM2_0; | ||
|
||
typedef struct _DXGK_SEGMENTPREFERENCE | ||
{ | ||
union | ||
{ | ||
struct | ||
{ | ||
UINT SegmentId0 : 5; | ||
UINT Direction0 : 1; | ||
UINT SegmentId1 : 5; | ||
UINT Direction1 : 1; | ||
UINT SegmentId2 : 5; | ||
UINT Direction2 : 1; | ||
UINT SegmentId3 : 5; | ||
UINT Direction3 : 1; | ||
UINT SegmentId4 : 5; | ||
UINT Direction4 : 1; | ||
UINT Reserved : 2; | ||
}; | ||
UINT Value; | ||
}; | ||
} DXGK_SEGMENTPREFERENCE, *PDXGK_SEGMENTPREFERENCE; | ||
|
||
|
||
typedef struct _DXGK_SEGMENTBANKPREFERENCE | ||
{ | ||
union | ||
{ | ||
struct | ||
{ | ||
UINT Bank0 : 7; | ||
UINT Direction0 : 1; | ||
UINT Bank1 : 7; | ||
UINT Direction1 : 1; | ||
UINT Bank2 : 7; | ||
UINT Direction2 : 1; | ||
UINT Bank3 : 7; | ||
UINT Direction3 : 1; | ||
}; | ||
UINT Value; | ||
}; | ||
} DXGK_SEGMENTBANKPREFERENCE; | ||
typedef struct _DXGK_ALLOCATIONINFOFLAGS | ||
{ | ||
union | ||
{ | ||
struct | ||
{ | ||
UINT CpuVisible : 1; | ||
UINT PermanentSysMem : 1; | ||
UINT Cached : 1; | ||
UINT Protected : 1; | ||
UINT ExistingSysMem : 1; | ||
UINT ExistingKernelSysMem : 1; | ||
UINT FromEndOfSegment : 1; | ||
UINT Swizzled : 1; | ||
UINT Overlay : 1; | ||
UINT Capture : 1; | ||
UINT UseAlternateVA : 1; | ||
UINT SynchronousPaging : 1; | ||
UINT LinkMirrored : 1; | ||
UINT LinkInstanced : 1; | ||
UINT HistoryBuffer : 1; | ||
#if (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WDDM2_0) | ||
UINT AccessedPhysically : 1; | ||
UINT ExplicitResidencyNotification : 1; | ||
UINT HardwareProtected : 1; | ||
UINT CpuVisibleOnDemand : 1; | ||
#else | ||
UINT Reserved : 4; | ||
#endif | ||
UINT DXGK_ALLOC_RESERVED16 : 1; | ||
UINT DXGK_ALLOC_RESERVED15 : 1; | ||
UINT DXGK_ALLOC_RESERVED14 : 1; | ||
UINT DXGK_ALLOC_RESERVED13 : 1; | ||
UINT DXGK_ALLOC_RESERVED12 : 1; | ||
UINT DXGK_ALLOC_RESERVED11 : 1; | ||
UINT DXGK_ALLOC_RESERVED10 : 1; | ||
UINT DXGK_ALLOC_RESERVED9 : 1; | ||
UINT DXGK_ALLOC_RESERVED4 : 1; | ||
UINT DXGK_ALLOC_RESERVED3 : 1; | ||
UINT DXGK_ALLOC_RESERVED2 : 1; | ||
UINT DXGK_ALLOC_RESERVED1 : 1; | ||
UINT DXGK_ALLOC_RESERVED0 : 1; | ||
}; | ||
UINT Value; | ||
}; | ||
} DXGK_ALLOCATIONINFOFLAGS; | ||
typedef struct _DXGK_ALLOCATIONUSAGEINFO1 | ||
{ | ||
union | ||
{ | ||
struct | ||
{ | ||
UINT PrivateFormat : 1; | ||
UINT Swizzled : 1; | ||
UINT MipMap : 1; | ||
UINT Cube : 1; | ||
UINT Volume : 1; | ||
UINT Vertex : 1; | ||
UINT Index : 1; | ||
UINT Reserved : 25; | ||
}; | ||
UINT Value; | ||
} Flags; | ||
union | ||
{ | ||
D3DDDIFORMAT Format; | ||
UINT PrivateFormat; | ||
}; | ||
UINT SwizzledFormat; | ||
UINT ByteOffset; | ||
UINT Width; | ||
UINT Height; | ||
UINT Pitch; | ||
UINT Depth; | ||
UINT SlicePitch; | ||
} DXGK_ALLOCATIONUSAGEINFO1; | ||
typedef struct _DXGK_ALLOCATIONUSAGEHINT | ||
{ | ||
UINT Version; | ||
DXGK_ALLOCATIONUSAGEINFO1 v1; | ||
} DXGK_ALLOCATIONUSAGEHINT; | ||
typedef struct _DXGK_ALLOCATIONINFO | ||
{ | ||
VOID* pPrivateDriverData; | ||
UINT PrivateDriverDataSize; | ||
UINT Alignment; | ||
SIZE_T Size; | ||
SIZE_T PitchAlignedSize; | ||
DXGK_SEGMENTBANKPREFERENCE HintedBank; | ||
DXGK_SEGMENTPREFERENCE PreferredSegment; | ||
UINT SupportedReadSegmentSet; | ||
UINT SupportedWriteSegmentSet; | ||
UINT EvictionSegmentSet; | ||
union | ||
{ | ||
UINT MaximumRenamingListLength; | ||
UINT PhysicalAdapterIndex; | ||
}; | ||
HANDLE hAllocation; | ||
union | ||
{ | ||
DXGK_ALLOCATIONINFOFLAGS Flags; | ||
#if (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WDDM2_0) | ||
DXGK_ALLOCATIONINFOFLAGS_WDDM2_0 FlagsWddm2; | ||
#endif | ||
}; | ||
DXGK_ALLOCATIONUSAGEHINT* pAllocationUsageHint; | ||
UINT AllocationPriority; | ||
#if (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WDDM3_0) | ||
DXGK_ALLOCATIONINFOFLAGS2 Flags2; | ||
#endif | ||
} DXGK_ALLOCATIONINFO; | ||
|
||
#endif // _D3DKMDDI_H_ |
Oops, something went wrong.