Constantes D3DCOMPILE
As constantes D3DCOMPILE especificam como o compilador compila o código HLSL.
Constante | Descrição | Observação |
---|---|---|
|
Direciona o compilador para inserir informações de arquivo/linha/tipo/símbolo de depuração no código de saída. | Consulte D3DXSHADER_DEBUG |
|
Direciona o compilador para não validar o código gerado em relação a funcionalidades e restrições conhecidas. Recomendamos que você use essa constante apenas com sombreadores que foram compilados com êxito no passado. O DirectX sempre valida os sombreadores antes de define-los para um dispositivo. | Consulte D3DXSHADER_SKIPVALIDATION |
|
Direciona o compilador para ignorar as etapas de otimização durante a geração de código. Recomendamos que você defina essa constante apenas para fins de depuração. | Consulte D3DXSHADER_SKIPOPTIMIZATION |
|
Direciona o compilador para empacotar matrizes em ordem de linha principal na entrada e saída do sombreador. | Consulte D3DXSHADER_PACKMATRIX_ROWMAJOR |
|
Direciona o compilador para empacotar matrizes em ordem de coluna principal na entrada e saída do sombreador. Esse tipo de empacotamento geralmente é mais eficiente porque uma série de produtos de ponto pode executar multiplicação de matriz de vetor. | Consulte D3DXSHADER_PACKMATRIX_COLUMNMAJOR |
|
Direciona o compilador para executar todos os cálculos com precisão parcial. Se você definir essa constante, o código compilado poderá ser executado mais rapidamente em algum hardware. | Consulte D3DXSHADER_PARTIALPRECISION |
|
Direciona o compilador para compilar um sombreador de vértice para o próximo perfil de sombreador mais alto. Essa constante ativa e desativa a depuração e as otimizações. | Esse sinalizador foi aplicável somente ao Direct3D 9. Consulte D3DXSHADER_FORCE_VS_SOFTWARE_NOOPT |
|
Direciona o compilador para compilar um sombreador de pixel para o próximo perfil de sombreador mais alto. Essa constante também ativa a depuração e as otimizações. | Esse sinalizador foi aplicável somente ao Direct3D 9. Consulte D3DXSHADER_FORCE_PS_SOFTWARE_NOOPT |
|
Direciona o compilador para desabilitar Preshaders. Se você definir essa constante, o compilador não efetua pull da expressão estática para avaliação. | Esse sinalizador só se aplicava aos Efeitos herdados do Direct3D 9 e do Direct3D 10 (FX). Consulte D3DXSHADER_NO_PRESHADER |
|
Direciona o compilador para não usar constructos de controle de fluxo sempre que possível. | Consulte D3DXSHADER_AVOID_FLOW_CONTROL |
|
Força a compilação estrita, o que pode não permitir a sintaxe herdada. Por padrão, o compilador desabilita a rigidez na sintaxe preterida. | |
|
Força a compilação estrita do IEEE, que evita otimizações que podem quebrar as regras do IEEE. | Consulte D3DXSHADER_IEEE_STRICTNESS |
|
Direciona o compilador para permitir que sombreadores mais antigos compilem para destinos 5_0. | Consulte D3DXSHADER_ENABLE_BACKWARDS_COMPATIBILITY |
|
Direciona o compilador para usar o nível de otimização mais baixo. Se você definir essa constante, o compilador poderá produzir um código mais lento, mas produzirá o código mais rapidamente. Defina essa constante quando você desenvolver o sombreador iterativamente. | Consulte D3DXSHADER_OPTIMIZATION_LEVEL0 |
|
Direciona o compilador para usar o segundo nível de otimização mais baixo. | Consulte D3DXSHADER_OPTIMIZATION_LEVEL1 |
|
Direciona o compilador para usar o segundo nível de otimização mais alto. | Consulte D3DXSHADER_OPTIMIZATION_LEVEL2 |
|
Direciona o compilador para usar o nível de otimização mais alto. Se você definir essa constante, o compilador produzirá o melhor código possível, mas poderá levar muito mais tempo para fazer isso. Defina essa constante para builds finais de um aplicativo quando o desempenho for o fator mais importante. | Consulte D3DXSHADER_OPTIMIZATION_LEVEL3 |
|
Direciona o compilador para tratar todos os avisos como erros ao compilar o código do sombreador. Recomendamos que você use essa constante para novo código de sombreador, para que possa resolve todos os avisos e reduzir o número de defeitos de código difíceis de encontrar. | |
|
Direciona o compilador para assumir que as exibições de acesso não ordenadas (UAVs) e as SRVs (exibições de recurso de sombreador) podem ser alias para cs_5_0. | Aplica-se somente ao DirectX 12 /Shader Model 5.1 |
|
Direciona o compilador para habilitar tabelas de descritor não associados. | Aplica-se somente ao DirectX 12 /Shader Model 5.1 |
|
Direciona o compilador para garantir que todos os recursos estejam associados. | Aplica-se somente ao DirectX 12/Modelo de Sombreador 5.1 |
|
Ao gerar PDBs de depuração, isso usa o arquivo de origem e o binário para o hash. | |
|
Ao gerar PDBs de depuração, isso usa o nome de arquivo binário somente para o hash. |
Observação
As D3DCOMPILE_RESOURCES_MAY_ALIAS
constantes do compilador , D3DCOMPILE_ENABLE_UNBOUNDED_DESCRIPTOR_TABLES
e D3DCOMPILE_ALL_RESOURCES_BOUND
são novas, começando com o D3dcompiler_47.dll fornecido com o SDK do Windows 8.1 ou posterior.
Observação
As D3DCOMPILE_DEBUG_NAME_FOR_SOURCE
constantes do compilador e D3DCOMPILE_DEBUG_NAME_FOR_BINARY
são novas, começando com o D3dcompiler_47.dll fornecido com o SDK do Windows 10 Fall Creator's Update (versão 16299) ou posterior. Veja esta postagem no blog.
Observação
Para o DirectX 12, o Modelo de Sombreador 5.1, a API D3DCompile e o FXC foram preteridos. Em vez disso, use o Modelo de Sombreador 6 via DXIL. Confira GitHub.
Requisitos
Requisito | Valor |
---|---|
parâmetro |
|