Metodo IDXGISwapChain3::ResizeBuffers1 (dxgi1_4.h)
Modifica le dimensioni del buffer indietro, il formato e il numero di buffer della catena di scambio, in cui è stata creata la catena di scambio usando una coda di comandi D3D12 come dispositivo di input. Questa operazione deve essere chiamata quando la finestra dell'applicazione viene ridimensionata.
Sintassi
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
);
Parametri
[in] BufferCount
Tipo: UINT
Numero di buffer nella catena di scambio (inclusi tutti i buffer indietro e front-buffer). Questo numero può essere diverso dal numero di buffer con cui è stata creata la catena di scambio. Questo numero non può essere maggiore di DXGI_MAX_SWAP_CHAIN_BUFFERS. Impostare questo numero su zero per mantenere il numero esistente di buffer nella catena di scambio. Non è possibile specificare meno di due buffer per il modello di presentazione flip.
[in] Width
Tipo: UINT
Nuova larghezza del buffer posteriore. Se si specifica zero, DXGI userà la larghezza dell'area client della finestra di destinazione. Non è possibile specificare la larghezza come zero se si chiama il metodo IDXGIFactory2::CreateSwapChainForComposition per creare la catena di scambio per una superficie di composizione.
[in] Height
Tipo: UINT
Nuova altezza del buffer posteriore. Se si specifica zero, DXGI userà l'altezza dell'area client della finestra di destinazione. Non è possibile specificare l'altezza come zero se si chiama il metodo IDXGIFactory2::CreateSwapChainForComposition per creare la catena di scambio per una superficie di composizione.
[in] Format
Tipo: DXGI_FORMAT
Valore DXGI_FORMAT tipizzato per il nuovo formato del buffer indietro. Impostare questo valore su DXGI_FORMAT_UNKNOWN per mantenere il formato esistente del buffer back. Il modello di presentazione flip supporta un set di formati più limitato rispetto al modello bit-block transfer (bitblt).
[in] SwapChainFlags
Tipo: UINT
Combinazione di valori tipizzati di DXGI_SWAP_CHAIN_FLAG combinati usando un'operazione OR bit per bit. Il valore risultante specifica le opzioni per il comportamento della catena di scambio.
[in] pCreationNodeMask
Tipo: const UINT*
Matrice di UINTs, di buffercount totale di dimensioni, in cui il valore indica il nodo in cui deve essere creato il buffer back. I buffer creati usando ResizeBuffers1 con una matrice pCreationNodeMask non null sono visibili a tutti i nodi.
[in] ppPresentQueue
Tipo: IUnknown*
Matrice di code di comandi (istanze ID3D12CommandQueue ), di dimensioni totali BufferCount. Ogni coda fornita deve corrispondere alla maschera del nodo di creazione corrispondente specificata nella matrice pCreationNodeMask . Quando Present() viene chiamato, oltre a ruotare il buffer successivo per il frame successivo, la swapchain ruota anche attraverso queste code di comandi. Ciò consente all'app di controllare quale coda richiede la sincronizzazione per un'operazione presente specificata.
Valore restituito
Tipo: HRESULT
Restituisce S_OK se ha esito positivo; codice di errore in caso contrario. Per un elenco di codici di errore, vedere DXGI_ERROR.
Commenti
Questo metodo è valido solo per chiamare quando la swapchain è stata creata usando una coda di comandi D3D12 (ID3D12CommandQueue) come dispositivo di input.
Quando viene creata una swapchain in una scheda multi-GPU, tutti i backbuffer vengono creati nel nodo 1 e solo una singola coda di comandi è supportata. ResizeBuffers1 consente alle applicazioni di creare backbuffer in nodi diversi, consentendo l'uso di una coda di comandi diversa con ogni nodo. Queste funzionalità abilitano le tecniche di rendering di frame alternativi (AFR) da usare con la swapchain. Vedere Sistemi multi-adapter.
Vedere anche la sezione Osservazioni in IDXGISwapChain::ResizeBuffers, tutte rilevanti per ResizeBuffers1.
Requisiti
Piattaforma di destinazione | Windows |
Intestazione | dxgi1_4.h |
Libreria | Dxgi.lib |