| Предыдущий | Следующий |
| D2DERR_TOO_MANY_SHADER_ELEMENTS | D2DERR_MAX_TEXTURE_SIZE_EXCEEDED |
D2DERR_SHADER_COMPILE_FAILED
Что означает D2DERR_SHADER_COMPILE_FAILED
D2DERR_SHADER_COMPILE_FAILED означает, что шейдер пользовательского эффекта Direct2D не прошёл компиляцию.
Что проверить
Сохраняйте не только HRESULT, но и исходный HLSL или байткод, точку входа, профиль шейдера и полный диагностический вывод компилятора. Ошибка может быть вызвана синтаксисом, неподдерживаемым профилем, несоответствием семантик или привязок ресурсов.
- Скомпилируйте тот же шейдер отдельно тем же компилятором и с теми же параметрами.
- Проверьте соответствие XML/описания эффекта фактическим входам и ресурсам шейдера.
- После обновления SDK не подменяйте профиль шейдера автоматически, не проверив целевое оборудование.
Как подтвердить исправление
Создайте тот же эффект на том же устройстве и убедитесь, что Direct2D принимает шейдер, а debug layer не сообщает новый предшествующий отказ.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
