Константы 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 Отключает preshaders. Использование этого флага приведет к тому, что компилятор не извлекает статическое выражение для оценки.
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.

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