Eventos
19 nov, 23 - 21 nov, 23
Obtenga la ventaja competitiva que necesita con soluciones eficaces de inteligencia artificial y nube al asistir a Microsoft Ignite online.
Regístrese ahoraEste explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
Describe un recurso, como una textura. Esta estructura se usa ampliamente.
typedef struct D3D12_RESOURCE_DESC {
D3D12_RESOURCE_DIMENSION Dimension;
UINT64 Alignment;
UINT64 Width;
UINT Height;
UINT16 DepthOrArraySize;
UINT16 MipLevels;
DXGI_FORMAT Format;
DXGI_SAMPLE_DESC SampleDesc;
D3D12_TEXTURE_LAYOUT Layout;
D3D12_RESOURCE_FLAGS Flags;
} D3D12_RESOURCE_DESC;
Dimension
Un miembro de D3D12_RESOURCE_DIMENSION, especificando las dimensiones del recurso (por ejemplo, D3D12_RESOURCE_DIMENSION_TEXTURE1D) o si es un búfer ((D3D12_RESOURCE_DIMENSION_BUFFER).
Alignment
Especifica la alineación.
Width
Especifica el ancho del recurso.
Height
Especifica el alto del recurso.
DepthOrArraySize
Especifica la profundidad del recurso, si es 3D o el tamaño de la matriz si es una matriz de recursos 1D o 2D.
MipLevels
Especifica el número de niveles de MIP.
Format
Especifica un miembro de DXGI_FORMAT.
SampleDesc
Especifica una estructura DXGI_SAMPLE_DESC.
Layout
Especifica un miembro de D3D12_TEXTURE_LAYOUT.
Flags
Marcas OR bit a bit, como D3D12_RESOURCE_FLAGS constantes de enumeración.
Use esta estructura con:
Dos recursos comunes son búferes y texturas, que usan esta estructura, pero con usos bastante diferentes de los campos.
Los búferes son una región de memoria contigua. de ancho puede estar entre 1 y campo MaxGPUVirtualAddressBitsPerResource de D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT para recursos reservados o el campo MaxGPUVirtualAddressBitsPerProcess para recursos confirmados. Sin embargo, el agotamiento del espacio de direcciones virtuales de GPU, el presupuesto de residencia de memoria (consulte IDXGIAdapter3::QueryVideoMemoryInfo) y la memoria del sistema puede ocurrir fácilmente en primer lugar.alineación debe ser de 64 KB (D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT) o 0, que es eficaz de 64 KB.
Height, DepthOrArraySizey MipLevels debe ser 1.
de formato debe ser DXGI_FORMAT_UNKNOWN.
SampleDesc.Count debe ser 1 y Quality debe ser 0.
diseño deben ser D3D12_TEXTURE_LAYOUT_ROW_MAJOR, ya que las aplicaciones entienden los diseños de memoria del búfer y los datos de textura principal de fila se calculan normalmente a través de búferes.
marcas deben rellenarse con precisión las aplicaciones para los búferes, con excepciones menores. Sin embargo, las aplicaciones pueden usar la mayor cantidad de compatibilidad de funcionalidad sin preocuparse por el impacto en la eficiencia en los búferes. El campo flags está diseñado para controlar las propiedades relacionadas con las texturas.
Las texturas son una disposición multidimensional de elementos de textura en una región contigua de memoria, optimizada para maximizar el ancho de banda para la representación y el muestreo. Los tamaños de textura son difíciles de predecir y variar de adaptador a adaptador. Las aplicaciones deben usar ID3D12Device::GetResourceAllocationInfo para comprender con precisión su tamaño.TEXTURE1D, TEXTURE2D y TEXTURE3D no se admiten ortogonalmente en todos los formatos. Consulte el uso de D3D12_FORMAT_SUPPORT1_TEXTURE1D, D3D12_FORMAT_SUPPORT1_TEXTURE2D y D3D12_FORMAT_SUPPORT1_TEXTURE3D en D3D12_FORMAT_SUPPORT1.
Width, Heighty DepthOrArraySize deben estar entre 1 y la dimensión máxima admitida para el nivel de característica y la dimensión de textura en particular. Sin embargo, el agotamiento del espacio de direcciones virtuales de GPU, el presupuesto de residencia de memoria (consulte IDXGIAdapter3::QueryVideoMemoryInfo) y la memoria del sistema puede ocurrir fácilmente en primer lugar. En el caso de los formatos comprimidos, estas dimensiones son lógicas. Por ejemplo:
Si alineación se establece en 0, el tiempo de ejecución usará 4 MB para texturas de MSAA y 64 KB para todo lo demás. La aplicación puede elegir alineaciones más pequeñas que estos valores predeterminados para un par de tipos de textura cuando la textura es pequeña. Las texturas con diseño UNKNOWN y MSAA se pueden crear con alineación de 64 KB (si pasan la restricción de tamaño pequeño que se detalla a continuación).
Las texturas con diseño UNKNOWN sin MSAA y sin marcas de galería de símbolos de representación ni de destino de profundidad se pueden crear con alineación de 4 KB (de nuevo, pasando la restricción de tamaño pequeño).
Las aplicaciones pueden crear recursos alineados más pequeños cuando el tamaño estimado del nivel mip más detallado es un total de la restricción de alineación mayor o menos. El tiempo de ejecución usará un mecanismo independiente de la arquitectura de estimación de tamaño, que imita la forma en que se ajusta el tamaño de los recursos en mosaico estándar y D3D12. Sin embargo, los tamaños de mosaico serán de la restricción de alineación más pequeña para estos cálculos. Con la textura de galería de símbolos que no son de representación y no de profundidad como ejemplo, el tiempo de ejecución asume formas de mosaico casi equiláteros de 4 KB y calcula el número de iconos necesarios para el nivel mip más detallado. Si el número de iconos es igual o menor que 16, la aplicación puede crear un recurso alineado de 4 KB. Por lo tanto, una matriz de tex2d mipped de cualquier tamaño de matriz y cualquier número de niveles mip puede ser de 4 KB, siempre y cuando el ancho y alto sean lo suficientemente pequeños para el formato concreto y MSAA.
Consulte el campo D3D12_FORMAT_SUPPORT1_MIP de D3D12_FORMAT_SUPPORT1 para obtener restricciones por formato. Los recursos de MSAA, texturas con D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER y montones con D3D12_HEAP_FLAG_ALLOW_DISPLAY excluyen todos los niveles mip.
formato debe ser un formato válido admitido en el nivel de característica del dispositivo. Un SampleDesc.Count mayor que 1 o no cero Calidad solo se admiten para TEXTURE2D y cuando se establecen D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET o D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL.No se admiten lo siguiente:
Requisito | Valor |
---|---|
encabezado de |
d3d12.h |
estructuras principales de
Eventos
19 nov, 23 - 21 nov, 23
Obtenga la ventaja competitiva que necesita con soluciones eficaces de inteligencia artificial y nube al asistir a Microsoft Ignite online.
Regístrese ahora