Compare commits

...

2 Commits

Author SHA1 Message Date
lizzie c07bb78639 2026-09-12 18:04:50
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-09-12 19:15:48 +00:00
lizzie c141a93205 2026-09-12 16:45:01
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-09-12 19:15:48 +00:00
+4 -4
View File
@@ -243,7 +243,7 @@ constexpr RequestLayout GetReplyOutLayout(bool is_domain) {
return is_domain ? GetDomainReplyOutLayout<MethodArguments>() : GetNonDomainReplyOutLayout<MethodArguments>();
}
using OutTemporaryBuffers = std::array<Common::ScratchBuffer<u8>, 3>;
using OutTemporaryBuffers = std::array<boost::container::small_vector<u8, 128>, 3>;
template <typename MethodArguments, typename CallArguments, size_t PrevAlign = 1, size_t DataOffset = 0, size_t HandleIndex = 0, size_t InBufferIndex = 0, size_t OutBufferIndex = 0, bool RawDataFinished = false, size_t ArgIndex = 0>
void ReadInArgument(bool is_domain, CallArguments& args, const u8* raw_data, HLERequestContext& ctx, OutTemporaryBuffers& temp) {
@@ -345,9 +345,9 @@ void ReadInArgument(bool is_domain, CallArguments& args, const u8* raw_data, HLE
// Set up scratch buffer.
auto& buffer = temp[OutBufferIndex];
if (ctx.CanWriteBuffer(OutBufferIndex)) {
buffer.resize_destructive(ctx.GetWriteBufferSize(OutBufferIndex));
buffer.resize(ctx.GetWriteBufferSize(OutBufferIndex));
} else {
buffer.resize_destructive(0);
buffer.resize(0);
}
ElementType* ptr = (ElementType*) buffer.data();
@@ -456,7 +456,7 @@ void CmifReplyWrapImpl(HLERequestContext& ctx, T& t, Result (T::*f)(A...)) {
static_assert(ConstIfReference<A...>(), "Arguments taken by reference must be const");
using MethodArguments = std::tuple<std::remove_cvref_t<A>...>;
OutTemporaryBuffers buffers{};
OutTemporaryBuffers buffers; //don't zero init
auto call_arguments = std::tuple<typename UnwrapArg<A>::Type...>();
// Read inputs.