From 1532b75af54178c62c0a9b40165ea273c72d79e7 Mon Sep 17 00:00:00 2001 From: Maufeat Date: Sun, 4 Jan 2026 06:22:34 +0100 Subject: [PATCH] try2 --- .../hle/service/nvnflinger/buffer_queue_producer.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/core/hle/service/nvnflinger/buffer_queue_producer.cpp b/src/core/hle/service/nvnflinger/buffer_queue_producer.cpp index b6d42d7c58..e21e2d8ad7 100644 --- a/src/core/hle/service/nvnflinger/buffer_queue_producer.cpp +++ b/src/core/hle/service/nvnflinger/buffer_queue_producer.cpp @@ -951,7 +951,6 @@ void BufferQueueProducer::Transact(u32 code, std::span parcel_data, const s32 request = parcel_in.Read(); if (request <= 0) { status = Status::BadValue; - parcel_out.Write(0); break; } @@ -972,7 +971,6 @@ void BufferQueueProducer::Transact(u32 code, std::span parcel_data, // Because a buffer without frame_number is not considered complete if (current_history_buffer.frame_number == 0) { status = Status::BadValue; - parcel_out.Write(0); break; } @@ -982,13 +980,17 @@ void BufferQueueProducer::Transact(u32 code, std::span parcel_data, } const s32 limit = std::min(request, valid_index); - status = Status::NoError; + parcel_out.Write(Status::NoError); parcel_out.Write(limit); for (s32 i = 0; i < limit; ++i) { parcel_out.Write(buffer_history_snapshot[i]); } - break; + const auto serialized = parcel_out.Serialize(); + std::memcpy(parcel_reply.data(), serialized.data(), + (std::min)(parcel_reply.size(), serialized.size())); + + return; } default: ASSERT_MSG(false, "Unimplemented TransactionId {}", code);