Compartilhar via


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.

Comentários

Essa DDI é usada para dar suporte à semântica de API "signal fence from CPU" existente. Em vez de Dxgkrnl gravar um novo CurrentValue, o driver é solicitado a gravar no CurrentValue para 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 garante apenas que o ponteiro CurrentValueKernelCpuVa seja válido durante a 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 nativos.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 11, versão 24H2
Cabeçalho d3dkmddi.h
IRQL DISPATCH_LEVEL

Confira também

DXGKARG_UPDATECURRENTVALUESFROMCPU