Constantes D3DCOMPILE
Las constantes D3DCOMPILE especifican cómo compila el compilador el código HLSL.
Constante | Descripción | Nota: |
---|---|---|
|
Dirige al compilador para insertar información de archivo de depuración, línea, tipo o símbolo en el código de salida. | Consulte D3DXSHADER_DEBUG |
|
Dirige al compilador que no valide el código generado con las funcionalidades y restricciones conocidas. Se recomienda usar esta constante solo con sombreadores que se han compilado correctamente en el pasado. DirectX siempre valida los sombreadores antes de establecerlos en un dispositivo. | Consulte D3DXSHADER_SKIPVALIDATION |
|
Dirige al compilador para omitir los pasos de optimización durante la generación de código. Se recomienda establecer esta constante solo con fines de depuración. | Consulte D3DXSHADER_SKIPOPTIMIZATION |
|
Dirige el compilador para empaquetar matrices en orden principal de fila en la entrada y salida del sombreador. | Consulte D3DXSHADER_PACKMATRIX_ROWMAJOR |
|
Dirige el compilador para empaquetar matrices en orden principal de columna en la entrada y salida del sombreador. Este tipo de embalaje es generalmente más eficaz, ya que una serie de productos de puntos puede entonces realizar la multiplicación de la matriz vectorial. | Consulte D3DXSHADER_PACKMATRIX_COLUMNMAJOR |
|
Dirige al compilador para que realice todos los cálculos con precisión parcial. Si establece esta constante, el código compilado podría ejecutarse más rápido en algún hardware. | Consulte D3DXSHADER_PARTIALPRECISION |
|
Dirige al compilador para compilar un sombreador de vértices para el siguiente perfil de sombreador más alto. Esta constante activa la depuración y desactiva las optimizaciones. | Esta marca solo se aplicaba a Direct3D 9. Consulte D3DXSHADER_FORCE_VS_SOFTWARE_NOOPT |
|
Dirige al compilador para compilar un sombreador de píxeles para el siguiente perfil de sombreador más alto. Esta constante también activa la depuración y desactiva las optimizaciones. | Esta marca solo se aplicaba a Direct3D 9. Consulte D3DXSHADER_FORCE_PS_SOFTWARE_NOOPT |
|
Dirige al compilador para deshabilitar Preshaders. Si establece esta constante, el compilador no extrae la expresión estática para su evaluación. | Esta marca solo se aplicaba a efectos heredados de Direct3D 9 y Direct3D 10 (FX). Consulte D3DXSHADER_NO_PRESHADER |
|
Dirige al compilador a que no use construcciones de control de flujo siempre que sea posible. | Consulte D3DXSHADER_AVOID_FLOW_CONTROL |
|
Fuerza la compilación estricta, que podría no permitir la sintaxis heredada. De forma predeterminada, el compilador deshabilita la estricta sintaxis en desuso. | |
|
Fuerza la compilación estricta de IEEE que evita las optimizaciones que pueden interrumpir las reglas ieee. | Consulte D3DXSHADER_IEEE_STRICTNESS |
|
Dirige al compilador para permitir que los sombreadores anteriores se compilen en destinos 5_0. | Consulte D3DXSHADER_ENABLE_BACKWARDS_COMPATIBILITY |
|
Dirige al compilador para que use el nivel de optimización más bajo. Si establece esta constante, el compilador podría generar código más lento, pero genera el código más rápidamente. Establezca esta constante al desarrollar el sombreador de forma iterativa. | Consulte D3DXSHADER_OPTIMIZATION_LEVEL0 |
|
Dirige al compilador para que use el segundo nivel de optimización más bajo. | Consulte D3DXSHADER_OPTIMIZATION_LEVEL1 |
|
Dirige al compilador para que use el segundo nivel de optimización más alto. | Consulte D3DXSHADER_OPTIMIZATION_LEVEL2 |
|
Dirige al compilador para que use el nivel de optimización más alto. Si establece esta constante, el compilador genera el mejor código posible, pero puede tardar mucho más tiempo en hacerlo. Establezca esta constante para las compilaciones finales de una aplicación cuando el rendimiento sea el factor más importante. | Consulte D3DXSHADER_OPTIMIZATION_LEVEL3 |
|
Dirige al compilador para tratar todas las advertencias como errores cuando compila el código del sombreador. Se recomienda usar esta constante para el nuevo código de sombreador, de modo que pueda resolver todas las advertencias y reducir el número de defectos de código difíciles de encontrar. | |
|
Dirige al compilador para suponer que las vistas de acceso no ordenadas (UAV) y las vistas de recursos del sombreador (SRV) pueden usar alias para cs_5_0. | Solo se aplica a DirectX 12 / Shader Model 5.1 |
|
Dirige al compilador para habilitar las tablas de descriptores sin enlazar. | Solo se aplica a DirectX 12 / Shader Model 5.1 |
|
Dirige al compilador para asegurarse de que todos los recursos están enlazados. | Solo se aplica a DirectX 12 / Shader Model 5.1 |
|
Al generar archivos PDB de depuración, esto usa el archivo de origen y el binario para el hash. | |
|
Al generar archivos PDB de depuración, usa el nombre de archivo binario solo para el hash. |
Nota
Las D3DCOMPILE_RESOURCES_MAY_ALIAS
constantes del compilador , D3DCOMPILE_ENABLE_UNBOUNDED_DESCRIPTOR_TABLES
y D3DCOMPILE_ALL_RESOURCES_BOUND
son nuevas a partir de la D3dcompiler_47.dll que se incluye con el SDK de Windows 8.1 o posterior.
Nota
Las D3DCOMPILE_DEBUG_NAME_FOR_SOURCE
constantes del compilador y D3DCOMPILE_DEBUG_NAME_FOR_BINARY
son nuevas a partir de la D3dcompiler_47.dll que se incluye con el SDK de actualización de Windows 10 Fall Creator (versión 16299) o posterior. Consulte esta entrada de blog.
Nota
Para DirectX 12, el modelo de sombreador 5.1, la API D3DCompile y FXC están en desuso. Use el modelo de sombreador 6 a través de DXIL en su lugar. Consulte GitHub.
Requisitos
Requisito | Value |
---|---|
Encabezado |
|