estrutura D3DDDI_SEGMENTPREFERENCE (d3dukmdt.h)

A estrutura D3DDI_SEGMENTPREFERENCE descreve o segmento preferencial para essa alocação que está sendo criada.

Sintaxe

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;

Membros

SegmentId0

O identificador do segmento preferencial de prioridade mais alta ou zero se nenhum segmento preferencial for necessário. Os valores válidos são de 0 a 31. Esse membro é equivalente aos primeiros 5 bits do membro Value .

Direction0

Defina como zero para indicar que VidMm escolhe de qual final segmentid0 fazer a alocação. Esse membro é equivalente ao sexto bit do membro Value .

SegmentId1

O identificador do próximo segmento preferencial de prioridade mais alta ou zero se nenhum segmento preferencial for necessário. Os valores válidos são de 0 a 31. Esse membro é equivalente aos bits 7 a 11 do membro Value .

Direction1

Defina como zero para indicar que o VidMm escolhe de qual final de SegmentId1 fazer a alocação. Esse membro é equivalente ao 12º bit do membro Value .

SegmentId2

O identificador do próximo segmento preferencial de prioridade mais alta ou zero se nenhum segmento preferencial for necessário. Os valores válidos são de 0 a 31. Esse membro é equivalente aos bits 13 a 17 do membro Value .

Direction2

Defina como zero para indicar que o VidMm escolhe de qual extremidade SegmentId2 fazer a alocação. Esse membro é equivalente ao 18º bit do membro Value .

SegmentId3

O identificador do próximo segmento preferencial de prioridade mais alta ou zero se nenhum segmento preferencial for necessário. Os valores válidos são de 0 a 31. Esse membro é equivalente aos bits de 19 a 23 do membro Value .

Direction3

Defina como zero para indicar que o VidMm escolhe de qual final de SegmentId3 fazer a alocação. Esse membro é equivalente ao 24º bit do membro Value .

SegmentId4

O identificador do próximo segmento preferencial de prioridade mais alta ou zero se nenhum segmento preferencial for necessário. Os valores válidos são de 0 a 31. Esse membro é equivalente aos bits de 25 a 29 do membro Value .

Direction4

Defina como zero para indicar que o VidMm escolhe de qual final de SegmentId4 fazer a alocação. Esse membro é equivalente ao 30º bit do membro Value .

Reserved

Reservado (bits 31-32).

Value

Uma maneira alternativa de acessar as informações de preferência do segmento.

Comentários

A preferência do segmento é usada ao alocar memória. Quando o modo de usuário (por exemplo, o runtime D3D) chama D3DKMTCreateAllocation, o UMD fornece dados de driver privado que descrevem a alocação. Dxgkrnl usa esses dados de driver privado e os passa para o KMD, que preenche uma descrição de cada alocação de maneira compreendida pelo VidMm. Os dados umd contêm informações como o tipo de recurso (textura, swapchain etc. O KMD converte esses dados em itens como tamanho, alinhamento, um conjunto de segmentos de memória que a alocação pode ser localizada, preferências para esses segmentos (conforme indicado por essa estrutura) e assim por diante.

Requisitos

Requisito Valor
Cabeçalho d3dukmdt.h

Confira também

D3DKMTCreateAllocation

D3DKMTUpdateAllocationProperty