Niveles de característica de Direct3D

Para controlar la diversidad de tarjetas de vídeo en máquinas nuevas y existentes, Microsoft Direct3D 11 presenta el concepto de niveles de características. En este tema se describen los niveles de características de Direct3D.

Cada tarjeta de vídeo implementa un determinado nivel de funcionalidad de Microsoft DirectX (DX) en función de las unidades de procesamiento de gráficos (GPU) instaladas. En versiones anteriores de Microsoft Direct3D, podías averiguar la versión de Direct3D la tarjeta de vídeo implementada y, a continuación, programar la aplicación en consecuencia.

Con Direct3D 11, se introduce un nuevo paradigma denominado niveles de características. Un nivel de características es un conjunto bien definido de funcionalidades GPU. Por ejemplo, el nivel de característica 9_1 implementa la funcionalidad que se implementó en Microsoft Direct3D 9, que expone las funcionalidades de los modelos de sombreador ps_2_x y vs_2_x, mientras que el nivel de característica 11_0 implementa la funcionalidad que se implementó en Direct3D 11.

Ahora, al crear un dispositivo, puede intentar crear un dispositivo para el nivel de característica que desea solicitar. Si la creación del dispositivo funciona, ese nivel de característica existe, si no es así, el hardware no admite ese nivel de característica. Puede intentar volver a crear un dispositivo en un nivel de característica inferior o puede optar por salir de la aplicación. Para obtener más información sobre cómo crear un dispositivo, consulta la función D3D11CreateDevice .

Con los niveles de características, puedes desarrollar una aplicación para Direct3D 9, Microsoft Direct3D 10 o Direct3D 11 y, a continuación, ejecutarla en hardware 9, 10 o 11 (con algunas excepciones; por ejemplo, las nuevas 11 características no se ejecutarán en una tarjeta 9 existente). Este es un par de otras propiedades básicas de los niveles de características:

  • Una GPU que permite crear un dispositivo cumple o supera la funcionalidad de ese nivel de característica.
  • Un nivel de característica siempre incluye la funcionalidad de los niveles de características anteriores o inferiores.
  • Un nivel de característica no implica rendimiento, solo funcionalidad. El rendimiento depende de la implementación de hardware.
  • Elija un nivel de característica al crear un dispositivo Direct3D 11.

Para obtener información sobre las limitaciones de creación de dispositivos de tipo no particionado en determinados niveles de características, consulte Limitaciones de creación de WARP y dispositivos de referencia.

Para ayudarle a decidir con qué nivel de característica diseñar, compare las características de cada nivel de característica.

En la sección 10Level9 Reference (Referencia de 10Level9 ) se enumeran las diferencias entre la forma en que se comportan varios métodos ID3D11DeviceContext en varios niveles de características de ID3D11Device y ID3D11DeviceContext .

Formatos de números de versión

Hay tres formatos para las versiones de Direct3D, los modelos de sombreador y los niveles de características.

  • Las versiones de Direct3D usan un punto; por ejemplo, Direct3D 12.0.
  • Los modelos de sombreador utilizan un punto; por ejemplo, modelo de sombreador 5.1.
  • Los niveles de características usan un carácter de subrayado; por ejemplo, nivel de característica 12_0.

Compatibilidad con características de Direct3D 12 (niveles de característica de 12_2 a 11_0)

Las siguientes características están disponibles para los niveles de características enumerados. Los encabezados de la fila superior son niveles de características de Direct3D 12. Los encabezados de la columna izquierda son características. Consulte también Notas al pie de las tablas.

Característica \ Nivel de característica 12_28 12_10 12_0 0 11_1 1 11_0
Modelo de sombreador 6.5 5.12 5.12 5.12 5.12
Modelo de controlador WDDM 2.0 1.x 1.x 1.x 1.x
Raytracing Nivel 1.1 Opcionales Opcionales Opcionales Opcionales
Velocidad de sombreado variable Nivel 2 Opcional Opcionales Opcionales Opcionales
Sombreador de malla Nivel 1 Opcionales Opcionales Opcionales Opcional
Comentarios del sampler Nivel 0.9 Opcionales Opcionales Opcional Opcional
Enlace de recursos Nivel 3 Nivel 3 Nivel 3 Nivel 3 Nivel 1
Firma raíz 1.1 1 1 1 1
Prueba de límites de profundidad Opcional Opcional Opcional Opcional
Búfer de escritura inmediato Direct, Compute, Bundle Opcionales Opcionales Opcionales Opcionales
Bits de dirección virtual de GPU 4010 4010 4010
Recursos en mosaico Nivel 3 Nivel 26 Nivel 26 Opcionales Opcionales
Rasterización conservadora Nivel 3 Nivel1 6 Opcionales Opcional No
Vistas de orden de rasterizador Opcional Opcional No
Filtros mín/máx. Opcional No
Búfer predeterminado de asignación N/D Opcional Opcionales Opcionales Opcionales
Valor de la referencia de galería de símbolos especificado por el sombreador Opcionales Opcionales Opcional Opcional No
Cargas de vistas de acceso desordenadas con tipo 18 formatos, más opcionales 18 formatos, más opcionales 18 formatos, más opcionales 3 formatos, más opcionales 3 formatos, más opcionales
Sombreador de geometría
Salida de flujo
DirectCompute/Compute Shader
Sombreadores de casco y dominio
Característica \ Nivel de característica 12_28 12_10 12_00 11_11 11_0
Matrices de recursos de textura
Matrices de recursos de mapa de cubos
Compresión BC4/BC5
Compresión BC6H/BC7
Alfa a cobertura
Formatos extendidos (BGRA, etc.)
Formato de color de alta densidad XR de 10 bits
Operaciones lógicas (fusión de salida) Opcional1
Rasterización independiente del destino No
Destino de representación múltiple (MRT) con ForcedSampleCount 1 Opcional1
Ranuras UAV Nivel9 64 64 64 8
UAV en cada fase No
Característica \ Nivel de característica 12_28 12_10 12_0 0 11_1 1 11_0
Número máximo de muestras forzadas para la representación solo para UAV 16 16 16 16 8
Desplazamiento de búfer de constantes y actualizaciones parciales Opcional1
Formatos de 16 bits por píxel (bpp) Opcional1
Dimensión de textura máxima 16384 16384 16384 16384 16384
Dimensión de mapa de cubos máxima 16384 16384 16384 16384 16384
Extensión máxima del volumen 2048 2048 2048 2048 2048
Repetición máxima de textura 16384 16384 16384 16384 16384
Anisotropía máxima 16 16 16 16 16
Número máximo de primitivos 2^32 – 1 2^32 – 1 2^32 – 1 2^32 – 1 2^32 – 1
Índice máximo de vértices 2^32 – 1 2^32 – 1 2^32 – 1 2^32 – 1 2^32 – 1
Máximo de ranuras de entrada 32 32 32 32 32
Destinos de representación simultáneos 8 8 8 8 8
Característica \ Nivel de característica 12_28 12_10 12_00 11_11 11_0
Consultas de oclusión
Combinación alfa independiente
Reflejo una vez
Elementos de vértice superpuestos
Máscaras de escritura independientes
Instanciación
Nonpowers-of-2 condicionalmente3 No No No No No
Nonpowers-of-2 incondicionalmente4

Además, se establecen las marcas siguientes:

Característica \ Nivel de característica 12_28
WaveOps true
OutputMergerLogicOp true
VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportWithoutGSEmulation true
CopyQueueTimestampQueriesSupported true
CastingFullyTypedFormatSupported true
Int64ShaderOps true

Compatibilidad con características de Direct3D 11 (niveles de características de 12_1 a 9_1)

Las siguientes características están disponibles para los niveles de características enumerados. Los encabezados de la fila superior son niveles de características de Direct3D 11. Los encabezados de la columna izquierda son características. Consulte también Notas al pie de página para las tablas.

Característica \ Nivel de característica 12_10 12_00 11_11 11_0 10_1 10_0 9_37 9_2 9_1
Modelo de sombreador 5.12 5.12 5.02 5.02 4.x 4.0 2.0 (4_0_level_9_3) [vs_2_a/ps_2_x]5 2.0 (4_0_level_9_1) 2.0 (4_0_level_9_1)
Modelo de controlador WDDM 1.x 1.x 1.x 1.x 1.x 1.x 1.x 1.x 1.x
Recursos en mosaico Nivel 26 Nivel 26 Opcionales Opcional No No No No No
Rasterización conservadora Nivel1 6 Opcional Opcional No No No No No No
Vistas de orden de rasterizador Opcional Opcional No No No No No No
Filtros mín/máx. Opcional No No No No No No
Búfer predeterminado de asignación Opcionales Opcional Opcional Opcional No No No No No
Valor de la referencia de galería de símbolos especificado por el sombreador Opcionales Opcional Opcional No No No No No No
Cargas de vistas de acceso desordenadas con tipo 18 formatos, más opcionales 18 formatos, más opcionales 3 formatos, más opcionales 3 formatos, más opcionales No No No No No
Sombreador de geometría No No No
Salida de flujo No No No
DirectCompute/Compute Shader Opcional Opcionales N/D N/D N/D
Sombreadores de casco y dominio No No No No No
Característica \ Nivel de característica 12_10 12_00 11_11 11_0 10_1 10_0 9_37 9_2 9_1
Matrices de recursos de textura No No No
Matrices de recursos de mapa de cubos No No No No
Compresión BC4/BC5 No No No
Compresión BC6H/BC7 No No No No No
Alfa a cobertura No No No
Formatos extendidos (BGRA, etc.) Opcional Opcionales
Formato de color de alta densidad XR de 10 bits Opcional Opcionales N/D N/D N/D
Operaciones lógicas (fusión de salida) Opcional1 Opcional1 Opcional1 No No No
Rasterización independiente del destino No No No No No No
Varios destinos de representación (MRT) con ForcedSampleCount 1 Opcional1 Opcional1 Opcional1 No No No
Ranuras UAV 64 64 64 8 1 1 N/D N/D N/D
UAV en cada fase No No No N/D N/D N/D
Característica \ Nivel de característica 12_10 12_00 11_11 11_0 10_1 10_0 9_37 9_2 9_1
Número máximo de muestras forzadas para la representación solo para UAV 16 16 16 8 N/D N/D N/D N/D N/D
Desplazamiento de búfer constante y actualizaciones parciales Opcional1 Opcional1 Opcional1 1 1 1
Formatos de 16 bits por píxel (bpp) Opcional1 Opcional1 Opcional1 Opcional1 Opcional1 Opcional1
Dimensión de textura máxima 16384 16384 16384 16384 8192 8192 4096 2048 2048
Dimensión de mapa de cubos máximo 16384 16384 16384 16384 8192 8192 4096 512 512
Extensión máxima del volumen 2048 2048 2048 2048 2048 2048 256 256 256
Repetición máxima de textura 16384 16384 16384 16384 8192 8192 8192 2048 128
Anisotropía máxima 16 16 16 16 16 16 16 16 2
Número máximo de primitivos 2^32 – 1 2^32 – 1 2^32 – 1 2^32 – 1 2^32 – 1 2^32 – 1 1048575 1048575 65535
Índice máximo de vértices 2^32 – 1 2^32 – 1 2^32 – 1 2^32 – 1 2^32 – 1 2^32 – 1 1048575 1048575 65534
Máximo de ranuras de entrada 32 32 32 32 32 16 16 16 16
Destinos de representación simultáneos 8 8 8 8 8 8 4 1 1
Característica \ Nivel de característica 12_28 12_10 11_1 1 11_0 10_1 10_0 9_37 9_2 9_1
Consultas de oclusión No
Combinación alfa independiente No
Reflejo una vez No
Elementos de vértice superpuestos No
Máscaras de escritura independientes No No
Instanciación 7 No No
No potencia de 2 condicionalmente3 No No No No No No
No potencias de-2 incondicionalmente4 No No No

Notas al pie de las tablas

0 Requiere el entorno de ejecución de Direct3D 11.3 o Direct3D 12.

1 Requiere el tiempo de ejecución de Direct3D 11.1.

2 El modelo de sombreador 5.0 y versiones posteriores pueden admitir opcionalmente sombreadores de doble precisión, sombreadores extendidos de precisión doble, la instrucción de sombreador SAD4 y sombreadores de precisión parcial. Para determinar las opciones del modelo de sombreador 5.0 que están disponibles para DirectX 11, llame a ID3D11Device::CheckFeatureSupport. Cierta compatibilidad depende del hardware en el que se ejecuta. El modelo de sombreador 5.1 y versiones posteriores solo se admiten a través de la API de DirectX 12, independientemente del nivel de característica que se use. DirectX 11 solo admite hasta el modelo de sombreador 5.0. La API de DirectX 12 solo baja al nivel de característica 11_0.

3 En los niveles de características 9_1, 9_2 y 9_3, el dispositivo de pantalla admite el uso de texturas 2D con dimensiones que no son potencias de dos en dos condiciones. En primer lugar, solo se puede crear un nivel de mapa MIP para cada textura y, en segundo lugar, no se permiten modos de muestreador de ajuste para texturas (es decir, los miembros AddressU, AddressV y AddressW de D3D11_SAMPLER_DESC no se pueden establecer en D3D11_TEXTURE_ADDRESS_WRAP).

4 En los niveles de características 10_0, 10_1 y 11_0, el dispositivo de pantalla admite incondicionalmente el uso de texturas 2D con dimensiones que no son potencias de dos.

5 Sombreador de vértices 2a con 256 instrucciones, 32 registros temporales, control de flujo estático de profundidad 4, control dinámico de flujo de profundidad 24 y D3DVS20CAPS_PREDICATION. Sombreador de píxeles 2x con 512 instrucciones, 32 registros temporales, control de flujo estático de profundidad 4, control dinámico de flujo de profundidad 24, D3DPS20CAPS_ARBITRARYSWIZZLE, D3DPS20CAPS_GRADIENTINSTRUCTIONS, D3DPS20CAPS_PREDICATION, D3DPS20CAPS_NODEPENDENTREADLIMIT y D3DPS20CAPS_NOTEXINSTRUCTIONLIMIT.

6 Niveles superiores opcionales.

7 Para el nivel de característica 9_3, los únicos métodos de representación admitidos son Draw, DrawIndexed y DrawIndexInstanced. También para el nivel de característica 9_3, la representación de lista de puntos solo se admite para la representación a través de Draw.

8 Compatible con Windows 11.

9 En la API de Direct3D 12 hay límites en el número de descriptores de un montón CBV/SRV/UAV. Consulte Niveles de hardware para obtener más información. Por separado, hay un límite en el número de UAV en todas las tablas de descriptores en todas las fases, que se basa en el nivel de enlace de recursos.

10 Un proceso de 64 bits requiere 40 bits de espacio de direcciones disponible por recurso y por proceso. Un proceso de 32 bits puede estar limitado a 31 bits de espacio de direcciones. Hay dos funcionalidades (límites) disponibles en la API, por proceso y por recurso. El espacio de direcciones por proceso siempre es mayor o igual que el espacio de direcciones por recurso.

Para obtener más información sobre la compatibilidad con formatos en distintos niveles de características de hardware, consulte: