Compartir a través de


Constantes D3DCOMPILE

Las constantes D3DCOMPILE especifican cómo compila el compilador el código HLSL.

Constante Descripción Nota:
D3DCOMPILE_DEBUG
/ZI
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
D3DCOMPILE_SKIP_VALIDATION
/Vd
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
D3DCOMPILE_SKIP_OPTIMIZATION
/Od
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
D3DCOMPILE_PACK_MATRIX_ROW_MAJOR
/Zpr
Dirige el compilador para empaquetar matrices en orden principal de fila en la entrada y salida del sombreador. Consulte D3DXSHADER_PACKMATRIX_ROWMAJOR
D3DCOMPILE_PACK_MATRIX_COLUMN_MAJOR
/Zpc
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
D3DCOMPILE_PARTIAL_PRECISION
/Gpp
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
D3DCOMPILE_FORCE_VS_SOFTWARE_NO_OPT
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
D3DCOMPILE_FORCE_PS_SOFTWARE_NO_OPT
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
D3DCOMPILE_NO_PRESHADER
/Op
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
D3DCOMPILE_AVOID_FLOW_CONTROL
/Gfa
Dirige al compilador a que no use construcciones de control de flujo siempre que sea posible. Consulte D3DXSHADER_AVOID_FLOW_CONTROL
D3DCOMPILE_ENABLE_STRICTNESS
/Ges
Fuerza la compilación estricta, que podría no permitir la sintaxis heredada. De forma predeterminada, el compilador deshabilita la estricta sintaxis en desuso.
D3DCOMPILE_IEEE_STRICTNESS
/Sig
Fuerza la compilación estricta de IEEE que evita las optimizaciones que pueden interrumpir las reglas ieee. Consulte D3DXSHADER_IEEE_STRICTNESS
D3DCOMPILE_ENABLE_BACKWARDS_COMPATIBILITY
/Gec
Dirige al compilador para permitir que los sombreadores anteriores se compilen en destinos 5_0. Consulte D3DXSHADER_ENABLE_BACKWARDS_COMPATIBILITY
D3DCOMPILE_OPTIMIZATION_LEVEL0
/O0
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
D3DCOMPILE_OPTIMIZATION_LEVEL1
/O1
Dirige al compilador para que use el segundo nivel de optimización más bajo. Consulte D3DXSHADER_OPTIMIZATION_LEVEL1
D3DCOMPILE_OPTIMIZATION_LEVEL2
/O2
Dirige al compilador para que use el segundo nivel de optimización más alto. Consulte D3DXSHADER_OPTIMIZATION_LEVEL2
D3DCOMPILE_OPTIMIZATION_LEVEL3
/O3
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
D3DCOMPILE_WARNINGS_ARE_ERRORS
/WX
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.
D3DCOMPILE_RESOURCES_MAY_ALIAS
/res_may_alias
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
D3DCOMPILE_ENABLE_UNBOUNDED_DESCRIPTOR_TABLES
/enable_unbounded_descriptor_tables
Dirige al compilador para habilitar las tablas de descriptores sin enlazar. Solo se aplica a DirectX 12 / Shader Model 5.1
D3DCOMPILE_ALL_RESOURCES_BOUND
/all_resources_bound
Dirige al compilador para asegurarse de que todos los recursos están enlazados. Solo se aplica a DirectX 12 / Shader Model 5.1
D3DCOMPILE_DEBUG_NAME_FOR_SOURCE
/Zss
Al generar archivos PDB de depuración, esto usa el archivo de origen y el binario para el hash.
D3DCOMPILE_DEBUG_NAME_FOR_BINARY
/Zsb
Al generar archivos PDB de depuración, usa el nombre de archivo binario solo para el hash.

Nota

Las D3DCOMPILE_RESOURCES_MAY_ALIASconstantes del compilador , D3DCOMPILE_ENABLE_UNBOUNDED_DESCRIPTOR_TABLESy 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
D3DCompiler.h

Consulte también

Constantes D3DCompiler