Partager via


Énumération DXCoreAdapterState (dxcore_interface.h)

Important

Certaines informations concernent un produit de préversion qui peut être sensiblement modifié avant sa publication commerciale. Microsoft n’offre aucune garantie, expresse ou implicite, en ce qui concerne les informations fournies ici.

Définit des constantes qui spécifient des types d’états d’adaptateur DXCore. Transmettez l’une de ces constantes à la méthode IDXCoreAdapter ::QueryState pour récupérer l’élément d’état de l’adaptateur pour un type d’état ; passez une constante à la méthode IDXCoreAdapter ::SetState pour définir les informations d’un adaptateur pour un élément d’état.

Syntaxe

typedef enum DXCoreAdapterState {
  IsDriverUpdateInProgress = 0,
  AdapterMemoryBudget = 1,
  AdapterMemoryUsageBytes = 2,
  AdapterMemoryUsageByProcessBytes = 3,
  AdapterEngineRunningTimeMicroseconds = 4,
  AdapterEngineRunningTimeByProcessMicroseconds = 5,
  AdapterTemperatureCelsius = 6,
  AdapterInUseProcessCount = 7,
  AdapterInUseProcessSet = 8,
  AdapterEngineFrequencyHertz = 9,
  AdapterMemoryFrequencyHertz = 10
} ;

Constantes

 
IsDriverUpdateInProgress
Valeur : 0
Spécifie l’état de l’adaptateur IsDriverUpdateInProgress, qui, lorsque true indique qu’une mise à jour du pilote a été lancée sur l’adaptateur, mais qu’elle n’a pas encore été terminée. Si la mise à jour du pilote est déjà terminée, l’adaptateur a été invalidé et votre appel QueryState retourne un HRESULT de DXGI_ERROR_DEVICE_REMOVED.

Lors de l’appel QueryState, l’élément d’état IsDriverUpdateInProgress a le type uint8_t, représentant une valeur booléenne.

important . Cet élément d’état n’est pas pris en charge pour SetState.
AdapterMemoryBudget
Valeur : 1
Spécifie l’état de l’adaptateur AdapterMemoryBudget, qui récupère ou demande le budget mémoire de l’adaptateur sur l’adaptateur.

Lors de l’appel QueryState, l’état de l’adaptateur AdapterMemoryBudget a le type DXCoreAdapterMemoryBudgetNodeSegmentGroup pour inputStateDetailset tapez DXCoreAdapterMemoryBudget pour outputBuffer.

important . Cet élément d’état n’est pas pris en charge pour SetState.
AdapterMemoryUsageBytes
Valeur : 2
Cette requête prend l’index de l’adaptateur physique et dédié et le partage en tant qu’entrée ; et génère respectivement les parties Dédiées à la mémoire validée et résidente ou partagées de la mémoire GPU.
AdapterMemoryUsageByProcessBytes
Valeur : 3
Cette requête prend l’ID du moteur, l’index de l’adaptateur physique et le handle de processus comme entrée ; et génère la mémoire validée et la mémoire résidente sur des parties dédiées ou partagées de la mémoire GPU, respectivement.
AdapterEngineRunningTimeMicroseconds
Valeur : 4
Cette requête prend l’ID du moteur et l’index de l’adaptateur physique comme entrée ; et génère le temps d’exécution du moteur en tant que sortie.
AdapterEngineRunningTimeByProcessMicroseconds
Valeur : 5
Cette requête prend l’ID du moteur, l’index de l’adaptateur physique et le handle de processus comme entrée ; et génère le temps d’exécution du moteur en tant que sortie.
AdapterTemperatureCelsius
Valeur : 6
Cette requête prend l’index de l’adaptateur physique comme entrée et génère la température actuelle du GPU en degrés Celsius.
AdapterInUseProcessCount
Valeur : 7
Cela retourne le nombre de processus qui utilisent cet adaptateur, ainsi que les PID dans celui-ci, respectivement.
AdapterInUseProcessSet
Valeur : 8
Cela retourne le nombre de processus qui utilisent cet adaptateur, ainsi que les PID dans celui-ci, respectivement.
AdapterEngineFrequencyHertz
Valeur : 9
Cette requête prend l’adaptateur physique et les index du moteur, et génère la fréquence d’horloge du moteur respectif en hertz. La structure de sortie inclut également la fréquence maximale pour le moteur, avec et sans overclocking.


uint64_t GetEngineFrequency(adaptateur com_ptr, uint32_t physicalIndex, uint32_t engineIndex)
{
Index DXCoreAdapterEngineIndex ;
index. PhysicalAdapterIndex = physicalIndex ;
index. EngineIndex = engineIndex ;

DXCoreFrequencyQueryOutput frequencyData = {};

winrt ::check_hresult(adapter->QueryState(DXCoreAdapterState ::AdapterEngineFrequencyHertz, index &, &frequencyData)) ;

return frequencyData.Frequency ;
}
AdapterMemoryFrequencyHertz
Valeur : 10
Cette requête prend l’index de l’adaptateur physique et génère la fréquence d’horloge de sa mémoire en hertz. La structure de sortie inclut également la fréquence maximale de la mémoire, avec et sans overclocking.


uint64_t GetEngineFrequency(adaptateur com_ptr, uint32_t physicalIndex, uint32_t engineIndex)
{
uint64_t GetMemoryFrequency(adaptateur com_ptr, uint32_t physicalIndex)
{
DXCoreFrequencyQueryOutput frequencyData = {};

winrt ::check_hresult(adapter->QueryState(DXCoreAdapterState ::AdapterMemoryFrequencyHertz, &physicalIndex, &frequencyData)) ;

return frequencyData.frequency ;
}

Exigences

Exigence Valeur
client minimum pris en charge Windows 10 (build 18936)
d’en-tête dxcore_interface.h (include dxcore.h)

Voir aussi

IDXCoreAdapter ::QueryState, IDXCoreAdapter ::SetState, référence DXCore, Using DXCore pour énumérer les adaptateurs