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

Vedi anche

IDXGISwapChain3