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 |