Compartilhar via


estrutura D3DKMT_CREATE_DOORBELL (d3dkmthk.h)

A estrutura D3DKMT_CREATE_DOORBELL contém parâmetros para D3DKMTCreateDoorbell.

Sintaxe

typedef struct _D3DKMT_CREATE_DOORBELL {
  D3DKMT_HANDLE                hHwQueue;
  D3DKMT_HANDLE                hRingBuffer;
  D3DKMT_HANDLE                hRingBufferControl;
  D3DKMT_CREATE_DOORBELL_FLAGS Flags;
  UINT                         PrivateDriverDataSize;
  void                         D3DKMT_PTR(
    VOID              *unnamedParam1,
    PrivateDriverData unnamedParam2
  );
  void                         D3DKMT_PTR(
    VOID                      *unnamedParam1,
    DoorbellCPUVirtualAddress unnamedParam2
  );
  void                         D3DKMT_PTR(
    VOID                               *unnamedParam1,
    DoorbellSecondaryCPUVirtualAddress unnamedParam2
  );
  void                         D3DKMT_PTR(
    VOID                            *unnamedParam1,
    DoorbellStatusCPUVirtualAddress unnamedParam2
  );
  void                         D3DKMT_PTR(
    VOID                                                 *unnamedParam1,
    HwQueueProgressFenceLastQueuedValueCPUVirtualAddress unnamedParam2
  );
  D3DKMT_HANDLE                hDoorbell;
} D3DKMT_CREATE_DOORBELL;

Membros

hHwQueue

[in] Identificador UMD do objeto de fila de hardware criado em uma chamada anterior para D3DKMTCreateHwQueue. Esse identificador identifica a fila de hardware para a qual uma campainha precisa ser atribuída.

hRingBuffer

[in] Identificador UMD para uma alocação de buffer de anel que o UMD criou anteriormente. A alocação deve ser visível e já residente da GPU. Dxgkrnl passa o VA (endereço virtual) de GPU e o tamanho dessa alocação para KMD em uma chamada DxgkDdiCreateDoorbell correspondente. O sinalizador ResizeRingBufferOperation é uma dica de UMD para KMD de que uma campainha está sendo recriada para essa fila de hardware com um novo buffer de anel redimensionado.

hRingBufferControl

[in/optional] Identificador UMD para uma alocação de controle de buffer de anel criada anteriormente pelo UMD. UMD e KMD podem usar essa alocação como uma área de controle para armazenar locais de ponteiro de leitura/gravação do buffer de anéis, se necessário. A alocação deve ser visível e já residente da GPU quando a UMD chama D3DKMTCreateDoorbell. Dxgkrnl passa o VA da GPU e o tamanho dessa alocação para KMD em uma chamada DxgkDdiCreateDoorbell correspondente.

Flags

[in/optional] Um campo de bits de valores de D3DKMT_CREATE_DOORBELL_FLAGS especificando os sinalizadores de criação de campainha.

PrivateDriverDataSize

[in] Tamanho dos dados do driver privado para os quais pPrivateDriverData aponta, em bytes.

void D3DKMT_PTR( VOID *unnamedParam1, PrivateDriverData unnamedParam2)

void D3DKMT_PTR( VOID *unnamedParam1, DoorbellCPUVirtualAddress unnamedParam2)

void D3DKMT_PTR( VOID *unnamedParam1, DoorbellSecondaryCPUVirtualAddress unnamedParam2)

void D3DKMT_PTR( VOID *unnamedParam1, DoorbellStatusCPUVirtualAddress unnamedParam2)

void D3DKMT_PTR( VOID *unnamedParam1, HwQueueProgressFenceLastQueuedValueCPUVirtualAddress unnamedParam2)

hDoorbell

[out] Identificador de runtime para o objeto doorbell recém-criado.

Comentários

Para obter mais informações, consulte Envio de trabalho no modo de usuário.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 11, versão 24H2 (WDDM 3.2)
Cabeçalho d3dkmthk.h

Confira também

D3DKMT_CREATE_DOORBELL_FLAGS

D3DKMTConnectDoorbell

D3DKMTCreateAllocation

D3DKMTCreateDoorbell

DxgkDdiConnectDoorbell

DxgkDdiCreateDoorbell