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]在先前调用 D3DKMTCreateHwQueue 时创建的硬件队列对象的 UMD 句柄。 此句柄标识需要为其分配门铃的硬件队列。
hRingBuffer
[in]UMD 先前创建的环形缓冲区分配的 UMD 句柄。 分配必须是 GPU 可见且已驻留的。 Dxgkrnl 在相应的 DxgkDdiCreateDoorbell 调用中沿 GPU 虚拟地址 (VA) 和大小传递给 KMD。 ResizeRingBufferOperation 标志是从 UMD 到 KMD 的提示,指示正在为此硬件队列重新创建一个门铃,其中包含一个新的重设大小的环形缓冲区。
hRingBufferControl
[in/optional]以前由 UMD 创建的 环形缓冲区控制分配的 UMD 句柄。 如果需要,UMD 和 KMD 可以将此分配用作控制区域来存储环形缓冲区读/写指针位置。 当 UMD 调用 D3DKMTCreateDoorbell 时,分配必须是 GPU 可见且已驻留。 Dxgkrnl 在相应的 DxgkDdiCreateDoorbell 调用中沿 GPU VA 和此分配的大小传递给 KMD。
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]新创建的门铃对象的运行时句柄。
注解
有关详细信息,请参阅 用户模式工作提交。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 11,版本 24H2 (WDDM 3.2) |
标头 | d3dkmthk.h |