Как преобразовать 2D-текстуру DXGI_FORMAT_B8G8R8A8_UNORM в DXGI_FORMAT_R8G8B8A8_UNORM без передачи с устройства на хост?
У меня есть проект, который снимает скриншоты с использованием Api Microsoft Desktop Duplication и обрабатывает их с использованием набора ядер OpenCL в режиме реального времени. Сам скриншот никогда не передается на хост (процессор). Это консольное приложение.
Я столкнулся с некоторыми проблемами переносимости во время выполнения Nvidia OpenCL. Результат / снимок экрана Api Microsoft Desktop Duplication использует формат DXGI_FORMAT_B8G8R8A8_UNORM, а реализация Nvidia его не поддерживает. Поддерживается только DXGI_FORMAT_R8G8B8A8_UNORM.