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: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
