Skip to main content
Obtiene un diseño de recurso que puede copiarse. Ayuda a la aplicación a rellenar D3D12_PLACED_SUBRESOURCE_FOOTPRINT y D3D12_SUBRESOURCE_FOOTPRINT al suballocar espacio en montones de carga.

Sintaxis

Parámetros

pResourceDesc [in]
Tipo: const D3D12_RESOURCE_DESC *
Una descripción del recurso, como un puntero a una estructura D3D12_RESOURCE_DESC. FirstSubresource [in]
Tipo: UINT
Índice del primer subrecurso del recurso. El intervalo de valores válidos es de 0 a D3D12_REQ_SUBRESOURCES. NumSubresources [in]
Tipo: UINT
El número de subrecursos del recurso. El intervalo de valores válidos es de 0 a (D3D12_REQ_SUBRESOURCES - FirstSubresource). BaseOffset
Tipo: UINT64
El desplazamiento, en bytes, hasta el recurso. pLayouts [out, optional]
Tipo: D3D12_PLACED_SUBRESOURCE_FOOTPRINT *
Un puntero a una matriz (de longitud NumSubresources) de estructuras D3D12_PLACED_SUBRESOURCE_FOOTPRINT, que se rellenará con la descripción y la colocación de cada subrecurso. pNumRows [out, optional]
Tipo: UINT *
Un puntero a una matriz (de longitud NumSubresources) de variables enteras, que se rellenará con el número de filas de cada subrecurso. pRowSizeInBytes [out, optional]
Tipo: UINT64 *
Un puntero a una matriz (de longitud NumSubresources) de variables enteras; cada entrada se rellenará con el tamaño sin relleno, en bytes, de una fila de cada subrecurso. Por ejemplo, si un recurso Texture2D tiene un ancho de 32 y 4 bytes por píxel, pRowSizeInBytes devuelve 128. pRowSizeInBytes no debe confundirse con el row pitch (paso de fila), ya que si examina pLayouts y obtiene de ahí el paso de fila, obtendrá 256, porque está alineado con D3D12_TEXTURE_DATA_PITCH_ALIGNMENT. pTotalBytes [out, optional]
Tipo: UINT64 *
Un puntero a una variable entera, que se rellenará con el tamaño total, en bytes.

Valor devuelto

Tipo: void Ninguno.

Comentarios

Esta rutina ayuda a la aplicación a rellenar las estructuras D3D12_PLACED_SUBRESOURCE_FOOTPRINT y D3D12_SUBRESOURCE_FOOTPRINT al suballocar espacio en montones de carga. Las estructuras resultantes son independientes del adaptador de GPU, lo que significa que los valores no variarán de un adaptador de GPU a otro. GetCopyableFootprints usa detalles especificados sobre formatos de recursos, diseños de texturas y requisitos de alineación (de la estructura D3D12_RESOURCE_DESC) para rellenar las estructuras de subrecursos. Las aplicaciones tienen acceso a todos estos detalles, por lo que este método, o una variación de él, podría escribirse como parte de la aplicación.

Ejemplos

El ejemplo D3D12Multithreading usa ID3D12Device::GetCopyableFootprints de la siguiente manera:
Consulte el 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

CD3DX12_RESOURCE_DESC CD3DX12_SUBRESOURCE_FOOTPRINT ID3D12Device
Última modificación el 28 de agosto de 2026