Skip to main content
Cambia los montones de descriptores enlazados actualmente que están asociados a una lista de comandos.

Sintaxis

Parámetros

NumDescriptorHeaps
Tipo: UINT
Número de montones de descriptores que se van a enlazar. ppDescriptorHeaps
Tipo: [in] ID3D12DescriptorHeap*
Un puntero a una matriz de objetos ID3D12DescriptorHeap para los montones que se van a establecer en la lista de comandos. Solo puede enlazar montones de descriptores de tipo D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV y D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER. Solo se puede establecer un montón de descriptores de cada tipo a la vez, lo que significa que se puede establecer un máximo de 2 montones (uno de muestreador y uno de CBV/SRV/UAV) a la vez.

Valor devuelto

Tipo: void Ninguno.

Comentarios

Se puede llamar a SetDescriptorHeaps en un lote (bundle), pero los montones de descriptores del lote deben coincidir con el montón de descriptores de la lista de comandos que realiza la llamada. Para obtener más información sobre las restricciones de los lotes, consulte Creación y grabación de listas de comandos y lotes. La llamada anula todos los montones establecidos anteriormente. Como máximo, se puede establecer un montón de cada tipo visible para el sombreador en la llamada. Cambiar los montones de descriptores puede provocar un vaciado de la canalización en algunos tipos de hardware. Por este motivo, se recomienda usar un único montón visible para el sombreador de cada tipo y establecerlo una vez por fotograma, en lugar de cambiar con regularidad los montones de descriptores enlazados. En su lugar, use ID3D12Device::CopyDescriptors e ID3D12Device::CopyDescriptorsSimple para copiar los descriptores necesarios desde montones opacos para el sombreador al único montón visible para el sombreador según sea necesario durante la representación.

Ejemplos

El ejemplo D3D12Bundles usa ID3D12GraphicsCommandList::SetDescriptorHeaps de la siguiente manera:
Consulte Código de ejemplo en la referencia de D3D12.

Requisitos

Encabezado: d3d12_xs.h o d3d12_x.h
Biblioteca: d3d12_xs.lib o d3d12_x.lib
Plataformas compatibles: consolas XBOX Series y familia XBOX One

Consulte también

Montones de descriptores ID3D12GraphicsCommandList
Última modificación el 28 de agosto de 2026