diff options
-rw-r--r-- | src/core/hle/service/nvflinger/buffer_queue.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/core/hle/service/nvflinger/buffer_queue.cpp b/src/core/hle/service/nvflinger/buffer_queue.cpp index c7206a683..f90c7ca51 100644 --- a/src/core/hle/service/nvflinger/buffer_queue.cpp +++ b/src/core/hle/service/nvflinger/buffer_queue.cpp @@ -40,7 +40,11 @@ u32 BufferQueue::DequeueBuffer(u32 pixel_format, u32 width, u32 height) { return igbp_buffer.format == pixel_format && igbp_buffer.width == width && igbp_buffer.height == height; }); - ASSERT(itr != queue.end()); + if (itr == queue.end()) { + LOG_CRITICAL(Service_NVDRV, "no free buffers for pixel_format=%d, width=%d, height=%d", + pixel_format, width, height); + itr = queue.begin(); + } itr->status = Buffer::Status::Dequeued; return itr->slot; |