Sintaxis
Parámetros
NumDescriptorHeapsTipo: 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:Requisitos
Encabezado: d3d12_xs.h o d3d12_x.hBiblioteca: d3d12_xs.lib o d3d12_x.lib
Plataformas compatibles: consolas XBOX Series y familia XBOX One
