aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorcrueter <crueter@eden-emu.dev>2025-12-31 01:11:47 +0100
committercrueter <crueter@eden-emu.dev>2025-12-31 01:11:47 +0100
commitfb1600b7d13b777f0a801df2d68807e9c903d2f9 (patch)
treea19726ebfaca3eb552e8e7cd8cb99809fa118410 /src
parent8d31484f6415a277edc9df6da0f8a8160ae3d843 (diff)
Revert "[bsd, am, fermi] Replace assertions with warnings and update stubs (#3160)" (#3239)
This reverts commit adc41bff70d975038e1cd3ae9873f4281c768b34. fixes jackbox, potentially some others Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3239 Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Diffstat (limited to 'src')
-rw-r--r--src/core/hle/service/am/service/application_functions.cpp19
-rw-r--r--src/core/hle/service/am/service/application_functions.h2
-rw-r--r--src/core/hle/service/sockets/bsd.cpp73
-rw-r--r--src/video_core/engines/fermi_2d.cpp4
4 files changed, 26 insertions, 72 deletions
diff --git a/src/core/hle/service/am/service/application_functions.cpp b/src/core/hle/service/am/service/application_functions.cpp
index 48362743d8..e70ed2cccd 100644
--- a/src/core/hle/service/am/service/application_functions.cpp
+++ b/src/core/hle/service/am/service/application_functions.cpp
@@ -88,13 +88,12 @@ IApplicationFunctions::IApplicationFunctions(Core::System& system_, std::shared_
{181, nullptr, "UpgradeLaunchRequiredVersion"},
{190, nullptr, "SendServerMaintenanceOverlayNotification"},
{200, nullptr, "GetLastApplicationExitReason"},
- {210, D<&IApplicationFunctions::GetLaunchRequiredVersionUpgrade>, "GetLaunchRequiredVersionUpgrade"}, //20.0.0+
- {211, nullptr, "GetLaunchRequiredVersionUpgradeStatus"}, //20.0.0+
- {220, nullptr, "Unknown220"}, //20.0.0+
- {300, nullptr, "CreateMovieWriter"}, //20.0.0+
- {310, nullptr, "Unknown310"}, //20.0.0+
- {320, nullptr, "Unknown320"}, //20.0.0+
- {330, nullptr, "Unknown330"}, //20.0.0+
+ {210, D<&IApplicationFunctions::GetUnknownEvent210>, "Unknown210"},
+ {220, nullptr, "Unknown220"}, // [20.0.0+]
+ {300, nullptr, "Unknown300"}, // [20.0.0+]
+ {310, nullptr, "Unknown310"}, // [20.0.0+]
+ {320, nullptr, "Unknown320"}, // [20.0.0+]
+ {330, nullptr, "Unknown330"}, // [20.0.0+]
{500, nullptr, "StartContinuousRecordingFlushForDebug"},
{1000, nullptr, "CreateMovieMaker"},
{1001, D<&IApplicationFunctions::PrepareForJit>, "PrepareForJit"},
@@ -497,10 +496,10 @@ Result IApplicationFunctions::GetHealthWarningDisappearedSystemEvent(
R_SUCCEED();
}
-Result IApplicationFunctions::GetLaunchRequiredVersionUpgrade(
+Result IApplicationFunctions::GetUnknownEvent210(
OutCopyHandle<Kernel::KReadableEvent> out_event) {
- LOG_WARNING(Service_AM, "(STUBBED) called");
- *out_event = m_applet->state_changed_event.GetHandle();
+ LOG_DEBUG(Service_AM, "called");
+ *out_event = m_applet->unknown_event.GetHandle();
R_SUCCEED();
}
diff --git a/src/core/hle/service/am/service/application_functions.h b/src/core/hle/service/am/service/application_functions.h
index 894684ca64..35b3e9505d 100644
--- a/src/core/hle/service/am/service/application_functions.h
+++ b/src/core/hle/service/am/service/application_functions.h
@@ -79,7 +79,7 @@ private:
Result TryPopFromFriendInvitationStorageChannel(Out<SharedPointer<IStorage>> out_storage);
Result GetNotificationStorageChannelEvent(OutCopyHandle<Kernel::KReadableEvent> out_event);
Result GetHealthWarningDisappearedSystemEvent(OutCopyHandle<Kernel::KReadableEvent> out_event);
- Result GetLaunchRequiredVersionUpgrade(OutCopyHandle<Kernel::KReadableEvent> out_event);
+ Result GetUnknownEvent210(OutCopyHandle<Kernel::KReadableEvent> out_event);
Result PrepareForJit();
const std::shared_ptr<Applet> m_applet;
diff --git a/src/core/hle/service/sockets/bsd.cpp b/src/core/hle/service/sockets/bsd.cpp
index f58b0760aa..80fec3ef94 100644
--- a/src/core/hle/service/sockets/bsd.cpp
+++ b/src/core/hle/service/sockets/bsd.cpp
@@ -312,7 +312,7 @@ void BSD::Listen(HLERequestContext& ctx) {
void BSD::Fcntl(HLERequestContext& ctx) {
IPC::RequestParser rp{ctx};
const s32 fd = rp.Pop<s32>();
- const u32 cmd = rp.Pop<u32>();
+ const s32 cmd = rp.Pop<s32>();
const s32 arg = rp.Pop<s32>();
LOG_DEBUG(Service, "called. fd={} cmd={} arg={}", fd, cmd, arg);
@@ -627,45 +627,23 @@ std::pair<s32, Errno> BSD::AcceptImpl(s32 fd, std::vector<u8>& write_buffer) {
Errno BSD::BindImpl(s32 fd, std::span<const u8> addr) {
if (!IsFileDescriptorValid(fd)) {
- LOG_ERROR(Service, "Bind failed: Invalid fd={}", fd);
return Errno::BADF;
}
ASSERT(addr.size() == sizeof(SockAddrIn));
auto addr_in = GetValue<SockAddrIn>(addr);
- LOG_INFO(Service, "Bind fd={} to {}:{}", fd, Network::IPv4AddressToString(addr_in.ip),
- addr_in.portno);
-
- const auto result = Translate(file_descriptors[fd]->socket->Bind(Translate(addr_in)));
- if (result != Errno::SUCCESS) {
- LOG_ERROR(Service, "Bind fd={} failed with errno={}", fd, static_cast<int>(result));
- }
- return result;
+ return Translate(file_descriptors[fd]->socket->Bind(Translate(addr_in)));
}
Errno BSD::ConnectImpl(s32 fd, std::span<const u8> addr) {
if (!IsFileDescriptorValid(fd)) {
- LOG_ERROR(Service, "Connect failed: Invalid fd={}", fd);
return Errno::BADF;
}
UNIMPLEMENTED_IF(addr.size() != sizeof(SockAddrIn));
auto addr_in = GetValue<SockAddrIn>(addr);
- LOG_INFO(Service, "Connect fd={} to {}:{}", fd, Network::IPv4AddressToString(addr_in.ip),
- addr_in.portno);
-
- const auto result = Translate(file_descriptors[fd]->socket->Connect(Translate(addr_in)));
- if (result != Errno::SUCCESS) {
- if (result == Errno::INPROGRESS || result == Errno::AGAIN) {
- LOG_DEBUG(Service, "Connect fd={} in progress (non-blocking), errno={}", fd, static_cast<int>(result));
- } else {
- LOG_ERROR(Service, "Connect fd={} failed with errno={}", fd, static_cast<int>(result));
- }
- } else {
- LOG_INFO(Service, "Connect fd={} succeeded", fd);
- }
- return result;
+ return Translate(file_descriptors[fd]->socket->Connect(Translate(addr_in)));
}
Errno BSD::GetPeerNameImpl(s32 fd, std::vector<u8>& write_buffer) {
@@ -741,8 +719,8 @@ Errno BSD::GetSockOptImpl(s32 fd, u32 level, OptName optname, std::vector<u8>& o
}
if (level != static_cast<u32>(SocketLevel::SOCKET)) {
- LOG_WARNING(Service, "(STUBBED) Unknown getsockopt level={}, returning INVAL", level);
- return Errno::INVAL;
+ UNIMPLEMENTED_MSG("Unknown getsockopt level");
+ return Errno::SUCCESS;
}
Network::SocketBase* const socket = file_descriptors[fd]->socket.get();
@@ -772,52 +750,32 @@ Errno BSD::SetSockOptImpl(s32 fd, u32 level, OptName optname, std::span<const u8
}
if (level != static_cast<u32>(SocketLevel::SOCKET)) {
- LOG_WARNING(Service, "(STUBBED) Unknown setsockopt level={}, returning INVAL", level);
- return Errno::INVAL;
+ UNIMPLEMENTED_MSG("Unknown setsockopt level");
+ return Errno::SUCCESS;
}
Network::SocketBase* const socket = file_descriptors[fd]->socket.get();
if (optname == OptName::LINGER) {
- if (optval.size() != sizeof(Linger)) {
- LOG_WARNING(Service, "LINGER optval size mismatch: expected {}, got {}", sizeof(Linger),
- optval.size());
- return Errno::INVAL;
- }
+ ASSERT(optval.size() == sizeof(Linger));
auto linger = GetValue<Linger>(optval);
- if (linger.onoff != 0 && linger.onoff != 1) {
- LOG_WARNING(Service, "Invalid LINGER onoff value: {}", linger.onoff);
- return Errno::INVAL;
- }
+ ASSERT(linger.onoff == 0 || linger.onoff == 1);
return Translate(socket->SetLinger(linger.onoff != 0, linger.linger));
}
- if (optval.size() != sizeof(u32)) {
- LOG_WARNING(Service, "optval size mismatch: expected {}, got {} for optname={}", sizeof(u32),
- optval.size(), static_cast<u32>(optname));
- return Errno::INVAL;
- }
+ ASSERT(optval.size() == sizeof(u32));
auto value = GetValue<u32>(optval);
switch (optname) {
case OptName::REUSEADDR:
- if (value != 0 && value != 1) {
- LOG_WARNING(Service, "Invalid REUSEADDR value: {}", value);
- return Errno::INVAL;
- }
+ ASSERT(value == 0 || value == 1);
return Translate(socket->SetReuseAddr(value != 0));
case OptName::KEEPALIVE:
- if (value != 0 && value != 1) {
- LOG_WARNING(Service, "Invalid KEEPALIVE value: {}", value);
- return Errno::INVAL;
- }
+ ASSERT(value == 0 || value == 1);
return Translate(socket->SetKeepAlive(value != 0));
case OptName::BROADCAST:
- if (value != 0 && value != 1) {
- LOG_WARNING(Service, "Invalid BROADCAST value: {}", value);
- return Errno::INVAL;
- }
+ ASSERT(value == 0 || value == 1);
return Translate(socket->SetBroadcast(value != 0));
case OptName::SNDBUF:
return Translate(socket->SetSndBuf(value));
@@ -831,9 +789,8 @@ Errno BSD::SetSockOptImpl(s32 fd, u32 level, OptName optname, std::span<const u8
LOG_WARNING(Service, "(STUBBED) setting NOSIGPIPE to {}", value);
return Errno::SUCCESS;
default:
- LOG_WARNING(Service, "(STUBBED) Unimplemented optname={} (0x{:x}), returning INVAL",
- static_cast<u32>(optname), static_cast<u32>(optname));
- return Errno::INVAL;
+ UNIMPLEMENTED_MSG("Unimplemented optname={}", optname);
+ return Errno::SUCCESS;
}
}
diff --git a/src/video_core/engines/fermi_2d.cpp b/src/video_core/engines/fermi_2d.cpp
index afb5c95da2..17fbe9961c 100644
--- a/src/video_core/engines/fermi_2d.cpp
+++ b/src/video_core/engines/fermi_2d.cpp
@@ -66,9 +66,7 @@ void Fermi2D::Blit() {
UNIMPLEMENTED_IF_MSG(regs.operation != Operation::SrcCopy, "Operation is not copy");
UNIMPLEMENTED_IF_MSG(regs.src.layer != 0, "Source layer is not zero");
UNIMPLEMENTED_IF_MSG(regs.dst.layer != 0, "Destination layer is not zero");
- if (regs.src.depth != 1) {
- LOG_DEBUG(HW_GPU, "Source depth is {}, expected 1 - using first layer", regs.src.depth);
- }
+ UNIMPLEMENTED_IF_MSG(regs.src.depth != 1, "Source depth is not one");
UNIMPLEMENTED_IF_MSG(regs.clip_enable != 0, "Clipped blit enabled");
const auto& args = regs.pixels_from_memory;