IDXGISwapChain3::ResizeBuffers1 메서드(dxgi1_4.h)
D3D12 명령 큐를 입력 디바이스로 사용하여 스왑 체인을 만든 스왑 체인의 백 버퍼 크기, 형식 및 버퍼 수를 변경합니다. 애플리케이션 창의 크기를 조정할 때 호출해야 합니다.
구문
HRESULT ResizeBuffers1(
[in] UINT BufferCount,
[in] UINT Width,
[in] UINT Height,
[in] DXGI_FORMAT Format,
[in] UINT SwapChainFlags,
[in] const UINT *pCreationNodeMask,
[in] IUnknown * const *ppPresentQueue
);
매개 변수
[in] BufferCount
형식: UINT
스왑 체인의 버퍼 수(모든 후면 및 전면 버퍼 포함). 이 숫자는 스왑 체인을 만든 버퍼 수와 다를 수 있습니다. 이 숫자는 DXGI_MAX_SWAP_CHAIN_BUFFERS 초과할 수 없습니다. 스왑 체인의 기존 버퍼 수를 유지하려면 이 숫자를 0으로 설정합니다. 대칭 이동 프레젠테이션 모델에 대해 두 개 미만의 버퍼를 지정할 수 없습니다.
[in] Width
형식: UINT
백 버퍼의 새 너비입니다. 0을 지정하면 DXGI는 대상 창의 클라이언트 영역 너비를 사용합니다. IDXGIFactory2::CreateSwapChainForComposition 메서드를 호출하여 컴퍼지션 화면에 대한 스왑 체인을 만드는 경우 너비를 0으로 지정할 수 없습니다.
[in] Height
형식: UINT
백 버퍼의 새 높이입니다. 0을 지정하면 DXGI는 대상 창의 클라이언트 영역 높이를 사용합니다. IDXGIFactory2::CreateSwapChainForComposition 메서드를 호출하여 컴퍼지션 화면에 대한 스왑 체인을 만드는 경우 높이를 0으로 지정할 수 없습니다.
[in] Format
형식: DXGI_FORMAT
백 버퍼의 새 형식에 대한 DXGI_FORMAT 형식의 값입니다. 이 값을 DXGI_FORMAT_UNKNOWN 설정하여 백 버퍼의 기존 형식을 유지합니다. 대칭 이동 프레젠테이션 모델은 비트 블록 전송(비트블렛) 모델보다 더 제한된 형식 집합을 지원합니다.
[in] SwapChainFlags
형식: UINT
비트 OR 연산을 사용하여 결합된 DXGI_SWAP_CHAIN_FLAG 형식 값의 조합입니다. 결과 값은 스왑 체인 동작에 대한 옵션을 지정합니다.
[in] pCreationNodeMask
형식: const UINT*
총 크기 BufferCount의 UINT 배열입니다. 여기서 값은 백 버퍼를 만들어야 하는 노드를 나타냅니다. null이 아닌 pCreationNodeMask 배열이 있는 ResizeBuffers1을 사용하여 만든 버퍼는 모든 노드에 표시됩니다.
[in] ppPresentQueue
형식: IUnknown*
총 크기 BufferCount의 명령 큐 배열(ID3D12CommandQueue 인스턴스)입니다. 제공된 각 큐는 pCreationNodeMask 배열에 지정된 해당 만들기 노드 마스크와 일치해야 합니다. Present()가 호출되면 다음 프레임에 대한 다음 버퍼로 회전하는 것 외에 스왑 체인도 이러한 명령 큐를 통해 회전합니다. 이렇게 하면 앱이 지정된 현재 작업에 동기화가 필요한 큐를 제어할 수 있습니다.
반환 값
형식: HRESULT
성공하면 S_OK 반환합니다. 그렇지 않으면 오류 코드입니다. 오류 코드 목록은 DXGI_ERROR 참조하세요.
설명
이 메서드는 입력 디바이스로 D3D12 명령 큐(ID3D12CommandQueue)를 사용하여 스왑 체인을 만든 경우에만 호출할 수 있습니다.
다중 GPU 어댑터에 스왑 체인이 만들어지면 백 버퍼는 모두 노드 1에 만들어지고 단일 명령 큐만 지원됩니다. ResizeBuffers1 을 사용하면 애플리케이션이 서로 다른 노드에 백 버퍼를 만들 수 있으므로 각 노드에 다른 명령 큐를 사용할 수 있습니다. 이러한 기능을 사용하면 AFR(대체 프레임 렌더링) 기술을 스왑 체인과 함께 사용할 수 있습니다. 다중 어댑터 시스템을 참조하세요.
또한 IDXGISwapChain::ResizeBuffers의 설명 섹션을 참조하세요. 모두 ResizeBuffers1과 관련이 있습니다.
요구 사항
대상 플랫폼 | Windows |
헤더 | dxgi1_4.h |
라이브러리 | Dxgi.lib |