D3DDDI_RESERVEGPUVIRTUALADDRESS 구조체(d3dukmdt.h)
사용자 모드 그래픽 드라이버는 D3DDDI_RESERVEGPUVIRTUALADDRESS D3D 런타임의 pfnReserveGpuVirtualAddressCb 콜백에 전달하여 현재 프로세스의 GPU 가상 주소 공간에서 주소 범위를 예약합니다.
통사론
typedef struct D3DDDI_RESERVEGPUVIRTUALADDRESS {
union {
D3DKMT_HANDLE hPagingQueue;
D3DKMT_HANDLE hAdapter;
};
D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS BaseAddress;
D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS MinimumAddress;
D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS MaximumAddress;
D3DKMT_ALIGN64 D3DGPU_SIZE_T Size;
union {
D3DDDIGPUVIRTUALADDRESS_RESERVATION_TYPE ReservationType;
UINT Reserved0;
};
union {
D3DKMT_ALIGN64 UINT64 DriverProtection;
D3DKMT_ALIGN64 UINT64 Reserved1;
};
D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS VirtualAddress;
union {
D3DKMT_ALIGN64 UINT64 PagingFenceValue;
D3DKMT_ALIGN64 UINT64 Reserved2;
};
} D3DDDI_RESERVEGPUVIRTUALADDRESS;
회원
hPagingQueue
이 멤버는 사용되지 않습니다. 사용하지 마세요.
hAdapter
[in] DirectX 그래픽 어댑터 핸들 또는 0입니다. UMD가 hAdapter
BaseAddress
[in/optional] GPU 가상 주소 공간에서 예약할 바이트 수입니다. BaseAddress 64KB 경계에 맞춰야 합니다.
BaseAddress NULL이 아닌 경우 비디오 메모리 관리자는 이 주소를 예약된 범위의 기본 주소로 사용하려고 시도합니다.
BaseAddress부터 BaseAddress+Size 범위가 무료가 아닌 경우 호출이 실패합니다.
NULL이 지정된 경우 비디오 메모리 관리자는 지정된
MinimumAddress
[in/optional] 예약된 범위에 대해 고려할 최소 GPU 가상 주소입니다. MinimumAddress 바이트 단위이며 64KB 경계에 맞춰야 합니다. BaseAddress NULL이 아닌 경우 무시됩니다.
MaximumAddress
[in/optional] 예약된 범위에 대해 고려할 최대 GPU 가상 주소입니다. 비디오 메모리 관리자는 BaseAddress+Size<= MaximumAddress보장합니다. MaximumAddress NULL로 설정된 경우 비디오 메모리 관리자는 제한을 적용하지 않습니다.
MaximumAddress 바이트 단위이며 64KB 경계에 맞춰야 합니다. BaseAddress NULL이 아닌 경우 무시됩니다.
Size
[in] 예약할 범위의 크기(바이트)입니다. 64KB의 배수여야 합니다.
ReservationType
이 멤버는 사용되지 않습니다. 사용하지 마세요.
Reserved0
이 멤버는 예약되어 있으며 0으로 설정해야 합니다.
DriverProtection
이 멤버는 사용되지 않습니다. 사용하지 마세요.
Reserved1
이 멤버는 예약되어 있으며 0으로 설정해야 합니다.
VirtualAddress
[out] 예약된 가상 주소입니다.
PagingFenceValue
이 멤버는 사용되지 않습니다. 사용하지 마세요.
Reserved2
이 멤버는 예약되어 있으며 0으로 설정해야 합니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 10 |
지원되는 최소 서버 | Windows Server 2016 |
헤더 | d3dukmdt.h(D3dumddi.h, D3dkmddi.h 포함) |