563 lines
21 KiB
C#
563 lines
21 KiB
C#
// This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
|
|
// If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
// Copyright (C) LibreHardwareMonitor and Contributors.
|
|
// All Rights Reserved.
|
|
|
|
// ReSharper disable IdentifierTypo
|
|
// ReSharper disable InconsistentNaming
|
|
|
|
using System;
|
|
using System.Runtime.InteropServices;
|
|
|
|
namespace LibreHardwareMonitor.Interop;
|
|
|
|
internal static class D3dkmth
|
|
{
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
internal struct D3DKMT_CLOSEADAPTER
|
|
{
|
|
public uint hAdapter;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
internal struct D3DKMT_QUERYADAPTERINFO
|
|
{
|
|
public uint hAdapter;
|
|
public KMTQUERYADAPTERINFOTYPE Type;
|
|
public IntPtr pPrivateDriverData;
|
|
public int PrivateDriverDataSize;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
internal struct D3DKMT_OPENADAPTERFROMDEVICENAME
|
|
{
|
|
[MarshalAs(UnmanagedType.LPWStr)]
|
|
public string pDeviceName;
|
|
|
|
public uint hAdapter;
|
|
public WinNt.LUID AdapterLuid;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
internal struct D3DKMT_ADAPTERTYPE
|
|
{
|
|
public D3DKMT_ADAPTERTYPE_FLAGS Value;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
internal struct D3DKMT_QUERYSTATISTICS_QUERY_SEGMENT
|
|
{
|
|
public uint SegmentId;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
internal struct D3DKMT_QUERYSTATISTICS_QUERY_NODE
|
|
{
|
|
public uint NodeId;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
internal struct D3DKMT_QUERYSTATISTICS_QUERY_VIDPNSOURCE
|
|
{
|
|
public uint VidPnSourceId;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
internal struct D3DKMT_QUERYSTATISTICS_REFERENCE_DMA_BUFFER
|
|
{
|
|
public uint NbCall;
|
|
public uint NbAllocationsReferenced;
|
|
public uint MaxNbAllocationsReferenced;
|
|
public uint NbNULLReference;
|
|
public uint NbWriteReference;
|
|
public uint NbRenamedAllocationsReferenced;
|
|
public uint NbIterationSearchingRenamedAllocation;
|
|
public uint NbLockedAllocationReferenced;
|
|
public uint NbAllocationWithValidPrepatchingInfoReferenced;
|
|
public uint NbAllocationWithInvalidPrepatchingInfoReferenced;
|
|
public uint NbDMABufferSuccessfullyPrePatched;
|
|
public uint NbPrimariesReferencesOverflow;
|
|
public uint NbAllocationWithNonPreferredResources;
|
|
public uint NbAllocationInsertedInMigrationTable;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
internal struct D3DKMT_SEGMENTSIZEINFO
|
|
{
|
|
public ulong DedicatedVideoMemorySize;
|
|
public ulong DedicatedSystemMemorySize;
|
|
public ulong SharedSystemMemorySize;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
internal struct D3DKMT_QUERYSTATISTICS_RENAMING
|
|
{
|
|
public uint NbAllocationsRenamed;
|
|
public uint NbAllocationsShrinked;
|
|
public uint NbRenamedBuffer;
|
|
public uint MaxRenamingListLength;
|
|
public uint NbFailuresDueToRenamingLimit;
|
|
public uint NbFailuresDueToCreateAllocation;
|
|
public uint NbFailuresDueToOpenAllocation;
|
|
public uint NbFailuresDueToLowResource;
|
|
public uint NbFailuresDueToNonRetiredLimit;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
internal struct D3DKMT_QUERYSTATISTICS_COUNTER
|
|
{
|
|
public uint Count;
|
|
public ulong Bytes;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
internal struct D3DKMT_QUERYSTATISTICS_PREPRATION
|
|
{
|
|
public uint BroadcastStall;
|
|
public uint NbDMAPrepared;
|
|
public uint NbDMAPreparedLongPath;
|
|
public uint ImmediateHighestPreparationPass;
|
|
public D3DKMT_QUERYSTATISTICS_COUNTER AllocationsTrimmed;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
internal struct D3DKMT_QUERYSTATISTICS_PAGING_FAULT
|
|
{
|
|
public D3DKMT_QUERYSTATISTICS_COUNTER Faults;
|
|
public D3DKMT_QUERYSTATISTICS_COUNTER FaultsFirstTimeAccess;
|
|
public D3DKMT_QUERYSTATISTICS_COUNTER FaultsReclaimed;
|
|
public D3DKMT_QUERYSTATISTICS_COUNTER FaultsMigration;
|
|
public D3DKMT_QUERYSTATISTICS_COUNTER FaultsIncorrectResource;
|
|
public D3DKMT_QUERYSTATISTICS_COUNTER FaultsLostContent;
|
|
public D3DKMT_QUERYSTATISTICS_COUNTER FaultsEvicted;
|
|
public D3DKMT_QUERYSTATISTICS_COUNTER AllocationsMEM_RESET;
|
|
public D3DKMT_QUERYSTATISTICS_COUNTER AllocationsUnresetSuccess;
|
|
public D3DKMT_QUERYSTATISTICS_COUNTER AllocationsUnresetFail;
|
|
|
|
public uint AllocationsUnresetSuccessRead;
|
|
public uint AllocationsUnresetFailRead;
|
|
|
|
public D3DKMT_QUERYSTATISTICS_COUNTER Evictions;
|
|
public D3DKMT_QUERYSTATISTICS_COUNTER EvictionsDueToPreparation;
|
|
public D3DKMT_QUERYSTATISTICS_COUNTER EvictionsDueToLock;
|
|
public D3DKMT_QUERYSTATISTICS_COUNTER EvictionsDueToClose;
|
|
public D3DKMT_QUERYSTATISTICS_COUNTER EvictionsDueToPurge;
|
|
public D3DKMT_QUERYSTATISTICS_COUNTER EvictionsDueToSuspendCPUAccess;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
internal struct D3DKMT_QUERYSTATISTICS_PAGING_TRANSFER
|
|
{
|
|
public ulong BytesFilled;
|
|
public ulong BytesDiscarded;
|
|
public ulong BytesMappedIntoAperture;
|
|
public ulong BytesUnmappedFromAperture;
|
|
public ulong BytesTransferredFromMdlToMemory;
|
|
public ulong BytesTransferredFromMemoryToMdl;
|
|
public ulong BytesTransferredFromApertureToMemory;
|
|
public ulong BytesTransferredFromMemoryToAperture;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
internal struct D3DKMT_QUERYSTATISTICS_SWIZZLING_RANGE
|
|
{
|
|
public uint NbRangesAcquired;
|
|
public uint NbRangesReleased;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
internal struct D3DKMT_QUERYSTATISTICS_LOCKS
|
|
{
|
|
public uint NbLocks;
|
|
public uint NbLocksWaitFlag;
|
|
public uint NbLocksDiscardFlag;
|
|
public uint NbLocksNoOverwrite;
|
|
public uint NbLocksNoReadSync;
|
|
public uint NbLocksLinearization;
|
|
public uint NbComplexLocks;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
internal struct D3DKMT_QUERYSTATISTICS_ALLOCATIONS
|
|
{
|
|
public D3DKMT_QUERYSTATISTICS_COUNTER Created;
|
|
public D3DKMT_QUERYSTATISTICS_COUNTER Destroyed;
|
|
public D3DKMT_QUERYSTATISTICS_COUNTER Opened;
|
|
public D3DKMT_QUERYSTATISTICS_COUNTER Closed;
|
|
public D3DKMT_QUERYSTATISTICS_COUNTER MigratedSuccess;
|
|
public D3DKMT_QUERYSTATISTICS_COUNTER MigratedFail;
|
|
public D3DKMT_QUERYSTATISTICS_COUNTER MigratedAbandoned;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
internal struct D3DKMT_QUERYSTATISTICS_TERMINATIONS
|
|
{
|
|
public D3DKMT_QUERYSTATISTICS_COUNTER TerminatedShared;
|
|
public D3DKMT_QUERYSTATISTICS_COUNTER TerminatedNonShared;
|
|
public D3DKMT_QUERYSTATISTICS_COUNTER DestroyedShared;
|
|
public D3DKMT_QUERYSTATISTICS_COUNTER DestroyedNonShared;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
internal struct D3DKMT_QUERYSTATISTICS_ADAPTER_INFORMATION
|
|
{
|
|
public uint NbSegments;
|
|
public uint NodeCount;
|
|
public uint VidPnSourceCount;
|
|
|
|
public uint VSyncEnabled;
|
|
public uint TdrDetectedCount;
|
|
|
|
public long ZeroLengthDmaBuffers;
|
|
public ulong RestartedPeriod;
|
|
|
|
public D3DKMT_QUERYSTATISTICS_REFERENCE_DMA_BUFFER ReferenceDmaBuffer;
|
|
public D3DKMT_QUERYSTATISTICS_RENAMING Renaming;
|
|
public D3DKMT_QUERYSTATISTICS_PREPRATION Preparation;
|
|
public D3DKMT_QUERYSTATISTICS_PAGING_FAULT PagingFault;
|
|
public D3DKMT_QUERYSTATISTICS_PAGING_TRANSFER PagingTransfer;
|
|
public D3DKMT_QUERYSTATISTICS_SWIZZLING_RANGE SwizzlingRange;
|
|
public D3DKMT_QUERYSTATISTICS_LOCKS Locks;
|
|
public D3DKMT_QUERYSTATISTICS_ALLOCATIONS Allocations;
|
|
public D3DKMT_QUERYSTATISTICS_TERMINATIONS Terminations;
|
|
|
|
private readonly ulong Reserved;
|
|
private readonly ulong Reserved1;
|
|
private readonly ulong Reserved2;
|
|
private readonly ulong Reserved3;
|
|
private readonly ulong Reserved4;
|
|
private readonly ulong Reserved5;
|
|
private readonly ulong Reserved6;
|
|
private readonly ulong Reserved7;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
internal struct D3DKMT_QUERYSTATISTICS_MEMORY
|
|
{
|
|
public ulong TotalBytesEvicted;
|
|
public uint AllocsCommitted;
|
|
public uint AllocsResident;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
internal unsafe struct D3DKMT_QUERYSTATISTICS_SEGMENT_INFORMATION
|
|
{
|
|
public ulong CommitLimit;
|
|
public ulong BytesCommitted;
|
|
public ulong BytesResident;
|
|
public D3DKMT_QUERYSTATISTICS_MEMORY Memory;
|
|
public uint Aperture; // boolean
|
|
public fixed ulong TotalBytesEvictedByPriority[5]; // D3DKMT_QUERYSTATISTICS_SEGMENT_PREFERENCE_MAX
|
|
public ulong SystemMemoryEndAddress;
|
|
public D3DKMT_QUERYSTATISTICS_SEGMENT_INFORMATION_POWER_FLAGS PowerFlags;
|
|
public fixed ulong Reserved[6];
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Explicit)]
|
|
internal struct D3DKMT_QUERYSTATISTICS_SEGMENT_INFORMATION_POWER_FLAGS
|
|
{
|
|
[FieldOffset(0)]
|
|
public ulong PreservedDuringStandby;
|
|
|
|
[FieldOffset(1)]
|
|
public ulong PreservedDuringHibernate;
|
|
|
|
[FieldOffset(2)]
|
|
public ulong PartiallyPreservedDuringHibernate;
|
|
|
|
[FieldOffset(3)]
|
|
public ulong Reserved;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
internal struct D3DKMT_QUERYSTATISTICS_VIDEO_MEMORY
|
|
{
|
|
public uint AllocsCommitted;
|
|
public D3DKMT_QUERYSTATISTICS_COUNTER AllocsResidentIn0;
|
|
public D3DKMT_QUERYSTATISTICS_COUNTER AllocsResidentIn1;
|
|
public D3DKMT_QUERYSTATISTICS_COUNTER AllocsResidentIn2;
|
|
public D3DKMT_QUERYSTATISTICS_COUNTER AllocsResidentIn3;
|
|
public D3DKMT_QUERYSTATISTICS_COUNTER AllocsResidentIn4;
|
|
public D3DKMT_QUERYSTATISTICS_COUNTER AllocsResidentInNonPreferred;
|
|
public ulong TotalBytesEvictedDueToPreparation;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
internal struct D3DKMT_QUERYSTATISTICS_PROCESS_SEGMENT_POLICY
|
|
{
|
|
public ulong UseMRU;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
internal unsafe struct D3DKMT_QUERYSTATISTICS_PROCESS_SEGMENT_INFORMATION
|
|
{
|
|
public ulong BytesCommitted;
|
|
public ulong MaximumWorkingSet;
|
|
public ulong MinimumWorkingSet;
|
|
|
|
public uint NbReferencedAllocationEvictedInPeriod;
|
|
|
|
public D3DKMT_QUERYSTATISTICS_VIDEO_MEMORY VideoMemory;
|
|
public D3DKMT_QUERYSTATISTICS_PROCESS_SEGMENT_POLICY _Policy;
|
|
|
|
public fixed ulong Reserved[8];
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
internal struct D3DKMT_QUERYSTATISTICS_PREEMPTION_INFORMATION
|
|
{
|
|
public uint PreemptionCounter;
|
|
public uint PreemptionCounter1;
|
|
public uint PreemptionCounter2;
|
|
public uint PreemptionCounter3;
|
|
public uint PreemptionCounter4;
|
|
public uint PreemptionCounter5;
|
|
public uint PreemptionCounter6;
|
|
public uint PreemptionCounter7;
|
|
public uint PreemptionCounter8;
|
|
public uint PreemptionCounter9;
|
|
public uint PreemptionCounter10;
|
|
public uint PreemptionCounter11;
|
|
public uint PreemptionCounter12;
|
|
public uint PreemptionCounter13;
|
|
public uint PreemptionCounter14;
|
|
public uint PreemptionCounter15;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
internal unsafe struct D3DKMT_QUERYSTATISTICS_PROCESS_NODE_INFORMATION
|
|
{
|
|
public WinNt.LARGE_INTEGER RunningTime; // 100ns
|
|
public uint ContextSwitch;
|
|
private readonly D3DKMT_QUERYSTATISTICS_PREEMPTION_INFORMATION PreemptionStatistics;
|
|
private readonly D3DKMT_QUERYSTATISTICS_PACKET_INFORMATION PacketStatistics;
|
|
private fixed ulong Reserved[8];
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
internal unsafe struct D3DKMT_QUERYSTATISTICS_NODE_INFORMATION
|
|
{
|
|
public D3DKMT_QUERYSTATISTICS_PROCESS_NODE_INFORMATION GlobalInformation; // global
|
|
|
|
public D3DKMT_QUERYSTATISTICS_PROCESS_NODE_INFORMATION SystemInformation; // system thread
|
|
|
|
//public UInt32 NodeId; // Win10
|
|
public fixed ulong Reserved[8];
|
|
}
|
|
|
|
internal struct D3DKMT_QUERYSTATISTICS_DMA_PACKET_TYPE_INFORMATION
|
|
{
|
|
public uint PacketSubmitted;
|
|
public uint PacketCompleted;
|
|
public uint PacketPreempted;
|
|
public uint PacketFaulted;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
internal struct D3DKMT_QUERYSTATISTICS_QUEUE_PACKET_TYPE_INFORMATION
|
|
{
|
|
public uint PacketSubmited;
|
|
public uint PacketCompleted;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
internal struct D3DKMT_QUERYSTATISTICS_PACKET_INFORMATION
|
|
{
|
|
public D3DKMT_QUERYSTATISTICS_QUEUE_PACKET_TYPE_INFORMATION QueuePacket;
|
|
public D3DKMT_QUERYSTATISTICS_QUEUE_PACKET_TYPE_INFORMATION QueuePacket1;
|
|
public D3DKMT_QUERYSTATISTICS_QUEUE_PACKET_TYPE_INFORMATION QueuePacket2;
|
|
public D3DKMT_QUERYSTATISTICS_QUEUE_PACKET_TYPE_INFORMATION QueuePacket3;
|
|
public D3DKMT_QUERYSTATISTICS_QUEUE_PACKET_TYPE_INFORMATION QueuePacket4;
|
|
public D3DKMT_QUERYSTATISTICS_QUEUE_PACKET_TYPE_INFORMATION QueuePacket5;
|
|
public D3DKMT_QUERYSTATISTICS_QUEUE_PACKET_TYPE_INFORMATION QueuePacket6;
|
|
public D3DKMT_QUERYSTATISTICS_QUEUE_PACKET_TYPE_INFORMATION QueuePacket7;
|
|
|
|
public D3DKMT_QUERYSTATISTICS_DMA_PACKET_TYPE_INFORMATION DmaPacket;
|
|
public D3DKMT_QUERYSTATISTICS_DMA_PACKET_TYPE_INFORMATION DmaPacket1;
|
|
public D3DKMT_QUERYSTATISTICS_DMA_PACKET_TYPE_INFORMATION DmaPacket2;
|
|
public D3DKMT_QUERYSTATISTICS_DMA_PACKET_TYPE_INFORMATION DmaPacket3;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Explicit)]
|
|
internal struct D3DKMT_QUERYSTATISTICS_RESULT
|
|
{
|
|
[FieldOffset(0), MarshalAs(UnmanagedType.Struct)]
|
|
public D3DKMT_QUERYSTATISTICS_ADAPTER_INFORMATION AdapterInformation;
|
|
|
|
[FieldOffset(0), MarshalAs(UnmanagedType.Struct)]
|
|
public D3DKMT_QUERYSTATISTICS_SEGMENT_INFORMATION SegmentInformation;
|
|
|
|
[FieldOffset(0), MarshalAs(UnmanagedType.Struct)]
|
|
public D3DKMT_QUERYSTATISTICS_PROCESS_SEGMENT_INFORMATION ProcessSegmentInformation;
|
|
|
|
[FieldOffset(0), MarshalAs(UnmanagedType.Struct)]
|
|
public D3DKMT_QUERYSTATISTICS_NODE_INFORMATION NodeInformation;
|
|
|
|
// D3DKMT_QUERYSTATISTICS_PROCESS_INFORMATION ProcessInformation;
|
|
// D3DKMT_QUERYSTATISTICS_PROCESS_NODE_INFORMATION ProcessNodeInformation;
|
|
// D3DKMT_QUERYSTATISTICS_PHYSICAL_ADAPTER_INFORMATION PhysAdapterInformation;
|
|
// D3DKMT_QUERYSTATISTICS_SEGMENT_INFORMATION_V1 SegmentInformationV1; // WIN7
|
|
// D3DKMT_QUERYSTATISTICS_VIDPNSOURCE_INFORMATION VidPnSourceInformation;
|
|
// D3DKMT_QUERYSTATISTICS_PROCESS_ADAPTER_INFORMATION ProcessAdapterInformation;
|
|
// D3DKMT_QUERYSTATISTICS_PROCESS_VIDPNSOURCE_INFORMATION ProcessVidPnSourceInformation;
|
|
// D3DKMT_QUERYSTATISTICS_PROCESS_SEGMENT_GROUP_INFORMATION ProcessSegmentGroupInformation;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Explicit)]
|
|
internal struct D3DKMT_QUERYSTATISTICS_QUERY_ELEMENT
|
|
{
|
|
[FieldOffset(0)]
|
|
public D3DKMT_QUERYSTATISTICS_QUERY_SEGMENT QuerySegment;
|
|
|
|
[FieldOffset(0)]
|
|
public D3DKMT_QUERYSTATISTICS_QUERY_SEGMENT QueryProcessSegment;
|
|
|
|
[FieldOffset(0)]
|
|
public D3DKMT_QUERYSTATISTICS_QUERY_NODE QueryNode;
|
|
|
|
[FieldOffset(0)]
|
|
public D3DKMT_QUERYSTATISTICS_QUERY_NODE QueryProcessNode;
|
|
|
|
[FieldOffset(0)]
|
|
public D3DKMT_QUERYSTATISTICS_QUERY_VIDPNSOURCE QueryVidPnSource;
|
|
|
|
[FieldOffset(0)]
|
|
public D3DKMT_QUERYSTATISTICS_QUERY_VIDPNSOURCE QueryProcessVidPnSource;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
internal struct D3DKMT_QUERYSTATISTICS
|
|
{
|
|
public D3DKMT_QUERYSTATISTICS_TYPE Type;
|
|
public WinNt.LUID AdapterLuid;
|
|
public IntPtr ProcessHandle;
|
|
public D3DKMT_QUERYSTATISTICS_RESULT QueryResult;
|
|
public D3DKMT_QUERYSTATISTICS_QUERY_ELEMENT QueryElement;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
|
internal struct D3DKMT_NODEMETADATA
|
|
{
|
|
public uint NodeOrdinalAndAdapterIndex;
|
|
public D3dkmdt.DXGK_NODEMETADATA NodeData;
|
|
}
|
|
|
|
[Flags]
|
|
internal enum D3DKMT_ADAPTERTYPE_FLAGS : uint
|
|
{
|
|
RenderSupported = 0,
|
|
DisplaySupported = 1,
|
|
SoftwareDevice = 2,
|
|
PostDevice = 4,
|
|
HybridDiscrete = 8,
|
|
HybridIntegrated = 16,
|
|
IndirectDisplayDevice = 32,
|
|
Paravirtualized = 64,
|
|
ACGSupported = 128,
|
|
SupportSetTimingsFromVidPn = 256,
|
|
Detachable = 512,
|
|
ComputeOnly = 1024,
|
|
Prototype = 2045
|
|
}
|
|
|
|
internal enum D3DKMT_QUERYSTATISTICS_TYPE
|
|
{
|
|
D3DKMT_QUERYSTATISTICS_ADAPTER,
|
|
D3DKMT_QUERYSTATISTICS_PROCESS,
|
|
D3DKMT_QUERYSTATISTICS_PROCESS_ADAPTER,
|
|
D3DKMT_QUERYSTATISTICS_SEGMENT,
|
|
D3DKMT_QUERYSTATISTICS_PROCESS_SEGMENT,
|
|
D3DKMT_QUERYSTATISTICS_NODE,
|
|
D3DKMT_QUERYSTATISTICS_PROCESS_NODE,
|
|
D3DKMT_QUERYSTATISTICS_VIDPNSOURCE,
|
|
D3DKMT_QUERYSTATISTICS_PROCESS_VIDPNSOURCE,
|
|
D3DKMT_QUERYSTATISTICS_PROCESS_SEGMENT_GROUP,
|
|
D3DKMT_QUERYSTATISTICS_PHYSICAL_ADAPTER
|
|
}
|
|
|
|
internal enum D3DKMT_QUERYSTATISTICS_DMA_PACKET_TYPE
|
|
{
|
|
D3DKMT_ClientRenderBuffer = 0,
|
|
D3DKMT_ClientPagingBuffer = 1,
|
|
D3DKMT_SystemPagingBuffer = 2,
|
|
D3DKMT_SystemPreemptionBuffer = 3,
|
|
D3DKMT_DmaPacketTypeMax
|
|
}
|
|
|
|
internal enum KMTQUERYADAPTERINFOTYPE
|
|
{
|
|
KMTQAITYPE_UMDRIVERPRIVATE = 0,
|
|
KMTQAITYPE_UMDRIVERNAME = 1,
|
|
KMTQAITYPE_UMOPENGLINFO = 2,
|
|
KMTQAITYPE_GETSEGMENTSIZE = 3,
|
|
KMTQAITYPE_ADAPTERGUID = 4,
|
|
KMTQAITYPE_FLIPQUEUEINFO = 5,
|
|
KMTQAITYPE_ADAPTERADDRESS = 6,
|
|
KMTQAITYPE_SETWORKINGSETINFO = 7,
|
|
KMTQAITYPE_ADAPTERREGISTRYINFO = 8,
|
|
KMTQAITYPE_CURRENTDISPLAYMODE = 9,
|
|
KMTQAITYPE_MODELIST = 10,
|
|
KMTQAITYPE_CHECKDRIVERUPDATESTATUS = 11,
|
|
KMTQAITYPE_VIRTUALADDRESSINFO = 12,
|
|
KMTQAITYPE_DRIVERVERSION = 13,
|
|
KMTQAITYPE_ADAPTERTYPE = 15,
|
|
KMTQAITYPE_OUTPUTDUPLCONTEXTSCOUNT = 16,
|
|
KMTQAITYPE_WDDM_1_2_CAPS = 17,
|
|
KMTQAITYPE_UMD_DRIVER_VERSION = 18,
|
|
KMTQAITYPE_DIRECTFLIP_SUPPORT = 19,
|
|
KMTQAITYPE_MULTIPLANEOVERLAY_SUPPORT = 20,
|
|
KMTQAITYPE_DLIST_DRIVER_NAME = 21,
|
|
KMTQAITYPE_WDDM_1_3_CAPS = 22,
|
|
KMTQAITYPE_MULTIPLANEOVERLAY_HUD_SUPPORT = 23,
|
|
KMTQAITYPE_WDDM_2_0_CAPS = 24,
|
|
KMTQAITYPE_NODEMETADATA = 25,
|
|
KMTQAITYPE_CPDRIVERNAME = 26,
|
|
KMTQAITYPE_XBOX = 27,
|
|
KMTQAITYPE_INDEPENDENTFLIP_SUPPORT = 28,
|
|
KMTQAITYPE_MIRACASTCOMPANIONDRIVERNAME = 29,
|
|
KMTQAITYPE_PHYSICALADAPTERCOUNT = 30,
|
|
KMTQAITYPE_PHYSICALADAPTERDEVICEIDS = 31,
|
|
KMTQAITYPE_DRIVERCAPS_EXT = 32,
|
|
KMTQAITYPE_QUERY_MIRACAST_DRIVER_TYPE = 33,
|
|
KMTQAITYPE_QUERY_GPUMMU_CAPS = 34,
|
|
KMTQAITYPE_QUERY_MULTIPLANEOVERLAY_DECODE_SUPPORT = 35,
|
|
KMTQAITYPE_QUERY_HW_PROTECTION_TEARDOWN_COUNT = 36,
|
|
KMTQAITYPE_QUERY_ISBADDRIVERFORHWPROTECTIONDISABLED = 37,
|
|
KMTQAITYPE_MULTIPLANEOVERLAY_SECONDARY_SUPPORT = 38,
|
|
KMTQAITYPE_INDEPENDENTFLIP_SECONDARY_SUPPORT = 39,
|
|
KMTQAITYPE_PANELFITTER_SUPPORT = 40,
|
|
KMTQAITYPE_PHYSICALADAPTERPNPKEY = 41,
|
|
KMTQAITYPE_GETSEGMENTGROUPSIZE = 42,
|
|
KMTQAITYPE_MPO3DDI_SUPPORT = 43,
|
|
KMTQAITYPE_HWDRM_SUPPORT = 44,
|
|
KMTQAITYPE_MPOKERNELCAPS_SUPPORT = 45,
|
|
KMTQAITYPE_MULTIPLANEOVERLAY_STRETCH_SUPPORT = 46,
|
|
KMTQAITYPE_GET_DEVICE_VIDPN_OWNERSHIP_INFO = 47,
|
|
KMTQAITYPE_QUERYREGISTRY = 48,
|
|
KMTQAITYPE_KMD_DRIVER_VERSION = 49,
|
|
KMTQAITYPE_BLOCKLIST_KERNEL = 50,
|
|
KMTQAITYPE_BLOCKLIST_RUNTIME = 51,
|
|
KMTQAITYPE_ADAPTERGUID_RENDER = 52,
|
|
KMTQAITYPE_ADAPTERADDRESS_RENDER = 53,
|
|
KMTQAITYPE_ADAPTERREGISTRYINFO_RENDER = 54,
|
|
KMTQAITYPE_CHECKDRIVERUPDATESTATUS_RENDER = 55,
|
|
KMTQAITYPE_DRIVERVERSION_RENDER = 56,
|
|
KMTQAITYPE_ADAPTERTYPE_RENDER = 57,
|
|
KMTQAITYPE_WDDM_1_2_CAPS_RENDER = 58,
|
|
KMTQAITYPE_WDDM_1_3_CAPS_RENDER = 59,
|
|
KMTQAITYPE_QUERY_ADAPTER_UNIQUE_GUID = 60,
|
|
KMTQAITYPE_NODEPERFDATA = 61,
|
|
KMTQAITYPE_ADAPTERPERFDATA = 62,
|
|
KMTQAITYPE_ADAPTERPERFDATA_CAPS = 63,
|
|
KMTQUITYPE_GPUVERSION = 64,
|
|
KMTQAITYPE_DRIVER_DESCRIPTION = 65,
|
|
KMTQAITYPE_DRIVER_DESCRIPTION_RENDER = 66,
|
|
KMTQAITYPE_SCANOUT_CAPS = 67,
|
|
KMTQAITYPE_DISPLAY_UMDRIVERNAME = 71,
|
|
KMTQAITYPE_PARAVIRTUALIZATION_RENDER = 68,
|
|
KMTQAITYPE_SERVICENAME = 69,
|
|
KMTQAITYPE_WDDM_2_7_CAPS = 70,
|
|
KMTQAITYPE_TRACKEDWORKLOAD_SUPPORT = 72
|
|
}
|
|
}
|