estrutura DXGK_PTE (d3dukmdt.h)
Uma PTE (entrada de tabela de página) fornece um endereço físico de uma página e outros atributos. O formato exato do PTE depende da implementação de hardware.
Sintaxe
typedef struct _DXGK_PTE {
union {
struct {
ULONGLONG Valid : 1;
ULONGLONG Zero : 1;
ULONGLONG CacheCoherent : 1;
ULONGLONG ReadOnly : 1;
ULONGLONG NoExecute : 1;
ULONGLONG Segment : 5;
ULONGLONG LargePage : 1;
ULONGLONG PhysicalAdapterIndex : 6;
ULONGLONG PageTablePageSize : 2;
ULONGLONG SystemReserved0 : 1;
ULONGLONG Reserved : 44;
};
ULONGLONG Flags;
};
union {
ULONGLONG PageAddress;
ULONGLONG PageTableAddress;
};
} DXGK_PTE;
Membros
Valid
Quando definido, isso indica que a entrada é válida. Acessar uma entrada inválida leva a uma falha de endereço irrecuperável, a menos que o sinalizador Zero esteja definido.
Zero
Quando definido com Valid = 1, o acesso ao cliente potencial de entrada para retornar o valor zero para o acesso à memória. Isso é usado para dar suporte a recursos em bloco.
Com suporte começando com Windows 10.
CacheCoherent
Quando definido, isso indica que a página de memória é coerente em cache entre a CPU e a GPU.
ReadOnly
Quando definido, isso indica que a página de memória é somente leitura.
NoExecute
Quando definido, isso indica que a página de memória contém dados, que não devem ser tratados como comandos executáveis.
Com suporte começando com Windows 10.
Segment
Um identificador de segmento de memória de GPU baseado em zero em que a página de memória correspondente está localizada. O segmento zero é reservado para memória do sistema.
LargePage
O bit só pode ser definido quando o driver do modo kernel define o DXGK_VIRTUALADDRESSCAPS::GpuMmu. Limite de LargePageSupported . Quando definido o endereço da tabela de página (PageTableAddress + SegmentId) é o endereço de memória de uma alocação. O tamanho da alocação é igual ao intervalo de endereços virtuais, coberto pelo nível inferior da tabela de páginas. Esse sinalizador não pode ser definido para as tabelas de página folha.
Com suporte começando com Windows 10.
PhysicalAdapterIndex
Define um índice de adaptador físico em uma configuração do adaptador de exibição vinculado. PTEs de tabelas de página em um adaptador físico podem apontar para a memória em outro adaptador físico.
Com suporte começando com Windows 10.
PageTablePageSize
Para a entrada de tabela de página de nível 1, define o tamanho das páginas dos PTEs da tabela de página folha. O valor é fornecido pelo enumerador DXGK_PTE_PAGE_SIZE . Esse valor deve ser ignorado quando há suporte para dual-PTE.
Com suporte começando com Windows 10.
SystemReserved0
Reserved
Reservado para uso do sistema e será definido como zero.
Flags
O valor desmascarado da estrutura.
PageAddress
Os 52 bits altos do endereço físico de 64 bits de uma página de memória. Os 12 bits baixos são zero. O endereço é um deslocamento desde o início do segmento, definido por Segment ou um endereço de memória do sistema.
PageTableAddress
Os 52 bits altos do endereço físico de 64 bits de uma tabela de página de nível inferior. Os 12 bits baixos são zero. O endereço é um deslocamento desde o início do segmento, definido por Segment ou um endereço de memória do sistema.
Com suporte começando com Windows 10.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível no Windows 7 e versões posteriores dos sistemas operacionais Windows. |
Cabeçalho | d3dukmdt.h (inclua D3dkmddi.h) |