winapi_ui_automation/shared/
d3dkmdt.rs1use shared::basetsd::UINT32;
8use shared::minwindef::UINT;
9use shared::ntdef::{BOOLEAN, WCHAR};
10pub const DXGK_MAX_METADATA_NAME_LENGTH: usize = 32;
12ENUM!{enum DXGK_ENGINE_TYPE {
13 DXGK_ENGINE_TYPE_OTHER,
14 DXGK_ENGINE_TYPE_3D,
15 DXGK_ENGINE_TYPE_VIDEO_DECODE,
16 DXGK_ENGINE_TYPE_VIDEO_ENCODE,
17 DXGK_ENGINE_TYPE_VIDEO_PROCESSING,
18 DXGK_ENGINE_TYPE_SCENE_ASSEMBLY,
19 DXGK_ENGINE_TYPE_COPY,
20 DXGK_ENGINE_TYPE_OVERLAY,
21 DXGK_ENGINE_TYPE_CRYPTO,
22 DXGK_ENGINE_TYPE_MAX,
23}}
24STRUCT!{#[repr(packed)] struct DXGK_NODEMETADATA_FLAGS {
25 Value: UINT32,
26}}
27BITFIELD!{DXGK_NODEMETADATA_FLAGS Value: UINT32 [
28 ContextSchedulingSupported set_ContextSchedulingSupported[0..1],
29 RingBufferFenceRelease set_RingBufferFenceRelease[1..2],
30 SupportTrackedWorkload set_SupportTrackedWorkload[2..3],
31 Reserved set_Reserved[3..16],
32 MaxInFlightHwQueueBuffers set_MaxInFlightHwQueueBuffers[16..32],
33]}
34STRUCT!{#[repr(packed)] struct DXGK_NODEMETADATA {
35 EngineType: DXGK_ENGINE_TYPE,
36 FriendlyName: [WCHAR; DXGK_MAX_METADATA_NAME_LENGTH],
37 Flags: DXGK_NODEMETADATA_FLAGS,
38 GpuMmuSupported: BOOLEAN,
39 IoMmuSupported: BOOLEAN,
40}}
41STRUCT!{#[repr(packed)] struct D3DKMT_NODEMETADATA {
43 NodeOrdinalAndAdapterIndex: UINT,
44 NodeData: DXGK_NODEMETADATA,
45}}