Что означает код HRESULT 0x087A0009 (DXGI_STATUS_UNOCCLUDED)?

 
Предыдущий Следующий
DXGI_STATUS_MODE_CHANGE_IN_PROGRESS DXGI_STATUS_DDA_WAS_STILL_DRAWING

DXGI_STATUS_UNOCCLUDED

Что означает DXGI_STATUS_UNOCCLUDED

DXGI_STATUS_UNOCCLUDED (0x087A0009) — Цепочка буферов больше не перекрыта другими окнами.

В подсистеме «DXGI» результат 0x087A0009 относится к области «адаптеры, outputs, swap chain, shared resources и представление кадров». Описание «цепочка буферов больше не перекрыта другими окнами» сужает проверку до темы «unoccluded».

Что проверить и как подтвердить исправление

До изменения конфигурации сопоставьте первый отказ с фактическими параметрами операции. Для 0x087A0009 с описанием «цепочка буферов больше не перекрыта другими окнами» воспроизведите отказ на минимальном объекте и меняйте только одно условие за запуск, чтобы отделить неверный вход от состояния системы.

Чтобы локализовать 0x087A0009, соберите LUID адаптера, feature level, параметры swap chain/output и сообщения DXGI/DRED/debug layer; отдельно запишите HRESULT, HWND, IDXGIOutput. Затем для 0x087A0009 сравните исправный и неуспешный запуск в части «unoccluded», меняя одно условие за раз.

Исправляя 0x087A0009, меняйте только подтверждённую причину: исправляйте конкретное ограничение режима или ресурса; после device removed/access lost пересоздайте устройство и все зависящие от него объекты. Результат 0x087A0009 с описанием «цепочка буферов больше не перекрыта другими окнами» должен исчезнуть на исходных данных без обхода штатной проверки.

Повторите операцию в том же окружении и сравните первый отличающийся вызов; для результата 0x087A0009 это надёжнее единичного успеха на других данных.

Документация для результата 0x087A0009: DXGI status codes · DXGI overview and presentation · DXGI_PRESENT flags.


Нужно найти другой код? Найти другой код состояния или ошибки.