D3DDDI_SEGMENTPREFERENCE structure (d3dukmdt.h)

La structure D3DDI_SEGMENTPREFERENCE décrit le segment préféré pour cette allocation en cours de création.

Syntaxe

typedef struct _D3DDDI_SEGMENTPREFERENCE {
  union {
    struct {
      UINT SegmentId0 : 5;
      UINT Direction0 : 1;
      UINT SegmentId1 : 5;
      UINT Direction1 : 1;
      UINT SegmentId2 : 5;
      UINT Direction2 : 1;
      UINT SegmentId3 : 5;
      UINT Direction3 : 1;
      UINT SegmentId4 : 5;
      UINT Direction4 : 1;
      UINT Reserved : 2;
    };
    UINT Value;
  };
} D3DDDI_SEGMENTPREFERENCE;

Membres

SegmentId0

Identificateur du segment préféré de priorité la plus élevée, ou zéro si aucun segment préféré n’est requis. Les valeurs valides sont comprises entre 0 et 31. Ce membre est équivalent aux 5 premiers bits du membre Value .

Direction0

Définissez sur zéro pour indiquer que VidMm choisit la fin de SegmentId0 à partir de laquelle effectuer l’allocation. Ce membre est équivalent au sixième bit du membre Value .

SegmentId1

Identificateur du segment préféré le plus élevé suivant, ou zéro si aucun segment préféré n’est requis. Les valeurs valides sont comprises entre 0 et 31. Ce membre équivaut aux bits 7 à 11 du membre Value .

Direction1

Définissez sur zéro pour indiquer que VidMm choisit la fin de SegmentId1 à partir de laquelle effectuer l’allocation. Ce membre est équivalent au 12e bit du membre Value .

SegmentId2

Identificateur du segment préféré le plus élevé suivant, ou zéro si aucun segment préféré n’est requis. Les valeurs valides sont comprises entre 0 et 31. Ce membre équivaut aux bits 13 à 17 du membre Value .

Direction2

Définissez sur zéro pour indiquer que VidMm choisit la fin de SegmentId2 à partir de laquelle effectuer l’allocation. Ce membre est équivalent au 18e bit du membre Value .

SegmentId3

Identificateur du segment préféré le plus élevé suivant, ou zéro si aucun segment préféré n’est requis. Les valeurs valides sont comprises entre 0 et 31. Ce membre équivaut aux bits 19 à 23 du membre Value .

Direction3

Définissez sur zéro pour indiquer que VidMm choisit la fin de SegmentId3 à partir de laquelle effectuer l’allocation. Ce membre est équivalent au 24e bit du membre Value .

SegmentId4

Identificateur du segment préféré le plus élevé suivant, ou zéro si aucun segment préféré n’est requis. Les valeurs valides sont comprises entre 0 et 31. Ce membre est équivalent aux bits 25 à 29 du membre Value .

Direction4

Définissez sur zéro pour indiquer que VidMm choisit la fin de SegmentId4 à partir de laquelle effectuer l’allocation. Ce membre est équivalent au 30e bit du membre Value .

Reserved

Réservé (bits 31-32).

Value

Une autre façon d’accéder aux informations de préférence de segment.

Remarques

La préférence de segment est utilisée lors de l’allocation de mémoire. Lorsque le mode utilisateur (par exemple, le runtime D3D) appelle D3DKMTCreateAllocation, l’UMD fournit des données de pilote privé décrivant l’allocation. Dxgkrnl prend ces données de pilote privé et les transmet au KMD qui remplit ensuite une description de chaque allocation d’une manière comprise par VidMm. Les données UMD contiennent des informations telles que le type de ressource (texture, permutation, etc.). Le KMD traduit ces données en éléments tels que la taille, l’alignement, un ensemble de segments de mémoire que l’allocation peut être localisée, les préférences pour ces segments (comme indiqué par cette structure), etc.

Configuration requise

Condition requise Valeur
En-tête d3dukmdt.h

Voir aussi

D3DKMTCreateAllocation

D3DKMTUpdateAllocationProperty