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 | Sí | 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 | Sí | Sí | Opcional | Opcional | No |
Filtros mín/máx. | Sí | Sí | Sí | 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 | Sí | Sí | Sí | Sí | Sí |
Salida de flujo | Sí | Sí | Sí | Sí | Sí |
DirectCompute/Compute Shader | Sí | Sí | Sí | Sí | Sí |
Sombreadores de casco y dominio | Sí | Sí | Sí | Sí | Sí |
Característica \ Nivel de característica | 12_28 | 12_10 | 12_00 | 11_11 | 11_0 |
Matrices de recursos de textura | Sí | Sí | Sí | Sí | Sí |
Matrices de recursos de mapa de cubos | Sí | Sí | Sí | Sí | Sí |
Compresión BC4/BC5 | Sí | Sí | Sí | Sí | Sí |
Compresión BC6H/BC7 | Sí | Sí | Sí | Sí | Sí |
Alfa a cobertura | Sí | Sí | Sí | Sí | Sí |
Formatos extendidos (BGRA, etc.) | Sí | Sí | Sí | Sí | Sí |
Formato de color de alta densidad XR de 10 bits | Sí | Sí | Sí | Sí | Sí |
Operaciones lógicas (fusión de salida) | Sí | Sí | Sí | Sí | Opcional1 |
Rasterización independiente del destino | Sí | Sí | Sí | Sí | No |
Destino de representación múltiple (MRT) con ForcedSampleCount 1 | Sí | Sí | Sí | Sí | Opcional1 |
Ranuras UAV | Nivel9 | 64 | 64 | 64 | 8 |
UAV en cada fase | Sí | Sí | Sí | Sí | 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 | Sí | Sí | Sí | Sí | Opcional1 |
Formatos de 16 bits por píxel (bpp) | Sí | Sí | Sí | Sí | 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 | Sí | Sí | Sí | Sí | Sí |
Combinación alfa independiente | Sí | Sí | Sí | Sí | Sí |
Reflejo una vez | Sí | Sí | Sí | Sí | Sí |
Elementos de vértice superpuestos | Sí | Sí | Sí | Sí | Sí |
Máscaras de escritura independientes | Sí | Sí | Sí | Sí | Sí |
Instanciación | Sí | Sí | Sí | Sí | Sí |
Nonpowers-of-2 condicionalmente3 | No | No | No | No | No |
Nonpowers-of-2 incondicionalmente4 | Sí | Sí | Sí | Sí | Sí |
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 | Sí | Opcional | Opcional | No | No | No | No | No | No | ||
Filtros mín/máx. | Sí | Sí | 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 | Sí | Sí | Sí | Sí | Sí | Sí | No | No | No | ||
Salida de flujo | Sí | Sí | Sí | Sí | Sí | Sí | No | No | No | ||
DirectCompute/Compute Shader | Sí | Sí | Sí | Sí | Opcional | Opcionales | N/D | N/D | N/D | ||
Sombreadores de casco y dominio | Sí | Sí | Sí | Sí | 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 | Sí | Sí | Sí | Sí | Sí | Sí | No | No | No | ||
Matrices de recursos de mapa de cubos | Sí | Sí | Sí | Sí | Sí | No | No | No | No | ||
Compresión BC4/BC5 | Sí | Sí | Sí | Sí | Sí | Sí | No | No | No | ||
Compresión BC6H/BC7 | Sí | Sí | Sí | Sí | No | No | No | No | No | ||
Alfa a cobertura | Sí | Sí | Sí | Sí | Sí | Sí | No | No | No | ||
Formatos extendidos (BGRA, etc.) | Sí | Sí | Sí | Sí | Opcional | Opcionales | Sí | Sí | Sí | ||
Formato de color de alta densidad XR de 10 bits | Sí | Sí | Sí | Sí | Opcional | Opcionales | N/D | N/D | N/D | ||
Operaciones lógicas (fusión de salida) | Sí | Sí | Sí | Opcional1 | Opcional1 | Opcional1 | No | No | No | ||
Rasterización independiente del destino | Sí | Sí | Sí | Sí | Sí | No | No | No | No | No | No |
Varios destinos de representación (MRT) con ForcedSampleCount 1 | Sí | Opcional1 | Opcional1 | Opcional1 | No | No | No | ||||
Ranuras UAV | 64 | 64 | 64 | 8 | 1 | 1 | N/D | N/D | N/D | ||
UAV en cada fase | Sí | Sí | Sí | 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 | Sí | Sí | Sí | Opcional1 | Opcional1 | Opcional1 | Sí1 | Sí1 | Sí1 | ||
Formatos de 16 bits por píxel (bpp) | Sí | Sí | Sí | 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 | Sí | Sí | Sí | Sí | Sí | Sí | Sí | Sí | No | ||
Combinación alfa independiente | Sí | Sí | Sí | Sí | Sí | Sí | Sí | Sí | No | ||
Reflejo una vez | Sí | Sí | Sí | Sí | Sí | Sí | Sí | Sí | No | ||
Elementos de vértice superpuestos | Sí | Sí | Sí | Sí | Sí | Sí | Sí | Sí | No | ||
Máscaras de escritura independientes | Sí | Sí | Sí | Sí | Sí | Sí | Sí | No | No | ||
Instanciación | Sí | Sí | Sí | Sí | Sí | Sí | Sí7 | No | No | ||
No potencia de 2 condicionalmente3 | No | No | No | No | No | No | Sí | Sí | Sí | ||
No potencias de-2 incondicionalmente4 | Sí | Sí | Sí | Sí | Sí | Sí | 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:
- Compatibilidad con formato DXGI para hardware de nivel de característica de Direct3D 12.1
- Compatibilidad con formato DXGI para hardware de nivel de característica de Direct3D 12.0
- Compatibilidad con formato DXGI para hardware de nivel de característica 11.1 de Direct3D
- Compatibilidad con formato DXGI para hardware de nivel de característica 11.0 de Direct3D
- Compatibilidad de hardware con formatos Direct3D 10Level9
- Compatibilidad de hardware con formatos direct3D 10.1
- Compatibilidad de hardware con formatos direct3D 10