first commit
This commit is contained in:
@@ -0,0 +1,562 @@
|
||||
// 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
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user