DXGKARG_CREATEHWQUEUE 구조체(d3dkmddi.h)
DXGKARG_CREATEHWQUEUE 구조체는 DxgkDdiCreateHwQueue 사용하여 하드웨어 큐를 만듭니다.
통사론
typedef struct _DXGKARG_CREATEHWQUEUE {
HANDLE hHwQueue;
D3DDDI_CREATEHWQUEUEFLAGS Flags;
UINT PrivateDriverDataSize;
VOID *pPrivateDriverData;
D3DKMT_HANDLE hHwQueueProgressFence;
VOID *HwQueueProgressFenceCPUVirtualAddress;
D3DGPU_VIRTUAL_ADDRESS HwQueueProgressFenceGPUVirtualAddress;
} DXGKARG_CREATEHWQUEUE;
회원
hHwQueue
[in/out] 입력 시 Dxgkrnl은 하드웨어 큐에 대한 핸들을. 출력 시 하드웨어 큐에 대한 드라이버의 핸들입니다.
Flags
[in] 큐 만들기 플래그를 포함하는 D3DDDI_CREATEHWQUEUEFLAGS 구조체입니다.
PrivateDriverDataSize
[in] pPrivateDriverData 가리키는
pPrivateDriverData
[in/out] 사용자 모드 드라이버의 pfnCreateHwContextCb 함수에 의해 전달된 프라이빗 드라이버 데이터에 대한 포인터입니다. pPrivateDriverData 인아웃 매개 변수이므로 KMD는 개인 데이터를 다시 UMD로 반환할 수도 있습니다.
hHwQueueProgressFence
[in] 이 하드웨어 큐에 대한 OS에서 만든 GPU 동기화 개체에 대한 핸들입니다. 진행률 펜스는 이 하드웨어 큐에서 DMA 버퍼 완성을 동기화하는 데 사용됩니다. 비고를 참조하세요.
HwQueueProgressFenceCPUVirtualAddress
[in] 하드웨어 큐 진행률 펜스의 현재 신호 값을 읽는 데 사용할 수 있는 커널 모드 CPU 가상 주소입니다.
HwQueueProgressFenceGPUVirtualAddress
[in] 하드웨어 큐 진행률 펜스의 값을 읽거나 쓰는 데 사용할 수 있는 GPU 가상 주소입니다. 큐 진행률 펜스 값은 하드웨어 큐에 새로 제출할 때마다 단조로 증가해야 합니다. 큐 진행률 펜스를 업데이트하는 GPU 지침은 추적 중인 DMA 버퍼의 끝에 있는 사용자 모드 드라이버에 의해 삽입되어야 합니다.
발언
커널 제출 HWQueues의 경우 OS는 진행률 펜스를 네이티브 펜스를 지원하는 GPU의 네이티브 펜스 유형으로 할당합니다. NativeProgressFence 플래그가 설정되면 KMD의 DxgkDdiCreateHwQueueDxgkDdiCreateNativeFence이전에 만든 네이티브 펜스 개체에 대한 드라이버 핸들을 지정하는 해당 hHwQueueNativeProgressFence 필드를 읽어야 합니다. NativeProgressFence 플래그가 FALSE이면 이 HWQueue의 진행률 펜스는 일반 모니터링 펜스 개체이며 KMD는 이전과 같이 레거시 hHwQueueProgressFence 필드를 읽어야 합니다.
HWQueue에 대한 네이티브 펜스를 만들면 OS는 D3DKMT_CREATEHWQUEUE::Flags.NativeProgressFence TRUE로 설정하므로 런타임은 HWQueue의 진행률 펜스가 네이티브 펜스로 할당되었음을 인식합니다.
사용자 제출 HWQueues의 경우 OS는 정의에 따라 DxgkDdiCreateHwQueueForUserModeSubmission ()에 네이티브 펜스로 진행률 펜스를 할당합니다.
드라이버 호환성에 대한 참고 사항: DxgkrnlNativeGpuFence 캡을 지원하는 드라이버의 hHwQueueNativeProgressFence 필드에만 씁니다. 이렇게 하면 OS가 이 업데이트된 헤더로 컴파일된 개발 중인 드라이버 및 향후 드라이버에서만 이 필드를 참조할 수 있습니다. KMD는 DXGKARG_CREATEHWQUEUE 경우에만 이 필드를 읽습니다. Flags.NativeProgressFence TRUE입니다. 이렇게 하면 KMD가 네이티브 진행 펜스 및 업데이트된 헤더를 지원하는 최신 OS 빌드에서만 이 필드를 참조할 수 있습니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 10 버전 1703(WDDM 2.2) |
헤더 | d3dkmddi.h |