Compartir a través de


Método IDXGISwapChain3::ResizeBuffers1 (dxgi1_4.h)

Cambia el tamaño, el formato y el número de búferes de reserva de la cadena de intercambio, donde se creó la cadena de intercambio mediante una cola de comandos D3D12 como dispositivo de entrada. Se debe llamar a esto cuando se cambia el tamaño de la ventana de la aplicación.

Sintaxis

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
);

Parámetros

[in] BufferCount

Tipo: UINT

Número de búferes de la cadena de intercambio (incluidos todos los búferes delanteros y posteriores). Este número puede ser diferente del número de búferes con los que creó la cadena de intercambio. Este número no puede ser mayor que DXGI_MAX_SWAP_CHAIN_BUFFERS. Establezca este número en cero para conservar el número existente de búferes en la cadena de intercambio. No se pueden especificar menos de dos búferes para el modelo de presentación de volteo.

[in] Width

Tipo: UINT

Nuevo ancho del búfer de reserva. Si especifica cero, DXGI usará el ancho del área de cliente de la ventana de destino. No puede especificar el ancho como cero si llamó al método IDXGIFactory2::CreateSwapChainForComposition para crear la cadena de intercambio para una superficie de composición.

[in] Height

Tipo: UINT

Nuevo alto del búfer de reserva. Si especifica cero, DXGI usará el alto del área de cliente de la ventana de destino. No se puede especificar el alto como cero si llamó al método IDXGIFactory2::CreateSwapChainForComposition para crear la cadena de intercambio para una superficie de composición.

[in] Format

Tipo: DXGI_FORMAT

Valor de tipo DXGI_FORMAT para el nuevo formato del búfer de reserva. Establezca este valor en DXGI_FORMAT_UNKNOWN para conservar el formato existente del búfer de reserva. El modelo de presentación invertida admite un conjunto más restringido de formatos que el modelo de transferencia de bloques de bits (bitblt).

[in] SwapChainFlags

Tipo: UINT

Combinación de valores con tipo DXGI_SWAP_CHAIN_FLAG que se combinan mediante una operación OR bit a bit. El valor resultante especifica las opciones para el comportamiento de la cadena de intercambio.

[in] pCreationNodeMask

Tipo: const UINT*

Matriz de UINT, de tamaño total BufferCount, donde el valor indica en qué nodo se debe crear el búfer de reserva. Los búferes creados mediante ResizeBuffers1 con una matriz pCreationNodeMask no null son visibles para todos los nodos.

[in] ppPresentQueue

Tipo: IUnknown*

Matriz de colas de comandos (instancias ID3D12CommandQueue ), de tamaño total BufferCount. Cada cola proporcionada debe coincidir con la máscara de nodo de creación correspondiente especificada en la matriz pCreationNodeMask . Cuando se llama a Present(), además de girar al siguiente búfer para el siguiente fotograma, la cadena de intercambio también rotará a través de estas colas de comandos. Esto permite que la aplicación controle qué cola requiere sincronización para una operación actual determinada.

Valor devuelto

Tipo: HRESULT

Devuelve S_OK si se ejecuta correctamente; de lo contrario, un código de error. Para obtener una lista de códigos de error, consulte DXGI_ERROR.

Comentarios

Este método solo es válido para llamar cuando se creó la cadena de intercambio mediante una cola de comandos D3D12 (ID3D12CommandQueue) como dispositivo de entrada.

Cuando se crea una cadena de intercambio en un adaptador de varias GPU, todas las búferes backbuffer se crean en el nodo 1 y solo se admite una sola cola de comandos. ResizeBuffers1 permite a las aplicaciones crear búferes de retroceso en distintos nodos, lo que permite usar una cola de comandos diferente con cada nodo. Estas funcionalidades permiten usar técnicas alternativas de representación de fotogramas (AFR) con la cadena de intercambio. Consulte Sistemas de varios adaptadores.

Consulte también la sección Comentarios de IDXGISwapChain::ResizeBuffers, todos los cuales son relevantes para ResizeBuffers1.

Requisitos

   
Plataforma de destino Windows
Encabezado dxgi1_4.h
Library Dxgi.lib

Consulte también

IDXGISwapChain3