diff --git a/projects/apis/metal/src/presentation_queue/metal_presentation_queue.m b/projects/apis/metal/src/presentation_queue/metal_presentation_queue.m index 5894ae1..8ce0d5d 100644 --- a/projects/apis/metal/src/presentation_queue/metal_presentation_queue.m +++ b/projects/apis/metal/src/presentation_queue/metal_presentation_queue.m @@ -68,15 +68,8 @@ void mtlAddImageBackToQueue(gnPresentationQueue queue, uint32_t index) { } gnReturnCode getMetalPresentQueueImageAsync(gnPresentationQueueHandle presentationQueue, uint64_t timeout, gnSemaphore semaphore, uint32_t* imageIndex) { - if (presentationQueue->presentationQueue->avaliableTextures.count == 0) { - mtlImageNeeded image = { - .semaphoreToSignal = semaphore, - .whereToPut = imageIndex - }; - mtlImageNeededArrayListAdd(&presentationQueue->presentationQueue->neededImages, image); - } else { - mtlTakeImageFromQueue(imageIndex, presentationQueue, semaphore); - } + while(presentationQueue->presentationQueue->avaliableTextures.count == 0); + mtlTakeImageFromQueue(imageIndex, presentationQueue, semaphore); return GN_SUCCESS; }