Поделиться через


Константы D3D10_SHADER

Параметры компиляции HLSL.

#define Описание
D3D10_SHADER_AVOID_FLOW_CONTROL Сообщите компилятору, чтобы он не разрешал управление потоком (если это возможно).
D3D10_SHADER_DEBUG Вставьте отладочный файл, строку, тип или символьную информацию.
D3D10_SHADER_ENABLE_STRICTNESS По умолчанию компилятор HLSL отключает строгость для нерекомендуемого синтаксиса. Указание этого флага обеспечивает строгость, которая может не допускать устаревшего синтаксиса.
D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY Это позволяет более старым шейдерам компилироваться в целевые объекты 4_0.
D3D10_SHADER_FORCE_VS_SOFTWARE_NO_OPT Скомпилируйте вершинный шейдер для следующего профиля шейдера. Этот параметр включает отладку (и отключает оптимизацию).
D3D10_SHADER_FORCE_PS_SOFTWARE_NO_OPT Скомпилируйте пиксельный шейдер для следующего профиля шейдера. Этот параметр включает отладку (и отключает оптимизацию).
D3D10_SHADER_IEEE_STRICTNESS Включает строгость IEEE.
D3D10_SHADER_NO_PRESHADER Отключает префигуры. Использование этого флага приведет к тому, что компилятор не будет извлекать статическое выражение для оценки.
D3D10_SHADER_OPTIMIZATION_LEVEL0 Самый низкий уровень оптимизации. Может создавать более медленный код, но делать это быстрее. Это может быть полезно в цикле разработки шейдеров с высокой итеративной степенью.
D3D10_SHADER_OPTIMIZATION_LEVEL1 Второй самый низкий уровень оптимизации.
D3D10_SHADER_OPTIMIZATION_LEVEL2 Второй по величине уровень оптимизации.
D3D10_SHADER_OPTIMIZATION_LEVEL3 Самый высокий уровень оптимизации. Создает оптимальный код, но для этого может потребоваться значительно больше времени. Это будет полезно для окончательных сборок приложения, где производительность является наиболее важным фактором.
D3D10_SHADER_PACK_MATRIX_ROW_MAJOR Если не указано явно, матрицы будут упакованы в основном порядке строк для входных и выходных данных шейдера.
D3D10_SHADER_PACK_MATRIX_COLUMN_MAJOR Если не указано явно, матрицы будут упакованы в основном столбце для входных и выходных данных шейдера. Как правило, это более эффективно, так как позволяет выполнять векторно-матричное умножение с помощью ряда точечных продуктов.
D3D10_SHADER_PARTIAL_PRECISION Принудительное выполнение всех вычислений с частичной точностью; На некотором оборудовании это может выполняться быстрее.
D3D10_SHADER_PREFER_FLOW_CONTROL Попросите компилятора использовать управление потоком (если это возможно).
D3D10_SHADER_SKIP_OPTIMIZATION Пропустить оптимизацию во время создания кода; обычно рекомендуется только для отладки.
D3D10_SHADER_SKIP_VALIDATION Не проверяйте созданный код на соответствие известным возможностям и ограничениям. Используйте его только с шейдерами, которые были успешно скомпилированы в прошлом. Шейдеры всегда проверяются DirectX, прежде чем они будут настроены на устройство.
D3D10_SHADER_WARNINGS_ARE_ERRORS Сообщите компилятору HLSL, чтобы все предупреждения рассматривались как ошибки при компиляции кода шейдера. Для нового кода шейдера следует использовать этот параметр, чтобы можно было устранить все предупреждения и обеспечить максимально возможное количество труднодоступных дефектов кода.

 

Эти константы определяются как макросы в d3d10shader.h.

Константы шейдера