// Licensed under the Apache License, Version 2.0 // or the MIT license // , at your option. // All files in the project carrying such notice may not be copied, modified, or distributed // except according to those terms. //! Longhorn Display Driver Model (LDDM) kernel mode data type definitions use shared::basetsd::UINT32; use shared::minwindef::UINT; use shared::ntdef::{BOOLEAN, WCHAR}; //1932 pub const DXGK_MAX_METADATA_NAME_LENGTH: usize = 32; ENUM!{enum DXGK_ENGINE_TYPE { DXGK_ENGINE_TYPE_OTHER, DXGK_ENGINE_TYPE_3D, DXGK_ENGINE_TYPE_VIDEO_DECODE, DXGK_ENGINE_TYPE_VIDEO_ENCODE, DXGK_ENGINE_TYPE_VIDEO_PROCESSING, DXGK_ENGINE_TYPE_SCENE_ASSEMBLY, DXGK_ENGINE_TYPE_COPY, DXGK_ENGINE_TYPE_OVERLAY, DXGK_ENGINE_TYPE_CRYPTO, DXGK_ENGINE_TYPE_MAX, }} STRUCT!{#[repr(packed)] struct DXGK_NODEMETADATA_FLAGS { Value: UINT32, }} BITFIELD!{DXGK_NODEMETADATA_FLAGS Value: UINT32 [ ContextSchedulingSupported set_ContextSchedulingSupported[0..1], RingBufferFenceRelease set_RingBufferFenceRelease[1..2], SupportTrackedWorkload set_SupportTrackedWorkload[2..3], Reserved set_Reserved[3..16], MaxInFlightHwQueueBuffers set_MaxInFlightHwQueueBuffers[16..32], ]} STRUCT!{#[repr(packed)] struct DXGK_NODEMETADATA { EngineType: DXGK_ENGINE_TYPE, FriendlyName: [WCHAR; DXGK_MAX_METADATA_NAME_LENGTH], Flags: DXGK_NODEMETADATA_FLAGS, GpuMmuSupported: BOOLEAN, IoMmuSupported: BOOLEAN, }} //2100 STRUCT!{#[repr(packed)] struct D3DKMT_NODEMETADATA { NodeOrdinalAndAdapterIndex: UINT, NodeData: DXGK_NODEMETADATA, }}