DXGKDDI_UPDATECURRENTVALUESFROMCPU função de retorno de chamada (d3dkmddi.h)
O sistema operacional chama DxgkDdiUpdateCurrentValuesFromCpu para atualizar o CurrentValue de um lote de cercas nativas da CPU.
Sintaxe
DXGKDDI_UPDATECURRENTVALUESFROMCPU DxgkddiUpdatecurrentvaluesfromcpu;
NTSTATUS DxgkddiUpdatecurrentvaluesfromcpu(
IN_CONST_PDXGKARG_UPDATECURRENTVALUESFROMCPU pUpdateCurrentValuesFromCpu
)
{...}
Parâmetros
pUpdateCurrentValuesFromCpu
[in] Ponteiro para uma estrutura DXGKARG_UPDATECURRENTVALUESFROMCPU que contém os valores atuais a serem atualizados.
Observações
Essa DDI é usada para dar suporte à semântica da API de "vedação de sinal da CPU" existente. Em vez de Dxgkrnl gravando um novo CurrentValue, o driver é solicitado a gravar no CurrentValue, a fim de dar aos drivers a oportunidade de inserir qualquer sincronização/barreiras de pré-gravação necessárias. O sistema operacional sincroniza atualizações do lado da CPU e garante que o valor mais atualizado esteja disponível para DxgkDdiUpdateCurrentValuesFromCpu. Depois de atualizar CurrentValue, o driver deve disparar a GPU para desbloquear filas de hardware que estavam esperando nessa cerca e foi desbloqueado com a atualização para CurrentValue.
Em poucas palavras, as etapas a serem seguidas pelo driver são:
for i = 1 : NumFences
1. Insert pre-write memory barrier if required
2. write new value to CurrentValueCpuVa
3. trigger GPU to unblock any HwQueues that got unblocked by the updated CurrentValue
end
O sistema operacional só garante que o ponteiro CurrentValueKernelCpuVa seja válido durante essa chamada DDI e não antes ou depois dela. Portanto, o KMD nunca deve armazenar esse ponteiro em cache para uso em outro lugar.
Para obter mais informações sobre cercas de GPU nativas, consulte objetos de cerca de GPU nativa.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 11, versão 24H2 |
cabeçalho | d3dkmddi.h |
IRQL | DISPATCH_LEVEL |