Я пытаюсь использовать CGDisplayStreamCreate для захвата изображения и использования текстур в металлическом шейдере.
Код работает до получения сэмплов обратно из CGDisplayStreamCreate, но я не могу найти способ использоватьэти образцы в металлическом шейдере.
Как только я получаю образец из обратного вызова CGDisplayStreamCreate, я создаю CVPixelBuffer с CVPixelBufferCreateWithBytes (), а затем вызываю CVMetalTextureCacheCreateTextureFromImage *) (100) для получения текстуры металла.1006 * Вызов CVMetalTextureCacheCreateTextureFromImage завершается с -6660.
Кажется, что IOSurface, созданный API CGDisplayStream, не совместим с металлом, но только с openGL.
Я пытался передать атрибуты kCVPixelBompatiBк различным вызовам функций безрезультатно.
Есть ли способ использовать металл с буферами из CGDisplayStreamCreate?