Поделиться через


структура D3DKMT_CREATE_DOORBELL (d3dkmthk.h)

Структура D3DKMT_CREATE_DOORBELL содержит параметры для D3DKMTCreateDoorbell.

Синтаксис

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;

Члены

hHwQueue

[in] Дескриптор UMD объекта очереди оборудования, созданного при предыдущем вызове D3DKMTCreateHwQueue. Этот дескриптор идентифицирует очередь оборудования, для которой необходимо назначить дверной звонок.

hRingBuffer

[in] Дескриптор UMD для выделения кольцевого буфера, созданного ранее UMD. Выделение должно быть видимым и уже резидентным. Dxgkrnl передает виртуальный адрес GPU (VA) и размер этого выделения в KMD в соответствующем вызове DxgkDdiCreateDoorbell . Флаг ResizeRingBufferOperation — это подсказка от UMD к KMD о том, что для этой очереди оборудования создается дверной звонок с новым кольцевым буфером с измененным размером.

hRingBufferControl

[in/optional] Дескриптор UMD для выделения кольцевого буфера, ранее созданного UMD. При необходимости UMD и KMD могут использовать это выделение в качестве области управления для хранения расположений указателей чтения и записи в кольцевом буфере. Выделение должно быть видимым и уже резидентным, когда UMD вызывает D3DKMTCreateDoorbell. Dxgkrnl передает gpu VA и размер этого выделения в KMD в соответствующем вызове DxgkDdiCreateDoorbell .

Flags

[in/optional] Битовое поле D3DKMT_CREATE_DOORBELL_FLAGS значений, указывающих флаги создания дверного звонка.

PrivateDriverDataSize

[in] Размер данных частного драйвера, на которые указывает pPrivateDriverData , в байтах.

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] Дескриптор среды выполнения для только что созданного объекта doorbell.

Комментарии

Дополнительные сведения см. в разделе Отправка рабочих данных в пользовательском режиме.

Требования

Требование Значение
Минимальная версия клиента Windows 11 версии 24H2 (WDDM 3.2)
Верхняя часть d3dkmthk.h

См. также раздел

D3DKMT_CREATE_DOORBELL_FLAGS

D3DKMTConnectDoorbell

D3DKMTCreateAllocation

D3DKMTCreateDoorbell

DxgkDdiConnectDoorbell

DxgkDdiCreateDoorbell